{"version":3,"sources":["webpack:///./src/app/app.component.html","webpack:///./src/app/enrollment-common/components/address-selection-universal/address-selection-universal.component.html","webpack:///./src/app/enrollment-common/components/address-selection/address-selection.component.html","webpack:///./src/app/enrollment-common/components/address-universal/address-universal.component.html","webpack:///./src/app/enrollment-common/components/address/address.component.html","webpack:///./src/app/enrollment-common/components/applicant-title/applicant-title.component.html","webpack:///./src/app/enrollment-common/components/error/error.component.html","webpack:///./src/app/enrollment-common/components/form-field/form-field.component.html","webpack:///./src/app/enrollment-common/components/id-selection/id-selection.component.html","webpack:///./src/app/enrollment-common/components/identification-upload/identification-upload.component.html","webpack:///./src/app/enrollment-common/components/note/note.component.html","webpack:///./src/app/enrollment-common/components/selector-list/selector-list.component.html","webpack:///./src/app/enrollment-common/components/tooltip/tooltip.component.html","webpack:///./src/app/enrollment-common/components/upload-file/upload-file.component.html","webpack:///./src/app/layouts/components/banner/banner.component.html","webpack:///./src/app/layouts/components/browser-banner/browser-banner.component.html","webpack:///./src/app/layouts/components/chat-bot/chat-bot.component.html","webpack:///./src/app/layouts/components/footer-mobile/footer-mobile.component.html","webpack:///./src/app/layouts/components/footer/footer.component.html","webpack:///./src/app/layouts/components/header-mobile/header-mobile.component.html","webpack:///./src/app/layouts/components/header/header.component.html","webpack:///./src/app/layouts/components/layout-template/layout-template.component.html","webpack:///./src/app/layouts/components/live-chat/live-chat.component.html","webpack:///./src/app/layouts/components/loading-spinner/loading-spinner.component.html","webpack:///./src/app/layouts/components/progress-bar/progress-bar.component.html","webpack:///./src/app/layouts/containers/consumer-layout/consumer-layout.component.html","webpack:///./src/app/layouts/containers/consumer-mobile-layout/consumer-mobile-layout.component.html","webpack:///./src/app/modals/components/address-popup/address-popup.component.html","webpack:///./src/app/modals/components/age-restriction-popup/age-restriction-popup.component.html","webpack:///./src/app/modals/components/cancel-application-popup/cancel-application-popup.component.html","webpack:///./src/app/modals/components/credit-freeze-popup/credit-freeze-popup.component.html","webpack:///./src/app/modals/components/dmd-otp-link/dmd-otp-link.component.html","webpack:///./src/app/modals/components/footer-modals-popup/footer-modals-popup.component.html","webpack:///./src/app/modals/components/missing-answers-popup/missing-answers-popup.component.html","webpack:///./src/app/modals/components/session-time-out/session-time-out.component.html","webpack:///./src/app/modals/components/sms-popup/sms-popup.component.html","webpack:///./src/app/shared-forms/components/address-form/address-form.component.html","webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app.module.ts","webpack:///./src/app/app.component.ts","webpack:///./src/app/applicant-identification/enums/dmd-exception-codes.enum.ts","webpack:///./src/app/applicant-identification/enums/document-type.enum.ts","webpack:///./src/app/applicant-identification/enums/id-verification-method.enum.ts","webpack:///./src/app/applicant-identification/enums/id-verification-step.enum.ts","webpack:///./src/app/applicant-identification/enums/image-type.enum.ts","webpack:///./src/app/applicant-identification/enums/index.ts","webpack:///./src/app/applicant-identification/enums/manual-id-verification-reason.enum.ts","webpack:///./src/app/applicant-identification/enums/mitek-config.enum.ts","webpack:///./src/app/applicant-identification/models/applicant-id-verification-complete-dto.model.ts","webpack:///./src/app/applicant-identification/models/applicant-identification-step.model.ts","webpack:///./src/app/applicant-identification/models/applicant-identification-storage-name.model.ts","webpack:///./src/app/applicant-identification/models/applicant-identification.model.ts","webpack:///./src/app/applicant-identification/models/dmd-applicant-dto.model.ts","webpack:///./src/app/applicant-identification/models/dmd-exception-dto.model.ts","webpack:///./src/app/applicant-identification/models/dmd-get-token-information-dto.model.ts","webpack:///./src/app/applicant-identification/models/dmd-otp-validation-dto.model.ts","webpack:///./src/app/applicant-identification/models/dmd-polling-step.model.ts","webpack:///./src/app/applicant-identification/models/id-verification-identifier-dto.model.ts","webpack:///./src/app/applicant-identification/models/id-verification-logging-dto.model.ts","webpack:///./src/app/applicant-identification/models/identification-document-image.model.ts","webpack:///./src/app/applicant-identification/models/identification-document.model.ts","webpack:///./src/app/applicant-identification/models/identity-document-dto.model.ts","webpack:///./src/app/applicant-identification/models/index.ts","webpack:///./src/app/applicant-identification/models/issued-identification-document-type.model.ts","webpack:///./src/app/applicant-information/routing/constants/flows.constants.ts","webpack:///./src/app/applicant-information/routing/constants/index.ts","webpack:///./src/app/applicant-information/routing/constants/route.constants.ts","webpack:///./src/app/applicant-information/routing/index.ts","webpack:///./src/app/applicant-information/routing/services/index.ts","webpack:///./src/app/applicant-information/routing/services/module.service.ts","webpack:///./src/app/auth/auth-services.module.ts","webpack:///./src/app/auth/constants/auth.constants.ts","webpack:///./src/app/auth/constants/index.ts","webpack:///./src/app/auth/constants/route-names.ts","webpack:///./src/app/auth/guards/auth.guard.ts","webpack:///./src/app/auth/guards/index.ts","webpack:///./src/app/auth/index.ts","webpack:///./src/app/auth/interceptors/flow-step.interceptor.ts","webpack:///./src/app/auth/interceptors/index.ts","webpack:///./src/app/auth/interceptors/token.interceptor.ts","webpack:///./src/app/auth/services/auth-handler.service.ts","webpack:///./src/app/auth/services/existing-customer.service.ts","webpack:///./src/app/auth/services/index.ts","webpack:///./src/app/auth/services/otp.service.ts","webpack:///./src/app/business-information/routing/constants/flows.constants.ts","webpack:///./src/app/business-information/routing/constants/index.ts","webpack:///./src/app/business-information/routing/constants/module.constants.ts","webpack:///./src/app/business-information/routing/constants/route.constants.ts","webpack:///./src/app/business-information/routing/guards/address.guard.ts","webpack:///./src/app/business-information/routing/guards/base.guard.ts","webpack:///./src/app/business-information/routing/guards/diff-name.guard.ts","webpack:///./src/app/business-information/routing/guards/index.ts","webpack:///./src/app/business-information/routing/guards/mailing-address.guard.ts","webpack:///./src/app/business-information/routing/guards/tin.guard.ts","webpack:///./src/app/business-information/routing/index.ts","webpack:///./src/app/core/components/base-destroy.component.ts","webpack:///./src/app/core/components/base-flow-form.component.ts","webpack:///./src/app/core/components/base-form.component.ts","webpack:///./src/app/core/components/index.ts","webpack:///./src/app/core/constants/api-sub-route.constant.ts","webpack:///./src/app/core/constants/index.ts","webpack:///./src/app/core/constants/injection-tokens.ts","webpack:///./src/app/core/constants/route-params.constant.ts","webpack:///./src/app/core/constants/scripts.constant.ts","webpack:///./src/app/core/core-services.module.ts","webpack:///./src/app/core/enums/product-type.enum.ts","webpack:///./src/app/core/guards/correct-state.guard.ts","webpack:///./src/app/core/guards/flow-base.guard.ts","webpack:///./src/app/core/guards/index.ts","webpack:///./src/app/core/guards/marketing-products.guard.ts","webpack:///./src/app/core/guards/mitek-scripts.guard.ts","webpack:///./src/app/core/guards/token-cookie.guard.ts","webpack:///./src/app/core/resolvers/abstracts/applicant-base.resolver.ts","webpack:///./src/app/core/resolvers/abstracts/index.ts","webpack:///./src/app/core/resolvers/account-features.resolver.ts","webpack:///./src/app/core/resolvers/accounts.resolver.ts","webpack:///./src/app/core/resolvers/address.resolver.ts","webpack:///./src/app/core/resolvers/affiliation.resolver.ts","webpack:///./src/app/core/resolvers/annual-sales.resolver.ts","webpack:///./src/app/core/resolvers/applicant-business.resolver.ts","webpack:///./src/app/core/resolvers/applicant-primary.resolver.ts","webpack:///./src/app/core/resolvers/applicant.resolver.ts","webpack:///./src/app/core/resolvers/applicants.resolver.ts","webpack:///./src/app/core/resolvers/application.resolver.ts","webpack:///./src/app/core/resolvers/axos-clearing-disclosures.resolver.ts","webpack:///./src/app/core/resolvers/beneficiaries-contingent-info.resolver.ts","webpack:///./src/app/core/resolvers/beneficiaries-information.resolver.ts","webpack:///./src/app/core/resolvers/brand.resolver.ts","webpack:///./src/app/core/resolvers/broker.resolver.ts","webpack:///./src/app/core/resolvers/chat-bot-settings.resolvers.ts","webpack:///./src/app/core/resolvers/chat-settings.resolver.ts","webpack:///./src/app/core/resolvers/company-title.resolver.ts","webpack:///./src/app/core/resolvers/country.resolver.ts","webpack:///./src/app/core/resolvers/detail-disclosure.resolver.ts","webpack:///./src/app/core/resolvers/disclosures-catalog.resolver.ts","webpack:///./src/app/core/resolvers/ecm-disclosures.resolver.ts","webpack:///./src/app/core/resolvers/electronic-disclosure.resolver.ts","webpack:///./src/app/core/resolvers/feature-flags.resolver.ts","webpack:///./src/app/core/resolvers/financial-information-catalog.resolver.ts","webpack:///./src/app/core/resolvers/financial-information.resolver.ts","webpack:///./src/app/core/resolvers/ida-questions.resolver.ts","webpack:///./src/app/core/resolvers/index.ts","webpack:///./src/app/core/resolvers/investment-goals.resolver.ts","webpack:///./src/app/core/resolvers/investment-objetive.resolver.ts","webpack:///./src/app/core/resolvers/investment-profile.resolver..ts","webpack:///./src/app/core/resolvers/marketing-product.resolver.ts","webpack:///./src/app/core/resolvers/occupation.resolver.ts","webpack:///./src/app/core/resolvers/organization-products.resolver.ts","webpack:///./src/app/core/resolvers/organization.resolver.ts","webpack:///./src/app/core/resolvers/pending-verification-applicants.resolver.ts","webpack:///./src/app/core/resolvers/personal-information.resolver.ts","webpack:///./src/app/core/resolvers/portfolio-question-answer.resolver.ts","webpack:///./src/app/core/resolvers/relationships.resolver.ts","webpack:///./src/app/core/resolvers/security-questions.resolver.ts","webpack:///./src/app/core/resolvers/selected-products.resolver.ts","webpack:///./src/app/core/resolvers/state.resolver.ts","webpack:///./src/app/core/resolvers/tax-disclosure.resolver.ts","webpack:///./src/app/core/resolvers/trust-certificate.resolver.ts","webpack:///./src/app/core/resolvers/trust-types.resolver.ts","webpack:///./src/app/core/resolvers/trusted-contact.resolver.ts","webpack:///./src/app/core/resolvers/user.resolver.ts","webpack:///./src/app/core/resolvers/vesting-types.resolver.ts","webpack:///./src/app/core/services/abstracts/cache.service.ts","webpack:///./src/app/core/services/abstracts/index.ts","webpack:///./src/app/core/services/browser-type.service.ts","webpack:///./src/app/core/services/downloadpdf.service.ts","webpack:///./src/app/core/services/enrollment-initilizer.service.ts","webpack:///./src/app/core/services/flow-navigation.service.ts","webpack:///./src/app/core/services/image-processing.service.ts","webpack:///./src/app/core/services/index.ts","webpack:///./src/app/core/services/lazy-loading.service.ts","webpack:///./src/app/core/services/loading.service.ts","webpack:///./src/app/core/services/marketing.service.ts","webpack:///./src/app/core/services/progress.service.ts","webpack:///./src/app/core/services/state-route.service.ts","webpack:///./src/app/core/services/utmCode.service.ts","webpack:///./src/app/core/utils/address.ts","webpack:///./src/app/core/utils/applicant-tittle.ts","webpack:///./src/app/core/utils/arrays.ts","webpack:///./src/app/core/utils/brand-title.ts","webpack:///./src/app/core/utils/cache.ts","webpack:///./src/app/core/utils/index.ts","webpack:///./src/app/core/utils/keys-arrays.ts","webpack:///./src/app/core/utils/phone.ts","webpack:///./src/app/core/utils/routes.ts","webpack:///./src/app/core/utils/url-parameters.ts","webpack:///./src/app/core/utils/uuid.ts","webpack:///./src/app/disclosures/constants/disclosure-names.constanst.ts","webpack:///./src/app/disclosures/mocks/disclosure-mock.ts","webpack:///./src/app/disclosures/mocks/index.ts","webpack:///./src/app/disclosures/routing/constants/index.ts","webpack:///./src/app/disclosures/routing/constants/route.constants.ts","webpack:///./src/app/disclosures/routing/index.ts","webpack:///./src/app/documents/constants/index.ts","webpack:///./src/app/documents/constants/route-names.ts","webpack:///./src/app/documents/index.ts","webpack:///./src/app/documents/services/document-request.service.ts","webpack:///./src/app/documents/services/file-processing.service.ts","webpack:///./src/app/documents/services/index.ts","webpack:///./src/app/documents/services/upload-document.service.ts","webpack:///./src/app/enrollment-common/components/abstracts/base-input.component.ts","webpack:///./src/app/enrollment-common/components/abstracts/enrollment-navigation.component.ts","webpack:///./src/app/enrollment-common/components/abstracts/index.ts","webpack:///./src/app/enrollment-common/components/abstracts/mask.component.ts","webpack:///./src/app/enrollment-common/components/address-selection-universal/address-selection-universal.component.scss","webpack:///./src/app/enrollment-common/components/address-selection-universal/address-selection-universal.component.ts","webpack:///./src/app/enrollment-common/components/address-selection/address-selection.component.scss","webpack:///./src/app/enrollment-common/components/address-selection/address-selection.component.ts","webpack:///./src/app/enrollment-common/components/address-universal/address-universal.component.scss","webpack:///./src/app/enrollment-common/components/address-universal/address-universal.component.ts","webpack:///./src/app/enrollment-common/components/address/address.component.scss","webpack:///./src/app/enrollment-common/components/address/address.component.ts","webpack:///./src/app/enrollment-common/components/applicant-title/applicant-title.component.scss","webpack:///./src/app/enrollment-common/components/applicant-title/applicant-title.component.ts","webpack:///./src/app/enrollment-common/components/error/error.component.scss","webpack:///./src/app/enrollment-common/components/error/error.component.ts","webpack:///./src/app/enrollment-common/components/form-field/form-field.component.scss","webpack:///./src/app/enrollment-common/components/form-field/form-field.component.ts","webpack:///./src/app/enrollment-common/components/id-selection/id-selection.component.ts","webpack:///./src/app/enrollment-common/components/identification-upload/identification-upload.component.scss","webpack:///./src/app/enrollment-common/components/identification-upload/identification-upload.component.ts","webpack:///./src/app/enrollment-common/components/index.ts","webpack:///./src/app/enrollment-common/components/note/note.component.scss","webpack:///./src/app/enrollment-common/components/note/note.component.ts","webpack:///./src/app/enrollment-common/components/selector-list/selector-list.component.scss","webpack:///./src/app/enrollment-common/components/selector-list/selector-list.component.ts","webpack:///./src/app/enrollment-common/components/tooltip/tooltip.component.scss","webpack:///./src/app/enrollment-common/components/tooltip/tooltip.component.ts","webpack:///./src/app/enrollment-common/components/upload-file/upload-file.component.scss","webpack:///./src/app/enrollment-common/components/upload-file/upload-file.component.ts","webpack:///./src/app/enrollment-common/constants/date.constants.ts","webpack:///./src/app/enrollment-common/constants/index.ts","webpack:///./src/app/enrollment-common/constants/tokens.ts","webpack:///./src/app/enrollment-common/directives/error.directive.ts","webpack:///./src/app/enrollment-common/directives/file-group.directive.ts","webpack:///./src/app/enrollment-common/directives/hint.directive.ts","webpack:///./src/app/enrollment-common/directives/index.ts","webpack:///./src/app/enrollment-common/directives/itin.directive.ts","webpack:///./src/app/enrollment-common/directives/label.directive.ts","webpack:///./src/app/enrollment-common/directives/prefix.directive.ts","webpack:///./src/app/enrollment-common/directives/setRange.directive.ts","webpack:///./src/app/enrollment-common/directives/suffix.directive.ts","webpack:///./src/app/enrollment-common/enrollment-common.module.ts","webpack:///./src/app/enrollment-common/index.ts","webpack:///./src/app/enrollment-common/pipes/index.ts","webpack:///./src/app/enrollment-common/pipes/million.pipe.ts","webpack:///./src/app/enrollment-common/pipes/phone.pipe.ts","webpack:///./src/app/enrollment-common/pipes/pipe.safehtml.ts","webpack:///./src/app/enrollment-common/pipes/ssn.pipe.ts","webpack:///./src/app/enrollment-common/pipes/zipcode.ts","webpack:///./src/app/enrollment-common/services/identification-upload.service.ts","webpack:///./src/app/enrollment-common/services/index.ts","webpack:///./src/app/enrollment-common/utilities/index.ts","webpack:///./src/app/enrollment-common/utilities/url.helper.ts","webpack:///./src/app/landing/routing/constants/index.ts","webpack:///./src/app/landing/routing/constants/route.constants.ts","webpack:///./src/app/landing/routing/index.ts","webpack:///./src/app/layouts/app-routing.module.ts","webpack:///./src/app/layouts/components/banner/banner.component.scss","webpack:///./src/app/layouts/components/banner/banner.component.ts","webpack:///./src/app/layouts/components/browser-banner/browser-banner.component.scss","webpack:///./src/app/layouts/components/browser-banner/browser-banner.component.ts","webpack:///./src/app/layouts/components/chat-bot/chat-bot.component.scss","webpack:///./src/app/layouts/components/chat-bot/chat-bot.component.ts","webpack:///./src/app/layouts/components/footer-mobile/footer-mobile.component.scss","webpack:///./src/app/layouts/components/footer-mobile/footer-mobile.component.ts","webpack:///./src/app/layouts/components/footer/footer.component.scss","webpack:///./src/app/layouts/components/footer/footer.component.ts","webpack:///./src/app/layouts/components/header-mobile/header-mobile.component.scss","webpack:///./src/app/layouts/components/header-mobile/header-mobile.component.ts","webpack:///./src/app/layouts/components/header/header.component.scss","webpack:///./src/app/layouts/components/header/header.component.ts","webpack:///./src/app/layouts/components/index.ts","webpack:///./src/app/layouts/components/layout-template/layout-template.component.ts","webpack:///./src/app/layouts/components/live-chat/live-chat.component.scss","webpack:///./src/app/layouts/components/live-chat/live-chat.component.ts","webpack:///./src/app/layouts/components/loading-spinner/loading-spinner.component.scss","webpack:///./src/app/layouts/components/loading-spinner/loading-spinner.component.ts","webpack:///./src/app/layouts/components/progress-bar/progress-bar.component.scss","webpack:///./src/app/layouts/components/progress-bar/progress-bar.component.ts","webpack:///./src/app/layouts/constants/app-routes.constant.ts","webpack:///./src/app/layouts/constants/business-routes.constant.ts","webpack:///./src/app/layouts/constants/consumer-routes.constant.ts","webpack:///./src/app/layouts/constants/index.ts","webpack:///./src/app/layouts/containers/consumer-layout/consumer-layout.component.ts","webpack:///./src/app/layouts/containers/consumer-mobile-layout/consumer-mobile-layout.component.ts","webpack:///./src/app/layouts/containers/index.ts","webpack:///./src/app/layouts/layout.module.ts","webpack:///./src/app/manage-portfolio/routing/constants/index.ts","webpack:///./src/app/manage-portfolio/routing/constants/route.constants.ts","webpack:///./src/app/manage-portfolio/routing/index.ts","webpack:///./src/app/modals/components/address-popup/address-popup.component.scss","webpack:///./src/app/modals/components/address-popup/address-popup.component.ts","webpack:///./src/app/modals/components/age-restriction-popup/age-restriction-popup.component.scss","webpack:///./src/app/modals/components/age-restriction-popup/age-restriction-popup.component.ts","webpack:///./src/app/modals/components/cancel-application-popup/cancel-application-popup.component.scss","webpack:///./src/app/modals/components/cancel-application-popup/cancel-application-popup.component.ts","webpack:///./src/app/modals/components/credit-freeze-popup/credit-freeze-popup.component.scss","webpack:///./src/app/modals/components/credit-freeze-popup/credit-freeze-popup.component.ts","webpack:///./src/app/modals/components/dmd-otp-link/dmd-otp-link.component.scss","webpack:///./src/app/modals/components/dmd-otp-link/dmd-otp-link.component.ts","webpack:///./src/app/modals/components/footer-modals-popup/footer-modals-popup.component.scss","webpack:///./src/app/modals/components/footer-modals-popup/footer-modals-popup.component.ts","webpack:///./src/app/modals/components/index.ts","webpack:///./src/app/modals/components/missing-answers-popup/missing-answers-popup.component.scss","webpack:///./src/app/modals/components/missing-answers-popup/missing-answers-popup.component.ts","webpack:///./src/app/modals/components/session-time-out/session-time-out.component.ts","webpack:///./src/app/modals/components/sms-popup/sms-popup.component.scss","webpack:///./src/app/modals/components/sms-popup/sms-popup.component.ts","webpack:///./src/app/modals/modals.module.ts","webpack:///./src/app/outcome/constants/index.ts","webpack:///./src/app/outcome/constants/route-names.ts","webpack:///./src/app/outcome/index.ts","webpack:///./src/app/products/constants/index.ts","webpack:///./src/app/products/constants/storage-name.constants.ts","webpack:///./src/app/products/routing/index.ts","webpack:///./src/app/products/routing/route-paths.constants.ts","webpack:///./src/app/proxy/routing/constants/routes.ts","webpack:///./src/app/review-submit/route.constants.ts","webpack:///./src/app/rules/constants/index.ts","webpack:///./src/app/rules/constants/route-names.ts","webpack:///./src/app/shared-forms/components/address-form/address-form.component.scss","webpack:///./src/app/shared-forms/components/address-form/address-form.component.ts","webpack:///./src/app/shared-forms/components/index.ts","webpack:///./src/app/shared-forms/constants/address.form.ts","webpack:///./src/app/shared-forms/constants/address.validators.ts","webpack:///./src/app/shared-forms/constants/index.ts","webpack:///./src/app/shared-forms/index.ts","webpack:///./src/app/shared-forms/shared-forms.module.ts","webpack:///./src/app/shared-forms/validators/index.ts","webpack:///./src/app/shared-forms/validators/zip-code.validator.ts","webpack:///./src/app/trading-features/routing/constants/index.ts","webpack:///./src/app/trading-features/routing/constants/route.constants.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts","webpack:///./src/models/applicant-navigation.model.ts","webpack:///./src/models/applicant.model.ts","webpack:///./src/models/brand/chatbot-settings.model.ts","webpack:///./src/models/disclosures/disclosure-list.ts","webpack:///./src/models/disclosures/disclosure.ts","webpack:///./src/models/disclosures/index.ts","webpack:///./src/models/enums/action-type.enum.ts","webpack:///./src/models/enums/address-type.enum.ts","webpack:///./src/models/enums/appliation/application-state.enum.ts","webpack:///./src/models/enums/appliation/index.ts","webpack:///./src/models/enums/appliation/source-types.enum.ts","webpack:///./src/models/enums/appliation/states/dmd-states.ts","webpack:///./src/models/enums/appliation/states/flow-steps.enum.ts","webpack:///./src/models/enums/appliation/states/index.ts","webpack:///./src/models/enums/appliation/states/pip/index.ts","webpack:///./src/models/enums/appliation/states/pip/joint.ts","webpack:///./src/models/enums/appliation/states/pip/minor.ts","webpack:///./src/models/enums/appliation/states/pip/primary.ts","webpack:///./src/models/enums/appliation/states/pip/teen.ts","webpack:///./src/models/enums/appliation/states/pip/trust.ts","webpack:///./src/models/enums/appliation/states/states.enum.ts","webpack:///./src/models/enums/applicant/applicant-state.enum.ts","webpack:///./src/models/enums/applicant/applicant-type.enum.ts","webpack:///./src/models/enums/application-type.enum.ts","webpack:///./src/models/enums/beneficiary-type.enum.ts","webpack:///./src/models/enums/brand-disclosures.enum.ts","webpack:///./src/models/enums/brand.enum.ts","webpack:///./src/models/enums/citizenship-type.enum.ts","webpack:///./src/models/enums/decision.enum.ts","webpack:///./src/models/enums/documet-types.enum.ts","webpack:///./src/models/enums/feature-flag.enum.ts","webpack:///./src/models/enums/id-verification-method.enum.ts","webpack:///./src/models/enums/identification-type.enum.ts","webpack:///./src/models/enums/index.ts","webpack:///./src/models/enums/investment-goals.enum.ts","webpack:///./src/models/enums/navigation.enum.ts","webpack:///./src/models/enums/phone-type.enum.ts","webpack:///./src/models/enums/review-submit-sections.enum.ts","webpack:///./src/models/enums/trading/affiliations.enum.ts","webpack:///./src/models/enums/trading/employment-status.enum.ts","webpack:///./src/models/enums/trading/marital-status.enum.ts","webpack:///./src/models/enums/trading/occupation.enum.ts","webpack:///./src/models/enums/vesting-types.enum.ts","webpack:///./src/models/index.ts","webpack:///./src/models/navigation/base-href.model.ts","webpack:///./src/models/navigation/index.ts","webpack:///./src/services/abstracts/base.service.ts","webpack:///./src/services/abstracts/index.ts","webpack:///./src/services/address.service.ts","webpack:///./src/services/advisor.service.ts","webpack:///./src/services/app-settings.service.ts","webpack:///./src/services/applicant-information.service.ts","webpack:///./src/services/application.service.ts","webpack:///./src/services/audit-log.service.ts","webpack:///./src/services/auth.service.ts","webpack:///./src/services/brand.service.ts","webpack:///./src/services/data-services.module.ts","webpack:///./src/services/disclosures.service.ts","webpack:///./src/services/feature-flag.service.ts","webpack:///./src/services/generic-catalogs.service.ts","webpack:///./src/services/http/application-flow.service.ts","webpack:///./src/services/http/boarding-signal.service.ts","webpack:///./src/services/http/index.ts","webpack:///./src/services/index.ts","webpack:///./src/services/mocks/user-prospect-mock.service.ts","webpack:///./src/services/organization.service.ts","webpack:///./src/services/pdf.service.ts","webpack:///./src/services/product.selection.service.ts","webpack:///./src/services/products.service.ts","webpack:///./src/services/proxy/customer.service.ts","webpack:///./src/services/proxy/index.ts","webpack:///./src/services/questionnaire.service.ts","webpack:///./src/services/register-existing-costumer.service.ts","webpack:///./src/services/rules.service.ts","webpack:///./src/services/trading.service.ts","webpack:///./src/services/universal/application-information.service.ts","webpack:///./src/services/universal/disclosures-universal.service.ts","webpack:///./src/services/universal/identity-verification.service.ts","webpack:///./src/services/universal/index.ts","webpack:///./src/services/universal/investment-profile.service.ts","webpack:///./src/services/universal/managed-portfolio.service.ts","webpack:///./src/services/universal/proxy.service.ts","webpack:///./src/services/universal/vesting-type.service.ts","webpack:///./src/services/user-prospect.service.ts","webpack:///./src/services/user.service.ts","webpack:///./src/services/website.service.ts","webpack:///./src/services/wl/white-label.service.ts","webpack:///./src/services/zip.service.ts","webpack:///./src/store/actions/applicants.action.ts","webpack:///./src/store/actions/application.action.ts","webpack:///./src/store/actions/auth.action.ts","webpack:///./src/store/actions/banner.action.ts","webpack:///./src/store/actions/brand.action.ts","webpack:///./src/store/actions/broker.actions.ts","webpack:///./src/store/actions/catalogs.action.ts","webpack:///./src/store/actions/disclosures.action.ts","webpack:///./src/store/actions/features.action.ts","webpack:///./src/store/actions/index.ts","webpack:///./src/store/actions/landing.action.ts","webpack:///./src/store/actions/layout.action.ts","webpack:///./src/store/actions/organization.action.ts","webpack:///./src/store/actions/pdf.actions.ts","webpack:///./src/store/actions/products.action.ts","webpack:///./src/store/actions/proxy.actions.ts","webpack:///./src/store/actions/rules.action.ts","webpack:///./src/store/actions/trading.action.ts","webpack:///./src/store/actions/white-label.actions.ts","webpack:///./src/store/constants/boarding-results.ts","webpack:///./src/store/constants/features-names.ts","webpack:///./src/store/constants/index.ts","webpack:///./src/store/constants/products.ts","webpack:///./src/store/effects/applicants.effects.ts","webpack:///./src/store/effects/application.effects.ts","webpack:///./src/store/effects/auth.effects.ts","webpack:///./src/store/effects/brand.effects.ts","webpack:///./src/store/effects/catalogs.effects.ts","webpack:///./src/store/effects/disclosures.effects.ts","webpack:///./src/store/effects/feature-flags.effects.ts","webpack:///./src/store/effects/index.ts","webpack:///./src/store/effects/layout.effects.ts","webpack:///./src/store/effects/organization.effects.ts","webpack:///./src/store/effects/pdf.effects.ts","webpack:///./src/store/effects/products.effects.ts","webpack:///./src/store/effects/proxy.effects.ts","webpack:///./src/store/effects/route.effects.ts","webpack:///./src/store/effects/rules.effects.ts","webpack:///./src/store/effects/trading.effects.ts","webpack:///./src/store/effects/white-label.effects.ts","webpack:///./src/store/index.ts","webpack:///./src/store/reducers/applicants.reducer.ts","webpack:///./src/store/reducers/application.reducer.ts","webpack:///./src/store/reducers/auth.reducer.ts","webpack:///./src/store/reducers/banner.reducer.ts","webpack:///./src/store/reducers/brand.reducer.ts","webpack:///./src/store/reducers/broker.reducer.ts","webpack:///./src/store/reducers/catalogs.reducer.ts","webpack:///./src/store/reducers/disclosure.reducer.ts","webpack:///./src/store/reducers/features.reducer.ts","webpack:///./src/store/reducers/index.ts","webpack:///./src/store/reducers/landing.reducer.ts","webpack:///./src/store/reducers/layout.reducer.ts","webpack:///./src/store/reducers/organization.reducer.ts","webpack:///./src/store/reducers/products.reducer.ts","webpack:///./src/store/reducers/proxy.reducer.ts","webpack:///./src/store/reducers/trading.reducer.ts","webpack:///./src/store/reducers/white-label.reducer.ts","webpack:///./src/store/route-serializer.ts","webpack:///./src/store/selectors/applicants-address.selectors.ts","webpack:///./src/store/selectors/applicants.selectors.ts","webpack:///./src/store/selectors/application.selector.ts","webpack:///./src/store/selectors/auth.selectors.ts","webpack:///./src/store/selectors/banner.selectors.ts","webpack:///./src/store/selectors/brand.selectors.ts","webpack:///./src/store/selectors/broker.selectors.ts","webpack:///./src/store/selectors/catalogs.selectors.ts","webpack:///./src/store/selectors/disclosure.selectors.ts","webpack:///./src/store/selectors/feature-flags.selectors.ts","webpack:///./src/store/selectors/index.ts","webpack:///./src/store/selectors/landing.selector.ts","webpack:///./src/store/selectors/layout.selector.ts","webpack:///./src/store/selectors/organization.selector.ts","webpack:///./src/store/selectors/products.selectors.ts","webpack:///./src/store/selectors/proxy.selectors.ts","webpack:///./src/store/selectors/trading.selector.ts","webpack:///./src/store/selectors/white-label.selector.ts","webpack:///./src/store/store.module.ts","webpack:///./src/store/workflows/index.ts","webpack:///./src/store/workflows/workflow.effects.ts","webpack:///./src/store/workflows/workflow.store.ts","webpack:///zlib (ignored)","webpack:///fs (ignored)","webpack:///http (ignored)","webpack:///https (ignored)","webpack:///url (ignored)"],"names":[],"mappings":"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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA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A;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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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AAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;A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","file":"main.js","sourcesContent":["module.exports = \"\\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\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n HOME ADDRESS\\r\\n
\\r\\n {{ address.street }}\\r\\n
\\r\\n {{ address.city }}, {{ address.state }} {{ address.zip | zipCode }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n MAILING ADDRESS\\r\\n
\\r\\n {{ mailingAddress.street }}\\r\\n
\\r\\n {{ mailingAddress.city }}, {{ mailingAddress.state }} {{ mailingAddress.zip | zipCode }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{ address.Street }} {{ address.City }}, {{ address.State }} {{ address.Zip | zipCode }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n {{!isProxy? 'Enter your mailing address.' : 'Enter your client\\\\'s mailing address'}}\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n Sorry, something went wrong. Please exit your application and sign back in. If this issue persists, please enter your information manually.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\\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 {{ err.message( fieldName ?\\r\\n fieldName : label, control.ngControl.getError(err.name)) }}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n {{hint}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \"","module.exports = \"\\r\\n
\\r\\n
Identification Type:
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{type.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
\\r\\n \\r\\n \\r\\n
\\r\\n
\"","module.exports = \"\\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 Front of {{ identificationName }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Back of {{ identificationName }}\\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 {{ fileErrors }}\\r\\n

\\r\\n \\r\\n
    \\r\\n
  • Get a close picture of your ID and make sure all 4 corners can be seen.
  • \\r\\n
  • A dark background, good lighting, and no glare works best.
  • \\r\\n
  • Do not upload PDF files.
  • \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\r\\n {{title}}\\r\\n\\r\\n\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
{{item.name}}
\\r\\n
\\r\\n

{{item.description}}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\"","module.exports = \"\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n Upload File\\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\"","module.exports = \"\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ data.banner.title }}\\r\\n
\\r\\n
0\\\">\\r\\n \\r\\n {{ title }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ data.subBanner?.label }}:\\r\\n \\r\\n \\r\\n {{ data.subBanner?.title }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"
\\r\\n \\r\\n \\r\\n We no longer support this web browser. Please upgrade to Google Chrome or Firefox.\\r\\n \\r\\n
\\r\\n\"","module.exports = \"
\"","module.exports = \"
\\r\\n
\\r\\n

\\r\\n © 2018 Axos Bank, All Rights Reserved.\\r\\n

\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n © {{ today | date: 'yyyy' }} Axos Clearing, LLC, All rights reserved. Clearing, custody or other brokerage
services provided by Axos Clearing, LLC,\\r\\n member FINRA and\\r\\n SIPC.
\\r\\n Trademark(s) belong to their respective owners.\\r\\n

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

\\r\\n © {{ today | date: 'yyyy' }} Axos Bank, All Rights Reserved.\\r\\n Screen Sharing\\r\\n

\\r\\n

\\r\\n USA PATRIOT ACT NOTICE -\\r\\n Important Information about Procedures for Opening a New Account: To help the government fight the funding of\\r\\n terrorism and money laundering activities, Federal Law requires all financial institutions to obtain, verify,\\r\\n and\\r\\n record information that identifies each person who opens an account. What this means for you: When you open an\\r\\n account, we will ask you for your name, address, telephone number, date of birth, social security number,\\r\\n employer, driver’s license number or picture ID. We may also ask to see a copy of these identifying documents.\\r\\n

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

\\r\\n Nationwide’s relationship with Axos Bank gives Nationwide members access to Axos Bank’s banking products and\\r\\n services.\\r\\n All banking products and services are solely offered and provided by Axos Bank®. Axos Bank is a federally\\r\\n chartered savings bank,\\r\\n and all deposit accounts opened with Axos Bank, including those of the same ownership and / or vesting held at\\r\\n Axos Bank, are combined\\r\\n and insured by the FDIC under the same\\r\\n \\r\\n FDIC Certificate 35546.\\r\\n \\r\\n For more information\\r\\n \\r\\n read our FDIC Notice.\\r\\n \\r\\n

\\r\\n

\\r\\n Nationwide and Axos have engaged in a limited marketing relationship, where Axos Bank may make special offers\\r\\n to Nationwide members.\\r\\n Nationwide is not a bank or a lender and is not affiliated with Axos Bank or any other bank, except through\\r\\n this limited arrangement.\\r\\n Nationwide does not take applications, offer, negotiate, arrange or make loans or accept deposits from the\\r\\n public.\\r\\n Nationwide does not guarantee any products or services offered by Axos Bank. Nationwide does not endorse and\\r\\n is not responsible for any of the\\r\\n activities of Axos Bank. Nationwide receives a fee from Axos Bank for its marketing and advertising efforts\\r\\n arising from this relationship with Axos Bank,\\r\\n although for certain of these products (such as any deposits or CDs you may open with Axos) Nationwide will\\r\\n not receive any such fees. Any fees paid to\\r\\n Nationwide by Axos Bank for these marketing activities will not result in increased fees for the products or\\r\\n services Nationwide members receive\\r\\n from Axos Bank.\\r\\n

\\r\\n

\\r\\n Programs (including, without limit, fees, rates and features) are subject to change without notice. Specific\\r\\n costs or fees for a banking product\\r\\n or service received from Axos Bank may apply and will be provided in a separate disclosure to you.\\r\\n

\\r\\n

\\r\\n © {{ today | date: 'yyyy' }} Nationwide, the Nationwide N and Eagle and Nationwide is on your side are service\\r\\n marks of Nationwide Mutual Insurance Company.\\r\\n

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

\\r\\n Bank products and services are offered by Axos Bank. All deposit accounts through Axos Bank brands are FDIC\\r\\n insured through Axos Bank. All deposit accounts of the same ownership and / or vesting held at Axos Bank are\\r\\n combined and insured under the same\\r\\n \\r\\n \\r\\n FDIC Certificate 35546.\\r\\n \\r\\n All deposit accounts through Axos Bank brands are not separately insured by the FDIC from other deposit\\r\\n accounts\\r\\n held with the same ownership and / or vesting at Axos Bank.\\r\\n For more information click here.\\r\\n \\r\\n

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

\\r\\n Axos Bank\\r\\n \\r\\n NMLS# 524995\\r\\n \\r\\n

\\r\\n \\r\\n \\\"FDIC\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n © {{ today | date: 'yyyy' }} Axos Invest, Inc. Investment advisory services provided by Axos Invest, Inc., an SEC registered investment advisor.\\r\\n Brokerage
services are provided by Axos Invest LLC, Member
\\r\\n FINRA/SIPC.
\\r\\n Securities: Not FDIC Insured - No Bank Guarantee - May Lose Value
\\r\\n Cash: Not FDIC Insured - No Bank Guarantee
\\r\\n All cash and securities held in Axos Invest client accounts are protected by SIPC up to $500,000, with a limit of $250,000 for cash.\\r\\n For more
information on SIPC, please click
\\r\\n here.\\r\\n \\r\\n \\r\\n
\\r\\n Analyst ranking information relating to investment options is provided by TipRanks Ltd. (“TipRanks”). TipRanks is not affiliated
with Axos Invest or any affiliate of Axos Invest. Axos Invest has not reviewed nor endorses any analyst reports made available by TipRanks.
For further details on TipRanks, including backtesting analysis, please visit their website by clicking this link -
\\r\\n TipRanks\\r\\n .\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\\"Axos\\r\\n \\r\\n
\\r\\n
\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"Axos\\r\\n
\\r\\n
\\r\\n \\r\\n Need Assistance?\\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
\\r\\n
\\r\\n \\\"\\\"\\r\\n\\r\\n {{ brokerEmail$ | async }}\\r\\n \\r\\n {{ organizationEmail }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n\\r\\n {{ brokerEmail$ | async }}\\r\\n \\r\\n {{ organizationEmail }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Chat

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

Chat is closed

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"
\"","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n Confirm that the {{address.label ? label : 'address'}} you entered is correct.\\r\\n
\\r\\n
\\r\\n \\r\\n {{address.streetAddress1}} {{address.streetAddress2 ? address.streetAddress2 : ''}}\\r\\n \\r\\n {{address.city}}, {{address.state}} {{address.zip5}}-{{address.zip4}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{dynamicHeader}}\\r\\n

Please confirm that the address you entered is correct.

\\r\\n
\\r\\n
\\r\\n Recommended\\r\\n {{recommendedAddressFixedStreet}}\\r\\n {{recommendedAddress.city}}, {{recommendedAddress.state}}\\r\\n {{recommendedAddress.zip5}}-{{recommendedAddress.zip4}}\\r\\n
\\r\\n
\\r\\n You Entered\\r\\n {{address.streetAddress1}} {{address.streetAddress2 ? address.streetAddress2 :\\r\\n ''}}\\r\\n {{address.city}}, {{address.state}} {{address.zip5}}-{{address.zip4}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\\r\\n \\r\\n \\r\\n

Age Restricted Product

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

\\r\\n In order to qualify for this product, the primary applicant must be 55 years old or over.\\r\\n

\\r\\n \\r\\n If you decide to change your product, your current application will be cancelled.\\r\\n \\r\\n
\\r\\n Would you like to change your product?\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Change Product\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n Before you cancel...\\r\\n
\\r\\n
\\r\\n By cancelling your application, the information you submitted will no longer be accessible.\\r\\n If you decide later you would like an account, you will have to reapply.\\r\\n
\\r\\n
\\r\\n Are you sure you want to cancel the application?\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n

Attention

\\r\\n

\\r\\n Our records indicate that you still have a credit freeze on your account.\\r\\n Please wait 30 minutes after lifting your credit freeze before retrying.\\r\\n

\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n

Testing Purposes Only!!!

\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \" \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n

You're continuing to another website.

\\r\\n

\\r\\n {{organizationName}} does not endorse the information, content, presentation or accuracy of any other website and\\r\\n claims no responsibility for it.\\r\\n

\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n Continue\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n

\\r\\n Please select an Identification Answer for every question before you continue.\\r\\n

\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

Session time out

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

\\r\\n You will be logged out in {{expirationTime}} seconds. Would you like to continue your current session?\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n

Text Message Banking Services Terms and Conditions

\\r\\n
\\r\\n \\r\\n Download\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n UFB Direct offers its end users mobile access to their account information over Short Message Service (SMS),\\r\\n as well as the option to set up alerts for their accounts and other functionality. \\r\\n NOTE: Message and\\r\\n Data Rates May Apply when using this service.\\r\\n

\\r\\n For help text \\\"HELP\\\" to the designated mobile code.To cancel your text message banking service, send a text\\r\\n \\\"STOP\\\" to designated mobile code at any time. You can also cancel the service.

\\r\\n Online Privacy Policy: This service is provided under the terms of the \\r\\n Online\\r\\n Privacy Policy\\r\\n provided by UFB Direct.

\\r\\n Terms and conditions:\\r\\n

\\r\\n
    \\r\\n
  • \\r\\n

    \\r\\n Program: UFB Direct offers its end users mobile access to their account information (e.g., for checking\\r\\n balances and recent transactions) over Short Message Service (SMS), as well as the option to set up alerts\\r\\n for their accounts and other functionality. Enrollment requires identification of the user's banking\\r\\n relationship as well as providing a mobile phone number. The mobile phone number's verification is done by\\r\\n the user receiving a Mobile Text (MT) message with a verification code, which they will have to enter on\\r\\n Online Banking. Additionally, customers may select the type of alerts and other preferences, which will\\r\\n determine, together with their account data, the frequency of alerts delivered to the customer. This\\r\\n program will be ongoing. Standard messaging and data rates may apply. Users have the\\r\\n ability to opt out of this program at any time.\\r\\n

    \\r\\n
  • \\r\\n
  • \\r\\n

    \\r\\n To Stop the Program: To stop the messages coming to your phone, you can opt out of the program via SMS.\\r\\n Just send a text that says, \\\"STOP\\\" to MOBILE CODE. You will receive a one-time opt-out confirmation text\\r\\n message. And after that, you will not receive any future messages.\\r\\n

    \\r\\n
  • \\r\\n
  • \\r\\n

    \\r\\n Deactivating mobile phone number: If you deactivate cellular service for the mobile phone number that you\\r\\n enrolled in the Text Message Banking Service, you are responsible for deactivating that same phone number\\r\\n as described in “To Stop the Program” above.\\r\\n

    \\r\\n
  • \\r\\n
  • \\r\\n

    \\r\\n Questions: You can contact us at any time via email at customerservice@ufbdirect.com or at\\r\\n 1-877-472-9200, or from your mobile phone by sending a text message with the word \\\"HELP\\\" to designated\\r\\n mobile code.\\r\\n

    \\r\\n
  • \\r\\n
  • \\r\\n

    \\r\\n Terms & Conditions: By participating in the Text Message Banking Services, you are agreeing to the terms\\r\\n and conditions presented here.\\r\\n

    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

\\r\\n Axos Bank TM offers its end users mobile access to their account information over Short Message\\r\\n Service (SMS), as well as the option to set up alerts for their accounts and other functionality.\\r\\n NOTE: Message and Data Rates May Apply when using this service.

\\r\\n Online Privacy Policy: This service is provided under the terms of the Online Privacy Policy provided by Axos Bank.

\\r\\n Terms and conditions:\\r\\n

\\r\\n
    \\r\\n
  • \\r\\n

    \\r\\n Program: Axos Bank offers its end users mobile access to their account information (e.g., for checking\\r\\n balances and recent transactions) over Short Message Service (SMS), as well as the option to set up\\r\\n alerts for their accounts and other functionality. Enrollment requires identification of the user's\\r\\n banking relationship as well as providing a mobile phone number. The mobile phone number's verification\\r\\n is done by the user receiving a Mobile Text (MT) message with a verification code, which they will have\\r\\n to enter on Online Banking. Additionally, customers may select the type of alerts and other preferences,\\r\\n which will determine, together with their account data, the frequency of alerts delivered to the\\r\\n customer. This program will be ongoing. Standard messaging and data rates may apply.\\r\\n Customers have the ability to opt out of this program at any time.\\r\\n

    \\r\\n
  • \\r\\n
  • \\r\\n

    Message frequency varies by account and preferences.

    \\r\\n
  • \\r\\n
  • \\r\\n

    \\r\\n Purchase is not a requirement of the SMS program. Example - Consent to receive marketing text messages\\r\\n is not required\\r\\n as a condition of purchasing any goods or services. Texts may be sent using an automatic telephone\\r\\n dialing system. Text\\r\\n messages may be transmitted automatically. If your mobile phone is off, out of range, or subject to a\\r\\n variety of other\\r\\n conditions, you may not receive the message or messages may be delayed. Wireless carriers are not liable\\r\\n for delayed or\\r\\n undelivered messages. T-Mobile is not liable for delayed or undelivered messages.\\r\\n

    \\r\\n
  • \\r\\n
  • \\r\\n

    \\r\\n \\r\\n To Stop the Program: To stop the messages coming to your phone, you can opt out of the program\\r\\n via SMS.\\r\\n Just send a text that says, \\\"STOP\\\" to designated mobile code.\\r\\n You will receive a one-time\\r\\n opt-out\\r\\n confirmation text\\r\\n message. And after that, you will not receive any future messages.\\r\\n

    \\r\\n
  • \\r\\n
  • \\r\\n

    \\r\\n Deactivating mobile phone number: If you deactivate cellular service for the mobile\\r\\n phone number that\\r\\n you enrolled in the Text Message Banking Service, you are responsible for deactivating that same phone\\r\\n number as described in “To Stop the Program” above.\\r\\n

    \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n For help text \\\"HELP\\\" to the designated mobile code.To cancel your text message banking service,\\r\\n send a text\\r\\n \\\"STOP\\\" to designated mobile code at any time. You can also cancel the service.\\r\\n \\r\\n
  • \\r\\n
  • \\r\\n

    \\r\\n Questions: You can contact us at any time via email at customerservice@axos.com or at\\r\\n 888-502-2967, or\\r\\n from your mobile phone by sending a text message with the word \\\"HELP\\\" to designated\\r\\n mobile code.\\r\\n

    \\r\\n
  • \\r\\n
  • \\r\\n

    \\r\\n Terms & Conditions: By participating in the Text Message Banking Services, you are\\r\\n agreeing to the\\r\\n terms and conditions presented here.\\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
\"","module.exports = \"
\\r\\n \\r\\n \\r\\n \\r\\n A P.O. Box cannot be used as a {{addressName}} address.\\r\\n \\r\\n \\r\\n Please include the street numbers and street name.\\r\\n \\r\\n \\r\\n Please remove spaces at the beginning and end of the text.\\r\\n \\r\\n \\r\\n Accepted special characters are # - /\\r\\n \\r\\n \\r\\n Please Enter 4 Characters.\\r\\n \\r\\n \\r\\n Please enter up to 30 characters.\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please enter up to 30 characters.\\r\\n \\r\\n \\r\\n Accepted special characters are # - /\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Invalid Zip Code.\\r\\n \\r\\n \\r\\n Zip Code does not exist.\\r\\n \\r\\n \\r\\n Invalid Zip Code\\r\\n \\r\\n \\r\\n Invalid Zip Code\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Special characters not allowed at beginning or end of the text. Accepted special characters are - '\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{s.displayName}}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\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 = \"./src/$$_lazy_route_resource lazy recursive\";","declare var environment: any;\r\n// Ng\r\nimport {\r\n NgModule,\r\n APP_INITIALIZER\r\n} from '@angular/core';\r\nimport { CommonModule, TitleCasePipe, APP_BASE_HREF } from '@angular/common';\r\nimport { BrowserModule, HAMMER_GESTURE_CONFIG } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\n// Ng Material\r\nimport { GestureConfig } from '@angular/material/core';\r\nimport {MatAutocompleteModule} from '@angular/material/autocomplete';\r\n// Vendors\r\nimport { NgxMaskModule } from 'ngx-mask';\r\n// UI Kit\r\nimport { UkModalModule } from '@uikit/components/uk-modal';\r\nimport { UIKitIconsModule } from '@uikit/components/uk-icons';\r\nimport { UkAuthenticationModule, UK_COOKIE_HANDLER_CONFIG, UK_IDLE_CONFIG } from '@uikit/components/uk-authentication';\r\n// Core\r\nimport { API_URL } from 'app/core/constants';\r\nimport { FlowStepInterceptor } from 'app/auth/interceptors';\r\n// Enrollment Modules\r\nimport { EnrollmentStoreModule } from 'store/store.module';\r\nimport { CoreServicesModule } from 'app/core/core-services.module';\r\nimport { LayoutModule } from 'app/layouts/layout.module';\r\nimport { AppRoutingModule } from 'app/layouts/app-routing.module';\r\nimport { ModalsModule } from 'app/modals/modals.module';\r\n// Components\r\nimport { AppComponent } from 'app/app.component';\r\n// Tokens\r\nimport { DISCLOSURES_URL } from 'app/enrollment-common/constants';\r\nimport { BASE_HREF } from 'models/navigation';\r\n// Feature flag\r\nimport { FeatureToggleModule } from 'ngx-feature-toggle';\r\n// Services\r\nimport { AppSettingsService } from './services/app-settings.service';\r\nimport { FlowNavigationService } from 'app/core/services';\r\nimport { DocumentRequestService } from 'app/documents';\r\nimport { IdentificationUploadService } from 'app/enrollment-common';\r\nimport { LottieModule } from 'ngx-lottie';\r\nimport player from 'lottie-web';\r\n\r\nexport function settings(settingsService: AppSettingsService) {\r\n return () => settingsService.getSettings().subscribe();\r\n}\r\n\r\nexport function playerFactory() {\r\n return player;\r\n}\r\n\r\n@NgModule({\r\n imports: [\r\n // Angular Modules\r\n CommonModule,\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n AppRoutingModule,\r\n // UI Kit\r\n UkModalModule,\r\n UIKitIconsModule.forRoot('assets/icons/icons.svg'),\r\n UkAuthenticationModule,\r\n // Enrollment Modules\r\n EnrollmentStoreModule,\r\n CoreServicesModule,\r\n LayoutModule,\r\n ModalsModule,\r\n // Vendors\r\n NgxMaskModule.forRoot(),\r\n AppRoutingModule,\r\n // Feature toogle\r\n FeatureToggleModule,\r\n //Material\r\n MatAutocompleteModule,\r\n LottieModule.forRoot({player: playerFactory})\r\n ],\r\n providers: [\r\n AppSettingsService,\r\n FlowNavigationService,\r\n TitleCasePipe,\r\n DocumentRequestService,\r\n IdentificationUploadService,\r\n { provide: API_URL, useFactory: () => (environment.apiURLs[environment.api] || '').replace('{apiDomain}', environment.apiDomain || 'axosbank') || '' },\r\n { provide: DISCLOSURES_URL, useValue: 'assets/disclosures/html/' },\r\n { provide: UK_COOKIE_HANDLER_CONFIG, useValue: { timeOut: 570, limitTime: 330, timeToTakeAction: 30, refreshToken: 450 } },\r\n { provide: UK_IDLE_CONFIG, useValue: { timeout: 570, pingTime: 5 } },\r\n { provide: APP_INITIALIZER, useFactory: settings, multi: true, deps: [AppSettingsService] },\r\n { provide: HTTP_INTERCEPTORS, useClass: FlowStepInterceptor, multi: true },\r\n { provide: HAMMER_GESTURE_CONFIG, useClass: GestureConfig },\r\n { provide: APP_BASE_HREF, useFactory: (baseHref) => baseHref, deps: [BASE_HREF] }\r\n ],\r\n declarations: [AppComponent],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","declare var environment: any;\r\n\r\n// Ng\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { Title } from \"@angular/platform-browser\";\r\n// NgRx Store\r\nimport { Store } from \"@ngrx/store\";\r\nimport { EnrollmentInitilizerService } from \"app/core/services\";\r\n// Core\r\nimport { GET_BRAND_TITLE } from \"app/core/utils\";\r\n// RxJs\r\nimport { EnrollmentState, RefreshTokenAction } from \"store\";\r\nimport {\r\n getMobileLayout,\r\n getOrganizationDisplayName,\r\n getPageTitle,\r\n} from \"store/selectors\";\r\n// IU Kit\r\nimport { UkHandlerService, UkModalService } from \"@uikit/components\";\r\n// Modals\r\nimport { SessionTimeOutComponent } from \"./modals/components\";\r\nimport { AppSettingsService } from \"services/app-settings.service\";\r\nimport { map, withLatestFrom } from \"rxjs/operators\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"app-root\",\r\n templateUrl: \"./app.component.html\",\r\n})\r\nexport class AppComponent implements OnInit {\r\n isMobile$ = this.store$.select(getMobileLayout);\r\n isConfigurationUnderway = false;\r\n private themeWrapper = document.querySelector(\"body\");\r\n isWhiteLabel:boolean = environment.isWhiteLabel;\r\n\r\n constructor(\r\n private store$: Store,\r\n private initilizer: EnrollmentInitilizerService,\r\n private ukHandlerService: UkHandlerService,\r\n private modalService: UkModalService,\r\n private settingsService: AppSettingsService,\r\n private router: Router,\r\n ngTitleService: Title\r\n ) {\r\n this.isConfigurationUnderway = environment.isConfigurationUnderway;\r\n \r\n initilizer.load();\r\n // hide index.html/main.ts preloader\r\n document.getElementById(\"preloader\").style.display = \"none\";\r\n\r\n this.store$\r\n .select(getPageTitle)\r\n .pipe(withLatestFrom(this.store$.select(getOrganizationDisplayName)))\r\n .subscribe(([title, organizationdisplayName]) =>\r\n ngTitleService.setTitle(title ? title : organizationdisplayName)\r\n );\r\n\r\n this.ukHandlerService.sessionExpirationWarning().subscribe((isWarned) => {\r\n this.modalService.createModal(\r\n { Icon: \"information\" },\r\n false,\r\n SessionTimeOutComponent\r\n );\r\n });\r\n\r\n this.ukHandlerService.refreshToken().subscribe((needRefresh) => {\r\n console.log(\"Refresh token \" + new Date().toISOString());\r\n this.store$.dispatch(new RefreshTokenAction(\"\"));\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.initilizer.setupGlance();\r\n this.changeTheme();\r\n this.initilizer.setupWebBacon();\r\n if(environment.organizationName == 'axos'){\r\n const bodyElement = document.querySelector('body');\r\n if (bodyElement) {\r\n // Add your dynamic class\r\n bodyElement.classList.add('axos-theme');\r\n }\r\n }\r\n }\r\n\r\n private changeTheme() {\r\n this.settingsService\r\n .settings()\r\n .pipe(\r\n map((settings) => {\r\n this.themeWrapper.style.setProperty(\r\n `--organizationName`,\r\n environment.organizationName\r\n );\r\n settings\r\n .filter((x) => x.name !== \"footer\")\r\n .map((x) => {\r\n let value = (x.name == 'bannerColor') ? `linear-gradient(71.95deg, ${x.value}, 67.77%,#A1A7BF 137.36%)` : x.value;\r\n this.themeWrapper.style.setProperty(`--${x.name}`, value);\r\n });\r\n })\r\n )\r\n .subscribe();\r\n \r\n }\r\n}\r\n","export enum DMD_EXCEPTION_CODE {\r\n ApplicationNotFound = 'EX00',\r\n ApplicantNotFound = 'EX01',\r\n SmsServiceFailed = 'EX02',\r\n DmdFlowNotValid = 'EX03',\r\n RetryCountExceeded = 'EX04',\r\n InvalidOtpCode = 'EX05',\r\n TokenGenerationExceeded = 'EX06',\r\n DmdLinkExpired = 'EX07'\r\n}\r\n","export enum IDENTIFICATION_DOCUMENT_TYPE {\r\n DriversLicense = '1',\r\n StateID = '8',\r\n Selfie = '9',\r\n IDBarCode = '10'\r\n}\r\n\r\nexport enum IDENTIFICATION_DOCUMENT_TYPE_NAME {\r\n DriversLicense = \"Driver's License\",\r\n StateID = \"State ID\",\r\n Selfie = 'Selfie'\r\n}\r\n","export enum ID_VERIFICATION_METHOD {\r\n Instant,\r\n Instant_DMD,\r\n Manual\r\n}","export enum APPLICANT_IDENTIFICATION_STEP {\r\n DmdVerifyOtp = 1,\r\n IdTypeSelection,\r\n IDFront,\r\n IDBack,\r\n Selfie,\r\n ReviewAndSubmit,\r\n DmdFinish,\r\n FailedOtpValidation\r\n}\r\n","export enum IMAGE_TYPE {\r\n IdFront = 1,\r\n IdBack,\r\n Selfie,\r\n IdBarCode\r\n}\r\n","export * from './document-type.enum';\r\nexport * from './image-type.enum';\r\nexport * from './id-verification-method.enum';\r\nexport * from './manual-id-verification-reason.enum';\r\nexport * from './id-verification-step.enum';\r\nexport * from './dmd-exception-codes.enum';\r\nexport * from './mitek-config.enum';\r\n","export enum MANUAL_ID_VERIFICATION_REASON {\r\n CustomerChoice=1,\r\n SystemLimitation=2,\r\n DmdOptOut = 3\r\n}\r\n","export enum MITEK_DOCUMENT_TYPE {\r\n IdFront = 'DL_FRONT',\r\n IdBack = 'DL_BACK',\r\n Document = 'Document',\r\n Check = 'Check',\r\n Passport = 'Passport',\r\n Other = 'Other'\r\n}\r\nexport enum MITEK_RESULT_STATUS {\r\n Success = 'success'\r\n}\r\n","export class ApplicantIdVerificationCompleteDto {\r\n IsComplete: boolean;\r\n}\r\n","import {\r\n APPLICANT_IDENTIFICATION_STEP,\r\n} from '../enums'\r\n\r\nexport class ApplicantIdentificationStep {\r\n Step: APPLICANT_IDENTIFICATION_STEP;\r\n IsComplete: boolean;\r\n IsInProgress: boolean;\r\n\r\n constructor(step: APPLICANT_IDENTIFICATION_STEP) {\r\n this.Step = step;\r\n this.IsComplete = false;\r\n this.IsInProgress = true;\r\n }\r\n}\r\n","export const APPLICANT_IDENTIFICATION_STORAGE_NAME = 'applicantIdentifications';\r\n","import {\r\n ID_VERIFICATION_METHOD,\r\n MANUAL_ID_VERIFICATION_REASON\r\n} from '../enums'\r\n\r\nimport {\r\n IdentificationDocument,\r\n ApplicantIdentificationStep\r\n} from '../models'\r\n\r\nexport class ApplicantIdentification {\r\n IdentificationInProgress: boolean;\r\n ApplicantType?: string;\r\n ApplicationId?: number;\r\n ApplicantId?: number;\r\n ApplicantDisplayName?: string;\r\n DmdToken?: string;\r\n IdentificationComplete: boolean;\r\n VerificationMethod: ID_VERIFICATION_METHOD;\r\n ManualIdVerificationReason?: MANUAL_ID_VERIFICATION_REASON;\r\n Documents: IdentificationDocument[];\r\n IdentificationSteps: ApplicantIdentificationStep[];\r\n\r\n constructor(\r\n verificationMethod: ID_VERIFICATION_METHOD,\r\n applicantType?:string,\r\n applicationId?: number,\r\n applicantId?: number,\r\n applicantName?: string,\r\n dmdToken?: string,\r\n manualIdVerificationReason?: MANUAL_ID_VERIFICATION_REASON\r\n ) {\r\n this.VerificationMethod = verificationMethod;\r\n this.ApplicantType = (typeof (applicantType) !== undefined && applicantType !== null) ? applicantType : null;\r\n this.ApplicationId = (typeof (applicationId) !== undefined && applicationId !== null) ? applicationId : null;\r\n this.ApplicantId = (typeof (applicantId) !== undefined && applicantId !== null) ? applicantId : null;\r\n this.ApplicantDisplayName = (typeof (applicantName) !== undefined && applicantName !== null) ? applicantName : null;\r\n this.DmdToken = (typeof (dmdToken) !== undefined && dmdToken !== null) ? dmdToken : null;\r\n this.ManualIdVerificationReason = (typeof (manualIdVerificationReason) !== undefined && manualIdVerificationReason !== null) ? manualIdVerificationReason : null;\r\n this.IdentificationComplete = false;\r\n this.Documents = [];\r\n this.IdentificationSteps = [];\r\n }\r\n}\r\n","export class DmdApplicantDto {\r\n ApplicantId: number;\r\n DeviceInfo: string;\r\n\r\n constructor(applicantId: number, deviceInfo: string) {\r\n this.ApplicantId = applicantId;\r\n this.DeviceInfo = deviceInfo;\r\n }\r\n}\r\n","import { DMD_EXCEPTION_CODE } from \"../enums\";\r\n\r\nexport class DmdExceptionDto{\r\n ExceptionCode: DMD_EXCEPTION_CODE;\r\n Message: string;\r\n}\r\n","export class GetTokenInformationDto{\r\n DmdToken: string;\r\n MobileDeviceInfo: string;\r\n\r\n constructor(token: string, deviceInfo: string) {\r\n this.DmdToken = token;\r\n this.MobileDeviceInfo = deviceInfo;\r\n }\r\n}\r\n","export class DmdOtpValidationDto {\r\n Guid: string;\r\n OtpCode: string;\r\n\r\n constructor(guid: string, otpCode: string) {\r\n this.Guid = guid;\r\n this.OtpCode = otpCode;\r\n }\r\n}\r\n","import { APPLICANT_IDENTIFICATION_STEP } from \"../enums\";\r\n\r\nexport class DmdPollingStep {\r\n step: APPLICANT_IDENTIFICATION_STEP;\r\n imageUrl: string;\r\n displayLabel: string;\r\n\r\n constructor(step: APPLICANT_IDENTIFICATION_STEP, url: string, label: string) {\r\n this.step = step;\r\n this.imageUrl = url;\r\n this.displayLabel = label;\r\n }\r\n}\r\n","import {\r\n IDENTIFICATION_DOCUMENT_TYPE, ID_VERIFICATION_METHOD,\r\n} from '../enums'\r\n\r\nexport class IdVerificationIdentifierDto {\r\n DmdToken: string;\r\n ApplicantId: number;\r\n\r\n constructor(verificationMethod: ID_VERIFICATION_METHOD, dmdToken?: string, applicantId?: number) {\r\n switch (verificationMethod) {\r\n case ID_VERIFICATION_METHOD.Instant:\r\n this.ApplicantId = applicantId;\r\n this.DmdToken = null;\r\n break;\r\n case ID_VERIFICATION_METHOD.Instant_DMD:\r\n this.DmdToken = dmdToken;\r\n this.ApplicantId = null;\r\n break;\r\n default:\r\n this.DmdToken = null;\r\n this.ApplicantId = null;\r\n break;\r\n }\r\n }\r\n}\r\n","import { ID_VERIFICATION_METHOD, IMAGE_TYPE } from '../enums';\r\nimport { IdVerificationIdentifierDto } from './id-verification-identifier-dto.model';\r\n \r\n export class IdVerificationLoggingDto extends IdVerificationIdentifierDto {\r\n Message: string;\r\n DocumentType?: IMAGE_TYPE;\r\n Errors?: any;\r\n \r\n constructor(message: string, verificationMethod: ID_VERIFICATION_METHOD, dmdToken?: string, applicantId?: number, documentType? : IMAGE_TYPE, errors?: any) {\r\n super(verificationMethod, dmdToken, applicantId);\r\n this.Message = message;\r\n this.DocumentType = documentType;\r\n this.Errors = errors;\r\n }\r\n}\r\n \r\n ","import {\r\n IMAGE_TYPE\r\n} from '../enums'\r\n\r\nexport class IdentificationDocumentImage {\r\n \r\n get DisplayUrl() { return `url(data:image/jpeg;base64,${this.Image === null ? '' : this.Image})`; }\r\n get ImageSource() { return `data:image/jpeg;base64,${this.Image === null ? '' : this.Image}`; }\r\n\r\n constructor(public ImageType: IMAGE_TYPE, public Image: string) { }\r\n}\r\n","import {\r\n IDENTIFICATION_DOCUMENT_TYPE,\r\n} from '../enums'\r\n\r\nimport {\r\n IdentificationDocumentImage\r\n}from '../models'\r\n\r\nexport class IdentificationDocument {\r\n DocumentType: IDENTIFICATION_DOCUMENT_TYPE;\r\n Images: IdentificationDocumentImage[];\r\n\r\n constructor(documentType: IDENTIFICATION_DOCUMENT_TYPE) {\r\n this.DocumentType = documentType;\r\n this.Images = [];\r\n }\r\n}\r\n","import {\r\n IDENTIFICATION_DOCUMENT_TYPE, IMAGE_TYPE,\r\n} from '../enums'\r\nimport { IdVerificationIdentifierDto } from './id-verification-identifier-dto.model';\r\n\r\nexport class IdentityDocumentDto {\r\n FileData: string;\r\n DocumentTypeId: IDENTIFICATION_DOCUMENT_TYPE;\r\n DocumentSubTypeId: IMAGE_TYPE;\r\n IdVerificationIdentifier: IdVerificationIdentifierDto;\r\n\r\n constructor(image: string, documentType: IDENTIFICATION_DOCUMENT_TYPE, imageType: IMAGE_TYPE, idvIdentifier: IdVerificationIdentifierDto) {\r\n this.FileData = image;\r\n this.DocumentTypeId = documentType;\r\n this.DocumentSubTypeId = imageType;\r\n this.IdVerificationIdentifier = idvIdentifier;\r\n }\r\n}\r\n","export * from './applicant-id-verification-complete-dto.model';\r\nexport * from './applicant-identification-step.model';\r\nexport * from './applicant-identification-storage-name.model';\r\nexport * from './applicant-identification.model';\r\nexport * from './dmd-applicant-dto.model';\r\nexport * from './dmd-exception-dto.model';\r\nexport * from './dmd-get-token-information-dto.model';\r\nexport * from './dmd-otp-validation-dto.model';\r\nexport * from './dmd-polling-step.model';\r\nexport * from './id-verification-identifier-dto.model';\r\nexport * from './id-verification-logging-dto.model';\r\nexport * from './identification-document-image.model';\r\nexport * from './identification-document.model';\r\nexport * from './identity-document-dto.model';\r\nexport * from './issued-identification-document-type.model';\r\nexport * from './mitek.model';\r\nexport * from './mitekCapture.model';\r\nexport * from './verify-token-response.model';\r\n\r\n","import {\r\n IDENTIFICATION_DOCUMENT_TYPE,\r\n IDENTIFICATION_DOCUMENT_TYPE_NAME\r\n} from \"../enums\";\r\n\r\nexport const ISSUED_IDENTIFICATION_DOCUMENT_TYPES = [\r\n {\r\n name: IDENTIFICATION_DOCUMENT_TYPE_NAME.DriversLicense,\r\n value: IDENTIFICATION_DOCUMENT_TYPE.DriversLicense\r\n },\r\n {\r\n name: IDENTIFICATION_DOCUMENT_TYPE_NAME.StateID,\r\n value: IDENTIFICATION_DOCUMENT_TYPE.StateID\r\n }\r\n]\r\n","import { APPLICANT_INFORMATION_ROUTES } from './route.constants';\r\nimport { APPLICANT_TYPE_NAME, APPLICATION_STATE } from 'models/enums';\r\n\r\nconst primaryBaseFlow = [\r\n APPLICATION_STATE.PersonalInformationPrimary,\r\n APPLICATION_STATE.AddressInformation,\r\n APPLICATION_STATE.MailingAddressQuestionPrimary,\r\n APPLICATION_STATE.MailingAddressInfoPrimary,\r\n APPLICATION_STATE.DobSSNInfoPrimary,\r\n];\r\n\r\nconst primaryIDFirstBaseFlow = [\r\n APPLICATION_STATE.PersonalInformationPrimary,\r\n // Missing State\r\n // APPLICANT_INFORMATION_ROUTES.HOME_ADDRESS_SAME_AS_ID.name,\r\n APPLICATION_STATE.HomeAddressInfoPrimary,\r\n APPLICATION_STATE.MailingAddressQuestionPrimary,\r\n APPLICATION_STATE.MailingAddressInfoPrimary,\r\n APPLICATION_STATE.DobSSNInfoPrimary,\r\n APPLICATION_STATE.IdInformationPrimary,\r\n APPLICATION_STATE.IdAddressQuestionPrimary,\r\n APPLICATION_STATE.IdAddressInfoPrimary\r\n];\r\n\r\nconst primaryTradingFlow = [\r\n APPLICATION_STATE.PersonalInformation,\r\n APPLICATION_STATE.AddressInformation,\r\n APPLICATION_STATE.FinancialInformation,\r\n APPLICATION_STATE.InvestmentProfile,\r\n //APPLICATION_STATE.Beneficiaries,\r\n //APPLICATION_STATE.ContingentBeneficiaries\r\n];\r\n\r\nconst primaryAdditionalOwnerFlow = [\r\n APPLICATION_STATE.PersonalInformation,\r\n APPLICATION_STATE.AddressInformation,\r\n APPLICATION_STATE.AdditionalOwner,\r\n APPLICATION_STATE.FinancialInformation,\r\n APPLICATION_STATE.InvestmentProfile\r\n];\r\n\r\nconst jointTradingFlow = [\r\n APPLICATION_STATE.JointPersonalInformation,\r\n APPLICATION_STATE.AffiliationInformation,\r\n APPLICATION_STATE.HomeAddressQuestionJoint,\r\n APPLICATION_STATE.HomeAddressInfoJoint,\r\n APPLICATION_STATE.FinancialInformation,\r\n APPLICATION_STATE.InvestmentProfile\r\n];\r\n\r\nconst jointBaseFlow = [\r\n APPLICATION_STATE.PersonalInformationJoint,\r\n APPLICATION_STATE.ContactInformationJoint,\r\n APPLICATION_STATE.HomeAddressQuestionJoint,\r\n APPLICATION_STATE.HomeAddressInfoJoint,\r\n APPLICATION_STATE.MailingAddressQuestionJoint,\r\n APPLICATION_STATE.MailingAddressInfoJoint,\r\n APPLICATION_STATE.DobSSNInfoJoint\r\n];\r\n\r\nconst jointIDFirstBaseFlow = [\r\n APPLICATION_STATE.PersonalInformationJoint,\r\n APPLICATION_STATE.ContactInformationJoint,\r\n // Missing State\r\n // APPLICANT_INFORMATION_ROUTES.HOME_ADDRESS_SAME_AS_ID.name,\r\n APPLICATION_STATE.HomeAddressInfoJoint,\r\n APPLICATION_STATE.MailingAddressQuestionJoint,\r\n APPLICATION_STATE.MailingAddressInfoJoint,\r\n APPLICATION_STATE.DobSSNInfoJoint,\r\n APPLICATION_STATE.IdInfoJoint,\r\n APPLICATION_STATE.IdAddressQuestionJoint,\r\n APPLICATION_STATE.IdAddressInfoJoint\r\n];\r\n\r\nexport const APPLICANT_INFORMATION_FLOWS = {\r\n [APPLICANT_TYPE_NAME.Primary]: {\r\n EXISTING: [APPLICATION_STATE.PersonalInformationPrimary],\r\n MANUAL: [\r\n // Missing State\r\n // APPLICANT_INFORMATION_ROUTES.ENTRY_METHOD.name,\r\n ...primaryBaseFlow,\r\n APPLICATION_STATE.IdTypeSelectionManualPrimary,\r\n APPLICATION_STATE.IdInformationPrimary,\r\n APPLICATION_STATE.IdAddressQuestionPrimary,\r\n APPLICATION_STATE.IdAddressInfoPrimary\r\n ],\r\n MITEK: [\r\n // Missing State\r\n // APPLICANT_INFORMATION_ROUTES.ENTRY_METHOD.name,\r\n APPLICATION_STATE.IdTypeSelectionManualPrimary,\r\n // Missing State\r\n // APPLICANT_INFORMATION_ROUTES.MITEK.name,\r\n ...primaryIDFirstBaseFlow,\r\n APPLICATION_STATE.IdInformationPrimary,\r\n APPLICATION_STATE.IdAddressQuestionPrimary,\r\n APPLICATION_STATE.IdAddressInfoPrimary\r\n ],\r\n ADVISOR_OR_DMD_MANUAL: [\r\n ...primaryBaseFlow,\r\n APPLICATION_STATE.IdTypeSelectionManualPrimary,\r\n APPLICATION_STATE.IdInformationPrimary,\r\n APPLICATION_STATE.IdAddressQuestionPrimary,\r\n APPLICATION_STATE.IdAddressInfoPrimary\r\n ],\r\n DMD: [...primaryIDFirstBaseFlow],\r\n BUSINESS: [\r\n APPLICATION_STATE.IdTypeSelectionManualPrimary,\r\n // Missing state ??\r\n // APPLICANT_INFORMATION_ROUTES.ID_UPLOAD.name,\r\n // APPLICANT_INFORMATION_ROUTES.ID_UPLOAD_PASSPORT.name,\r\n APPLICATION_STATE.IdInformationPrimary,\r\n APPLICATION_STATE.IdAddressQuestionPrimary,\r\n APPLICATION_STATE.IdAddressInfoPrimary,\r\n ...primaryBaseFlow\r\n ],\r\n TRADING: [\r\n ...primaryTradingFlow\r\n ],\r\n ADDITIONAL_OWNER: [\r\n ...primaryAdditionalOwnerFlow\r\n ]\r\n },\r\n [APPLICANT_TYPE_NAME.Joint]: {\r\n MANUAL: [\r\n // Missing State\r\n // APPLICANT_INFORMATION_ROUTES.ENTRY_METHOD,\r\n ...jointBaseFlow,\r\n APPLICATION_STATE.IdTypeSelectionManualJoint,\r\n APPLICATION_STATE.IdInfoJoint,\r\n APPLICATION_STATE.IdAddressQuestionJoint,\r\n APPLICATION_STATE.IdAddressInfoJoint\r\n ],\r\n MITEK: [\r\n // Missing State\r\n // APPLICANT_INFORMATION_ROUTES.ENTRY_METHOD,\r\n APPLICATION_STATE.IdTypeSelectionManualJoint,\r\n // Missing State\r\n // APPLICANT_INFORMATION_ROUTES.MITEK.name,\r\n ...jointIDFirstBaseFlow,\r\n APPLICATION_STATE.IdInfoJoint,\r\n APPLICATION_STATE.IdAddressQuestionJoint,\r\n APPLICATION_STATE.IdAddressInfoJoint\r\n ],\r\n ADVISOR_OR_DMD_MANUAL: [\r\n ...jointBaseFlow,\r\n APPLICATION_STATE.IdTypeSelectionManualJoint,\r\n APPLICATION_STATE.IdInfoJoint,\r\n APPLICATION_STATE.IdAddressQuestionJoint,\r\n APPLICATION_STATE.IdAddressInfoJoint\r\n ],\r\n DMD: [...jointIDFirstBaseFlow],\r\n TRADING: [\r\n ...jointTradingFlow\r\n ]\r\n },\r\n [APPLICANT_TYPE_NAME.Teen]: [\r\n APPLICATION_STATE.PersonalInformationTeen,\r\n APPLICATION_STATE.ContactInformationTeen,\r\n APPLICATION_STATE.HomeAddressQuestionTeen,\r\n APPLICATION_STATE.HomeAddressInfoTeen,\r\n APPLICATION_STATE.MailingAddressQuestionTeen,\r\n APPLICATION_STATE.MailingAddressInfoTeen,\r\n APPLICATION_STATE.DobSSNInfoTeen\r\n ],\r\n [APPLICANT_TYPE_NAME.Minor]: [\r\n APPLICATION_STATE.PersonalInformationMinor,\r\n APPLICATION_STATE.HomeAddressQuestionMinor,\r\n APPLICATION_STATE.HomeAddressInfoMinor,\r\n APPLICATION_STATE.DobSSNInfoMinor\r\n ],\r\n [APPLICANT_TYPE_NAME.Trust]: [APPLICATION_STATE.TrustInfo]\r\n};\r\n","export * from './route.constants';\r\nexport * from './flows.constants';","export const APPLICANT_INFORMATION_PARENT_PATH = 'personalInformation';\r\n\r\nexport const APPLICANT_INFORMATION_ROUTES: { [key: string]: string } = {\r\n EXISTING: 'existing',\r\n INFO: 'basic',\r\n DOB: 'dobssn',\r\n CONTACT_INFO: 'contact',\r\n ENTRY_METHOD: 'entry',\r\n FINANCIAL_INFORMATION: 'financial',\r\n //#region Address\r\n HOME_ADDRESS: 'address/home',\r\n HOME_ADDRESS_SAME_AS_ID: 'address/homesameasid',\r\n HOME_ADDRESS_SAME_AS_PRIMARY: 'addressquestion/home',\r\n MAILING_ADDRESS: 'address/mailing',\r\n MAILING_ADDRESS_SELECTION: 'addressquestion/mail',\r\n HOME_MAILING_ADDRESS: 'address/homeuniversal',\r\n //#endregion\r\n //#region ID\r\n ID_SELECTION: 'id/selection',\r\n ID_UPLOAD_PASSPORT: 'id/upload/passport',\r\n ID_UPLOAD: 'id/upload',\r\n ID_INFORMATION: 'id/information',\r\n ID_ADDRESS: 'address/id',\r\n ID_ADDRESS_SELECTION: 'addressquestion/id',\r\n //#endregion\r\n //#region Trading\r\n FEATURES: 'features',\r\n INVESTMENT_PROFILE: 'investmentprofile',\r\n BENEFICIARIES: 'beneficiaries',\r\n CONTINGENT_BENEFICIARIES: 'contingentbeneficiaries',\r\n //#endregion\r\n //region Identification \r\n ID_DETAILS1: 'identification/upload',\r\n ID_DETAILS2: 'idDetails2',\r\n ////#endregion\r\n MITEK: 'upload',\r\n TRUST_CERTIFICATION: 'tin',\r\n //#region trading\r\n TRADING_PRIMARY: 'trading/about',\r\n TRADING_ADDITIONAL_OWNER: 'trading/additional',\r\n TRADING_PINFO: 'trading/pinfo', \r\n //#endregion\r\n}\r\n","export * from './constants';\r\nexport * from './services';","export * from './module.service';","declare var environment: any;\r\n\r\n// Ng\r\nimport { Injectable } from '@angular/core';\r\n// RxJs\r\nimport { filter, takeUntil, withLatestFrom } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { getApplication, getCurrentApplicant, getDmdEnabled, getApplicationVestingTypeName } from 'store/selectors';\r\n// Services\r\nimport { Platform } from '@angular/cdk/platform';\r\n// Models, Enums and Constants\r\nimport {\r\n IApplication,\r\n Applicant\r\n} from 'models';\r\nimport { ModuleFlow } from 'models/navigation';\r\nimport {\r\n APPLICANT_TYPE_NAME,\r\n BRAND_NAME,\r\n SOURCE_TYPES,\r\n APPLICATION_STATE,\r\n VESTING_TYPE_NAME\r\n} from 'models/enums';\r\nimport { APPLICANT_INFORMATION_FLOWS } from '../constants/flows.constants';\r\nimport { ID_VERIFICATION_METHOD } from 'models/enums/id-verification-method.enum';\r\nimport { BaseDestroyComponent } from 'app/core/components/base-destroy.component';\r\n\r\n@Injectable()\r\nexport class ApplicantInformationModuleFlowService extends BaseDestroyComponent implements ModuleFlow {\r\n private application: IApplication;\r\n private currentApplicant: Applicant;\r\n private vestingTypeName: string;\r\n private dmdEnabled: boolean;\r\n\r\n isAxosUniversal: boolean = !!environment.isAxosUniversal;\r\n\r\n constructor(store$: Store, private platformService: Platform) {\r\n super();\r\n store$.select(getApplication)\r\n .pipe(\r\n takeUntil(this.unsubscribe$),\r\n withLatestFrom(store$.select(getDmdEnabled))\r\n )\r\n .subscribe(data => {\r\n this.application = data[0];\r\n this.dmdEnabled = data[1];\r\n });\r\n\r\n store$.select(getCurrentApplicant)\r\n .pipe(\r\n takeUntil(this.unsubscribe$),\r\n filter(applicant => !!applicant)\r\n ).subscribe(value => this.currentApplicant = value);\r\n\r\n store$.select(getApplicationVestingTypeName).pipe(\r\n takeUntil(this.unsubscribe$)).subscribe(vestingTypeName => {\r\n this.vestingTypeName = vestingTypeName\r\n })\r\n }\r\n\r\n getFlow(): APPLICATION_STATE[] {\r\n const applicantTypeName = this.currentApplicant.type;\r\n const vestingTypeName = this.vestingTypeName; //TODO get vestingtype\r\n // const manualCapture = (this.currentApplicant.manualCapture !== undefined && this.currentApplicant.manualCapture !== null) ?\r\n // this.currentApplicant.manualCapture : true;\r\n\r\n //TODO include axos trading flow\r\n if (this.isAxosUniversal) {\r\n const flow: any = APPLICANT_INFORMATION_FLOWS[applicantTypeName];\r\n if (this.currentApplicant.type === APPLICANT_TYPE_NAME.Trust) {\r\n return flow;\r\n }\r\n if(applicantTypeName === APPLICANT_TYPE_NAME.Primary \r\n && (vestingTypeName === VESTING_TYPE_NAME.Joint || vestingTypeName === VESTING_TYPE_NAME.Trust)){\r\n return flow.ADDITIONAL_OWNER\r\n }\r\n return flow.TRADING;\r\n }\r\n\r\n const manualCapture = this.currentApplicant.IdVerificationMethodId != ID_VERIFICATION_METHOD.Mitek;\r\n\r\n if (this.currentApplicant.type === APPLICANT_TYPE_NAME.Primary) {\r\n const primaryFlow: any = APPLICANT_INFORMATION_FLOWS[applicantTypeName];\r\n //TODO include axos trading flow\r\n if (this.application.SourceType.SourceTypeId === SOURCE_TYPES.existingEnroller) {\r\n return primaryFlow.EXISTING;\r\n } else if (this.application.Brand.Name === BRAND_NAME.AxosAdvisor) {\r\n return primaryFlow.ADVISOR_OR_DMD_MANUAL;\r\n } else if (this.dmdEnabled) {\r\n return manualCapture ? primaryFlow.ADVISOR_OR_DMD_MANUAL : primaryFlow.DMD;\r\n // Workaround for IE\r\n } /*else if(!this.dmdEnabled && !this.platformService.WEBKIT && !this.platformService.SAFARI {\r\n return primaryFlow.IE;\r\n }*/\r\n return manualCapture ? primaryFlow.MANUAL : primaryFlow.MITEK;\r\n }\r\n else if (this.currentApplicant.type === APPLICANT_TYPE_NAME.Joint) {\r\n const jointFlow: any = APPLICANT_INFORMATION_FLOWS[applicantTypeName];\r\n if (this.application.Brand.Name === BRAND_NAME.AxosAdvisor) {\r\n return jointFlow.ADVISOR_OR_DMD_MANUAL;\r\n } else if (this.dmdEnabled) {\r\n return manualCapture ? jointFlow.ADVISOR_OR_DMD_MANUAL : jointFlow.DMD;\r\n // Workaround for IE\r\n } /* else if(!this.dmdEnabled && !this.platformService.WEBKIT && !this.platformService.SAFARI) {\r\n return jointFlow.IE;\r\n } */\r\n return manualCapture ? jointFlow.MANUAL : jointFlow.MITEK;\r\n }\r\n return APPLICANT_INFORMATION_FLOWS[applicantTypeName];\r\n }\r\n};\r\n","import { NgModule } from '@angular/core';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\n\r\nimport { TokenInterceptor } from './interceptors';\r\nimport { AuthHandlerService } from './services';\r\nimport { AuthGuard } from './guards';\r\n\r\n@NgModule({\r\n imports: [ ],\r\n declarations: [ ],\r\n exports: [ ],\r\n providers: [\r\n AuthHandlerService,\r\n AuthGuard,\r\n { provide: HTTP_INTERCEPTORS, useClass: TokenInterceptor, multi: true },\r\n ]\r\n})\r\nexport class AuthServicesModule { }\r\n","export const TOKEN_STORAGE_NAME = 'token';\r\nexport const USER_STORAGE_NAME = 'user';\r\nexport const UTM_STORAGE_NAME = 'UTM';\r\nexport const DECLINED_TRUST ='declinedTrust';\r\nexport const PROXY_APPLICATION_ID = 'ProxyApplicationId';\r\nexport const PHONE_NUMBER ='PhoneNumber';\r\nexport const IS_VALIDATED ='isValidated';\r\nexport const IS_INVEST = -4;\r\nexport const IS_EMAIL = 'email';\r\nexport const IS_SMS = 'sms'; \r\nexport const otpTimeoutMessage= \"Your validation request has expired. Please attempt to log in again.\";\r\nexport const systemError= \"System error\"\r\nexport const Validation_TimeOut= \"OTP Validation Request has timed out. Please try login in again.\"\r\n","export * from './auth.constants';\r\nexport * from './route-names';\r\n","export const AUTH_PARENT_ROUTE = 'auth';\r\n\r\nexport const AUTH_ROUTES = {\r\n INPROGRESS: 'inprogress',\r\n OTP: 'otp',\r\n FORGOTPASSWORD: 'forgotPassword/:back',\r\n LOGIN:'login',\r\n EXISTINGLOGIN:'login/existing',\r\n SECURITYQUESTIONS:'securityQuestions',\r\n UNLOCKACCOUNT:'unlock/:unlockToken',\r\n ADMINUNLOCKACCOUNT:'ResetPassword/:unlockToken',\r\n SESSION_TIME_OUT: 'sessionTimeOut',\r\n CREATE_USER_NAME: 'createUserName/:guid',\r\n REGISTER:'register',\r\n EXPIREDAPPLICATION: 'expiredApplication',\r\n LINK_EXPIRED: 'linkExpired',\r\n}\r\n","// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { CanActivate, CanActivateChild } from '@angular/router';\r\n// Services\r\nimport { AuthHandlerService } from '../services';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate, CanActivateChild {\r\n\r\n constructor(private cookieService: CookieService, private authHandler: AuthHandlerService) { }\r\n\r\n checkActiveToken(): boolean {\r\n const hasCookie = !!this.cookieService.get('XSRF-TOKEN');\r\n if(!hasCookie) { this.authHandler.logOut(true); }\r\n return hasCookie;\r\n }\r\n\r\n canActivate() {\r\n return this.checkActiveToken();\r\n }\r\n\r\n canActivateChild() {\r\n return this.checkActiveToken();\r\n }\r\n}\r\n","export * from './auth.guard';","export * from './services';\r\nexport * from './guards';\r\nexport * from './constants';\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpResponse } from '@angular/common/http';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\n// Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store/states';\r\nimport { setWorkflowStep } from 'store/workflows';\r\n\r\n@Injectable()\r\nexport class FlowStepInterceptor implements HttpInterceptor {\r\n constructor(private store$: Store) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request).pipe(\r\n tap((res: HttpResponse) => {\r\n const { body } = res;\r\n if(body && body.metadata) {\r\n const { nextStep, lastStep } = body.metadata;\r\n if(nextStep) {\r\n this.store$.dispatch(setWorkflowStep({ step: nextStep, lastStep }));\r\n }\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","export * from './token.interceptor';\r\nexport * from './flow-step.interceptor';\r\n","declare var environment: any;\r\n\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpErrorResponse } from '@angular/common/http';\r\n// RxJs\r\nimport { Observable, throwError } from 'rxjs';\r\n// Services\r\nimport { catchError } from 'rxjs/operators';\r\n\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { API_URL } from 'app/core/constants';\r\nimport { GET_CACHE } from 'app/core/utils';\r\nimport { TOKEN_STORAGE_NAME } from '../constants';\r\nimport { IAuthToken } from 'models';\r\n@Injectable()\r\nexport class TokenInterceptor implements HttpInterceptor {\r\n constructor(\r\n @Inject(API_URL) private enrollmentUrl: string,\r\n private cookieService: CookieService,\r\n private router: Router) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n if(!request.url.startsWith(this.enrollmentUrl)) {\r\n return next.handle(request)\r\n }\r\n let newHeader: any = { };\r\n\r\n if(request.headers.has('x-ax-applicationId')) {\r\n newHeader = {\r\n ...newHeader,\r\n 'x-ax-applicationId': request.headers.get('x-ax-applicationId'),\r\n }\r\n }\r\n const cookie = this.cookieService.get('XSRF-TOKEN');\r\n if (cookie) {\r\n const tokenValue = cookie;\r\n newHeader = {\r\n ...newHeader,\r\n 'Authorization': `Bearer ${tokenValue}`,\r\n }\r\n\r\n if(environment.bizUnitId){\r\n newHeader = {...newHeader ,'ax-bizUnitId': `${environment.bizUnitId.toString()}`}\r\n } \r\n\r\n } else {\r\n let token: IAuthToken = GET_CACHE(TOKEN_STORAGE_NAME);\r\n if (token) {\r\n newHeader = {\r\n ...newHeader,\r\n 'Authorization': `Bearer ${token.access_token}`,\r\n }\r\n }\r\n }\r\n if (environment && environment.brandId) {\r\n newHeader = { ...newHeader, 'X-Brand-Id': environment.brandId.toString() };\r\n }\r\n request = request.clone({ setHeaders: newHeader, withCredentials: true });\r\n return next.handle(request).pipe(\r\n catchError((error: HttpErrorResponse) => this.handleAuthError(error))\r\n );\r\n }\r\n\r\n private handleAuthError(error: HttpErrorResponse) {\r\n if (error.status === 401 || error.status === 403) {\r\n //Existing variable prevent to redirecto to login page if the user or password is incorrect in the existing login\r\n const isExistingSignin = error.url.includes('SignIn') && error.url.includes('isExisting=true');\r\n const pagePath = error.url.includes('proxy') ? 'access-restricted' : 'login';\r\n if(!isExistingSignin){\r\n this.router.navigateByUrl(`/auth/${pagePath}`);\r\n }\r\n }\r\n return throwError(error);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { LoginSuccessAction } from 'store/actions';\r\n\r\nimport { addSeconds } from 'date-fns';\r\n\r\nimport { IAuthToken, IUser } from 'models/auth';\r\nimport { TOKEN_STORAGE_NAME, AUTH_PARENT_ROUTE, AUTH_ROUTES } from '../constants';\r\nimport { CacheService } from 'app/core/services';\r\nimport { ISignInRequest, ISignInData } from 'models';\r\nimport { AuthService } from 'services';\r\n\r\n\r\n@Injectable()\r\nexport class AuthHandlerService extends CacheService {\r\n\r\n constructor(\r\n private router: Router,\r\n private store$: Store,\r\n private authService:AuthService\r\n ) { super(); }\r\n\r\n setToken(token: IAuthToken) {\r\n const maximumExpirationInSeconds = 1800;\r\n token.expires_in = token.expires_in < maximumExpirationInSeconds ? token.expires_in : maximumExpirationInSeconds;\r\n if (!token.expires_date) {\r\n token.expires_date = addSeconds(new Date(),token.expires_in || 1799);\r\n }\r\n\r\n const storageToken = this.getCachedToken();\r\n if (storageToken !== null) {\r\n // && appConstants.fromProxy\r\n if (storageToken.refresh_token !== null && token.refresh_token === null) {\r\n token.refresh_token = storageToken.refresh_token;\r\n }\r\n }\r\n this.currentToken = token;\r\n }\r\n\r\n //#region Token Data\r\n private _currentToken: IAuthToken;\r\n private get currentToken(): IAuthToken {\r\n if (!this._currentToken) { this._currentToken = this.getCachedToken(); }\r\n return this._currentToken;\r\n }\r\n private set currentToken(value: IAuthToken) {\r\n this._currentToken = value;\r\n this.setCachedToken(this._currentToken);\r\n }\r\n\r\n setNewIdentityToken(accessToken: string): void {\r\n const token: IAuthToken = {\r\n access_token: accessToken,\r\n challengeInfo: null,\r\n expires_date: null,\r\n expires_in: 1800,\r\n hasSecurityQuestions: false,\r\n password_standard_met: false,\r\n refresh_token: null,\r\n signin_type:1\r\n }\r\n this.setToken(token);\r\n }\r\n\r\n get token(): string { return this.currentToken ? this.currentToken.access_token : ''; }\r\n //#endregion\r\n\r\n //#region User Data\r\n private _currentUser: IUser;\r\n private get currentUser(): IUser {\r\n // if (!this._currentUser) { this._currentUser = this.getCachedUser(); }\r\n return this._currentUser;\r\n }\r\n private set currentUser(value: IUser) {\r\n this._currentUser = value;\r\n // this.setCachedUser(this.currentUser);\r\n }\r\n\r\n get userName(): string { return this.currentUser ? this.currentUser.UserName : null; }\r\n get applicationId(): string { return this.currentUser ? this.currentUser.ApplicationId : null; }\r\n //#endregion\r\n\r\n get loginURL() { return `${AUTH_PARENT_ROUTE}/${AUTH_ROUTES.LOGIN}`; }\r\n\r\n logOut(redirect = false) {\r\n this.currentToken = null;\r\n this.currentUser = null;\r\n if (redirect) { this.router.navigateByUrl(this.loginURL); }\r\n }\r\n\r\n updateToken(token: IAuthToken) {\r\n this.store$.dispatch(new LoginSuccessAction(token));\r\n }\r\n\r\n\r\n //#region Cached Data\r\n getCachedToken(): IAuthToken { return this.getCached(TOKEN_STORAGE_NAME); }\r\n setCachedToken(value: IAuthToken) { this.setCache(value, TOKEN_STORAGE_NAME); }\r\n //#endregion\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BaseService, AuthService, ApplicationService } from \"services\";\r\n\r\n\r\n\r\n\r\n\r\n@Injectable()\r\nexport class ExistingCustomerService extends BaseService {\r\n\r\n\r\n\r\n create(brandId, productVesting) {\r\n return this._post(`v2/Customer/Existing/Add/${brandId}`, productVesting); \r\n }\r\n\r\n}\r\n","export * from './auth-handler.service';\r\nexport * from './existing-customer.service';\r\nexport * from './otp.service';\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BaseService } from \"services\";\r\n\r\n\r\n// TODO: Replace for TS version\r\ndeclare var client: any;\r\n\r\n\r\n@Injectable()\r\nexport class OTPService extends BaseService {\r\n \r\n deviceInformation:any={};\r\n\r\n initializeDDNA() {\r\n client.processDNA();\r\n this.deviceInformation.deviceSignature = client.getDNA().replace(/\\s/g, '');\r\n this.deviceInformation.deviceId = client.getDID();\r\n }\r\n\r\n getDeviceInfo() {\r\n return this.deviceInformation;\r\n }\r\n\r\n updateDeviceInformation(deviceInfo) { \r\n this.deviceInformation.advice = deviceInfo.advice;\r\n this.deviceInformation.deviceId = deviceInfo.deviceId;\r\n this.deviceInformation.deviceType = deviceInfo.deviceType;\r\n this.deviceInformation.matchedRule = deviceInfo.matchedRule;\r\n this.deviceInformation.ruleAnnotation = deviceInfo.ruleAnnotation;\r\n this.deviceInformation.score = deviceInfo.score;\r\n this.deviceInformation.transactionId = deviceInfo.transactionId;\r\n }\r\n\r\n requestMultifactorOtp(request) { \r\n return this._post('auth/otp', request); \r\n }\r\n\r\n evaluateCode(request) {\r\n request={...request,...this.deviceInformation}; \r\n return this._post('auth/otp/validate', request); \r\n }\r\n\r\n setDid(did) {\r\n client.setDID(did);\r\n }\r\n\r\n\r\n}","import { BUSINESS_ROUTES } from './route.constants';\r\nimport { APPLICATION_STATE } from 'models/enums';\r\n\r\nexport const BUSINESS_FLOW: APPLICATION_STATE[] = [\r\n /*\r\n BUSINESS_ROUTES.TIN.name,\r\n BUSINESS_ROUTES.BASIC_INFO.name,\r\n BUSINESS_ROUTES.CONTACT_INFO.name,\r\n BUSINESS_ROUTES.DIFF_NAME_SELECTION.name,\r\n BUSINESS_ROUTES.DIFF_NAME_FORM.name,\r\n BUSINESS_ROUTES.ADDRESS.name,\r\n BUSINESS_ROUTES.MAILING_SAME_ADDRESS.name,\r\n BUSINESS_ROUTES.MAILING_ADDRESS.name,\r\n BUSINESS_ROUTES.ANNUAL_SALES.name,\r\n BUSINESS_ROUTES.DEPOSIT_AMOUNT.name\r\n */\r\n];\r\n","export * from './route.constants';\r\nexport * from './flows.constants';\r\nexport * from './module.constants';\r\n","import { ModuleFlow } from 'models/navigation';\r\n\r\nimport { BUSINESS_FLOW } from './flows.constants';\r\nimport {\r\n BUSINESS_MODULE_PREFIX,\r\n BUSINESS_PARENT_PATH,\r\n BUSINESS_ROUTES\r\n} from './route.constants';\r\n\r\nexport const BUSINESS_INFORMATION_MODULE_FLOW: ModuleFlow = {\r\n getFlow() { return BUSINESS_FLOW; }\r\n};\r\n","import { ModuleRouteConfig } from 'models/navigation';\r\n\r\nexport const BUSINESS_PARENT_PATH = 'business';\r\nexport const BUSINESS_MODULE_PREFIX = 'BIZ';\r\n\r\nexport const BUSINESS_ROUTES: { [key: string]: ModuleRouteConfig} = {\r\n TIN: {\r\n name: `${BUSINESS_MODULE_PREFIX}_TIN-SELECTION`,\r\n path: 'tin'\r\n },\r\n BASIC_INFO: {\r\n name: `${BUSINESS_MODULE_PREFIX}_BASIC-INFORMATION`,\r\n path: 'info'\r\n },\r\n CONTACT_INFO: {\r\n name: `${BUSINESS_MODULE_PREFIX}_CONTACT-INFORMATION`,\r\n path: 'contact'\r\n },\r\n DIFF_NAME_SELECTION: {\r\n name: `${BUSINESS_MODULE_PREFIX}_DIFF-NAME_SELECTION`,\r\n path: 'diffname'\r\n },\r\n DIFF_NAME_FORM: {\r\n name: `${BUSINESS_MODULE_PREFIX}_DIFF-NAME-FORM`,\r\n path: 'name'\r\n },\r\n ADDRESS: {\r\n name: `${BUSINESS_MODULE_PREFIX}_ADDRESS`,\r\n path: 'address'\r\n },\r\n MAILING_SAME_ADDRESS: {\r\n name: `${BUSINESS_MODULE_PREFIX}_MAILING-ADDRESS-SELECTION`,\r\n path: 'mailing'\r\n },\r\n MAILING_ADDRESS: {\r\n name: `${BUSINESS_MODULE_PREFIX}_MAILING-ADDRESS`,\r\n path: 'mailingAddress'\r\n },\r\n ANNUAL_SALES: {\r\n name: `${BUSINESS_MODULE_PREFIX}_ANNUAL-SALES`,\r\n path: 'annualSales'\r\n },\r\n DEPOSIT_AMOUNT: {\r\n name: `${BUSINESS_MODULE_PREFIX}_DEPOSIT-AMOUNT`,\r\n path: 'depositAmount'\r\n },\r\n}","import { Injectable } from '@angular/core';\r\nimport { CanActivate } from '@angular/router';\r\n// RxJs\r\nimport { map } from 'rxjs/operators';\r\n// Enrollment Common\r\nimport { ADDRESS_TYPE_NAME } from 'models/enums';\r\n\r\nimport { BusinessBaseGuard } from './base.guard';\r\n\r\n@Injectable()\r\nexport class BusinessAddresstGuard extends BusinessBaseGuard implements CanActivate {\r\n canActivate() {\r\n return this.getData().pipe(\r\n map(value => {\r\n const addressType = value.business.IdentificationInfo.IdentificationAddressType;\r\n const _activate = addressType !== ADDRESS_TYPE_NAME.Current\r\n this.shouldNavigate(_activate);\r\n return _activate;\r\n })\r\n )\r\n }\r\n}\r\n","// RxJs\r\nimport { take, combineLatest, map } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { getBusinessApplicant, getApplication } from 'store/selectors';\r\n// Navigation\r\nimport { FlowNavigationService } from 'app/core/services/flow-navigation.service';\r\nimport { FlowBaseGuard } from 'app/core/guards';\r\n\r\n\r\nexport abstract class BusinessBaseGuard extends FlowBaseGuard {\r\n\r\n constructor(store$: Store, navService: FlowNavigationService) {\r\n super(store$, navService);\r\n }\r\n\r\n getData() {\r\n const business$ = this.store$.select(getBusinessApplicant).pipe(take(1));\r\n const application$ = this.store$.select(getApplication).pipe(take(1));\r\n return business$.pipe(\r\n combineLatest(application$),\r\n map(result => {\r\n return {\r\n business: result[0],\r\n application: result[1]\r\n }\r\n })\r\n )\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate } from '@angular/router';\r\n// RxJs\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { BusinessBaseGuard } from './base.guard';\r\n\r\n@Injectable()\r\nexport class BusinessDiffNameGuard extends BusinessBaseGuard implements CanActivate {\r\n canActivate() {\r\n return this.getData().pipe(\r\n map(value => {\r\n const _activate = value.business.hasDifferentName;\r\n this.shouldNavigate(_activate);\r\n return _activate;\r\n })\r\n )\r\n }\r\n}","export * from './address.guard';\r\nexport * from './diff-name.guard';\r\nexport * from './mailing-address.guard';\r\nexport * from './tin.guard';","import { Injectable } from '@angular/core';\r\nimport { CanActivate } from '@angular/router';\r\n// RxJs\r\nimport { map } from 'rxjs/operators';\r\n// Enrollment Common\r\nimport { BusinessBaseGuard } from './base.guard';\r\n\r\n\r\n@Injectable()\r\nexport class BusinessMailingAddresstGuard extends BusinessBaseGuard implements CanActivate {\r\n canActivate() {\r\n return this.getData().pipe(\r\n map(value => {\r\n const _activate = !value.business.isMailingAddressSameAsHomeAddress;\r\n this.shouldNavigate(_activate);\r\n return _activate;\r\n })\r\n )\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate } from '@angular/router';\r\n// RxJs\r\nimport { map } from 'rxjs/operators';\r\n// Enrollment Common\r\nimport { VESTING_TYPE_ID } from 'models/enums';\r\nimport { BusinessBaseGuard } from './base.guard';\r\n\r\n\r\n@Injectable()\r\nexport class BusinessTINGuard extends BusinessBaseGuard implements CanActivate {\r\n canActivate() {\r\n return this.getData().pipe(\r\n map(value => {\r\n const vestingId = value.application.vestingType.Id;\r\n const _activate = vestingId === VESTING_TYPE_ID.LLC || vestingId === VESTING_TYPE_ID.SoleProprietorship;\r\n this.shouldNavigate(_activate);\r\n return _activate;\r\n })\r\n )\r\n }\r\n}\r\n","export * from './constants';\r\nexport * from './guards';\r\n","import { OnDestroy } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n// Rename to DestroyHook\r\nexport abstract class BaseDestroyComponent implements OnDestroy {\r\n protected unsubscribe$ = new Subject();\r\n ngOnDestroy() {\r\n this.unsubscribe$.next();\r\n this.unsubscribe$.complete();\r\n }\r\n}\r\n","// NgRx\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { moveBack } from 'store/workflows';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\n// Components\r\nimport { BaseFormComponent } from './base-form.component';\r\n\r\nexport abstract class BaseFlowFormComponent extends BaseFormComponent {\r\n constructor(protected store$: Store, protected value$?: Observable) {\r\n super(value$);\r\n }\r\n\r\n goBack() {\r\n this.store$.dispatch(moveBack());\r\n }\r\n}\r\n","// Ng\r\nimport { Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n// RxJs\r\nimport { Observable, Subject, BehaviorSubject } from 'rxjs';\r\nimport { takeUntil, filter, switchMap, startWith, take, map } from 'rxjs/operators';\r\n\r\nimport { BaseDestroyComponent } from './base-destroy.component';\r\n\r\n// TODO: Create new Class with only Form and Value and extend from it (Decouple flow navigation service)\r\nexport abstract class BaseFormComponent extends BaseDestroyComponent implements OnInit {\r\n\r\n protected _value: T;\r\n protected hasPendingUpdate = false;\r\n protected useFormValue = false;\r\n protected submitForm$ = new Subject();\r\n\r\n submitInProgress$: BehaviorSubject = new BehaviorSubject(false);\r\n\r\n @Input() // TODO: Deprecate in future\r\n get value() { return this._value; }\r\n set value(val: T) { this.updateValue(val); }\r\n\r\n private _form: FormGroup;\r\n get form() { return this._form; }\r\n set form(val: FormGroup) {\r\n this._form = val;\r\n this._form.reset();\r\n this.setFormEnabled(this._form);\r\n this.useFormValue = true;\r\n if (this.hasPendingUpdate) {\r\n this.updateFormValue();\r\n }\r\n }\r\n\r\n constructor(protected value$?: Observable) {\r\n super()\r\n if (value$) {\r\n value$.pipe(\r\n filter(value => !!value),\r\n takeUntil(this.unsubscribe$)\r\n )\r\n .subscribe(value => this.updateValue(value))\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.submitInProgressListener();\r\n this.submitForm$.pipe(\r\n takeUntil(this.unsubscribe$),\r\n switchMap(() => this.listenFormValidity(this.form)),\r\n ).subscribe(isValid => {\r\n this.onFormSubmitted(isValid)\r\n }\r\n\r\n );\r\n }\r\n\r\n //step2\r\n private submitStart() {\r\n if (!this.submitInProgress$.value) {\r\n this.submitInProgress$.next(true);\r\n } else {\r\n this.submitInProgress$.next(false);\r\n this.submitInProgress$.next(true);\r\n }\r\n }\r\n //step 6\r\n protected submitEnd() {\r\n this.submitInProgress$.next(false);\r\n }\r\n\r\n protected submitInProgressListener() {\r\n this.submitInProgress$.pipe(\r\n takeUntil(this.unsubscribe$),\r\n filter(inProgress => inProgress)\r\n ).subscribe(() => this.onSubmitStart());\r\n }\r\n\r\n protected updateValue(value: T) {\r\n // TODO: Deprecate\r\n this._value = value;\r\n this.form ?\r\n this.updateFormValue() :\r\n this.hasPendingUpdate = true;\r\n }\r\n\r\n protected updateFormValue() {\r\n this.form.patchValue(this.value);\r\n this.hasPendingUpdate = false;\r\n }\r\n\r\n protected listenFormValidity(form: FormGroup): Observable {\r\n return form.statusChanges.pipe(\r\n startWith(form.status),\r\n filter(status => status !== 'PENDING'),\r\n map(status => status === 'VALID'),\r\n take(1)\r\n );\r\n }\r\n\r\n getFormControls(form) { return (Object).values(form.controls); }\r\n\r\n setFormEnabled(form: FormGroup) {\r\n this.getFormControls(form).forEach((control: any) => {\r\n if (control) {\r\n control.enable();\r\n if (control.controls) {\r\n this.setFormEnabled(control);\r\n }\r\n }\r\n });\r\n }\r\n\r\n setFormTouched(form: FormGroup) {\r\n this.getFormControls(form).forEach((control: any) => {\r\n if (control) {\r\n control.markAsTouched({ onlySelf: true });\r\n if (control.controls) {\r\n this.setFormTouched(control);\r\n }\r\n }\r\n });\r\n }\r\n\r\n onFormInvalid() {\r\n this.setFormTouched(this._form);\r\n this.submitEnd();\r\n }\r\n //step1 click on save button\r\n onContinue(value?: any) {\r\n if (value && !this.useFormValue) {\r\n this._value = this.value ? Object.assign(this.value, value) : value;\r\n }\r\n this.submitStart();\r\n }\r\n //step5\r\n onSave() {\r\n this.submitEnd();\r\n }\r\n //step3 if submitInProgress true\r\n onSubmitStart() {\r\n this.form ? this.submitForm$.next() : this.onSave();\r\n }\r\n //step4\r\n onFormSubmitted(isValid: boolean) {\r\n if (isValid) {\r\n if (this.useFormValue) {\r\n this._value = Object.assign(this.value ? this.value : {}, this.form.value);\r\n }\r\n this.onSave();\r\n } else {\r\n this.onFormInvalid();\r\n }\r\n }\r\n}\r\n","export * from './base-form.component';\r\nexport * from './base-destroy.component';\r\nexport * from './base-flow-form.component';","export const API_SUB_ROUTE = {\r\n DEFAULT_SUB: 'api',\r\n GENERIC_SUB: 'generic',\r\n PROXY_SUB : '/proxy'\r\n}","export * from './injection-tokens';\r\nexport * from './route-params.constant';\r\nexport * from './scripts.constant';\r\nexport * from './api-sub-route.constant';","import { InjectionToken } from '@angular/core';\r\nexport const API_URL = new InjectionToken('API_URL');\r\nexport const PLATFORM_CONFIG_TOKEN = new InjectionToken('organization information');\r\n","export const APPLICANT_TYPE_NAME_PARAM = 'applicantType';\r\n","export const LAZY_SCRIPTS = { }","import { NgModule } from '@angular/core';\r\n\r\nimport {\r\n LoadingService,\r\n BrowserTypeService,\r\n LazyLoadingService,\r\n EnrollmentInitilizerService,\r\n MarketingService\r\n} from './services';\r\n\r\n@NgModule({\r\n imports: [ ],\r\n declarations: [ ],\r\n exports: [ ],\r\n providers: [\r\n LoadingService,\r\n LazyLoadingService,\r\n EnrollmentInitilizerService,\r\n MarketingService,\r\n BrowserTypeService\r\n ]\r\n})\r\nexport class CoreServicesModule { }\r\n","\r\n\r\n\r\nexport enum ProductTypeCode {\r\n Trading = 'ENR',\r\n Deposits = 'JH',\r\n }","// Ng\r\nimport { Injectable } from \"@angular/core\";\r\nimport { CanActivate, ActivatedRouteSnapshot } from \"@angular/router\";\r\n// RxJs\r\nimport { map } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from \"@ngrx/store\";\r\nimport { EnrollmentState } from \"store\";\r\nimport { CorrectApplicationRouteAction } from 'store/actions';\r\n// Resolvers\r\nimport { ApplicationResolver } from \"../resolvers\";\r\n\r\n@Injectable()\r\nexport class CorrectStateGuard implements CanActivate {\r\n\r\n constructor(\r\n private store$: Store,\r\n private applicationResolver: ApplicationResolver) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot){\r\n return this.applicationResolver.resolve().pipe(\r\n map(application => {\r\n const currentAppState = application.stateId,\r\n desiredStates = route.data.ValidApplicationStates.stateId;\r\n let _activate = false;\r\n if(Array.isArray(desiredStates)) {\r\n _activate = desiredStates.map(state => currentAppState === state).reduce((p, c) => p || c);\r\n } else {\r\n _activate = currentAppState === desiredStates;\r\n }\r\n if(!_activate) { this.store$.dispatch(new CorrectApplicationRouteAction()) }\r\n return _activate;\r\n })\r\n )\r\n }\r\n}\r\n","// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\n// Navigation\r\nimport { FlowNavigationService } from '../services/flow-navigation.service';\r\n\r\n\r\nexport abstract class FlowBaseGuard {\r\n constructor(protected store$: Store, protected navService: FlowNavigationService) { }\r\n\r\n getData() { throw Error('Method not implemented'); }\r\n\r\n shouldNavigate(activate: boolean): boolean {\r\n if(!activate) { this.navService.move(); }\r\n return activate;\r\n }\r\n}\r\n","export * from './flow-base.guard';\r\nexport * from './mitek-scripts.guard';\r\nexport * from './marketing-products.guard';\r\nexport * from './token-cookie.guard';\r\nexport * from './correct-state.guard';\r\n\r\n","declare var environment: any;\r\n// Ng\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { CanActivate } from '@angular/router';\r\n// RxJs\r\nimport { map, filter, switchMap } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { SetProductsSelectionAction } from 'store/actions';\r\nimport {\r\n getMarketingSelectedProducts,\r\n getMarketingProductsValidated\r\n} from 'store/selectors';\r\n// Core\r\nimport { GET_URL_ALL_PARAMETERS } from '../utils';\r\nimport { ProductTypeCode } from '../enums/product-type.enum';\r\n\r\n@Injectable()\r\nexport class MarketingProductsGuard implements CanActivate {\r\n\r\n constructor(private store$: Store, @Inject(DOCUMENT) private document: Document) { }\r\n\r\n canActivate() {\r\n if(environment.isProxy){\r\n return true;\r\n }\r\n return this.store$.select(getMarketingProductsValidated).pipe(\r\n filter(validated => {\r\n if (!validated) { this.resolve(); }\r\n return validated;\r\n }),\r\n switchMap(() => this.store$.select(getMarketingSelectedProducts).pipe(\r\n map(products => {\r\n const _canActivate = (products && products.length > 0 && products[0].productTypeCodeId.toUpperCase() == ProductTypeCode.Trading)\r\n || window.location.search.indexOf('?ut=') > -1;\r\n if (!_canActivate) {\r\n this.document.location.href = environment.marketingURL;\r\n }\r\n return _canActivate;\r\n }))\r\n )\r\n );\r\n }\r\n\r\n resolve() {\r\n const stateParams = GET_URL_ALL_PARAMETERS();\r\n const productCodes = stateParams['products[]'];\r\n let vestingType = stateParams['vestingtype'] || 1;\r\n let advisorId = stateParams['advisorid'];\r\n const scId = stateParams['sc_id'];\r\n \r\n /*\r\n if (scId) {\r\n sitecoreVisitorProfileService.getProfile(scId, appConstants.env).then(function (result) {\r\n ngUserService.businessExistingCustomer(result).subscribe();\r\n });\r\n }\r\n */\r\n\r\n if (vestingType) {\r\n const vestingTypes = {\r\n individual: 1,\r\n joint: 2,\r\n minor: 3,\r\n trust: 4,\r\n teen: 5\r\n };\r\n vestingType = vestingTypes[vestingType] || 1;\r\n }\r\n this.store$.dispatch(new SetProductsSelectionAction(productCodes, vestingType, advisorId));\r\n }\r\n}\r\n","declare var MitekMobileWeb: any;\r\n// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { CanActivate } from '@angular/router';\r\n// RxJs\r\nimport { of } from 'rxjs';\r\nimport { concatAll, filter, first, map, tap } from 'rxjs/operators';\r\n// Services\r\nimport { LazyLoadingService, SCRIPT_LOAD_TYPE } from '../services/lazy-loading.service';\r\n\r\n@Injectable()\r\nexport class MitekScriptsGuard implements CanActivate {\r\n\r\n constructor(private lazyScripting: LazyLoadingService) { }\r\n\r\n canActivate() {\r\n return this.lazyScripting.loadScript('vendor/mitek/mitek-bundle-min.js', SCRIPT_LOAD_TYPE.Defer).pipe(filter(loaded => loaded), first());\r\n /*\r\n const scripts$ = of(\r\n this.lazyScripting.loadScript('vendor/mitek/MitekAPIUtils.js').pipe(filter(loaded => loaded), first()),\r\n this.lazyScripting.loadScript('vendor/mitek/MitekCaptureParams.js').pipe(filter(loaded => loaded), first()),\r\n this.lazyScripting.loadScript('vendor/mitek/cv.js').pipe(filter(loaded => loaded), first()),\r\n this.lazyScripting.loadScript('vendor/mitek/jsfeat-min.js').pipe(filter(loaded => loaded), first()),\r\n this.lazyScripting.loadScript('vendor/mitek/piexif.js').pipe(filter(loaded => loaded), first()),\r\n this.lazyScripting.loadScript('vendor/mitek/MitekMobileWebAPI.js').pipe(filter(loaded => loaded), first()))\r\n );\r\n let scriptLoaded = 0;\r\n\r\n return scripts$.pipe(\r\n concatAll(),\r\n map(() => ++scriptLoaded >= 6),\r\n filter(loaded => loaded),\r\n tap(() => console.log('All scripts loaded', MitekMobileWeb.mitekWorker)),\r\n first()\r\n );\r\n */\r\n }\r\n}\r\n","// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { CanActivate, Router } from '@angular/router';\r\n// RxJs\r\nimport { map } from 'rxjs/operators';\r\n// NgRx\r\nimport { EnrollmentState } from 'store';\r\nimport { Store } from '@ngrx/store';\r\nimport { CookieLoginAction } from 'store/actions';\r\n\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { AuthService } from 'services';\r\n\r\n@Injectable()\r\nexport class TokenCookieGuard implements CanActivate {\r\n constructor(private router: Router,\r\n private store$: Store,\r\n private cookieService: CookieService,\r\n private authService: AuthService) { }\r\n\r\n canActivate() {\r\n const cookie = this.cookieService.get('XSRF-TOKEN');\r\n if (cookie) {\r\n this.store$.dispatch(new CookieLoginAction());\r\n }\r\n return true;\r\n }\r\n\r\n private formatUrl(url: string): string {\r\n return url.split(new RegExp('(? {\r\n // if (brandId) {\r\n // if (brandId == localBrandId) {\r\n // // Navigate to same brand error page\r\n // const errorUrl = `${LANDING_PARENT_PATH}/${LANDING_ROUTES.SSO_ERROR.path}`;\r\n // this.router.navigateByUrl(this.formatUrl(errorUrl));\r\n // } else {\r\n // this.store$.dispatch(new GetEnrollmentUrlAction(+brandId));\r\n // return this.store$.select(getExisintgEnrollmentUrl).pipe(skip(1), switchMap(url => {\r\n // // Navigate to different brand error page\r\n // const obUrl = `${url}/${LANDING_PARENT_PATH}/${LANDING_ROUTES.SSO_ERROR.path}`;\r\n // document.location.href = this.formatUrl(obUrl);\r\n // return of(false);\r\n // }));\r\n // }\r\n // } else if (brandId === '') {\r\n // // Login and check for in-flight application\r\n // this.store$.dispatch(new CookieLoginAction());\r\n // return of(false);\r\n // }\r\n // return of(true);\r\n // }\r\n}\r\n","// RxJs\r\nimport { filter, withLatestFrom, map, switchMap, first } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { LoadApplicantAction } from 'store/actions';\r\nimport { getApplicantByType } from 'store/selectors';\r\n// Models\r\nimport { APPLICANT_TYPE_NAME } from 'models/enums';\r\nimport { ApplicationResolver } from '../application.resolver';\r\n\r\nexport abstract class ApplicantBaseResolver {\r\n\r\n constructor(\r\n private store$: Store,\r\n private applicationResolver: ApplicationResolver) { }\r\n\r\n getApplicant(applicantType: APPLICANT_TYPE_NAME) {\r\n console.log('getApplicant Resolver', applicantType);\r\n if(!applicantType) { applicantType = APPLICANT_TYPE_NAME.Primary }\r\n const applicant$ = this.store$.select(getApplicantByType(applicantType));\r\n\r\n return this.applicationResolver.resolve().pipe(\r\n map(application => application.Applicants),\r\n switchMap(applicantsMetadata => applicant$.pipe(\r\n map(applicant => {\r\n return { applicantsMetadata, applicant };\r\n }))\r\n ),\r\n map(data => {\r\n if(data.applicantsMetadata.length > 0 && !data.applicant) {\r\n const mApplicant = data.applicantsMetadata.find(applicant => applicant.type === applicantType);\r\n //TODO: Have a way to identify if is already being loaded\r\n this.store$.dispatch(new LoadApplicantAction(mApplicant.applicantId));\r\n }\r\n return data.applicant;\r\n }),\r\n filter(applicant => !!applicant),\r\n first()\r\n );\r\n }\r\n}\r\n","export * from './applicant-base.resolver';\r\n","// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { filter, first, tap, map, withLatestFrom, switchMap } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { getAccountFeature, getFeatures } from 'store/actions';\r\nimport { selectAccountFeature, selectFeatures, getApplicationLoaded } from 'store/selectors';\r\n\r\n@Injectable()\r\nexport class AccountFeaturesResolver implements Resolve> {\r\n\r\n constructor(private store$: Store) { }\r\n\r\n resolve() {\r\n return this.store$.select(getApplicationLoaded).pipe(\r\n filter(loaded => loaded),\r\n switchMap(() => this.store$.select(selectAccountFeature)),\r\n withLatestFrom(\r\n this.store$.select(selectFeatures)\r\n ),\r\n map(([accountFeatures, featuresCatalog]) => {\r\n if(!accountFeatures){\r\n this.store$.dispatch(getAccountFeature());\r\n }\r\n if(!featuresCatalog || featuresCatalog.length < 1){\r\n this.store$.dispatch(getFeatures());\r\n }\r\n return accountFeatures\r\n }),\r\n filter(accountFeatures => !!accountFeatures),\r\n first()\r\n );\r\n }\r\n}\r\n","// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { filter, first } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { LoadAccountsAction } from 'store/actions';\r\nimport { getAccounts } from 'store/selectors';\r\n// Model\r\nimport { Account } from 'models';\r\n\r\n@Injectable()\r\nexport class AccountsResolver implements Resolve> {\r\n\r\n constructor(private store: Store) { }\r\n\r\n resolve() {\r\n return this.store.select(getAccounts).pipe(\r\n filter(accounts => {\r\n const loaded = accounts !== null;\r\n if(!loaded) {\r\n this.store.dispatch(new LoadAccountsAction());\r\n }\r\n return loaded;\r\n }),\r\n first()\r\n );\r\n }\r\n}\r\n","import { Observable } from \"rxjs\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Resolve } from \"@angular/router\";\r\nimport { EnrollmentState, GetAddressInfoesAction } from \"store\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { first, map, filter } from \"rxjs/operators\";\r\nimport { getCurrentApplicant } from 'store/selectors';\r\nimport { Address } from \"models\";\r\nimport { element } from \"angular\";\r\n\r\n@Injectable()\r\nexport class AddressResolver implements Resolve>{\r\n constructor(private store$: Store){ }\r\n\r\n resolve(){\r\n return this.store$.select(getCurrentApplicant).pipe(\r\n map(applicant => {\r\n if (applicant) {\r\n applicant.addresses.forEach((element)=>{\r\n if(element.zipPlus4 && element.zipPlus4 !=''){\r\n if(!element.zip.includes('-')){\r\n element.zip = `${element.zip}-${element.zipPlus4}`;\r\n }\r\n }\r\n });\r\n const addressInfoes = applicant.addresses;\r\n const applicantId = applicant.applicantId;\r\n if(!addressInfoes){\r\n this.store$.dispatch(new GetAddressInfoesAction(applicantId));\r\n }\r\n return addressInfoes;\r\n } else {\r\n return null;\r\n }\r\n }),\r\n filter(addressInfoes => !!addressInfoes),\r\n first()\r\n );\r\n }\r\n}","// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { switchMap, filter, first } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { GetAffiliationsAction } from 'store/actions';\r\nimport { getAffiliationsLoaded, getAffiliations } from 'store/selectors';\r\nimport { CatalogItem } from 'models/trading/catalog-item.model';\r\n\r\n@Injectable()\r\nexport class AffiliationResolver implements Resolve> {\r\n\r\n constructor(private store: Store) { }\r\n\r\n resolve() {\r\n return this.store.select(getAffiliationsLoaded).pipe(\r\n switchMap(loaded => {\r\n if(!loaded) {\r\n this.store.dispatch(new GetAffiliationsAction());\r\n }\r\n return this.store.select(getAffiliations).pipe(\r\n filter(affiliations => affiliations.length > 0)\r\n );\r\n }),\r\n first()\r\n );\r\n }\r\n}\r\n","// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { switchMap, filter, first } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { GetAnnualSalesAction } from 'store/actions';\r\nimport { getAnnualSales, getAnnualSalesLoaded } from 'store/selectors';\r\n// Model\r\nimport { AnnualSales } from 'models';\r\n\r\n@Injectable()\r\nexport class AnnualSalesResolver implements Resolve> {\r\n\r\n constructor(private store: Store) { }\r\n\r\n resolve() {\r\n return this.store.select(getAnnualSalesLoaded).pipe(\r\n switchMap(loaded => {\r\n if(!loaded) {\r\n this.store.dispatch(new GetAnnualSalesAction());\r\n }\r\n return this.store.select(getAnnualSales).pipe(\r\n filter(countries => countries.length > 0)\r\n );\r\n }),\r\n first()\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { filter, withLatestFrom, map } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { LoadApplicantAction } from 'store/actions';\r\nimport { getApplicantsMetadata, getApplicationId, getBusinessApplicant } from 'store/selectors';\r\n// Models\r\nimport { Applicant } from 'models';\r\nimport { APPLICANT_TYPE } from 'models/enums';\r\n\r\n@Injectable()\r\nexport class ApplicantBusinessResolver implements Resolve> {\r\n\r\n constructor(private store$: Store) { }\r\n\r\n resolve() {\r\n return this.store$.select(getBusinessApplicant).pipe(\r\n withLatestFrom(this.store$.select(getApplicationId), this.store$.select(getApplicantsMetadata)),\r\n map(data => {\r\n const applicant = data[0];\r\n const applicationId = data[1];\r\n const applicantsMetadata = data[2];\r\n const mApplicant = applicantsMetadata.find(applicant => applicant.ApplicantType.ApplicantTypeId === APPLICANT_TYPE.Business);\r\n if(!applicant) {\r\n this.store$.dispatch(new LoadApplicantAction(mApplicant.applicantId));\r\n }\r\n return applicant;\r\n }),\r\n filter(applicant => !!applicant)\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\n// Models\r\nimport { Applicant } from 'models';\r\nimport { APPLICANT_TYPE_NAME } from 'models/enums';\r\nimport { ApplicantBaseResolver } from './abstracts';\r\n// Resolver\r\nimport { ApplicationResolver } from './application.resolver';\r\n\r\n@Injectable()\r\nexport class ApplicantPrimaryResolver extends ApplicantBaseResolver implements Resolve> {\r\n\r\n constructor(store$: Store, appResolver: ApplicationResolver) {\r\n super(store$, appResolver);\r\n }\r\n\r\n resolve() { return this.getApplicant(APPLICANT_TYPE_NAME.Primary); }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Resolve, ActivatedRouteSnapshot } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { filter, withLatestFrom, map, switchMap, first, combineLatest } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { LoadApplicantAction } from 'store/actions';\r\nimport { getApplicantByType, getCurrentApplicantType, getCurrentApplicant } from 'store/selectors';\r\n// Models\r\nimport { Applicant } from 'models';\r\nimport { APPLICANT_TYPE_NAME_PARAM } from '../constants';\r\nimport { APPLICANT_TYPE_TO_ID } from 'models/enums';\r\n// Resolver\r\nimport { ApplicationResolver } from './application.resolver';\r\nimport { CountryResolver } from './country.resolver';\r\n\r\n@Injectable()\r\nexport class ApplicantResolver implements Resolve> {\r\n\r\n constructor(private store$: Store, private applicationResolver: ApplicationResolver, private countryResolver: CountryResolver) {\r\n }\r\n\r\n resolve(route: ActivatedRouteSnapshot) {\r\n const applicantTypeName = route.params[APPLICANT_TYPE_NAME_PARAM];\r\n let applicantTypeId: string = applicantTypeName;\r\n\r\n return this.applicationResolver.resolve().pipe(\r\n combineLatest(this.countryResolver.resolve()),\r\n map(data => {\r\n return data[0].applicants;\r\n }),\r\n withLatestFrom(this.store$.select(getCurrentApplicantType)),\r\n switchMap(data => {\r\n const applicants = data[0], applicantType = data[1];\r\n applicantTypeId = applicantType;\r\n // if(!applicantTypeId) {\r\n // applicantTypeId = applicantType;\r\n // }\r\n return this.store$.select(getCurrentApplicant).pipe(\r\n map(applicant => {\r\n return { applicants, applicant };\r\n }))\r\n }),\r\n map(data => {\r\n if(data.applicants.length > 0 && !data.applicant) {\r\n const mApplicant = data.applicants.find(applicant => applicant.type === applicantTypeId);\r\n //TODO: Have a way to identify if is already being loaded\r\n this.store$.dispatch(new LoadApplicantAction(mApplicant.applicantId));\r\n }\r\n return data.applicant;\r\n }),\r\n filter(applicant => !!applicant),\r\n first()\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { filter, withLatestFrom, map, switchMap, take, combineLatest } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { LoadAllApplicantsAction } from 'store/actions';\r\nimport { getApplicants, getApplicantsLoading } from 'store/selectors';\r\n// Resolvers\r\nimport { ApplicationResolver } from './application.resolver';\r\nimport { CountryResolver } from './country.resolver';\r\n\r\n@Injectable()\r\nexport class ApplicantsResolver implements Resolve> {\r\n\r\n constructor(\r\n private store$: Store,\r\n private applicationResolver: ApplicationResolver, private countryResolver: CountryResolver) { }\r\n\r\n resolve() {\r\n return this.applicationResolver.resolve().pipe(\r\n combineLatest(this.countryResolver.resolve()),\r\n map(data => data[0].Applicants),\r\n withLatestFrom(this.store$.select(getApplicantsLoading)),\r\n filter(data => {\r\n const applicants = data[0], loading = data[1];\r\n return applicants && applicants.length > 0 && !loading;\r\n }),\r\n map(data => data[0]),\r\n switchMap(metadata => {\r\n return this.store$.select(getApplicants).pipe(\r\n map(applicants => {\r\n const allLoaded = metadata.length === applicants.length;\r\n if(!allLoaded) {\r\n this.store$.dispatch(new LoadAllApplicantsAction())\r\n }\r\n return allLoaded;\r\n }),\r\n filter(allLoaded => allLoaded)\r\n )\r\n }),\r\n take(1)\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { withLatestFrom, switchMap, filter, first, map } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { LoadApplicationAction, LoadApplicationByTokenAction } from 'store/actions';\r\nimport { getApplicationLoaded, getApplicationLoading, getApplication, getApplicationId } from 'store/selectors';\r\n\r\nimport { IApplication } from 'models';\r\nimport { UserResolver } from './user.resolver';\r\ndeclare var environment: any;\r\n\r\n@Injectable()\r\nexport class ApplicationResolver implements Resolve> {\r\n\r\n constructor(private store$: Store) { }\r\n\r\n resolve() {\r\n return this.store$.select(getApplicationLoaded).pipe(\r\n withLatestFrom(\r\n this.store$.select(getApplicationLoading),\r\n this.store$.select(getApplication),\r\n this.store$.select(getApplicationId)\r\n ),\r\n filter(data => {\r\n const application: IApplication = data[2];\r\n const loaded = data[0], loading = data[1];\r\n if (application.applicationId == null && !!environment.isProxy)\r\n application.applicationId = data[3];\r\n \r\n if(!loaded && !loading) {\r\n application.applicationId ?\r\n this.store$.dispatch(new LoadApplicationAction(application.applicationId)) :\r\n this.store$.dispatch(new LoadApplicationByTokenAction());\r\n }\r\n return loaded;\r\n }),\r\n map(data => data[2]),\r\n first()\r\n )\r\n }\r\n}\r\n","// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { filter, first, tap } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { GetAxosClearingDisclosuresAction } from 'store/actions';\r\n// Model\r\nimport { DetailDisclosure } from 'models';\r\nimport { getAxosClearingDisclosures } from 'store/selectors/disclosure.selectors';\r\n\r\n@Injectable()\r\nexport class AxosClearingDisclosuresResolver implements Resolve> {\r\n\r\n constructor(private store: Store) { }\r\n\r\n resolve() {\r\n return this.store.select(getAxosClearingDisclosures).pipe(\r\n tap(disclosures => {\r\n if (!disclosures) {\r\n this.store.dispatch(new GetAxosClearingDisclosuresAction());\r\n }\r\n return disclosures;\r\n }),\r\n filter(disclosures => !!disclosures),\r\n first()\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\n\r\nimport { Observable } from \"rxjs\";\r\nimport { filter, first, map, withLatestFrom, switchMap } from 'rxjs/operators';\r\n\r\nimport { Resolve } from \"@angular/router\";\r\nimport { Beneficiary } from \"models\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { EnrollmentState, GetBeneficiariesInformationAction } from \"store\";\r\nimport { selectBeneficiariesInformation, getApplicationStateId, selectBeneficiariesContingentInformation, getIRAFlag } from \"store/selectors\";\r\nimport { APPLICATION_STATE, BENEFICIARY_TYPE } from \"models/enums\";\r\n\r\n@Injectable()\r\nexport class BeneficiariesContingentInformationResolver implements Resolve>{\r\n\r\n constructor(private store$: Store){}\r\n\r\n resolve(){\r\n return this.store$.select(selectBeneficiariesContingentInformation).pipe(\r\n map(beneficiaries => {\r\n if (!beneficiaries){\r\n this.store$.dispatch(new GetBeneficiariesInformationAction(BENEFICIARY_TYPE.Contingent));\r\n }\r\n \r\n return beneficiaries\r\n }),\r\n filter(beneficiaries => !!beneficiaries),\r\n first()\r\n )\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\n\r\nimport { Observable, of } from \"rxjs\";\r\nimport { filter, first, map, withLatestFrom, switchMap } from 'rxjs/operators';\r\n\r\nimport { Resolve } from \"@angular/router\";\r\nimport { Beneficiary } from \"models\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { EnrollmentState, GetBeneficiariesInformationAction } from \"store\";\r\nimport { selectBeneficiariesInformation, getApplicationStateId, getIRAFlag } from \"store/selectors\";\r\nimport { APPLICATION_STATE, BENEFICIARY_TYPE } from \"models/enums\";\r\n\r\n@Injectable()\r\nexport class BeneficiariesInformationResolver implements Resolve>{\r\n\r\n constructor(private store$: Store){}\r\n\r\n resolve(){\r\n return this.store$.select(selectBeneficiariesInformation).pipe(\r\n map(beneficiaries => { \r\n if (!beneficiaries){\r\n this.store$.dispatch(new GetBeneficiariesInformationAction(BENEFICIARY_TYPE.Primary));\r\n } \r\n \r\n return beneficiaries\r\n }),\r\n filter(beneficiaries => !!beneficiaries),\r\n first()\r\n )\r\n }\r\n}","declare var environment: any;\r\n// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { switchMap, filter, first } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { GetBrandAction } from 'store/actions';\r\nimport { getBrand, getBrandLoaded } from 'store/selectors';\r\n// Model\r\nimport { Brand } from 'models';\r\n\r\n@Injectable()\r\nexport class BrandResolver implements Resolve> {\r\n\r\n constructor(private store$: Store) { }\r\n\r\n resolve() {\r\n return this.store$.select(getBrandLoaded).pipe(\r\n switchMap(loaded => {\r\n if(!loaded) {\r\n this.store$.dispatch(new GetBrandAction(environment.brandName));\r\n }\r\n return this.store$.select(getBrand).pipe(filter(brand => !!brand));\r\n }),\r\n first()\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { tap, filter, first } from 'rxjs/operators';\r\n\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState, getBrokerInformation } from 'store';\r\nimport { getBroker } from 'store/selectors';\r\nimport { GET_CACHE, SET_CACHE } from '../utils';\r\n\r\n@Injectable()\r\nexport class BrokerResolver implements Resolve> {\r\n constructor(private store$: Store) { }\r\n\r\n resolve() {\r\n const token = GET_CACHE('guid');\r\n if (token)\r\n {\r\n SET_CACHE(token, 'guid');\r\n return this.store$.select(getBroker).pipe(\r\n tap(broker => {\r\n if (!broker) {\r\n this.store$.dispatch(getBrokerInformation({ guid: token }));\r\n }\r\n }),\r\n filter(broker => !!broker),\r\n first()\r\n );\r\n } else {\r\n return null;\r\n }\r\n }\r\n}\r\n","declare var environment: any;\r\n\r\n//Ng\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from \"rxjs\";\r\nimport { filter, first, tap } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState, GetChatBotSettingsAction } from \"store\";\r\nimport { getChatBotSettings } from \"store/selectors\";\r\n// Model\r\nimport { ChatBotSettings } from \"models/brand/chatbot-settings.model\";\r\n\r\n@Injectable()\r\nexport class ChatBotResolver implements Resolve> {\r\n constructor(private store$: Store) { }\r\n\r\n resolve() {\r\n return this.store$\r\n .select(getChatBotSettings)\r\n .pipe(\r\n tap(settings => {\r\n if (!settings) {\r\n this.store$.dispatch(new GetChatBotSettingsAction(environment.brandId));\r\n }\r\n }),\r\n filter(settings => !!settings),\r\n first()\r\n );\r\n }\r\n}","declare var environment: any;\r\n// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { filter, first, tap } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { GetChatSettingsAction } from 'store/actions';\r\nimport { getChatSettings } from 'store/selectors';\r\n// Model\r\nimport { ChatSettings } from 'models';\r\n\r\n@Injectable()\r\nexport class ChatResolver implements Resolve> {\r\n\r\n constructor(private store$: Store) { }\r\n\r\n resolve() {\r\n return this.store$.select(getChatSettings).pipe(\r\n tap(settings => {\r\n if(!settings) {\r\n this.store$.dispatch(new GetChatSettingsAction(environment.brandName));\r\n }\r\n }),\r\n filter(settings => !!settings),\r\n first()\r\n );\r\n }\r\n}\r\n","// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { switchMap, filter, first } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { GetCompanyTitlesAction } from 'store/actions';\r\nimport { getCompanyTitlesLoaded, getCompanyTitles } from 'store/selectors';\r\nimport { CatalogItem } from 'models/trading/catalog-item.model';\r\n\r\n@Injectable()\r\nexport class CompanyTitleResolver implements Resolve> {\r\n\r\n constructor(private store: Store) { }\r\n\r\n resolve() {\r\n return this.store.select(getCompanyTitlesLoaded).pipe(\r\n switchMap(loaded => {\r\n if(!loaded) {\r\n this.store.dispatch(new GetCompanyTitlesAction());\r\n }\r\n return this.store.select(getCompanyTitles).pipe(\r\n filter(companyTitles => companyTitles.length > 0)\r\n );\r\n }),\r\n first()\r\n );\r\n }\r\n}\r\n","// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { switchMap, filter, first, withLatestFrom } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { GetCountriesAction } from 'store/actions';\r\nimport { getCountries, getCountriesLoaded, getCountriesLoading } from 'store/selectors';\r\n// Model\r\nimport { Country } from 'models';\r\n\r\n@Injectable()\r\nexport class CountryResolver implements Resolve> {\r\n\r\n constructor(private store$: Store) { }\r\n\r\n resolve() {\r\n return this.store$.select(getCountriesLoaded).pipe(\r\n withLatestFrom(this.store$.select(getCountriesLoading)),\r\n filter(([loaded, loading]) => {\r\n if(!loaded && !loading) {\r\n this.store$.dispatch(new GetCountriesAction());\r\n }\r\n return loaded;\r\n }),\r\n switchMap(([loaded]) => this.store$.select(getCountries)),\r\n first()\r\n );\r\n }\r\n}\r\n","import { Resolve } from '@angular/router';\r\n\r\nimport { DetailDisclosure } from 'models';\r\nimport { Observable } from 'rxjs';\r\nimport { filter, first, tap, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState, GetDetailDisclosuresAction } from 'store';\r\nimport { getDetailDisclosures } from 'store/selectors/disclosure.selectors';\r\nimport { getApplicationLoaded } from 'store/selectors';\r\n\r\nexport class DetailDisclosureResolver implements Resolve> {\r\n constructor(private store$: Store) { }\r\n\r\n resolve(){\r\n return this.store$.select(getApplicationLoaded).pipe(\r\n filter(loaded => loaded),\r\n switchMap(() => this.store$.select(getDetailDisclosures)),\r\n tap(disclosures => {\r\n if(!disclosures){\r\n this.store$.dispatch(new GetDetailDisclosuresAction());\r\n }\r\n }),\r\n filter(disclosures => !!disclosures),\r\n first()\r\n )\r\n }\r\n}\r\n","import { Resolve } from '@angular/router';\r\n\r\nimport { DetailDisclosure } from 'models';\r\nimport { Observable } from 'rxjs';\r\nimport { filter, first, tap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState, GetDisclosuresCatalogAction } from 'store';\r\nimport { getDisclosuresCatalog } from 'store/selectors/disclosure.selectors';\r\n\r\nexport class DisclosuresCatalogResolver implements Resolve> {\r\n constructor(private store: Store) { }\r\n\r\n resolve() {\r\n return this.store.select(getDisclosuresCatalog).pipe(\r\n tap(disclosures => {\r\n if (!disclosures) {\r\n this.store.dispatch(new GetDisclosuresCatalogAction());\r\n }\r\n }),\r\n filter(disclosures => !!disclosures),\r\n first()\r\n )\r\n }\r\n}","// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { filter, first, map, switchMap } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { GetECMDisclosuresAction } from 'store/actions';\r\n// Model\r\nimport { ECMDisclosure } from 'models';\r\nimport { getECMDisclosures } from 'store/selectors/disclosure.selectors';\r\nimport { getApplicationLoaded } from 'store/selectors';\r\n\r\n@Injectable()\r\nexport class ECMDisclosuresResolver implements Resolve> {\r\n\r\n constructor(private store$: Store) { }\r\n\r\n resolve() {\r\n return this.store$.select(getApplicationLoaded).pipe(\r\n filter(loaded => loaded),\r\n switchMap(x => this.store$.select(getECMDisclosures)),\r\n map(disclosures => {\r\n if (!disclosures) {\r\n this.store$.dispatch(new GetECMDisclosuresAction());\r\n }\r\n return disclosures;\r\n }),\r\n filter(disclosures => !!disclosures),\r\n first()\r\n );\r\n }\r\n}\r\n","import { Resolve } from '@angular/router';\r\n\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState, GetECMDisclosureDocumentByDisclosureAction, GetElectronicDisclosureAction, GetInitialDisclosuresAction } from 'store';\r\nimport { getECMDisclosureDocuments, getElectronicDisclosure, getInitialDisclosures } from 'store/selectors/disclosure.selectors';\r\n\r\nimport { DetailDisclosure } from 'models';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { filter, first, map, tap, withLatestFrom } from 'rxjs/operators';\r\n\r\nexport class ElectronicDisclosureResolver implements Resolve> {\r\n constructor(private store: Store) { }\r\n\r\n resolve(){\r\n return this.store.select(getElectronicDisclosure).pipe(\r\n withLatestFrom(\r\n this.store.select(getInitialDisclosures),\r\n this.store.select(getECMDisclosureDocuments)\r\n ),\r\n map(data => {\r\n const electronicDisclosure = data[0],\r\n initialDisclosures = data[1],\r\n ecmDisclosureDocuments = data[2]\r\n\r\n if(electronicDisclosure && electronicDisclosure.cabinetName && electronicDisclosure.ecmName && !electronicDisclosure.link){\r\n const ecmElectronicDisclosure = ecmDisclosureDocuments.find(x => x.disclosureName == electronicDisclosure.name);\r\n if (!ecmElectronicDisclosure){\r\n this.store.dispatch(new GetECMDisclosureDocumentByDisclosureAction(electronicDisclosure.disclosureId));\r\n } \r\n }\r\n if(!electronicDisclosure){\r\n this.store.dispatch(new GetElectronicDisclosureAction());\r\n }\r\n if(!initialDisclosures){\r\n this.store.dispatch(new GetInitialDisclosuresAction());\r\n }\r\n return electronicDisclosure\r\n }),\r\n filter(disclosure => !!disclosure),\r\n first()\r\n );\r\n }\r\n}\r\n","import { Resolve } from '@angular/router';\r\n\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState, GetECMDisclosureDocumentByDisclosureAction, GetElectronicDisclosureAction, GetFeatureStatusAction, GetInitialDisclosuresAction } from 'store';\r\nimport { getECMDisclosureDocuments, getElectronicDisclosure, getInitialDisclosures } from 'store/selectors/disclosure.selectors';\r\n\r\nimport { DetailDisclosure, FeatureFlag } from 'models';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { filter, first, map, tap, withLatestFrom } from 'rxjs/operators';\r\nimport { getFeatureFlags } from 'store/selectors/feature-flags.selectors';\r\nimport { FEATURE_FLAG } from 'models/enums';\r\n\r\nexport class FeatureFlagsResolver implements Resolve> {\r\n constructor(private store: Store) { }\r\n\r\n resolve(){\r\n return this.store.select(getFeatureFlags).pipe(\r\n map(featureFlags => {\r\n if(!featureFlags) {\r\n this.store.dispatch(new GetFeatureStatusAction(FEATURE_FLAG.IdDetails));\r\n }\r\n return featureFlags\r\n }),\r\n filter(featureFlags => !! featureFlags),\r\n first()\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { tap, filter, first } from 'rxjs/operators';\r\n\r\nimport { FinancialInformationCatalog } from 'models';\r\n\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState, GetFinancialCatalogInformationAction } from 'store';\r\nimport { getFinancialCatalogInformation } from 'store/selectors';\r\n\r\n@Injectable()\r\nexport class FinancialInformationCatalogResolver implements Resolve> {\r\n constructor(private store$: Store) { }\r\n\r\n resolve() {\r\n return this.store$.select(getFinancialCatalogInformation).pipe(\r\n tap(information => {\r\n if(!information) {\r\n this.store$.dispatch(new GetFinancialCatalogInformationAction());\r\n }\r\n }),\r\n filter(information => !!information),\r\n first()\r\n );\r\n }\r\n}","// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { filter, first, map, switchMap } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { getFinancialInformation } from 'store/actions';\r\nimport { selectFinancialInformation, getApplicationLoaded } from 'store/selectors';\r\nimport { FinancialInformation } from 'models';\r\n\r\n@Injectable()\r\nexport class FinancialInformationResolver implements Resolve> {\r\n\r\n constructor(private store$: Store) { }\r\n\r\n resolve() {\r\n return this.store$.select(getApplicationLoaded).pipe(\r\n filter(loaded => loaded),\r\n switchMap(() => this.store$.select(selectFinancialInformation)),\r\n map((information) => {\r\n if (!information) {\r\n this.store$.dispatch(getFinancialInformation());\r\n }\r\n return information\r\n }),\r\n filter(information => !!information),\r\n first()\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Resolve, ActivatedRouteSnapshot } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { tap, filter, first } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { GetIDAQuestionsAction } from 'store/actions';\r\nimport { getIDAQuestions } from 'store/selectors';\r\nimport { ApplicantIdaQuestionSessionValues } from 'models';\r\n\r\n@Injectable()\r\nexport class IDAQuestionsResolver implements Resolve> {\r\n\r\n constructor(private store$: Store) { }\r\n\r\n resolve(route: ActivatedRouteSnapshot) {\r\n return this.store$.select(getIDAQuestions).pipe(\r\n tap(questions => {\r\n if(!questions) {\r\n let isRetry = Boolean[route.params['isRetry']];\r\n this.store$.dispatch(new GetIDAQuestionsAction(!!isRetry));\r\n }\r\n }),\r\n filter(questions => !!questions),\r\n first()\r\n );\r\n }\r\n}\r\n","export * from './user.resolver';\r\nexport * from './application.resolver';\r\nexport * from './accounts.resolver';\r\nexport * from './vesting-types.resolver';\r\nexport * from './selected-products.resolver';\r\nexport * from './security-questions.resolver';\r\n// Brand\r\nexport * from './brand.resolver';\r\nexport * from './chat-settings.resolver';\r\n// Applicants\r\nexport * from './applicant.resolver';\r\nexport * from './applicants.resolver';\r\nexport * from './applicant-primary.resolver';\r\nexport * from './applicant-business.resolver';\r\nexport * from './address.resolver';\r\n// Catalogs\r\nexport * from './detail-disclosure.resolver';\r\nexport * from './annual-sales.resolver';\r\nexport * from './country.resolver';\r\nexport * from './company-title.resolver';\r\nexport * from './financial-information-catalog.resolver';\r\nexport * from './affiliation.resolver';\r\nexport * from './occupation.resolver';\r\nexport * from './state.resolver';\r\nexport * from './investment-objetive.resolver';\r\nexport * from './axos-clearing-disclosures.resolver';\r\nexport * from './electronic-disclosure.resolver';\r\nexport * from './tax-disclosure.resolver';\r\nexport * from './disclosures-catalog.resolver';\r\nexport * from './ecm-disclosures.resolver';\r\n// Rules\r\nexport * from './ida-questions.resolver';\r\nexport * from './pending-verification-applicants.resolver';\r\n\r\n//Trading\r\nexport * from './account-features.resolver';\r\nexport * from './investment-profile.resolver.';\r\nexport * from './personal-information.resolver';\r\nexport * from './financial-information.resolver';\r\n\r\n//Beneficiaries\r\nexport * from './relationships.resolver';\r\nexport * from './beneficiaries-information.resolver';\r\nexport * from './beneficiaries-contingent-info.resolver';\r\n\r\n//Organization\r\nexport * from './organization.resolver';\r\nexport * from './broker.resolver';\r\n\r\n//Trust certificate\r\nexport * from './trust-certificate.resolver';\r\nexport * from './trust-types.resolver';\r\n\r\n//Managed Portfolio\r\nexport * from './portfolio-question-answer.resolver';\r\nexport * from './investment-goals.resolver';\r\n\r\n//Product\r\nexport * from './marketing-product.resolver';\r\nexport * from './organization-products.resolver';\r\n\r\n//ChatBot\r\nexport * from './chat-bot-settings.resolvers';\r\n\r\n//WL\r\nexport * from './trusted-contact.resolver';\r\n\r\n//Feature Flags\r\nexport * from './feature-flags.resolver';\r\n","// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable, of } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\n\r\nimport { ApplicationResolver } from './application.resolver';\r\nimport { ManagedPortfolioService } from 'services/universal/managed-portfolio.service';\r\n\r\n@Injectable()\r\nexport class InvestmentGoalsResolver implements Resolve> {\r\n\r\n constructor(private applicationResolver: ApplicationResolver, private portfolioService: ManagedPortfolioService) { }\r\n\r\n resolve() {\r\n return this.applicationResolver.resolve().pipe(\r\n switchMap(app => this.portfolioService.getInvestmentGoals(app.applicationId)),\r\n switchMap((investmentGoals) => of({investmentGoals}))\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { tap, filter, first } from 'rxjs/operators';\r\n\r\nimport { IInvestmentObjetive } from 'models';\r\n\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState, getInvestmentObjetives } from 'store';\r\nimport { selectInvestmentObjetives } from 'store/selectors';\r\n\r\n@Injectable()\r\nexport class InvestmentObjetiveResolver implements Resolve> {\r\n constructor(private store$: Store) { }\r\n\r\n resolve() {\r\n return this.store$.select(selectInvestmentObjetives).pipe(\r\n tap(objetives => {\r\n if(!objetives) {\r\n this.store$.dispatch(getInvestmentObjetives());\r\n }\r\n }),\r\n filter(objetives => !!objetives),\r\n first()\r\n );\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { Resolve } from \"@angular/router\";\r\n\r\nimport { Observable } from \"rxjs\";\r\n\r\nimport { IInvestmentProfile } from \"models\";\r\n\r\nimport { Store } from \"@ngrx/store\";\r\nimport { EnrollmentState, getInvestmentProfile } from \"store\";\r\nimport { selectInvestmentProfile, getApplicationLoaded } from \"store/selectors\";\r\nimport { filter, tap, first, switchMap } from \"rxjs/operators\";\r\n\r\n@Injectable()\r\nexport class InvestmentProfileResolver implements Resolve> {\r\n\r\n constructor(private store$: Store) { }\r\n\r\n resolve() {\r\n return this.store$.select(getApplicationLoaded).pipe(\r\n filter(loaded => loaded),\r\n switchMap(() => this.store$.select(selectInvestmentProfile)),\r\n tap(profile => {\r\n if (!profile) {\r\n this.store$.dispatch(getInvestmentProfile());\r\n }\r\n }),\r\n filter(profile => !!profile),\r\n first()\r\n );\r\n }\r\n}\r\n","import { Resolve } from '@angular/router';\r\n\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState, GetProductsAction, SetProductsSelectionAction, UpdateBannerAction, UpdateSubBannerAction } from 'store';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { filter, first, map, tap, withLatestFrom } from 'rxjs/operators';\r\nimport { GET_URL_ALL_PARAMETERS } from '../utils';\r\nimport { getMarketingSelectedProducts } from 'store/selectors';\r\n\r\nexport class MarketingProductResolver implements Resolve> {\r\n constructor(private store$: Store) { }\r\n\r\n resolve(){\r\n return this.store$.select(getMarketingSelectedProducts).pipe(\r\n map(products => {\r\n const stateParams = GET_URL_ALL_PARAMETERS();\r\n const productCodes = stateParams['products[]'];\r\n let vestingType = stateParams['vestingtype'] || 1;\r\n let advisorId = stateParams['advisorid'];\r\n let productsName = '';\r\n if(productCodes && productCodes != \"\"){\r\n this.store$.dispatch(new SetProductsSelectionAction(productCodes, vestingType, advisorId));\r\n }else{\r\n if(products.length > 0 ){\r\n products.forEach((prod, index, array) => {\r\n productsName = `${productsName}${prod.displayName}${!Object.is(array.length - 1, index) ? ', ' : ''}`;\r\n });\r\n this.store$.dispatch(new UpdateSubBannerAction(true, 'Product', productsName));\r\n return products;\r\n }\r\n }\r\n return products\r\n }),\r\n filter(products => !!products),\r\n first()\r\n );\r\n }\r\n}","// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { switchMap, filter, first } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { GetOcupationsAction } from 'store/actions';\r\nimport { getOccupations, getOccupationsLoaded } from 'store/selectors';\r\nimport { CatalogItem } from 'models/trading/catalog-item.model';\r\n\r\n@Injectable()\r\nexport class OccupationResolver implements Resolve> {\r\n\r\n constructor(private store: Store) { }\r\n\r\n resolve() {\r\n return this.store.select(getOccupationsLoaded).pipe(\r\n switchMap(loaded => {\r\n if(!loaded) {\r\n this.store.dispatch(new GetOcupationsAction());\r\n }\r\n return this.store.select(getOccupations).pipe(\r\n filter(occupations => occupations.length > 0)\r\n );\r\n }),\r\n first()\r\n );\r\n }\r\n}\r\n","declare var environment: any;\r\n\r\nimport { Resolve } from '@angular/router';\r\n\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState, GetProductsByOrganizationAction } from 'store';\r\n\r\nimport { ISimpleProduct } from 'models';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { filter, first, tap } from 'rxjs/operators';\r\nimport { getOrganizationProducts } from 'store/selectors';\r\n\r\nexport class OrganizationProductsResolver implements Resolve> {\r\n constructor(private store: Store) { }\r\n\r\n resolve(){\r\n return this.store.select(getOrganizationProducts).pipe(\r\n tap(products => {\r\n if(!products || products.length === 0){\r\n this.store.dispatch(new GetProductsByOrganizationAction(environment.applicationTypeName));\r\n }\r\n return products\r\n }),\r\n filter(products => !!products),\r\n first()\r\n );\r\n }\r\n}","declare var environment: any;\r\n// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { getOrganization } from 'store/selectors';\r\n// Model\r\nimport { Organization } from 'models';\r\n\r\n@Injectable()\r\nexport class OrganizationResolver implements Resolve> {\r\n\r\n constructor(private store$: Store) { }\r\n\r\n resolve() {\r\n return this.store$.select(getOrganization).pipe(\r\n map(data => { \r\n return {\r\n name: data.name,\r\n displayName: data.displayName,\r\n url: data.url,\r\n email: data.email,\r\n phone: data.phone,\r\n settings: data.settings\r\n } as Organization\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { tap, filter, first } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState, GetPendingIDVerificationApplicantsAction } from 'store';\r\nimport { getPendingVerificationApplicants } from 'store/selectors';\r\nimport { APPLICANT_TYPE } from 'models/enums';\r\n\r\n@Injectable()\r\nexport class PendingVerificationApplicantsResolver implements Resolve> {\r\n\r\n constructor(private store$: Store) { }\r\n\r\n resolve() {\r\n return this.store$.select(getPendingVerificationApplicants).pipe(\r\n filter(applicants => {\r\n if(!applicants) {\r\n this.store$.dispatch(new GetPendingIDVerificationApplicantsAction());\r\n }\r\n return !!applicants;\r\n }),\r\n first()\r\n );\r\n }\r\n}\r\n","// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { filter, first, map, withLatestFrom, switchMap, tap } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { getPersonalInformation } from 'store/actions';\r\nimport { selectPersonalInformation, getCurrentApplicantId, getCurrentApplicant } from 'store/selectors';\r\nimport { PersonalInformationTrading, Applicant } from 'models';\r\nimport { Person } from 'models/trading/person.model';\r\nimport { CountryResolver } from './country.resolver';\r\n\r\n@Injectable()\r\nexport class PersonalInformationResolver implements Resolve> {\r\n\r\n constructor(private store$: Store, private countryResolver: CountryResolver) { }\r\n\r\n resolve() {\r\n return this.countryResolver.resolve().pipe(\r\n withLatestFrom(this.store$.select(getCurrentApplicant)),\r\n map(data => {\r\n const zipPlus4 =data[1].person.employment.address['zipPlus4'];\r\n const zip = data[1].person.employment.address.zip;\r\n if(zipPlus4 && zipPlus4 !=''){\r\n if(!zip.includes('-')){\r\n let combineZip = `${zip}-${zipPlus4}`;\r\n data[1].person.employment.address.zip = combineZip;\r\n }\r\n }\r\n const applicant = data[1];\r\n if(!applicant.person){\r\n const applicantId = applicant.applicantId;\r\n this.store$.dispatch(getPersonalInformation({applicantId}));\r\n }\r\n return applicant.person;\r\n }),\r\n filter(person => !!person),\r\n first()\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable, of } from 'rxjs';\r\nimport { map, switchMap } from 'rxjs/operators';\r\n// Resolvers\r\nimport { ApplicationResolver } from './application.resolver';\r\nimport { combineLatest } from 'rxjs';\r\nimport { ManagedPortfolioService } from 'services';\r\n\r\n@Injectable()\r\nexport class PortfolioQuestionAnswerResolver implements Resolve> {\r\n\r\n constructor(private applicationResolver: ApplicationResolver, private portfolioService: ManagedPortfolioService) { }\r\n\r\n resolve() {\r\n return this.applicationResolver.resolve().pipe(\r\n switchMap(app => combineLatest([\r\n this.portfolioService.getRiskAnswers(app.applicationId),\r\n this.portfolioService.getRiskQuestions()\r\n ])),\r\n switchMap(([answers, questions]) => of({answers, questions}))\r\n );\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { Resolve } from \"@angular/router\";\r\nimport { Observable } from \"rxjs\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { EnrollmentState, GetBeneficiariesCatalogAction } from \"store\";\r\nimport { tap, filter, first, switchMap } from \"rxjs/operators\";\r\nimport { BeneficiariesCatalog } from \"models\";\r\nimport { getRelationShips, getRelationShipsLoaded } from \"store/selectors\";\r\nimport { CatalogItem } from \"models/trading/catalog-item.model\";\r\n\r\n@Injectable()\r\nexport class RelationShipsResolver implements Resolve>{\r\n constructor(private store$: Store){ }\r\n resolve(){\r\n return this.store$.select(getRelationShipsLoaded).pipe(\r\n switchMap(loaded => {\r\n if(!loaded){\r\n this.store$.dispatch(new GetBeneficiariesCatalogAction());\r\n }\r\n return this.store$.select(getRelationShips).pipe(\r\n filter(relationships => relationships.length > 0)\r\n )\r\n }),\r\n first()\r\n )\r\n }\r\n}","// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { filter, first, tap } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { GetSecurityQuestionsAction, GetUserSuccessAction } from 'store/actions';\r\nimport { getSecurityQuestions } from 'store/selectors';\r\n\r\n\r\n@Injectable()\r\nexport class SequrityQuestionsResolver implements Resolve> {\r\n\r\n constructor(private store$: Store) { }\r\n\r\n resolve() {\r\n return this.store$.select(getSecurityQuestions).pipe(\r\n tap((securityquestions) => {\r\n if(securityquestions===null) {\r\n this.store$.dispatch(new GetSecurityQuestionsAction(false));\r\n } else {\r\n this.store$.dispatch(new GetUserSuccessAction(null));\r\n }\r\n }),\r\n filter(securityquestions => securityquestions!=null),\r\n first()\r\n );\r\n }\r\n}\r\n","// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { filter, first, tap } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { GetProductsAction } from 'store/actions';\r\nimport { getSelectedProducts } from 'store/selectors';\r\n// Model\r\nimport { VestingType, ISimpleProduct } from 'models';\r\n\r\n@Injectable()\r\nexport class SelectedProductsResolver implements Resolve> {\r\n\r\n constructor(private store$: Store) { }\r\n\r\n resolve() {\r\n return this.store$.select(getSelectedProducts).pipe(\r\n tap(products => {\r\n if(products.length <= 0) {\r\n this.store$.dispatch(new GetProductsAction());\r\n }\r\n }),\r\n filter(products => products.length > 0),\r\n first()\r\n );\r\n }\r\n}\r\n","// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { filter, first } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { GetStatesAction } from 'store/actions';\r\nimport { getStates, getStatesLoaded } from 'store/selectors';\r\n// Model\r\nimport { State } from 'models';\r\n\r\n@Injectable()\r\nexport class StatesResolver implements Resolve> {\r\n\r\n constructor(private store$: Store) { }\r\n\r\n resolve() {\r\n return this.store$.select(getStatesLoaded).pipe(\r\n filter(loaded => {\r\n if(!loaded) { this.store$.dispatch(new GetStatesAction()); }\r\n return loaded;\r\n }),\r\n first()\r\n );\r\n }\r\n}\r\n","import { Resolve } from '@angular/router';\r\n\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState, GetElectronicDisclosureAction, GetInitialDisclosuresAction } from 'store';\r\nimport { getAxosInvestDisclosure, getElectronicDisclosure, getInitialDisclosures } from 'store/selectors/disclosure.selectors';\r\n\r\nimport { DetailDisclosure } from 'models';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { filter, first, map, tap, withLatestFrom } from 'rxjs/operators';\r\nimport { GetAxosInvestDisclosureAction, GetTaxPayerDisclosureAction } from '../../../store/actions/disclosures.action';\r\n\r\nexport class TaxDisclosureResolver implements Resolve> {\r\n constructor(private store: Store) { }\r\n \r\n \r\n resolve(){\r\n return this.store.select(getAxosInvestDisclosure).pipe(\r\n withLatestFrom(\r\n this.store.select(getInitialDisclosures)\r\n ),\r\n map(disclosures => {\r\n const electronicDisclosure = disclosures[0];\r\n const initialDisclosures = disclosures[1];\r\n if(!electronicDisclosure){\r\n this.store.dispatch(new GetAxosInvestDisclosureAction());\r\n }\r\n if(!initialDisclosures){\r\n this.store.dispatch(new GetInitialDisclosuresAction());\r\n this.store.dispatch(new GetTaxPayerDisclosureAction());\r\n }\r\n \r\n \r\n return electronicDisclosure;\r\n }),\r\n filter(disclosures => !!disclosures),\r\n first()\r\n );\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { withLatestFrom, first, map } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { GetTrustCertificateInformationAction } from 'store/actions';\r\nimport { getTrustCertificateInformation, getApplicationId, getApplicationVestingTypeName } from 'store/selectors';\r\n\r\nimport { TrustCertificate } from 'models';\r\nimport { VESTING_TYPE_NAME } from 'models/enums';\r\n\r\n@Injectable()\r\nexport class TrustCertificateResolver implements Resolve> {\r\n\r\n constructor(private store$: Store) { }\r\n\r\n resolve() {\r\n return this.store$.select(getTrustCertificateInformation).pipe(\r\n withLatestFrom(\r\n this.store$.select(getApplicationId),\r\n this.store$.select(getApplicationVestingTypeName)\r\n ),\r\n map(data => {\r\n const trustCertificate: TrustCertificate = data[0],\r\n applicationId = data[1],\r\n vestingTypeName = data[2];\r\n if(vestingTypeName === VESTING_TYPE_NAME.Trust && applicationId) {\r\n this.store$.dispatch(new GetTrustCertificateInformationAction(applicationId))\r\n }\r\n return trustCertificate;\r\n }),\r\n map(trustCertificate => trustCertificate),\r\n first()\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Resolve } from \"@angular/router\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { Observable } from \"rxjs\";\r\nimport { filter, first, tap } from \"rxjs/operators\";\r\nimport { EnrollmentState, GetTrustTypesAction } from \"store\";\r\nimport { getTrustTypes } from \"store/selectors\";\r\n\r\n@Injectable()\r\nexport class TrustTypesResolver implements Resolve> {\r\n\r\n constructor(private store$: Store) { }\r\n\r\n resolve() {\r\n return this.store$.select(getTrustTypes).pipe( \r\n tap(trustTypes => {\r\n if(trustTypes.length === 0){\r\n this.store$.dispatch(new GetTrustTypesAction());\r\n }\r\n }),\r\n filter(trustTypes => trustTypes.length> 0),\r\n first()\r\n );\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { Resolve } from \"@angular/router\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { ContactInformation } from \"models/proxy\";\r\nimport { Observable } from \"rxjs\";\r\nimport { filter, first, map, withLatestFrom } from \"rxjs/operators\";\r\nimport { EnrollmentState, getTrustedContact, LoadAllApplicantsAction } from \"store\";\r\nimport { getCurrentApplicant, getCurrentApplicantId, selectTrustedContactWl } from \"store/selectors\";\r\n\r\n@Injectable()\r\nexport class TrustedContactResolver implements Resolve>{\r\n constructor(\r\n private store$: Store\r\n ){}\r\n\r\n resolve() {\r\n return this.store$.select(selectTrustedContactWl).pipe(\r\n map(trustedContact => {\r\n this.store$.dispatch(new LoadAllApplicantsAction());\r\n\r\n if(!trustedContact){\r\n this.store$.select(getCurrentApplicantId).pipe(\r\n filter(currentApplicantId => !!currentApplicantId),\r\n withLatestFrom(this.store$.select(getCurrentApplicant)),\r\n map(data =>{\r\n const currentApplicantId = data[0];\r\n const applicant = data[1];\r\n const applicantId = currentApplicantId ? currentApplicantId : applicant.applicantId;\r\n this.store$.dispatch(getTrustedContact({applicantId: applicantId}));\r\n })\r\n ).subscribe();\r\n }\r\n return trustedContact;\r\n }),\r\n first()\r\n );\r\n }\r\n}","// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { filter, first } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { GetUserAction } from 'store/actions';\r\nimport { getUser } from 'store/selectors';\r\n// Model\r\nimport { IUser } from 'models';\r\n\r\n@Injectable()\r\nexport class UserResolver implements Resolve> {\r\n constructor(private store$: Store) { }\r\n\r\n resolve() {\r\n return this.store$.select(getUser).pipe(\r\n filter(user => {\r\n if(!user) { this.store$.dispatch(new GetUserAction(false)); }\r\n return !!user;\r\n }),\r\n first()\r\n );\r\n }\r\n}\r\n","// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { Resolve } from '@angular/router';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { filter, first, tap } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { GetVestingsAction } from 'store/actions';\r\nimport { getVestingTypes } from 'store/selectors';\r\n// Model\r\nimport { VestingType } from 'models';\r\n\r\n@Injectable()\r\nexport class VestingTypesResolver implements Resolve> {\r\n\r\n constructor(private store$: Store) { }\r\n\r\n resolve() {\r\n return this.store$.select(getVestingTypes).pipe(\r\n tap(vestingTypes => {\r\n if(vestingTypes.length === 0) {\r\n this.store$.dispatch(new GetVestingsAction());\r\n }\r\n }),\r\n filter(vestingTypes => !!vestingTypes),\r\n first()\r\n );\r\n }\r\n}\r\n","import { GET_CACHE, SET_CACHE } from 'app/core/utils';\r\n\r\nexport abstract class CacheService {\r\n\r\n constructor() { }\r\n\r\n protected getCached(storage_name: string) {\r\n return GET_CACHE(storage_name);\r\n }\r\n\r\n protected setCache(value: any, storage_name: string, temp = false) {\r\n SET_CACHE(value, storage_name, temp);\r\n }\r\n}","export * from './cache.service';","import { Injectable } from '@angular/core';\r\nimport { DeviceProfile } from 'models';\r\n\r\n@Injectable()\r\nexport class BrowserTypeService {\r\n private _isTouchDevice: boolean;\r\n private _doesUserAgentHaveMobileOrTabletToken: boolean;\r\n private _userAgent: string;\r\n\r\n constructor() {\r\n this._userAgent = navigator.userAgent;\r\n this._isTouchDevice = ((navigator.maxTouchPoints && navigator.maxTouchPoints > 1) || 'ontouchstart' in document.documentElement);\r\n this._doesUserAgentHaveMobileOrTabletToken = (/mobile|mobi|iemobile|tablet|android/i.test(this._userAgent.toLowerCase()));\r\n }\r\n\r\n public isBrowserOnMobileDevice(): boolean {\r\n return (this._isTouchDevice === true && this._doesUserAgentHaveMobileOrTabletToken === true );\r\n }\r\n\r\n public getBrowserAndDeviceInfo(): any {\r\n let deviceProfile: DeviceProfile = {\r\n appCodeName: navigator.appCodeName,\r\n appName: navigator.appName,\r\n appVersion: navigator.appVersion,\r\n maxTouchPoints: navigator.maxTouchPoints,\r\n platform: navigator.platform,\r\n userAgent: navigator.userAgent,\r\n vendor: navigator.vendor\r\n }\r\n return deviceProfile;\r\n }\r\n\r\n public isSafari(): boolean {\r\n return this._userAgent.toLowerCase().indexOf('safari') > -1;\r\n }\r\n\r\n public isChrome(): boolean {\r\n return this._userAgent.toLowerCase().indexOf('chrome') > -1;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { map } from 'rxjs/operators';\r\n\r\n\r\n@Injectable()\r\nexport class DownloadService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n downloadPDF(url): any {\r\n return this.http.get(url, { responseType: 'blob' as 'json' }).pipe(\r\n map(res => {\r\n return new Blob([res as any], { type: 'application/pdf' });\r\n })\r\n );\r\n }\r\n}\r\n","declare var environment: any;\r\n// Ng\r\nimport { Injectable } from '@angular/core';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { SetProductsSelectionAction } from 'store/actions';\r\n// Core\r\nimport { GET_URL_ALL_PARAMETERS } from '../utils';\r\n\r\nimport { LazyLoadingService, SCRIPT_LOAD_TYPE } from './lazy-loading.service';\r\nimport { MarketingService } from './marketing.service';\r\nimport { BrowserTypeService } from './browser-type.service';\r\nimport { BRAND_ID } from 'models/enums';\r\n\r\n@Injectable()\r\nexport class EnrollmentInitilizerService {\r\n\r\n constructor(\r\n private store$: Store,\r\n private lazyLoadingService: LazyLoadingService,\r\n private marketingService: MarketingService,\r\n private browserTypeService: BrowserTypeService) { }\r\n\r\n load() {\r\n // this.productsResolver();\r\n this.marketingService.loadMarketingScript();\r\n // Lazy Load Fonts\r\n // For IE\r\n if(!this.browserTypeService.isChrome() && !this.browserTypeService.isSafari()) {\r\n this.lazyLoadingService.loadStyles('brand-fonts-ie.css');\r\n } else {\r\n this.lazyLoadingService.loadStyles('brand-fonts.css');\r\n }\r\n }\r\n\r\n setupWebBacon() {\r\n \r\n let webBacon: string = \"\";\r\n\r\n if(environment.brandId === BRAND_ID.Axos || environment.brandId === BRAND_ID.AxosAdvisor )\r\n {\r\n webBacon = environment.production ? \r\n \"//cdn.evgnet.com/beacon/axosbank/axos/scripts/evergage.min.js\" \r\n : \"//cdn.evgnet.com/beacon/axosbank/uat/scripts/evergage.min.js\" ;\r\n\r\n this.lazyLoadingService.loadScript(webBacon);\r\n }\r\n else\r\n {\r\n webBacon = environment.production ? \r\n \"https://cdn.evgnet.com/beacon/axosbank/engage/scripts/evergage.min.js\" \r\n : \"https://cdn.evgnet.com/beacon/axosbank/uat/scripts/evergage.min.js\" ;\r\n\r\n this.lazyLoadingService.loadScript(\r\n webBacon,\r\n SCRIPT_LOAD_TYPE.Defer,\r\n [\r\n { name: 'id', value: 'baconbrowsescript' },\r\n { name: 'charset', value: 'utf-8' },\r\n { name: 'data-presence', value: 'on' }\r\n ]\r\n );\r\n }\r\n }\r\n\r\n setupGlance() {\r\n const env = environment.production ? 'production' : 'staging';\r\n this.lazyLoadingService.loadScript(\r\n `https://www.glancecdn.net/cobrowse/CobrowseJS.ashx?group=20280&site=${env}`,\r\n SCRIPT_LOAD_TYPE.Defer,\r\n [\r\n { name: 'id', value: 'cobrowsescript' },\r\n { name: 'charset', value: 'utf-8' },\r\n { name: 'data-site', value: env },\r\n { name: 'data-groupid', value: '20280' },\r\n { name: 'data-presence', value: 'on' }\r\n ]\r\n );\r\n }\r\n\r\n // TODO: Remove this after everything is validated\r\n productsResolver() {\r\n const stateParams = GET_URL_ALL_PARAMETERS();\r\n const productCodes = stateParams['products[]'];\r\n let vestingType = stateParams['vestingtype'] || 1;\r\n let advisorId = stateParams['advisorid'];\r\n const scId = stateParams['sc_id'];\r\n\r\n /*\r\n if (scId) {\r\n sitecoreVisitorProfileService.getProfile(scId, appConstants.env).then(function (result) {\r\n ngUserService.businessExistingCustomer(result).subscribe();\r\n });\r\n }\r\n */\r\n\r\n if (vestingType) {\r\n const vestingTypes = {\r\n individual: 1,\r\n joint: 2,\r\n minor: 3,\r\n trust: 4,\r\n teen: 5\r\n };\r\n vestingType = vestingTypes[vestingType] || 1;\r\n }\r\n this.store$.dispatch(new SetProductsSelectionAction(productCodes, vestingType, advisorId));\r\n }\r\n}\r\n","// Ng\r\nimport { Injectable, OnDestroy } from '@angular/core';\r\nimport {\r\n Router,\r\n ActivatedRoute,\r\n NavigationEnd,\r\n NavigationStart,\r\n} from '@angular/router';\r\n// RxJs\r\nimport { Subject, Observable, of } from 'rxjs';\r\nimport { filter, map, takeUntil, switchMap, first } from 'rxjs/operators';\r\n// Services\r\nimport { ApplicationFlowService } from 'services/http/application-flow.service';\r\n// Models\r\nimport {\r\n NAVIGATION_DIRECTION,\r\n FLOW_STEPS,\r\n APPLICANT_TYPE_NAME,\r\n APPLICATION_STATE,\r\n APPLICATION_DECISION_STATUS\r\n} from 'models/enums';\r\nimport { GET_FIRST_CHILD_ROUTE } from '../utils';\r\n// Routing\r\nimport { APPLICANT_INFORMATION_ROUTES, APPLICANT_INFORMATION_PARENT_PATH, APPLICANT_INFORMATION_FLOWS } from 'app/applicant-information/routing';\r\nimport { PRODUCTS_PARENT_PATH } from 'app/products/routing';\r\nimport { REVIEWSUBMIT_PARENT_ROUTE } from 'app/review-submit/route.constants';\r\nimport { DOCUMENTS_PARENT_ROUTE, DOCUMENTS_ROUTES } from 'app/documents/constants';\r\nimport { FEATURES_PARENT_PATH, FEATURES_ROUTES } from 'app/trading-features/routing/constants';\r\nimport { OUTCOME_PARENT_ROUTE, OUTCOME_ROUTES } from 'app/outcome/constants';\r\nimport { PROXY_PARENT_PATH, PROXY_ROUTES } from 'app/proxy/routing/constants/routes';\r\nimport { MANAGE_PORTFOLIO_PARENT_PATH, MANAGE_PORTFOLIO_ROUTES } from 'app/manage-portfolio/routing';\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store/states';\r\nimport { setWorkflowStep } from 'store/workflows/workflow.store';\r\n\r\ndeclare var environment;\r\n\r\ninterface AxosFlowStep {\r\n name: FLOW_STEPS;\r\n subWorkflowName: string;\r\n steps?: AxosFlowStep[];\r\n lastStep?: FLOW_STEPS;\r\n innerSteps?: any[];\r\n}\r\n\r\n// TODO: Not able to manage multiple levels\r\n@Injectable()\r\nexport class FlowNavigationService implements OnDestroy {\r\n\r\n private level = 0;\r\n private _index: number;\r\n private lastKnownState?: APPLICATION_STATE;\r\n private lastKnownDecisionStatus?: APPLICATION_DECISION_STATUS;\r\n private firstCheck = true;\r\n private unsubscribe$ = new Subject();\r\n flow: AxosFlowStep[] = [];\r\n currentFlow: AxosFlowStep[] = [];\r\n currentFlowName: string;\r\n innerIndex: number;\r\n isMP: boolean;\r\n get currentIndex() { return this._index; }\r\n get currentStep() { return this.currentFlow[this.currentIndex]; }\r\n\r\n direction: NAVIGATION_DIRECTION = NAVIGATION_DIRECTION.Foward;\r\n onStepsFinished: Subject = new Subject();\r\n onStepsMoved: Subject = new Subject();\r\n\r\n constructor(\r\n private router: Router,\r\n private appFlow: ApplicationFlowService,\r\n route: ActivatedRoute,\r\n private store: Store\r\n ) {\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe$.next();\r\n this.unsubscribe$.complete();\r\n }\r\n\r\n private isOutsideBounds(index: number, flow: AxosFlowStep[]) {\r\n return index >= flow.length || index < 0;\r\n }\r\n\r\n getStep(flow: AxosFlowStep[], stepName: FLOW_STEPS, flowName?: string): AxosFlowStep {\r\n const _idx = flow.findIndex(s => s.name === stepName);\r\n if(_idx < 0) {\r\n console.warn(`Step: ${stepName} is not part of ${flowName}`);\r\n return;\r\n }\r\n this._index = _idx;\r\n return flow[_idx];\r\n }\r\n\r\n hasSubFlow(flow: AxosFlowStep[], stepName: FLOW_STEPS): boolean {\r\n const step = this.getStep(flow, stepName);\r\n return !!step.subWorkflowName;\r\n }\r\n\r\n initialize(\r\n flow: AxosFlowStep[],\r\n applicationId: string,\r\n applicantType: APPLICANT_TYPE_NAME,\r\n initialStep?: FLOW_STEPS,\r\n state?: APPLICATION_STATE,\r\n decisionStatus?: APPLICATION_DECISION_STATUS) {\r\n if(!flow || !flow.length) {\r\n console.warn('Workflow is not valid');\r\n return;\r\n }\r\n this.lastKnownState = state;\r\n this.lastKnownDecisionStatus = decisionStatus;\r\n this.flow = this.currentFlow = flow;\r\n this.currentFlowName = '';\r\n this.setState(initialStep, applicationId, applicantType);\r\n }\r\n\r\n setState(stepName: FLOW_STEPS, applicationId: string, applicantType: APPLICANT_TYPE_NAME, navigate = true, flow = this.currentFlow) {\r\n if(navigate) {\r\n this.getLastStep(stepName, flow, applicationId, applicantType)\r\n .subscribe(step => this.navigateToStep(step));\r\n }\r\n }\r\n\r\n fetchSubFlow(step: AxosFlowStep, applicationId: string, applicantType = APPLICANT_TYPE_NAME.Primary): Observable {\r\n this.level += 1;\r\n return this.appFlow.getSubflow(step.subWorkflowName, applicationId, applicantType)\r\n .pipe(\r\n map(({ nextStep, lastStep, steps }) => {\r\n this.store.dispatch(setWorkflowStep({ step: nextStep, lastStep: lastStep}));\r\n return {\r\n ...step,\r\n lastStep: nextStep || lastStep,\r\n steps,\r\n }\r\n })\r\n );\r\n }\r\n\r\n navigateToStep(stepName: FLOW_STEPS) {\r\n if(stepName) {\r\n if(stepName === FLOW_STEPS.Complete && this.lastKnownState) {\r\n if (this.lastKnownState === 27) {\r\n // this.getStep(this.step)\r\n const prevStep = this.currentFlow[this.currentFlow.length - 2];\r\n this.navigateToStep(prevStep.name);\r\n return;\r\n }\r\n this.navigateToState(this.lastKnownState, this.lastKnownDecisionStatus);\r\n return;\r\n }\r\n this.navigate(this.getApplicationFlowRoute(stepName), `No Route Map to Step: ${stepName}`);\r\n } else {\r\n console.warn(`No Current Step`);\r\n }\r\n }\r\n\r\n navigateToState(state: APPLICATION_STATE, decisionStatus: APPLICATION_DECISION_STATUS) {\r\n this.lastKnownState = state;\r\n this.lastKnownDecisionStatus = decisionStatus;\r\n this.navigate(\r\n this.getApplicationStateRoute(state, decisionStatus),\r\n `No Route Map to State: ${state} && Decision: ${decisionStatus}`);\r\n }\r\n\r\n navigate(url: string, noUrlError = 'No Route to navigate to.') {\r\n if (this.firstCheck) {\r\n this.firstCheck = false;\r\n }\r\n if(!url) {\r\n console.warn(noUrlError);\r\n return;\r\n }\r\n console.log(`Navigating to: ${url}`);\r\n this.router.navigate([`./${url}`]);\r\n }\r\n\r\n getLastStep(\r\n stepName: FLOW_STEPS,\r\n flow: AxosFlowStep[],\r\n applicationId: string,\r\n applicantType: APPLICANT_TYPE_NAME,\r\n flowName?: string): Observable {\r\n let currentStep = stepName || flow[0].name;\r\n if(currentStep === FLOW_STEPS.NotStarted) {\r\n currentStep = flow[1].name;\r\n }\r\n if(currentStep === FLOW_STEPS.Complete) {\r\n return of(currentStep);\r\n }\r\n const step = this.getStep(flow, stepName);\r\n if(step.subWorkflowName) {\r\n return (step.steps ? of(step) : this.fetchSubFlow(step, applicationId, applicantType)).pipe(\r\n switchMap((step => {\r\n this.currentFlow = step.steps;\r\n this.currentFlowName = step.subWorkflowName;\r\n return this.getLastStep(step.lastStep, step.steps, applicationId, applicantType);\r\n }))\r\n );\r\n }\r\n return of(currentStep);\r\n }\r\n\r\n move(direction: NAVIGATION_DIRECTION = this.direction) {\r\n this.direction = direction;\r\n let newIndex = this._index + direction;\r\n\r\n if (this.isOutsideBounds(newIndex, this.currentFlow)) {\r\n this.onStepsFinished.next(this.direction);\r\n // this.resetNavigation();\r\n } else {\r\n let innerSteps = this.currentStep.innerSteps;\r\n if(innerSteps) {\r\n const newInnerIndex = this.innerIndex + direction;\r\n const isOutsideBounds = newInnerIndex >= -1 && newInnerIndex < innerSteps.length;\r\n if (isOutsideBounds) {\r\n this.innerIndex = newInnerIndex;\r\n const stepName = this.innerIndex == -1 ? this.currentStep.name : innerSteps[this.innerIndex].name;\r\n this.navigateToStep(stepName);\r\n return;\r\n }\r\n if(!isOutsideBounds) {\r\n if(newInnerIndex < -1){\r\n this.navigateToStep(this.currentFlow[newIndex].name);\r\n }\r\n else{\r\n this.onStepsFinished.next(NAVIGATION_DIRECTION.Foward);\r\n return;\r\n }\r\n }\r\n if (this.currentFlow[newIndex].innerSteps) {\r\n if (direction === NAVIGATION_DIRECTION.Foward) {\r\n this.innerIndex = -1;\r\n } else if (direction === NAVIGATION_DIRECTION.Back) {\r\n innerSteps = this.currentFlow[newIndex].innerSteps;\r\n this.innerIndex = innerSteps.length - 1;\r\n this._index = newIndex;\r\n this.navigateToStep(innerSteps[this.innerIndex].name);\r\n return;\r\n }\r\n }\r\n }\r\n this._index = newIndex;\r\n if(this.currentStep.name === FLOW_STEPS.NotStarted &&\r\n this.direction === NAVIGATION_DIRECTION.Back\r\n && this.level > 0) {\r\n // TODO: Manage levels\r\n newIndex = this.flow.findIndex(s => s.subWorkflowName === this.currentFlowName);\r\n this._index = newIndex;\r\n this.level -= 1;\r\n if(this.level === 0) {\r\n this.currentFlow = this.flow;\r\n }\r\n this.move();\r\n return;\r\n }\r\n this.navigateToStep(this.currentStep.name);\r\n }\r\n }\r\n\r\n moveNext() { this.move(NAVIGATION_DIRECTION.Foward); }\r\n moveCurrent() { this.move(NAVIGATION_DIRECTION.Current); }\r\n moveBack() { this.move(NAVIGATION_DIRECTION.Back); }\r\n\r\n private getPIPRoute(route: string): string {\r\n // TODO: Change Applicant Type\r\n return `${APPLICANT_INFORMATION_PARENT_PATH}/primary/${route}`;\r\n }\r\n\r\n private getManagePortfolioRoute() {\r\n // TODO:\r\n }\r\n\r\n getApplicationFlowRoute(state: FLOW_STEPS) {\r\n const stateRouteMap = {\r\n [FLOW_STEPS.AccountType]: PRODUCTS_PARENT_PATH,\r\n [FLOW_STEPS.AccountFeature]: FEATURES_PARENT_PATH,\r\n [FLOW_STEPS.OptionsLevel]: `${FEATURES_PARENT_PATH}/${FEATURES_ROUTES.OPTION_LEVELS.path}`,\r\n [FLOW_STEPS.PersonalInformation]: this.getPIPRoute(APPLICANT_INFORMATION_ROUTES.TRADING_PRIMARY),\r\n [FLOW_STEPS.AddressInformation]: this.getPIPRoute(APPLICANT_INFORMATION_ROUTES.HOME_MAILING_ADDRESS),\r\n [FLOW_STEPS.AdditionalOwnerInformation]: this.getPIPRoute(APPLICANT_INFORMATION_ROUTES.TRADING_ADDITIONAL_OWNER),\r\n [FLOW_STEPS.FinancialInformation]: this.getPIPRoute(APPLICANT_INFORMATION_ROUTES.FINANCIAL_INFORMATION),\r\n [FLOW_STEPS.InvestmentProfile]: this.getPIPRoute(APPLICANT_INFORMATION_ROUTES.INVESTMENT_PROFILE),\r\n [FLOW_STEPS.IdDetails1]: this.getPIPRoute(APPLICANT_INFORMATION_ROUTES.ID_DETAILS1),\r\n [FLOW_STEPS.IdDetails2]: this.getPIPRoute(APPLICANT_INFORMATION_ROUTES.ID_DETAILS2),\r\n // [FLOW_STEPS.TrustedContactProxy]: `${PROXY_PARENT_PATH}/${PROXY_ROUTES.CONTACT_INFO.path}`,\r\n [FLOW_STEPS.TrustedContactProxy]: environment.isProxy ? `${PROXY_PARENT_PATH}/${PROXY_ROUTES.CONTACT_INFO.path}` : this.getPIPRoute(PROXY_ROUTES.CONTACT_INFO.path),\r\n [FLOW_STEPS.Beneficiaries]: this.getPIPRoute(APPLICANT_INFORMATION_ROUTES.BENEFICIARIES),\r\n [FLOW_STEPS.ContingentBeneficiaries]: this.getPIPRoute(APPLICANT_INFORMATION_ROUTES.CONTINGENT_BENEFICIARIES),\r\n [FLOW_STEPS.TrustCertificate]: this.getPIPRoute(APPLICANT_INFORMATION_ROUTES.TRUST_CERTIFICATION),\r\n [FLOW_STEPS.ReviewAndSubmit]: REVIEWSUBMIT_PARENT_ROUTE,\r\n [FLOW_STEPS.DocumentsRequested]: `${DOCUMENTS_PARENT_ROUTE}/${DOCUMENTS_ROUTES.NEEDED}`,\r\n [FLOW_STEPS.WaitingForSecondary]: `${OUTCOME_PARENT_ROUTE}/${OUTCOME_ROUTES.PENDING_ADDITIONAL_OWNER}`,\r\n //Investment Goal sub flows\r\n [FLOW_STEPS.investmentGoal]: `${MANAGE_PORTFOLIO_PARENT_PATH}/${MANAGE_PORTFOLIO_ROUTES.INVESTMENT_GOALS}`,\r\n [FLOW_STEPS.accountSelection]: `${MANAGE_PORTFOLIO_PARENT_PATH}/${MANAGE_PORTFOLIO_ROUTES.RETIREMENT_ACCOUNT_TYPE}`,\r\n [FLOW_STEPS.timeHorizon]: `${MANAGE_PORTFOLIO_PARENT_PATH}/${MANAGE_PORTFOLIO_ROUTES.TIME_HORIZON}`,\r\n [FLOW_STEPS.investingHistory]: `${MANAGE_PORTFOLIO_PARENT_PATH}/${MANAGE_PORTFOLIO_ROUTES.INVESTING_HISTORY}`,\r\n [FLOW_STEPS.goalSelection]: `${MANAGE_PORTFOLIO_PARENT_PATH}/${MANAGE_PORTFOLIO_ROUTES.LARGE_PURCHASE}`,\r\n [FLOW_STEPS.riskQuestions]: `${MANAGE_PORTFOLIO_PARENT_PATH}/${MANAGE_PORTFOLIO_ROUTES.RISK_QUESTIONS}`,\r\n [FLOW_STEPS.recommendedPortfolio]: `${MANAGE_PORTFOLIO_PARENT_PATH}/${MANAGE_PORTFOLIO_ROUTES.RECOMMENDED}`,\r\n [FLOW_STEPS.portfolioReviewAndSubmit]: REVIEWSUBMIT_PARENT_ROUTE,\r\n };\r\n return stateRouteMap[state];\r\n }\r\n\r\n getDecisionRoute(decisionStatus: APPLICATION_DECISION_STATUS, firstCheck = true) {\r\n switch (decisionStatus) {\r\n case APPLICATION_DECISION_STATUS.AutoApproved:\r\n case APPLICATION_DECISION_STATUS.ManuallyApproved:\r\n case APPLICATION_DECISION_STATUS.ApprovedAutoPendingPrincipalReview:\r\n // return firstCheck ?\r\n // `${OUTCOME_PARENT_ROUTE}/${OUTCOME_ROUTES.BOARDING_IN_PROGRESS}` :\r\n // `${OUTCOME_PARENT_ROUTE}/${OUTCOME_ROUTES.APPROVED_FAILURE}`;\r\n return `${OUTCOME_PARENT_ROUTE}/${OUTCOME_ROUTES.BOARDING_IN_PROGRESS}`;\r\n case APPLICATION_DECISION_STATUS.AutoDeclined:\r\n case APPLICATION_DECISION_STATUS.ManuallyDeclined:\r\n return `${OUTCOME_PARENT_ROUTE}/${OUTCOME_ROUTES.DECLINED}`;\r\n case APPLICATION_DECISION_STATUS.InReview:\r\n return `${OUTCOME_PARENT_ROUTE}/${OUTCOME_ROUTES.INREVIEW}`;\r\n }\r\n return '';\r\n }\r\n\r\n getMP_DecisionRoute(decisionStatus: APPLICATION_DECISION_STATUS) {\r\n switch (decisionStatus) {\r\n case APPLICATION_DECISION_STATUS.AutoApproved:\r\n case APPLICATION_DECISION_STATUS.ManuallyApproved:\r\n case APPLICATION_DECISION_STATUS.ApprovedAutoPendingPrincipalReview:\r\n //return `${OUTCOME_PARENT_ROUTE}/t/approved`;\r\n return `${OUTCOME_PARENT_ROUTE}/${OUTCOME_ROUTES.BOARDING_IN_PROGRESS}`;\r\n case APPLICATION_DECISION_STATUS.AutoDeclined:\r\n case APPLICATION_DECISION_STATUS.ManuallyDeclined:\r\n return `${OUTCOME_PARENT_ROUTE}/t/declined`;\r\n case APPLICATION_DECISION_STATUS.InReview:\r\n return `${OUTCOME_PARENT_ROUTE}/t/inreview`;\r\n }\r\n return '';\r\n }\r\n\r\n getApplicationStateRoute(state: APPLICATION_STATE, decisionStatus: APPLICATION_DECISION_STATUS) {\r\n const decisionRoute = this.isMP ?\r\n this.getMP_DecisionRoute(decisionStatus) :\r\n this.getDecisionRoute(decisionStatus, this.firstCheck);\r\n switch(state) {\r\n case APPLICATION_STATE.Complete:\r\n return decisionRoute;\r\n case APPLICATION_STATE.DocumentsRequested:\r\n return `${DOCUMENTS_PARENT_ROUTE}/${DOCUMENTS_ROUTES.NEEDED}`;\r\n case APPLICATION_STATE.Submitted:\r\n case APPLICATION_STATE.RMNewApplications:\r\n case APPLICATION_STATE.PendingDocumentReview:\r\n case APPLICATION_STATE.PendingContactInfoReview:\r\n case APPLICATION_STATE.PendingApplicationReview:\r\n case APPLICATION_STATE.InReview:\r\n return this.isMP ? `${OUTCOME_PARENT_ROUTE}/t/inreview` : `${OUTCOME_PARENT_ROUTE}/${OUTCOME_ROUTES.INREVIEW}`;\r\n case APPLICATION_STATE.SystemError:\r\n case APPLICATION_STATE.AccountNumberError:\r\n return decisionRoute || 'systemError';\r\n }\r\n // Default Route\r\n /* if (this.firstCheck) {\r\n return 'systemError';\r\n } */\r\n }\r\n\r\n setSubWorkflow(workFlowName: string, steps: any[]) {\r\n const flow = this.currentFlow.find(x => x.name == workFlowName);\r\n flow.innerSteps = steps;\r\n this.innerIndex = -1;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, from } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class ImageProcessingService {\r\n private minimumImageSize: number = 450;\r\n private maximumDefaultImageSize: number = 1920;\r\n private defaultEncodingQuality: number = 70;\r\n private defaultMimeType: string = 'image/jpeg';\r\n\r\n constructor() { }\r\n\r\n public compressImageFile(sourceFile: File, maxSize: number = this.maximumDefaultImageSize, minSize: number = this.minimumImageSize, encodingQuality: number = this.defaultEncodingQuality): Observable {\r\n let compressedFile$ = from(this.getCompressedFile(sourceFile, maxSize, minSize, encodingQuality));\r\n return compressedFile$;\r\n }\r\n\r\n private getCompressedFile(sourceFile, maxSize: number, minSize: number, encodingQuality: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n let __this = this;\r\n let windowURL = window.URL || (window as any).webkitURL;\r\n let img = new Image();\r\n let canvas = document.createElement(\"canvas\");\r\n let canvasContext = canvas.getContext(\"2d\");\r\n if (windowURL) {\r\n let dataUrl = windowURL.createObjectURL(sourceFile);\r\n\r\n img.addEventListener('load', () => {\r\n windowURL.revokeObjectURL(dataUrl);\r\n\r\n let resizeResult = __this.resizeImageCanvas(canvas, img, maxSize, minSize);\r\n if (resizeResult == false) {\r\n reject(new Error(`Image too small; should be minimum ${minSize} pixels in height or width.`));\r\n }\r\n else {\r\n canvasContext.drawImage(img, 0, 0, canvas.width, canvas.height);\r\n let dataUrl = canvas.toDataURL(__this.defaultMimeType, (encodingQuality / 100));\r\n this.srcToFile(dataUrl, sourceFile.name, __this.defaultMimeType)\r\n .then((compressedFile: File) => {\r\n resolve(compressedFile);\r\n });\r\n\r\n //#region Research Notes\r\n /*\r\n 1. toBlob not supported on all browsers\r\n canvas.toBlob((blob) => {\r\n compressedFile = blob;\r\n }, \"image/jpeg\", (encodingQuality / 100));\r\n\r\n 2. we can get imageData as well:\r\n let newImageData = canvasContext.getImageData(0, 0, canvas.width, canvas.height);\r\n */\r\n //#endregion\r\n }\r\n });\r\n\r\n img.addEventListener('error', () => {\r\n //reject(new Error(`Failed to load image's URL`));\r\n resolve(sourceFile);\r\n });\r\n\r\n img.src = dataUrl;\r\n }\r\n else {\r\n resolve(sourceFile);\r\n }\r\n });\r\n }\r\n\r\n private resizeImageCanvas(canvas: HTMLCanvasElement, img: HTMLImageElement, maxDimension: number, minDimension: number) {\r\n let status = true;\r\n let imgMaxDimension = Math.max(img.width, img.height);\r\n\r\n if (typeof minDimension != \"undefined\" && minDimension > imgMaxDimension)\r\n return false;\r\n\r\n if (imgMaxDimension > maxDimension) {\r\n if (img.width > img.height) {\r\n let aspectRatio = img.width / img.height;\r\n canvas.width = maxDimension;\r\n canvas.height = canvas.width / aspectRatio;\r\n }\r\n else {\r\n let aspectRatio = img.height / img.width;\r\n canvas.height = maxDimension;\r\n canvas.width = canvas.height / aspectRatio;\r\n }\r\n console.log(\"Image exceeds \" + maxDimension + \"px | Resizing image to: \" + canvas.width + \" x \" + canvas.height);\r\n }\r\n else { canvas.width = img.width; canvas.height = img.height; }\r\n\r\n return status;\r\n }\r\n\r\n private srcToFile(src, fileName, mimeType) {\r\n return (fetch(src)\r\n .then(function (res) { return res.arrayBuffer(); })\r\n .then(function (buf) { return new File([buf], fileName, { type: mimeType }); })\r\n );\r\n }\r\n}\r\n","export * from './abstracts';\r\nexport * from './loading.service';\r\nexport * from './enrollment-initilizer.service';\r\nexport * from './flow-navigation.service';\r\nexport * from './downloadpdf.service';\r\nexport * from './image-processing.service';\r\nexport * from './browser-type.service';\r\nexport * from './state-route.service';\r\nexport * from './lazy-loading.service';\r\nexport * from './marketing.service';\r\nexport * from './utmCode.service';\r\nexport * from './progress.service';\r\n","import { Injectable, Inject, Renderer2, RendererFactory2 } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n// RxJs\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\n\r\nexport enum SCRIPT_LOAD_TYPE {\r\n None,\r\n Async,\r\n Defer\r\n}\r\n\r\n@Injectable()\r\nexport class LazyLoadingService {\r\n private renderer: Renderer2;\r\n private scripts$: { [url: string]: BehaviorSubject } = {};\r\n\r\n constructor(@Inject(DOCUMENT) private document: Document, rendererFactory: RendererFactory2) {\r\n this.renderer = rendererFactory.createRenderer(null, null);\r\n }\r\n\r\n loadStyles(url: string) {\r\n const style = this.renderer.createElement('link');\r\n this.renderer.setAttribute(style, 'rel', 'stylesheet');\r\n this.renderer.setAttribute(style, 'href', url);\r\n this.renderer.appendChild(this.document.head, style);\r\n }\r\n\r\n loadScript(\r\n url: string,\r\n loadType: SCRIPT_LOAD_TYPE = SCRIPT_LOAD_TYPE.None,\r\n attributes?: { name: string, value: string }[]\r\n ): Observable {\r\n if (this.scripts$[url]) {\r\n return this.scripts$[url].asObservable();\r\n }\r\n this.scripts$[url] = new BehaviorSubject(false);\r\n const script = this.renderer.createElement('script');\r\n this.renderer.setAttribute(script, 'type', 'text/javascript');\r\n if(loadType !== SCRIPT_LOAD_TYPE.None) {\r\n this.renderer.setAttribute(script, loadType === SCRIPT_LOAD_TYPE.Async ? 'async' : 'defer', '');\r\n }\r\n this.renderer.setAttribute(script, 'src', url);\r\n if (attributes) {\r\n attributes.forEach(attr => {\r\n this.renderer.setAttribute(script, attr.name, attr.value);\r\n });\r\n }\r\n this.renderer.listen(script, 'load', () => {\r\n this.scripts$[url].next(true);\r\n });\r\n this.renderer.appendChild(this.document.head, script);\r\n return this.scripts$[url].asObservable();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, NavigationEnd, NavigationStart, NavigationError, NavigationCancel } from '@angular/router';\r\n// RxJs\r\nimport { Subject, BehaviorSubject } from 'rxjs';\r\nimport { filter, delay } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class LoadingService {\r\n private _customTasksCount: number;\r\n private _requestStack: string[];\r\n private _inTransition: boolean;\r\n private delayRequest$ = new Subject();\r\n\r\n loading$: BehaviorSubject = new BehaviorSubject(true);\r\n get requestsInProgress(): boolean { return this._requestStack.length > 0; }\r\n get tasksInProgress(): boolean { return this._customTasksCount > 0; }\r\n get inTransition(): boolean { return this._inTransition; }\r\n\r\n constructor(router: Router) {\r\n this._requestStack = [];\r\n this._customTasksCount = 0;\r\n this._inTransition = false;\r\n // Listen for transtion end\r\n router.events.pipe(\r\n filter((event) => event instanceof NavigationEnd || event instanceof NavigationError || event instanceof NavigationCancel)\r\n ).subscribe(() => this.transition(false));\r\n // Listen for transtion start\r\n router.events.pipe(\r\n filter((event) => event instanceof NavigationStart)\r\n ).subscribe(() => this.transition(true));\r\n\r\n this.delayRequest$.pipe(delay(500))\r\n .subscribe(id => this.updateRequest(id, false));\r\n }\r\n\r\n private updateRequest(id: string, add: boolean) {\r\n const requestExist = this._requestStack.includes(id);\r\n if(add && !requestExist) {\r\n this._requestStack = [ ...this._requestStack, id ];\r\n }\r\n if(!add && requestExist) {\r\n this._requestStack = [ ...this._requestStack.filter(rId => rId !== id)];\r\n }\r\n this.onChange();\r\n }\r\n\r\n private updateTask(increase: number){\r\n this._customTasksCount = this._customTasksCount + increase;\r\n this.onChange();\r\n }\r\n\r\n private onChange() {\r\n const _loading = this.requestsInProgress || this.inTransition || this.tasksInProgress;\r\n if(_loading !== this.loading$.value) {\r\n this.loading$.next(_loading);\r\n }\r\n }\r\n\r\n private transition(start: boolean) {\r\n this._inTransition = start;\r\n // Resets any open task after transition\r\n if(this.inTransition && this.tasksInProgress) {\r\n this._customTasksCount = 0;\r\n }\r\n this.onChange();\r\n }\r\n\r\n requestStart(id) { this.updateRequest(id, true); }\r\n requestStop(id) { this.delayRequest$.next(id); }\r\n\r\n startTask() { this.updateTask(1); }\r\n endTask() { this.updateTask(-1); }\r\n}\r\n","declare var environment: any;\r\n// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { Router, ActivatedRoute, NavigationEnd, NavigationStart } from '@angular/router';\r\n// RxJs\r\nimport { filter, map, withLatestFrom } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { getPageTitle, getUserApplicationId, getMarketingSelectedProducts, getUserEmail } from 'store/selectors';\r\n\r\nimport { GET_FIRST_CHILD_ROUTE } from '../utils';\r\nimport { LazyLoadingService, SCRIPT_LOAD_TYPE } from './lazy-loading.service';\r\nimport { BRAND_ID } from 'models/enums';\r\nimport { ISimpleProduct } from 'models';\r\nimport { moveBack } from 'store/workflows';\r\n\r\n@Injectable()\r\nexport class MarketingService {\r\n // TODO: Get url from config\r\n private TealiumScripts = {\r\n prod: {\r\n axos: 'tags.tiqcdn.com/utag/bofi-bank/universalenrollment/prod/utag.js',\r\n nw: 'tags.tiqcdn.com/utag/bofi-bank/nationwide/prod/utag.js',\r\n ufb: 'tags.tiqcdn.com/utag/bofi-bank/ufbdirect/prod/utag.js',\r\n },\r\n qa: {\r\n axos: 'tags.tiqcdn.com/utag/bofi-bank/universalenrollment/qa/utag.js',\r\n nw: 'tags.tiqcdn.com/utag/bofi-bank/nationwide/qa/utag.js',\r\n ufb: 'tags.tiqcdn.com/utag/bofi-bank/ufbdirect/qa/utag.js',\r\n },\r\n dev: {\r\n axos: 'tags.tiqcdn.com/utag/bofi-bank/universalenrollment/dev/utag.js',\r\n nw: 'tags.tiqcdn.com/utag/bofi-bank/nationwide/dev/utag.js',\r\n ufb: 'tags.tiqcdn.com/utag/bofi-bank/ufbdirect/dev/utag.js',\r\n }\r\n }\r\n\r\n constructor(store$: Store,\r\n router: Router, activatedRoute: ActivatedRoute,\r\n private lazyLoadingService: LazyLoadingService) {\r\n const navigationEvents$ = router.events;\r\n\r\n const navigationEnd$ = navigationEvents$.pipe(\r\n filter((event) => event instanceof NavigationEnd),\r\n map(() => GET_FIRST_CHILD_ROUTE(activatedRoute))\r\n );\r\n const navigationStart$ = navigationEvents$.pipe(\r\n filter(event => event instanceof NavigationStart),\r\n );\r\n // TODO: Move into another service\r\n navigationStart$.pipe(\r\n filter((event: NavigationStart) => event.navigationTrigger === 'popstate')\r\n ).subscribe(() => {\r\n store$.dispatch(moveBack());\r\n });\r\n navigationEnd$.pipe(\r\n filter((route: ActivatedRoute) => route.outlet === 'primary'),\r\n withLatestFrom(\r\n store$.select(getPageTitle),\r\n store$.select(getUserApplicationId),\r\n store$.select(getMarketingSelectedProducts),\r\n store$.select(getUserEmail))\r\n ).subscribe(data => {\r\n const pageTitle = data[1];\r\n const appId = data[2];\r\n const products = data[3];\r\n const email = data[4];\r\n this.push(pageTitle, appId, products, email);\r\n });\r\n }\r\n\r\n private getTealiumURL() {\r\n // TODO: Get url from config\r\n const envScript = environment.production\r\n ? this.TealiumScripts.prod\r\n : (environment.env !== 'dev'\r\n ? this.TealiumScripts.qa\r\n : this.TealiumScripts.dev);\r\n switch(environment.brandId) {\r\n case BRAND_ID.NationWide:\r\n case BRAND_ID.NationWideBusinessBanking:\r\n return envScript['nw'];\r\n case BRAND_ID.UFBDirect:\r\n return envScript['ufb'];\r\n default:\r\n return envScript['axos'];\r\n }\r\n }\r\n\r\n loadMarketingScript() {\r\n if (environment.marketing) {\r\n window['utag_cfg_ovrd'] = { noview: true };\r\n this.lazyLoadingService.loadScript(`${window.location.protocol}//${this.getTealiumURL()}`, SCRIPT_LOAD_TYPE.Defer);\r\n }\r\n }\r\n\r\n push(title: string, applicationId: string, products: ISimpleProduct[], email: string): void {\r\n var dataLayer = window['dataLayer'];\r\n\r\n if (dataLayer) {\r\n dataLayer.push({\r\n event: \"virtualPageView\",\r\n virtualPage: window.location.href\r\n });\r\n }\r\n\r\n if (typeof window['utag'] !== \"undefined\") {\r\n try {\r\n var utag_data = {\r\n event_action: \"\",\r\n business_unit: \"\",\r\n gAds_conversionLabel: \"\",\r\n page_type: \"\",\r\n event_name: \"\",\r\n tealium_event: \"\",\r\n section_old: \"\",\r\n application_id: applicationId || \"\",\r\n product_category: \"\",\r\n product_name: \"\",\r\n section: window.location.pathname,\r\n previous_page_name: \"\",\r\n gAds_conversionId: \"\",\r\n enrollment_decision: \"\",\r\n is_conversion: \"\",\r\n raw_section: \"\",\r\n _pathname1: \"\",\r\n _pathname2: \"\",\r\n _pathname3: \"\",\r\n _pathname4: \"\",\r\n _pathname5: \"\",\r\n _pathname6: \"\",\r\n _pathname7: \"\",\r\n _pathname8: \"\",\r\n pathname_pageview: \"\",\r\n lAds_conversionId: \"\",\r\n triggerCrossDomain: \"\",\r\n udb_un: \"\",\r\n cifno: \"\",\r\n socialAction: \"\",\r\n socialNetwork: \"\",\r\n domain_pathname: \"\",\r\n socialTarget: \"\",\r\n em: email || '',\r\n hem: \"\",\r\n datetime_year_utc: \"\",\r\n datetime_month_utc: \"\",\r\n datetime_day_utc: \"\",\r\n datetime_day_string_utc: \"\",\r\n datetime_hour_utc: \"\",\r\n datetime_minute_utc: \"\",\r\n datetime_second_utc: \"\",\r\n datetime_epoch_utc: \"\",\r\n datetime_string_utc: \"\",\r\n datetime_randtemop_utc: \"\",\r\n datetime_randtetab_utc: \"\",\r\n enrollment_product: products ? products.map(p => p.displayName).join() : '',\r\n tealium_timestamp_local: \"\",\r\n tealium_random: \"\",\r\n ga_session_id: \"\",\r\n udb_section: \"\",\r\n ulp_section: \"\",\r\n ulp_application_id: \"\",\r\n udb_hash: \"\",\r\n enrollment_section: \"\",\r\n reddit_event: \"\",\r\n dmp_eventId: \"\",\r\n enrollment_productid: products ? products.map(p => p.productCode).join() : '',\r\n url: window.location.href,\r\n page: title || 'Enrollment',\r\n event_label : \"\",\r\n uid : \"\",\r\n Krux_user : \"\",\r\n Krux_segments : \"\",\r\n krux_id : \"\",\r\n krux_segments : \"\",\r\n fb_event_id_mortgagebot_application_submit : \"\",\r\n ea : \"\",\r\n product_id : \"\",\r\n ec : \"\",\r\n ev : \"\"\r\n }\r\n\r\n window['utag'].view(utag_data);\r\n } catch (error) {\r\n console.log(\"Oops! Tag tracking is not available.\");\r\n }\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { UpdateProgressAction } from 'store/actions';\r\n\r\n@Injectable()\r\nexport class ProgressService {\r\n\r\n constructor(private store$: Store) { }\r\n\r\n calculateProgress(completeValue: number, totalSteps: number, currentStep: number, totalSubSteps?: number, currentSubStep?: number) {\r\n const stepValue = completeValue / totalSteps;\r\n let progress = stepValue * currentStep;\r\n if(totalSubSteps) {\r\n const subStepValue = stepValue / totalSubSteps;\r\n const subProgress = subStepValue * currentSubStep;\r\n progress += subProgress;\r\n }\r\n return Math.floor(progress);\r\n }\r\n\r\n setProgress(prevProgress: number, value: number) {\r\n this.store$.dispatch(new UpdateProgressAction(prevProgress + value));\r\n }\r\n}\r\n","declare var environment: any;\r\n// Ng\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { DOCUMENT } from '@angular/common';\r\n// RxJs\r\nimport { tap, take, withLatestFrom } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState, SetApplicationStateAction, SetCurrentApplicantTypeAction, logAction } from 'store';\r\n// Routes\r\nimport { PRODUCTS_PARENT_PATH } from 'app/products/routing';\r\nimport { RULES_PARENT_ROUTE, RULES_ROUTES } from 'app/rules/constants';\r\nimport { OUTCOME_PARENT_ROUTE, OUTCOME_ROUTES } from 'app/outcome/constants';\r\nimport { DISCLOSURES_PARENT_PATH } from 'app/disclosures/routing';\r\nimport { BUSINESS_PARENT_PATH } from 'app/business-information/routing';\r\nimport { APPLICANT_INFORMATION_PARENT_PATH, APPLICANT_INFORMATION_ROUTES } from 'app/applicant-information/routing';\r\nimport { REVIEWSUBMIT_PARENT_ROUTE, REVIEWSUBMIT_ROUTE } from 'app/review-submit/route.constants';\r\n// Models\r\nimport { IApplication, ISimpleProduct } from 'models';\r\nimport {\r\n BRAND_CONTEXT,\r\n SOURCE_TYPES,\r\n APPLICANT_TYPE_NAME,\r\n APPLICANT_TYPE_TO_NAME,\r\n APPLICATION_DECISION_STATUS,\r\n} from 'models/enums';\r\nimport {\r\n APPLICATION_STATE,\r\n DMD_STATES,\r\n PIP_STATES,\r\n // PRIMARY_PIP_STATES,\r\n JOINT_PIP_STATES,\r\n TEEN_PIP_STATES,\r\n MINOR_PIP_STATES,\r\n TRUST_PIP_STATES,\r\n JOINT_PIP_TRADING_STATES,\r\n PRIMARY_PIP_TRADING_STATES,\r\n APPLICATION_STATUS\r\n} from 'models/enums/appliation';\r\n// Services\r\nimport { WebsiteService } from 'services/website.service';\r\n// Utils\r\nimport { IS_TEEN } from '../utils';\r\nimport { APPLICANT_TYPE_NAME_PARAM } from '../constants';\r\nimport { AUTH_PARENT_ROUTE, AUTH_ROUTES } from 'app/auth/constants';\r\nimport { DOCUMENTS_PARENT_ROUTE, DOCUMENTS_ROUTES } from 'app/documents/constants';\r\nimport { FEATURES_PARENT_PATH } from 'app/trading-features/routing/constants';\r\nimport { getApplicationId } from 'store/selectors';\r\nimport { APPLICATION_INFORMATION_SECTIONS } from 'app/review-submit/components/constants';\r\n\r\n@Injectable()\r\nexport class StateRouteService {\r\n isAxosUniversal: boolean = !!environment.isAxosUniversal;\r\n private firstCheck = true;\r\n private forceNavigation = false;\r\n private ignoreInFlightStates: APPLICATION_STATE[] = [\r\n APPLICATION_STATE.DocumentsRequested\r\n ]\r\n checkForInProgress = true;\r\n\r\n constructor(\r\n private store$: Store,\r\n private router: Router,\r\n private websiteService: WebsiteService,\r\n @Inject(DOCUMENT) private document: Document\r\n ) { }\r\n\r\n areProuctsSame(marketingProducts: ISimpleProduct[], appAccounts: { Id: number, ApplicationId: number, ProductCode: string }[]) {\r\n const appProducts = appAccounts.map(account => account.ProductCode).sort(),\r\n markProducts = marketingProducts.map(products => products.productCode).sort(),\r\n max = Math.max(appProducts.length, markProducts.length);\r\n for (let i = 0; i < max; i++) {\r\n const appProd = appProducts[i],\r\n markProd = markProducts[i],\r\n areSame = appProd === markProd;\r\n if (!areSame) { return false; }\r\n }\r\n return true;\r\n }\r\n\r\n correctRoute(application: IApplication,\r\n applicantType: APPLICANT_TYPE_NAME = APPLICANT_TYPE_NAME.Primary,\r\n marketingProducts: ISimpleProduct[],\r\n dmdEnabled: boolean) {\r\n if (this.forceNavigation) { return; }\r\n\r\n let url: string,\r\n actualStateId = application.stateId;\r\n\r\n if (this.firstCheck) {\r\n // if (actualStateId === APPLICATION_STATE.WaitingForCustomerToLiftFreeze) {\r\n // url = `${OUTCOME_PARENT_ROUTE}/${OUTCOME_ROUTES.RETRY}`;\r\n // } else\r\n if (this.isExpiredApplication(application)) {\r\n url = `${AUTH_PARENT_ROUTE}/${AUTH_ROUTES.EXPIREDAPPLICATION}`;\r\n } \r\n // else if (DMD_STATES.includes(actualStateId) && dmdEnabled) {\r\n // actualStateId = application.stateId = this.updateState(APPLICATION_STATE.VerifyYourIdentity, actualStateId);\r\n // }\r\n // if (!this.ignoreInFlightStates.includes(actualStateId) && !this.areProuctsSame(marketingProducts, application.Accounts)) {\r\n // url = `${AUTH_PARENT_ROUTE}/${AUTH_ROUTES.INPROGRESS}`;\r\n // this.forceNavigation = true;\r\n // }\r\n }\r\n\r\n //Check if User is InFlight\r\n if (this.checkForInProgress) {\r\n this.checkForInProgress = false;\r\n // if (this.isInFligh(application) && !this.areProuctsSame(marketingProducts, application.Accounts)) {\r\n // url = `${AUTH_PARENT_ROUTE}/${AUTH_ROUTES.INPROGRESS}`;\r\n // }\r\n }\r\n\r\n\r\n // if (actualStateId === APPLICATION_STATE.AccountType && IS_TEEN(application.typeId)) {\r\n // actualStateId = application.stateId = this.updateState(dmdEnabled\r\n // // typeid has to be enrollertypeid\r\n // && application.typeId !== SOURCE_TYPES.existingEnroller\r\n // ? APPLICATION_STATE.VerifyYourIdentity\r\n // : APPLICATION_STATE.PersonalInformation, actualStateId);\r\n // }\r\n\r\n // If DMD is disabled and Actual State is DMD\r\n if (DMD_STATES.includes(actualStateId) && !dmdEnabled) {\r\n if(!this.isAxosUniversal){\r\n //actualStateId = application.ApplicationState.ApplicationStateId = this.updateState(APPLICATION_STATE.reviewAndSubmit)\r\n actualStateId = application.stateId = this.updateState(APPLICATION_STATE.PersonalInformation, actualStateId);\r\n }\r\n }\r\n\r\n // Manage PIP States Routes\r\n if (PIP_STATES.includes(actualStateId) && !url) {\r\n const pipResult = this.getPIPStateRoute(application);\r\n if (applicantType !== pipResult.applicantType) {\r\n applicantType = pipResult.applicantType;\r\n this.store$.dispatch(new SetCurrentApplicantTypeAction(applicantType));\r\n }\r\n url = pipResult.url;\r\n }\r\n\r\n // If there is no URL get it from Application State\r\n if (!url) {\r\n url = this.getStateRoute(application, dmdEnabled\r\n && application.channelId !== SOURCE_TYPES.existingEnroller);\r\n }\r\n\r\n if (this.firstCheck) {\r\n this.firstCheck = false;\r\n }\r\n\r\n // If has URL navigate to it and replace params\r\n if (url) {\r\n const applicantName = applicantType;\r\n url = url.replace(`:${APPLICANT_TYPE_NAME_PARAM}`, applicantName);\r\n\r\n this.router.navigateByUrl(url)\r\n .then(() => {\r\n if (this.forceNavigation) {\r\n this.forceNavigation = false;\r\n }\r\n // console.log('Succesfully route to', url)\r\n })\r\n .catch((err) => {\r\n if (this.forceNavigation) {\r\n this.forceNavigation = false;\r\n }\r\n console.log('Error in route', url, err)\r\n });\r\n }\r\n }\r\n\r\n redirectToOnlineBanking() {\r\n return this.websiteService.getWebsite('OLB').pipe(\r\n withLatestFrom(this.store$.select(getApplicationId)),\r\n tap(data => {\r\n const website = data[0];\r\n const appId = data[1];\r\n this.store$.dispatch(logAction(`SSO to OLB, Applicationid: ${appId}`));\r\n this.document.location.href = website.site;\r\n })\r\n );\r\n }\r\n\r\n isInFligh(application: IApplication): boolean {\r\n const stateId = application.stateId,\r\n status = application.decisionStatus;\r\n const notInFlightStates: APPLICATION_STATE[] = [\r\n APPLICATION_STATE.DocumentsRequested,\r\n // APPLICATION_STATE.Cancelled,\r\n APPLICATION_STATE.Complete,\r\n // APPLICATION_STATE.ReferredFromAnotherBrand,\r\n APPLICATION_STATE.SystemError,\r\n // APPLICATION_STATE.AccountNumberError,\r\n ]\r\n // typeid has to be enrollertypeid\r\n return application.typeId !== SOURCE_TYPES.newEnroller &&\r\n !notInFlightStates.includes(stateId) &&\r\n status !== APPLICATION_DECISION_STATUS.Cancelled;\r\n }\r\n\r\n isExpiredApplication(application: IApplication): boolean {\r\n //TODO Include validations to trigger decline returning\r\n const stateId = application.stateId,\r\n status = application.decisionStatus;\r\n return (stateId === APPLICATION_STATE.Complete && \r\n (status === APPLICATION_DECISION_STATUS.AutoDeclined || status === APPLICATION_DECISION_STATUS.ManuallyDeclined)) ||\r\n status === APPLICATION_DECISION_STATUS.Cancelled;\r\n // ||\r\n // stateId === APPLICATION_STATE.Cancelled;\r\n }\r\n\r\n private updateState(stateId: APPLICATION_STATE, currentStateId?: APPLICATION_STATE) {\r\n if (stateId !== currentStateId) {\r\n this.store$.dispatch(new SetApplicationStateAction(stateId));\r\n }\r\n return stateId;\r\n }\r\n\r\n private getStateRoute(application: IApplication, showDMD = false) {\r\n const declinedURL = `${OUTCOME_PARENT_ROUTE}/${OUTCOME_ROUTES.DECLINED}`,\r\n approvedURL = `${OUTCOME_PARENT_ROUTE}/${OUTCOME_ROUTES.APPROVED}`,\r\n reviewURL = `${OUTCOME_PARENT_ROUTE}/${OUTCOME_ROUTES.INREVIEW}`;\r\n switch (application.stateId) {\r\n case APPLICATION_STATE.AccountType:\r\n if (IS_TEEN(application.typeId)) {\r\n return showDMD ? `id/verificationmethod/:${APPLICANT_TYPE_NAME_PARAM}` : `${APPLICANT_INFORMATION_PARENT_PATH}/:${APPLICANT_TYPE_NAME_PARAM}/${APPLICANT_INFORMATION_ROUTES.INFO}`;\r\n }\r\n return PRODUCTS_PARENT_PATH;\r\n // case APPLICATION_STATE.disclosures:\r\n // return DISCLOSURES_PARENT_PATH;\r\n // case APPLICATION_STATE.PersonalInformation:\r\n // return environment.brandContext === BRAND_CONTEXT.Business ?\r\n // BUSINESS_PARENT_PATH : APPLICANT_INFORMATION_PARENT_PATH;\r\n case APPLICATION_STATE.ReviewAndSubmit:\r\n if(application.status === APPLICATION_STATUS.SystemFailure){\r\n return 'systemError';\r\n }\r\n return REVIEWSUBMIT_PARENT_ROUTE;\r\n case APPLICATION_STATE.EditInformation:\r\n return 'reviewAndSubmit/edit';\r\n //case APPLICATION_STATE.KBAStillToBeAnswered:\r\n case APPLICATION_STATE.KBAToBeRequested:\r\n return `${RULES_PARENT_ROUTE}/${RULES_ROUTES.IDA_QUESTIONS}`;\r\n // case APPLICATION_STATE.PendingMitekUpload:\r\n // case APPLICATION_STATE.MitekUploadPage:\r\n // return `${RULES_PARENT_ROUTE}/${RULES_ROUTES.ID_UPLOAD}`;\r\n case APPLICATION_STATE.DocumentsRequested:\r\n return `${DOCUMENTS_PARENT_ROUTE}/${DOCUMENTS_ROUTES.NEEDED}`;\r\n // case APPLICATION_STATE.TaskListPreBoarding:\r\n // case APPLICATION_STATE.Funding:\r\n // case APPLICATION_STATE.PingsSent:\r\n return approvedURL;\r\n case APPLICATION_STATE.Complete:\r\n switch (application.decisionStatus) {\r\n case APPLICATION_DECISION_STATUS.AutoApproved:\r\n case APPLICATION_DECISION_STATUS.ManuallyApproved:\r\n case APPLICATION_DECISION_STATUS.ApprovedAutoPendingPrincipalReview:\r\n return this.firstCheck ? approvedURL : `${OUTCOME_PARENT_ROUTE}/${OUTCOME_ROUTES.APPROVED_FAILURE}`;\r\n case APPLICATION_DECISION_STATUS.AutoDeclined:\r\n case APPLICATION_DECISION_STATUS.ManuallyDeclined:\r\n return declinedURL;\r\n case APPLICATION_DECISION_STATUS.InReview:\r\n return reviewURL;\r\n }\r\n return 'Route Not Mapped';\r\n // case APPLICATION_STATE.ApprovedbyManager:\r\n // return `${OUTCOME_PARENT_ROUTE}/${OUTCOME_ROUTES.SUBMITTED}`;\r\n // DMD\r\n // case APPLICATION_STATE.VerifyYourIdentity:\r\n // return `id/verificationmethod/:${APPLICANT_TYPE_NAME_PARAM}`;\r\n // REVIEW\r\n case APPLICATION_STATE.Submitted:\r\n case APPLICATION_STATE.RMNewApplications:\r\n //case APPLICATION_STATE.PendingCompletionKBA:\r\n case APPLICATION_STATE.PendingDocumentReview:\r\n case APPLICATION_STATE.PendingContactInfoReview:\r\n case APPLICATION_STATE.PendingApplicationReview:\r\n case APPLICATION_STATE.InReview:\r\n return reviewURL;\r\n // case APPLICATION_STATE.PendingBankReview:\r\n case APPLICATION_STATE.WaitingforManagerApproval:\r\n case APPLICATION_STATE.PendingApplicationReviewRM:\r\n case APPLICATION_STATE.PendingApplicationReviewBSA:\r\n //case APPLICATION_STATE.ResponseNeededFromCustomer:\r\n //case APPLICATION_STATE.WaitingForCustomerToLiftFreeze:\r\n // case APPLICATION_STATE.PendingApplicationReviewManager:\r\n // if (application.ApplicationState.PriorApplicationStateId === application.ApplicationState.stateId &&\r\n // application.ApplicationState.stateId === APPLICATION_STATE.WaitingForCustomerToLiftFreeze) {\r\n // return `${OUTCOME_PARENT_ROUTE}/${OUTCOME_ROUTES.RETRY}`;\r\n // }\r\n // else {\r\n // return reviewURL;\r\n // }\r\n // case APPLICATION_STATE.TaskListPostBoarding:\r\n // this.redirectToOnlineBanking().subscribe();\r\n // return null;\r\n // System Error\r\n case APPLICATION_STATE.SystemError:\r\n case APPLICATION_STATE.AccountNumberError:\r\n return 'systemError';\r\n case APPLICATION_STATE.Boarding:\r\n case APPLICATION_STATE.DecisionComplete:\r\n //case APPLICATION_STATE.PendingBusinessOlbRegistration:\r\n return 'Route Not Mapped';\r\n // Trading\r\n case APPLICATION_STATE.AccountFeature:\r\n return FEATURES_PARENT_PATH;\r\n // case APPLICATION_STATE.PendingAdditionalOwnerSubmit:\r\n // return `${OUTCOME_PARENT_ROUTE}/${OUTCOME_ROUTES.PENDING_ADDITIONAL_OWNER}`;\r\n }\r\n }\r\n\r\n getPIPStateRoute(application: IApplication): { url: string, applicantType: APPLICANT_TYPE_NAME } {\r\n const stateId = application.stateId,\r\n applicantType = this.getPIPApplicantType(stateId);\r\n let path = this.getPIPPath(stateId);\r\n if (applicantType === APPLICANT_TYPE_NAME.Primary && application.typeId === SOURCE_TYPES.existingEnroller) {\r\n path = APPLICANT_INFORMATION_ROUTES.EXISTING;\r\n }\r\n return {\r\n url: `${APPLICANT_INFORMATION_PARENT_PATH}/:${APPLICANT_TYPE_NAME_PARAM}/${path}`,\r\n applicantType\r\n };\r\n }\r\n\r\n private getPIPApplicantType(stateId: APPLICATION_STATE): APPLICANT_TYPE_NAME {\r\n if (PRIMARY_PIP_TRADING_STATES.includes(stateId)) {\r\n return APPLICANT_TYPE_NAME.Primary;\r\n } else if (JOINT_PIP_STATES.includes(stateId) || JOINT_PIP_TRADING_STATES.includes(stateId)) {\r\n return APPLICANT_TYPE_NAME.Joint;\r\n } else if (TEEN_PIP_STATES.includes(stateId)) {\r\n return APPLICANT_TYPE_NAME.Teen;\r\n } else if (MINOR_PIP_STATES.includes(stateId)) {\r\n return APPLICANT_TYPE_NAME.Minor;\r\n } else if (TRUST_PIP_STATES.includes(stateId)) {\r\n return APPLICANT_TYPE_NAME.Trust;\r\n }\r\n return APPLICANT_TYPE_NAME.Primary;\r\n }\r\n\r\n private getPIPPath(stateId: APPLICATION_STATE): string {\r\n switch (stateId) {\r\n // case APPLICATION_STATE.PersonalInformationPrimary:\r\n // case APPLICATION_STATE.PersonalInformationJoint:\r\n // case APPLICATION_STATE.PersonalInformationTeen:\r\n // case APPLICATION_STATE.PersonalInformationMinor:\r\n // return APPLICANT_INFORMATION_ROUTES.INFO;\r\n // case APPLICATION_STATE.DobSSNInfoPrimary:\r\n // case APPLICATION_STATE.DobSSNInfoJoint:\r\n // case APPLICATION_STATE.DobSSNInfoTeen:\r\n // case APPLICATION_STATE.DobSSNInfoMinor:\r\n // return APPLICANT_INFORMATION_ROUTES.DOB;\r\n // case APPLICATION_STATE.ContactInformationJoint:\r\n // case APPLICATION_STATE.ContactInformationTeen:\r\n // return APPLICANT_INFORMATION_ROUTES.CONTACT_INFO;\r\n // case APPLICATION_STATE.HomeAddressInfoPrimary:\r\n // case APPLICATION_STATE.HomeAddressInfoJoint:\r\n // case APPLICATION_STATE.HomeAddressInfoTeen:\r\n // case APPLICATION_STATE.HomeAddressInfoMinor:\r\n // return APPLICANT_INFORMATION_ROUTES.HOME_ADDRESS;\r\n // case APPLICATION_STATE.HomeAddressQuestionJoint:\r\n // case APPLICATION_STATE.HomeAddressQuestionTeen:\r\n // case APPLICATION_STATE.HomeAddressQuestionMinor:\r\n // return APPLICANT_INFORMATION_ROUTES.HOME_ADDRESS_SAME_AS_PRIMARY;\r\n // case APPLICATION_STATE.MailingAddressInfoPrimary:\r\n // case APPLICATION_STATE.MailingAddressInfoJoint:\r\n // case APPLICATION_STATE.MailingAddressInfoTeen:\r\n // return APPLICANT_INFORMATION_ROUTES.MAILING_ADDRESS;\r\n // case APPLICATION_STATE.MailingAddressQuestionPrimary:\r\n // case APPLICATION_STATE.MailingAddressQuestionJoint:\r\n // case APPLICATION_STATE.MailingAddressQuestionTeen:\r\n // return APPLICANT_INFORMATION_ROUTES.MAILING_ADDRESS_SELECTION;\r\n // case APPLICATION_STATE.IdTypeSelectionManualPrimary:\r\n // case APPLICATION_STATE.IdTypeSelectionManualJoint:\r\n // return APPLICANT_INFORMATION_ROUTES.ID_SELECTION;\r\n // case APPLICATION_STATE.IdInformationPrimary:\r\n // case APPLICATION_STATE.IdInfoJoint:\r\n // return APPLICANT_INFORMATION_ROUTES.ID_INFORMATION;\r\n // case APPLICATION_STATE.IdAddressInfoPrimary:\r\n // case APPLICATION_STATE.IdAddressInfoJoint:\r\n // return APPLICANT_INFORMATION_ROUTES.ID_ADDRESS;\r\n // case APPLICATION_STATE.IdAddressQuestionPrimary:\r\n // case APPLICATION_STATE.IdAddressQuestionJoint:\r\n // return APPLICANT_INFORMATION_ROUTES.ID_ADDRESS_SELECTION;\r\n // case APPLICATION_STATE.TrustInfo:\r\n // return APPLICANT_INFORMATION_ROUTES.TRUST_CERTIFICATION;\r\n case APPLICATION_STATE.FinancialInformation:\r\n return APPLICANT_INFORMATION_ROUTES.FINANCIAL_INFORMATION;\r\n case APPLICATION_STATE.PersonalInformation:\r\n case APPLICATION_STATE.JointPersonalInformation:\r\n return APPLICANT_INFORMATION_ROUTES.TRADING_PRIMARY;\r\n case APPLICATION_STATE.InvestmentProfile:\r\n return APPLICANT_INFORMATION_ROUTES.INVESTMENT_PROFILE;\r\n case APPLICATION_STATE.Beneficiaries:\r\n return APPLICANT_INFORMATION_ROUTES.BENEFICIARIES;\r\n case APPLICATION_STATE.ContingentBeneficiaries:\r\n return APPLICANT_INFORMATION_ROUTES.CONTINGENT_BENEFICIARIES;\r\n case APPLICATION_STATE.AddressInformation:\r\n return APPLICANT_INFORMATION_ROUTES.HOME_MAILING_ADDRESS\r\n case APPLICATION_STATE.AdditionalOwner:\r\n return APPLICANT_INFORMATION_ROUTES.TRADING_ADDITIONAL_OWNER;\r\n // No state for this routes\r\n /* case 9999:\r\n return APPLICANT_INFORMATION_ROUTES.HOME_ADDRESS_SAME_AS_ID;\r\n case 99999:\r\n return APPLICANT_INFORMATION_ROUTES.MITEK;\r\n case 999999:\r\n return APPLICANT_INFORMATION_ROUTES.ENTRY_METHOD;\r\n case 9999999:\r\n return APPLICANT_INFORMATION_ROUTES.ID_UPLOAD_PASSPORT;\r\n case 99999999:\r\n return APPLICANT_INFORMATION_ROUTES.ID_UPLOAD; */\r\n }\r\n return APPLICANT_INFORMATION_ROUTES.INFO;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n// Utils\r\nimport { GET_URL_ALL_PARAMETERS, OBJECT_TO_ARRAY, GET_QUERY_PARAM } from 'app/core/utils';\r\n\r\nimport { CacheService } from './abstracts';\r\n\r\n@Injectable()\r\nexport class UtmCodeService extends CacheService {\r\n utmProperties = [\r\n 'utm_campaign',\r\n 'utm_medium',\r\n 'utm_source',\r\n 'utm_content',\r\n 'utm_term',\r\n 'utm_promocode',\r\n 'experience_id',\r\n 'hem',\r\n 'identity',\r\n 'siteID',\r\n 'ranMID',\r\n 'ranEAID',\r\n 'ranSiteID',\r\n 'gclid',\r\n 'fbclid',\r\n 'msclkid'\r\n ];\r\n\r\n get() { return this.getCached('UTM'); }\r\n\r\n getUTMCampaignCodes() {\r\n const cached = this.get() || [];\r\n const codes = cached.filter(param => this.utmProperties.some(x => x.toLowerCase() == param.code.toLowerCase()));\r\n return codes || [];\r\n }\r\n\r\n set() {\r\n const params = OBJECT_TO_ARRAY(GET_URL_ALL_PARAMETERS(false));\r\n // Condition for avoid save guid param instead products when refresh the browser\r\n if (params.length > 0 && !GET_QUERY_PARAM('guid')) {\r\n const tracking = params.map(param => {\r\n return { code: param.key, value: param.value.toString() }\r\n });\r\n return this.setCache(tracking, 'UTM');\r\n }\r\n }\r\n}\r\n","import { Address, Applicant, RecommendedAddress } from 'models';\r\nimport { ADDRESS_TYPE, ADDRESS_TYPE_NAME } from 'models/enums';\r\nimport { ContactInformation } from 'models/proxy';\r\n\r\nexport const EMPTY_ADDRESS: Address = {\r\n AddressId: 0,\r\n applicantId: '',\r\n addressType: ADDRESS_TYPE_NAME.Current,\r\n street: '',\r\n street2: '',\r\n city: '',\r\n state: '',\r\n country: '',\r\n zip: '',\r\n zipPlus4: ''\r\n}\r\n\r\nexport function IS_SAME_ADDRESS(address1: Address, address2: Address) {\r\n return address1.street === address2.street &&\r\n address1.street2 === address2.street2 &&\r\n address1.city === address2.city &&\r\n address1.state === address2.state &&\r\n address1.country === address2.country &&\r\n address1.zip === address2.zip;\r\n}\r\n\r\nexport function GET_ADDRESS_BY_TYPE(applicant: Applicant, addressType: ADDRESS_TYPE_NAME) {\r\n if (applicant) {\r\n const address = applicant.addresses.find(address => address.addressType === addressType);\r\n return address ? address : { ...EMPTY_ADDRESS };\r\n }\r\n return { ...EMPTY_ADDRESS };\r\n}\r\n\r\nexport function SET_ADDRESS_BY_TYPE(addressInfoes: Address[], newAddress: Address, AddressTypeId: ADDRESS_TYPE_NAME) {\r\n return [\r\n ...addressInfoes.filter(address => address.addressType !== AddressTypeId),\r\n { ...EMPTY_ADDRESS, ...newAddress, addressType: AddressTypeId }\r\n ];\r\n}\r\nexport function GET_RECOMMEND_ADDRESS_BY_TYPE(applicant: any) {\r\n if (applicant) {\r\n const address = applicant.recommend;\r\n return address ? address : { ...EMPTY_ADDRESS };\r\n }\r\n return { ...EMPTY_ADDRESS };\r\n}\r\nexport function SET_RECOMMEND_ADDRESS_BY_TYPE(addressInfoes: RecommendedAddress[], newAddress: RecommendedAddress) {\r\n\r\n return newAddress;\r\n}\r\n\r\nexport function zipLeadingZeros(number: Number) {\r\n if(number['length'] > 5){\r\n return number;\r\n }else{\r\n return (\"0000000\" + number).slice(-5);\r\n }\r\n \r\n}\r\n\r\nexport function GET_TRUSTED_CONTACT_ADDRESS_BY_TYPE(trustedContact: ContactInformation) {\r\n if (trustedContact) {\r\n const address = trustedContact.addresses[0];\r\n return address ? address : { ...EMPTY_ADDRESS };\r\n }\r\n return { ...EMPTY_ADDRESS };\r\n}\r\n","declare var environment: any;\r\n\r\n\r\nimport { Applicant } from 'models';\r\nimport {\r\n APPLICANT_TYPE_NAME,\r\n VESTING_TYPE_ID,\r\n BRAND_CONTEXT\r\n} from 'models/enums';\r\n\r\nexport function GET_APPLICANT_TITLE(\r\n vestingTypeID: VESTING_TYPE_ID,\r\n applicant: Applicant,\r\n ignoreTeenOrMinor = false,\r\n possessive = false,\r\n prefix = false,\r\n yourself = false\r\n) {\r\n if (possessive) { prefix = true; }\r\n if (applicant.type === APPLICANT_TYPE_NAME.Primary && yourself) {\r\n return 'yourself';\r\n }\r\n return `${prefix ? 'the' : ''} ${GET_APPLICANT_TYPE_NAME(vestingTypeID, applicant, ignoreTeenOrMinor)}${!!environment.isAxosUniversal ? '' : ` applicant${possessive ? '’s' : ''}`}`;\r\n}\r\n\r\nexport function IS_BUSINESS() { return environment.brandContext === BRAND_CONTEXT.Business; }\r\n\r\nexport function GET_APPLICANT_TYPE_NAME(vestingTypeID: VESTING_TYPE_ID, applicant: Applicant, ignoreTeenOrMinor = false) {\r\n switch (vestingTypeID) {\r\n case VESTING_TYPE_ID.Trust:\r\n switch (applicant.type) {\r\n case APPLICANT_TYPE_NAME.Primary:\r\n return !!environment.isAxosUniversal ? 'primary' : 'trustee 1';\r\n case APPLICANT_TYPE_NAME.Joint:\r\n return !!environment.isAxosUniversal ? 'Trustee #2' : 'trustee 2';\r\n }\r\n case VESTING_TYPE_ID.Joint:\r\n if (!!environment.isAxosUniversal && applicant.type == APPLICANT_TYPE_NAME.Joint) {\r\n return applicant.type.toLowerCase() + ' applicant';\r\n }\r\n break;\r\n case VESTING_TYPE_ID.Teen:\r\n case VESTING_TYPE_ID.UTMA:\r\n if (applicant.type === APPLICANT_TYPE_NAME.Primary && !ignoreTeenOrMinor) {\r\n return 'parent / guardian';\r\n }\r\n }\r\n\r\n if (IS_BUSINESS() && applicant.type === APPLICANT_TYPE_NAME.Primary) { return 'owner'; }\r\n\r\n return applicant.type.toLowerCase();\r\n}\r\n\r\nexport function IS_TEEN_OR_MINOR(vestingTypeId: VESTING_TYPE_ID) {\r\n return vestingTypeId === VESTING_TYPE_ID.UTMA || vestingTypeId === VESTING_TYPE_ID.Teen;\r\n}\r\n\r\nexport function IS_TEEN(vestingTypeId: VESTING_TYPE_ID) {\r\n return vestingTypeId === VESTING_TYPE_ID.Teen;\r\n}\r\n\r\nexport function IS_TRUST(vestingTypeId: VESTING_TYPE_ID) {\r\n return vestingTypeId === VESTING_TYPE_ID.Trust;\r\n}\r\n\r\nexport function GET_APPLICANT_POSSESSIVE(vestingTypeID: VESTING_TYPE_ID, applicant: Applicant): { title: string, pronoun: string } {\r\n if (applicant) {\r\n if (applicant.type === APPLICANT_TYPE_NAME.Primary && !IS_TEEN_OR_MINOR(vestingTypeID)) {\r\n return { title: 'your', pronoun: 'your' };\r\n } else {\r\n return { title: GET_APPLICANT_TITLE(vestingTypeID, applicant, true, true), pronoun: 'their' };\r\n }\r\n } else {\r\n return { title: '', pronoun: '' };\r\n }\r\n}\r\n","export function getRandomElement(options: any[]) {\r\n return options[Math.floor(Math.random() * options.length)];\r\n}\r\n","import { BRAND_ID } from 'models/enums';\r\n\r\ndeclare var environment: any;\r\n\r\nexport function GET_BRAND_TITLE(): string {\r\n return 'Enrollment';\r\n}\r\n","import { DECLINED_TRUST, IS_VALIDATED, PHONE_NUMBER, PROXY_APPLICATION_ID, TOKEN_STORAGE_NAME, UTM_STORAGE_NAME } from \"app/auth/constants\";\r\n\r\nexport function GET_CACHE(storage_name: string) {\r\n let store = localStorage.getItem(storage_name);\r\n if(!store) { store = sessionStorage.getItem(storage_name); }\r\n return store ? JSON.parse(store): null;\r\n}\r\n\r\nexport function SET_CACHE(value: any, storage_name: string, temp = false) {\r\n if(value) {\r\n const valueString = JSON.stringify(value);\r\n temp ? sessionStorage.setItem(storage_name, valueString) : localStorage.setItem(storage_name, valueString);\r\n } else {\r\n temp ? sessionStorage.removeItem(storage_name) : localStorage.removeItem(storage_name);\r\n }\r\n}\r\n\r\nexport function CLEAR_CACHE(){\r\n localStorage.removeItem(UTM_STORAGE_NAME);\r\n localStorage.removeItem(TOKEN_STORAGE_NAME);\r\n sessionStorage.removeItem(UTM_STORAGE_NAME);\r\n sessionStorage.removeItem(TOKEN_STORAGE_NAME);\r\n localStorage.removeItem(DECLINED_TRUST);\r\n localStorage.removeItem(PROXY_APPLICATION_ID);\r\n localStorage.removeItem(PHONE_NUMBER);\r\n localStorage.removeItem(IS_VALIDATED);\r\n}","export * from './applicant-tittle';\r\nexport * from './url-parameters';\r\nexport * from './keys-arrays';\r\nexport * from './routes';\r\nexport * from './cache';\r\nexport * from './address';\r\nexport * from './phone';\r\nexport * from './uuid';\r\nexport * from './brand-title';\r\nexport * from './arrays';\r\n","// This method retrive object with key and value\r\nexport function OBJECT_TO_ARRAY(object: any) {\r\n return Object.keys(object).map(key => {\r\n return { key, value: object[key] }\r\n })\r\n}\r\n\r\n// This method only retrive values\r\nexport function OBJECT_TO_SINGLE_ARRAY(object: any) {\r\n return Object.keys(object).map(key => {\r\n return object[key]\r\n })\r\n}\r\n\r\n// This method only retrive values\r\nexport function OBJECT_TO_ARRAY_TYPE(object: any): T[] {\r\n return Object.keys(object).map(key => {\r\n return object[key];\r\n });\r\n}\r\n\r\nexport function GET_VALUES_FROM_CATALOG(object: any): any {\r\n return Object.entries(object).reduce((acc, item: [string, any]) => {\r\n acc[item[0]] = item[1].name === 'none' ? '' : item[1].name ;\r\n return acc;\r\n }, {});\r\n}","import { PHONE_TYPE, PHONE_TYPE_UNIVERSAL } from 'models/enums';\r\nimport { Applicant, PhoneNumber } from 'models';\r\n\r\nexport const EMPTY_PHONE: PhoneNumber = {\r\n PhoneTypeId: PHONE_TYPE.Cell,\r\n ApplicantId: 0,\r\n PhoneNumber: '',\r\n PhoneExtension: '',\r\n}\r\n\r\nexport function GET_PHONE_BY_TYPE(applicant: Applicant, phoneTypeName: PHONE_TYPE_UNIVERSAL) {\r\n const phone = applicant.phones.find(phone => phone.phoneType == phoneTypeName);\r\n return phone ? phone : { ...EMPTY_PHONE };\r\n}\r\n\r\nexport function SET_PHONE_BY_TYPE(phoneNumbers: PhoneNumber[], newPhone: PhoneNumber | any, PhoneTypeId: PHONE_TYPE_UNIVERSAL) {\r\n return [\r\n ...phoneNumbers.filter(phone => phone.phoneType !== PhoneTypeId),\r\n { ...EMPTY_PHONE, ...newPhone, PhoneTypeId }\r\n ];\r\n}\r\n","import { ActivatedRoute } from '@angular/router';\r\n\r\nexport function GET_FIRST_CHILD_ROUTE(route: ActivatedRoute): ActivatedRoute {\r\n while (route.firstChild) route = route.firstChild;\r\n return route;\r\n}","export const GET_URL_ENV = () => {\r\n return GET_ENV_BASE_URL(window.location.hostname);\r\n};\r\n\r\nexport const GET_URL_ALL_PARAMETERS = (lowerCaseParamName: boolean = true) => {\r\n const qryStr = window.location.search;\r\n return !!qryStr ? QUERY_STRING_TO_ARRAY(qryStr, lowerCaseParamName) : {};\r\n};\r\n\r\nexport const GET_QUERY_PARAM = (paramName: string) => {\r\n const qryStr = window.location.search;\r\n return !!qryStr ? FIND_QUERY_PARAM(qryStr, paramName) : null;\r\n};\r\n\r\nexport const QUERY_STRING_TO_ARRAY = (queryString: string, lowerCaseParamName: boolean = true): { [key: string]: any } => {\r\n queryString = decodeURIComponent(queryString.substr(1).replace(/\\+/g, ' '));\r\n const params = {}, prmarr = queryString.split('&');\r\n\r\n prmarr.forEach(paramStr => {\r\n const tmpArr = paramStr.split('='),\r\n value = tmpArr[1],\r\n name = lowerCaseParamName ? tmpArr[0].toLowerCase() : tmpArr[0];\r\n let param = params[name];\r\n if (param) {\r\n if (!Array.isArray(param)) { param = [param] };\r\n params[name] = [...param, value];\r\n } else { params[name] = value; }\r\n });\r\n return params;\r\n}\r\n\r\nexport const FIND_QUERY_PARAM = (queryString: string, paramName: string) => {\r\n paramName = paramName.toLowerCase();\r\n const params = QUERY_STRING_TO_ARRAY(queryString),\r\n param = params[paramName];\r\n return param ? param : '';\r\n}\r\n\r\nexport const GET_ENV_BASE_URL = (host: string) => {\r\n const envs = ['dev', 'qa', 'uat', 'stg'];\r\n if (host === 'localhost') { return 'local'; }\r\n const parts = host.split('.');\r\n const env = parts.find(part => envs.includes(part));\r\n return env ? env.toLowerCase() : '';\r\n}\r\n\r\n/*\r\nexport const GET_URL_PARAMETER = (name: String) => {\r\n name = name.toLocaleLowerCase();\r\n name = name.replace(/[\\[]/, '\\\\[').replace(/[\\]]/, '\\\\]');\r\n const regex = new RegExp('[\\\\?&]' + name + '=([^&#]*)');\r\n const url = window.location.search.toLocaleLowerCase();\r\n const results = regex.exec(url);\r\n return results === null ? '' : decodeURIComponent(results[1].replace(/\\+/g, ' '));\r\n};\r\n*/\r\n","export function CREATE_UUID(){\r\n var dt = new Date().getTime();\r\n var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\r\n var r = (dt + Math.random()*16)%16 | 0;\r\n dt = Math.floor(dt/16);\r\n return (c=='x' ? r :(r&0x3|0x8)).toString(16);\r\n });\r\n return uuid;\r\n}\r\n","export const DISCLOSURE_NAMES: { [key: string]: string } = {\r\n E_AGREEMENT: 'AxosInvestElectronicAgreement',\r\n TIN_CERTIFICATION: 'TaxpayerIdentificationNumberCertification',\r\n COMMUNICATIONS_OPT_IN: 'CommunicationsOptIn'\r\n}\r\n","import { DisclosureList } from 'models/disclosures';\r\n\r\nconst consumerDepositAgreement = {\r\n id: 1,\r\n name: 'DepositAccountAgreement',\r\n title: 'Personal Deposit Account Agreement',\r\n subtitle: 'This document contains the business banking deposit account terms.',\r\n content: '',\r\n class: 'deposit',\r\n htmlUrl: 'depositaccountandolbfinal.html',\r\n htmlTemplate: '',\r\n pdf: 'depositaccountandolbfinal.pdf',\r\n template: '',\r\n isAccepted: false,\r\n};\r\n\r\nconst businessDepositAgreement = {\r\n id: 1,\r\n name: 'BusinessDepositAccountAgreement',\r\n title: 'Deposit Account Agreement',\r\n subtitle: 'This document contains the business banking deposit account terms.',\r\n content: '',\r\n class: 'deposit',\r\n htmlUrl: 'depositaccount-sb.html',\r\n htmlTemplate: '',\r\n pdf: 'businessdepositaccount.pdf',\r\n template: '',\r\n isAccepted: false,\r\n};\r\n\r\nconst privacyPolicy = {\r\n id: 2,\r\n name: 'PrivacPolicy',\r\n title: 'Privacy Policy',\r\n subtitle: 'Describes our Privacy practices and options to opt out of information sharing',\r\n content: '',\r\n class: 'privacy',\r\n htmlUrl: 'privacynoticeaxos.html',\r\n htmlTemplate: '',\r\n pdf: 'privacynoticeaxos.pdf',\r\n template: '',\r\n isAccepted: false,\r\n};\r\n\r\nconst eDisclosure = {\r\n id: 3,\r\n name: 'PaperlessAgreement',\r\n title: 'Paperless Agreement',\r\n subtitle: 'Describes our Privacy practices and options to opt out of information sharing',\r\n content: '',\r\n class: 'disclosure',\r\n htmlUrl: 'edisclosurestatement.html',\r\n htmlTemplate: '',\r\n pdf: 'edisclosurestatement.pdf',\r\n template: '',\r\n isAccepted: false,\r\n};\r\n\r\n\r\nexport const CONSUMER_DISCLOSURE_LIST: DisclosureList = {\r\n id: 1,\r\n allDisclosuresAccepted: false,\r\n doNotShareCreditPersonalInfo: false,\r\n doNotMarketPersonalInfo: false,\r\n doNotSharePersonalInfoNonAffiliates: false,\r\n disclosure: [\r\n consumerDepositAgreement,\r\n privacyPolicy,\r\n eDisclosure\r\n ]\r\n}\r\n\r\nexport const BUSINESS_DISCLOSURE_LIST: DisclosureList = {\r\n id: 1,\r\n allDisclosuresAccepted: false,\r\n doNotShareCreditPersonalInfo: false,\r\n doNotMarketPersonalInfo: false,\r\n doNotSharePersonalInfoNonAffiliates: false,\r\n disclosure: [\r\n businessDepositAgreement,\r\n privacyPolicy,\r\n eDisclosure\r\n ]\r\n}\r\n","export * from './disclosure-mock';","export * from './route.constants';","export const DISCLOSURES_PARENT_PATH = 'disclosures';\r\nexport const CONFIRM_DISCLOSURES = 'confirm/:guid';","export * from './constants';","export * from './route-names';","export const DOCUMENTS_PARENT_ROUTE = 'documents';\r\n\r\nexport const DOCUMENTS_ROUTES = {\r\n NEEDED: 'needed',\r\n UNDER_REVIEW: 'review'\r\n}\r\n","export * from './constants';\r\nexport * from './models';\r\nexport * from './services';","import { Injectable } from '@angular/core';\r\n\r\nimport { BaseService } from 'services';\r\nimport { DocumentRequest } from '../models';\r\nimport { AxosResult } from 'models/enums/trading';\r\nimport { map } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class DocumentRequestService extends BaseService {\r\n getRequestedDocuments(applicationId: any): Observable {\r\n return this._get>(`applicantdocument/requested/${applicationId}`).pipe(map(res => {\r\n return res.data;\r\n }));\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class FileProcessingService {\r\n\r\n getBase64(file) {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => {\r\n let base64 = reader.result;\r\n base64 = base64.split('base64,')[1];\r\n resolve(base64)\r\n };\r\n reader.onerror = error => reject(error);\r\n });\r\n }\r\n\r\n base64ToBufferteArray(base64: string) {\r\n const binary_string = window.atob(base64);\r\n const len = binary_string.length;\r\n const bytes = [];\r\n for (let i = 0; i < len; i++) {\r\n bytes.push( binary_string.charCodeAt(i));\r\n }\r\n return bytes; \r\n }\r\n\r\n getArrayBuffer(file) {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsArrayBuffer(file);\r\n reader.onload = () => {\r\n const array = new Uint8Array(reader.result);\r\n resolve(array);\r\n }\r\n reader.onerror = error => reject(error);\r\n });\r\n }\r\n}","export * from './upload-document.service';\r\nexport * from './document-request.service';\r\nexport * from './file-processing.service';","import { Injectable } from '@angular/core';\r\n// RxJs\r\nimport { of } from 'rxjs';\r\nimport { map, catchError } from 'rxjs/operators';\r\n\r\nimport { EnrollmentDocument } from 'models';\r\nimport { DOCUMENT_TYPE } from 'models/enums';\r\nimport { BaseService } from 'services';\r\nimport { IDocument, DocumentRequest } from '../models';\r\n\r\n@Injectable()\r\nexport class UploadDocumentService extends BaseService {\r\n upload(data: any) {\r\n return this.http.post('/Document/UploadDocuments', data);\r\n }\r\n\r\n uploadPassport(file: string, fileName: string, applicantId: number) {\r\n const passport: EnrollmentDocument = {\r\n ApplicantId: applicantId,\r\n DocumentName: fileName,\r\n DocumentTypeId: DOCUMENT_TYPE.Passport,\r\n File: file\r\n }\r\n return this._post('v2/documents/passport', passport).pipe(\r\n map(() => { return { success: true } }),\r\n catchError(() => of({ success: false }))\r\n );\r\n }\r\n\r\n uploadDocument(document: DocumentRequest) {\r\n return this._post('applicantdocument/upload', document);\r\n }\r\n\r\n uploadDocumentForm(formData: FormData) {\r\n return this._post('applicantdocument/uploadDocumentFromForm', formData);\r\n }\r\n}\r\n","import { ElementRef, HostBinding, HostListener, Input, Optional, Self } from \"@angular/core\";\r\nimport { NgControl } from \"@angular/forms\";\r\nimport { UkBoolean } from \"@uikit/components\";\r\nimport { UkBaseFormControl } from '@uikit/components/common';\r\n\r\nconst INVALID_INPUT = 'input type is not supported';\r\nconst VALID_INPUTS = [\r\n 'text',\r\n 'number',\r\n 'password',\r\n 'color',\r\n 'date',\r\n 'month',\r\n 'week',\r\n 'time',\r\n 'email',\r\n 'search',\r\n 'tel',\r\n 'url'\r\n];\r\n\r\nexport abstract class BaseInputComponent extends UkBaseFormControl {\r\n protected _type: string;\r\n inputValue: HTMLInputElement;\r\n\r\n constructor(\r\n protected elementRef: ElementRef, \r\n @Optional() @Self() public ngControl: NgControl, \r\n componentName: string = 'input') { \r\n super(ngControl, componentName);\r\n this.inputValue = this.elementRef.nativeElement;\r\n }\r\n\r\n @HostListener('input', ['$event'])\r\n onInputChange($event) {\r\n const input = $event.target;\r\n this.value = input.value;\r\n this.setValue(input.value);\r\n }\r\n\r\n /** ===> Manage Focus <=== */\r\n @HostListener('focus')\r\n onInputFocus() { \r\n this.focused = true; \r\n }\r\n\r\n @HostListener('blur')\r\n onInputBlur() { \r\n this.focused = false; \r\n }\r\n\r\n @HostBinding('readonly') @Input() @UkBoolean() readonly;\r\n\r\n @HostBinding('attr.aria-describedby') ariaDescribedby: string;\r\n\r\n @HostBinding('attr.placeholder') @Input() placeholder: string; \r\n\r\n // type property\r\n @HostBinding('attr.type') \r\n @Input() \r\n get type(): string { \r\n return this._type; \r\n }\r\n set type(value: string) {\r\n this._type = value || 'text';\r\n this.validateType();\r\n }\r\n \r\n @HostBinding('attr.disabled') \r\n get inputDisabled() { \r\n return this.disabled ? '' : null; \r\n }\r\n\r\n onClick() { \r\n this.elementRef.nativeElement.focus(); \r\n }\r\n\r\n setValue(value) {\r\n if (this.inputValue.value !== value) {\r\n this.inputValue.value = value;\r\n }\r\n super.setValue(value);\r\n }\r\n\r\n validateType() {\r\n const isInvalidInput = VALID_INPUTS.indexOf(this._type) < 0;\r\n if (isInvalidInput) {\r\n throw Error(`${this._type} ${INVALID_INPUT}`);\r\n }\r\n }\r\n}\r\n","import { EventEmitter, Output } from \"@angular/core\";\r\n\r\nexport interface NavigationChangedEvent {\r\n goBack: boolean;\r\n optionName?: string;\r\n value?: any;\r\n}\r\n\r\nexport abstract class EnrollmentNavigationComponent {\r\n @Output() onNavigationChanged: EventEmitter = new EventEmitter();\r\n goBack() { this.onNavigationChanged.emit({ goBack: true }); }\r\n}","export * from './enrollment-navigation.component';\r\nexport * from './base-input.component';\r\nexport * from './mask.component';","import { AfterContentInit, ElementRef, HostListener, Input } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\nimport { GET_NUMBER_CHAR, IS_DELETE_KEY, IS_DIGIT_KEY, IS_ENTER_KEY, IS_SYSTEM_KEY, UkFieldError, UkUserAgentDetectorService } from '@uikit/components';\r\nimport { BaseInputComponent } from './base-input.component';\r\n\r\nexport function MASK_SECTION_VALIDATOR(maskSections: number[], separator: string, optionalSeparator: boolean = false) {\r\n if (optionalSeparator === void 0) { optionalSeparator = false; }\r\n let _validator = [];\r\n maskSections.forEach((part, idx) => {\r\n\t\tconst _partExp = `(\\\\d{${part}})`;\r\n _validator.push(_partExp);\r\n if(idx < maskSections.length - 1) {\r\n\t\t\t_validator.push(`(\\\\${separator})${optionalSeparator ? '?' : ''}`) \r\n\t\t}\r\n\t});\r\n return new RegExp(`^${_validator.join('')}$`);\r\n}\r\n\r\nexport interface MaskInputValue {\r\n value: string;\r\n position: number;\r\n}\r\n \r\nexport abstract class Mask extends BaseInputComponent implements AfterContentInit {\r\n private _maskSections: number[];\r\n private _separator: string;\r\n private _secondSeparator = '';\r\n private separatorReg: RegExp;\r\n private secondSeparatorReg: RegExp = new RegExp('');\r\n protected leftToRight = true;\r\n protected mask: RegExp;\r\n protected maxLength: number;\r\n protected validationError: UkFieldError;\r\n \r\n /**\r\n * Function to transform the value if this is assigned on initialize\r\n */\r\n protected functionAfterContentInit: Function = new Function();\r\n \r\n @Input() validator: RegExp;\r\n private _showMaskTyped = false;\r\n \r\n @Input()\r\n get showMaskTyped() { return this._showMaskTyped; }\r\n set showMaskTyped(value) {\r\n if (value) { this._showMaskTyped = value; }\r\n this.separator = this._separator;\r\n }\r\n \r\n @Input()\r\n get separator() { return this._separator; }\r\n set separator(value: string) {\r\n this._separator = value;\r\n this.separatorReg = new RegExp(this.showMaskTyped ?\r\n `[\\\\${this._separator}\\\\\\_]` :\r\n `\\\\${this._separator}` \r\n , 'g');\r\n }\r\n \r\n @Input()\r\n get secondSeparator() { return this._secondSeparator; }\r\n set secondSeparator(value: string) {\r\n this._secondSeparator = value;\r\n this.secondSeparatorReg = new RegExp(this.showMaskTyped ?\r\n `[\\\\${this._secondSeparator}\\\\\\_]` :\r\n `\\\\${this._secondSeparator}`\r\n , 'g');\r\n }\r\n \r\n @HostListener('keyup', ['$event'])\r\n onKeyUp($event: KeyboardEvent) {\r\n const input = $event.target as HTMLInputElement;\r\n const value = input.value;\r\n if (IS_DELETE_KEY($event.key)) {\r\n this.keyUpHandler(input, value);\r\n }\r\n }\r\n \r\n @HostListener('input', ['$event'])\r\n oninput($event/*: InputEvent is commented because fails in IE11 */) {\r\n if (this.userAgentDetectorService.getUserAgent() === 'ANDROID'){\r\n const input = $event.target as HTMLInputElement;\r\n if ($event.isComposing && $event.data) {\r\n const pos = $event.data.length - 1;\r\n const key = String($event.data.charCodeAt(pos));\r\n if (IS_DIGIT_KEY($event.data[pos])) {\r\n this.keyDownHandler(input, key);\r\n }\r\n } else {\r\n this.keyUpHandler(input, input.value);\r\n }\r\n }\r\n }\r\n \r\n @HostListener('keydown', ['$event'])\r\n onKeyDown($event: KeyboardEvent) {\r\n const input = $event.target as HTMLInputElement;\r\n const key = $event.key;\r\n\r\n if (!this.isSystemKey($event)) { $event.preventDefault(); }\r\n\r\n if (this.isValidKey($event)) {\r\n this.keyDownHandler(input, key);\r\n }\r\n }\r\n \r\n constructor(\r\n elementRef: ElementRef,\r\n public ngControl: NgControl,\r\n componentName: string,\r\n protected userAgentDetectorService: UkUserAgentDetectorService\r\n ) {\r\n super(elementRef, ngControl, componentName);\r\n }\r\n \r\n // Angular LifeCycle Hooks\r\n ngAfterContentInit() { \r\n if (this.value) { \r\n this.functionAfterContentInit(); \r\n } \r\n }\r\n\r\n registerAfterContentInit(fn: Function) { \r\n this.functionAfterContentInit = fn; \r\n }\r\n \r\n get maskSections() { \r\n return this._maskSections; \r\n }\r\n set maskSections(value: number[]) {\r\n this._maskSections = value;\r\n this.setMaxLength();\r\n this.createRegExp();\r\n }\r\n \r\n protected keyUpHandler(input: HTMLInputElement, value: string) {\r\n const cPos = input.selectionStart;\r\n const cTxt = this.cleanText(value, cPos, cPos);\r\n this.setFormatedText(cTxt.value, cTxt.position, input, true);\r\n }\r\n \r\n protected keyDownHandler(input: HTMLInputElement, key: string) {\r\n let value = input.value;\r\n let cPos = input.selectionStart;\r\n\r\n const cTxt = this.cleanText(value, cPos, input.selectionEnd);\r\n value = cTxt.value;\r\n cPos = cTxt.position;\r\n\r\n if (value.length < this.maxLength) {\r\n const before = value.substring(0, cPos);\r\n const after = value.substring(cPos);\r\n const newValue = this.proccessKeyDown(before, after, key);\r\n this.setFormatedText(newValue, cPos + 1, input, true);\r\n }\r\n\r\n if (IS_ENTER_KEY(key)) {\r\n if (input.form) {\r\n if (!this.invalid && input.form.checkValidity()) { \r\n input.form.submit(); \r\n }\r\n }\r\n }\r\n }\r\n \r\n protected createRegExp(){\r\n const mask = [];\r\n this.maskSections.forEach((part) => {\r\n const partExp = `(\\\\d{${part}})`;\r\n mask.push(partExp);\r\n });\r\n this.mask = new RegExp(`^${mask.join('')}.*`);\r\n }\r\n \r\n protected setPlaceHolder() {\r\n const pad = new Array(this.maxLength + 1).join('0');\r\n this.placeholder = this.format(pad).replace(new RegExp('0','g'), '#');\r\n }\r\n \r\n private setMaxLength() {\r\n const sepChars = this.separator.length * (this.maskSections.length - 1);\r\n this.maxLength = this.maskSections.indexOf(-1) >= 0 ? 50 :\r\n this.maskSections.reduce((p, c) => p + c) + sepChars;\r\n }\r\n \r\n private setFormatedText(value: string, position: number, input: HTMLInputElement, end: boolean = false) {\r\n const newValues = this.spaceFormat(value, position);\r\n const newPos = newValues.position;\r\n // Set value in control without mask\r\n this.value = newValues.value;\r\n // Set value in view with mask\r\n const newVal = this.showMask(newValues.value);\r\n input.value = newVal;\r\n input.selectionStart = newPos;\r\n if (end) { \r\n input.selectionEnd = newPos; \r\n }\r\n }\r\n \r\n proccessKeyDown(before: string, after: string, key: string) {\r\n return before + GET_NUMBER_CHAR(key) + after;\r\n }\r\n \r\n cleanText(value: string, cPos: number, cEnd: number): MaskInputValue {\r\n let newValue = value;\r\n // Remove Selected text\r\n if (cPos !== cEnd) { \r\n newValue = value.substring(0, cPos) + value.substring(cEnd); \r\n }\r\n\r\n cPos = this.spaceCaretPosition(value, cPos);\r\n return {\r\n position: cPos,\r\n value: newValue.replace(this.separatorReg, '')\r\n };\r\n }\r\n \r\n // Add spaces\r\n spaceFormat(value: string, position: number): MaskInputValue {\r\n let secondValue = '';\r\n \r\n // Check if is dynamic mask(a negative value in this.maskSections)\r\n const dynamicMask = this.maskSections.indexOf(-1) >= 0 ? true : false;\r\n \r\n // Check if secondValue and secondSeparator exist\r\n if (\r\n dynamicMask && this.maskSections.length === 3 &&\r\n this.secondSeparator && value.indexOf(this.secondSeparator) >= 0\r\n ) {\r\n secondValue = value.substr(value.indexOf(this.secondSeparator) + this.secondSeparator.length, this.maskSections[2]);\r\n value.replace(this.secondSeparatorReg, '');\r\n value = value.substring(0, value.indexOf(this.secondSeparator));\r\n }\r\n \r\n // Populate maskSections if is dynamic\r\n let sections: Array;\r\n if (dynamicMask){\r\n sections = new Array(Math.ceil(value.length / this.maskSections[0]));\r\n for (let i = 0; i < sections.length; i++) {\r\n sections[i] = this.maskSections[0];\r\n }\r\n } else {\r\n sections = this.maskSections.slice();\r\n }\r\n \r\n let newValue = []\r\n let cIdx = this.leftToRight ? 0 : value.length;\r\n\r\n while (sections.length > 0) {\r\n const secMax = this.leftToRight ?\r\n cIdx + sections.shift() :\r\n cIdx - sections.shift();\r\n\r\n if (cIdx < value.length || dynamicMask) {\r\n if (position > secMax && secMax > 0) { \r\n position++; \r\n }\r\n const start = this.leftToRight ? cIdx : secMax;\r\n const end = this.leftToRight ? secMax : cIdx;\r\n newValue.push(value.substring(start, end));\r\n }\r\n\r\n cIdx = secMax;\r\n }\r\n\r\n // Order values according to leftToRight property\r\n if (!this.leftToRight) { \r\n newValue = newValue.reverse(); \r\n }\r\n const organizedValue = newValue.join(this.separator) +\r\n (this.secondSeparator && secondValue !== '' ? this.secondSeparator + secondValue : '');\r\n\r\n return {\r\n value: organizedValue,\r\n position\r\n };\r\n }\r\n \r\n // Put a guide of spaces to type according to maskSections\r\n showMask(value: string): string {\r\n if (this.showMaskTyped && this.type !== 'password') {\r\n const oldValues = value.split(this.separator);\r\n const newVal = [];\r\n this.maskSections.forEach((section: number, idx: number) => {\r\n let tmpValue = oldValues[idx] ? oldValues[idx] : '';\r\n while (tmpValue.length < section) {\r\n tmpValue += '_';\r\n }\r\n newVal.push(tmpValue);\r\n }); \r\n return newVal.join(this.separator);\r\n }\r\n return value.toString();\r\n }\r\n \r\n // Get the right caret position without the spaces\r\n spaceCaretPosition(value: string, cPos: number) {\r\n if (cPos > 0 && value.substring(cPos - 1, cPos) === this.separator) {\r\n cPos -= 1;\r\n }\r\n\r\n if (cPos > 0) {\r\n const matchs = value.substring(0, cPos).match(this.separatorReg); \r\n if (matchs) { \r\n cPos -= matchs.length; \r\n }\r\n }\r\n return cPos;\r\n }\r\n \r\n checkErrors(forceUpdate?: boolean) {\r\n (this.validationError && this.isFormatInvalid && this.value) ?\r\n this.setError(this.validationError.name, this.validationError) :\r\n this.removeError(this.validationError.name);\r\n super.checkErrors();\r\n }\r\n\r\n get valueString(): string { return this.value as string; }\r\n \r\n get isFormatInvalid() { return this.validator ? !this.validator.test(this.valueString) : false; }\r\n \r\n format(value: string) { return this.cleanText(value, 0, 0).value; }\r\n\r\n isValidKey($event: KeyboardEvent) { return IS_DIGIT_KEY($event.key); }\r\n\r\n isSystemKey($event: KeyboardEvent) { return IS_SYSTEM_KEY($event); }\r\n}\r\n","module.exports = \"/**\\r\\n* Helper mixin to create a linear-gradient\\r\\n*\\r\\n*/\\n/*\\r\\nhtml,\\r\\nbody {\\r\\n font-family: 'Libre Franklin', 'Helvetica', sans-serif;\\r\\n // color: themify(text);\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\na {\\r\\n color: themify(link);\\r\\n cursor: pointer;\\r\\n text-decoration: none;\\r\\n -webkit-tap-highlight-color: transparent;\\r\\n}\\r\\n\\r\\n.round-image {\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n\\r\\n*/\\n.fcontainer-fluid,\\n.fcontainer {\\n margin: 0 auto; }\\n.fcontainer-fluid {\\n padding: 0 2rem; }\\n.frow {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex: 0 1 auto;\\n flex: 0 1 auto;\\n -ms-flex-direction: row;\\n flex-direction: row;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap; }\\n.frow.reverse {\\n -ms-flex-direction: row-reverse;\\n flex-direction: row-reverse; }\\n.finline {\\n display: -ms-inline-flexbox;\\n display: inline-flex; }\\n.reset-padding {\\n padding: 0; }\\n.reset-margin {\\n margin: 0; }\\n.uk-btn.none {\\n border: none;\\n background-color: transparent;\\n text-transform: none;\\n min-width: 0;\\n min-height: 0;\\n padding: 0; }\\n.uk-btn.icon {\\n font-weight: 500;\\n font-size: 14px;\\n line-height: 16px;\\n font-weight: bold; }\\n.uk-shadow-0 {\\n box-shadow: none !important; }\\n.uk-shadow-1 {\\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); }\\n.uk-shadow-1-half {\\n box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2); }\\n.uk-shadow-2 {\\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-3 {\\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-4 {\\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-5 {\\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.3); }\\n.uk-nav {\\n padding-left: 0;\\n margin-bottom: 0;\\n list-style: none;\\n box-sizing: border-box; }\\n.uk-nav .uk-nav-item {\\n clear: both;\\n float: none;\\n display: inline-block;\\n margin: 0px; }\\n.uk-nav .uk-nav-item:hover {\\n background-color: #eee; }\\n.uk-tooltip {\\n background-color: #293541;\\n color: #FFF;\\n position: fixed;\\n max-width: 280px;\\n font-size: 14px;\\n padding: 5px 10px;\\n z-index: 2; }\\n.uk-tooltip::before {\\n content: '';\\n position: absolute;\\n display: inline-block;\\n height: 0;\\n width: 0;\\n border: solid 6px transparent; }\\n.uk-tooltip.white {\\n background-color: #FFF;\\n color: #293541; }\\n.uk-tooltip.bottom::before {\\n border-bottom-color: #293541;\\n margin-top: -12px;\\n top: 0; }\\n.uk-tooltip.bottom.white::before {\\n border-bottom-color: #FFF !important; }\\n.uk-tooltip.top::before {\\n border-top-color: #293541;\\n margin-bottom: -12px;\\n bottom: 0; }\\n.uk-tooltip.top.white::before {\\n border-top-color: #FFF !important; }\\n.uk-tooltip.left::before {\\n border-left-color: #293541;\\n margin-right: -12px;\\n right: 0; }\\n.uk-tooltip.right::before {\\n border-right-color: #293541;\\n margin-left: -12px;\\n left: 0; }\\n.uk-label.uk-tooltip-host {\\n position: relative;\\n top: 5px; }\\n.uk-stepper {\\n display: inline-block; }\\n.uk-stepper .uk-progress-title {\\n color: #283541;\\n font-size: 18px;\\n font-weight: 600;\\n padding-top: 7px; }\\n.uk-stepper .uk-progress-step-body {\\n padding-top: 8px;\\n padding-bottom: 20px;\\n display: block; }\\n.uk-stepper .uk-progress-track {\\n list-style-type: none;\\n table-layout: fixed;\\n display: table;\\n width: 100%;\\n margin: 0;\\n padding: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step {\\n display: table-cell;\\n position: relative;\\n text-align: center;\\n padding-top: 27px; }\\n.uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n content: '';\\n background-color: #C9CCCF;\\n position: absolute;\\n top: 8.5px;\\n height: 3px;\\n width: 50%;\\n z-index: -1; }\\n.uk-stepper .uk-progress-track .uk-progress-step::before {\\n left: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step::after {\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step:first-child::before {\\n width: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step:last-child::after {\\n width: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n background-color: #C9CCCF;\\n position: absolute;\\n border-radius: 50%;\\n display: block;\\n margin: 0 auto;\\n height: 20px;\\n width: 20px;\\n padding: 0 4px;\\n top: 0;\\n left: 0;\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap .uk-icon {\\n display: none; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n position: absolute;\\n border-radius: 50%;\\n margin: 0 auto;\\n margin-top: 2px;\\n height: 16px;\\n width: 16px;\\n content: '';\\n left: 0;\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-progress-text {\\n position: relative;\\n color: #5F6871;\\n text-transform: capitalize;\\n font-size: 14px;\\n font-weight: 600; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border: solid 2px #FFF;\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active::before {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active.wip::after {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done .uk-step-icon-wrap {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done .uk-step-icon-wrap .uk-icon {\\n color: #FFF;\\n display: initial; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done::before, .uk-stepper .uk-progress-track .uk-progress-step.done::after {\\n background-color: #1e8257; }\\n@media only screen and (min-width: 768px) {\\n .uk-stepper .uk-progress-track .uk-progress-step {\\n padding-top: 32px; }\\n .uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n top: 11px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n height: 25px;\\n width: 25px;\\n padding: 0 6px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n height: 21px;\\n width: 21px; }\\n .uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border-width: 3px; } }\\n@media only screen and (min-width: 992px) {\\n .uk-stepper .uk-progress-track .uk-progress-step {\\n padding-top: 42px; }\\n .uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n top: 16px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n height: 35px;\\n width: 35px;\\n padding: 0 8px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n height: 31px;\\n width: 31px; }\\n .uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border-width: 4px; } }\\n.uk-btn.icon .uk-icon {\\n height: 1.5em;\\n width: 1.5em; }\\n.uk-btn .uk-icon {\\n height: 1em;\\n width: 1em;\\n font-size: 1em;\\n vertical-align: middle; }\\n.uk-icon {\\n display: inline-block;\\n stroke-width: 0;\\n stroke: currentColor;\\n fill: currentColor;\\n font-size: 1.5em;\\n max-width: 1.5em;\\n max-height: 1.5em; }\\n@font-face {\\n font-family: \\\"bofi-icon\\\";\\n src: url(\\\"/assets/bofi-icon.eot\\\");\\n src: url(\\\"/assets/bofi-icon.eot?#iefix\\\") format(\\\"embedded-opentype\\\"), url(\\\"/assets/bofi-icon.woff\\\") format(\\\"woff\\\"), url(\\\"/assets/bofi-icon.ttf\\\") format(\\\"truetype\\\"), url(\\\"/assets/bofi-icon.svg#bofi-icon\\\") format(\\\"svg\\\");\\n font-weight: normal;\\n font-style: normal; }\\n[data-icon]:before {\\n font-family: \\\"bofi-icon\\\" !important;\\n content: attr(data-icon);\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n[class^=\\\"bofi-\\\"]:before,\\n[class*=\\\" bofi-\\\"]:before {\\n font-family: \\\"bofi-icon\\\" !important;\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n.bofi-recurring:before {\\n content: \\\"\\\\61\\\"; }\\n.bofi-ebill:before {\\n content: \\\"\\\\67\\\"; }\\n.bofi-add:before {\\n content: \\\"\\\\6f\\\"; }\\n.bofi-atm:before {\\n content: \\\"\\\\71\\\"; }\\n.bofi-automatic:before {\\n content: \\\"\\\\72\\\"; }\\n.bofi-bank:before {\\n content: \\\"\\\\73\\\"; }\\n.bofi-bankfees:before {\\n content: \\\"\\\\74\\\"; }\\n.bofi-datepicker:before {\\n content: \\\"\\\\6a\\\"; }\\n.bofi-deposit:before {\\n content: \\\"\\\\77\\\"; }\\n.bofi-edit:before {\\n content: \\\"\\\\78\\\"; }\\n.bofi-faq:before {\\n content: \\\"\\\\7a\\\"; }\\n.bofi-messages:before {\\n content: \\\"\\\\41\\\"; }\\n.bofi-menu:before {\\n content: \\\"\\\\43\\\"; }\\n.bofi-interest:before {\\n content: \\\"\\\\65\\\"; }\\n.bofi-pending:before {\\n content: \\\"\\\\4c\\\"; }\\n.bofi-phone:before {\\n content: \\\"\\\\4d\\\"; }\\n.bofi-print:before {\\n content: \\\"\\\\4f\\\"; }\\n.bofi-refund:before {\\n content: \\\"\\\\52\\\"; }\\n.bofi-remove:before {\\n content: \\\"\\\\53\\\"; }\\n.bofi-success:before {\\n content: \\\"\\\\54\\\"; }\\n.bofi-search:before {\\n content: \\\"\\\\56\\\"; }\\n.bofi-password:before {\\n content: \\\"\\\\6d\\\"; }\\n.bofi-username:before {\\n content: \\\"\\\\75\\\"; }\\n.bofi-gear:before {\\n content: \\\"\\\\68\\\"; }\\n.bofi-contact-list:before {\\n content: \\\"\\\\42\\\"; }\\n.bofi-filter:before {\\n content: \\\"\\\\76\\\"; }\\n.bofi-debit:before {\\n content: \\\"\\\\62\\\"; }\\n.bofi-support:before {\\n content: \\\"\\\\69\\\"; }\\n.bofi-user-settings:before {\\n content: \\\"\\\\70\\\"; }\\n.bofi-accounts:before {\\n content: \\\"\\\\64\\\"; }\\n.bofi-transfer:before {\\n content: \\\"\\\\66\\\"; }\\n.bofi-photo:before {\\n content: \\\"\\\\79\\\"; }\\n.bofi-check-mark:before {\\n content: \\\"\\\\46\\\"; }\\n.bofi-information:before {\\n content: \\\"\\\\49\\\"; }\\n.bofi-chat:before {\\n content: \\\"\\\\4b\\\"; }\\n.bofi-cancel:before {\\n content: \\\"\\\\4e\\\"; }\\n.bofi-send-icon:before {\\n content: \\\"\\\\55\\\"; }\\n.bofi-warning:before {\\n content: \\\"\\\\58\\\"; }\\n.bofi-upload:before {\\n content: \\\"\\\\5a\\\"; }\\n.bofi-thumbsup:before {\\n content: \\\"\\\\30\\\"; }\\n.bofi-pdf:before {\\n content: \\\"\\\\47\\\"; }\\n.bofi-check:before {\\n content: \\\"\\\\48\\\"; }\\n.bofi-star:before {\\n content: \\\"\\\\36\\\"; }\\n.bofi-camera:before {\\n content: \\\"\\\\32\\\"; }\\n.bofi-delivery-method:before {\\n content: \\\"\\\\34\\\"; }\\n.bofi-download:before {\\n content: \\\"\\\\37\\\"; }\\n.bofi-ebill-paybills:before {\\n content: \\\"\\\\38\\\"; }\\n.bofi-flag:before {\\n content: \\\"\\\\22\\\"; }\\n.bofi-alert-history:before {\\n content: \\\"\\\\24\\\"; }\\n.bofi-mobiledeposit:before {\\n content: \\\"\\\\28\\\"; }\\n.bofi-onetime:before {\\n content: \\\"\\\\29\\\"; }\\n.bofi-personal-message:before {\\n content: \\\"\\\\2c\\\"; }\\n.bofi-text-message:before {\\n content: \\\"\\\\4a\\\"; }\\n.bofi-eye-outline:before {\\n content: \\\"\\\\50\\\"; }\\n.bofi-attach:before {\\n content: \\\"\\\\51\\\"; }\\n.bofi-logout:before {\\n content: \\\"\\\\6b\\\"; }\\n.bofi-close:before {\\n content: \\\"\\\\45\\\"; }\\n.bofi-gear-circle:before {\\n content: \\\"\\\\57\\\"; }\\n.bofi-thumbsup-circle:before {\\n content: \\\"\\\\59\\\"; }\\n.bofi-modal-send:before {\\n content: \\\"\\\\6c\\\"; }\\n.bofi-add-1:before {\\n content: \\\"\\\\44\\\"; }\\n.bofi-group:before {\\n content: \\\"\\\\33\\\"; }\\n.bofi-home:before {\\n content: \\\"\\\\35\\\"; }\\n.bofi-personal-info:before {\\n content: \\\"\\\\39\\\"; }\\n.bofi-person-check:before {\\n content: \\\"\\\\21\\\"; }\\n.bofi-person:before {\\n content: \\\"\\\\23\\\"; }\\n.bofi-signer:before {\\n content: \\\"\\\\25\\\"; }\\n.bofi-datepicker-1:before {\\n content: \\\"\\\\26\\\"; }\\n.bofi-refund-1:before {\\n content: \\\"\\\\63\\\"; }\\n.bofi-recurring-1:before {\\n content: \\\"\\\\27\\\"; }\\n.bofi-messages-1:before {\\n content: \\\"\\\\2a\\\"; }\\n.bofi-faq-1:before {\\n content: \\\"\\\\2b\\\"; }\\n.bofi-gear-1:before {\\n content: \\\"\\\\2d\\\"; }\\n.bofi-remove-1:before {\\n content: \\\"\\\\2e\\\"; }\\n.bofi-refund-2:before {\\n content: \\\"\\\\2f\\\"; }\\n.bofi-username-1:before {\\n content: \\\"\\\\3a\\\"; }\\n.bofi-search-1:before {\\n content: \\\"\\\\3b\\\"; }\\n.bofi-password-1:before {\\n content: \\\"\\\\3c\\\"; }\\n.bofi-dashboard:before {\\n content: \\\"\\\\3d\\\"; }\\n.bofi-atm-1:before {\\n content: \\\"\\\\3e\\\"; }\\n.bofi-pending-1:before {\\n content: \\\"\\\\3f\\\"; }\\n.bofi-success-1:before {\\n content: \\\"\\\\40\\\"; }\\n.bofi-phone-1:before {\\n content: \\\"\\\\5b\\\"; }\\n.bofi-print-1:before {\\n content: \\\"\\\\5d\\\"; }\\n.bofi-menu-1:before {\\n content: \\\"\\\\5e\\\"; }\\n.bofi-interest-1:before {\\n content: \\\"\\\\5f\\\"; }\\n.bofi-ic-contact-list:before {\\n content: \\\"\\\\60\\\"; }\\n.bofi-deposit-1:before {\\n content: \\\"\\\\7b\\\"; }\\n.bofi-automatic-1:before {\\n content: \\\"\\\\7c\\\"; }\\n.bofi-automaticpayment:before {\\n content: \\\"\\\\7d\\\"; }\\n.bofi-bank-1:before {\\n content: \\\"\\\\7e\\\"; }\\n.bofi-bankfees-1:before {\\n content: \\\"\\\\5c\\\"; }\\n.bofi-edit-1:before {\\n content: \\\"\\\\e000\\\"; }\\n.bofi-1498195592-icon15-8:before {\\n content: \\\"\\\\6e\\\"; }\\n.bofi-arrow-chevron:before {\\n content: \\\"\\\\31\\\"; }\\n.cdk-overlay-container,\\n.cdk-global-overlay-wrapper {\\n pointer-events: none;\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: 100%; }\\n.cdk-overlay-container {\\n position: fixed;\\n z-index: 1000; }\\n.cdk-global-overlay-wrapper {\\n display: -ms-flexbox;\\n display: flex;\\n position: absolute;\\n z-index: 1000; }\\n.cdk-overlay-pane {\\n position: absolute;\\n pointer-events: auto;\\n box-sizing: border-box;\\n z-index: 1000; }\\n.cdk-overlay-backdrop {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n z-index: 1000;\\n pointer-events: auto;\\n -webkit-tap-highlight-color: transparent;\\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\\n opacity: 0; }\\n.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 1; }\\n.cdk-overlay-dark-backdrop {\\n background: rgba(0, 0, 0, 0.288); }\\n.cdk-overlay-transparent-backdrop, .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 0; }\\n.cdk-global-scrollblock {\\n position: fixed;\\n width: 100%;\\n overflow-y: scroll; }\\n@-webkit-keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0); }\\n 40% {\\n -webkit-transform: scale(1); } }\\n@keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0);\\n transform: scale(0); }\\n 40% {\\n -webkit-transform: scale(1);\\n transform: scale(1); } }\\n@-webkit-keyframes ripple {\\n 5%,\\n 100% {\\n opacity: 0; }\\n 5% {\\n opacity: 1; } }\\n@keyframes ripple {\\n 5%,\\n 100% {\\n opacity: 0; }\\n 5% {\\n opacity: 1; } }\\n.uk-form-control {\\n display: inline-table;\\n cursor: pointer;\\n position: relative;\\n box-sizing: border-box;\\n min-height: 18px; }\\n.uk-form-control__value {\\n display: table-cell;\\n max-width: 0;\\n width: 100%;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n min-height: 48px; }\\n.uk-form-control__addon {\\n padding-left: 10px;\\n display: table-cell;\\n vertical-align: middle; }\\n.alert {\\n position: relative;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n margin-bottom: 20px;\\n margin-top: 20px;\\n border-radius: 0.25em;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: nowrap;\\n flex-wrap: nowrap;\\n height: 46px;\\n color: black;\\n font-size: 16px;\\n -ms-flex-align: center;\\n align-items: center; }\\n.alert .icon {\\n height: 20px;\\n width: 20px;\\n margin-left: 15px;\\n margin-top: -2px; }\\n.alert .close-icon {\\n font-size: 6.2285px;\\n margin-right: 15px; }\\n.alert .child--featured {\\n padding-left: 13px;\\n -ms-flex-positive: 1;\\n flex-grow: 1; }\\n.address-container {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-pack: center;\\n justify-content: center;\\n padding: 1.4em; }\\n.address-text {\\n margin: 5px 0; }\\n.axos-title {\\n font-size: 16px;\\n line-height: 25px; }\\n.address-title {\\n font-family: Karbon-Medium;\\n text-transform: uppercase;\\n letter-spacing: 2.7px;\\n font-size: 14px;\\n font-weight: bold; }\\n.address-list {\\n border: 1px solid #C9CCCF;\\n border-radius: 4px; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9hZGRyZXNzLXNlbGVjdGlvbi11bml2ZXJzYWwvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxtaXhpbnNcXGhlbHBlcnNcXF9saW5lYXItZ3JhZGllbnQuc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9hZGRyZXNzLXNlbGVjdGlvbi11bml2ZXJzYWwvYWRkcmVzcy1zZWxlY3Rpb24tdW5pdmVyc2FsLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL2FkZHJlc3Mtc2VsZWN0aW9uLXVuaXZlcnNhbC9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGdsb2JhbFxcX2dsb2JhbC5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL2FkZHJlc3Mtc2VsZWN0aW9uLXVuaXZlcnNhbC9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGdyaWRcXF9jb250YWluZXIuc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9hZGRyZXNzLXNlbGVjdGlvbi11bml2ZXJzYWwvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxncmlkXFxfcm93LnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvYWRkcmVzcy1zZWxlY3Rpb24tdW5pdmVyc2FsL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcdXRpbGl0aWVzXFxfcmVzZXRzLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvYWRkcmVzcy1zZWxlY3Rpb24tdW5pdmVyc2FsL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcdXRpbGl0aWVzXFxfc2hhZG93LnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvYWRkcmVzcy1zZWxlY3Rpb24tdW5pdmVyc2FsL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcbmF2c1xcX2Jhc2UtbmF2cy5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL2FkZHJlc3Mtc2VsZWN0aW9uLXVuaXZlcnNhbC9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXHRvb2x0aXBcXF90b29sdGlwLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvYWRkcmVzcy1zZWxlY3Rpb24tdW5pdmVyc2FsL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcc3RlcHBlclxcX3N0ZXBwZXIuc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9hZGRyZXNzLXNlbGVjdGlvbi11bml2ZXJzYWwvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxfdmFyaWFibGVzLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvYWRkcmVzcy1zZWxlY3Rpb24tdW5pdmVyc2FsL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcYnJhbmRzXFxfY29sb3JzLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvYWRkcmVzcy1zZWxlY3Rpb24tdW5pdmVyc2FsL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcZ3JpZFxcX21lZGlhLXF1ZXJpZXMuc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9hZGRyZXNzLXNlbGVjdGlvbi11bml2ZXJzYWwvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxpY29uc1xcX2ljb25zLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvYWRkcmVzcy1zZWxlY3Rpb24tdW5pdmVyc2FsL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcaWNvbnNcXF9mb250LWljb24uc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9hZGRyZXNzLXNlbGVjdGlvbi11bml2ZXJzYWwvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxvdmVybGF5XFxfb3ZlcmxheS5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL2FkZHJlc3Mtc2VsZWN0aW9uLXVuaXZlcnNhbC9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXGxvYWRlcnNcXF9kb3QtbG9hZGVyLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvYWRkcmVzcy1zZWxlY3Rpb24tdW5pdmVyc2FsL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcbWl4aW5zXFxfYW5pbWF0aW9uLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvYWRkcmVzcy1zZWxlY3Rpb24tdW5pdmVyc2FsL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xccmFkaW8tZ3JvdXBcXGVsZW1lbnQuc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9hZGRyZXNzLXNlbGVjdGlvbi11bml2ZXJzYWwvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxmb3JtLWZpZWxkc1xcX2Zvcm1fY29udHJvbC5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL2FkZHJlc3Mtc2VsZWN0aW9uLXVuaXZlcnNhbC9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXGFsZXJ0XFxfYWxlcnQuc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9hZGRyZXNzLXNlbGVjdGlvbi11bml2ZXJzYWwvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9zcmNcXGFwcFxcZW5yb2xsbWVudC1jb21tb25cXGNvbXBvbmVudHNcXGFkZHJlc3Mtc2VsZWN0aW9uLXVuaXZlcnNhbFxcYWRkcmVzcy1zZWxlY3Rpb24tdW5pdmVyc2FsLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0NHQztBQ3FDRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NEZkM7QUV4QkQ7O0VBRUksY0FBYyxFQUFBO0FBR2xCO0VBQ0ksZUFBZSxFQUFBO0FDUG5CO0VBQ0ksb0JBQWE7RUFBYixhQUFhO0VBQ2Isa0JBQWM7TUFBZCxjQUFjO0VBQ2QsdUJBQW1CO01BQW5CLG1CQUFtQjtFQUNuQixtQkFBZTtNQUFmLGVBQWUsRUFBQTtBQUpuQjtJQU1RLCtCQUEyQjtRQUEzQiwyQkFBMkIsRUFBQTtBQUtuQztFQUFXLDJCQUFvQjtFQUFwQixvQkFBb0IsRUFBQTtBQ1gvQjtFQUNJLFVB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QUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFD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LGtCQUFrQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9hZGRyZXNzLXNlbGVjdGlvbi11bml2ZXJzYWwvYWRkcmVzcy1zZWxlY3Rpb24tdW5pdmVyc2FsLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiogIEhlbHBlciBtaXhpbiB0byBjcmVhdGUgYSBsaW5lYXItZ3JhZGllbnRcclxuKlxyXG4qL1xyXG5AbWl4aW4gbGluZWFyLWdyYWRpZW50KCRkaXJlY3Rpb24sICRjb2xvcmxpc3QpIHtcclxuICAgIEBpZiBub3QgaXMtZGlyZWN0aW9uKCRkaXJlY3Rpb24pIHtcclxuICAgICAgICAkY29sb3JsaXN0OiAkZGlyZWN0aW9uLCAkY29sb3JsaXN0O1xyXG4gICAgICAgICRkaXJlY3Rpb246IDBkZWc7XHJcbiAgICB9XHJcbiAgICBiYWNrZ3JvdW5kOiBudGgobnRoKCRjb2xvcmxpc3QsIDEpLCAxKTtcclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZ2FjeS1kaXJlY3Rpb24oJGRpcmVjdGlvbiksICRjb2xvcmxpc3QpO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRkaXJlY3Rpb24sICRjb2xvcmxpc3QpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gaXMtZGlyZWN0aW9uKCR2YWx1ZSkge1xyXG4gICAgJGlzLWtleXdvcmQ6IGluZGV4KCh0byB0b3AsIHRvIHRvcCByaWdodCwgdG8gcmlnaHQgdG9wLCB0byByaWdodCwgdG8gYm90dG9tIHJpZ2h0LCB0byByaWdodCBib3R0b20sIHRvIGJvdHRvbSwgdG8gYm90dG9tIGxlZnQsIHRvIGxlZnQgYm90dG9tLCB0byBsZWZ0LCB0byBsZWZ0IHRvcCwgdG8gdG9wIGxlZnQpLCAkdmFsdWUpO1xyXG4gICAgJGlzLWFuZ2xlOiB0eXBlLW9mKCR2YWx1ZSk9PSdudW1iZXInIGFuZCBpbmRleCgnZGVnJyAnZ3JhZCcgJ3R1cm4nICdyYWQnLCB1bml0KCR2YWx1ZSkpO1xyXG4gICAgQHJldHVybiAkaXMta2V5d29yZCBvciAkaXMtYW5nbGU7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBsZWdhY3ktZGlyZWN0aW9uKCR2YWx1ZSkge1xyXG4gICAgQGlmIGlzLWRpcmVjdGlvbigkdmFsdWUpPT1mYWxzZSB7XHJcbiAgICAgICAgQGVycm9yIFwiQ2Fubm90IGNvbnZlcnQgYCN7JHZhbHVlfWAgdG8gbGVnYWN5IHN5bnRheCBiZWNhdXNlIGl0IGRvZXNuJ3Qgc2VlbSB0byBiZSBhIGRpcmVjdGlvbi5cIjtcclxuICAgIH1cclxuICAgICRjb252ZXJzaW9uLW1hcDogKCB0byB0b3A6IGJvdHRvbSwgdG8gdG9wIHJpZ2h0OiBib3R0b20gbGVmdCwgdG8gcmlnaHQgdG9wOiBsZWZ0IGJvdHRvbSwgdG8gcmlnaHQ6IGxlZnQsIHRvIGJvdHRvbSByaWdodDogdG9wIGxlZnQsIHRvIHJpZ2h0IGJvdHRvbTogbGVmdCB0b3AsIHRvIGJvdHRvbTogdG9wLCB0byBib3R0b20gbGVmdDogdG9wIHJpZ2h0LCB0byBsZWZ0IGJvdHRvbTogcmlnaHQgdG9wLCB0byBsZWZ0OiByaWdodCwgdG8gbGVmdCB0b3A6IHJpZ2h0IGJvdHRvbSwgdG8gdG9wIGxlZnQ6IGJvdHRvbSByaWdodCk7XHJcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGNvbnZlcnNpb24tbWFwLCAkdmFsdWUpIHtcclxuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJGNvbnZlcnNpb24tbWFwLCAkdmFsdWUpO1xyXG4gICAgfVxyXG4gICAgQHJldHVybiA5MGRlZyAtICR2YWx1ZTtcclxufSIsIi8qKlxyXG4qICBIZWxwZXIgbWl4aW4gdG8gY3JlYXRlIGEgbGluZWFyLWdyYWRpZW50XHJcbipcclxuKi9cbi8qXHJcbmh0bWwsXHJcbmJvZHkge1xyXG4gICAgZm9udC1mYW1pbHk6ICdMaWJyZSBGcmFua2xpbicsICdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xyXG4gICAgLy8gY29sb3I6IHRoZW1pZnkodGV4dCk7XHJcbn1cclxuXHJcblxyXG5cclxuYSB7XHJcbiAgICBjb2xvcjogdGhlbWlmeShsaW5rKTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5yb3VuZC1pbWFnZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbn1cclxuXHJcblxyXG4qL1xuLmZjb250YWluZXItZmx1aWQsXG4uZmNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5mY29udGFpbmVyLWZsdWlkIHtcbiAgcGFkZGluZzogMCAycmVtOyB9XG5cbi5mcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAxIGF1dG87XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuZnJvdy5yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLmZpbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuXG4ucmVzZXQtcGFkZGluZyB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnJlc2V0LW1hcmdpbiB7XG4gIG1hcmdpbjogMDsgfVxuXG4udWstYnRuLm5vbmUge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICBtaW4taGVpZ2h0OiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi51ay1idG4uaWNvbiB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi51ay1zaGFkb3ctMCB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udWstc2hhZG93LTEge1xuICBib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLnVrLXNoYWRvdy0xLWhhbGYge1xuICBib3gtc2hhZG93OiAwIDNweCAzcHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA3cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDNweCAxcHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLnVrLXNoYWRvdy0yIHtcbiAgYm94LXNoYWRvdzogMCA0cHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4udWstc2hhZG93LTMge1xuICBib3gtc2hhZG93OiAwIDZweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggMThweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDVweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4udWstc2hhZG93LTQge1xuICBib3gtc2hhZG93OiAwIDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLnVrLXNoYWRvdy01IHtcbiAgYm94LXNoYWRvdzogMCAxNnB4IDI0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgNnB4IDMwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgOHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLnVrLW5hdiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAudWstbmF2IC51ay1uYXYtaXRlbSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMHB4OyB9XG4gICAgLnVrLW5hdiAudWstbmF2LWl0ZW06aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsgfVxuXG4udWstdG9vbHRpcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyOTM1NDE7XG4gIGNvbG9yOiAjRkZGO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG1heC13aWR0aDogMjgwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIHotaW5kZXg6IDI7IH1cbiAgLnVrLXRvb2x0aXA6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgYm9yZGVyOiBzb2xpZCA2cHggdHJhbnNwYXJlbnQ7IH1cbiAgLnVrLXRvb2x0aXAud2hpdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgY29sb3I6ICMyOTM1NDE7IH1cbiAgLnVrLXRvb2x0aXAuYm90dG9tOjpiZWZvcmUge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMyOTM1NDE7XG4gICAgbWFyZ2luLXRvcDogLTEycHg7XG4gICAgdG9wOiAwOyB9XG4gIC51ay10b29sdGlwLmJvdHRvbS53aGl0ZTo6YmVmb3JlIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7IH1cbiAgLnVrLXRvb2x0aXAudG9wOjpiZWZvcmUge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMyOTM1NDE7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEycHg7XG4gICAgYm90dG9tOiAwOyB9XG4gIC51ay10b29sdGlwLnRvcC53aGl0ZTo6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7IH1cbiAgLnVrLXRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogIzI5MzU0MTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMnB4O1xuICAgIHJpZ2h0OiAwOyB9XG4gIC51ay10b29sdGlwLnJpZ2h0OjpiZWZvcmUge1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzI5MzU0MTtcbiAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gICAgbGVmdDogMDsgfVxuXG4udWstbGFiZWwudWstdG9vbHRpcC1ob3N0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDVweDsgfVxuXG4udWstc3RlcHBlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdGl0bGUge1xuICAgIGNvbG9yOiAjMjgzNTQxO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmctdG9wOiA3cHg7IH1cbiAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXN0ZXAtYm9keSB7XG4gICAgcGFkZGluZy10b3A6IDhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLXRvcDogMjdweDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjpiZWZvcmUsIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0M5Q0NDRjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDguNXB4O1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgei1pbmRleDogLTE7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAwOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogMDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNDOUNDQ0Y7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgNHB4O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXAgLnVrLWljb24ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcDo6YmVmb3JlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICByaWdodDogMDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1wcm9ncmVzcy10ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogIzVGNjg3MTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmFjdGl2ZSAudWstc3RlcC1pY29uLXdyYXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4MjU3OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmUgLnVrLXN0ZXAtaWNvbi13cmFwOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlcjogc29saWQgMnB4ICNGRkY7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlODI1NzsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmFjdGl2ZTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlODI1NzsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmFjdGl2ZS53aXA6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlODI1NzsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmRvbmUgLnVrLXN0ZXAtaWNvbi13cmFwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlODI1NzsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuZG9uZSAudWstc3RlcC1pY29uLXdyYXAgLnVrLWljb24ge1xuICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgIGRpc3BsYXk6IGluaXRpYWw7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5kb25lOjpiZWZvcmUsIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5kb25lOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAge1xuICAgICAgICBwYWRkaW5nLXRvcDogMzJweDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmJlZm9yZSwgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjphZnRlciB7XG4gICAgICAgICAgdG9wOiAxMXB4OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXAge1xuICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDZweDsgfVxuICAgICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXA6OmJlZm9yZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDIxcHg7XG4gICAgICAgICAgICB3aWR0aDogMjFweDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuYWN0aXZlIC51ay1zdGVwLWljb24td3JhcDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDNweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDQycHg7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjpiZWZvcmUsIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMTZweDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcbiAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgcGFkZGluZzogMCA4cHg7IH1cbiAgICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwOjpiZWZvcmUge1xuICAgICAgICAgICAgaGVpZ2h0OiAzMXB4O1xuICAgICAgICAgICAgd2lkdGg6IDMxcHg7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmFjdGl2ZSAudWstc3RlcC1pY29uLXdyYXA6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiA0cHg7IH0gfVxuXG4udWstYnRuLmljb24gLnVrLWljb24ge1xuICBoZWlnaHQ6IDEuNWVtO1xuICB3aWR0aDogMS41ZW07IH1cblxuLnVrLWJ0biAudWstaWNvbiB7XG4gIGhlaWdodDogMWVtO1xuICB3aWR0aDogMWVtO1xuICBmb250LXNpemU6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4udWstaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICBmb250LXNpemU6IDEuNWVtO1xuICBtYXgtd2lkdGg6IDEuNWVtO1xuICBtYXgtaGVpZ2h0OiAxLjVlbTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiYm9maS1pY29uXCI7XG4gIHNyYzogdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24uZW90XCIpO1xuICBzcmM6IHVybChcIi9hc3NldHMvYm9maS1pY29uLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi9hc3NldHMvYm9maS1pY29uLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi5zdmcjYm9maS1pY29uXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbltkYXRhLWljb25dOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiICFpbXBvcnRhbnQ7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1pY29uKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5bY2xhc3NePVwiYm9maS1cIl06YmVmb3JlLFxuW2NsYXNzKj1cIiBib2ZpLVwiXTpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJib2ZpLWljb25cIiAhaW1wb3J0YW50O1xuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbi5ib2ZpLXJlY3VycmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjFcIjsgfVxuXG4uYm9maS1lYmlsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjdcIjsgfVxuXG4uYm9maS1hZGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZmXCI7IH1cblxuLmJvZmktYXRtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3MVwiOyB9XG5cbi5ib2ZpLWF1dG9tYXRpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzJcIjsgfVxuXG4uYm9maS1iYW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3M1wiOyB9XG5cbi5ib2ZpLWJhbmtmZWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3NFwiOyB9XG5cbi5ib2ZpLWRhdGVwaWNrZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZhXCI7IH1cblxuLmJvZmktZGVwb3NpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzdcIjsgfVxuXG4uYm9maS1lZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3OFwiOyB9XG5cbi5ib2ZpLWZhcTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2FcIjsgfVxuXG4uYm9maS1tZXNzYWdlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDFcIjsgfVxuXG4uYm9maS1tZW51OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0M1wiOyB9XG5cbi5ib2ZpLWludGVyZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2NVwiOyB9XG5cbi5ib2ZpLXBlbmRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRjXCI7IH1cblxuLmJvZmktcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRkXCI7IH1cblxuLmJvZmktcHJpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRmXCI7IH1cblxuLmJvZmktcmVmdW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1MlwiOyB9XG5cbi5ib2ZpLXJlbW92ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTNcIjsgfVxuXG4uYm9maS1zdWNjZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1NFwiOyB9XG5cbi5ib2ZpLXNlYXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTZcIjsgfVxuXG4uYm9maS1wYXNzd29yZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmRcIjsgfVxuXG4uYm9maS11c2VybmFtZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzVcIjsgfVxuXG4uYm9maS1nZWFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2OFwiOyB9XG5cbi5ib2ZpLWNvbnRhY3QtbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDJcIjsgfVxuXG4uYm9maS1maWx0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc2XCI7IH1cblxuLmJvZmktZGViaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDYyXCI7IH1cblxuLmJvZmktc3VwcG9ydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjlcIjsgfVxuXG4uYm9maS11c2VyLXNldHRpbmdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3MFwiOyB9XG5cbi5ib2ZpLWFjY291bnRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2NFwiOyB9XG5cbi5ib2ZpLXRyYW5zZmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2NlwiOyB9XG5cbi5ib2ZpLXBob3RvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3OVwiOyB9XG5cbi5ib2ZpLWNoZWNrLW1hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ2XCI7IH1cblxuLmJvZmktaW5mb3JtYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ5XCI7IH1cblxuLmJvZmktY2hhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGJcIjsgfVxuXG4uYm9maS1jYW5jZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRlXCI7IH1cblxuLmJvZmktc2VuZC1pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1NVwiOyB9XG5cbi5ib2ZpLXdhcm5pbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU4XCI7IH1cblxuLmJvZmktdXBsb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1YVwiOyB9XG5cbi5ib2ZpLXRodW1ic3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzMFwiOyB9XG5cbi5ib2ZpLXBkZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDdcIjsgfVxuXG4uYm9maS1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDhcIjsgfVxuXG4uYm9maS1zdGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzNlwiOyB9XG5cbi5ib2ZpLWNhbWVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzJcIjsgfVxuXG4uYm9maS1kZWxpdmVyeS1tZXRob2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDM0XCI7IH1cblxuLmJvZmktZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDM3XCI7IH1cblxuLmJvZmktZWJpbGwtcGF5YmlsbHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDM4XCI7IH1cblxuLmJvZmktZmxhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjJcIjsgfVxuXG4uYm9maS1hbGVydC1oaXN0b3J5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyNFwiOyB9XG5cbi5ib2ZpLW1vYmlsZWRlcG9zaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI4XCI7IH1cblxuLmJvZmktb25ldGltZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjlcIjsgfVxuXG4uYm9maS1wZXJzb25hbC1tZXNzYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyY1wiOyB9XG5cbi5ib2ZpLXRleHQtbWVzc2FnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGFcIjsgfVxuXG4uYm9maS1leWUtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTBcIjsgfVxuXG4uYm9maS1hdHRhY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDUxXCI7IH1cblxuLmJvZmktbG9nb3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2YlwiOyB9XG5cbi5ib2ZpLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0NVwiOyB9XG5cbi5ib2ZpLWdlYXItY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1N1wiOyB9XG5cbi5ib2ZpLXRodW1ic3VwLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTlcIjsgfVxuXG4uYm9maS1tb2RhbC1zZW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2Y1wiOyB9XG5cbi5ib2ZpLWFkZC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0NFwiOyB9XG5cbi5ib2ZpLWdyb3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzM1wiOyB9XG5cbi5ib2ZpLWhvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDM1XCI7IH1cblxuLmJvZmktcGVyc29uYWwtaW5mbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzlcIjsgfVxuXG4uYm9maS1wZXJzb24tY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIxXCI7IH1cblxuLmJvZmktcGVyc29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyM1wiOyB9XG5cbi5ib2ZpLXNpZ25lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjVcIjsgfVxuXG4uYm9maS1kYXRlcGlja2VyLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI2XCI7IH1cblxuLmJvZmktcmVmdW5kLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDYzXCI7IH1cblxuLmJvZmktcmVjdXJyaW5nLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI3XCI7IH1cblxuLmJvZmktbWVzc2FnZXMtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMmFcIjsgfVxuXG4uYm9maS1mYXEtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMmJcIjsgfVxuXG4uYm9maS1nZWFyLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDJkXCI7IH1cblxuLmJvZmktcmVtb3ZlLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDJlXCI7IH1cblxuLmJvZmktcmVmdW5kLTI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDJmXCI7IH1cblxuLmJvZmktdXNlcm5hbWUtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcM2FcIjsgfVxuXG4uYm9maS1zZWFyY2gtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcM2JcIjsgfVxuXG4uYm9maS1wYXNzd29yZC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzY1wiOyB9XG5cbi5ib2ZpLWRhc2hib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcM2RcIjsgfVxuXG4uYm9maS1hdG0tMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcM2VcIjsgfVxuXG4uYm9maS1wZW5kaW5nLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNmXCI7IH1cblxuLmJvZmktc3VjY2Vzcy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0MFwiOyB9XG5cbi5ib2ZpLXBob25lLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDViXCI7IH1cblxuLmJvZmktcHJpbnQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNWRcIjsgfVxuXG4uYm9maS1tZW51LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDVlXCI7IH1cblxuLmJvZmktaW50ZXJlc3QtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNWZcIjsgfVxuXG4uYm9maS1pYy1jb250YWN0LWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDYwXCI7IH1cblxuLmJvZmktZGVwb3NpdC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3YlwiOyB9XG5cbi5ib2ZpLWF1dG9tYXRpYy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3Y1wiOyB9XG5cbi5ib2ZpLWF1dG9tYXRpY3BheW1lbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDdkXCI7IH1cblxuLmJvZmktYmFuay0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3ZVwiOyB9XG5cbi5ib2ZpLWJhbmtmZWVzLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDVjXCI7IH1cblxuLmJvZmktZWRpdC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDAwXCI7IH1cblxuLmJvZmktMTQ5ODE5NTU5Mi1pY29uMTUtODpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmVcIjsgfVxuXG4uYm9maS1hcnJvdy1jaGV2cm9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzMVwiOyB9XG5cbi5jZGstb3ZlcmxheS1jb250YWluZXIsXG4uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXIge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jZGstb3ZlcmxheS1jb250YWluZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDA7IH1cblxuLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDAwOyB9XG5cbi5jZGstb3ZlcmxheS1wYW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgei1pbmRleDogMTAwMDsgfVxuXG4uY2RrLW92ZXJsYXktYmFja2Ryb3Age1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTAwMDtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7XG4gIG9wYWNpdHk6IDA7IH1cbiAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3Age1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjg4KTsgfVxuXG4uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AsIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uY2RrLWdsb2JhbC1zY3JvbGxibG9jayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2stYm91bmNlZGVsYXkge1xuICAwJSwgODAlLCAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNrLWJvdW5jZWRlbGF5IHtcbiAgMCUsIDgwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByaXBwbGUge1xuICA1JSxcbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1JSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyByaXBwbGUge1xuICA1JSxcbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1JSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkAtby1rZXlmcmFtZXMgcmlwcGxlIHtcbiAgNSUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNSUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJpcHBsZSB7XG4gIDUlLFxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnVrLWZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGlubGluZS10YWJsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1pbi1oZWlnaHQ6IDE4cHg7IH1cbiAgLnVrLWZvcm0tY29udHJvbF9fdmFsdWUge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgbWF4LXdpZHRoOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBtaW4taGVpZ2h0OiA0OHB4OyB9XG4gIC51ay1mb3JtLWNvbnRyb2xfX2FkZG9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAwLjI1ZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBoZWlnaHQ6IDQ2cHg7XG4gIGNvbG9yOiBibGFjaztcbiAgZm9udC1zaXplOiAxNnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5hbGVydCAuaWNvbiB7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7IH1cbiAgLmFsZXJ0IC5jbG9zZS1pY29uIHtcbiAgICBmb250LXNpemU6IDYuMjI4NXB4O1xuICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuICAuYWxlcnQgLmNoaWxkLS1mZWF0dXJlZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxM3B4O1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuXG4uYWRkcmVzcy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMS40ZW07IH1cblxuLmFkZHJlc3MtdGV4dCB7XG4gIG1hcmdpbjogNXB4IDA7IH1cblxuLmF4b3MtdGl0bGUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4OyB9XG5cbi5hZGRyZXNzLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IEthcmJvbi1NZWRpdW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAyLjdweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uYWRkcmVzcy1saXN0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0M5Q0NDRjtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4iLCIvLyBAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUxpYnJlK0ZyYW5rbGluOjMwMCw0MDAsNTAwLDYwMCw3MDAnKTtcclxuQGltcG9ydCAnLi9fZm9udC5zY3NzJztcclxuQGltcG9ydCAnLi9fc3Itb25seS5zY3NzJztcclxuXHJcbkBtaXhpbiB1ay1nbG9iYWwoJHVrLXRoZW1lKSB7XHJcbiAgICAkZm9udC1jb25maWc6IG1hcC1nZXQoJHVrLXRoZW1lLCBmb250cyk7XHJcbiAgICAkZm9udC1mYW1pbGllczogbWFwLWdldCgkZm9udC1jb25maWcsIGZhbWlsaWVzKTtcclxuICAgICRmb250LXNpemVzOiBtYXAtZ2V0KCRmb250LWNvbmZpZywgc2l6ZXMpO1xyXG5cclxuICAgIEBlYWNoICRmb250LWZhbWlseSwgJHZhbHVlIGluICRmb250LWZhbWlsaWVzIHtcclxuICAgICAgICAkZm9udC11cmw6IG1hcC1nZXQoJHZhbHVlLCB1cmwpO1xyXG4gICAgICAgIEBpZiAkZm9udC11cmwge1xyXG4gICAgICAgICAgICBAaW1wb3J0IHVybCgkZm9udC11cmwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAkcHJpbWFyeS1mb250LWZhbWlsaXk6IG1hcC1nZXQoJGZvbnQtZmFtaWxpZXMsIHByaW1hcnkpO1xyXG5cclxuICAgIGh0bWwgeyBcclxuICAgICAgICBib2R5IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogbWFwLWdldCgkcHJpbWFyeS1mb250LWZhbWlsaXksIG5hbWUpLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcHJpbWFyeS1mb250LWZhbWlsaXksIGNvbG9yKTtcclxuICAgICAgICAgICAgQGNvbnRlbnRcclxuICAgICAgICB9XHJcbiAgICAgICAgaDEsXHJcbiAgICAgICAgaDIsXHJcbiAgICAgICAgaDMsXHJcbiAgICAgICAgaDQsXHJcbiAgICAgICAgaDUsXHJcbiAgICAgICAgaDYge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB1ay1mb250cygkZm9udC1zaXplcyk7XHJcbiAgICAgICAgLnNyLW9ubHl7IEBpbmNsdWRlIHNyLW9ubHkoKTsgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKlxyXG5odG1sLFxyXG5ib2R5IHtcclxuICAgIGZvbnQtZmFtaWx5OiAnTGlicmUgRnJhbmtsaW4nLCAnSGVsdmV0aWNhJywgc2Fucy1zZXJpZjtcclxuICAgIC8vIGNvbG9yOiB0aGVtaWZ5KHRleHQpO1xyXG59XHJcblxyXG5cclxuXHJcbmEge1xyXG4gICAgY29sb3I6IHRoZW1pZnkobGluayk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4ucm91bmQtaW1hZ2Uge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG59XHJcblxyXG5cclxuKi8iLCIkY29udGFpbmVyLXdpZHRoOihzbTo0OXJlbSwgbWQ6NjVyZW0sIGxnOjc2cmVtKTtcclxuLmZjb250YWluZXItZmx1aWQsXHJcbi5mY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4uZmNvbnRhaW5lci1mbHVpZCB7XHJcbiAgICBwYWRkaW5nOiAwIDJyZW07XHJcbn1cclxuXHJcbkBtaXhpbiBjb250YWluZXIoJGtleSkge1xyXG4gICAgQGlmKCRrZXk9PSdsZycpIHtcclxuICAgICAgICAuY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGNvbnRhaW5lci13aWR0aCwgJGtleSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYoJGtleT09J21kJykge1xyXG4gICAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkY29udGFpbmVyLXdpZHRoLCAka2V5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZigka2V5PT0nc20nKSB7XHJcbiAgICAgICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRjb250YWluZXItd2lkdGgsICRrZXkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5mcm93IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4OiAwIDEgYXV0bztcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAmLnJldmVyc2Uge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5maW5saW5lIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IH0iLCIucmVzZXQtcGFkZGluZ3tcclxuICAgIHBhZGRpbmc6MDtcclxufVxyXG4ucmVzZXQtbWFyZ2lue1xyXG4gICAgbWFyZ2luOjA7XHJcbn1cclxuLnVrLWJ0biB7XHJcbiAgICAmLm5vbmUge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAvL291dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgbWluLXdpZHRoOiAwO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgICYuaWNvbiB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gICIsIi8vIFotbGV2ZWxzXHJcbi4jeyRwcmVmaXh9LXNoYWRvdy0wIHtcclxuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTEge1xyXG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxufVxyXG4uI3skcHJlZml4fS1zaGFkb3ctMS1oYWxmIHtcclxuICBib3gtc2hhZG93OiAwIDNweCAzcHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA3cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDNweCAxcHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTIge1xyXG4gIGJveC1zaGFkb3c6IDAgNHB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTMge1xyXG4gIGJveC1zaGFkb3c6IDAgNnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCAxOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG59XHJcbi4jeyRwcmVmaXh9LXNoYWRvdy00IHtcclxuICBib3gtc2hhZG93OiAwIDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTUge1xyXG4gIGJveC1zaGFkb3c6IDAgMTZweCAyNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDZweCAzMHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDhweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG59IiwiLnVrLW5hdntcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHJcbiAgICAudWstbmF2LWl0ZW17XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMHB4O1xyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiJHRvb2x0aXAtaGVpZ2h0OiAyOHB4O1xyXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAjMjkzNTQxO1xyXG4kdG9vbHRpcC1wYWRkaW5nOiA1cHggMTBweDtcclxuJHRvb2x0aXAtYXJyb3c6IDZweDtcclxuXHJcbi51ay10b29sdGlwIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICBjb2xvcjogI0ZGRjtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIG1heC13aWR0aDogMjgwcHg7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xyXG4gICAgei1pbmRleDogMjtcclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGJvcmRlcjogc29saWQgJHRvb2x0aXAtYXJyb3cgdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi53aGl0ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcclxuICAgICAgICBjb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAmLmJvdHRvbSB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogKC0yICogJHRvb2x0aXAtYXJyb3cpO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYud2hpdGU6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6I0ZGRiAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnRvcCB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogKC0yICogJHRvb2x0aXAtYXJyb3cpO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYud2hpdGU6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICNGRkYgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5sZWZ0IHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAoLTIgKiAkdG9vbHRpcC1hcnJvdyk7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnJpZ2h0IHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAoLTIgKiAkdG9vbHRpcC1hcnJvdyk7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udWstbGFiZWwge1xyXG4gICAgJi51ay10b29sdGlwLWhvc3Qge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IDVweDtcclxuICAgIH1cclxufVxyXG4iLCIkdWstcHJvZ3Jlc3MtYmFyLWxhYmxlLXNwYWNlOiA3cHg7XHJcbiR1ay1wcm9ncmVzcy1iYXItbGluZS1oZWlnaHQ6IDNweDtcclxuJHJpcHBsZS1zaXplOiAoeHM6IDIwcHgsIHNtOiAyNXB4LCBtZDogMzVweCk7XHJcbiRyaXBwbGUtYm9yZGVyLXdpZHRoOiAycHg7XHJcblxyXG4udWstc3RlcHBlcntcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIC51ay1wcm9ncmVzcy10aXRsZSB7XHJcbiAgICAgICAgY29sb3I6IHRoZW1pZnkodGV4dCwgJHRoZW1lKTtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogN3B4O1xyXG4gICAgfVxyXG4gICAgLnVrLXByb2dyZXNzLXN0ZXAtYm9keXtcclxuICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC51ay1wcm9ncmVzcy10cmFjayB7XHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAgIC51ay1wcm9ncmVzcy1zdGVwIHtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3hzJykgKyAkdWstcHJvZ3Jlc3MtYmFyLWxhYmxlLXNwYWNlO1xyXG5cclxuICAgICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkoZ3JheSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogKG1hcC1nZXQoJHJpcHBsZS1zaXplLCAneHMnKSAtICR1ay1wcm9ncmVzcy1iYXItbGluZS1oZWlnaHQpIC8yO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkdWstcHJvZ3Jlc3MtYmFyLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7IGxlZnQ6IDA7IH1cclxuICAgICAgICAgICAgJjo6YWZ0ZXIgeyByaWdodDogMDsgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7ICY6OmJlZm9yZSB7IHdpZHRoOiAwOyB9fVxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQgeyAmOjphZnRlciB7IHdpZHRoOiAwOyB9fVxyXG5cclxuICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkoZ3JheSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAneHMnKTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3hzJyk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDRweDtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAudWstaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJHJpcHBsZS1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3hzJykgLSAoMiAqICRyaXBwbGUtYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLXNpemUsICd4cycpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnVrLXByb2dyZXNzLXRleHQge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHRoZW1pZnkoaW5hY3RpdmUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcdFxyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IHNvbGlkIDJweCAjRkZGO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLndpcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmRvbmV7XHJcbiAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgICAgICAudWstaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB0aGVtaWZ5KHdoaXRlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbml0aWFsO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgc20ge1xyXG4gICAgICAgICAgICAudWstcHJvZ3Jlc3Mtc3RlcCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdzbScpICsgJHVrLXByb2dyZXNzLWJhci1sYWJsZS1zcGFjZTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogKG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnc20nKSAtICR1ay1wcm9ncmVzcy1iYXItbGluZS1oZWlnaHQpIC8yO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3NtJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnc20nKTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDZweDtcclxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnc20nKSAtICgyICogJHJpcHBsZS1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdzbScpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZCB7XHJcbiAgICAgICAgICAgIC51ay1wcm9ncmVzcy1zdGVwIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJykgKyAkdWstcHJvZ3Jlc3MtYmFyLWxhYmxlLXNwYWNlO1xyXG5cclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IChtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJykgLSAkdWstcHJvZ3Jlc3MtYmFyLWxpbmUtaGVpZ2h0KSAvMjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdtZCcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3Jle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnbWQnKSAtICgyICogJHJpcHBsZS1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdtZCcpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiJHByaW1hcnk6ICMxZTgyNTcgIWRlZmF1bHQ7XHJcbiRzZWNvbmRhcnk6ICNGQUE3NEEgIWRlZmF1bHQ7XHJcbiRsaW5rOiAjMTE1M2I1ICFkZWZhdWx0O1xyXG4kdGV4dDogIzI4MzU0MSAhZGVmYXVsdDtcclxuJGdyYXk6ICNiZWMxYzUgIWRlZmF1bHQ7XHJcbiRpbmFjdGl2ZTogIzZjNzc4MSAhZGVmYXVsdDtcclxuJG11dGVkOiAjZWVlZmYyICFkZWZhdWx0O1xyXG4kbGlnaHQ6ICNmNGY1ZjcgIWRlZmF1bHQ7XHJcbiRlcnJvcjogI2NiMmQwZSAhZGVmYXVsdDtcclxuJHdhcm5pbmc6ICNlMzc5MzYgIWRlZmF1bHQ7XHJcbiRzdWNjZXNzOiAjMjI5ODZjICFkZWZhdWx0O1xyXG4kaW5mbzogIzZhYTVmMiAhZGVmYXVsdDtcclxuJGFjY2VudC0xOiAjNjhjYzlhICFkZWZhdWx0O1xyXG4kYWNjZW50LTI6ICRpbmZvICFkZWZhdWx0O1xyXG4kd2hpdGU6ICNmZmYgIWRlZmF1bHQ7XHJcblxyXG4kYnRuLWJhc2U6IChcclxuICBoZWlnaHQ6IDUycHgsXHJcbiAgd2lkdGg6IDE3NXB4LFxyXG4gIHBhZGRpbmc6IDE2cHggNDBweFxyXG4pO1xyXG5cclxuJGJ0bi1zaXplczogKGxnOihoZWlnaHQ6IDUycHgsIHBhZGRpbmc6IDE2cHggNjBweCkpICFkZWZhdWx0O1xyXG4gIFxyXG4kdGhlbWU6IChcclxuICAgIHByaW1hcnk6ICRwcmltYXJ5LFxyXG4gICAgc2Vjb25kYXJ5OiAkc2Vjb25kYXJ5LFxyXG4gICAgbGluazogJGxpbmssXHJcbiAgICB0ZXh0OiAkdGV4dCxcclxuICAgIGdyYXk6ICRncmF5LFxyXG4gICAgaW5hY3RpdmU6ICRpbmFjdGl2ZSxcclxuICAgIGxpZ2h0OiAkbGlnaHQsXHJcbiAgICBtdXRlZDogJG11dGVkLFxyXG4gICAgZXJyb3I6ICRlcnJvcixcclxuICAgIHdhcm5pbmc6ICR3YXJuaW5nLFxyXG4gICAgc3VjY2VzczogJHN1Y2Nlc3MsXHJcbiAgICBpbmZvIDogJGluZm8sXHJcbiAgICBhY2NlbnQtMTogJGFjY2VudC0xLFxyXG4gICAgYWNjZW50LTI6ICRhY2NlbnQtMixcclxuICAgIHdoaXRlOiAkd2hpdGVcclxuICApXHJcbiAgIWRlZmF1bHQ7XHJcbiRzaXplczogKFxyXG4gIHBob25lOlxyXG4gICAgKFxyXG4gICAgICAvLyBBcHByb3ZlZFxyXG4gICAgICBoMTooZm9udC1zaXplOiA1MnB4LCBsaW5lLWhlaWdodDogNThweCwgZm9udC13ZWlnaHQ6IDMwMCksXHJcbiAgICAgIGgyOihmb250LXNpemU6IDQycHgsIGxpbmUtaGVpZ2h0OiA1MHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgaDQ6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgcDooZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjRweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGxhYmVsOiAoZm9udC1zaXplOiAxNHB4LCBsaW5lLWhlaWdodDogMjBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIC8vIEVuZCBBcHByb3ZlZFxyXG4gICAgICBoMzooZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjRweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGJvZHk6KGZvbnQtc2l6ZTogMTVweCwgbGluZS1oZWlnaHQ6IDE4cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBzbWFsbDooZm9udC1zaXplOiAxNHB4LCBsaW5lLWhlaWdodDogMjBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICApLFxyXG4gIHRhYmxldDooXHJcbiAgICAgIC8vIEFwcHJvdmVkXHJcbiAgICAgIGgxOihmb250LXNpemU6IDYycHgsIGxpbmUtaGVpZ2h0OiA2OHB4LCBmb250LXdlaWdodDogMzAwKSxcclxuICAgICAgaDI6KGZvbnQtc2l6ZTogNTJweCwgbGluZS1oZWlnaHQ6IDYwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBoNDogKGZvbnQtc2l6ZTogMjBweCwgbGluZS1oZWlnaHQ6IDMwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBwOihmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgbGFiZWw6IChmb250LXNpemU6IDE0cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgLy8gRW5kIEFwcHJvdmVkXHJcbiAgICAgIGgzOihmb250LXNpemU6IDI2cHgsIGxpbmUtaGVpZ2h0OiAzMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgYm9keTooZm9udC1zaXplOiAxNXB4LCBsaW5lLWhlaWdodDogMjBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIHNtYWxsOihmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICksXHJcbiAgZGVza3RvcDooXHJcbiAgICAgIC8vIEFwcHJvdmVkXHJcbiAgICAgIGgxOiAoZm9udC1zaXplOiA3MnB4LCBsaW5lLWhlaWdodDogNzhweCwgZm9udC13ZWlnaHQ6IDMwMCksXHJcbiAgICAgIGgyOiAoZm9udC1zaXplOiA2MnB4LCBsaW5lLWhlaWdodDogNzBweCwgZm9udC13ZWlnaHQ6IDMwMCksXHJcbiAgICAgIGg0OiAoZm9udC1zaXplOiAyMHB4LCBsaW5lLWhlaWdodDogMzBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIHA6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyMnB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgbGFiZWw6IChmb250LXNpemU6IDE0cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNDAwKSxcclxuICAgICAgLy8gRW5kIEFwcHJvdmVkXHJcbiAgICAgIGgzOiAoZm9udC1zaXplOiAyNHB4LCBsaW5lLWhlaWdodDogMjhweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGJvZHk6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAxOHB4LCBmb250LXdlaWdodDogNDAwKSxcclxuICAgICAgc21hbGw6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNDAwKSxcclxuICAgIClcclxuKTtcclxuJGd1dHRlcjogMzBweDtcclxuXHJcblxyXG4vL0FOR1VMQVIgQ0RLIE9WRVJMQVkgVkFSSUFCTEVTXHJcbiRjZGstei1pbmRleC1vdmVybGF5LWNvbnRhaW5lcjogMTAwMDtcclxuJGNkay16LWluZGV4LW92ZXJsYXk6IDEwMDA7XHJcbiRjZGstei1pbmRleC1vdmVybGF5LWJhY2tkcm9wOiAxMDAwO1xyXG5cclxuLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYWxsIG9mIHRoZSBiYWNrZHJvcHNcclxuJGNkay1vdmVybGF5LWRhcmstYmFja2Ryb3AtYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI4OCk7XHJcblxyXG4vLyBEZWZhdWx0IGJhY2tkcm9wIGFuaW1hdGlvbiBpcyBiYXNlZCBvbiB0aGUgTWF0ZXJpYWwgRGVzaWduIHN3aWZ0LWVhc2Utb3V0LlxyXG4kYmFja2Ryb3AtYW5pbWF0aW9uLWR1cmF0aW9uOiA0MDBtcyAhZGVmYXVsdDtcclxuJGJhY2tkcm9wLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpICFkZWZhdWx0OyIsIi8vIEdyYXlzXHJcbiRpbmFjdGl2ZTogIzVGNjg3MTtcclxuJG1pZC1ncmF5OiAjOTQ5QUEwO1xyXG4kZ3JheTogI0M5Q0NDRjtcclxuJG11dGVkOiAjRTlFQUVDO1xyXG4kbGlnaHQ6ICNGNEY1RjU7XHJcbiR3aGl0ZTogI0ZGRjtcclxuLy8gSWxsdXN0cmF0aXZlIEljb25zXHJcbiRpbmZvOiAjNjQ5NUY2O1xyXG4kYWNjZW50LTE6ICNGRkY7XHJcbiRhY2NlbnQtMjogIzAwMDtcclxuLy8gQWxlcnRzXHJcbiRlcnJvcjogI2NiMmQwZTtcclxuJHdhcm5pbmc6ICNlMzc5MzY7XHJcbiRzdWNjZXNzOiAjMjI5ODZjO1xyXG4vLyBMaW5rc1xyXG4kbGluazogIzE3NkFDRjtcclxuJGxpbmstdmlzaXRlZDogIzU1MUE4QjsiLCIkYnJlYWtwb2ludHMgOiggeHM6NDgwcHgsIHNtOiA3NjhweCwgbWQ6OTkycHgsIGxnOiAxMjAwcHgpO1xyXG5cclxuQG1peGluIHhzIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBzbSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAnc20nKSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWQge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJ21kJykpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGxnIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICdsZycpKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuIiwiQGltcG9ydCAnLi9fZm9udC1pY29uLnNjc3MnO1xyXG5cclxuJGJ0bi1pY29uLXNpemU6IDFlbTtcclxuJGljb24tc2l6ZTogMS41ZW07XHJcblxyXG5AbWl4aW4gaWNvbnMge1xyXG4gICAgLnVrLWJ0bi5pY29ue1xyXG4gICAgICAgIC51ay1pY29ue1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRpY29uLXNpemU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkaWNvbi1zaXplO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC51ay1idG57XHJcbiAgICAgICAgLnVrLWljb257XHJcbiAgICAgICAgICAgIGhlaWdodDogJGJ0bi1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkYnRuLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkYnRuLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgLy9HZW5lcmFsXHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnVrLWljb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBzdHJva2Utd2lkdGg6IDA7XHJcbiAgICAgICAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XHJcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGljb24tc2l6ZTtcclxuICAgICAgICBtYXgtd2lkdGg6ICRpY29uLXNpemU7XHJcbiAgICAgICAgbWF4LWhlaWdodDogJGljb24tc2l6ZTtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgaWNvbnMoKTtcclxuQGluY2x1ZGUgZm9udEljb25zKCk7IiwiQG1peGluIGZvbnRJY29ucyB7XHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogXCJib2ZpLWljb25cIjtcclxuICAgICAgICBzcmM6dXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24uZW90XCIpO1xyXG4gICAgICAgIHNyYzp1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxyXG4gICAgICAgICAgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgICAgICAgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24uc3ZnI2JvZmktaWNvblwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7ICBcclxuICAgIH1cclxuXHJcbiAgICBbZGF0YS1pY29uXTpiZWZvcmUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLWljb24pO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgc3BlYWs6IG5vbmU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgW2NsYXNzXj1cImJvZmktXCJdOmJlZm9yZSxcclxuICAgICAgW2NsYXNzKj1cIiBib2ZpLVwiXTpiZWZvcmUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBzcGVhazogbm9uZTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAuYm9maS1yZWN1cnJpbmc6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1lYmlsbDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2N1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWFkZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2ZlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWF0bTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3MVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWF1dG9tYXRpYzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3MlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWJhbms6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1iYW5rZmVlczpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3NFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRhdGVwaWNrZXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kZXBvc2l0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDc3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZWRpdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3OFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWZhcTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3YVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW1lc3NhZ2VzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQxXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbWVudTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0M1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWludGVyZXN0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDY1XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGVuZGluZzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0Y1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBob25lOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDRkXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcHJpbnQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNGZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZWZ1bmQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZW1vdmU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zdWNjZXNzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDU0XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc2VhcmNoOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDU2XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGFzc3dvcmQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS11c2VybmFtZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3NVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWdlYXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjhcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jb250YWN0LWxpc3Q6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1maWx0ZXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kZWJpdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2MlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXN1cHBvcnQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjlcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS11c2VyLXNldHRpbmdzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDcwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYWNjb3VudHM6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS10cmFuc2ZlcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2NlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBob3RvOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDc5XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2hlY2stbWFyazpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0NlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWluZm9ybWF0aW9uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQ5XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2hhdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0YlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNhbmNlbDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0ZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXNlbmQtaWNvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1NVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXdhcm5pbmc6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNThcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS11cGxvYWQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS10aHVtYnN1cDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzMFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBkZjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0N1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNoZWNrOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQ4XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc3RhcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzNlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNhbWVyYTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzMlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRlbGl2ZXJ5LW1ldGhvZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzNFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRvd25sb2FkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDM3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZWJpbGwtcGF5YmlsbHM6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzhcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1mbGFnOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDIyXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYWxlcnQtaGlzdG9yeTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyNFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW1vYmlsZWRlcG9zaXQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjhcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1vbmV0aW1lOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDI5XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGVyc29uYWwtbWVzc2FnZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyY1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXRleHQtbWVzc2FnZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0YVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWV5ZS1vdXRsaW5lOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDUwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXR0YWNoOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDUxXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbG9nb3V0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDZiXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2xvc2U6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1nZWFyLWNpcmNsZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1N1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXRodW1ic3VwLWNpcmNsZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1OVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW1vZGFsLXNlbmQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hZGQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0NFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWdyb3VwOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDMzXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktaG9tZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzNVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBlcnNvbmFsLWluZm86YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzlcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZXJzb24tY2hlY2s6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZXJzb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zaWduZXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kYXRlcGlja2VyLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZWZ1bmQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2M1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXJlY3VycmluZy0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDI3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbWVzc2FnZXMtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyYVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWZhcS0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDJiXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZ2Vhci0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDJkXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcmVtb3ZlLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMmVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZWZ1bmQtMjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyZlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXVzZXJuYW1lLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcM2FcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zZWFyY2gtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzYlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBhc3N3b3JkLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcM2NcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kYXNoYm9hcmQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcM2RcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hdG0tMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBlbmRpbmctMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzZlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXN1Y2Nlc3MtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0MFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBob25lLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wcmludC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDVkXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbWVudS0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDVlXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktaW50ZXJlc3QtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1ZlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWljLWNvbnRhY3QtbGlzdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2MFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRlcG9zaXQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3YlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWF1dG9tYXRpYy0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDdjXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXV0b21hdGljcGF5bWVudDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3ZFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWJhbmstMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3ZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWJhbmtmZWVzLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1lZGl0LTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcZTAwMFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLTE0OTgxOTU1OTItaWNvbjE1LTg6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hcnJvdy1jaGV2cm9uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDMxXCI7XHJcbiAgICAgIH0gICAgICBcclxufSIsIi5jZGstb3ZlcmxheS1jb250YWluZXIsXHJcbi5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlciB7XHJcbiAgLy8gRGlzYWJsZSBldmVudHMgZnJvbSBiZWluZyBjYXB0dXJlZCBvbiB0aGUgb3ZlcmxheSBjb250YWluZXIuXHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gIC8vIFRoZSBjb250YWluZXIgc2hvdWxkIGJlIHRoZSBzaXplIG9mIHRoZSB2aWV3cG9ydC5cclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8vIFRoZSBvdmVybGF5LWNvbnRhaW5lciBpcyBhbiBpbnZpc2libGUgZWxlbWVudCB3aGljaCBjb250YWlucyBhbGwgaW5kaXZpZHVhbCBvdmVybGF5cy5cclxuLmNkay1vdmVybGF5LWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5LWNvbnRhaW5lcjtcclxufVxyXG5cclxuLy8gV2UgdXNlIGFuIGV4dHJhIHdyYXBwZXIgZWxlbWVudCBpbiBvcmRlciB0byB1c2UgbWFrZSB0aGUgb3ZlcmxheSBpdHNlbGYgYSBmbGV4IGl0ZW0uXHJcbi8vIFRoaXMgbWFrZXMgY2VudGVyaW5nIHRoZSBvdmVybGF5IGVhc3kgd2l0aG91dCBydW5uaW5nIGludG8gdGhlIHN1YnBpeGVsIHJlbmRlcmluZ1xyXG4vLyBwcm9ibGVtcyB0aWVkIHRvIHVzaW5nIGB0cmFuc2Zvcm1gIGFuZCB3aXRob3V0IGludGVyZmVyaW5nIHdpdGggdGhlIG90aGVyIHBvc2l0aW9uXHJcbi8vIHN0cmF0ZWdpZXMuXHJcbi5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXk7XHJcbn1cclxuXHJcbi8vIEEgc2luZ2xlIG92ZXJsYXkgcGFuZS5cclxuLmNkay1vdmVybGF5LXBhbmUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5O1xyXG59XHJcblxyXG4uY2RrLW92ZXJsYXktYmFja2Ryb3Age1xyXG4gIC8vIFRPRE8oamVsYm91cm4pOiByZXVzZSBzaWRlbmF2IGZ1bGxzY3JlZW4gbWl4aW4uXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuXHJcbiAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXktYmFja2Ryb3A7XHJcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRiYWNrZHJvcC1hbmltYXRpb24tZHVyYXRpb25cclxuICAgICRiYWNrZHJvcC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uO1xyXG4gIG9wYWNpdHk6IDA7XHJcblxyXG4gICYuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3Age1xyXG4gIGJhY2tncm91bmQ6ICRjZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wLWJhY2tncm91bmQ7XHJcbn1cclxuXHJcbi5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCB7XHJcbiAgLy8gTm90ZTogYXMgb2YgRmlyZWZveCA1NywgaGF2aW5nIHRoZSBiYWNrZHJvcCBiZSBgYmFja2dyb3VuZDogbm9uZWAgd2lsbCBwcmV2ZW50IGl0IGZyb21cclxuICAvLyBjYXB0dXJpbmcgdGhlIHVzZXIncyBtb3VzZSBzY3JvbGwgZXZlbnRzLiBTaW5jZSB3ZSBhbHNvIGNhbid0IHVzZSBzb21ldGhpbmcgbGlrZVxyXG4gIC8vIGByZ2JhKDAsIDAsIDAsIDApYCwgd2Ugd29yayBhcm91bmQgdGhlIGluY29uc2lzdGVuY3kgYnkgbm90IHNldHRpbmcgdGhlIGJhY2tncm91bmQgYXRcclxuICAvLyBhbGwgYW5kIHVzaW5nIGBvcGFjaXR5YCB0byBtYWtlIHRoZSBlbGVtZW50IHRyYW5zcGFyZW50LlxyXG4gICYsXHJcbiAgJi5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBVc2VkIHdoZW4gZGlzYWJsaW5nIGdsb2JhbCBzY3JvbGxpbmcuXHJcbi5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcblxyXG4gIC8vIE5lY2Vzc2FyeSBmb3IgdGhlIGNvbnRlbnQgbm90IHRvIGxvc2UgaXRzIHdpZHRoLiBOb3RlIHRoYXQgd2UncmUgdXNpbmcgMTAwJSwgaW5zdGVhZCBvZlxyXG4gIC8vIDEwMHZ3LCBiZWNhdXNlIDEwMHZ3IGluY2x1ZGVzIHRoZSB3aWR0aCBwbHVzIHRoZSBzY3JvbGxiYXIsIHdoZXJlYXMgMTAwJSBpcyB0aGUgd2lkdGhcclxuICAvLyB0aGF0IHRoZSBlbGVtZW50IGhhZCBiZWZvcmUgd2UgbWFkZSBpdCBgZml4ZWRgLlxyXG4gIHdpZHRoOiAxMDAlO1xyXG5cclxuICAvLyBOb3RlOiB0aGlzIHdpbGwgYWx3YXlzIGFkZCBhIHNjcm9sbGJhciB0byB3aGF0ZXZlciBlbGVtZW50IGl0IGlzIG9uLCB3aGljaCBjYW5cclxuICAvLyBwb3RlbnRpYWxseSByZXN1bHQgaW4gZG91YmxlIHNjcm9sbGJhcnMuIEl0IHNob3VsZG4ndCBiZSBhbiBpc3N1ZSwgYmVjYXVzZSB3ZSB3b24ndFxyXG4gIC8vIGJsb2NrIHNjcm9sbGluZyBvbiBhIHBhZ2UgdGhhdCBkb2Vzbid0IGhhdmUgYSBzY3JvbGxiYXIgaW4gdGhlIGZpcnN0IHBsYWNlLlxyXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcclxufVxyXG4iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMvX2FuaW1hdGlvbi5zY3NzJztcclxuQC13ZWJraXQta2V5ZnJhbWVzIHNrLWJvdW5jZWRlbGF5IHtcclxuICAgIDAlLCA4MCUsIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCkgfVxyXG4gICAgNDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMCkgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNrLWJvdW5jZWRlbGF5IHtcclxuICAgIDAlLCA4MCUsIDEwMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgfSA0MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wKTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHVrLWRvdC1sb2FkZXIoJHRoZW1lKSB7XHJcbiAgICAudWlraXQtZG90LWxvYWRlciB7XHJcbiAgICAgICAgdXNlci1zZWxlY3Q6bm9uZTsgICAgICAgICAgICBcclxuICAgICAgICAmLnVpa2l0LWlubGluZS1kb3QtbG9hZGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtYXJnaW46IDIwcHggYXV0bztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgPnNwYW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgd2lkdGg6IDE1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeSh3aGl0ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgdGhlbWlmeShwcmltYXJ5LCAkdGhlbWUpO1xyXG5cclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBhbmltYXRpb24oc2stYm91bmNlZGVsYXkgMS4ycyBpbmZpbml0ZSBlYXNlLWluLW91dCBib3RoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgPi5ib3VuY2UxIHtcclxuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4zMnM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4uYm91bmNlMiB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogLTAuMTZzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGUuLi4pIHtcclxuICAgICRtYXg6IGxlbmd0aCgkYW5pbWF0ZSk7XHJcbiAgICAkYW5pbWF0aW9uczogJyc7XHJcblxyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcclxuICAgICAgICAkYW5pbWF0aW9uczogI3skYW5pbWF0aW9ucyArIG50aCgkYW5pbWF0ZSwgJGkpfTtcclxuXHJcbiAgICAgICAgQGlmICRpIDwgJG1heCB7XHJcbiAgICAgICAgICAgICRhbmltYXRpb25zOiAjeyRhbmltYXRpb25zICsgJywgJ307XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYW5pbWF0aW9uOiAkYW5pbWF0aW9ucztcclxufVxyXG5cclxuQG1peGluIGtleWZyYW1lcygkYW5pbWF0aW9uTmFtZSkge1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxuICAgIEAtbW96LWtleWZyYW1lcyAjeyRhbmltYXRpb25OYW1lfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICBALW8ta2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxuICAgIEBrZXlmcmFtZXMgI3skYW5pbWF0aW9uTmFtZX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59IiwiQGltcG9ydCAnLi4vLi4vbWl4aW5zL2FuaW1hdGlvbi5zY3NzJztcclxuQGltcG9ydCAnLi4vLi4vZ2xvYmFsL19zci1vbmx5LnNjc3MnO1xyXG5cclxuJGlucHV0OiAoIHNpemU6IDIycHgsIG1hcmdpbi1yaWdodDogMTBweCk7XHJcbiRyaXBwbGU6ICggcG9zaXRpb246IDEwcHgsIHNpemU6IG1hcC1nZXQoJGlucHV0LCBzaXplKSAqIDMpO1xyXG5AaW5jbHVkZSBrZXlmcmFtZXMocmlwcGxlKSB7XHJcbiAgICA1JSxcclxuICAgIDEwMCUgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICA1JSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG5cclxuQG1peGluIHVrLXJhZGlvKCR0aGVtZSkge1xyXG4gICAgI3skcHJlZml4fS1yYWRpby1ncm91cCB7XHJcbiAgICAgICAgLiN7JHByZWZpeH0tcmFkaW8tZ3JvdXAge1xyXG4gICAgICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9cmFkaW9dIHtcclxuICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDEwcHg7ICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDsgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICRpbnB1dHMtY29uZmlnOiBtYXAtZ2V0KCR0aGVtZSwgaW5wdXRzKTtcclxuICAgICRjb25maWc6IG1hcC1nZXQoJGlucHV0cy1jb25maWcsIGlucHV0LWNoZWNrZWQpO1xyXG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeS1jb2xvcik7XHJcbiAgICBpbnB1dFt0eXBlPXJhZGlvXSB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3Itb25seSgpO1xyXG5cclxuICAgICAgICAmOmRpc2FibGVkK2xhYmVsOm5vdCg6Y2hlY2tlZCksICYuZGlzYWJsZWQrbGFiZWw6bm90KDpjaGVja2VkKSB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdGhlbWlmeShpbmFjdGl2ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICArbGFiZWwge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgLy8gbWFyZ2luOiAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IChtYXAtZ2V0KCRpbnB1dCwgc2l6ZSkgKyBtYXAtZ2V0KCRpbnB1dCwgbWFyZ2luLXJpZ2h0KSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogbWFwLWdldCgkaW5wdXQsIHNpemUpICsgMnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbWFwLWdldCgkaW5wdXQsIHNpemUpICsgMnB4O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGlucHV0LCBzaXplKTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkaW5wdXQsIHNpemUpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCBtYXAtZ2V0KCRpbnB1dCwgc2l6ZSkgdGhlbWlmeSh3aGl0ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRoZW1pZnkoaW5hY3RpdmUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAobWFwLWdldCgkaW5wdXQsIHNpemUpIC8gMik7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBtYXAtZ2V0KCRyaXBwbGUsIHBvc2l0aW9uKSAtIDFweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUsIHNpemUpO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUsIHNpemUpO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHByaW1hcnktY29sb3IsIDAuMSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwKTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIrbGFiZWwsICYuaG92ZXIrbGFiZWx7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Y2hlY2tlZCtsYWJlbCB7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA0cHggdGhlbWlmeSh3aGl0ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3IgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFuaW1hdGlvbihyaXBwbGUgMXMgbm9uZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIudWstZm9ybS1jb250cm9sIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS10YWJsZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBtaW4taGVpZ2h0OiAxOHB4O1xyXG5cclxuICAgICZfX3ZhbHVlIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgIG1heC13aWR0aDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgbWluLWhlaWdodDogNDhweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgJl9fYWRkb24ge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcbn0iLCIuYWxlcnQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nLXRvcDogMTVweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgaGVpZ2h0OiA0NnB4O1xyXG4gIGNvbG9yOiBibGFjaztcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBcclxuICAuaWNvbiB7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgbWFyZ2luLXRvcDogLTJweDtcclxuICB9XHJcbiAgXHJcbiAgLmNsb3NlLWljb257XHJcbiAgICBmb250LXNpemU6IDYuMjI4NXB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gIH1cclxuXHJcbiAgLmNoaWxkLS1mZWF0dXJlZCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEzcHg7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgfVxyXG59IiwiQGltcG9ydCAnX3ZhcmlhYmxlcy5zY3NzJztcclxuXHJcbi5hZGRyZXNzLWNvbnRhaW5lcntcclxuICAgIGRpc3BsYXk6ZmxleDsgICBcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMS40ZW07XHJcbn1cclxuXHJcbi5hZGRyZXNzLXRleHR7XHJcbiAgICBtYXJnaW46IDVweCAwO1xyXG59XHJcblxyXG4uYXhvcy10aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjVweDtcclxufVxyXG5cclxuLmFkZHJlc3MtdGl0bGUge1xyXG4gICAgZm9udC1mYW1pbHk6IEthcmJvbi1NZWRpdW07XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDIuN3B4O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5hZGRyZXNzLWxpc3Qge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0M5Q0NDRjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxufSJdfQ== */\"","import { Component, Input } from '@angular/core';\r\n\r\nimport { Address } from 'models';\r\nimport { EnrollmentNavigationComponent } from '../abstracts';\r\n\r\n@Component({\r\n selector: 'axos-address-selection-universal',\r\n templateUrl: './address-selection-universal.component.html',\r\n styleUrls: ['./address-selection-universal.component.scss']\r\n})\r\nexport class AddressSelectionUniversalComponent extends EnrollmentNavigationComponent {\r\n @Input() address: Address;\r\n @Input() mailingAddress: Address;\r\n\r\n constructor() { super(); }\r\n\r\n onBack(){\r\n this.onNavigationChanged.emit({ goBack:true });\r\n }\r\n\r\n onContinue(value: string) { this.onNavigationChanged.emit({ goBack: false, value }); }\r\n\r\n get showMailing(): boolean {\r\n return !(this.address.street == this.mailingAddress.street &&\r\n this.address.city == this.mailingAddress.city &&\r\n this.address.state == this.mailingAddress.state &&\r\n this.address.zip == this.mailingAddress.zip &&\r\n this.address.country == this.mailingAddress.country);\r\n }\r\n\r\n}\r\n","module.exports = \".address-container {\\n display: -ms-flexbox;\\n display: flex; }\\n\\n.address-text {\\n margin: 0px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9hZGRyZXNzLXNlbGVjdGlvbi9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL3NyY1xcYXBwXFxlbnJvbGxtZW50LWNvbW1vblxcY29tcG9uZW50c1xcYWRkcmVzcy1zZWxlY3Rpb25cXGFkZHJlc3Mtc2VsZWN0aW9uLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksb0JBQVk7RUFBWixhQUFZLEVBQUE7O0FBR2hCO0VBQ0ksV0FBVyxFQUFBIiwiZmlsZSI6InNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9hZGRyZXNzLXNlbGVjdGlvbi9hZGRyZXNzLXNlbGVjdGlvbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hZGRyZXNzLWNvbnRhaW5lcntcclxuICAgIGRpc3BsYXk6ZmxleDsgICBcclxufVxyXG5cclxuLmFkZHJlc3MtdGV4dHtcclxuICAgIG1hcmdpbjogMHB4O1xyXG59Il19 */\"","import { Component, Input } from '@angular/core';\r\nimport { EnrollmentNavigationComponent } from '../abstracts';\r\nimport { Address } from 'models';\r\nimport { ZipCode } from 'app/enrollment-common/pipes/zipcode';\r\n\r\n@Component({\r\n selector:'app-address-selection',\r\n templateUrl:'./address-selection.component.html',\r\n styleUrls:['./address-selection.component.scss'],\r\n providers: [ZipCode]\r\n})\r\n\r\nexport class AddressSelectionComponent extends EnrollmentNavigationComponent {\r\n @Input() address:Address \r\n constructor(){ super(); }\r\n onBack(){ this.onNavigationChanged.emit({goBack:true}); } \r\n onContinue(value: string) { this.onNavigationChanged.emit({ goBack: false, value }); }\r\n}\r\n\r\n","module.exports = \"@media only screen and (min-width: 768px) {\\n :host::ng-deep .uk-form-container {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex: 0 1 auto;\\n flex: 0 1 auto;\\n -ms-flex-direction: row;\\n flex-direction: row;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap; }\\n :host::ng-deep .uk-form-container .uk-form-field {\\n max-width: 50%;\\n padding-left: 15px;\\n padding-right: 15px; }\\n :host::ng-deep .uk-form-container .uk-form-field.single {\\n max-width: 100%; } }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9hZGRyZXNzLXVuaXZlcnNhbC9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGdyaWRcXF9tZWRpYS1xdWVyaWVzLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvYWRkcmVzcy11bml2ZXJzYWwvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9zcmNcXGFwcFxcZW5yb2xsbWVudC1jb21tb25cXGNvbXBvbmVudHNcXGFkZHJlc3MtdW5pdmVyc2FsXFxhZGRyZXNzLXVuaXZlcnNhbC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9hZGRyZXNzLXVuaXZlcnNhbC9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL3NyY1xcc3R5bGVzXFxnbG9iYWxcXGR1YWwtZm9ybXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTSTtFQ1BKO0lDR1ksb0JBQWE7SUFBYixhQUFhO0lBQ2Isa0JBQWM7UUFBZCxjQUFjO0lBQ2QsdUJBQW1CO1FBQW5CLG1CQUFtQjtJQUNuQixtQkFBZTtRQUFmLGVBQWUsRUFBQTtJRE4zQjtNQ1NnQixjQUFjO01BQ2Qsa0JBQWtCO01BQ2xCLG1CQUFtQixFQUFBO01EWG5DO1FDYW9CLGVBQWUsRUFBQSxFQUNsQiIsImZpbGUiOiJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvYWRkcmVzcy11bml2ZXJzYWwvYWRkcmVzcy11bml2ZXJzYWwuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIkYnJlYWtwb2ludHMgOiggeHM6NDgwcHgsIHNtOiA3NjhweCwgbWQ6OTkycHgsIGxnOiAxMjAwcHgpO1xyXG5cclxuQG1peGluIHhzIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBzbSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAnc20nKSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWQge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJ21kJykpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGxnIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICdsZycpKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIl9taXhpbnMuc2Nzc1wiO1xyXG5cclxuOmhvc3Qge1xyXG4gICAgJjo6bmctZGVlcCB7XHJcbiAgICAgICAgQGluY2x1ZGUgZHVhbC1mb3JtcygpO1xyXG4gICAgfVxyXG59IiwiQGltcG9ydCBcIn5AdWlraXQvY29yZS9zcmMvZ3JpZC9fbWVkaWEtcXVlcmllc1wiO1xyXG5cclxuQG1peGluIGR1YWwtZm9ybXMoKSB7XHJcbiAgICBAaW5jbHVkZSBzbSB7XHJcbiAgICAgICAgLnVrLWZvcm0tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuXHJcbiAgICAgICAgICAgIC51ay1mb3JtLWZpZWxkIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcclxuICAgICAgICAgICAgICAgICYuc2luZ2xlIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0= */\"","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\r\nimport { UKValidators } from '@uikit/components/uk-validators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState, RecommendedApplicantAddressAction, SaveApplicantAddressAction } from 'store';\r\nimport { getIsManagedPortfolioOrSelfDirectedTrading, getStates, selectAddressInfoes } from 'store/selectors';\r\n\r\nimport { ZipService } from 'services';\r\n// Models\r\nimport { Address } from 'models';\r\n// Forms\r\nimport {\r\n ADDRESS_DEFAULT_VALIDATORS,\r\n setZipCodeValidator,\r\n ADDRESS_FORM_CREATOR,\r\n INVEST_CUSTOM_ADDRESS_FORM_CREATOR,\r\n INVEST_ADDRESS_DEFAULT_VALIDATORS,\r\n} from 'app/shared-forms'\r\n// Components\r\nimport { BaseFormComponent } from 'app/core/components';\r\nimport { ADDRESS_TYPE_NAME } from 'models/enums';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { AddressPopupComponent } from 'app/modals/components';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\ndeclare var environment;\r\n\r\n@Component({\r\n selector: 'app-address-universal',\r\n templateUrl: './address-universal.component.html',\r\n styleUrls: ['./address-universal.component.scss'],\r\n providers: [ZipService],\r\n})\r\nexport class AddressUniversalComponent extends BaseFormComponent
{\r\n\r\n @Input() allowHomePOBox: boolean = false;\r\n @Input() allowMailingPOBox: boolean = false;\r\n @Input() addressName: string;\r\n @Input() mailingAddressNam: string;\r\n @Output() addressSubmitted: EventEmitter = new EventEmitter();\r\n @Output() back: EventEmitter = new EventEmitter();\r\n\r\n states$ = this.store$.select(getStates);\r\n addressInfoes$ = this.store$.select(selectAddressInfoes);\r\n isProxy = !!environment.isProxy;\r\n ifAddressSame: boolean;\r\n recHomeAddres: any;\r\n isInvest: boolean = false;\r\n \r\n constructor(private fb: FormBuilder,\r\n private zipCodeService: ZipService,\r\n private store$: Store,\r\n public dialog: MatDialog) {\r\n super();\r\n this.store$.select(getIsManagedPortfolioOrSelfDirectedTrading).subscribe(isInvest => this.isInvest = isInvest);\r\n }\r\n\r\n setFormValues(addressType: ADDRESS_TYPE_NAME) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n this.form = this.fb.group({\r\n HomeAddressInfo: this.fb.group(this.isInvest ? INVEST_CUSTOM_ADDRESS_FORM_CREATOR() : ADDRESS_FORM_CREATOR()),\r\n MailingAddressInfo: this.fb.group(this.isInvest ? INVEST_CUSTOM_ADDRESS_FORM_CREATOR() : ADDRESS_FORM_CREATOR())\r\n });\r\n\r\n const homeAddressForm = this.form.get('HomeAddressInfo'),\r\n mailingAddressForm = this.form.get('MailingAddressInfo');\r\n\r\n this.form.get('HomeAddressInfo').get('isSameMailingAddress').valueChanges\r\n .subscribe(isSelected => {\r\n if (isSelected) {\r\n this.form.get('MailingAddressInfo').disable();\r\n }\r\n else {\r\n this.form.get('MailingAddressInfo').enable();\r\n }\r\n });\r\n\r\n this.form.get('HomeAddressInfo').get('isSameMailingAddress').setValue(true);\r\n\r\n this.addressInfoes$.pipe(\r\n takeUntil(this.unsubscribe$)\r\n ).subscribe(addressInfoes => {\r\n if (addressInfoes.length > 0) {\r\n if (addressInfoes.length > 1) {\r\n this.isSameMailingAddress(addressInfoes) ?\r\n this.form.get('HomeAddressInfo').get('isSameMailingAddress').setValue(true) :\r\n this.form.get('HomeAddressInfo').get('isSameMailingAddress').setValue(false);\r\n }\r\n\r\n addressInfoes.forEach(address => {\r\n if (address.addressType == ADDRESS_TYPE_NAME.Current) {\r\n homeAddressForm.patchValue(address);\r\n }\r\n if (address.addressType == ADDRESS_TYPE_NAME.Mailing) {\r\n mailingAddressForm.patchValue(address);\r\n }\r\n })\r\n }\r\n });\r\n\r\n const addressValidators = this.isInvest ? INVEST_ADDRESS_DEFAULT_VALIDATORS : ADDRESS_DEFAULT_VALIDATORS\r\n setZipCodeValidator(homeAddressForm, this.zipCodeService);\r\n homeAddressForm.get('street').setValidators(\r\n this.allowHomePOBox ?\r\n addressValidators.Street :\r\n [...addressValidators.Street, UKValidators.POBoxNotAllow]\r\n );\r\n\r\n homeAddressForm.get('street2').setValidators(\r\n addressValidators.Street2\r\n );\r\n\r\n setZipCodeValidator(mailingAddressForm, this.zipCodeService);\r\n mailingAddressForm.get('street').setValidators(\r\n this.allowMailingPOBox ?\r\n addressValidators.Street :\r\n [...addressValidators.Street, UKValidators.POBoxNotAllow]\r\n );\r\n\r\n mailingAddressForm.get('street2').setValidators(\r\n addressValidators.Street2\r\n );\r\n\r\n // this.form.get('HomeAddressInfo').get('IsSameMailingAddress').valueChanges\r\n // .subscribe(isSelected => {\r\n // if(isSelected){\r\n // this.form.get('MailingAddressInfo').disable();\r\n // }\r\n // else{\r\n // this.form.get('MailingAddressInfo').enable();\r\n // }\r\n // });\r\n\r\n //this.form.get('HomeAddressInfo').get('IsSameMailingAddress').setValue(true);\r\n\r\n }\r\n\r\n isSameMailingAddress(addressInfoes: Address[]): boolean {\r\n const current = addressInfoes.find(x => x.addressType == ADDRESS_TYPE_NAME.Current);\r\n const mailing = addressInfoes.find(x => x.addressType == ADDRESS_TYPE_NAME.Mailing);\r\n if (current && mailing) {\r\n return current.street.toLowerCase() == mailing.street.toLowerCase() &&\r\n (current.street2 && current.street2.toLowerCase()) == (mailing.street2 && mailing.street2.toLowerCase()) &&\r\n current.city.toLowerCase() == mailing.city.toLowerCase() &&\r\n current.state.toLowerCase() == mailing.state.toLowerCase() &&\r\n current.zip == mailing.zip &&\r\n (current.country && current.country.toLowerCase()) == (mailing.country && mailing.country.toLowerCase());\r\n }\r\n return true;\r\n }\r\n\r\n goBack() { this.back.emit(); }\r\n\r\n onSave() {\r\n const homeAddress = {\r\n street: this.form.controls['HomeAddressInfo'].value.street,\r\n street2: this.form.controls['HomeAddressInfo'].value.street2,\r\n zip: this.form.controls['HomeAddressInfo'].value.zip,\r\n city: this.form.controls['HomeAddressInfo'].value.city,\r\n state: this.form.controls['HomeAddressInfo'].value.state,\r\n },\r\n mailingAddress = {\r\n street: this.form.controls['MailingAddressInfo'].value.street,\r\n street2: this.form.controls['MailingAddressInfo'].value.street2,\r\n zip: this.form.controls['MailingAddressInfo'].value.zip,\r\n city: this.form.controls['MailingAddressInfo'].value.city,\r\n state: this.form.controls['MailingAddressInfo'].value.state,\r\n }\r\n\r\n const isSameAddress = this.form.controls['HomeAddressInfo'].value.isSameMailingAddress\r\n this.ifAddressSame = isSameAddress;\r\n\r\n /**usps adddres code */\r\n if (isSameAddress) {\r\n let address = this.setFormate(homeAddress, isSameAddress, null);\r\n const enteredData = { ...address };\r\n delete enteredData.label;\r\n delete enteredData.isSameAddress;\r\n this.store$.dispatch(new RecommendedApplicantAddressAction(enteredData, false, false));\r\n this.homeModalDialog(address);\r\n } else {\r\n let address = this.setFormate(homeAddress, isSameAddress, mailingAddress)\r\n const enteredData = { ...address };\r\n delete enteredData.label;\r\n delete enteredData.isSameAddress;\r\n this.store$.dispatch(new RecommendedApplicantAddressAction(enteredData, false, false));\r\n this.homeModalDialog(address);\r\n }\r\n\r\n }\r\n setFormate(homeaddress, issameAddress, mailingaddress?) {\r\n\r\n let homeAddress, mailAddress,zip4,zip5;\r\n \r\n if (homeaddress) {\r\n if(homeaddress.zip.includes('-')){\r\n zip4 = homeaddress.zip.split('-')[1];\r\n zip5 = homeaddress.zip.split('-')[0];\r\n }\r\n homeAddress = {\r\n id: \"0\",\r\n streetAddress1: homeaddress.street,\r\n streetAddress2: homeaddress.street2,\r\n city: homeaddress.city,\r\n state: homeaddress.state,\r\n zip5: zip5 ? zip5 : homeaddress.zip,\r\n zip4: zip4 ? zip4 : \"\",\r\n label: 'Home Address',\r\n isSameAddress: issameAddress\r\n }\r\n return homeAddress;\r\n }\r\n if (mailingaddress) {\r\n if(mailingaddress.zip.includes('-')){\r\n zip4 = mailingaddress.zip.split('-')[1];\r\n zip5 = mailingaddress.zip.split('-')[0];\r\n }\r\n mailAddress = {\r\n id: \"0\",\r\n streetAddress1: mailingaddress.street,\r\n streetAddress2: mailingaddress.street2,\r\n city: mailingaddress.city,\r\n state: mailingaddress.state,\r\n zip5: zip5 ? zip5 : mailingaddress.zip,\r\n zip4: zip4 ? zip4 : \"\",\r\n label: 'Mailing Address',\r\n isSameAddress: issameAddress\r\n }\r\n return mailAddress;\r\n }\r\n\r\n }\r\n homeModalDialog(address: any): void {\r\n const dialogRef = this.dialog.open(AddressPopupComponent, {\r\n width: '350px',\r\n data: address\r\n\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (this.ifAddressSame && result) {\r\n this.store$.dispatch(new SaveApplicantAddressAction(result, ADDRESS_TYPE_NAME.Current, false, false));\r\n this.store$.dispatch(new SaveApplicantAddressAction(result, ADDRESS_TYPE_NAME.Mailing, true, false));\r\n }\r\n if (!this.ifAddressSame && result) {\r\n this.recHomeAddres = result;\r\n this.form.controls['HomeAddressInfo'].patchValue(result)\r\n\r\n let mailadd = {\r\n street: this.form.controls['MailingAddressInfo'].value.street,\r\n street2: this.form.controls['MailingAddressInfo'].value.street2,\r\n zip: this.form.controls['MailingAddressInfo'].value.zip,\r\n city: this.form.controls['MailingAddressInfo'].value.city,\r\n state: this.form.controls['MailingAddressInfo'].value.state,\r\n }\r\n let address = this.setFormate(null, this.ifAddressSame, mailadd)\r\n const enteredData = { ...address };\r\n delete enteredData.label;\r\n delete enteredData.isSameAddress;\r\n this.store$.dispatch(new RecommendedApplicantAddressAction(enteredData, false, false));\r\n this.mailModalDialog(address);\r\n\r\n }\r\n \r\n });\r\n }\r\n mailModalDialog(address) {\r\n const dialogRef = this.dialog.open(AddressPopupComponent, {\r\n width: '350px',\r\n data: address\r\n\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.store$.dispatch(new SaveApplicantAddressAction(this.recHomeAddres, ADDRESS_TYPE_NAME.Current, false, false));\r\n this.store$.dispatch(new SaveApplicantAddressAction(result, ADDRESS_TYPE_NAME.Mailing, true, false));\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \"@media only screen and (min-width: 768px) {\\n :host::ng-deep .uk-form-container {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex: 0 1 auto;\\n flex: 0 1 auto;\\n -ms-flex-direction: row;\\n flex-direction: row;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap; }\\n :host::ng-deep .uk-form-container .uk-form-field {\\n max-width: 50%;\\n padding-left: 15px;\\n padding-right: 15px; }\\n :host::ng-deep .uk-form-container .uk-form-field.single {\\n max-width: 100%; } }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9hZGRyZXNzL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcZ3JpZFxcX21lZGlhLXF1ZXJpZXMuc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9hZGRyZXNzL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvc3JjXFxhcHBcXGVucm9sbG1lbnQtY29tbW9uXFxjb21wb25lbnRzXFxhZGRyZXNzXFxhZGRyZXNzLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL2FkZHJlc3MvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9zcmNcXHN0eWxlc1xcZ2xvYmFsXFxkdWFsLWZvcm1zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0k7RUNQSjtJQ0dZLG9CQUFhO0lBQWIsYUFBYTtJQUNiLGtCQUFjO1FBQWQsY0FBYztJQUNkLHVCQUFtQjtRQUFuQixtQkFBbUI7SUFDbkIsbUJBQWU7UUFBZixlQUFlLEVBQUE7SUROM0I7TUNTZ0IsY0FBYztNQUNkLGtCQUFrQjtNQUNsQixtQkFBbUIsRUFBQTtNRFhuQztRQ2FvQixlQUFlLEVBQUEsRUFDbEIiLCJmaWxlIjoic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL2FkZHJlc3MvYWRkcmVzcy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIiRicmVha3BvaW50cyA6KCB4czo0ODBweCwgc206IDc2OHB4LCBtZDo5OTJweCwgbGc6IDEyMDBweCk7XHJcblxyXG5AbWl4aW4geHMge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHNtIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICdzbScpKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZCB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAnbWQnKSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbGcge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJ2xnJykpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiX21peGlucy5zY3NzXCI7XHJcblxyXG46aG9zdCB7XHJcbiAgICAmOjpuZy1kZWVwIHtcclxuICAgICAgICBAaW5jbHVkZSBkdWFsLWZvcm1zKCk7XHJcbiAgICB9XHJcbn1cclxuICAiLCJAaW1wb3J0IFwifkB1aWtpdC9jb3JlL3NyYy9ncmlkL19tZWRpYS1xdWVyaWVzXCI7XHJcblxyXG5AbWl4aW4gZHVhbC1mb3JtcygpIHtcclxuICAgIEBpbmNsdWRlIHNtIHtcclxuICAgICAgICAudWstZm9ybS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG5cclxuICAgICAgICAgICAgLnVrLWZvcm0tZmllbGQge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgJi5zaW5nbGUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ== */\"","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { UKValidators } from '@uikit/components/uk-validators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { getStates } from 'store/selectors';\r\n\r\nimport { ZipService } from 'services';\r\n// Models\r\nimport { Address } from 'models';\r\n// Forms\r\nimport {\r\n ADDRESS_DEFAULT_VALIDATORS,\r\n setZipCodeValidator,\r\n ADDRESS_FORM_CREATOR\r\n} from 'app/shared-forms'\r\n// Components\r\nimport { BaseFormComponent } from 'app/core/components';\r\n\r\n@Component({\r\n selector: 'app-address',\r\n templateUrl: './address.component.html',\r\n styleUrls: ['./address.component.scss'],\r\n providers: [ZipService],\r\n})\r\nexport class AddressComponent extends BaseFormComponent
{\r\n\r\n @Input() allowPOBox: boolean = false;\r\n @Input() addressName: string;\r\n @Output() addressSubmitted: EventEmitter
= new EventEmitter();\r\n @Output() back: EventEmitter = new EventEmitter();\r\n\r\n states$ = this.store$.select(getStates);\r\n\r\n constructor(private fb: FormBuilder,\r\n private zipCodeService: ZipService,\r\n private store$: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n this.form = this.fb.group(ADDRESS_FORM_CREATOR());\r\n setZipCodeValidator(this.form, this.zipCodeService);\r\n this.form.get('Street').setValidators(\r\n this.allowPOBox ?\r\n ADDRESS_DEFAULT_VALIDATORS.Street :\r\n [...ADDRESS_DEFAULT_VALIDATORS.Street, UKValidators.POBoxNotAllow]\r\n );\r\n this.form.get('Street2').setValidators(\r\n ADDRESS_DEFAULT_VALIDATORS.Street2\r\n );\r\n }\r\n\r\n goBack() { this.back.emit(); }\r\n\r\n onSave() {\r\n this.addressSubmitted.emit({\r\n ...this.value,\r\n ...this.form.value\r\n });\r\n }\r\n}\r\n","module.exports = \"/**\\r\\n* Helper mixin to create a linear-gradient\\r\\n*\\r\\n*/\\n/*\\r\\nhtml,\\r\\nbody {\\r\\n font-family: 'Libre Franklin', 'Helvetica', sans-serif;\\r\\n // color: themify(text);\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\na {\\r\\n color: themify(link);\\r\\n cursor: pointer;\\r\\n text-decoration: none;\\r\\n -webkit-tap-highlight-color: transparent;\\r\\n}\\r\\n\\r\\n.round-image {\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n\\r\\n*/\\n.fcontainer-fluid,\\n.fcontainer {\\n margin: 0 auto; }\\n.fcontainer-fluid {\\n padding: 0 2rem; }\\n.frow {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex: 0 1 auto;\\n flex: 0 1 auto;\\n -ms-flex-direction: row;\\n flex-direction: row;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap; }\\n.frow.reverse {\\n -ms-flex-direction: row-reverse;\\n flex-direction: row-reverse; }\\n.finline {\\n display: -ms-inline-flexbox;\\n display: inline-flex; }\\n.reset-padding {\\n padding: 0; }\\n.reset-margin {\\n margin: 0; }\\n.uk-btn.none {\\n border: none;\\n background-color: transparent;\\n text-transform: none;\\n min-width: 0;\\n min-height: 0;\\n padding: 0; }\\n.uk-btn.icon {\\n font-weight: 500;\\n font-size: 14px;\\n line-height: 16px;\\n font-weight: bold; }\\n.uk-shadow-0 {\\n box-shadow: none !important; }\\n.uk-shadow-1 {\\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); }\\n.uk-shadow-1-half {\\n box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2); }\\n.uk-shadow-2 {\\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-3 {\\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-4 {\\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-5 {\\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.3); }\\n.uk-nav {\\n padding-left: 0;\\n margin-bottom: 0;\\n list-style: none;\\n box-sizing: border-box; }\\n.uk-nav .uk-nav-item {\\n clear: both;\\n float: none;\\n display: inline-block;\\n margin: 0px; }\\n.uk-nav .uk-nav-item:hover {\\n background-color: #eee; }\\n.uk-tooltip {\\n background-color: #293541;\\n color: #FFF;\\n position: fixed;\\n max-width: 280px;\\n font-size: 14px;\\n padding: 5px 10px;\\n z-index: 2; }\\n.uk-tooltip::before {\\n content: '';\\n position: absolute;\\n display: inline-block;\\n height: 0;\\n width: 0;\\n border: solid 6px transparent; }\\n.uk-tooltip.white {\\n background-color: #FFF;\\n color: #293541; }\\n.uk-tooltip.bottom::before {\\n border-bottom-color: #293541;\\n margin-top: -12px;\\n top: 0; }\\n.uk-tooltip.bottom.white::before {\\n border-bottom-color: #FFF !important; }\\n.uk-tooltip.top::before {\\n border-top-color: #293541;\\n margin-bottom: -12px;\\n bottom: 0; }\\n.uk-tooltip.top.white::before {\\n border-top-color: #FFF !important; }\\n.uk-tooltip.left::before {\\n border-left-color: #293541;\\n margin-right: -12px;\\n right: 0; }\\n.uk-tooltip.right::before {\\n border-right-color: #293541;\\n margin-left: -12px;\\n left: 0; }\\n.uk-label.uk-tooltip-host {\\n position: relative;\\n top: 5px; }\\n.uk-stepper {\\n display: inline-block; }\\n.uk-stepper .uk-progress-title {\\n color: #283541;\\n font-size: 18px;\\n font-weight: 600;\\n padding-top: 7px; }\\n.uk-stepper .uk-progress-step-body {\\n padding-top: 8px;\\n padding-bottom: 20px;\\n display: block; }\\n.uk-stepper .uk-progress-track {\\n list-style-type: none;\\n table-layout: fixed;\\n display: table;\\n width: 100%;\\n margin: 0;\\n padding: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step {\\n display: table-cell;\\n position: relative;\\n text-align: center;\\n padding-top: 27px; }\\n.uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n content: '';\\n background-color: #C9CCCF;\\n position: absolute;\\n top: 8.5px;\\n height: 3px;\\n width: 50%;\\n z-index: -1; }\\n.uk-stepper .uk-progress-track .uk-progress-step::before {\\n left: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step::after {\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step:first-child::before {\\n width: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step:last-child::after {\\n width: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n background-color: #C9CCCF;\\n position: absolute;\\n border-radius: 50%;\\n display: block;\\n margin: 0 auto;\\n height: 20px;\\n width: 20px;\\n padding: 0 4px;\\n top: 0;\\n left: 0;\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap .uk-icon {\\n display: none; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n position: absolute;\\n border-radius: 50%;\\n margin: 0 auto;\\n margin-top: 2px;\\n height: 16px;\\n width: 16px;\\n content: '';\\n left: 0;\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-progress-text {\\n position: relative;\\n color: #5F6871;\\n text-transform: capitalize;\\n font-size: 14px;\\n font-weight: 600; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border: solid 2px #FFF;\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active::before {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active.wip::after {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done .uk-step-icon-wrap {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done .uk-step-icon-wrap .uk-icon {\\n color: #FFF;\\n display: initial; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done::before, .uk-stepper .uk-progress-track .uk-progress-step.done::after {\\n background-color: #1e8257; }\\n@media only screen and (min-width: 768px) {\\n .uk-stepper .uk-progress-track .uk-progress-step {\\n padding-top: 32px; }\\n .uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n top: 11px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n height: 25px;\\n width: 25px;\\n padding: 0 6px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n height: 21px;\\n width: 21px; }\\n .uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border-width: 3px; } }\\n@media only screen and (min-width: 992px) {\\n .uk-stepper .uk-progress-track .uk-progress-step {\\n padding-top: 42px; }\\n .uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n top: 16px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n height: 35px;\\n width: 35px;\\n padding: 0 8px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n height: 31px;\\n width: 31px; }\\n .uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border-width: 4px; } }\\n.uk-btn.icon .uk-icon {\\n height: 1.5em;\\n width: 1.5em; }\\n.uk-btn .uk-icon {\\n height: 1em;\\n width: 1em;\\n font-size: 1em;\\n vertical-align: middle; }\\n.uk-icon {\\n display: inline-block;\\n stroke-width: 0;\\n stroke: currentColor;\\n fill: currentColor;\\n font-size: 1.5em;\\n max-width: 1.5em;\\n max-height: 1.5em; }\\n@font-face {\\n font-family: \\\"bofi-icon\\\";\\n src: url(\\\"/assets/bofi-icon.eot\\\");\\n src: url(\\\"/assets/bofi-icon.eot?#iefix\\\") format(\\\"embedded-opentype\\\"), url(\\\"/assets/bofi-icon.woff\\\") format(\\\"woff\\\"), url(\\\"/assets/bofi-icon.ttf\\\") format(\\\"truetype\\\"), url(\\\"/assets/bofi-icon.svg#bofi-icon\\\") format(\\\"svg\\\");\\n font-weight: normal;\\n font-style: normal; }\\n[data-icon]:before {\\n font-family: \\\"bofi-icon\\\" !important;\\n content: attr(data-icon);\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n[class^=\\\"bofi-\\\"]:before,\\n[class*=\\\" bofi-\\\"]:before {\\n font-family: \\\"bofi-icon\\\" !important;\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n.bofi-recurring:before {\\n content: \\\"\\\\61\\\"; }\\n.bofi-ebill:before {\\n content: \\\"\\\\67\\\"; }\\n.bofi-add:before {\\n content: \\\"\\\\6f\\\"; }\\n.bofi-atm:before {\\n content: \\\"\\\\71\\\"; }\\n.bofi-automatic:before {\\n content: \\\"\\\\72\\\"; }\\n.bofi-bank:before {\\n content: \\\"\\\\73\\\"; }\\n.bofi-bankfees:before {\\n content: \\\"\\\\74\\\"; }\\n.bofi-datepicker:before {\\n content: \\\"\\\\6a\\\"; }\\n.bofi-deposit:before {\\n content: \\\"\\\\77\\\"; }\\n.bofi-edit:before {\\n content: \\\"\\\\78\\\"; }\\n.bofi-faq:before {\\n content: \\\"\\\\7a\\\"; }\\n.bofi-messages:before {\\n content: \\\"\\\\41\\\"; }\\n.bofi-menu:before {\\n content: \\\"\\\\43\\\"; }\\n.bofi-interest:before {\\n content: \\\"\\\\65\\\"; }\\n.bofi-pending:before {\\n content: \\\"\\\\4c\\\"; }\\n.bofi-phone:before {\\n content: \\\"\\\\4d\\\"; }\\n.bofi-print:before {\\n content: \\\"\\\\4f\\\"; }\\n.bofi-refund:before {\\n content: \\\"\\\\52\\\"; }\\n.bofi-remove:before {\\n content: \\\"\\\\53\\\"; }\\n.bofi-success:before {\\n content: \\\"\\\\54\\\"; }\\n.bofi-search:before {\\n content: \\\"\\\\56\\\"; }\\n.bofi-password:before {\\n content: \\\"\\\\6d\\\"; }\\n.bofi-username:before {\\n content: \\\"\\\\75\\\"; }\\n.bofi-gear:before {\\n content: \\\"\\\\68\\\"; }\\n.bofi-contact-list:before {\\n content: \\\"\\\\42\\\"; }\\n.bofi-filter:before {\\n content: \\\"\\\\76\\\"; }\\n.bofi-debit:before {\\n content: \\\"\\\\62\\\"; }\\n.bofi-support:before {\\n content: \\\"\\\\69\\\"; }\\n.bofi-user-settings:before {\\n content: \\\"\\\\70\\\"; }\\n.bofi-accounts:before {\\n content: \\\"\\\\64\\\"; }\\n.bofi-transfer:before {\\n content: \\\"\\\\66\\\"; }\\n.bofi-photo:before {\\n content: \\\"\\\\79\\\"; }\\n.bofi-check-mark:before {\\n content: \\\"\\\\46\\\"; }\\n.bofi-information:before {\\n content: \\\"\\\\49\\\"; }\\n.bofi-chat:before {\\n content: \\\"\\\\4b\\\"; }\\n.bofi-cancel:before {\\n content: \\\"\\\\4e\\\"; }\\n.bofi-send-icon:before {\\n content: \\\"\\\\55\\\"; }\\n.bofi-warning:before {\\n content: \\\"\\\\58\\\"; }\\n.bofi-upload:before {\\n content: \\\"\\\\5a\\\"; }\\n.bofi-thumbsup:before {\\n content: \\\"\\\\30\\\"; }\\n.bofi-pdf:before {\\n content: \\\"\\\\47\\\"; }\\n.bofi-check:before {\\n content: \\\"\\\\48\\\"; }\\n.bofi-star:before {\\n content: \\\"\\\\36\\\"; }\\n.bofi-camera:before {\\n content: \\\"\\\\32\\\"; }\\n.bofi-delivery-method:before {\\n content: \\\"\\\\34\\\"; }\\n.bofi-download:before {\\n content: \\\"\\\\37\\\"; }\\n.bofi-ebill-paybills:before {\\n content: \\\"\\\\38\\\"; }\\n.bofi-flag:before {\\n content: \\\"\\\\22\\\"; }\\n.bofi-alert-history:before {\\n content: \\\"\\\\24\\\"; }\\n.bofi-mobiledeposit:before {\\n content: \\\"\\\\28\\\"; }\\n.bofi-onetime:before {\\n content: \\\"\\\\29\\\"; }\\n.bofi-personal-message:before {\\n content: \\\"\\\\2c\\\"; }\\n.bofi-text-message:before {\\n content: \\\"\\\\4a\\\"; }\\n.bofi-eye-outline:before {\\n content: \\\"\\\\50\\\"; }\\n.bofi-attach:before {\\n content: \\\"\\\\51\\\"; }\\n.bofi-logout:before {\\n content: \\\"\\\\6b\\\"; }\\n.bofi-close:before {\\n content: \\\"\\\\45\\\"; }\\n.bofi-gear-circle:before {\\n content: \\\"\\\\57\\\"; }\\n.bofi-thumbsup-circle:before {\\n content: \\\"\\\\59\\\"; }\\n.bofi-modal-send:before {\\n content: \\\"\\\\6c\\\"; }\\n.bofi-add-1:before {\\n content: \\\"\\\\44\\\"; }\\n.bofi-group:before {\\n content: \\\"\\\\33\\\"; }\\n.bofi-home:before {\\n content: \\\"\\\\35\\\"; }\\n.bofi-personal-info:before {\\n content: \\\"\\\\39\\\"; }\\n.bofi-person-check:before {\\n content: \\\"\\\\21\\\"; }\\n.bofi-person:before {\\n content: \\\"\\\\23\\\"; }\\n.bofi-signer:before {\\n content: \\\"\\\\25\\\"; }\\n.bofi-datepicker-1:before {\\n content: \\\"\\\\26\\\"; }\\n.bofi-refund-1:before {\\n content: \\\"\\\\63\\\"; }\\n.bofi-recurring-1:before {\\n content: \\\"\\\\27\\\"; }\\n.bofi-messages-1:before {\\n content: \\\"\\\\2a\\\"; }\\n.bofi-faq-1:before {\\n content: \\\"\\\\2b\\\"; }\\n.bofi-gear-1:before {\\n content: \\\"\\\\2d\\\"; }\\n.bofi-remove-1:before {\\n content: \\\"\\\\2e\\\"; }\\n.bofi-refund-2:before {\\n content: \\\"\\\\2f\\\"; }\\n.bofi-username-1:before {\\n content: \\\"\\\\3a\\\"; }\\n.bofi-search-1:before {\\n content: \\\"\\\\3b\\\"; }\\n.bofi-password-1:before {\\n content: \\\"\\\\3c\\\"; }\\n.bofi-dashboard:before {\\n content: \\\"\\\\3d\\\"; }\\n.bofi-atm-1:before {\\n content: \\\"\\\\3e\\\"; }\\n.bofi-pending-1:before {\\n content: \\\"\\\\3f\\\"; }\\n.bofi-success-1:before {\\n content: \\\"\\\\40\\\"; }\\n.bofi-phone-1:before {\\n content: \\\"\\\\5b\\\"; }\\n.bofi-print-1:before {\\n content: \\\"\\\\5d\\\"; }\\n.bofi-menu-1:before {\\n content: \\\"\\\\5e\\\"; }\\n.bofi-interest-1:before {\\n content: \\\"\\\\5f\\\"; }\\n.bofi-ic-contact-list:before {\\n content: \\\"\\\\60\\\"; }\\n.bofi-deposit-1:before {\\n content: \\\"\\\\7b\\\"; }\\n.bofi-automatic-1:before {\\n content: \\\"\\\\7c\\\"; }\\n.bofi-automaticpayment:before {\\n content: \\\"\\\\7d\\\"; }\\n.bofi-bank-1:before {\\n content: \\\"\\\\7e\\\"; }\\n.bofi-bankfees-1:before {\\n content: \\\"\\\\5c\\\"; }\\n.bofi-edit-1:before {\\n content: \\\"\\\\e000\\\"; }\\n.bofi-1498195592-icon15-8:before {\\n content: \\\"\\\\6e\\\"; }\\n.bofi-arrow-chevron:before {\\n content: \\\"\\\\31\\\"; }\\n.cdk-overlay-container,\\n.cdk-global-overlay-wrapper {\\n pointer-events: none;\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: 100%; }\\n.cdk-overlay-container {\\n position: fixed;\\n z-index: 1000; }\\n.cdk-global-overlay-wrapper {\\n display: -ms-flexbox;\\n display: flex;\\n position: absolute;\\n z-index: 1000; }\\n.cdk-overlay-pane {\\n position: absolute;\\n pointer-events: auto;\\n box-sizing: border-box;\\n z-index: 1000; }\\n.cdk-overlay-backdrop {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n z-index: 1000;\\n pointer-events: auto;\\n -webkit-tap-highlight-color: transparent;\\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\\n opacity: 0; }\\n.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 1; }\\n.cdk-overlay-dark-backdrop {\\n background: rgba(0, 0, 0, 0.288); }\\n.cdk-overlay-transparent-backdrop, .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 0; }\\n.cdk-global-scrollblock {\\n position: fixed;\\n width: 100%;\\n overflow-y: scroll; }\\n@-webkit-keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0); }\\n 40% {\\n -webkit-transform: scale(1); } }\\n@keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0);\\n transform: scale(0); }\\n 40% {\\n -webkit-transform: scale(1);\\n transform: scale(1); } }\\n@-webkit-keyframes ripple {\\n 5%,\\n 100% {\\n opacity: 0; }\\n 5% {\\n opacity: 1; } }\\n@keyframes ripple {\\n 5%,\\n 100% {\\n opacity: 0; }\\n 5% {\\n opacity: 1; } }\\n.uk-form-control {\\n display: inline-table;\\n cursor: pointer;\\n position: relative;\\n box-sizing: border-box;\\n min-height: 18px; }\\n.uk-form-control__value {\\n display: table-cell;\\n max-width: 0;\\n width: 100%;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n min-height: 48px; }\\n.uk-form-control__addon {\\n padding-left: 10px;\\n display: table-cell;\\n vertical-align: middle; }\\n.alert {\\n position: relative;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n margin-bottom: 20px;\\n margin-top: 20px;\\n border-radius: 0.25em;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: nowrap;\\n flex-wrap: nowrap;\\n height: 46px;\\n color: black;\\n font-size: 16px;\\n -ms-flex-align: center;\\n align-items: center; }\\n.alert .icon {\\n height: 20px;\\n width: 20px;\\n margin-left: 15px;\\n margin-top: -2px; }\\n.alert .close-icon {\\n font-size: 6.2285px;\\n margin-right: 15px; }\\n.alert .child--featured {\\n padding-left: 13px;\\n -ms-flex-positive: 1;\\n flex-grow: 1; }\\n:host .applicant-type-title {\\n background-color: #F4F4F4;\\n padding: 10px 0;\\n font-family: \\\"Roboto\\\";\\n font-size: 17px;\\n line-height: 25px;\\n letter-spacing: 3.7px;\\n text-transform: uppercase;\\n font-weight: 700; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9hcHBsaWNhbnQtdGl0bGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxtaXhpbnNcXGhlbHBlcnNcXF9saW5lYXItZ3JhZGllbnQuc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9hcHBsaWNhbnQtdGl0bGUvYXBwbGljYW50LXRpdGxlLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL2FwcGxpY2FudC10aXRsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGdsb2JhbFxcX2dsb2JhbC5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL2FwcGxpY2FudC10aXRsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGdyaWRcXF9jb250YWluZXIuc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9hcHBsaWNhbnQtdGl0bGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxncmlkXFxfcm93LnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvYXBwbGljYW50LXRpdGxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcdXRpbGl0aWVzXFxfcmVzZXRzLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvYXBwbGljYW50LXRpdGxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcdXRpbGl0aWVzXFxfc2hhZG93LnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvYXBwbGljYW50LXRpdGxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcbmF2c1xcX2Jhc2UtbmF2cy5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL2FwcGxpY2FudC10aXRsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXHRvb2x0aXBcXF90b29sdGlwLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvYXBwbGljYW50LXRpdGxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcc3RlcHBlclxcX3N0ZXBwZXIuc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9hcHBsaWNhbnQtdGl0bGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxfdmFyaWFibGVzLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvYXBwbGljYW50LXRpdGxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcYnJhbmRzXFxfY29sb3JzLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvYXBwbGljYW50LXRpdGxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcZ3JpZFxcX21lZGlhLXF1ZXJpZXMuc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9hcHBsaWNhbnQtdGl0bGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxpY29uc1xcX2ljb25zLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvYXBwbGljYW50LXRpdGxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcaWNvbnNcXF9mb250LWljb24uc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9hcHBsaWNhbnQtdGl0bGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxvdmVybGF5XFxfb3ZlcmxheS5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL2FwcGxpY2FudC10aXRsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXGxvYWRlcnNcXF9kb3QtbG9hZGVyLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvYXBwbGljYW50LXRpdGxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcbWl4aW5zXFxfYW5pbWF0aW9uLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvYXBwbGljYW50LXRpdGxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xccmFkaW8tZ3JvdXBcXGVsZW1lbnQuc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9hcHBsaWNhbnQtdGl0bGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxmb3JtLWZpZWxkc1xcX2Zvcm1fY29udHJvbC5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL2FwcGxpY2FudC10aXRsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXGFsZXJ0XFxfYWxlcnQuc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9hcHBsaWNhbnQtdGl0bGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9zcmNcXGFwcFxcZW5yb2xsbWVudC1jb21tb25cXGNvbXBvbmVudHNcXGFwcGxpY2FudC10aXRsZVxcYXBwbGljYW50LXRpdGxlLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL2FwcGxpY2FudC10aXRsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGJyYW5kc1xcYXhvc1xcX2ZvbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztDQ0dDO0FDcUNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0RmQztBRXhCRDs7RUFFSSxjQUFjLEVBQUE7QUFHbEI7RUFDSSxlQUFlLEVBQUE7QUNQbkI7RUFDSSxvQkFBYTtFQUFiLGFBQWE7RUFDYixrQkFBYztNQUFkLGNBQWM7RUFDZCx1QkFBbUI7TUFBbkIsbUJBQW1CO0VBQ25CLG1CQUFlO01BQWYsZUFBZSxFQUFBO0FBSm5CO0lBTVEsK0JBQTJCO1FBQTNCLDJCQUEyQixFQUFBO0FBS25DO0VBQVcsMkJBQW9CO0VBQXBCLG9CQUFvQixFQUFBO0FDWC9CO0VBQ0ksVUFBUyxFQUFBO0FBRWI7RUFDSSxTQUFRLEVBQUE7QUFFWjtFQUVRLFlBQVk7RUFDWiw2QkFBNkI7RUFFN0Isb0JBQW9CO0VBQ3BCLFlBQVk7RUFDWixhQUFhO0VBQ2IsVUFBVSxFQUFBO0FBUmxCO0VBV1EsZ0JBQWdCO0VB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a0MsRUFBQTtBQUdwQztFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGdCQUFnQixFQUFBO0FBRWxCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FDalV0Qjs7RUFHRSxvQkFBb0I7RUFHcEIsTUFBTTtFQUNOLE9BQU87RUFDUCxZQUFZO0VBQ1osV0FBVyxFQUFBO0FBSWI7RUFDRSxlQUFlO0VBQ2YsYUxzRWtDLEVBQUE7QUsvRHBDO0VBQ0Usb0JBQWE7RUFBYixhQUFhO0VBQ2Isa0JBQWtCO0VBQ2xCLGFMNkR3QixFQUFBO0FLekQxQjtFQUNFLGtCQUFrQjtFQUNsQixvQkFBb0I7RUFDcEIsc0JBQXNCO0VBQ3RCLGFMcUR3QixFQUFBO0FLbEQxQjtFQUVFLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sU0FBUztFQUNULE9BQU87RUFDUCxRQUFRO0VBRVIsYUwyQ2lDO0VLMUNqQyxvQkFBb0I7RUFDcEIsd0NBQXdDO0VBQ3hDLDBETCtDbUU7RUs3Q25FLFVBQVUsRUFBQTtBQWJaO0lBZ0JJLFVBQVUsRUFBQTtBQUlkO0VBQ0UsZ0NMaUN5RCxFQUFBO0FLOUIzRDtFQU9JLFVBQVUsRUFBQTtBQUtkO0VBQ0UsZUFBZTtFQUtmLFdBQVc7RUFLWCxrQkFBa0IsRUFBQTtBQ2xGcEI7RUFDSTtJQUFnQiwyQkFBMkIsRUFBQTtFQUMzQztJQUFNLDJCQUE2QixFQUFBLEVBQUE7QUFHdkM7RUFDSTtJQUNJLDJCQUEyQjtJQUMzQixtQkFBbUIsRUFBQTtFQUNyQjtJQUNFLDJCQUE2QjtJQUM3QixtQkFBcUIsRUFBQSxFQUFBO0FDR3pCO0VDVEE7O0lBQ08sVUFBVSxFQUFBO0VBQ2pCO0lBQUssVUFBVSxFQUFBLEVBQUE7QURnQmY7RUNsQkE7O0lBQ08sVUFBVSxFQUFBO0VBQ2pCO0lBQUssVUFBVSxFQUFBLEVBQUE7QUNSbkI7RUFDSSxxQkFBcUI7RUFDckIsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQixzQkFBc0I7RUFDdEIsZ0JBQWdCLEVBQUE7QUFFaEI7SUFDSSxtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQixnQkFBZ0IsRUFBQTtBQUdwQjtJQUNJLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsc0JBQXNCLEVBQUE7QUNwQjlCO0VBQ0Usa0JBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQixvQkFBb0I7RUFDcEIsbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQixxQkFBcUI7RUFDckIsb0JBQWE7RUFBYixhQUFhO0VBQ2IscUJBQWlCO01BQWpCLGlCQUFpQjtFQUNqQixZQUFZO0VBQ1osWUFBWTtFQUNaLGVBQWU7RUFDZixzQkFBbUI7TUFBbkIsbUJBQW1CLEVBQUE7QUFackI7SUFlSSxZQUFZO0lBQ1osV0FBVztJQUNYLGlCQUFpQjtJQUNqQixnQkFBZ0IsRUFBQTtBQWxCcEI7SUFzQkksbUJBQW1CO0lBQ25CLGtCQUFrQixFQUFBO0FBdkJ0QjtJQTJCSSxrQkFBa0I7SUFDbEIsb0JBQVk7UUFBWixZQUFZLEVBQUE7QUN6QmhCO0VBRVEseUJBQXlCO0VBQ3pCLGVBQWU7RUFDZixxQkNEa0I7RURFbEIsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixxQkFBcUI7RUFDckIseUJBQXlCO0VBQ3pCLGdCQUFnQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9hcHBsaWNhbnQtdGl0bGUvYXBwbGljYW50LXRpdGxlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiogIEhlbHBlciBtaXhpbiB0byBjcmVhdGUgYSBsaW5lYXItZ3JhZGllbnRcclxuKlxyXG4qL1xyXG5AbWl4aW4gbGluZWFyLWdyYWRpZW50KCRkaXJlY3Rpb24sICRjb2xvcmxpc3QpIHtcclxuICAgIEBpZiBub3QgaXMtZGlyZWN0aW9uKCRkaXJlY3Rpb24pIHtcclxuICAgICAgICAkY29sb3JsaXN0OiAkZGlyZWN0aW9uLCAkY29sb3JsaXN0O1xyXG4gICAgICAgICRkaXJlY3Rpb246IDBkZWc7XHJcbiAgICB9XHJcbiAgICBiYWNrZ3JvdW5kOiBudGgobnRoKCRjb2xvcmxpc3QsIDEpLCAxKTtcclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZ2FjeS1kaXJlY3Rpb24oJGRpcmVjdGlvbiksICRjb2xvcmxpc3QpO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRkaXJlY3Rpb24sICRjb2xvcmxpc3QpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gaXMtZGlyZWN0aW9uKCR2YWx1ZSkge1xyXG4gICAgJGlzLWtleXdvcmQ6IGluZGV4KCh0byB0b3AsIHRvIHRvcCByaWdodCwgdG8gcmlnaHQgdG9wLCB0byByaWdodCwgdG8gYm90dG9tIHJpZ2h0LCB0byByaWdodCBib3R0b20sIHRvIGJvdHRvbSwgdG8gYm90dG9tIGxlZnQsIHRvIGxlZnQgYm90dG9tLCB0byBsZWZ0LCB0byBsZWZ0IHRvcCwgdG8gdG9wIGxlZnQpLCAkdmFsdWUpO1xyXG4gICAgJGlzLWFuZ2xlOiB0eXBlLW9mKCR2YWx1ZSk9PSdudW1iZXInIGFuZCBpbmRleCgnZGVnJyAnZ3JhZCcgJ3R1cm4nICdyYWQnLCB1bml0KCR2YWx1ZSkpO1xyXG4gICAgQHJldHVybiAkaXMta2V5d29yZCBvciAkaXMtYW5nbGU7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBsZWdhY3ktZGlyZWN0aW9uKCR2YWx1ZSkge1xyXG4gICAgQGlmIGlzLWRpcmVjdGlvbigkdmFsdWUpPT1mYWxzZSB7XHJcbiAgICAgICAgQGVycm9yIFwiQ2Fubm90IGNvbnZlcnQgYCN7JHZhbHVlfWAgdG8gbGVnYWN5IHN5bnRheCBiZWNhdXNlIGl0IGRvZXNuJ3Qgc2VlbSB0byBiZSBhIGRpcmVjdGlvbi5cIjtcclxuICAgIH1cclxuICAgICRjb252ZXJzaW9uLW1hcDogKCB0byB0b3A6IGJvdHRvbSwgdG8gdG9wIHJpZ2h0OiBib3R0b20gbGVmdCwgdG8gcmlnaHQgdG9wOiBsZWZ0IGJvdHRvbSwgdG8gcmlnaHQ6IGxlZnQsIHRvIGJvdHRvbSByaWdodDogdG9wIGxlZnQsIHRvIHJpZ2h0IGJvdHRvbTogbGVmdCB0b3AsIHRvIGJvdHRvbTogdG9wLCB0byBib3R0b20gbGVmdDogdG9wIHJpZ2h0LCB0byBsZWZ0IGJvdHRvbTogcmlnaHQgdG9wLCB0byBsZWZ0OiByaWdodCwgdG8gbGVmdCB0b3A6IHJpZ2h0IGJvdHRvbSwgdG8gdG9wIGxlZnQ6IGJvdHRvbSByaWdodCk7XHJcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGNvbnZlcnNpb24tbWFwLCAkdmFsdWUpIHtcclxuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJGNvbnZlcnNpb24tbWFwLCAkdmFsdWUpO1xyXG4gICAgfVxyXG4gICAgQHJldHVybiA5MGRlZyAtICR2YWx1ZTtcclxufSIsIi8qKlxyXG4qICBIZWxwZXIgbWl4aW4gdG8gY3JlYXRlIGEgbGluZWFyLWdyYWRpZW50XHJcbipcclxuKi9cbi8qXHJcbmh0bWwsXHJcbmJvZHkge1xyXG4gICAgZm9udC1mYW1pbHk6ICdMaWJyZSBGcmFua2xpbicsICdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xyXG4gICAgLy8gY29sb3I6IHRoZW1pZnkodGV4dCk7XHJcbn1cclxuXHJcblxyXG5cclxuYSB7XHJcbiAgICBjb2xvcjogdGhlbWlmeShsaW5rKTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5yb3VuZC1pbWFnZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbn1cclxuXHJcblxyXG4qL1xuLmZjb250YWluZXItZmx1aWQsXG4uZmNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5mY29udGFpbmVyLWZsdWlkIHtcbiAgcGFkZGluZzogMCAycmVtOyB9XG5cbi5mcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAxIGF1dG87XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuZnJvdy5yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLmZpbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuXG4ucmVzZXQtcGFkZGluZyB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnJlc2V0LW1hcmdpbiB7XG4gIG1hcmdpbjogMDsgfVxuXG4udWstYnRuLm5vbmUge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICBtaW4taGVpZ2h0OiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi51ay1idG4uaWNvbiB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi51ay1zaGFkb3ctMCB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udWstc2hhZG93LTEge1xuICBib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLnVrLXNoYWRvdy0xLWhhbGYge1xuICBib3gtc2hhZG93OiAwIDNweCAzcHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA3cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDNweCAxcHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLnVrLXNoYWRvdy0yIHtcbiAgYm94LXNoYWRvdzogMCA0cHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4udWstc2hhZG93LTMge1xuICBib3gtc2hhZG93OiAwIDZweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggMThweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDVweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4udWstc2hhZG93LTQge1xuICBib3gtc2hhZG93OiAwIDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLnVrLXNoYWRvdy01IHtcbiAgYm94LXNoYWRvdzogMCAxNnB4IDI0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgNnB4IDMwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgOHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLnVrLW5hdiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAudWstbmF2IC51ay1uYXYtaXRlbSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMHB4OyB9XG4gICAgLnVrLW5hdiAudWstbmF2LWl0ZW06aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsgfVxuXG4udWstdG9vbHRpcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyOTM1NDE7XG4gIGNvbG9yOiAjRkZGO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG1heC13aWR0aDogMjgwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIHotaW5kZXg6IDI7IH1cbiAgLnVrLXRvb2x0aXA6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgYm9yZGVyOiBzb2xpZCA2cHggdHJhbnNwYXJlbnQ7IH1cbiAgLnVrLXRvb2x0aXAud2hpdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgY29sb3I6ICMyOTM1NDE7IH1cbiAgLnVrLXRvb2x0aXAuYm90dG9tOjpiZWZvcmUge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMyOTM1NDE7XG4gICAgbWFyZ2luLXRvcDogLTEycHg7XG4gICAgdG9wOiAwOyB9XG4gIC51ay10b29sdGlwLmJvdHRvbS53aGl0ZTo6YmVmb3JlIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7IH1cbiAgLnVrLXRvb2x0aXAudG9wOjpiZWZvcmUge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMyOTM1NDE7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEycHg7XG4gICAgYm90dG9tOiAwOyB9XG4gIC51ay10b29sdGlwLnRvcC53aGl0ZTo6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7IH1cbiAgLnVrLXRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogIzI5MzU0MTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMnB4O1xuICAgIHJpZ2h0OiAwOyB9XG4gIC51ay10b29sdGlwLnJpZ2h0OjpiZWZvcmUge1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzI5MzU0MTtcbiAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gICAgbGVmdDogMDsgfVxuXG4udWstbGFiZWwudWstdG9vbHRpcC1ob3N0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDVweDsgfVxuXG4udWstc3RlcHBlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdGl0bGUge1xuICAgIGNvbG9yOiAjMjgzNTQxO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmctdG9wOiA3cHg7IH1cbiAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXN0ZXAtYm9keSB7XG4gICAgcGFkZGluZy10b3A6IDhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLXRvcDogMjdweDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjpiZWZvcmUsIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0M5Q0NDRjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDguNXB4O1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgei1pbmRleDogLTE7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAwOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogMDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNDOUNDQ0Y7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgNHB4O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXAgLnVrLWljb24ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcDo6YmVmb3JlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICByaWdodDogMDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1wcm9ncmVzcy10ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogIzVGNjg3MTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmFjdGl2ZSAudWstc3RlcC1pY29uLXdyYXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4MjU3OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmUgLnVrLXN0ZXAtaWNvbi13cmFwOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlcjogc29saWQgMnB4ICNGRkY7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlODI1NzsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmFjdGl2ZTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlODI1NzsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmFjdGl2ZS53aXA6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlODI1NzsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmRvbmUgLnVrLXN0ZXAtaWNvbi13cmFwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlODI1NzsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuZG9uZSAudWstc3RlcC1pY29uLXdyYXAgLnVrLWljb24ge1xuICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgIGRpc3BsYXk6IGluaXRpYWw7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5kb25lOjpiZWZvcmUsIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5kb25lOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAge1xuICAgICAgICBwYWRkaW5nLXRvcDogMzJweDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmJlZm9yZSwgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjphZnRlciB7XG4gICAgICAgICAgdG9wOiAxMXB4OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXAge1xuICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDZweDsgfVxuICAgICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXA6OmJlZm9yZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDIxcHg7XG4gICAgICAgICAgICB3aWR0aDogMjFweDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuYWN0aXZlIC51ay1zdGVwLWljb24td3JhcDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDNweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDQycHg7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjpiZWZvcmUsIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMTZweDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcbiAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgcGFkZGluZzogMCA4cHg7IH1cbiAgICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwOjpiZWZvcmUge1xuICAgICAgICAgICAgaGVpZ2h0OiAzMXB4O1xuICAgICAgICAgICAgd2lkdGg6IDMxcHg7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmFjdGl2ZSAudWstc3RlcC1pY29uLXdyYXA6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiA0cHg7IH0gfVxuXG4udWstYnRuLmljb24gLnVrLWljb24ge1xuICBoZWlnaHQ6IDEuNWVtO1xuICB3aWR0aDogMS41ZW07IH1cblxuLnVrLWJ0biAudWstaWNvbiB7XG4gIGhlaWdodDogMWVtO1xuICB3aWR0aDogMWVtO1xuICBmb250LXNpemU6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4udWstaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICBmb250LXNpemU6IDEuNWVtO1xuICBtYXgtd2lkdGg6IDEuNWVtO1xuICBtYXgtaGVpZ2h0OiAxLjVlbTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiYm9maS1pY29uXCI7XG4gIHNyYzogdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24uZW90XCIpO1xuICBzcmM6IHVybChcIi9hc3NldHMvYm9maS1pY29uLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi9hc3NldHMvYm9maS1pY29uLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi5zdmcjYm9maS1pY29uXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbltkYXRhLWljb25dOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiICFpbXBvcnRhbnQ7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1pY29uKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5bY2xhc3NePVwiYm9maS1cIl06YmVmb3JlLFxuW2NsYXNzKj1cIiBib2ZpLVwiXTpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJib2ZpLWljb25cIiAhaW1wb3J0YW50O1xuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbi5ib2ZpLXJlY3VycmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjFcIjsgfVxuXG4uYm9maS1lYmlsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjdcIjsgfVxuXG4uYm9maS1hZGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZmXCI7IH1cblxuLmJvZmktYXRtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3MVwiOyB9XG5cbi5ib2ZpLWF1dG9tYXRpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzJcIjsgfVxuXG4uYm9maS1iYW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3M1wiOyB9XG5cbi5ib2ZpLWJhbmtmZWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3NFwiOyB9XG5cbi5ib2ZpLWRhdGVwaWNrZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZhXCI7IH1cblxuLmJvZmktZGVwb3NpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzdcIjsgfVxuXG4uYm9maS1lZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3OFwiOyB9XG5cbi5ib2ZpLWZhcTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2FcIjsgfVxuXG4uYm9maS1tZXNzYWdlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDFcIjsgfVxuXG4uYm9maS1tZW51OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0M1wiOyB9XG5cbi5ib2ZpLWludGVyZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2NVwiOyB9XG5cbi5ib2ZpLXBlbmRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRjXCI7IH1cblxuLmJvZmktcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRkXCI7IH1cblxuLmJvZmktcHJpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRmXCI7IH1cblxuLmJvZmktcmVmdW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1MlwiOyB9XG5cbi5ib2ZpLXJlbW92ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTNcIjsgfVxuXG4uYm9maS1zdWNjZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1NFwiOyB9XG5cbi5ib2ZpLXNlYXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTZcIjsgfVxuXG4uYm9maS1wYXNzd29yZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmRcIjsgfVxuXG4uYm9maS11c2VybmFtZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzVcIjsgfVxuXG4uYm9maS1nZWFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2OFwiOyB9XG5cbi5ib2ZpLWNvbnRhY3QtbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDJcIjsgfVxuXG4uYm9maS1maWx0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc2XCI7IH1cblxuLmJvZmktZGViaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDYyXCI7IH1cblxuLmJvZmktc3VwcG9ydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjlcIjsgfVxuXG4uYm9maS11c2VyLXNldHRpbmdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3MFwiOyB9XG5cbi5ib2ZpLWFjY291bnRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2NFwiOyB9XG5cbi5ib2ZpLXRyYW5zZmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2NlwiOyB9XG5cbi5ib2ZpLXBob3RvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3OVwiOyB9XG5cbi5ib2ZpLWNoZWNrLW1hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ2XCI7IH1cblxuLmJvZmktaW5mb3JtYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ5XCI7IH1cblxuLmJvZmktY2hhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGJcIjsgfVxuXG4uYm9maS1jYW5jZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRlXCI7IH1cblxuLmJvZmktc2VuZC1pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1NVwiOyB9XG5cbi5ib2ZpLXdhcm5pbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU4XCI7IH1cblxuLmJvZmktdXBsb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1YVwiOyB9XG5cbi5ib2ZpLXRodW1ic3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzMFwiOyB9XG5cbi5ib2ZpLXBkZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDdcIjsgfVxuXG4uYm9maS1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDhcIjsgfVxuXG4uYm9maS1zdGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzNlwiOyB9XG5cbi5ib2ZpLWNhbWVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzJcIjsgfVxuXG4uYm9maS1kZWxpdmVyeS1tZXRob2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDM0XCI7IH1cblxuLmJvZmktZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDM3XCI7IH1cblxuLmJvZmktZWJpbGwtcGF5YmlsbHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDM4XCI7IH1cblxuLmJvZmktZmxhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjJcIjsgfVxuXG4uYm9maS1hbGVydC1oaXN0b3J5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyNFwiOyB9XG5cbi5ib2ZpLW1vYmlsZWRlcG9zaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI4XCI7IH1cblxuLmJvZmktb25ldGltZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjlcIjsgfVxuXG4uYm9maS1wZXJzb25hbC1tZXNzYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyY1wiOyB9XG5cbi5ib2ZpLXRleHQtbWVzc2FnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGFcIjsgfVxuXG4uYm9maS1leWUtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTBcIjsgfVxuXG4uYm9maS1hdHRhY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDUxXCI7IH1cblxuLmJvZmktbG9nb3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2YlwiOyB9XG5cbi5ib2ZpLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0NVwiOyB9XG5cbi5ib2ZpLWdlYXItY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1N1wiOyB9XG5cbi5ib2ZpLXRodW1ic3VwLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTlcIjsgfVxuXG4uYm9maS1tb2RhbC1zZW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2Y1wiOyB9XG5cbi5ib2ZpLWFkZC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0NFwiOyB9XG5cbi5ib2ZpLWdyb3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzM1wiOyB9XG5cbi5ib2ZpLWhvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDM1XCI7IH1cblxuLmJvZmktcGVyc29uYWwtaW5mbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzlcIjsgfVxuXG4uYm9maS1wZXJzb24tY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIxXCI7IH1cblxuLmJvZmktcGVyc29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyM1wiOyB9XG5cbi5ib2ZpLXNpZ25lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjVcIjsgfVxuXG4uYm9maS1kYXRlcGlja2VyLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI2XCI7IH1cblxuLmJvZmktcmVmdW5kLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDYzXCI7IH1cblxuLmJvZmktcmVjdXJyaW5nLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI3XCI7IH1cblxuLmJvZmktbWVzc2FnZXMtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMmFcIjsgfVxuXG4uYm9maS1mYXEtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMmJcIjsgfVxuXG4uYm9maS1nZWFyLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDJkXCI7IH1cblxuLmJvZmktcmVtb3ZlLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDJlXCI7IH1cblxuLmJvZmktcmVmdW5kLTI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDJmXCI7IH1cblxuLmJvZmktdXNlcm5hbWUtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcM2FcIjsgfVxuXG4uYm9maS1zZWFyY2gtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcM2JcIjsgfVxuXG4uYm9maS1wYXNzd29yZC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzY1wiOyB9XG5cbi5ib2ZpLWRhc2hib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcM2RcIjsgfVxuXG4uYm9maS1hdG0tMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcM2VcIjsgfVxuXG4uYm9maS1wZW5kaW5nLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNmXCI7IH1cblxuLmJvZmktc3VjY2Vzcy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0MFwiOyB9XG5cbi5ib2ZpLXBob25lLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDViXCI7IH1cblxuLmJvZmktcHJpbnQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNWRcIjsgfVxuXG4uYm9maS1tZW51LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDVlXCI7IH1cblxuLmJvZmktaW50ZXJlc3QtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNWZcIjsgfVxuXG4uYm9maS1pYy1jb250YWN0LWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDYwXCI7IH1cblxuLmJvZmktZGVwb3NpdC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3YlwiOyB9XG5cbi5ib2ZpLWF1dG9tYXRpYy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3Y1wiOyB9XG5cbi5ib2ZpLWF1dG9tYXRpY3BheW1lbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDdkXCI7IH1cblxuLmJvZmktYmFuay0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3ZVwiOyB9XG5cbi5ib2ZpLWJhbmtmZWVzLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDVjXCI7IH1cblxuLmJvZmktZWRpdC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDAwXCI7IH1cblxuLmJvZmktMTQ5ODE5NTU5Mi1pY29uMTUtODpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmVcIjsgfVxuXG4uYm9maS1hcnJvdy1jaGV2cm9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzMVwiOyB9XG5cbi5jZGstb3ZlcmxheS1jb250YWluZXIsXG4uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXIge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jZGstb3ZlcmxheS1jb250YWluZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDA7IH1cblxuLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDAwOyB9XG5cbi5jZGstb3ZlcmxheS1wYW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgei1pbmRleDogMTAwMDsgfVxuXG4uY2RrLW92ZXJsYXktYmFja2Ryb3Age1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTAwMDtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7XG4gIG9wYWNpdHk6IDA7IH1cbiAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3Age1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjg4KTsgfVxuXG4uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AsIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uY2RrLWdsb2JhbC1zY3JvbGxibG9jayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2stYm91bmNlZGVsYXkge1xuICAwJSwgODAlLCAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNrLWJvdW5jZWRlbGF5IHtcbiAgMCUsIDgwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByaXBwbGUge1xuICA1JSxcbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1JSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyByaXBwbGUge1xuICA1JSxcbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1JSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkAtby1rZXlmcmFtZXMgcmlwcGxlIHtcbiAgNSUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNSUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJpcHBsZSB7XG4gIDUlLFxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnVrLWZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGlubGluZS10YWJsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1pbi1oZWlnaHQ6IDE4cHg7IH1cbiAgLnVrLWZvcm0tY29udHJvbF9fdmFsdWUge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgbWF4LXdpZHRoOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBtaW4taGVpZ2h0OiA0OHB4OyB9XG4gIC51ay1mb3JtLWNvbnRyb2xfX2FkZG9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAwLjI1ZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBoZWlnaHQ6IDQ2cHg7XG4gIGNvbG9yOiBibGFjaztcbiAgZm9udC1zaXplOiAxNnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5hbGVydCAuaWNvbiB7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7IH1cbiAgLmFsZXJ0IC5jbG9zZS1pY29uIHtcbiAgICBmb250LXNpemU6IDYuMjI4NXB4O1xuICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuICAuYWxlcnQgLmNoaWxkLS1mZWF0dXJlZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxM3B4O1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuXG46aG9zdCAuYXBwbGljYW50LXR5cGUtdGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0O1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiO1xuICBmb250LXNpemU6IDE3cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICBsZXR0ZXItc3BhY2luZzogMy43cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiIsIi8vIEBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TGlicmUrRnJhbmtsaW46MzAwLDQwMCw1MDAsNjAwLDcwMCcpO1xyXG5AaW1wb3J0ICcuL19mb250LnNjc3MnO1xyXG5AaW1wb3J0ICcuL19zci1vbmx5LnNjc3MnO1xyXG5cclxuQG1peGluIHVrLWdsb2JhbCgkdWstdGhlbWUpIHtcclxuICAgICRmb250LWNvbmZpZzogbWFwLWdldCgkdWstdGhlbWUsIGZvbnRzKTtcclxuICAgICRmb250LWZhbWlsaWVzOiBtYXAtZ2V0KCRmb250LWNvbmZpZywgZmFtaWxpZXMpO1xyXG4gICAgJGZvbnQtc2l6ZXM6IG1hcC1nZXQoJGZvbnQtY29uZmlnLCBzaXplcyk7XHJcblxyXG4gICAgQGVhY2ggJGZvbnQtZmFtaWx5LCAkdmFsdWUgaW4gJGZvbnQtZmFtaWxpZXMge1xyXG4gICAgICAgICRmb250LXVybDogbWFwLWdldCgkdmFsdWUsIHVybCk7XHJcbiAgICAgICAgQGlmICRmb250LXVybCB7XHJcbiAgICAgICAgICAgIEBpbXBvcnQgdXJsKCRmb250LXVybCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICRwcmltYXJ5LWZvbnQtZmFtaWxpeTogbWFwLWdldCgkZm9udC1mYW1pbGllcywgcHJpbWFyeSk7XHJcblxyXG4gICAgaHRtbCB7IFxyXG4gICAgICAgIGJvZHkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRwcmltYXJ5LWZvbnQtZmFtaWxpeSwgbmFtZSksIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRwcmltYXJ5LWZvbnQtZmFtaWxpeSwgY29sb3IpO1xyXG4gICAgICAgICAgICBAY29udGVudFxyXG4gICAgICAgIH1cclxuICAgICAgICBoMSxcclxuICAgICAgICBoMixcclxuICAgICAgICBoMyxcclxuICAgICAgICBoNCxcclxuICAgICAgICBoNSxcclxuICAgICAgICBoNiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHVrLWZvbnRzKCRmb250LXNpemVzKTtcclxuICAgICAgICAuc3Itb25seXsgQGluY2x1ZGUgc3Itb25seSgpOyB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qXHJcbmh0bWwsXHJcbmJvZHkge1xyXG4gICAgZm9udC1mYW1pbHk6ICdMaWJyZSBGcmFua2xpbicsICdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xyXG4gICAgLy8gY29sb3I6IHRoZW1pZnkodGV4dCk7XHJcbn1cclxuXHJcblxyXG5cclxuYSB7XHJcbiAgICBjb2xvcjogdGhlbWlmeShsaW5rKTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5yb3VuZC1pbWFnZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbn1cclxuXHJcblxyXG4qLyIsIiRjb250YWluZXItd2lkdGg6KHNtOjQ5cmVtLCBtZDo2NXJlbSwgbGc6NzZyZW0pO1xyXG4uZmNvbnRhaW5lci1mbHVpZCxcclxuLmZjb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi5mY29udGFpbmVyLWZsdWlkIHtcclxuICAgIHBhZGRpbmc6IDAgMnJlbTtcclxufVxyXG5cclxuQG1peGluIGNvbnRhaW5lcigka2V5KSB7XHJcbiAgICBAaWYoJGtleT09J2xnJykge1xyXG4gICAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkY29udGFpbmVyLXdpZHRoLCAka2V5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZigka2V5PT0nbWQnKSB7XHJcbiAgICAgICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRjb250YWluZXItd2lkdGgsICRrZXkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmKCRrZXk9PSdzbScpIHtcclxuICAgICAgICAuY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGNvbnRhaW5lci13aWR0aCwgJGtleSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLmZyb3cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXg6IDAgMSBhdXRvO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICYucmV2ZXJzZSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLmZpbmxpbmUgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfSIsIi5yZXNldC1wYWRkaW5ne1xyXG4gICAgcGFkZGluZzowO1xyXG59XHJcbi5yZXNldC1tYXJnaW57XHJcbiAgICBtYXJnaW46MDtcclxufVxyXG4udWstYnRuIHtcclxuICAgICYubm9uZSB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIC8vb3V0bGluZTogbm9uZTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICAgICAgbWluLWhlaWdodDogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gICAgJi5pY29uIHtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuICB9XHJcbiAgIiwiLy8gWi1sZXZlbHNcclxuLiN7JHByZWZpeH0tc2hhZG93LTAge1xyXG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG4uI3skcHJlZml4fS1zaGFkb3ctMSB7XHJcbiAgYm94LXNoYWRvdzogMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG59XHJcbi4jeyRwcmVmaXh9LXNoYWRvdy0xLWhhbGYge1xyXG4gIGJveC1zaGFkb3c6IDAgM3B4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDdweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDFweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxufVxyXG4uI3skcHJlZml4fS1zaGFkb3ctMiB7XHJcbiAgYm94LXNoYWRvdzogMCA0cHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxufVxyXG4uI3skcHJlZml4fS1zaGFkb3ctMyB7XHJcbiAgYm94LXNoYWRvdzogMCA2cHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDE4cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDNweCA1cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTQge1xyXG4gIGJveC1zaGFkb3c6IDAgOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxufVxyXG4uI3skcHJlZml4fS1zaGFkb3ctNSB7XHJcbiAgYm94LXNoYWRvdzogMCAxNnB4IDI0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgNnB4IDMwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgOHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbn0iLCIudWstbmF2e1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAgIC51ay1uYXYtaXRlbXtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIkdG9vbHRpcC1oZWlnaHQ6IDI4cHg7XHJcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICMyOTM1NDE7XHJcbiR0b29sdGlwLXBhZGRpbmc6IDVweCAxMHB4O1xyXG4kdG9vbHRpcC1hcnJvdzogNnB4O1xyXG5cclxuLnVrLXRvb2x0aXAge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIGNvbG9yOiAjRkZGO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgbWF4LXdpZHRoOiAyODBweDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XHJcbiAgICB6LWluZGV4OiAyO1xyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAkdG9vbHRpcC1hcnJvdyB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuXHJcbiAgICAmLndoaXRlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xyXG4gICAgICAgIGNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgICYuYm90dG9tIHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAoLTIgKiAkdG9vbHRpcC1hcnJvdyk7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi53aGl0ZTo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjojRkZGICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYudG9wIHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAoLTIgKiAkdG9vbHRpcC1hcnJvdyk7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi53aGl0ZTo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI0ZGRiAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmxlZnQge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICgtMiAqICR0b29sdGlwLWFycm93KTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYucmlnaHQge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICgtMiAqICR0b29sdGlwLWFycm93KTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi51ay1sYWJlbCB7XHJcbiAgICAmLnVrLXRvb2x0aXAtaG9zdCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogNXB4O1xyXG4gICAgfVxyXG59XHJcbiIsIiR1ay1wcm9ncmVzcy1iYXItbGFibGUtc3BhY2U6IDdweDtcclxuJHVrLXByb2dyZXNzLWJhci1saW5lLWhlaWdodDogM3B4O1xyXG4kcmlwcGxlLXNpemU6ICh4czogMjBweCwgc206IDI1cHgsIG1kOiAzNXB4KTtcclxuJHJpcHBsZS1ib3JkZXItd2lkdGg6IDJweDtcclxuXHJcbi51ay1zdGVwcGVye1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgLnVrLXByb2dyZXNzLXRpdGxlIHtcclxuICAgICAgICBjb2xvcjogdGhlbWlmeSh0ZXh0LCAkdGhlbWUpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA3cHg7XHJcbiAgICB9XHJcbiAgICAudWstcHJvZ3Jlc3Mtc3RlcC1ib2R5e1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLnVrLXByb2dyZXNzLXRyYWNrIHtcclxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgLnVrLXByb2dyZXNzLXN0ZXAge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAneHMnKSArICR1ay1wcm9ncmVzcy1iYXItbGFibGUtc3BhY2U7XHJcblxyXG4gICAgICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShncmF5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAobWFwLWdldCgkcmlwcGxlLXNpemUsICd4cycpIC0gJHVrLXByb2dyZXNzLWJhci1saW5lLWhlaWdodCkgLzI7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICR1ay1wcm9ncmVzcy1iYXItbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6YmVmb3JlIHsgbGVmdDogMDsgfVxyXG4gICAgICAgICAgICAmOjphZnRlciB7IHJpZ2h0OiAwOyB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHsgJjo6YmVmb3JlIHsgd2lkdGg6IDA7IH19XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7ICY6OmFmdGVyIHsgd2lkdGg6IDA7IH19XHJcblxyXG4gICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShncmF5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLXNpemUsICd4cycpO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAneHMnKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNHB4O1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG5cclxuICAgICAgICAgICAgICAgIC51ay1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkcmlwcGxlLWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAneHMnKSAtICgyICogJHJpcHBsZS1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3hzJykgLSAoMiAqICRyaXBwbGUtYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAudWstcHJvZ3Jlc3MtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdGhlbWlmeShpbmFjdGl2ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1x0XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmFjdGl2ZXtcclxuICAgICAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShwcmltYXJ5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogc29saWQgMnB4ICNGRkY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYud2lwIHtcclxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYuZG9uZXtcclxuICAgICAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShwcmltYXJ5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIC51ay1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHRoZW1pZnkod2hpdGUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGluaXRpYWw7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBzbSB7XHJcbiAgICAgICAgICAgIC51ay1wcm9ncmVzcy1zdGVwIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3NtJykgKyAkdWstcHJvZ3Jlc3MtYmFyLWxhYmxlLXNwYWNlO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAobWFwLWdldCgkcmlwcGxlLXNpemUsICdzbScpIC0gJHVrLXByb2dyZXNzLWJhci1saW5lLWhlaWdodCkgLzI7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnc20nKTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdzbScpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdzbScpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3NtJykgLSAoMiAqICRyaXBwbGUtYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZXtcclxuICAgICAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1kIHtcclxuICAgICAgICAgICAgLnVrLXByb2dyZXNzLXN0ZXAge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnbWQnKSArICR1ay1wcm9ncmVzcy1iYXItbGFibGUtc3BhY2U7XHJcblxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogKG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnbWQnKSAtICR1ay1wcm9ncmVzcy1iYXItbGluZS1oZWlnaHQpIC8yO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnbWQnKTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDhweDtcclxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmV7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdtZCcpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJykgLSAoMiAqICRyaXBwbGUtYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZXtcclxuICAgICAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIkcHJpbWFyeTogIzFlODI1NyAhZGVmYXVsdDtcclxuJHNlY29uZGFyeTogI0ZBQTc0QSAhZGVmYXVsdDtcclxuJGxpbms6ICMxMTUzYjUgIWRlZmF1bHQ7XHJcbiR0ZXh0OiAjMjgzNTQxICFkZWZhdWx0O1xyXG4kZ3JheTogI2JlYzFjNSAhZGVmYXVsdDtcclxuJGluYWN0aXZlOiAjNmM3NzgxICFkZWZhdWx0O1xyXG4kbXV0ZWQ6ICNlZWVmZjIgIWRlZmF1bHQ7XHJcbiRsaWdodDogI2Y0ZjVmNyAhZGVmYXVsdDtcclxuJGVycm9yOiAjY2IyZDBlICFkZWZhdWx0O1xyXG4kd2FybmluZzogI2UzNzkzNiAhZGVmYXVsdDtcclxuJHN1Y2Nlc3M6ICMyMjk4NmMgIWRlZmF1bHQ7XHJcbiRpbmZvOiAjNmFhNWYyICFkZWZhdWx0O1xyXG4kYWNjZW50LTE6ICM2OGNjOWEgIWRlZmF1bHQ7XHJcbiRhY2NlbnQtMjogJGluZm8gIWRlZmF1bHQ7XHJcbiR3aGl0ZTogI2ZmZiAhZGVmYXVsdDtcclxuXHJcbiRidG4tYmFzZTogKFxyXG4gIGhlaWdodDogNTJweCxcclxuICB3aWR0aDogMTc1cHgsXHJcbiAgcGFkZGluZzogMTZweCA0MHB4XHJcbik7XHJcblxyXG4kYnRuLXNpemVzOiAobGc6KGhlaWdodDogNTJweCwgcGFkZGluZzogMTZweCA2MHB4KSkgIWRlZmF1bHQ7XHJcbiAgXHJcbiR0aGVtZTogKFxyXG4gICAgcHJpbWFyeTogJHByaW1hcnksXHJcbiAgICBzZWNvbmRhcnk6ICRzZWNvbmRhcnksXHJcbiAgICBsaW5rOiAkbGluayxcclxuICAgIHRleHQ6ICR0ZXh0LFxyXG4gICAgZ3JheTogJGdyYXksXHJcbiAgICBpbmFjdGl2ZTogJGluYWN0aXZlLFxyXG4gICAgbGlnaHQ6ICRsaWdodCxcclxuICAgIG11dGVkOiAkbXV0ZWQsXHJcbiAgICBlcnJvcjogJGVycm9yLFxyXG4gICAgd2FybmluZzogJHdhcm5pbmcsXHJcbiAgICBzdWNjZXNzOiAkc3VjY2VzcyxcclxuICAgIGluZm8gOiAkaW5mbyxcclxuICAgIGFjY2VudC0xOiAkYWNjZW50LTEsXHJcbiAgICBhY2NlbnQtMjogJGFjY2VudC0yLFxyXG4gICAgd2hpdGU6ICR3aGl0ZVxyXG4gIClcclxuICAhZGVmYXVsdDtcclxuJHNpemVzOiAoXHJcbiAgcGhvbmU6XHJcbiAgICAoXHJcbiAgICAgIC8vIEFwcHJvdmVkXHJcbiAgICAgIGgxOihmb250LXNpemU6IDUycHgsIGxpbmUtaGVpZ2h0OiA1OHB4LCBmb250LXdlaWdodDogMzAwKSxcclxuICAgICAgaDI6KGZvbnQtc2l6ZTogNDJweCwgbGluZS1oZWlnaHQ6IDUwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBoNDogKGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBwOihmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgbGFiZWw6IChmb250LXNpemU6IDE0cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgLy8gRW5kIEFwcHJvdmVkXHJcbiAgICAgIGgzOihmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgYm9keTooZm9udC1zaXplOiAxNXB4LCBsaW5lLWhlaWdodDogMThweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIHNtYWxsOihmb250LXNpemU6IDE0cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICksXHJcbiAgdGFibGV0OihcclxuICAgICAgLy8gQXBwcm92ZWRcclxuICAgICAgaDE6KGZvbnQtc2l6ZTogNjJweCwgbGluZS1oZWlnaHQ6IDY4cHgsIGZvbnQtd2VpZ2h0OiAzMDApLFxyXG4gICAgICBoMjooZm9udC1zaXplOiA1MnB4LCBsaW5lLWhlaWdodDogNjBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGg0OiAoZm9udC1zaXplOiAyMHB4LCBsaW5lLWhlaWdodDogMzBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIHA6KGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBsYWJlbDogKGZvbnQtc2l6ZTogMTRweCwgbGluZS1oZWlnaHQ6IDIwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICAvLyBFbmQgQXBwcm92ZWRcclxuICAgICAgaDM6KGZvbnQtc2l6ZTogMjZweCwgbGluZS1oZWlnaHQ6IDMwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBib2R5Oihmb250LXNpemU6IDE1cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgc21hbGw6KGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgKSxcclxuICBkZXNrdG9wOihcclxuICAgICAgLy8gQXBwcm92ZWRcclxuICAgICAgaDE6IChmb250LXNpemU6IDcycHgsIGxpbmUtaGVpZ2h0OiA3OHB4LCBmb250LXdlaWdodDogMzAwKSxcclxuICAgICAgaDI6IChmb250LXNpemU6IDYycHgsIGxpbmUtaGVpZ2h0OiA3MHB4LCBmb250LXdlaWdodDogMzAwKSxcclxuICAgICAgaDQ6IChmb250LXNpemU6IDIwcHgsIGxpbmUtaGVpZ2h0OiAzMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgcDogKGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDIycHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBsYWJlbDogKGZvbnQtc2l6ZTogMTRweCwgbGluZS1oZWlnaHQ6IDIwcHgsIGZvbnQtd2VpZ2h0OiA0MDApLFxyXG4gICAgICAvLyBFbmQgQXBwcm92ZWRcclxuICAgICAgaDM6IChmb250LXNpemU6IDI0cHgsIGxpbmUtaGVpZ2h0OiAyOHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgYm9keTogKGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDE4cHgsIGZvbnQtd2VpZ2h0OiA0MDApLFxyXG4gICAgICBzbWFsbDogKGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA0MDApLFxyXG4gICAgKVxyXG4pO1xyXG4kZ3V0dGVyOiAzMHB4O1xyXG5cclxuXHJcbi8vQU5HVUxBUiBDREsgT1ZFUkxBWSBWQVJJQUJMRVNcclxuJGNkay16LWluZGV4LW92ZXJsYXktY29udGFpbmVyOiAxMDAwO1xyXG4kY2RrLXotaW5kZXgtb3ZlcmxheTogMTAwMDtcclxuJGNkay16LWluZGV4LW92ZXJsYXktYmFja2Ryb3A6IDEwMDA7XHJcblxyXG4vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBhbGwgb2YgdGhlIGJhY2tkcm9wc1xyXG4kY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcC1iYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjg4KTtcclxuXHJcbi8vIERlZmF1bHQgYmFja2Ryb3AgYW5pbWF0aW9uIGlzIGJhc2VkIG9uIHRoZSBNYXRlcmlhbCBEZXNpZ24gc3dpZnQtZWFzZS1vdXQuXHJcbiRiYWNrZHJvcC1hbmltYXRpb24tZHVyYXRpb246IDQwMG1zICFkZWZhdWx0O1xyXG4kYmFja2Ryb3AtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSkgIWRlZmF1bHQ7IiwiLy8gR3JheXNcclxuJGluYWN0aXZlOiAjNUY2ODcxO1xyXG4kbWlkLWdyYXk6ICM5NDlBQTA7XHJcbiRncmF5OiAjQzlDQ0NGO1xyXG4kbXV0ZWQ6ICNFOUVBRUM7XHJcbiRsaWdodDogI0Y0RjVGNTtcclxuJHdoaXRlOiAjRkZGO1xyXG4vLyBJbGx1c3RyYXRpdmUgSWNvbnNcclxuJGluZm86ICM2NDk1RjY7XHJcbiRhY2NlbnQtMTogI0ZGRjtcclxuJGFjY2VudC0yOiAjMDAwO1xyXG4vLyBBbGVydHNcclxuJGVycm9yOiAjY2IyZDBlO1xyXG4kd2FybmluZzogI2UzNzkzNjtcclxuJHN1Y2Nlc3M6ICMyMjk4NmM7XHJcbi8vIExpbmtzXHJcbiRsaW5rOiAjMTc2QUNGO1xyXG4kbGluay12aXNpdGVkOiAjNTUxQThCOyIsIiRicmVha3BvaW50cyA6KCB4czo0ODBweCwgc206IDc2OHB4LCBtZDo5OTJweCwgbGc6IDEyMDBweCk7XHJcblxyXG5AbWl4aW4geHMge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHNtIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICdzbScpKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZCB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAnbWQnKSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbGcge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJ2xnJykpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG4iLCJAaW1wb3J0ICcuL19mb250LWljb24uc2Nzcyc7XHJcblxyXG4kYnRuLWljb24tc2l6ZTogMWVtO1xyXG4kaWNvbi1zaXplOiAxLjVlbTtcclxuXHJcbkBtaXhpbiBpY29ucyB7XHJcbiAgICAudWstYnRuLmljb257XHJcbiAgICAgICAgLnVrLWljb257XHJcbiAgICAgICAgICAgIGhlaWdodDogJGljb24tc2l6ZTtcclxuICAgICAgICAgICAgd2lkdGg6ICRpY29uLXNpemU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnVrLWJ0bntcclxuICAgICAgICAudWstaWNvbntcclxuICAgICAgICAgICAgaGVpZ2h0OiAkYnRuLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgd2lkdGg6ICRidG4taWNvbi1zaXplO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRidG4taWNvbi1zaXplO1xyXG4gICAgICAgICAgICAvL0dlbmVyYWxcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudWstaWNvbiB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHN0cm9rZS13aWR0aDogMDtcclxuICAgICAgICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcclxuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XHJcbiAgICAgICAgZm9udC1zaXplOiAkaWNvbi1zaXplO1xyXG4gICAgICAgIG1heC13aWR0aDogJGljb24tc2l6ZTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAkaWNvbi1zaXplO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBpY29ucygpO1xyXG5AaW5jbHVkZSBmb250SWNvbnMoKTsiLCJAbWl4aW4gZm9udEljb25zIHtcclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiO1xyXG4gICAgICAgIHNyYzp1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi5lb3RcIik7XHJcbiAgICAgICAgc3JjOnVybChcIi9hc3NldHMvYm9maS1pY29uLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXHJcbiAgICAgICAgICB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICAgICAgICB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi5zdmcjYm9maS1pY29uXCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgIFxyXG4gICAgfVxyXG5cclxuICAgIFtkYXRhLWljb25dOmJlZm9yZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiYm9maS1pY29uXCIgIWltcG9ydGFudDtcclxuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtaWNvbik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBzcGVhazogbm9uZTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICBbY2xhc3NePVwiYm9maS1cIl06YmVmb3JlLFxyXG4gICAgICBbY2xhc3MqPVwiIGJvZmktXCJdOmJlZm9yZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiYm9maS1pY29uXCIgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHNwZWFrOiBub25lO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIC5ib2ZpLXJlY3VycmluZzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2MVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWViaWxsOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDY3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYWRkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDZmXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXRtOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDcxXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXV0b21hdGljOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDcyXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYmFuazpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3M1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWJhbmtmZWVzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDc0XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZGF0ZXBpY2tlcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2YVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRlcG9zaXQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzdcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1lZGl0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDc4XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZmFxOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDdhXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbWVzc2FnZXM6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1tZW51OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQzXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktaW50ZXJlc3Q6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZW5kaW5nOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDRjXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGhvbmU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNGRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wcmludDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0ZlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXJlZnVuZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1MlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXJlbW92ZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1M1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXN1Y2Nlc3M6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zZWFyY2g6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wYXNzd29yZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2ZFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXVzZXJuYW1lOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDc1XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZ2VhcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2OFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNvbnRhY3QtbGlzdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0MlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWZpbHRlcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3NlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRlYml0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDYyXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc3VwcG9ydDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2OVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXVzZXItc2V0dGluZ3M6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzBcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hY2NvdW50czpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2NFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXRyYW5zZmVyOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDY2XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGhvdG86YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzlcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jaGVjay1tYXJrOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQ2XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktaW5mb3JtYXRpb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDlcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jaGF0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDRiXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2FuY2VsOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDRlXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc2VuZC1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDU1XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktd2FybmluZzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1OFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXVwbG9hZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1YVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXRodW1ic3VwOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDMwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGRmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQ3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2hlY2s6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDhcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zdGFyOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDM2XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2FtZXJhOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDMyXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZGVsaXZlcnktbWV0aG9kOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDM0XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZG93bmxvYWQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzdcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1lYmlsbC1wYXliaWxsczpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzOFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWZsYWc6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hbGVydC1oaXN0b3J5OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDI0XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbW9iaWxlZGVwb3NpdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyOFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW9uZXRpbWU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjlcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZXJzb25hbC1tZXNzYWdlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDJjXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdGV4dC1tZXNzYWdlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDRhXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZXllLW91dGxpbmU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTBcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hdHRhY2g6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1sb2dvdXQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jbG9zZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0NVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWdlYXItY2lyY2xlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDU3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdGh1bWJzdXAtY2lyY2xlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDU5XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbW9kYWwtc2VuZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2Y1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWFkZC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQ0XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZ3JvdXA6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1ob21lOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDM1XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGVyc29uYWwtaW5mbzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzOVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBlcnNvbi1jaGVjazpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyMVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBlcnNvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyM1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXNpZ25lcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyNVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRhdGVwaWNrZXItMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyNlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXJlZnVuZC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDYzXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcmVjdXJyaW5nLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjdcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1tZXNzYWdlcy0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDJhXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZmFxLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMmJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1nZWFyLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMmRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZW1vdmUtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXJlZnVuZC0yOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDJmXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdXNlcm5hbWUtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzYVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXNlYXJjaC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDNiXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGFzc3dvcmQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzY1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRhc2hib2FyZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzZFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWF0bS0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDNlXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGVuZGluZy0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDNmXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc3VjY2Vzcy0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGhvbmUtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1YlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXByaW50LTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1tZW51LTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1pbnRlcmVzdC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDVmXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktaWMtY29udGFjdC1saXN0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDYwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZGVwb3NpdC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDdiXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXV0b21hdGljLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcN2NcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hdXRvbWF0aWNwYXltZW50OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDdkXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYmFuay0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDdlXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYmFua2ZlZXMtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1Y1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWVkaXQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlMDAwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktMTQ5ODE5NTU5Mi1pY29uMTUtODpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2ZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWFycm93LWNoZXZyb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzFcIjtcclxuICAgICAgfSAgICAgIFxyXG59IiwiLmNkay1vdmVybGF5LWNvbnRhaW5lcixcclxuLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcclxuICAvLyBEaXNhYmxlIGV2ZW50cyBmcm9tIGJlaW5nIGNhcHR1cmVkIG9uIHRoZSBvdmVybGF5IGNvbnRhaW5lci5cclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcbiAgLy8gVGhlIGNvbnRhaW5lciBzaG91bGQgYmUgdGhlIHNpemUgb2YgdGhlIHZpZXdwb3J0LlxyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLy8gVGhlIG92ZXJsYXktY29udGFpbmVyIGlzIGFuIGludmlzaWJsZSBlbGVtZW50IHdoaWNoIGNvbnRhaW5zIGFsbCBpbmRpdmlkdWFsIG92ZXJsYXlzLlxyXG4uY2RrLW92ZXJsYXktY29udGFpbmVyIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXktY29udGFpbmVyO1xyXG59XHJcblxyXG4vLyBXZSB1c2UgYW4gZXh0cmEgd3JhcHBlciBlbGVtZW50IGluIG9yZGVyIHRvIHVzZSBtYWtlIHRoZSBvdmVybGF5IGl0c2VsZiBhIGZsZXggaXRlbS5cclxuLy8gVGhpcyBtYWtlcyBjZW50ZXJpbmcgdGhlIG92ZXJsYXkgZWFzeSB3aXRob3V0IHJ1bm5pbmcgaW50byB0aGUgc3VicGl4ZWwgcmVuZGVyaW5nXHJcbi8vIHByb2JsZW1zIHRpZWQgdG8gdXNpbmcgYHRyYW5zZm9ybWAgYW5kIHdpdGhvdXQgaW50ZXJmZXJpbmcgd2l0aCB0aGUgb3RoZXIgcG9zaXRpb25cclxuLy8gc3RyYXRlZ2llcy5cclxuLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheTtcclxufVxyXG5cclxuLy8gQSBzaW5nbGUgb3ZlcmxheSBwYW5lLlxyXG4uY2RrLW92ZXJsYXktcGFuZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXk7XHJcbn1cclxuXHJcbi5jZGstb3ZlcmxheS1iYWNrZHJvcCB7XHJcbiAgLy8gVE9ETyhqZWxib3Vybik6IHJldXNlIHNpZGVuYXYgZnVsbHNjcmVlbiBtaXhpbi5cclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG5cclxuICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheS1iYWNrZHJvcDtcclxuICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGJhY2tkcm9wLWFuaW1hdGlvbi1kdXJhdGlvblxyXG4gICAgJGJhY2tkcm9wLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb247XHJcbiAgb3BhY2l0eTogMDtcclxuXHJcbiAgJi5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG4uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcCB7XHJcbiAgYmFja2dyb3VuZDogJGNkay1vdmVybGF5LWRhcmstYmFja2Ryb3AtYmFja2dyb3VuZDtcclxufVxyXG5cclxuLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wIHtcclxuICAvLyBOb3RlOiBhcyBvZiBGaXJlZm94IDU3LCBoYXZpbmcgdGhlIGJhY2tkcm9wIGJlIGBiYWNrZ3JvdW5kOiBub25lYCB3aWxsIHByZXZlbnQgaXQgZnJvbVxyXG4gIC8vIGNhcHR1cmluZyB0aGUgdXNlcidzIG1vdXNlIHNjcm9sbCBldmVudHMuIFNpbmNlIHdlIGFsc28gY2FuJ3QgdXNlIHNvbWV0aGluZyBsaWtlXHJcbiAgLy8gYHJnYmEoMCwgMCwgMCwgMClgLCB3ZSB3b3JrIGFyb3VuZCB0aGUgaW5jb25zaXN0ZW5jeSBieSBub3Qgc2V0dGluZyB0aGUgYmFja2dyb3VuZCBhdFxyXG4gIC8vIGFsbCBhbmQgdXNpbmcgYG9wYWNpdHlgIHRvIG1ha2UgdGhlIGVsZW1lbnQgdHJhbnNwYXJlbnQuXHJcbiAgJixcclxuICAmLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbi8vIFVzZWQgd2hlbiBkaXNhYmxpbmcgZ2xvYmFsIHNjcm9sbGluZy5cclxuLmNkay1nbG9iYWwtc2Nyb2xsYmxvY2sge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuXHJcbiAgLy8gTmVjZXNzYXJ5IGZvciB0aGUgY29udGVudCBub3QgdG8gbG9zZSBpdHMgd2lkdGguIE5vdGUgdGhhdCB3ZSdyZSB1c2luZyAxMDAlLCBpbnN0ZWFkIG9mXHJcbiAgLy8gMTAwdncsIGJlY2F1c2UgMTAwdncgaW5jbHVkZXMgdGhlIHdpZHRoIHBsdXMgdGhlIHNjcm9sbGJhciwgd2hlcmVhcyAxMDAlIGlzIHRoZSB3aWR0aFxyXG4gIC8vIHRoYXQgdGhlIGVsZW1lbnQgaGFkIGJlZm9yZSB3ZSBtYWRlIGl0IGBmaXhlZGAuXHJcbiAgd2lkdGg6IDEwMCU7XHJcblxyXG4gIC8vIE5vdGU6IHRoaXMgd2lsbCBhbHdheXMgYWRkIGEgc2Nyb2xsYmFyIHRvIHdoYXRldmVyIGVsZW1lbnQgaXQgaXMgb24sIHdoaWNoIGNhblxyXG4gIC8vIHBvdGVudGlhbGx5IHJlc3VsdCBpbiBkb3VibGUgc2Nyb2xsYmFycy4gSXQgc2hvdWxkbid0IGJlIGFuIGlzc3VlLCBiZWNhdXNlIHdlIHdvbid0XHJcbiAgLy8gYmxvY2sgc2Nyb2xsaW5nIG9uIGEgcGFnZSB0aGF0IGRvZXNuJ3QgaGF2ZSBhIHNjcm9sbGJhciBpbiB0aGUgZmlyc3QgcGxhY2UuXHJcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG59XHJcbiIsIkBpbXBvcnQgJy4uLy4uL21peGlucy9fYW5pbWF0aW9uLnNjc3MnO1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2stYm91bmNlZGVsYXkge1xyXG4gICAgMCUsIDgwJSwgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKSB9XHJcbiAgICA0MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wKSB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2stYm91bmNlZGVsYXkge1xyXG4gICAgMCUsIDgwJSwgMTAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICB9IDQwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjApO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gdWstZG90LWxvYWRlcigkdGhlbWUpIHtcclxuICAgIC51aWtpdC1kb3QtbG9hZGVyIHtcclxuICAgICAgICB1c2VyLXNlbGVjdDpub25lOyAgICAgICAgICAgIFxyXG4gICAgICAgICYudWlraXQtaW5saW5lLWRvdC1sb2FkZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICA+c3BhbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICB3aWR0aDogMTVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHdoaXRlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcblxyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGFuaW1hdGlvbihzay1ib3VuY2VkZWxheSAxLjJzIGluZmluaXRlIGVhc2UtaW4tb3V0IGJvdGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICA+LmJvdW5jZTEge1xyXG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IC0wLjMycztcclxuICAgICAgICB9XHJcbiAgICAgICAgPi5ib3VuY2UyIHtcclxuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4xNnM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiQG1peGluIGFuaW1hdGlvbigkYW5pbWF0ZS4uLikge1xyXG4gICAgJG1heDogbGVuZ3RoKCRhbmltYXRlKTtcclxuICAgICRhbmltYXRpb25zOiAnJztcclxuXHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgge1xyXG4gICAgICAgICRhbmltYXRpb25zOiAjeyRhbmltYXRpb25zICsgbnRoKCRhbmltYXRlLCAkaSl9O1xyXG5cclxuICAgICAgICBAaWYgJGkgPCAkbWF4IHtcclxuICAgICAgICAgICAgJGFuaW1hdGlvbnM6ICN7JGFuaW1hdGlvbnMgKyAnLCAnfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhbmltYXRpb246ICRhbmltYXRpb25zO1xyXG59XHJcblxyXG5AbWl4aW4ga2V5ZnJhbWVzKCRhbmltYXRpb25OYW1lKSB7XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgI3skYW5pbWF0aW9uTmFtZX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gICAgQC1tb3ota2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxuICAgIEAtby1rZXlmcmFtZXMgI3skYW5pbWF0aW9uTmFtZX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gICAgQGtleWZyYW1lcyAjeyRhbmltYXRpb25OYW1lfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn0iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMvYW5pbWF0aW9uLnNjc3MnO1xyXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWwvX3NyLW9ubHkuc2Nzcyc7XHJcblxyXG4kaW5wdXQ6ICggc2l6ZTogMjJweCwgbWFyZ2luLXJpZ2h0OiAxMHB4KTtcclxuJHJpcHBsZTogKCBwb3NpdGlvbjogMTBweCwgc2l6ZTogbWFwLWdldCgkaW5wdXQsIHNpemUpICogMyk7XHJcbkBpbmNsdWRlIGtleWZyYW1lcyhyaXBwbGUpIHtcclxuICAgIDUlLFxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDUlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcblxyXG5AbWl4aW4gdWstcmFkaW8oJHRoZW1lKSB7XHJcbiAgICAjeyRwcmVmaXh9LXJhZGlvLWdyb3VwIHtcclxuICAgICAgICAuI3skcHJlZml4fS1yYWRpby1ncm91cCB7XHJcbiAgICAgICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1yYWRpb10ge1xyXG4gICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMTBweDsgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4OyAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJGlucHV0cy1jb25maWc6IG1hcC1nZXQoJHRoZW1lLCBpbnB1dHMpO1xyXG4gICAgJGNvbmZpZzogbWFwLWdldCgkaW5wdXRzLWNvbmZpZywgaW5wdXQtY2hlY2tlZCk7XHJcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5LWNvbG9yKTtcclxuICAgIGlucHV0W3R5cGU9cmFkaW9dIHtcclxuICAgICAgICBAaW5jbHVkZSBzci1vbmx5KCk7XHJcblxyXG4gICAgICAgICY6ZGlzYWJsZWQrbGFiZWw6bm90KDpjaGVja2VkKSwgJi5kaXNhYmxlZCtsYWJlbDpub3QoOmNoZWNrZWQpIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0aGVtaWZ5KGluYWN0aXZlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICtsYWJlbCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAvLyBtYXJnaW46IDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogKG1hcC1nZXQoJGlucHV0LCBzaXplKSArIG1hcC1nZXQoJGlucHV0LCBtYXJnaW4tcmlnaHQpKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBtYXAtZ2V0KCRpbnB1dCwgc2l6ZSkgKyAycHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRpbnB1dCwgc2l6ZSkgKyAycHg7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkaW5wdXQsIHNpemUpO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRpbnB1dCwgc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIG1hcC1nZXQoJGlucHV0LCBzaXplKSB0aGVtaWZ5KHdoaXRlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdGhlbWlmeShpbmFjdGl2ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IChtYXAtZ2V0KCRpbnB1dCwgc2l6ZSkgLyAyKTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IG1hcC1nZXQoJHJpcHBsZSwgcG9zaXRpb24pIC0gMXB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZSwgc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZSwgc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkcHJpbWFyeS1jb2xvciwgMC4xKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDApO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlcitsYWJlbCwgJi5ob3ZlcitsYWJlbHtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpjaGVja2VkK2xhYmVsIHtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDRweCB0aGVtaWZ5KHdoaXRlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYW5pbWF0aW9uKHJpcHBsZSAxcyBub25lKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi51ay1mb3JtLWNvbnRyb2wge1xyXG4gICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIG1pbi1oZWlnaHQ6IDE4cHg7XHJcblxyXG4gICAgJl9fdmFsdWUge1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBtaW4taGVpZ2h0OiA0OHB4O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmX19hZGRvbiB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxufSIsIi5hbGVydCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmctdG9wOiAxNXB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgbWFyZ2luLXRvcDogMjBweDtcclxuICBib3JkZXItcmFkaXVzOiAwLjI1ZW07XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICBoZWlnaHQ6IDQ2cHg7XHJcbiAgY29sb3I6IGJsYWNrO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIFxyXG4gIC5pY29uIHtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xyXG4gIH1cclxuICBcclxuICAuY2xvc2UtaWNvbntcclxuICAgIGZvbnQtc2l6ZTogNi4yMjg1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgfVxyXG5cclxuICAuY2hpbGQtLWZlYXR1cmVkIHtcclxuICAgIHBhZGRpbmctbGVmdDogMTNweDtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICB9XHJcbn0iLCIgQGltcG9ydCAnX3ZhcmlhYmxlcy5zY3NzJztcclxuIEBpbXBvcnQgJ19taXhpbnMuc2Nzcyc7XHJcblxyXG46aG9zdCB7XHJcbiAgICAuYXBwbGljYW50LXR5cGUtdGl0bGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkdWstcHJpbWFyeS1mb250LW5hbWU7XHJcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAzLjdweDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcbn0iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMvaGVscGVycy9fZ2V0LnNjc3MnO1xyXG5AaW1wb3J0ICcuLi8uLi9ncmlkL19tZWRpYS1xdWVyaWVzLnNjc3MnO1xyXG5cclxuJHVrLWF4b3MtZm9udDogKFxyXG4gICAgZmFtaWxpZXM6IChcclxuICAgICAgICBwcmltYXJ5OiAoXHJcbiAgICAgICAgICAgIG5hbWU6ICdSb2JvdG8nLFxyXG4gICAgICAgICAgICBjb2xvcjogJHVrLWF4b3MtcHJpbWFyeS1kZWZhdWx0XHJcbiAgICAgICAgICAgIC8vIHVybDogJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Sb2JvdG86MzAwLDQwMCw1MDAsNjAwLDcwMCdcclxuICAgICAgICApLFxyXG4gICAgICAgIHNlY29uZGFyeTogKFxyXG4gICAgICAgICAgICBuYW1lOiAnS2FyYm9uJyxcclxuICAgICAgICAgICAgY29sb3I6ICR1ay1heG9zLXByaW1hcnktZGVmYXVsdFxyXG4gICAgICAgIClcclxuICAgICksXHJcbiAgICBzaXplczogKFxyXG4gICAgICAgIHBob25lOihcclxuICAgICAgICAgICAgLy8gQXBwcm92ZWRcclxuICAgICAgICAgICAgaDE6KGZvbnQtc2l6ZTogNTJweCwgbGluZS1oZWlnaHQ6IDU4cHgsIGZvbnQtd2VpZ2h0OiAzMDApLFxyXG4gICAgICAgICAgICBoMjooZm9udC1zaXplOiA0MnB4LCBsaW5lLWhlaWdodDogNTBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgICAgICAgIGg0OiAoZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjRweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgICAgICAgIHA6KGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICAgICAgICBsYWJlbDogKGZvbnQtc2l6ZTogMTRweCwgbGluZS1oZWlnaHQ6IDIwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICAgICAgICAvLyBFbmQgQXBwcm92ZWRcclxuICAgICAgICAgICAgaDM6KGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICAgICAgICBib2R5Oihmb250LXNpemU6IDE1cHgsIGxpbmUtaGVpZ2h0OiAxOHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgICAgICAgc21hbGw6KGZvbnQtc2l6ZTogMTRweCwgbGluZS1oZWlnaHQ6IDIwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICAgICksXHJcbiAgICAgICAgdGFibGV0OihcclxuICAgICAgICAgICAgLy8gQXBwcm92ZWRcclxuICAgICAgICAgICAgaDE6KGZvbnQtc2l6ZTogNjJweCwgbGluZS1oZWlnaHQ6IDY4cHgsIGZvbnQtd2VpZ2h0OiAzMDApLFxyXG4gICAgICAgICAgICBoMjooZm9udC1zaXplOiA1MnB4LCBsaW5lLWhlaWdodDogNjBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgICAgICAgIGg0OiAoZm9udC1zaXplOiAyMHB4LCBsaW5lLWhlaWdodDogMzBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgICAgICAgIHA6KGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICAgICAgICBsYWJlbDogKGZvbnQtc2l6ZTogMTRweCwgbGluZS1oZWlnaHQ6IDIwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICAgICAgICAvLyBFbmQgQXBwcm92ZWRcclxuICAgICAgICAgICAgaDM6KGZvbnQtc2l6ZTogMjZweCwgbGluZS1oZWlnaHQ6IDMwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICAgICAgICBib2R5Oihmb250LXNpemU6IDE1cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgICAgICAgc21hbGw6KGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICAgICksXHJcbiAgICAgICAgZGVza3RvcDooXHJcbiAgICAgICAgICAgIC8vIEFwcHJvdmVkXHJcbiAgICAgICAgICAgIGgxOiAoZm9udC1zaXplOiA3MnB4LCBsaW5lLWhlaWdodDogNzhweCwgZm9udC13ZWlnaHQ6IDMwMCksXHJcbiAgICAgICAgICAgIGgyOiAoZm9udC1zaXplOiA2MnB4LCBsaW5lLWhlaWdodDogNzBweCwgZm9udC13ZWlnaHQ6IDMwMCksXHJcbiAgICAgICAgICAgIGg0OiAoZm9udC1zaXplOiAyMHB4LCBsaW5lLWhlaWdodDogMzBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgICAgICAgIHA6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyMnB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgICAgICAgbGFiZWw6IChmb250LXNpemU6IDE0cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNDAwKSxcclxuICAgICAgICAgICAgLy8gRW5kIEFwcHJvdmVkXHJcbiAgICAgICAgICAgIGgzOiAoZm9udC1zaXplOiAyNHB4LCBsaW5lLWhlaWdodDogMjhweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgICAgICAgIGJvZHk6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAxOHB4LCBmb250LXdlaWdodDogNDAwKSxcclxuICAgICAgICAgICAgc21hbGw6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNDAwKSxcclxuICAgICAgICApXHJcbiAgICApXHJcbik7Il19 */\"","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'axos-applicant-title',\r\n templateUrl: './applicant-title.component.html',\r\n styleUrls: ['./applicant-title.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ApplicantTitleComponent { }\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvZXJyb3IvZXJyb3IuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'axos-error',\r\n templateUrl: './error.component.html',\r\n styleUrls: ['./error.component.scss']\r\n})\r\nexport class ErrorComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC5zY3NzIn0= */\"","import { AfterContentInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, Input, OnInit, QueryList, ViewEncapsulation } from '@angular/core';\r\nimport { UkBaseFormControl, UkFieldError, UkFormFieldControl, UkInput } from '@uikit/components';\r\nimport { ErrorDirective } from 'app/enrollment-common/directives/error.directive';\r\nimport { HintDirective } from 'app/enrollment-common/directives/hint.directive';\r\nimport { LabelDirective } from 'app/enrollment-common/directives/label.directive';\r\nimport { PrefixDirective } from 'app/enrollment-common/directives/prefix.directive';\r\nimport { SuffixDirective } from 'app/enrollment-common/directives/suffix.directive';\r\n\r\nconst NO_CONTROL_FOUND = 'No control of type BaseInput was found inside the axos-form-field.';\r\n\r\n@Component({\r\n selector: 'axos-form-field',\r\n templateUrl: './form-field.component.html',\r\n styleUrls: ['./form-field.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: {\r\n class: 'uk-form-field',\r\n '[class.uk-form-field-disabled]': 'control?.disabled',\r\n '[class.uk-form-field-focus]': 'control?.focused',\r\n '[class.uk-form-field-invalid]': 'control?.invalid && control?.touched',\r\n }\r\n})\r\n\r\nexport class FormFieldComponent implements AfterContentInit {\r\n isPassword = false;\r\n isValueShown = false;\r\n controlErrors: UkFieldError[];\r\n\r\n constructor(private cdRef: ChangeDetectorRef) { }\r\n\r\n @Input() hint: string;\r\n @Input() label: string;\r\n @Input() tooltip: string;\r\n @Input() fieldName: string;\r\n @Input() hideLabel: boolean;\r\n @Input() optionalText: string = 'Optional'; \r\n @ContentChild(UkBaseFormControl, { static: true }) control: UkBaseFormControl | UkFormFieldControl;\r\n @ContentChildren(ErrorDirective) errorChildren: QueryList;\r\n @ContentChildren(HintDirective) hintChildren: QueryList;\r\n @ContentChildren(LabelDirective) labelChildren: QueryList;\r\n @ContentChildren(PrefixDirective) prefixChildren: QueryList;\r\n @ContentChildren(SuffixDirective) suffixChildren: QueryList;\r\n\r\n toggleShow() {\r\n this.isValueShown = !this.isValueShown;\r\n (this.control as UkInput).type = this.isValueShown ? 'text' : 'password';\r\n }\r\n\r\n /** ===> Error Handling <=== */\r\n getDefaultErrors() {\r\n if (this.control.errors) {\r\n this.controlErrors = Object.keys(this.control.errors).map(key => this.control.errors[key]);\r\n }\r\n }\r\n\r\n get shouldDisplayError(): boolean {\r\n this.getDefaultErrors();\r\n return (\r\n (\r\n (this.errorChildren && this.errorChildren.length > 0) ||\r\n (this.controlErrors && this.controlErrors.length > 0)\r\n ) &&\r\n (this.control.invalid && this.control.touched)\r\n );\r\n }\r\n\r\n /** ===> Angular LifeCycle Hooks <=== */\r\n ngAfterContentInit() {\r\n this.validateControl();\r\n if (this.control.controlType === 'input' || this.control.controlType === 'input-ssn') {\r\n const inputControl = this.control as UkInput;\r\n this.isPassword = inputControl.type === 'password';\r\n }\r\n // To Update UI\r\n this.control.statusChange.subscribe(() => {\r\n this.cdRef.markForCheck();\r\n });\r\n this.control.focusedChange.subscribe(() => { this.cdRef.markForCheck(); });\r\n this.control.valueChange.subscribe(() => { this.cdRef.markForCheck(); });\r\n }\r\n\r\n /** Throws an error if no control (UkFormFieldControl) is found/contained */\r\n validateControl(): void {\r\n if (!this.control) {\r\n throw Error(NO_CONTROL_FOUND);\r\n }\r\n }\r\n}\r\n","declare var environment: any;\r\n// Ng\r\nimport { Component, Input, ChangeDetectionStrategy, Output, EventEmitter } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n// Core\r\nimport { OBJECT_TO_ARRAY } from 'app/core/utils';\r\n// Models\r\nimport { IdentificationInfo } from 'models';\r\nimport { \r\n BRAND_CONTEXT, \r\n IDENTIFICATION_TYPE_ID, \r\n IDENTIFICATION_ADDRESS_TYPE_NAME, \r\n IDENTIFICATION_TYPE \r\n} from 'models/enums';\r\n\r\n@Component({\r\n selector: 'app-id-selection',\r\n templateUrl: './id-selection.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class IdSelectionComponent {\r\n @Input() information: IdentificationInfo;\r\n @Input() form: FormGroup;\r\n @Input() showButtons: boolean = true;\r\n\r\n @Output() typeSelected: EventEmitter = new EventEmitter();\r\n @Output() back: EventEmitter = new EventEmitter();\r\n\r\n idetificationType = OBJECT_TO_ARRAY(IDENTIFICATION_TYPE);\r\n\r\n get visibleIdentificationTypes(){\r\n return this.idetificationType.filter(idType=> idType.value.context === environment.brandContext || idType.value.context === BRAND_CONTEXT.All);\r\n }\r\n\r\n onContinue(IDType: { key: IDENTIFICATION_TYPE_ID, name: IDENTIFICATION_ADDRESS_TYPE_NAME }) {\r\n this.typeSelected.emit(this.getValue(IDType));\r\n }\r\n\r\n goBack() { this.back.emit(); }\r\n\r\n private getValue(IDType: { key: IDENTIFICATION_TYPE_ID, name: IDENTIFICATION_ADDRESS_TYPE_NAME }) {\r\n return {\r\n ...this.information, \r\n IdentificationTypeId: IDType.key, \r\n IdentificationTypeName: IDType.name\r\n };\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvaWRlbnRpZmljYXRpb24tdXBsb2FkL2lkZW50aWZpY2F0aW9uLXVwbG9hZC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, Input, Output, EventEmitter, ChangeDetectorRef, ViewChild } from '@angular/core';\r\n\r\nimport {\r\n Applicant,\r\n FileGroupItem\r\n} from 'models';\r\nimport {\r\n IDENTIFICATION_TYPE_ID,\r\n DOCUMENT_TYPE\r\n} from 'models/enums';\r\nimport { LoadingService } from 'app/core/services';\r\n\r\nimport { FileProcessingService } from 'app/documents';\r\nimport { mitekModel } from 'app/applicant-identification/models';\r\nimport { IdentificationUploadService } from 'app/enrollment-common/services/identification-upload.service';\r\n\r\nimport { UploadFileComponent } from '../upload-file/upload-file.component';\r\n\r\ndeclare var MitekMobileWeb: any;\r\ndeclare var MitekUtil: any;\r\n\r\n@Component({\r\n selector: 'app-identification-upload',\r\n templateUrl: './identification-upload.component.html',\r\n styleUrls: ['./identification-upload.component.scss'],\r\n providers: [ FileProcessingService, IdentificationUploadService ]\r\n})\r\nexport class IdentificationUploadComponent {\r\n\r\n private _frontFileBase64: string;\r\n private _backFileBase64: string;\r\n\r\n fileErrors: string;\r\n\r\n @Input() allowExtensions = ['jpg', 'jpeg', 'png', 'pdf'];\r\n @Input() maxFileSize = 5;\r\n @Input() showDefaultNote = true;\r\n @Input() mitekEnabled = false;\r\n @Input() extractData = false;\r\n @Input() applicant: Applicant;\r\n\r\n @Output() onIdentificationUploaded: EventEmitter = new EventEmitter();\r\n @Output() onValidFiles: EventEmitter = new EventEmitter();\r\n\r\n @ViewChild('frontFileUpload', {static: false}) frontUpload: UploadFileComponent;\r\n @ViewChild('backFileUpload', {static: false}) backUpload: UploadFileComponent;\r\n\r\n constructor(\r\n private loadingService: LoadingService,\r\n private cdr: ChangeDetectorRef,\r\n private identificationUploadService: IdentificationUploadService,\r\n private fileProcessingService: FileProcessingService) { }\r\n\r\n get identificationName() {\r\n return this.applicant.IdentificationInfo.IdentificationTypeId === IDENTIFICATION_TYPE_ID.Driver ?\r\n 'Driver’s License' : 'State ID';\r\n }\r\n\r\n get frontFileBase64() { return this._frontFileBase64; }\r\n set frontFileBase64(value: string) {\r\n if(this._frontFileBase64 !== value) {\r\n this._frontFileBase64 = value;\r\n if(this.frontUpload && value === null) { this.frontUpload.removeFiles(); }\r\n if(this._frontFileBase64) { this.fileErrors = ''; }\r\n this.checkFilesValid();\r\n }\r\n }\r\n\r\n get backFileBase64() { return this._backFileBase64; }\r\n set backFileBase64(value: string) {\r\n if(this._backFileBase64 !== value) {\r\n this._backFileBase64 = value;\r\n if(this.backUpload && value === null) { this.backUpload.removeFiles(); }\r\n if(this._backFileBase64) { this.fileErrors = ''; }\r\n this.checkFilesValid();\r\n }\r\n }\r\n\r\n private checkFilesValid() {\r\n this.onValidFiles.emit(!!this.frontFileBase64 && !!this.backFileBase64);\r\n }\r\n\r\n uploadIdentification() {\r\n if(this.frontFileBase64 && this.backFileBase64) {\r\n const idDocumentsModel: mitekModel = {\r\n ApplicantId: this.applicant.ApplicantId,\r\n ApplicationId: this.applicant.ApplicationId,\r\n ApplicantTypeId: this.applicant.ApplicantType.ApplicantTypeId,\r\n FrontImage: this.frontFileBase64,\r\n BackImage: this.backFileBase64,\r\n DocumentTypeId: this.applicant.IdentificationInfo.IdentificationTypeId === IDENTIFICATION_TYPE_ID.Driver ?\r\n DOCUMENT_TYPE.DriverLicense :\r\n DOCUMENT_TYPE.StateId\r\n };\r\n this.identificationUploadService.uploadDocuments(idDocumentsModel, this.extractData)\r\n .subscribe((data) => {\r\n this.onIdentificationUploaded.emit(data);\r\n this.cdr.markForCheck();\r\n });\r\n }\r\n }\r\n\r\n onFileError(error) { this.fileErrors = error; }\r\n\r\n onFrontChanged(files: FileGroupItem[]) {\r\n this.onFileChange(files, true);\r\n }\r\n\r\n onBackChanged(files: FileGroupItem[]) {\r\n this.onFileChange(files, false);\r\n }\r\n\r\n private onFileChange(files: FileGroupItem[], isFront: boolean) {\r\n const file = files.length > 0 ? files[0] : null;\r\n if(file) {\r\n this.loadingService.startTask();\r\n this.fileProcessingService.getBase64(file.file)\r\n .then((base64: string) => {\r\n isFront ? this.frontFileBase64 = base64 : this.backFileBase64 = base64;\r\n this.loadingService.endTask();\r\n });\r\n } else {\r\n isFront ? this.frontFileBase64 = null : this.backFileBase64 = null;\r\n }\r\n }\r\n\r\n // #region MiTek\r\n private cvCallback(): void {\r\n this.loadingService.startTask();\r\n }\r\n\r\n private captureImage(name: string, isFront: boolean, captureParams: any) {\r\n MitekMobileWeb.captureAndProcessImage(\r\n isFront ? this.captureFrontCallback.bind(this) : this.captureBackCallback.bind(this) ,\r\n name, captureParams, this.cvCallback.bind(this));\r\n }\r\n\r\n captureFrontImage() {\r\n // use these params for the Front image capture to override the default settings\r\n var captureParams = {\r\n maxImageSize: 1600,\r\n isFront: true,\r\n skip4Corners: true,\r\n jpegEncodingQuality: 60,\r\n isSharpnessOn: true,\r\n isBrightnessOn: true,\r\n validateSharpness: true,\r\n validateBrightness: true,\r\n validateConfidence: false,\r\n validateMinFill: true\r\n };\r\n this.frontUpload.setPreview('');\r\n this.captureImage('DL_Front', true, captureParams);\r\n }\r\n\r\n captureBackImage() {\r\n this.backUpload.setPreview('');\r\n this.captureImage('DL_Back', false, {});\r\n }\r\n\r\n private captureImageCallBack(result, isFront: boolean) {\r\n if (result.errors.length > 0) {\r\n const captureErrors = MitekUtil.decodeCaptureErrorCodes(result.errors);\r\n this.onFileError(`Unable to read the ${ isFront ? 'Front' : 'Back'} of your license: Errors: ${captureErrors}`);\r\n } else if(result.status !== \"success\") {\r\n this.onFileError(`We were unable to read the ${ isFront ? 'Front' : 'Back'} of your license. Please try again.`);\r\n }\r\n this.loadingService.endTask();\r\n this.cdr.markForCheck();\r\n }\r\n\r\n private captureFrontCallback(result) {\r\n if (result.status === \"success\") {\r\n this.frontFileBase64 = result.finalImage;\r\n this.frontUpload.setPreview(`data:image/jpeg;base64,${this.frontFileBase64}`);\r\n }\r\n this.captureImageCallBack(result, true);\r\n }\r\n\r\n private captureBackCallback(result) {\r\n if (result.status === \"success\") {\r\n this.backFileBase64 = result.finalImage;\r\n this.backUpload.setPreview(`data:image/jpeg;base64,${this.backFileBase64}`);\r\n }\r\n this.captureImageCallBack(result, false);\r\n }\r\n // #endregion\r\n}\r\n","export * from './abstracts';\r\nexport * from './note/note.component';\r\nexport * from './address/address.component';\r\nexport * from './address-selection/address-selection.component'\r\nexport * from './id-selection/id-selection.component';\r\nexport * from './applicant-title/applicant-title.component';\r\nexport * from './upload-file/upload-file.component';\r\nexport * from './error/error.component';\r\nexport * from './identification-upload/identification-upload.component';\r\nexport * from './address-universal/address-universal.component';\r\nexport * from './address-selection-universal/address-selection-universal.component';\r\nexport * from './selector-list/selector-list.component';\r\nexport * from './tooltip/tooltip.component';\r\nexport * from './form-field/form-field.component';","module.exports = \"/**\\r\\n* Helper mixin to create a linear-gradient\\r\\n*\\r\\n*/\\n/*\\r\\nhtml,\\r\\nbody {\\r\\n font-family: 'Libre Franklin', 'Helvetica', sans-serif;\\r\\n // color: themify(text);\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\na {\\r\\n color: themify(link);\\r\\n cursor: pointer;\\r\\n text-decoration: none;\\r\\n -webkit-tap-highlight-color: transparent;\\r\\n}\\r\\n\\r\\n.round-image {\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n\\r\\n*/\\n.fcontainer-fluid,\\n.fcontainer {\\n margin: 0 auto; }\\n.fcontainer-fluid {\\n padding: 0 2rem; }\\n.frow {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex: 0 1 auto;\\n flex: 0 1 auto;\\n -ms-flex-direction: row;\\n flex-direction: row;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap; }\\n.frow.reverse {\\n -ms-flex-direction: row-reverse;\\n flex-direction: row-reverse; }\\n.finline {\\n display: -ms-inline-flexbox;\\n display: inline-flex; }\\n.reset-padding {\\n padding: 0; }\\n.reset-margin {\\n margin: 0; }\\n.uk-btn.none {\\n border: none;\\n background-color: transparent;\\n text-transform: none;\\n min-width: 0;\\n min-height: 0;\\n padding: 0; }\\n.uk-btn.icon {\\n font-weight: 500;\\n font-size: 14px;\\n line-height: 16px;\\n font-weight: bold; }\\n.uk-shadow-0 {\\n box-shadow: none !important; }\\n.uk-shadow-1 {\\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); }\\n.uk-shadow-1-half {\\n box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2); }\\n.uk-shadow-2 {\\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-3 {\\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-4 {\\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-5 {\\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.3); }\\n.uk-nav {\\n padding-left: 0;\\n margin-bottom: 0;\\n list-style: none;\\n box-sizing: border-box; }\\n.uk-nav .uk-nav-item {\\n clear: both;\\n float: none;\\n display: inline-block;\\n margin: 0px; }\\n.uk-nav .uk-nav-item:hover {\\n background-color: #eee; }\\n.uk-tooltip {\\n background-color: #293541;\\n color: #FFF;\\n position: fixed;\\n max-width: 280px;\\n font-size: 14px;\\n padding: 5px 10px;\\n z-index: 2; }\\n.uk-tooltip::before {\\n content: '';\\n position: absolute;\\n display: inline-block;\\n height: 0;\\n width: 0;\\n border: solid 6px transparent; }\\n.uk-tooltip.white {\\n background-color: #FFF;\\n color: #293541; }\\n.uk-tooltip.bottom::before {\\n border-bottom-color: #293541;\\n margin-top: -12px;\\n top: 0; }\\n.uk-tooltip.bottom.white::before {\\n border-bottom-color: #FFF !important; }\\n.uk-tooltip.top::before {\\n border-top-color: #293541;\\n margin-bottom: -12px;\\n bottom: 0; }\\n.uk-tooltip.top.white::before {\\n border-top-color: #FFF !important; }\\n.uk-tooltip.left::before {\\n border-left-color: #293541;\\n margin-right: -12px;\\n right: 0; }\\n.uk-tooltip.right::before {\\n border-right-color: #293541;\\n margin-left: -12px;\\n left: 0; }\\n.uk-label.uk-tooltip-host {\\n position: relative;\\n top: 5px; }\\n.uk-stepper {\\n display: inline-block; }\\n.uk-stepper .uk-progress-title {\\n color: #283541;\\n font-size: 18px;\\n font-weight: 600;\\n padding-top: 7px; }\\n.uk-stepper .uk-progress-step-body {\\n padding-top: 8px;\\n padding-bottom: 20px;\\n display: block; }\\n.uk-stepper .uk-progress-track {\\n list-style-type: none;\\n table-layout: fixed;\\n display: table;\\n width: 100%;\\n margin: 0;\\n padding: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step {\\n display: table-cell;\\n position: relative;\\n text-align: center;\\n padding-top: 27px; }\\n.uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n content: '';\\n background-color: #C9CCCF;\\n position: absolute;\\n top: 8.5px;\\n height: 3px;\\n width: 50%;\\n z-index: -1; }\\n.uk-stepper .uk-progress-track .uk-progress-step::before {\\n left: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step::after {\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step:first-child::before {\\n width: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step:last-child::after {\\n width: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n background-color: #C9CCCF;\\n position: absolute;\\n border-radius: 50%;\\n display: block;\\n margin: 0 auto;\\n height: 20px;\\n width: 20px;\\n padding: 0 4px;\\n top: 0;\\n left: 0;\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap .uk-icon {\\n display: none; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n position: absolute;\\n border-radius: 50%;\\n margin: 0 auto;\\n margin-top: 2px;\\n height: 16px;\\n width: 16px;\\n content: '';\\n left: 0;\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-progress-text {\\n position: relative;\\n color: #5F6871;\\n text-transform: capitalize;\\n font-size: 14px;\\n font-weight: 600; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border: solid 2px #FFF;\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active::before {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active.wip::after {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done .uk-step-icon-wrap {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done .uk-step-icon-wrap .uk-icon {\\n color: #FFF;\\n display: initial; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done::before, .uk-stepper .uk-progress-track .uk-progress-step.done::after {\\n background-color: #1e8257; }\\n@media only screen and (min-width: 768px) {\\n .uk-stepper .uk-progress-track .uk-progress-step {\\n padding-top: 32px; }\\n .uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n top: 11px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n height: 25px;\\n width: 25px;\\n padding: 0 6px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n height: 21px;\\n width: 21px; }\\n .uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border-width: 3px; } }\\n@media only screen and (min-width: 992px) {\\n .uk-stepper .uk-progress-track .uk-progress-step {\\n padding-top: 42px; }\\n .uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n top: 16px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n height: 35px;\\n width: 35px;\\n padding: 0 8px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n height: 31px;\\n width: 31px; }\\n .uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border-width: 4px; } }\\n.uk-btn.icon .uk-icon {\\n height: 1.5em;\\n width: 1.5em; }\\n.uk-btn .uk-icon {\\n height: 1em;\\n width: 1em;\\n font-size: 1em;\\n vertical-align: middle; }\\n.uk-icon {\\n display: inline-block;\\n stroke-width: 0;\\n stroke: currentColor;\\n fill: currentColor;\\n font-size: 1.5em;\\n max-width: 1.5em;\\n max-height: 1.5em; }\\n@font-face {\\n font-family: \\\"bofi-icon\\\";\\n src: url(\\\"/assets/bofi-icon.eot\\\");\\n src: url(\\\"/assets/bofi-icon.eot?#iefix\\\") format(\\\"embedded-opentype\\\"), url(\\\"/assets/bofi-icon.woff\\\") format(\\\"woff\\\"), url(\\\"/assets/bofi-icon.ttf\\\") format(\\\"truetype\\\"), url(\\\"/assets/bofi-icon.svg#bofi-icon\\\") format(\\\"svg\\\");\\n font-weight: normal;\\n font-style: normal; }\\n[data-icon]:before {\\n font-family: \\\"bofi-icon\\\" !important;\\n content: attr(data-icon);\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n[class^=\\\"bofi-\\\"]:before,\\n[class*=\\\" bofi-\\\"]:before {\\n font-family: \\\"bofi-icon\\\" !important;\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n.bofi-recurring:before {\\n content: \\\"\\\\61\\\"; }\\n.bofi-ebill:before {\\n content: \\\"\\\\67\\\"; }\\n.bofi-add:before {\\n content: \\\"\\\\6f\\\"; }\\n.bofi-atm:before {\\n content: \\\"\\\\71\\\"; }\\n.bofi-automatic:before {\\n content: \\\"\\\\72\\\"; }\\n.bofi-bank:before {\\n content: \\\"\\\\73\\\"; }\\n.bofi-bankfees:before {\\n content: \\\"\\\\74\\\"; }\\n.bofi-datepicker:before {\\n content: \\\"\\\\6a\\\"; }\\n.bofi-deposit:before {\\n content: \\\"\\\\77\\\"; }\\n.bofi-edit:before {\\n content: \\\"\\\\78\\\"; }\\n.bofi-faq:before {\\n content: \\\"\\\\7a\\\"; }\\n.bofi-messages:before {\\n content: \\\"\\\\41\\\"; }\\n.bofi-menu:before {\\n content: \\\"\\\\43\\\"; }\\n.bofi-interest:before {\\n content: \\\"\\\\65\\\"; }\\n.bofi-pending:before {\\n content: \\\"\\\\4c\\\"; }\\n.bofi-phone:before {\\n content: \\\"\\\\4d\\\"; }\\n.bofi-print:before {\\n content: \\\"\\\\4f\\\"; }\\n.bofi-refund:before {\\n content: \\\"\\\\52\\\"; }\\n.bofi-remove:before {\\n content: \\\"\\\\53\\\"; }\\n.bofi-success:before {\\n content: \\\"\\\\54\\\"; }\\n.bofi-search:before {\\n content: \\\"\\\\56\\\"; }\\n.bofi-password:before {\\n content: \\\"\\\\6d\\\"; }\\n.bofi-username:before {\\n content: \\\"\\\\75\\\"; }\\n.bofi-gear:before {\\n content: \\\"\\\\68\\\"; }\\n.bofi-contact-list:before {\\n content: \\\"\\\\42\\\"; }\\n.bofi-filter:before {\\n content: \\\"\\\\76\\\"; }\\n.bofi-debit:before {\\n content: \\\"\\\\62\\\"; }\\n.bofi-support:before {\\n content: \\\"\\\\69\\\"; }\\n.bofi-user-settings:before {\\n content: \\\"\\\\70\\\"; }\\n.bofi-accounts:before {\\n content: \\\"\\\\64\\\"; }\\n.bofi-transfer:before {\\n content: \\\"\\\\66\\\"; }\\n.bofi-photo:before {\\n content: \\\"\\\\79\\\"; }\\n.bofi-check-mark:before {\\n content: \\\"\\\\46\\\"; }\\n.bofi-information:before {\\n content: \\\"\\\\49\\\"; }\\n.bofi-chat:before {\\n content: \\\"\\\\4b\\\"; }\\n.bofi-cancel:before {\\n content: \\\"\\\\4e\\\"; }\\n.bofi-send-icon:before {\\n content: \\\"\\\\55\\\"; }\\n.bofi-warning:before {\\n content: \\\"\\\\58\\\"; }\\n.bofi-upload:before {\\n content: \\\"\\\\5a\\\"; }\\n.bofi-thumbsup:before {\\n content: \\\"\\\\30\\\"; }\\n.bofi-pdf:before {\\n content: \\\"\\\\47\\\"; }\\n.bofi-check:before {\\n content: \\\"\\\\48\\\"; }\\n.bofi-star:before {\\n content: \\\"\\\\36\\\"; }\\n.bofi-camera:before {\\n content: \\\"\\\\32\\\"; }\\n.bofi-delivery-method:before {\\n content: \\\"\\\\34\\\"; }\\n.bofi-download:before {\\n content: \\\"\\\\37\\\"; }\\n.bofi-ebill-paybills:before {\\n content: \\\"\\\\38\\\"; }\\n.bofi-flag:before {\\n content: \\\"\\\\22\\\"; }\\n.bofi-alert-history:before {\\n content: \\\"\\\\24\\\"; }\\n.bofi-mobiledeposit:before {\\n content: \\\"\\\\28\\\"; }\\n.bofi-onetime:before {\\n content: \\\"\\\\29\\\"; }\\n.bofi-personal-message:before {\\n content: \\\"\\\\2c\\\"; }\\n.bofi-text-message:before {\\n content: \\\"\\\\4a\\\"; }\\n.bofi-eye-outline:before {\\n content: \\\"\\\\50\\\"; }\\n.bofi-attach:before {\\n content: \\\"\\\\51\\\"; }\\n.bofi-logout:before {\\n content: \\\"\\\\6b\\\"; }\\n.bofi-close:before {\\n content: \\\"\\\\45\\\"; }\\n.bofi-gear-circle:before {\\n content: \\\"\\\\57\\\"; }\\n.bofi-thumbsup-circle:before {\\n content: \\\"\\\\59\\\"; }\\n.bofi-modal-send:before {\\n content: \\\"\\\\6c\\\"; }\\n.bofi-add-1:before {\\n content: \\\"\\\\44\\\"; }\\n.bofi-group:before {\\n content: \\\"\\\\33\\\"; }\\n.bofi-home:before {\\n content: \\\"\\\\35\\\"; }\\n.bofi-personal-info:before {\\n content: \\\"\\\\39\\\"; }\\n.bofi-person-check:before {\\n content: \\\"\\\\21\\\"; }\\n.bofi-person:before {\\n content: \\\"\\\\23\\\"; }\\n.bofi-signer:before {\\n content: \\\"\\\\25\\\"; }\\n.bofi-datepicker-1:before {\\n content: \\\"\\\\26\\\"; }\\n.bofi-refund-1:before {\\n content: \\\"\\\\63\\\"; }\\n.bofi-recurring-1:before {\\n content: \\\"\\\\27\\\"; }\\n.bofi-messages-1:before {\\n content: \\\"\\\\2a\\\"; }\\n.bofi-faq-1:before {\\n content: \\\"\\\\2b\\\"; }\\n.bofi-gear-1:before {\\n content: \\\"\\\\2d\\\"; }\\n.bofi-remove-1:before {\\n content: \\\"\\\\2e\\\"; }\\n.bofi-refund-2:before {\\n content: \\\"\\\\2f\\\"; }\\n.bofi-username-1:before {\\n content: \\\"\\\\3a\\\"; }\\n.bofi-search-1:before {\\n content: \\\"\\\\3b\\\"; }\\n.bofi-password-1:before {\\n content: \\\"\\\\3c\\\"; }\\n.bofi-dashboard:before {\\n content: \\\"\\\\3d\\\"; }\\n.bofi-atm-1:before {\\n content: \\\"\\\\3e\\\"; }\\n.bofi-pending-1:before {\\n content: \\\"\\\\3f\\\"; }\\n.bofi-success-1:before {\\n content: \\\"\\\\40\\\"; }\\n.bofi-phone-1:before {\\n content: \\\"\\\\5b\\\"; }\\n.bofi-print-1:before {\\n content: \\\"\\\\5d\\\"; }\\n.bofi-menu-1:before {\\n content: \\\"\\\\5e\\\"; }\\n.bofi-interest-1:before {\\n content: \\\"\\\\5f\\\"; }\\n.bofi-ic-contact-list:before {\\n content: \\\"\\\\60\\\"; }\\n.bofi-deposit-1:before {\\n content: \\\"\\\\7b\\\"; }\\n.bofi-automatic-1:before {\\n content: \\\"\\\\7c\\\"; }\\n.bofi-automaticpayment:before {\\n content: \\\"\\\\7d\\\"; }\\n.bofi-bank-1:before {\\n content: \\\"\\\\7e\\\"; }\\n.bofi-bankfees-1:before {\\n content: \\\"\\\\5c\\\"; }\\n.bofi-edit-1:before {\\n content: \\\"\\\\e000\\\"; }\\n.bofi-1498195592-icon15-8:before {\\n content: \\\"\\\\6e\\\"; }\\n.bofi-arrow-chevron:before {\\n content: \\\"\\\\31\\\"; }\\n.cdk-overlay-container,\\n.cdk-global-overlay-wrapper {\\n pointer-events: none;\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: 100%; }\\n.cdk-overlay-container {\\n position: fixed;\\n z-index: 1000; }\\n.cdk-global-overlay-wrapper {\\n display: -ms-flexbox;\\n display: flex;\\n position: absolute;\\n z-index: 1000; }\\n.cdk-overlay-pane {\\n position: absolute;\\n pointer-events: auto;\\n box-sizing: border-box;\\n z-index: 1000; }\\n.cdk-overlay-backdrop {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n z-index: 1000;\\n pointer-events: auto;\\n -webkit-tap-highlight-color: transparent;\\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\\n opacity: 0; }\\n.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 1; }\\n.cdk-overlay-dark-backdrop {\\n background: rgba(0, 0, 0, 0.288); }\\n.cdk-overlay-transparent-backdrop, .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 0; }\\n.cdk-global-scrollblock {\\n position: fixed;\\n width: 100%;\\n overflow-y: scroll; }\\n@-webkit-keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0); }\\n 40% {\\n -webkit-transform: scale(1); } }\\n@keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0);\\n transform: scale(0); }\\n 40% {\\n -webkit-transform: scale(1);\\n transform: scale(1); } }\\n@-webkit-keyframes ripple {\\n 5%,\\n 100% {\\n opacity: 0; }\\n 5% {\\n opacity: 1; } }\\n@keyframes ripple {\\n 5%,\\n 100% {\\n opacity: 0; }\\n 5% {\\n opacity: 1; } }\\n.uk-form-control {\\n display: inline-table;\\n cursor: pointer;\\n position: relative;\\n box-sizing: border-box;\\n min-height: 18px; }\\n.uk-form-control__value {\\n display: table-cell;\\n max-width: 0;\\n width: 100%;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n min-height: 48px; }\\n.uk-form-control__addon {\\n padding-left: 10px;\\n display: table-cell;\\n vertical-align: middle; }\\n.alert {\\n position: relative;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n margin-bottom: 20px;\\n margin-top: 20px;\\n border-radius: 0.25em;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: nowrap;\\n flex-wrap: nowrap;\\n height: 46px;\\n color: black;\\n font-size: 16px;\\n -ms-flex-align: center;\\n align-items: center; }\\n.alert .icon {\\n height: 20px;\\n width: 20px;\\n margin-left: 15px;\\n margin-top: -2px; }\\n.alert .close-icon {\\n font-size: 6.2285px;\\n margin-right: 15px; }\\n.alert .child--featured {\\n padding-left: 13px;\\n -ms-flex-positive: 1;\\n flex-grow: 1; }\\n:host {\\n display: block;\\n color: #1e3860;\\n background-color: #F4F5F5;\\n padding: 16px 20px;\\n margin: 25px auto;\\n font-size: 16px;\\n letter-spacing: 0.2px;\\n line-height: 24px; }\\n:host .axos-note-title {\\n font-weight: 600; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9ub3RlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcbWl4aW5zXFxoZWxwZXJzXFxfbGluZWFyLWdyYWRpZW50LnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvbm90ZS9ub3RlLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL25vdGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxnbG9iYWxcXF9nbG9iYWwuc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9ub3RlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcZ3JpZFxcX2NvbnRhaW5lci5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL25vdGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxncmlkXFxfcm93LnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvbm90ZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXHV0aWxpdGllc1xcX3Jlc2V0cy5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL25vdGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFx1dGlsaXRpZXNcXF9zaGFkb3cuc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9ub3RlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcbmF2c1xcX2Jhc2UtbmF2cy5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL25vdGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFx0b29sdGlwXFxfdG9vbHRpcC5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL25vdGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxzdGVwcGVyXFxfc3RlcHBlci5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL25vdGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxfdmFyaWFibGVzLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvbm90ZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGJyYW5kc1xcX2NvbG9ycy5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL25vdGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxncmlkXFxfbWVkaWEtcXVlcmllcy5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL25vdGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxpY29uc1xcX2ljb25zLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvbm90ZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXGljb25zXFxfZm9udC1pY29uLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvbm90ZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXG92ZXJsYXlcXF9vdmVybGF5LnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvbm90ZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXGxvYWRlcnNcXF9kb3QtbG9hZGVyLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvbm90ZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXG1peGluc1xcX2FuaW1hdGlvbi5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL25vdGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxyYWRpby1ncm91cFxcZWxlbWVudC5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL25vdGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxmb3JtLWZpZWxkc1xcX2Zvcm1fY29udHJvbC5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL25vdGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxhbGVydFxcX2FsZXJ0LnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvbm90ZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL3NyY1xcYXBwXFxlbnJvbGxtZW50LWNvbW1vblxcY29tcG9uZW50c1xcbm90ZVxcbm90ZS5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9ub3RlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcYnJhbmRzXFxheG9zXFxfY29sb3JzLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvbm90ZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL3NyY1xcc3R5bGVzXFxheG9zXFxfdmFyaWFibGVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztDQ0dDO0FDcUNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0RmQztBRXhCRDs7RUFFSSxjQUFjLEVBQUE7QUFHbEI7RUFDSSxlQUFlLEVBQUE7QUNQbkI7RUFDSSxvQkFBYTtFQUFiLGFBQWE7RUFDYixrQkFBYztNQUFkLGNBQWM7RUFDZCx1QkFBbUI7TUFBbkIsbUJBQW1CO0VBQ25CLG1CQUFlO01BQWYsZUFBZSxFQUFBO0FBSm5CO0lBTVEsK0JBQTJCO1FBQTNCLDJCQUEyQixFQUFBO0FBS25DO0VBQVcsMkJBQW9CO0VBQXBCLG9CQUFvQixFQUFBO0FDWC9CO0VBQ0ksVUFBUyxFQUFBO0FBRWI7RUFDSSxTQUFRLEVBQUE7QUFFWjtFQUVRLFlBQVk7RUFDWiw2QkFBNkI7RUFFN0Isb0JBQW9CO0VBQ3BCLFlBQVk7RUFDWixhQUFhO0VBQ2IsVUFBVSxFQUFBO0FBUmxCO0VBV1EsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsaUJBQWlCLEVBQUE7QUNuQnpCO0VBQ0UsMkJBQTJCLEVBQUE7QUFFN0I7RUFDRSwrR0FBK0csRUFBQTtBQUVqSDtFQUNFLCtHQUErRyxFQUFBO0FBRWpIO0VBQ0UsZ0hBQWdILEVBQUE7QUFFbEg7RUFDRSxp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LGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGdCQUFnQixFQUFBO0FBRWxCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FDalV0Qjs7RUFHRSxvQkFBb0I7RUFHcEIsTUFBTTtFQUNOLE9BQU87RUFDUCxZQUFZO0VBQ1osV0FBVyxFQUFBO0FBSWI7RUFDRSxlQUFlO0VBQ2YsYUxzRWtDLEVBQUE7QUsvRHBDO0VBQ0Usb0JBQWE7RUFBYixhQUFhO0VBQ2Isa0JBQWtCO0VBQ2xCLGFMNkR3QixFQUFBO0FLekQxQjtFQUNFLGtCQUFrQjtFQUNsQixvQkFBb0I7RUFDcEIsc0JBQXNCO0VBQ3RCLGFMcUR3QixFQUFBO0FLbEQxQjtFQUVFLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sU0FBUztFQUNULE9BQU87RUFDUCxRQUFRO0VBRVIsYUwyQ2lDO0VLMUNqQyxvQkFBb0I7RUFDcEIsd0NBQXdDO0VBQ3hDLDBETCtDbUU7RUs3Q25FLFVBQVUsRUFBQTtBQWJaO0lBZ0JJLFVBQVUsRUFBQTtBQUlkO0VBQ0UsZ0NMaUN5RCxFQUFBO0FLOUIzRDtFQU9JLFVBQVUsRUFBQTtBQUtkO0VBQ0UsZUFBZTtFQUtmLFdBQVc7RUFLWCxrQkFBa0IsRUFBQTtBQ2xGcEI7RUFDSTtJQUFnQiwyQkFBMkIsRUFBQTtFQUMzQztJQUFNLDJCQUE2QixFQUFBLEVBQUE7QUFHdkM7RUFDSTtJQUNJLDJCQUEyQjtJQUMzQixtQkFBbUIsRUFBQTtFQUNyQjtJQUNFLDJCQUE2QjtJQUM3QixtQkFBcUIsRUFBQSxFQUFBO0FDR3pCO0VDVEE7O0lBQ08sVUFBVSxFQUFBO0VBQ2pCO0lBQUssVUFBVSxFQUFBLEVBQUE7QURnQmY7RUNsQkE7O0lBQ08sVUFBVSxFQUFBO0VBQ2pCO0lBQUssVUFBVSxFQUFBLEVBQUE7QUNSbkI7RUFDSSxxQkFBcUI7RUFDckIsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQixzQkFBc0I7RUFDdEIsZ0JBQWdCLEVBQUE7QUFFaEI7SUFDSSxtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQixnQkFBZ0IsRUFBQTtBQUdwQjtJQUNJLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsc0JBQXNCLEVBQUE7QUNwQjlCO0VBQ0Usa0JBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQixvQkFBb0I7RUFDcEIsbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQixxQkFBcUI7RUFDckIsb0JBQWE7RUFBYixhQUFhO0VBQ2IscUJBQWlCO01BQWpCLGlCQUFpQjtFQUNqQixZQUFZO0VBQ1osWUFBWTtFQUNaLGVBQWU7RUFDZixzQkFBbUI7TUFBbkIsbUJBQW1CLEVBQUE7QUFackI7SUFlSSxZQUFZO0lBQ1osV0FBVztJQUNYLGlCQUFpQjtJQUNqQixnQkFBZ0IsRUFBQTtBQWxCcEI7SUFzQkksbUJBQW1CO0lBQ25CLGtCQUFrQixFQUFBO0FBdkJ0QjtJQTJCSSxrQkFBa0I7SUFDbEIsb0JBQVk7UUFBWixZQUFZLEVBQUE7QUMzQmhCO0VBQ0ksY0FBYztFQUNkLGNDRjZCO0VERzdCLHlCRXNHMEI7RUZyRzFCLGtCQUFrQjtFQUNsQixpQkFBaUI7RUFDakIsZUFBZTtFQUNmLHFCQUFxQjtFQUNyQixpQkFBaUIsRUFBQTtBQVJyQjtJQVdRLGdCRWlHYSxFQUFBIiwiZmlsZSI6InNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9ub3RlL25vdGUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuKiAgSGVscGVyIG1peGluIHRvIGNyZWF0ZSBhIGxpbmVhci1ncmFkaWVudFxyXG4qXHJcbiovXHJcbkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9ybGlzdCkge1xyXG4gICAgQGlmIG5vdCBpcy1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xyXG4gICAgICAgICRjb2xvcmxpc3Q6ICRkaXJlY3Rpb24sICRjb2xvcmxpc3Q7XHJcbiAgICAgICAgJGRpcmVjdGlvbjogMGRlZztcclxuICAgIH1cclxuICAgIGJhY2tncm91bmQ6IG50aChudGgoJGNvbG9ybGlzdCwgMSksIDEpO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVnYWN5LWRpcmVjdGlvbigkZGlyZWN0aW9uKSwgJGNvbG9ybGlzdCk7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9ybGlzdCk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBpcy1kaXJlY3Rpb24oJHZhbHVlKSB7XHJcbiAgICAkaXMta2V5d29yZDogaW5kZXgoKHRvIHRvcCwgdG8gdG9wIHJpZ2h0LCB0byByaWdodCB0b3AsIHRvIHJpZ2h0LCB0byBib3R0b20gcmlnaHQsIHRvIHJpZ2h0IGJvdHRvbSwgdG8gYm90dG9tLCB0byBib3R0b20gbGVmdCwgdG8gbGVmdCBib3R0b20sIHRvIGxlZnQsIHRvIGxlZnQgdG9wLCB0byB0b3AgbGVmdCksICR2YWx1ZSk7XHJcbiAgICAkaXMtYW5nbGU6IHR5cGUtb2YoJHZhbHVlKT09J251bWJlcicgYW5kIGluZGV4KCdkZWcnICdncmFkJyAndHVybicgJ3JhZCcsIHVuaXQoJHZhbHVlKSk7XHJcbiAgICBAcmV0dXJuICRpcy1rZXl3b3JkIG9yICRpcy1hbmdsZTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGxlZ2FjeS1kaXJlY3Rpb24oJHZhbHVlKSB7XHJcbiAgICBAaWYgaXMtZGlyZWN0aW9uKCR2YWx1ZSk9PWZhbHNlIHtcclxuICAgICAgICBAZXJyb3IgXCJDYW5ub3QgY29udmVydCBgI3skdmFsdWV9YCB0byBsZWdhY3kgc3ludGF4IGJlY2F1c2UgaXQgZG9lc24ndCBzZWVtIHRvIGJlIGEgZGlyZWN0aW9uLlwiO1xyXG4gICAgfVxyXG4gICAgJGNvbnZlcnNpb24tbWFwOiAoIHRvIHRvcDogYm90dG9tLCB0byB0b3AgcmlnaHQ6IGJvdHRvbSBsZWZ0LCB0byByaWdodCB0b3A6IGxlZnQgYm90dG9tLCB0byByaWdodDogbGVmdCwgdG8gYm90dG9tIHJpZ2h0OiB0b3AgbGVmdCwgdG8gcmlnaHQgYm90dG9tOiBsZWZ0IHRvcCwgdG8gYm90dG9tOiB0b3AsIHRvIGJvdHRvbSBsZWZ0OiB0b3AgcmlnaHQsIHRvIGxlZnQgYm90dG9tOiByaWdodCB0b3AsIHRvIGxlZnQ6IHJpZ2h0LCB0byBsZWZ0IHRvcDogcmlnaHQgYm90dG9tLCB0byB0b3AgbGVmdDogYm90dG9tIHJpZ2h0KTtcclxuICAgIEBpZiBtYXAtaGFzLWtleSgkY29udmVyc2lvbi1tYXAsICR2YWx1ZSkge1xyXG4gICAgICAgIEByZXR1cm4gbWFwLWdldCgkY29udmVyc2lvbi1tYXAsICR2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBAcmV0dXJuIDkwZGVnIC0gJHZhbHVlO1xyXG59IiwiLyoqXHJcbiogIEhlbHBlciBtaXhpbiB0byBjcmVhdGUgYSBsaW5lYXItZ3JhZGllbnRcclxuKlxyXG4qL1xuLypcclxuaHRtbCxcclxuYm9keSB7XHJcbiAgICBmb250LWZhbWlseTogJ0xpYnJlIEZyYW5rbGluJywgJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XHJcbiAgICAvLyBjb2xvcjogdGhlbWlmeSh0ZXh0KTtcclxufVxyXG5cclxuXHJcblxyXG5hIHtcclxuICAgIGNvbG9yOiB0aGVtaWZ5KGxpbmspO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLnJvdW5kLWltYWdlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxufVxyXG5cclxuXHJcbiovXG4uZmNvbnRhaW5lci1mbHVpZCxcbi5mY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmZjb250YWluZXItZmx1aWQge1xuICBwYWRkaW5nOiAwIDJyZW07IH1cblxuLmZyb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDEgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5mcm93LnJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4uZmlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG5cbi5yZXNldC1wYWRkaW5nIHtcbiAgcGFkZGluZzogMDsgfVxuXG4ucmVzZXQtbWFyZ2luIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi51ay1idG4ubm9uZSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnVrLWJ0bi5pY29uIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnVrLXNoYWRvdy0wIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi51ay1zaGFkb3ctMSB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4udWstc2hhZG93LTEtaGFsZiB7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDdweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDFweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4udWstc2hhZG93LTIge1xuICBib3gtc2hhZG93OiAwIDRweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi51ay1zaGFkb3ctMyB7XG4gIGJveC1zaGFkb3c6IDAgNnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCAxOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi51ay1zaGFkb3ctNCB7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4udWstc2hhZG93LTUge1xuICBib3gtc2hhZG93OiAwIDE2cHggMjRweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCA2cHggMzBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCA4cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4udWstbmF2IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIC51ay1uYXYgLnVrLW5hdi1pdGVtIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwcHg7IH1cbiAgICAudWstbmF2IC51ay1uYXYtaXRlbTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyB9XG5cbi51ay10b29sdGlwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI5MzU0MTtcbiAgY29sb3I6ICNGRkY7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbWF4LXdpZHRoOiAyODBweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgei1pbmRleDogMjsgfVxuICAudWstdG9vbHRpcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBib3JkZXI6IHNvbGlkIDZweCB0cmFuc3BhcmVudDsgfVxuICAudWstdG9vbHRpcC53aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICBjb2xvcjogIzI5MzU0MTsgfVxuICAudWstdG9vbHRpcC5ib3R0b206OmJlZm9yZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzI5MzU0MTtcbiAgICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgICB0b3A6IDA7IH1cbiAgLnVrLXRvb2x0aXAuYm90dG9tLndoaXRlOjpiZWZvcmUge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNGRkYgIWltcG9ydGFudDsgfVxuICAudWstdG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzI5MzU0MTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMTJweDtcbiAgICBib3R0b206IDA7IH1cbiAgLnVrLXRvb2x0aXAudG9wLndoaXRlOjpiZWZvcmUge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNGRkYgIWltcG9ydGFudDsgfVxuICAudWstdG9vbHRpcC5sZWZ0OjpiZWZvcmUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjMjkzNTQxO1xuICAgIG1hcmdpbi1yaWdodDogLTEycHg7XG4gICAgcmlnaHQ6IDA7IH1cbiAgLnVrLXRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMjkzNTQxO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTJweDtcbiAgICBsZWZ0OiAwOyB9XG5cbi51ay1sYWJlbC51ay10b29sdGlwLWhvc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNXB4OyB9XG5cbi51ay1zdGVwcGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10aXRsZSB7XG4gICAgY29sb3I6ICMyODM1NDE7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZy10b3A6IDdweDsgfVxuICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3Mtc3RlcC1ib2R5IHtcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctdG9wOiAyN3B4OyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmJlZm9yZSwgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzlDQ0NGO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogOC41cHg7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB6LWluZGV4OiAtMTsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiAwOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0M5Q0NDRjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgcGFkZGluZzogMCA0cHg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcCAudWstaWNvbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwOjpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXByb2dyZXNzLXRleHQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGNvbG9yOiAjNUY2ODcxO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuYWN0aXZlIC51ay1zdGVwLWljb24td3JhcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmFjdGl2ZSAudWstc3RlcC1pY29uLXdyYXA6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAycHggI0ZGRjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4MjU3OyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuYWN0aXZlOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4MjU3OyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuYWN0aXZlLndpcDo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4MjU3OyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuZG9uZSAudWstc3RlcC1pY29uLXdyYXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4MjU3OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5kb25lIC51ay1zdGVwLWljb24td3JhcCAudWstaWNvbiB7XG4gICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgZGlzcGxheTogaW5pdGlhbDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmRvbmU6OmJlZm9yZSwgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmRvbmU6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlODI1NzsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMnB4OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YmVmb3JlLCAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDExcHg7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcCB7XG4gICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgNnB4OyB9XG4gICAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogMjFweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMXB4OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmUgLnVrLXN0ZXAtaWNvbi13cmFwOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci13aWR0aDogM3B4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAge1xuICAgICAgICBwYWRkaW5nLXRvcDogNDJweDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmJlZm9yZSwgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjphZnRlciB7XG4gICAgICAgICAgdG9wOiAxNnB4OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXAge1xuICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDhweDsgfVxuICAgICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXA6OmJlZm9yZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMxcHg7XG4gICAgICAgICAgICB3aWR0aDogMzFweDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuYWN0aXZlIC51ay1zdGVwLWljb24td3JhcDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDRweDsgfSB9XG5cbi51ay1idG4uaWNvbiAudWstaWNvbiB7XG4gIGhlaWdodDogMS41ZW07XG4gIHdpZHRoOiAxLjVlbTsgfVxuXG4udWstYnRuIC51ay1pY29uIHtcbiAgaGVpZ2h0OiAxZW07XG4gIHdpZHRoOiAxZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi51ay1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIHN0cm9rZTogY3VycmVudENvbG9yO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIG1heC13aWR0aDogMS41ZW07XG4gIG1heC1oZWlnaHQ6IDEuNWVtOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJib2ZpLWljb25cIjtcbiAgc3JjOiB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi5lb3RcIik7XG4gIHNyYzogdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24uZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi9hc3NldHMvYm9maS1pY29uLnN2ZyNib2ZpLWljb25cIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuW2RhdGEtaWNvbl06YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiYm9maS1pY29uXCIgIWltcG9ydGFudDtcbiAgY29udGVudDogYXR0cihkYXRhLWljb24pO1xuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbltjbGFzc149XCJib2ZpLVwiXTpiZWZvcmUsXG5bY2xhc3MqPVwiIGJvZmktXCJdOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiICFpbXBvcnRhbnQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuLmJvZmktcmVjdXJyaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2MVwiOyB9XG5cbi5ib2ZpLWViaWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2N1wiOyB9XG5cbi5ib2ZpLWFkZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmZcIjsgfVxuXG4uYm9maS1hdG06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDcxXCI7IH1cblxuLmJvZmktYXV0b21hdGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3MlwiOyB9XG5cbi5ib2ZpLWJhbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDczXCI7IH1cblxuLmJvZmktYmFua2ZlZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc0XCI7IH1cblxuLmJvZmktZGF0ZXBpY2tlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmFcIjsgfVxuXG4uYm9maS1kZXBvc2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3N1wiOyB9XG5cbi5ib2ZpLWVkaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc4XCI7IH1cblxuLmJvZmktZmFxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3YVwiOyB9XG5cbi5ib2ZpLW1lc3NhZ2VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0MVwiOyB9XG5cbi5ib2ZpLW1lbnU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQzXCI7IH1cblxuLmJvZmktaW50ZXJlc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY1XCI7IH1cblxuLmJvZmktcGVuZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGNcIjsgfVxuXG4uYm9maS1waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGRcIjsgfVxuXG4uYm9maS1wcmludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGZcIjsgfVxuXG4uYm9maS1yZWZ1bmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDUyXCI7IH1cblxuLmJvZmktcmVtb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1M1wiOyB9XG5cbi5ib2ZpLXN1Y2Nlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU0XCI7IH1cblxuLmJvZmktc2VhcmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1NlwiOyB9XG5cbi5ib2ZpLXBhc3N3b3JkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2ZFwiOyB9XG5cbi5ib2ZpLXVzZXJuYW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3NVwiOyB9XG5cbi5ib2ZpLWdlYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY4XCI7IH1cblxuLmJvZmktY29udGFjdC1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0MlwiOyB9XG5cbi5ib2ZpLWZpbHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzZcIjsgfVxuXG4uYm9maS1kZWJpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjJcIjsgfVxuXG4uYm9maS1zdXBwb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2OVwiOyB9XG5cbi5ib2ZpLXVzZXItc2V0dGluZ3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDcwXCI7IH1cblxuLmJvZmktYWNjb3VudHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY0XCI7IH1cblxuLmJvZmktdHJhbnNmZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY2XCI7IH1cblxuLmJvZmktcGhvdG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc5XCI7IH1cblxuLmJvZmktY2hlY2stbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDZcIjsgfVxuXG4uYm9maS1pbmZvcm1hdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDlcIjsgfVxuXG4uYm9maS1jaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0YlwiOyB9XG5cbi5ib2ZpLWNhbmNlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGVcIjsgfVxuXG4uYm9maS1zZW5kLWljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU1XCI7IH1cblxuLmJvZmktd2FybmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNThcIjsgfVxuXG4uYm9maS11cGxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDVhXCI7IH1cblxuLmJvZmktdGh1bWJzdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDMwXCI7IH1cblxuLmJvZmktcGRmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0N1wiOyB9XG5cbi5ib2ZpLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0OFwiOyB9XG5cbi5ib2ZpLXN0YXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDM2XCI7IH1cblxuLmJvZmktY2FtZXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzMlwiOyB9XG5cbi5ib2ZpLWRlbGl2ZXJ5LW1ldGhvZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzRcIjsgfVxuXG4uYm9maS1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzdcIjsgfVxuXG4uYm9maS1lYmlsbC1wYXliaWxsczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzhcIjsgfVxuXG4uYm9maS1mbGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMlwiOyB9XG5cbi5ib2ZpLWFsZXJ0LWhpc3Rvcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI0XCI7IH1cblxuLmJvZmktbW9iaWxlZGVwb3NpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjhcIjsgfVxuXG4uYm9maS1vbmV0aW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyOVwiOyB9XG5cbi5ib2ZpLXBlcnNvbmFsLW1lc3NhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDJjXCI7IH1cblxuLmJvZmktdGV4dC1tZXNzYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0YVwiOyB9XG5cbi5ib2ZpLWV5ZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1MFwiOyB9XG5cbi5ib2ZpLWF0dGFjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTFcIjsgfVxuXG4uYm9maS1sb2dvdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZiXCI7IH1cblxuLmJvZmktY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ1XCI7IH1cblxuLmJvZmktZ2Vhci1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU3XCI7IH1cblxuLmJvZmktdGh1bWJzdXAtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1OVwiOyB9XG5cbi5ib2ZpLW1vZGFsLXNlbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZjXCI7IH1cblxuLmJvZmktYWRkLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ0XCI7IH1cblxuLmJvZmktZ3JvdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDMzXCI7IH1cblxuLmJvZmktaG9tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzVcIjsgfVxuXG4uYm9maS1wZXJzb25hbC1pbmZvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzOVwiOyB9XG5cbi5ib2ZpLXBlcnNvbi1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjFcIjsgfVxuXG4uYm9maS1wZXJzb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIzXCI7IH1cblxuLmJvZmktc2lnbmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyNVwiOyB9XG5cbi5ib2ZpLWRhdGVwaWNrZXItMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjZcIjsgfVxuXG4uYm9maS1yZWZ1bmQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjNcIjsgfVxuXG4uYm9maS1yZWN1cnJpbmctMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjdcIjsgfVxuXG4uYm9maS1tZXNzYWdlcy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyYVwiOyB9XG5cbi5ib2ZpLWZhcS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyYlwiOyB9XG5cbi5ib2ZpLWdlYXItMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMmRcIjsgfVxuXG4uYm9maS1yZW1vdmUtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMmVcIjsgfVxuXG4uYm9maS1yZWZ1bmQtMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMmZcIjsgfVxuXG4uYm9maS11c2VybmFtZS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzYVwiOyB9XG5cbi5ib2ZpLXNlYXJjaC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzYlwiOyB9XG5cbi5ib2ZpLXBhc3N3b3JkLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNjXCI7IH1cblxuLmJvZmktZGFzaGJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzZFwiOyB9XG5cbi5ib2ZpLWF0bS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzZVwiOyB9XG5cbi5ib2ZpLXBlbmRpbmctMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcM2ZcIjsgfVxuXG4uYm9maS1zdWNjZXNzLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQwXCI7IH1cblxuLmJvZmktcGhvbmUtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNWJcIjsgfVxuXG4uYm9maS1wcmludC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1ZFwiOyB9XG5cbi5ib2ZpLW1lbnUtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNWVcIjsgfVxuXG4uYm9maS1pbnRlcmVzdC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1ZlwiOyB9XG5cbi5ib2ZpLWljLWNvbnRhY3QtbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjBcIjsgfVxuXG4uYm9maS1kZXBvc2l0LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDdiXCI7IH1cblxuLmJvZmktYXV0b21hdGljLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDdjXCI7IH1cblxuLmJvZmktYXV0b21hdGljcGF5bWVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2RcIjsgfVxuXG4uYm9maS1iYW5rLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDdlXCI7IH1cblxuLmJvZmktYmFua2ZlZXMtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNWNcIjsgfVxuXG4uYm9maS1lZGl0LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDBcIjsgfVxuXG4uYm9maS0xNDk4MTk1NTkyLWljb24xNS04OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2ZVwiOyB9XG5cbi5ib2ZpLWFycm93LWNoZXZyb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDMxXCI7IH1cblxuLmNkay1vdmVybGF5LWNvbnRhaW5lcixcbi5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlciB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNkay1vdmVybGF5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMDsgfVxuXG4uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMDA7IH1cblxuLmNkay1vdmVybGF5LXBhbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB6LWluZGV4OiAxMDAwOyB9XG5cbi5jZGstb3ZlcmxheS1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtcbiAgb3BhY2l0eTogMDsgfVxuICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yODgpOyB9XG5cbi5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzay1ib3VuY2VkZWxheSB7XG4gIDAlLCA4MCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2stYm91bmNlZGVsYXkge1xuICAwJSwgODAlLCAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJpcHBsZSB7XG4gIDUlLFxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIHJpcHBsZSB7XG4gIDUlLFxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQC1vLWtleWZyYW1lcyByaXBwbGUge1xuICA1JSxcbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1JSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcmlwcGxlIHtcbiAgNSUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNSUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4udWstZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWluLWhlaWdodDogMThweDsgfVxuICAudWstZm9ybS1jb250cm9sX192YWx1ZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICBtYXgtd2lkdGg6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG1pbi1oZWlnaHQ6IDQ4cHg7IH1cbiAgLnVrLWZvcm0tY29udHJvbF9fYWRkb24ge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmFsZXJ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGhlaWdodDogNDZweDtcbiAgY29sb3I6IGJsYWNrO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmFsZXJ0IC5pY29uIHtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDsgfVxuICAuYWxlcnQgLmNsb3NlLWljb24ge1xuICAgIGZvbnQtc2l6ZTogNi4yMjg1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG4gIC5hbGVydCAuY2hpbGQtLWZlYXR1cmVkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEzcHg7XG4gICAgZmxleC1ncm93OiAxOyB9XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjMWUzODYwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNUY1O1xuICBwYWRkaW5nOiAxNnB4IDIwcHg7XG4gIG1hcmdpbjogMjVweCBhdXRvO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cbiAgOmhvc3QgLmF4b3Mtbm90ZS10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuIiwiLy8gQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1MaWJyZStGcmFua2xpbjozMDAsNDAwLDUwMCw2MDAsNzAwJyk7XHJcbkBpbXBvcnQgJy4vX2ZvbnQuc2Nzcyc7XHJcbkBpbXBvcnQgJy4vX3NyLW9ubHkuc2Nzcyc7XHJcblxyXG5AbWl4aW4gdWstZ2xvYmFsKCR1ay10aGVtZSkge1xyXG4gICAgJGZvbnQtY29uZmlnOiBtYXAtZ2V0KCR1ay10aGVtZSwgZm9udHMpO1xyXG4gICAgJGZvbnQtZmFtaWxpZXM6IG1hcC1nZXQoJGZvbnQtY29uZmlnLCBmYW1pbGllcyk7XHJcbiAgICAkZm9udC1zaXplczogbWFwLWdldCgkZm9udC1jb25maWcsIHNpemVzKTtcclxuXHJcbiAgICBAZWFjaCAkZm9udC1mYW1pbHksICR2YWx1ZSBpbiAkZm9udC1mYW1pbGllcyB7XHJcbiAgICAgICAgJGZvbnQtdXJsOiBtYXAtZ2V0KCR2YWx1ZSwgdXJsKTtcclxuICAgICAgICBAaWYgJGZvbnQtdXJsIHtcclxuICAgICAgICAgICAgQGltcG9ydCB1cmwoJGZvbnQtdXJsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJHByaW1hcnktZm9udC1mYW1pbGl5OiBtYXAtZ2V0KCRmb250LWZhbWlsaWVzLCBwcmltYXJ5KTtcclxuXHJcbiAgICBodG1sIHsgXHJcbiAgICAgICAgYm9keSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJHByaW1hcnktZm9udC1mYW1pbGl5LCBuYW1lKSwgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHByaW1hcnktZm9udC1mYW1pbGl5LCBjb2xvcik7XHJcbiAgICAgICAgICAgIEBjb250ZW50XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgxLFxyXG4gICAgICAgIGgyLFxyXG4gICAgICAgIGgzLFxyXG4gICAgICAgIGg0LFxyXG4gICAgICAgIGg1LFxyXG4gICAgICAgIGg2IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdWstZm9udHMoJGZvbnQtc2l6ZXMpO1xyXG4gICAgICAgIC5zci1vbmx5eyBAaW5jbHVkZSBzci1vbmx5KCk7IH1cclxuICAgIH1cclxufVxyXG5cclxuLypcclxuaHRtbCxcclxuYm9keSB7XHJcbiAgICBmb250LWZhbWlseTogJ0xpYnJlIEZyYW5rbGluJywgJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XHJcbiAgICAvLyBjb2xvcjogdGhlbWlmeSh0ZXh0KTtcclxufVxyXG5cclxuXHJcblxyXG5hIHtcclxuICAgIGNvbG9yOiB0aGVtaWZ5KGxpbmspO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLnJvdW5kLWltYWdlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxufVxyXG5cclxuXHJcbiovIiwiJGNvbnRhaW5lci13aWR0aDooc206NDlyZW0sIG1kOjY1cmVtLCBsZzo3NnJlbSk7XHJcbi5mY29udGFpbmVyLWZsdWlkLFxyXG4uZmNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLmZjb250YWluZXItZmx1aWQge1xyXG4gICAgcGFkZGluZzogMCAycmVtO1xyXG59XHJcblxyXG5AbWl4aW4gY29udGFpbmVyKCRrZXkpIHtcclxuICAgIEBpZigka2V5PT0nbGcnKSB7XHJcbiAgICAgICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRjb250YWluZXItd2lkdGgsICRrZXkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmKCRrZXk9PSdtZCcpIHtcclxuICAgICAgICAuY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGNvbnRhaW5lci13aWR0aCwgJGtleSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYoJGtleT09J3NtJykge1xyXG4gICAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkY29udGFpbmVyLXdpZHRoLCAka2V5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIuZnJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleDogMCAxIGF1dG87XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgJi5yZXZlcnNlIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uZmlubGluZSB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyB9IiwiLnJlc2V0LXBhZGRpbmd7XHJcbiAgICBwYWRkaW5nOjA7XHJcbn1cclxuLnJlc2V0LW1hcmdpbntcclxuICAgIG1hcmdpbjowO1xyXG59XHJcbi51ay1idG4ge1xyXG4gICAgJi5ub25lIHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgLy9vdXRsaW5lOiBub25lO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICBtaW4taGVpZ2h0OiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICAmLmljb24ge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgfVxyXG4gIH1cclxuICAiLCIvLyBaLWxldmVsc1xyXG4uI3skcHJlZml4fS1zaGFkb3ctMCB7XHJcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcbi4jeyRwcmVmaXh9LXNoYWRvdy0xIHtcclxuICBib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTEtaGFsZiB7XHJcbiAgYm94LXNoYWRvdzogMCAzcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggN3B4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggMXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG59XHJcbi4jeyRwcmVmaXh9LXNoYWRvdy0yIHtcclxuICBib3gtc2hhZG93OiAwIDRweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG59XHJcbi4jeyRwcmVmaXh9LXNoYWRvdy0zIHtcclxuICBib3gtc2hhZG93OiAwIDZweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggMThweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDVweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxufVxyXG4uI3skcHJlZml4fS1zaGFkb3ctNCB7XHJcbiAgYm94LXNoYWRvdzogMCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCA1cHggNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG59XHJcbi4jeyRwcmVmaXh9LXNoYWRvdy01IHtcclxuICBib3gtc2hhZG93OiAwIDE2cHggMjRweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCA2cHggMzBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCA4cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxufSIsIi51ay1uYXZ7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4gICAgLnVrLW5hdi1pdGVte1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46IDBweDtcclxuICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIiR0b29sdGlwLWhlaWdodDogMjhweDtcclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogIzI5MzU0MTtcclxuJHRvb2x0aXAtcGFkZGluZzogNXB4IDEwcHg7XHJcbiR0b29sdGlwLWFycm93OiA2cHg7XHJcblxyXG4udWstdG9vbHRpcCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgY29sb3I6ICNGRkY7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBtYXgtd2lkdGg6IDI4MHB4O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcclxuICAgIHotaW5kZXg6IDI7XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBib3JkZXI6IHNvbGlkICR0b29sdGlwLWFycm93IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG5cclxuICAgICYud2hpdGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XHJcbiAgICAgICAgY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgJi5ib3R0b20ge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICgtMiAqICR0b29sdGlwLWFycm93KTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLndoaXRlOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiNGRkYgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi50b3Age1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICgtMiAqICR0b29sdGlwLWFycm93KTtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLndoaXRlOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubGVmdCB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogKC0yICogJHRvb2x0aXAtYXJyb3cpO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5yaWdodCB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogKC0yICogJHRvb2x0aXAtYXJyb3cpO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnVrLWxhYmVsIHtcclxuICAgICYudWstdG9vbHRpcC1ob3N0IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiA1cHg7XHJcbiAgICB9XHJcbn1cclxuIiwiJHVrLXByb2dyZXNzLWJhci1sYWJsZS1zcGFjZTogN3B4O1xyXG4kdWstcHJvZ3Jlc3MtYmFyLWxpbmUtaGVpZ2h0OiAzcHg7XHJcbiRyaXBwbGUtc2l6ZTogKHhzOiAyMHB4LCBzbTogMjVweCwgbWQ6IDM1cHgpO1xyXG4kcmlwcGxlLWJvcmRlci13aWR0aDogMnB4O1xyXG5cclxuLnVrLXN0ZXBwZXJ7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAudWstcHJvZ3Jlc3MtdGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiB0aGVtaWZ5KHRleHQsICR0aGVtZSk7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDdweDtcclxuICAgIH1cclxuICAgIC51ay1wcm9ncmVzcy1zdGVwLWJvZHl7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDhweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAudWstcHJvZ3Jlc3MtdHJhY2sge1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICAudWstcHJvZ3Jlc3Mtc3RlcCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkcmlwcGxlLXNpemUsICd4cycpICsgJHVrLXByb2dyZXNzLWJhci1sYWJsZS1zcGFjZTtcclxuXHJcbiAgICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KGdyYXksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IChtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3hzJykgLSAkdWstcHJvZ3Jlc3MtYmFyLWxpbmUtaGVpZ2h0KSAvMjtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJHVrLXByb2dyZXNzLWJhci1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjpiZWZvcmUgeyBsZWZ0OiAwOyB9XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHsgcmlnaHQ6IDA7IH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQgeyAmOjpiZWZvcmUgeyB3aWR0aDogMDsgfX1cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHsgJjo6YWZ0ZXIgeyB3aWR0aDogMDsgfX1cclxuXHJcbiAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KGdyYXksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3hzJyk7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLXNpemUsICd4cycpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA0cHg7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgLnVrLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRyaXBwbGUtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLXNpemUsICd4cycpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAneHMnKSAtICgyICogJHJpcHBsZS1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC51ay1wcm9ncmVzcy10ZXh0IHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB0aGVtaWZ5KGluYWN0aXZlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHRcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYuYWN0aXZle1xyXG4gICAgICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAycHggI0ZGRjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShwcmltYXJ5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShwcmltYXJ5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi53aXAge1xyXG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShwcmltYXJ5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5kb25le1xyXG4gICAgICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLnVrLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdGhlbWlmeSh3aGl0ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5pdGlhbDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShwcmltYXJ5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIHNtIHtcclxuICAgICAgICAgICAgLnVrLXByb2dyZXNzLXN0ZXAge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnc20nKSArICR1ay1wcm9ncmVzcy1iYXItbGFibGUtc3BhY2U7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IChtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3NtJykgLSAkdWstcHJvZ3Jlc3MtYmFyLWxpbmUtaGVpZ2h0KSAvMjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdzbScpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3NtJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3NtJykgLSAoMiAqICRyaXBwbGUtYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnc20nKSAtICgyICogJHJpcHBsZS1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuYWN0aXZle1xyXG4gICAgICAgICAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDNweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWQge1xyXG4gICAgICAgICAgICAudWstcHJvZ3Jlc3Mtc3RlcCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdtZCcpICsgJHVrLXByb2dyZXNzLWJhci1sYWJsZS1zcGFjZTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAobWFwLWdldCgkcmlwcGxlLXNpemUsICdtZCcpIC0gJHVrLXByb2dyZXNzLWJhci1saW5lLWhlaWdodCkgLzI7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnbWQnKTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdtZCcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJykgLSAoMiAqICRyaXBwbGUtYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnbWQnKSAtICgyICogJHJpcHBsZS1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuYWN0aXZle1xyXG4gICAgICAgICAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIiRwcmltYXJ5OiAjMWU4MjU3ICFkZWZhdWx0O1xyXG4kc2Vjb25kYXJ5OiAjRkFBNzRBICFkZWZhdWx0O1xyXG4kbGluazogIzExNTNiNSAhZGVmYXVsdDtcclxuJHRleHQ6ICMyODM1NDEgIWRlZmF1bHQ7XHJcbiRncmF5OiAjYmVjMWM1ICFkZWZhdWx0O1xyXG4kaW5hY3RpdmU6ICM2Yzc3ODEgIWRlZmF1bHQ7XHJcbiRtdXRlZDogI2VlZWZmMiAhZGVmYXVsdDtcclxuJGxpZ2h0OiAjZjRmNWY3ICFkZWZhdWx0O1xyXG4kZXJyb3I6ICNjYjJkMGUgIWRlZmF1bHQ7XHJcbiR3YXJuaW5nOiAjZTM3OTM2ICFkZWZhdWx0O1xyXG4kc3VjY2VzczogIzIyOTg2YyAhZGVmYXVsdDtcclxuJGluZm86ICM2YWE1ZjIgIWRlZmF1bHQ7XHJcbiRhY2NlbnQtMTogIzY4Y2M5YSAhZGVmYXVsdDtcclxuJGFjY2VudC0yOiAkaW5mbyAhZGVmYXVsdDtcclxuJHdoaXRlOiAjZmZmICFkZWZhdWx0O1xyXG5cclxuJGJ0bi1iYXNlOiAoXHJcbiAgaGVpZ2h0OiA1MnB4LFxyXG4gIHdpZHRoOiAxNzVweCxcclxuICBwYWRkaW5nOiAxNnB4IDQwcHhcclxuKTtcclxuXHJcbiRidG4tc2l6ZXM6IChsZzooaGVpZ2h0OiA1MnB4LCBwYWRkaW5nOiAxNnB4IDYwcHgpKSAhZGVmYXVsdDtcclxuICBcclxuJHRoZW1lOiAoXHJcbiAgICBwcmltYXJ5OiAkcHJpbWFyeSxcclxuICAgIHNlY29uZGFyeTogJHNlY29uZGFyeSxcclxuICAgIGxpbms6ICRsaW5rLFxyXG4gICAgdGV4dDogJHRleHQsXHJcbiAgICBncmF5OiAkZ3JheSxcclxuICAgIGluYWN0aXZlOiAkaW5hY3RpdmUsXHJcbiAgICBsaWdodDogJGxpZ2h0LFxyXG4gICAgbXV0ZWQ6ICRtdXRlZCxcclxuICAgIGVycm9yOiAkZXJyb3IsXHJcbiAgICB3YXJuaW5nOiAkd2FybmluZyxcclxuICAgIHN1Y2Nlc3M6ICRzdWNjZXNzLFxyXG4gICAgaW5mbyA6ICRpbmZvLFxyXG4gICAgYWNjZW50LTE6ICRhY2NlbnQtMSxcclxuICAgIGFjY2VudC0yOiAkYWNjZW50LTIsXHJcbiAgICB3aGl0ZTogJHdoaXRlXHJcbiAgKVxyXG4gICFkZWZhdWx0O1xyXG4kc2l6ZXM6IChcclxuICBwaG9uZTpcclxuICAgIChcclxuICAgICAgLy8gQXBwcm92ZWRcclxuICAgICAgaDE6KGZvbnQtc2l6ZTogNTJweCwgbGluZS1oZWlnaHQ6IDU4cHgsIGZvbnQtd2VpZ2h0OiAzMDApLFxyXG4gICAgICBoMjooZm9udC1zaXplOiA0MnB4LCBsaW5lLWhlaWdodDogNTBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGg0OiAoZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjRweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIHA6KGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBsYWJlbDogKGZvbnQtc2l6ZTogMTRweCwgbGluZS1oZWlnaHQ6IDIwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICAvLyBFbmQgQXBwcm92ZWRcclxuICAgICAgaDM6KGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBib2R5Oihmb250LXNpemU6IDE1cHgsIGxpbmUtaGVpZ2h0OiAxOHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgc21hbGw6KGZvbnQtc2l6ZTogMTRweCwgbGluZS1oZWlnaHQ6IDIwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgKSxcclxuICB0YWJsZXQ6KFxyXG4gICAgICAvLyBBcHByb3ZlZFxyXG4gICAgICBoMTooZm9udC1zaXplOiA2MnB4LCBsaW5lLWhlaWdodDogNjhweCwgZm9udC13ZWlnaHQ6IDMwMCksXHJcbiAgICAgIGgyOihmb250LXNpemU6IDUycHgsIGxpbmUtaGVpZ2h0OiA2MHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgaDQ6IChmb250LXNpemU6IDIwcHgsIGxpbmUtaGVpZ2h0OiAzMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgcDooZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjRweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGxhYmVsOiAoZm9udC1zaXplOiAxNHB4LCBsaW5lLWhlaWdodDogMjBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIC8vIEVuZCBBcHByb3ZlZFxyXG4gICAgICBoMzooZm9udC1zaXplOiAyNnB4LCBsaW5lLWhlaWdodDogMzBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGJvZHk6KGZvbnQtc2l6ZTogMTVweCwgbGluZS1oZWlnaHQ6IDIwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBzbWFsbDooZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjRweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICApLFxyXG4gIGRlc2t0b3A6KFxyXG4gICAgICAvLyBBcHByb3ZlZFxyXG4gICAgICBoMTogKGZvbnQtc2l6ZTogNzJweCwgbGluZS1oZWlnaHQ6IDc4cHgsIGZvbnQtd2VpZ2h0OiAzMDApLFxyXG4gICAgICBoMjogKGZvbnQtc2l6ZTogNjJweCwgbGluZS1oZWlnaHQ6IDcwcHgsIGZvbnQtd2VpZ2h0OiAzMDApLFxyXG4gICAgICBoNDogKGZvbnQtc2l6ZTogMjBweCwgbGluZS1oZWlnaHQ6IDMwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBwOiAoZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjJweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGxhYmVsOiAoZm9udC1zaXplOiAxNHB4LCBsaW5lLWhlaWdodDogMjBweCwgZm9udC13ZWlnaHQ6IDQwMCksXHJcbiAgICAgIC8vIEVuZCBBcHByb3ZlZFxyXG4gICAgICBoMzogKGZvbnQtc2l6ZTogMjRweCwgbGluZS1oZWlnaHQ6IDI4cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBib2R5OiAoZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMThweCwgZm9udC13ZWlnaHQ6IDQwMCksXHJcbiAgICAgIHNtYWxsOiAoZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjRweCwgZm9udC13ZWlnaHQ6IDQwMCksXHJcbiAgICApXHJcbik7XHJcbiRndXR0ZXI6IDMwcHg7XHJcblxyXG5cclxuLy9BTkdVTEFSIENESyBPVkVSTEFZIFZBUklBQkxFU1xyXG4kY2RrLXotaW5kZXgtb3ZlcmxheS1jb250YWluZXI6IDEwMDA7XHJcbiRjZGstei1pbmRleC1vdmVybGF5OiAxMDAwO1xyXG4kY2RrLXotaW5kZXgtb3ZlcmxheS1iYWNrZHJvcDogMTAwMDtcclxuXHJcbi8vIEJhY2tncm91bmQgY29sb3IgZm9yIGFsbCBvZiB0aGUgYmFja2Ryb3BzXHJcbiRjZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wLWJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yODgpO1xyXG5cclxuLy8gRGVmYXVsdCBiYWNrZHJvcCBhbmltYXRpb24gaXMgYmFzZWQgb24gdGhlIE1hdGVyaWFsIERlc2lnbiBzd2lmdC1lYXNlLW91dC5cclxuJGJhY2tkcm9wLWFuaW1hdGlvbi1kdXJhdGlvbjogNDAwbXMgIWRlZmF1bHQ7XHJcbiRiYWNrZHJvcC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSAhZGVmYXVsdDsiLCIvLyBHcmF5c1xyXG4kaW5hY3RpdmU6ICM1RjY4NzE7XHJcbiRtaWQtZ3JheTogIzk0OUFBMDtcclxuJGdyYXk6ICNDOUNDQ0Y7XHJcbiRtdXRlZDogI0U5RUFFQztcclxuJGxpZ2h0OiAjRjRGNUY1O1xyXG4kd2hpdGU6ICNGRkY7XHJcbi8vIElsbHVzdHJhdGl2ZSBJY29uc1xyXG4kaW5mbzogIzY0OTVGNjtcclxuJGFjY2VudC0xOiAjRkZGO1xyXG4kYWNjZW50LTI6ICMwMDA7XHJcbi8vIEFsZXJ0c1xyXG4kZXJyb3I6ICNjYjJkMGU7XHJcbiR3YXJuaW5nOiAjZTM3OTM2O1xyXG4kc3VjY2VzczogIzIyOTg2YztcclxuLy8gTGlua3NcclxuJGxpbms6ICMxNzZBQ0Y7XHJcbiRsaW5rLXZpc2l0ZWQ6ICM1NTFBOEI7IiwiJGJyZWFrcG9pbnRzIDooIHhzOjQ4MHB4LCBzbTogNzY4cHgsIG1kOjk5MnB4LCBsZzogMTIwMHB4KTtcclxuXHJcbkBtaXhpbiB4cyB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAneHMnKSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gc20ge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJ3NtJykpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1kIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICdtZCcpKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBsZyB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAnbGcnKSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcbiIsIkBpbXBvcnQgJy4vX2ZvbnQtaWNvbi5zY3NzJztcclxuXHJcbiRidG4taWNvbi1zaXplOiAxZW07XHJcbiRpY29uLXNpemU6IDEuNWVtO1xyXG5cclxuQG1peGluIGljb25zIHtcclxuICAgIC51ay1idG4uaWNvbntcclxuICAgICAgICAudWstaWNvbntcclxuICAgICAgICAgICAgaGVpZ2h0OiAkaWNvbi1zaXplO1xyXG4gICAgICAgICAgICB3aWR0aDogJGljb24tc2l6ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudWstYnRue1xyXG4gICAgICAgIC51ay1pY29ue1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRidG4taWNvbi1zaXplO1xyXG4gICAgICAgICAgICB3aWR0aDogJGJ0bi1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGJ0bi1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIC8vR2VuZXJhbFxyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC51ay1pY29uIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgc3Ryb2tlLXdpZHRoOiAwO1xyXG4gICAgICAgIHN0cm9rZTogY3VycmVudENvbG9yO1xyXG4gICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcclxuICAgICAgICBmb250LXNpemU6ICRpY29uLXNpemU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAkaWNvbi1zaXplO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6ICRpY29uLXNpemU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGljb25zKCk7XHJcbkBpbmNsdWRlIGZvbnRJY29ucygpOyIsIkBtaXhpbiBmb250SWNvbnMge1xyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiYm9maS1pY29uXCI7XHJcbiAgICAgICAgc3JjOnVybChcIi9hc3NldHMvYm9maS1pY29uLmVvdFwiKTtcclxuICAgICAgICBzcmM6dXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24uZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcclxuICAgICAgICAgIHVybChcIi9hc3NldHMvYm9maS1pY29uLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgIHVybChcIi9hc3NldHMvYm9maS1pY29uLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgIHVybChcIi9hc3NldHMvYm9maS1pY29uLnN2ZyNib2ZpLWljb25cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOyAgXHJcbiAgICB9XHJcblxyXG4gICAgW2RhdGEtaWNvbl06YmVmb3JlIHtcclxuICAgICAgICBmb250LWZhbWlseTogXCJib2ZpLWljb25cIiAhaW1wb3J0YW50O1xyXG4gICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1pY29uKTtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHNwZWFrOiBub25lO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIFtjbGFzc149XCJib2ZpLVwiXTpiZWZvcmUsXHJcbiAgICAgIFtjbGFzcyo9XCIgYm9maS1cIl06YmVmb3JlIHtcclxuICAgICAgICBmb250LWZhbWlseTogXCJib2ZpLWljb25cIiAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgc3BlYWs6IG5vbmU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgLmJvZmktcmVjdXJyaW5nOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDYxXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZWJpbGw6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjdcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hZGQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hdG06YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hdXRvbWF0aWM6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1iYW5rOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDczXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYmFua2ZlZXM6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kYXRlcGlja2VyOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDZhXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZGVwb3NpdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3N1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWVkaXQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzhcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1mYXE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcN2FcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1tZXNzYWdlczpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0MVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW1lbnU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1pbnRlcmVzdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2NVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBlbmRpbmc6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNGNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1waG9uZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0ZFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXByaW50OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDRmXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcmVmdW5kOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDUyXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcmVtb3ZlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDUzXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc3VjY2VzczpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1NFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXNlYXJjaDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1NlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBhc3N3b3JkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDZkXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdXNlcm5hbWU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1nZWFyOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDY4XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY29udGFjdC1saXN0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQyXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZmlsdGVyOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDc2XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZGViaXQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zdXBwb3J0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDY5XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdXNlci1zZXR0aW5nczpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3MFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWFjY291bnRzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDY0XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdHJhbnNmZXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1waG90bzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3OVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNoZWNrLW1hcms6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1pbmZvcm1hdGlvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0OVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNoYXQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNGJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jYW5jZWw6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNGVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zZW5kLWljb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS13YXJuaW5nOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDU4XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdXBsb2FkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDVhXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdGh1bWJzdXA6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzBcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZGY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDdcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jaGVjazpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0OFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXN0YXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jYW1lcmE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kZWxpdmVyeS1tZXRob2Q6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kb3dubG9hZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzN1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWViaWxsLXBheWJpbGxzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDM4XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZmxhZzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyMlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWFsZXJ0LWhpc3Rvcnk6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1tb2JpbGVkZXBvc2l0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDI4XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktb25ldGltZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyOVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBlcnNvbmFsLW1lc3NhZ2U6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMmNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS10ZXh0LW1lc3NhZ2U6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNGFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1leWUtb3V0bGluZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1MFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWF0dGFjaDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1MVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWxvZ291dDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2YlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNsb3NlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQ1XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZ2Vhci1jaXJjbGU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTdcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS10aHVtYnN1cC1jaXJjbGU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTlcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1tb2RhbC1zZW5kOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDZjXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYWRkLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1ncm91cDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzM1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWhvbWU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZXJzb25hbC1pbmZvOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDM5XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGVyc29uLWNoZWNrOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDIxXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGVyc29uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDIzXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc2lnbmVyOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDI1XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZGF0ZXBpY2tlci0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDI2XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcmVmdW5kLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZWN1cnJpbmctMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyN1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW1lc3NhZ2VzLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMmFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1mYXEtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyYlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWdlYXItMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyZFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXJlbW92ZS0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDJlXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcmVmdW5kLTI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMmZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS11c2VybmFtZS0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDNhXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc2VhcmNoLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcM2JcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wYXNzd29yZC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDNjXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZGFzaGJvYXJkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDNkXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXRtLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcM2VcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZW5kaW5nLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcM2ZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zdWNjZXNzLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDBcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1waG9uZS0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDViXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcHJpbnQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1ZFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW1lbnUtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1ZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWludGVyZXN0LTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1pYy1jb250YWN0LWxpc3Q6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjBcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kZXBvc2l0LTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcN2JcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hdXRvbWF0aWMtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3Y1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWF1dG9tYXRpY3BheW1lbnQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcN2RcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1iYW5rLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcN2VcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1iYW5rZmVlcy0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDVjXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZWRpdC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXGUwMDBcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS0xNDk4MTk1NTkyLWljb24xNS04OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDZlXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXJyb3ctY2hldnJvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzMVwiO1xyXG4gICAgICB9ICAgICAgXHJcbn0iLCIuY2RrLW92ZXJsYXktY29udGFpbmVyLFxyXG4uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXIge1xyXG4gIC8vIERpc2FibGUgZXZlbnRzIGZyb20gYmVpbmcgY2FwdHVyZWQgb24gdGhlIG92ZXJsYXkgY29udGFpbmVyLlxyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICAvLyBUaGUgY29udGFpbmVyIHNob3VsZCBiZSB0aGUgc2l6ZSBvZiB0aGUgdmlld3BvcnQuXHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vLyBUaGUgb3ZlcmxheS1jb250YWluZXIgaXMgYW4gaW52aXNpYmxlIGVsZW1lbnQgd2hpY2ggY29udGFpbnMgYWxsIGluZGl2aWR1YWwgb3ZlcmxheXMuXHJcbi5jZGstb3ZlcmxheS1jb250YWluZXIge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheS1jb250YWluZXI7XHJcbn1cclxuXHJcbi8vIFdlIHVzZSBhbiBleHRyYSB3cmFwcGVyIGVsZW1lbnQgaW4gb3JkZXIgdG8gdXNlIG1ha2UgdGhlIG92ZXJsYXkgaXRzZWxmIGEgZmxleCBpdGVtLlxyXG4vLyBUaGlzIG1ha2VzIGNlbnRlcmluZyB0aGUgb3ZlcmxheSBlYXN5IHdpdGhvdXQgcnVubmluZyBpbnRvIHRoZSBzdWJwaXhlbCByZW5kZXJpbmdcclxuLy8gcHJvYmxlbXMgdGllZCB0byB1c2luZyBgdHJhbnNmb3JtYCBhbmQgd2l0aG91dCBpbnRlcmZlcmluZyB3aXRoIHRoZSBvdGhlciBwb3NpdGlvblxyXG4vLyBzdHJhdGVnaWVzLlxyXG4uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5O1xyXG59XHJcblxyXG4vLyBBIHNpbmdsZSBvdmVybGF5IHBhbmUuXHJcbi5jZGstb3ZlcmxheS1wYW5lIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheTtcclxufVxyXG5cclxuLmNkay1vdmVybGF5LWJhY2tkcm9wIHtcclxuICAvLyBUT0RPKGplbGJvdXJuKTogcmV1c2Ugc2lkZW5hdiBmdWxsc2NyZWVuIG1peGluLlxyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcblxyXG4gIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5LWJhY2tkcm9wO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkYmFja2Ryb3AtYW5pbWF0aW9uLWR1cmF0aW9uXHJcbiAgICAkYmFja2Ryb3AtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjtcclxuICBvcGFjaXR5OiAwO1xyXG5cclxuICAmLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbi5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wIHtcclxuICBiYWNrZ3JvdW5kOiAkY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcC1iYWNrZ3JvdW5kO1xyXG59XHJcblxyXG4uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3Age1xyXG4gIC8vIE5vdGU6IGFzIG9mIEZpcmVmb3ggNTcsIGhhdmluZyB0aGUgYmFja2Ryb3AgYmUgYGJhY2tncm91bmQ6IG5vbmVgIHdpbGwgcHJldmVudCBpdCBmcm9tXHJcbiAgLy8gY2FwdHVyaW5nIHRoZSB1c2VyJ3MgbW91c2Ugc2Nyb2xsIGV2ZW50cy4gU2luY2Ugd2UgYWxzbyBjYW4ndCB1c2Ugc29tZXRoaW5nIGxpa2VcclxuICAvLyBgcmdiYSgwLCAwLCAwLCAwKWAsIHdlIHdvcmsgYXJvdW5kIHRoZSBpbmNvbnNpc3RlbmN5IGJ5IG5vdCBzZXR0aW5nIHRoZSBiYWNrZ3JvdW5kIGF0XHJcbiAgLy8gYWxsIGFuZCB1c2luZyBgb3BhY2l0eWAgdG8gbWFrZSB0aGUgZWxlbWVudCB0cmFuc3BhcmVudC5cclxuICAmLFxyXG4gICYuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLy8gVXNlZCB3aGVuIGRpc2FibGluZyBnbG9iYWwgc2Nyb2xsaW5nLlxyXG4uY2RrLWdsb2JhbC1zY3JvbGxibG9jayB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG5cclxuICAvLyBOZWNlc3NhcnkgZm9yIHRoZSBjb250ZW50IG5vdCB0byBsb3NlIGl0cyB3aWR0aC4gTm90ZSB0aGF0IHdlJ3JlIHVzaW5nIDEwMCUsIGluc3RlYWQgb2ZcclxuICAvLyAxMDB2dywgYmVjYXVzZSAxMDB2dyBpbmNsdWRlcyB0aGUgd2lkdGggcGx1cyB0aGUgc2Nyb2xsYmFyLCB3aGVyZWFzIDEwMCUgaXMgdGhlIHdpZHRoXHJcbiAgLy8gdGhhdCB0aGUgZWxlbWVudCBoYWQgYmVmb3JlIHdlIG1hZGUgaXQgYGZpeGVkYC5cclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgLy8gTm90ZTogdGhpcyB3aWxsIGFsd2F5cyBhZGQgYSBzY3JvbGxiYXIgdG8gd2hhdGV2ZXIgZWxlbWVudCBpdCBpcyBvbiwgd2hpY2ggY2FuXHJcbiAgLy8gcG90ZW50aWFsbHkgcmVzdWx0IGluIGRvdWJsZSBzY3JvbGxiYXJzLiBJdCBzaG91bGRuJ3QgYmUgYW4gaXNzdWUsIGJlY2F1c2Ugd2Ugd29uJ3RcclxuICAvLyBibG9jayBzY3JvbGxpbmcgb24gYSBwYWdlIHRoYXQgZG9lc24ndCBoYXZlIGEgc2Nyb2xsYmFyIGluIHRoZSBmaXJzdCBwbGFjZS5cclxuICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbn1cclxuIiwiQGltcG9ydCAnLi4vLi4vbWl4aW5zL19hbmltYXRpb24uc2Nzcyc7XHJcbkAtd2Via2l0LWtleWZyYW1lcyBzay1ib3VuY2VkZWxheSB7XHJcbiAgICAwJSwgODAlLCAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApIH1cclxuICAgIDQwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjApIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzay1ib3VuY2VkZWxheSB7XHJcbiAgICAwJSwgODAlLCAxMDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgIH0gNDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB1ay1kb3QtbG9hZGVyKCR0aGVtZSkge1xyXG4gICAgLnVpa2l0LWRvdC1sb2FkZXIge1xyXG4gICAgICAgIHVzZXItc2VsZWN0Om5vbmU7ICAgICAgICAgICAgXHJcbiAgICAgICAgJi51aWtpdC1pbmxpbmUtZG90LWxvYWRlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgID5zcGFuIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkod2hpdGUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuXHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgQGluY2x1ZGUgYW5pbWF0aW9uKHNrLWJvdW5jZWRlbGF5IDEuMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQgYm90aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4uYm91bmNlMSB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogLTAuMzJzO1xyXG4gICAgICAgIH1cclxuICAgICAgICA+LmJvdW5jZTIge1xyXG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IC0wLjE2cztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJAbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRlLi4uKSB7XHJcbiAgICAkbWF4OiBsZW5ndGgoJGFuaW1hdGUpO1xyXG4gICAgJGFuaW1hdGlvbnM6ICcnO1xyXG5cclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heCB7XHJcbiAgICAgICAgJGFuaW1hdGlvbnM6ICN7JGFuaW1hdGlvbnMgKyBudGgoJGFuaW1hdGUsICRpKX07XHJcblxyXG4gICAgICAgIEBpZiAkaSA8ICRtYXgge1xyXG4gICAgICAgICAgICAkYW5pbWF0aW9uczogI3skYW5pbWF0aW9ucyArICcsICd9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGFuaW1hdGlvbjogJGFuaW1hdGlvbnM7XHJcbn1cclxuXHJcbkBtaXhpbiBrZXlmcmFtZXMoJGFuaW1hdGlvbk5hbWUpIHtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyAjeyRhbmltYXRpb25OYW1lfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICBALW1vei1rZXlmcmFtZXMgI3skYW5pbWF0aW9uTmFtZX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gICAgQC1vLWtleWZyYW1lcyAjeyRhbmltYXRpb25OYW1lfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICBAa2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufSIsIkBpbXBvcnQgJy4uLy4uL21peGlucy9hbmltYXRpb24uc2Nzcyc7XHJcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbC9fc3Itb25seS5zY3NzJztcclxuXHJcbiRpbnB1dDogKCBzaXplOiAyMnB4LCBtYXJnaW4tcmlnaHQ6IDEwcHgpO1xyXG4kcmlwcGxlOiAoIHBvc2l0aW9uOiAxMHB4LCBzaXplOiBtYXAtZ2V0KCRpbnB1dCwgc2l6ZSkgKiAzKTtcclxuQGluY2x1ZGUga2V5ZnJhbWVzKHJpcHBsZSkge1xyXG4gICAgNSUsXHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgNSUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuXHJcbkBtaXhpbiB1ay1yYWRpbygkdGhlbWUpIHtcclxuICAgICN7JHByZWZpeH0tcmFkaW8tZ3JvdXAge1xyXG4gICAgICAgIC4jeyRwcmVmaXh9LXJhZGlvLWdyb3VwIHtcclxuICAgICAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPXJhZGlvXSB7XHJcbiAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMHB4OyAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7ICAgICAgICBcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAkaW5wdXRzLWNvbmZpZzogbWFwLWdldCgkdGhlbWUsIGlucHV0cyk7XHJcbiAgICAkY29uZmlnOiBtYXAtZ2V0KCRpbnB1dHMtY29uZmlnLCBpbnB1dC1jaGVja2VkKTtcclxuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnktY29sb3IpO1xyXG4gICAgaW5wdXRbdHlwZT1yYWRpb10ge1xyXG4gICAgICAgIEBpbmNsdWRlIHNyLW9ubHkoKTtcclxuXHJcbiAgICAgICAgJjpkaXNhYmxlZCtsYWJlbDpub3QoOmNoZWNrZWQpLCAmLmRpc2FibGVkK2xhYmVsOm5vdCg6Y2hlY2tlZCkge1xyXG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRoZW1pZnkoaW5hY3RpdmUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgK2xhYmVsIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIC8vIG1hcmdpbjogMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAobWFwLWdldCgkaW5wdXQsIHNpemUpICsgbWFwLWdldCgkaW5wdXQsIG1hcmdpbi1yaWdodCkpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IG1hcC1nZXQoJGlucHV0LCBzaXplKSArIDJweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG1hcC1nZXQoJGlucHV0LCBzaXplKSArIDJweDtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRpbnB1dCwgc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJGlucHV0LCBzaXplKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgbWFwLWdldCgkaW5wdXQsIHNpemUpIHRoZW1pZnkod2hpdGUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0aGVtaWZ5KGluYWN0aXZlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIHRvcDogKG1hcC1nZXQoJGlucHV0LCBzaXplKSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogbWFwLWdldCgkcmlwcGxlLCBwb3NpdGlvbikgLSAxcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLCBzaXplKTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLCBzaXplKTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjEpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMCk7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyK2xhYmVsLCAmLmhvdmVyK2xhYmVse1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmNoZWNrZWQrbGFiZWwge1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4IHRoZW1pZnkod2hpdGUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBhbmltYXRpb24ocmlwcGxlIDFzIG5vbmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLnVrLWZvcm0tY29udHJvbCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgbWluLWhlaWdodDogMThweDtcclxuXHJcbiAgICAmX192YWx1ZSB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICBtYXgtd2lkdGg6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgICZfX2FkZG9uIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG59IiwiLmFsZXJ0IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVlbTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gIGhlaWdodDogNDZweDtcclxuICBjb2xvcjogYmxhY2s7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgXHJcbiAgLmljb24ge1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgIG1hcmdpbi10b3A6IC0ycHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5jbG9zZS1pY29ue1xyXG4gICAgZm9udC1zaXplOiA2LjIyODVweDtcclxuICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICB9XHJcblxyXG4gIC5jaGlsZC0tZmVhdHVyZWQge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxM3B4O1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gIH1cclxufSIsIkBpbXBvcnQgXCJfdmFyaWFibGVzLnNjc3NcIjtcclxuOmhvc3Qge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBjb2xvcjogZ2V0KCRub3RlLWJveCwgJ2Rlc2NyaXB0aW9uJywgJ2NvbG9yJyk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnZXQoJG5vdGUtYm94LCAnYmFja2dyb3VuZC1jb2xvcicpO1xyXG4gICAgcGFkZGluZzogMTZweCAyMHB4O1xyXG4gICAgbWFyZ2luOiAyNXB4IGF1dG87XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHRcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cclxuICAgIC5heG9zLW5vdGUtdGl0bGUge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBnZXQoJG5vdGUtYm94LCAndGl0bGUnLCAnd2VpZ2h0Jyk7XHJcbiAgICB9XHJcbn0iLCIkdWstYXhvcy1wcmltYXJ5LTcwMDogIzE0M0U2MTtcclxuJHVrLWF4b3MtcHJpbWFyeS1kZWZhdWx0OiAjMUUzODYwO1xyXG4kdWstYXhvcy1wcmltYXJ5LWhvdmVyOiAjMjg0ODg0O1xyXG5cclxuJHVrLWF4b3MtY29sb3JzOiAoXHJcbiAgMzAwOiAkdWstYXhvcy1wcmltYXJ5LWhvdmVyLFxyXG4gIDUwMDogJHVrLWF4b3MtcHJpbWFyeS1kZWZhdWx0LFxyXG4gIDcwMDogJHVrLWF4b3MtcHJpbWFyeS03MDAsXHJcbiAgLy8gQWx0ZXJuYXRlXHJcbiAgQTMwMDogI2ZmYjY2NCxcclxuICBBNTAwOiAjRkFBNzRBLFxyXG4gIEE3MDA6ICNGQUE3NEEsXHJcbiAgLy8gQ29udHJhc3RcclxuICBjb250cmFzdDogKFxyXG4gICAgMzAwOiAkdWstd2hpdGUsXHJcbiAgICA1MDA6ICR1ay13aGl0ZSxcclxuICAgIDcwMDogJHVrLXdoaXRlLFxyXG4gICAgLy8gQWx0ZXJuYXRlXHJcbiAgICBBMzAwOiAkdWstYXhvcy1wcmltYXJ5LWRlZmF1bHQsXHJcbiAgICBBNTAwOiAkdWstYXhvcy1wcmltYXJ5LWRlZmF1bHQsXHJcbiAgICBBNzAwOiAkdWstYXhvcy1wcmltYXJ5LWRlZmF1bHRcclxuICApXHJcbik7XHJcblxyXG4kdWstYXhvcy1wYWxldHRlczogKFxyXG4gIHByaW1hcnk6IHVrLXBhbGV0dGUoJHVrLWF4b3MtY29sb3JzLCAnc2Vjb25kYXJ5JyksXHJcbiAgc2Vjb25kYXJ5OiB1ay1wYWxldHRlKCR1ay1heG9zLWNvbG9ycywgJ3ByaW1hcnknLCBBNTAwLCBBMzAwLCBBNzAwKVxyXG4pO1xyXG5cclxuLy8gTWFpbiBDb2xvcnNcclxuJGF4b3MtcHJpbWFyeS1jb2xvcjogIzFFMzg2MDtcclxuJGF4b3Mtc2Vjb25kYXJ5LWNvbG9yOiAjRkFBNzRBO1xyXG4kdGV4dDogIzE0M0U2MTtcclxuLy8gQ29sb3JzIFNjaGVtZVxyXG4kcHJpbWFyeTogKFxyXG4gIG1haW46ICRheG9zLXByaW1hcnktY29sb3IsXHJcbiAgY29udHJhc3Q6ICR3aGl0ZSxcclxuICBob3ZlcjogIzI4NDg4NCxcclxuICBvcG9zaXRlOiAkYXhvcy1zZWNvbmRhcnktY29sb3IsXHJcbik7XHJcbiRzZWNvbmRhcnk6IChcclxuICBtYWluOiAkYXhvcy1zZWNvbmRhcnktY29sb3IsXHJcbiAgY29udHJhc3Q6ICRheG9zLXByaW1hcnktY29sb3IsXHJcbiAgaG92ZXI6ICNmZmI2NjQsXHJcbiAgb3Bvc2l0ZTogJGF4b3MtcHJpbWFyeS1jb2xvcixcclxuKTsiLCLvu79AaW1wb3J0IFwifkB1aWtpdC9jb3JlL3NyYy91aWtpdC1jb3JlXCI7XHJcblxyXG4kZGVmYXVsdC10aGVtZTogJHVrLWF4b3MtdGhlbWU7XHJcbi8vIENvbG9yc1xyXG4kcHJpbWFyeS1jb2xvcjogdWstY29sb3IoZ2V0KCRkZWZhdWx0LXRoZW1lLCBwYWxldHRlcywgcHJpbWFyeSkpO1xyXG4kc2Vjb25kYXJ5LWNvbG9yOiB1ay1jb2xvcihnZXQoJGRlZmF1bHQtdGhlbWUsIHBhbGV0dGVzLCBzZWNvbmRhcnkpKTtcclxuXHJcbi8vRm9udHNcclxuJHVrLXByaW1hcnktZm9udC1uYW1lOiBnZXQoJGRlZmF1bHQtdGhlbWUsIGZvbnRzLCBmYW1pbGllcywgcHJpbWFyeSwgbmFtZSk7XHJcbiR1ay1zZWNvbmRhcnktZm9udC1uYW1lOiBnZXQoJGRlZmF1bHQtdGhlbWUsIGZvbnRzLCBmYW1pbGllcywgc2Vjb25kYXJ5LCBuYW1lKTtcclxuXHJcbiR0aXRsZS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRub3RlLWNvbG9yOiAjZmZmO1xyXG4kbm90ZS1iYWNrZ3JvdW5kOiAjZmZmO1xyXG4kaGVhZGVyLWhlaWdodDogNTFweDtcclxuJGhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbiRtb2RhbDogKFxyXG4gICAgdGl0bGU6KFxyXG4gICAgICAgIGNvbG9yOiAjMWUzODY5XHJcbiAgICApLFxyXG4gICAgYm9keTooXHJcbiAgICAgICAgY29sb3I6ICMyMjJcclxuICAgICksXHJcbiAgICBpY29uOihcclxuICAgICAgICBjb2xvcjogI2ZmZixcclxuICAgICAgICBzaXplOiA4MHB4XHJcbiAgICApXHJcbik7XHJcblxyXG4kYmFubmVyOiAoXHJcbiAgICBhcnJvdzooXHJcbiAgICAgICAgIGltYWdlOiB1cmwoJ34vYXNzZXRzL2ljb25zL2Fycm93LXByaW1hcnkuc3ZnJyksXHJcbiAgICAgICAgIGxlZnQ6IDAsXHJcbiAgICAgICAgIGxlZnQtbW9iaWxlOiAwXHJcbiAgICApLFxyXG4gICAgYmFja2dyb3VuZDooXHJcbiAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcixcclxuICAgICAgICAgZGVza3RvcDooXHJcbiAgICAgICAgICAgICAgaW1hZ2UtdXJsOiB1cmwoJ34vYXNzZXRzL2ltYWdlcy90aXRsZS1iYW5uZXIucG5nJyksXHJcbiAgICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQsXHJcbiAgICAgICAgICAgICAgc2l6ZTogMTAwJVxyXG4gICAgICAgICApLFxyXG4gICAgICAgICBtb2JpbGU6KFxyXG4gICAgICAgICAgICAgIGltYWdlLXVybDogdXJsKCd+L2Fzc2V0cy9pbWFnZXMvbW9iaWxlLXRpdGxlLWJhbm5lci5wbmcnKSxcclxuICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdCxcclxuICAgICAgICAgICAgICBzaXplOiAxMDAlIGF1dG9cclxuICAgICAgICAgKSxcclxuICAgICksXHJcbiAgICAgdGl0bGU6KFxyXG4gICAgICAgICAgd2VpZ2h0OiA1MDAsXHJcbiAgICAgICAgICB3ZWlnaHQtbW9iaWxlOiA1MDBcclxuICAgICApLFxyXG4gICAgIGZvbnQtZmFtaWx5OiAkdWstc2Vjb25kYXJ5LWZvbnQtbmFtZSxcclxuICAgICBwcm9kdWN0LWxhYmVsOihcclxuICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLFxyXG4gICAgICAgICAgd2VpZ2h0OiA1MDBcclxuICAgICApXHJcbik7XHJcblxyXG4kaGVhZGVyOihcclxuICAgICBsb2dvOihcclxuICAgICAgICAgIGhlaWdodDogNDBweCxcclxuICAgICAgICAgIGhlaWdodC1tb2JpbGU6IDIwcHhcclxuICAgICApLFxyXG4gICAgIGZvbnQ6KFxyXG4gICAgICAgICBjb2xvcjogIzFFMzg2MCxcclxuICAgICAgICAgIHdlaWdodDogNTAwLFxyXG4gICAgICAgICAgc2l6ZTogMTZweFxyXG4gICAgICksXHJcbiAgICAgYW5pbWF0aW9uOihcclxuICAgICAgICAgIHBob25lLXNpemU6IDE0OHB4LFxyXG4gICAgICAgICAgZW1haWwtc2l6ZTogMzM5cHhcclxuICAgICApLFxyXG4gICAgIGJhY2tncm91bmQ6KFxyXG4gICAgICAgIGNvbG9yOiAjRkZGRkZGXHJcbiAgICApXHJcbik7XHJcblxyXG4kZXhpc3RpbmctcGFuZWw6KFxyXG4gICAgIHRhYjooXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLFxyXG4gICAgICAgICAgZm9udC1jb2xvci1ob3ZlcjogJHByaW1hcnktY29sb3JcclxuICAgICApXHJcbik7XHJcblxyXG4kcGFuZWwtcmV2aWV3LXN1Ym1pdDooXHJcbiAgdGl0bGU6IChcclxuICAgIGZvbnQtZmFtaWx5OiAkdWstc2Vjb25kYXJ5LWZvbnQtbmFtZVxyXG4gICksXHJcbiAgYXJyb3c6KFxyXG4gICAgICBjb2xvcjogM3B4IHNvbGlkICRzZWNvbmRhcnktY29sb3JcclxuICApLFxyXG4gIGVkaXQtYnV0dG9uOihcclxuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yXHJcbiAgKVxyXG4pO1xyXG5cclxuJHByb2dyZXNzLWJhcjooXHJcbiAgICAgYmFja2dyb3VuZC1jb2xvcjooXHJcbiAgICAgICAgIGJhc2U6IHRyYW5zcGFyZW50LFxyXG4gICAgICAgICBwcm9ncmVzczogI0ZBQTc0QVxyXG4gICAgIClcclxuKTtcclxuXHJcbiRub3RlLWJveDooXHJcbiAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjVGNSxcclxuICAgICB0aXRsZTooXHJcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3IsXHJcbiAgICAgICAgICB3ZWlnaHQ6IDYwMFxyXG4gICAgICksXHJcbiAgICAgZGVzY3JpcHRpb246KFxyXG4gICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yXHJcbiAgICAgKVxyXG4pO1xyXG5cclxuJHN0ZXBzLWNpcmNsZTooXHJcbiAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRixcclxuICAgICBjb2xvci10ZXh0OiAkcHJpbWFyeS1jb2xvcixcclxuICAgICBjb21wbGV0ZWQ6KFxyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3IsXHJcbiAgICAgICAgICBjb2xvci10ZXh0OiAjRkZGRkZGLFxyXG4gICAgIClcclxuKTtcclxuXHJcbiRsb2FkaW5nLXNjcmVlbjooXHJcbiAgICBsb2dvOiB1cmwoJ34vYXNzZXRzL2hlYWRlci9sb2dvLnN2ZycpLFxyXG4gICAgc2l6ZTogYXV0b1xyXG4pO1xyXG5cclxuLy9UT0RPIG1hdGNoIGNvbG9yc1xyXG4iXX0= */\"","import { Component, Input, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-note',\r\n templateUrl: './note.component.html',\r\n styleUrls: ['./note.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class NoteComponent {\r\n @Input() title: string;\r\n\r\n constructor() { }\r\n}\r\n","module.exports = \":host .selector-container {\\n margin: 20px 0; }\\n :host .selector-container .item-container {\\n -moz-transform: all .2s ease-in-out;\\n -webkit-transition: all .2s ease-in-out;\\n -o-transform: all .2s ease-in-out;\\n -ms-transform: all .2s ease-in-out;\\n transition: all .2s ease-in-out;\\n border-radius: 8px;\\n border: 2px solid #d4d4d4;\\n cursor: pointer;\\n padding: 20px;\\n position: relative;\\n margin: 0 auto 10px;\\n max-width: 600px; }\\n :host .selector-container .item-container:hover, :host .selector-container .item-container.selected {\\n border-color: #2f5b88; }\\n :host .selector-container .item-container.selected .checkmark {\\n opacity: 1; }\\n :host .selector-container .item-container.no-description .item-icon {\\n padding: 12px 20px; }\\n :host .selector-container .item-container.no-description .item-data .title {\\n margin-bottom: 0; }\\n :host .selector-container .item-container.no-icon .item-icon {\\n display: none; }\\n :host .selector-container .item-container.no-icon .item-data {\\n padding: 0; }\\n :host .selector-container .item-container .item-icon {\\n top: 0;\\n left: 0;\\n padding: 20px;\\n position: absolute; }\\n :host .selector-container .item-container .item-icon img {\\n height: 35px;\\n width: 35px; }\\n :host .selector-container .item-container .item-data {\\n padding-left: 70px;\\n width: 100%; }\\n :host .selector-container .item-container .item-data .title {\\n font-size: 18px;\\n font-weight: 500;\\n margin-bottom: 10px; }\\n :host .selector-container .item-container .item-data .description p {\\n font-weight: 300;\\n margin: 0; }\\n :host .selector-container .item-container .checkmark {\\n -moz-transform: all .2s ease-in-out;\\n -webkit-transition: all .2s ease-in-out;\\n -o-transform: all .2s ease-in-out;\\n -ms-transform: all .2s ease-in-out;\\n transition: all .2s ease-in-out;\\n display: inline-block;\\n opacity: 0;\\n width: 22px;\\n height: 22px;\\n background: #2f5b88;\\n position: absolute;\\n right: 20px;\\n top: 20px;\\n border-radius: 50%;\\n -ms-transform: rotate(45deg);\\n -webkit-transform: rotate(45deg);\\n transform: rotate(45deg); }\\n :host .selector-container .item-container .checkmark:before {\\n content: \\\"\\\";\\n position: absolute;\\n width: 2px;\\n height: 9px;\\n background-color: #fff;\\n left: 11px;\\n top: 6px; }\\n :host .selector-container .item-container .checkmark:after {\\n content: \\\"\\\";\\n position: absolute;\\n width: 2px;\\n height: 2px;\\n background-color: #fff;\\n left: 9px;\\n top: 13px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy9zZWxlY3Rvci1saXN0L0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvc3JjXFxhcHBcXGVucm9sbG1lbnQtY29tbW9uXFxjb21wb25lbnRzXFxzZWxlY3Rvci1saXN0XFxzZWxlY3Rvci1saXN0LmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL3NlbGVjdG9yLWxpc3QvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9zcmNcXHN0eWxlc1xcZ2xvYmFsXFxfbWl4aW5zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFFUSxjQUFjLEVBQUE7RUFGdEI7SUNESSxtQ0FBbUM7SUFDbkMsdUNBQXVDO0lBQ3ZDLGlDQUFpQztJQUNqQyxrQ0FBa0M7SUFDbEMsK0JBQStCO0lERXZCLGtCQUFrQjtJQUNsQix5QkFBeUI7SUFDekIsZUFBZTtJQUNmLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGdCQUFnQixFQUFBO0VBWDVCO01BYWdCLHFCQUFxQixFQUFBO0VBYnJDO01BaUJvQixVQUFVLEVBQUE7RUFqQjlCO01Bc0JvQixrQkFBa0IsRUFBQTtFQXRCdEM7TUEwQndCLGdCQUFnQixFQUFBO0VBMUJ4QztNQWdDb0IsYUFBYSxFQUFBO0VBaENqQztNQW1Db0IsVUFBVSxFQUFBO0VBbkM5QjtNQXVDZ0IsTUFBTTtNQUNOLE9BQU87TUFDUCxhQUFhO01BQ2Isa0JBQWtCLEVBQUE7RUExQ2xDO1FBNENvQixZQUFZO1FBQ1osV0FBVyxFQUFBO0VBN0MvQjtNQWlEZ0Isa0JBQWtCO01BQ2xCLFdBQVcsRUFBQTtFQWxEM0I7UUFvRG9CLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsbUJBQW1CLEVBQUE7RUF0RHZDO1FBMER3QixnQkFBZ0I7UUFDaEIsU0FBUyxFQUFBO0VBM0RqQztNQ0RJLG1DQUFtQztNQUNuQyx1Q0FBdUM7TUFDdkMsaUNBQWlDO01BQ2pDLGtDQUFrQztNQUNsQywrQkFBK0I7TUQ4RG5CLHFCQUFvQjtNQUNwQixVQUFVO01BQ1YsV0FBVztNQUNYLFlBQVc7TUFDWCxtQkFBbUI7TUFDbkIsa0JBQWtCO01BQ2xCLFdBQVc7TUFDWCxTQUFTO01BQ1Qsa0JBQWlCO01BQ2pCLDRCQUE0QjtNQUM1QixnQ0FBZ0M7TUFDaEMsd0JBQXdCLEVBQUE7RUE1RXhDO1FBOEVvQixXQUFVO1FBQ1Ysa0JBQWtCO1FBQ2xCLFVBQVM7UUFDVCxXQUFVO1FBQ1Ysc0JBQXFCO1FBQ3JCLFVBQVM7UUFDVCxRQUFPLEVBQUE7RUFwRjNCO1FBdUZvQixXQUFVO1FBQ1Ysa0JBQWtCO1FBQ2xCLFVBQVM7UUFDVCxXQUFVO1FBQ1Ysc0JBQXFCO1FBQ3JCLFNBQVE7UUFDUixTQUFRLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL3NlbGVjdG9yLWxpc3Qvc2VsZWN0b3ItbGlzdC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJ19taXhpbnMuc2Nzcyc7XHJcblxyXG46aG9zdHtcclxuICAgIC5zZWxlY3Rvci1jb250YWluZXJ7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICAgICAgLml0ZW0tY29udGFpbmVye1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2Q0ZDRkNDtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDEwcHg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7XHJcbiAgICAgICAgICAgICY6aG92ZXIsICYuc2VsZWN0ZWR7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICMyZjViODg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zZWxlY3RlZHtcclxuICAgICAgICAgICAgICAgIC5jaGVja21hcmt7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLm5vLWRlc2NyaXB0aW9ue1xyXG4gICAgICAgICAgICAgICAgLml0ZW0taWNvbntcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaXRlbS1kYXRhe1xyXG4gICAgICAgICAgICAgICAgICAgIC50aXRsZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5uby1pY29ue1xyXG4gICAgICAgICAgICAgICAgLml0ZW0taWNvbntcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLml0ZW0tZGF0YXtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pdGVtLWljb257XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGltZ3tcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLml0ZW0tZGF0YXtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNzBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgLnRpdGxle1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb257XHJcbiAgICAgICAgICAgICAgICAgICAgcHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY2hlY2ttYXJrIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oKTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OjIycHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMmY1Yjg4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOjUwJTtcclxuICAgICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgXHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZXtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OlwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOjJweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6OXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6I2ZmZjtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OjExcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOjZweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDpcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDoycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjJweDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDo5cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOjEzcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJAbWl4aW4gdHJhbnNpdGlvbigpIHtcclxuICAgIC1tb3otdHJhbnNmb3JtOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgLW8tdHJhbnNmb3JtOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgLW1zLXRyYW5zZm9ybTogYWxsIC4ycyBlYXNlLWluLW91dDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbkBtaXhpbiByb3RhdGUoJHZhbHVlKSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKCR2YWx1ZSk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKCR2YWx1ZSk7XHJcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgkdmFsdWUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKCR2YWx1ZSk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkdmFsdWUpO1xyXG59XHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIoJGNvbG9yKSB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgLyogQ2hyb21lL09wZXJhL1NhZmFyaSAqL1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIH1cclxuXHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOSsgKi9cclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICB9XHJcblxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBJRSAxMCsgKi9cclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICB9XHJcblxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOC0gKi9cclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2xhdGUoJHhWYWx1ZSwgJHlWYWx1ZSkge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeFZhbHVlLCAkeVZhbHVlKTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHhWYWx1ZSwgJHlWYWx1ZSk7XHJcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeFZhbHVlLCAkeVZhbHVlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeFZhbHVlLCAkeVZhbHVlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR4VmFsdWUsICR5VmFsdWUpO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNsYXRlLWNlbnRlcigpIHtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgtNTAlLCAwKTtcclxufVxyXG4iXX0= */\"","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\n\r\n@Component({\r\n selector: 'selector-list',\r\n templateUrl: './selector-list.component.html',\r\n styleUrls: ['./selector-list.component.scss']\r\n})\r\nexport class SelectorListComponent {\r\n @Input() optionList: any;\r\n @Output() onOptionSelected: EventEmitter = new EventEmitter();\r\n constructor(private _sanatizer: DomSanitizer){}\r\n\r\n onSelect(optionSelected: any){\r\n this.clearSelection();\r\n optionSelected.selected = !optionSelected.selected;\r\n optionSelected.type ?\r\n this.onOptionSelected.emit(optionSelected.type) :\r\n this.onOptionSelected.emit(optionSelected.name)\r\n }\r\n\r\n getImage(icon: string){\r\n return this._sanatizer.bypassSecurityTrustResourceUrl(icon);\r\n }\r\n\r\n clearSelection(){\r\n this.optionList.forEach(option => {\r\n option.selected = false;\r\n });\r\n }\r\n\r\n setSelection(option: string) {\r\n const selected = this.optionList.find(x => x.type == option);\r\n if (selected) {\r\n this.onSelect(selected);\r\n }\r\n }\r\n}\r\n","module.exports = \"/**\\r\\n* Helper mixin to create a linear-gradient\\r\\n*\\r\\n*/\\n/*\\r\\nhtml,\\r\\nbody {\\r\\n font-family: 'Libre Franklin', 'Helvetica', sans-serif;\\r\\n // color: themify(text);\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\na {\\r\\n color: themify(link);\\r\\n cursor: pointer;\\r\\n text-decoration: none;\\r\\n -webkit-tap-highlight-color: transparent;\\r\\n}\\r\\n\\r\\n.round-image {\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n\\r\\n*/\\n.fcontainer-fluid,\\n.fcontainer {\\n margin: 0 auto; }\\n.fcontainer-fluid {\\n padding: 0 2rem; }\\n.frow {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex: 0 1 auto;\\n flex: 0 1 auto;\\n -ms-flex-direction: row;\\n flex-direction: row;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap; }\\n.frow.reverse {\\n -ms-flex-direction: row-reverse;\\n flex-direction: row-reverse; }\\n.finline {\\n display: -ms-inline-flexbox;\\n display: inline-flex; }\\n.reset-padding {\\n padding: 0; }\\n.reset-margin {\\n margin: 0; }\\n.uk-btn.none {\\n border: none;\\n background-color: transparent;\\n text-transform: none;\\n min-width: 0;\\n min-height: 0;\\n padding: 0; }\\n.uk-btn.icon {\\n font-weight: 500;\\n font-size: 14px;\\n line-height: 16px;\\n font-weight: bold; }\\n.uk-shadow-0 {\\n box-shadow: none !important; }\\n.uk-shadow-1 {\\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); }\\n.uk-shadow-1-half {\\n box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2); }\\n.uk-shadow-2 {\\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-3 {\\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-4 {\\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-5 {\\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.3); }\\n.uk-nav {\\n padding-left: 0;\\n margin-bottom: 0;\\n list-style: none;\\n box-sizing: border-box; }\\n.uk-nav .uk-nav-item {\\n clear: both;\\n float: none;\\n display: inline-block;\\n margin: 0px; }\\n.uk-nav .uk-nav-item:hover {\\n background-color: #eee; }\\n.uk-tooltip {\\n background-color: #293541;\\n color: #FFF;\\n position: fixed;\\n max-width: 280px;\\n font-size: 14px;\\n padding: 5px 10px;\\n z-index: 2; }\\n.uk-tooltip::before {\\n content: '';\\n position: absolute;\\n display: inline-block;\\n height: 0;\\n width: 0;\\n border: solid 6px transparent; }\\n.uk-tooltip.white {\\n background-color: #FFF;\\n color: #293541; }\\n.uk-tooltip.bottom::before {\\n border-bottom-color: #293541;\\n margin-top: -12px;\\n top: 0; }\\n.uk-tooltip.bottom.white::before {\\n border-bottom-color: #FFF !important; }\\n.uk-tooltip.top::before {\\n border-top-color: #293541;\\n margin-bottom: -12px;\\n bottom: 0; }\\n.uk-tooltip.top.white::before {\\n border-top-color: #FFF !important; }\\n.uk-tooltip.left::before {\\n border-left-color: #293541;\\n margin-right: -12px;\\n right: 0; }\\n.uk-tooltip.right::before {\\n border-right-color: #293541;\\n margin-left: -12px;\\n left: 0; }\\n.uk-label.uk-tooltip-host {\\n position: relative;\\n top: 5px; }\\n.uk-stepper {\\n display: inline-block; }\\n.uk-stepper .uk-progress-title {\\n color: #283541;\\n font-size: 18px;\\n font-weight: 600;\\n padding-top: 7px; }\\n.uk-stepper .uk-progress-step-body {\\n padding-top: 8px;\\n padding-bottom: 20px;\\n display: block; }\\n.uk-stepper .uk-progress-track {\\n list-style-type: none;\\n table-layout: fixed;\\n display: table;\\n width: 100%;\\n margin: 0;\\n padding: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step {\\n display: table-cell;\\n position: relative;\\n text-align: center;\\n padding-top: 27px; }\\n.uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n content: '';\\n background-color: #C9CCCF;\\n position: absolute;\\n top: 8.5px;\\n height: 3px;\\n width: 50%;\\n z-index: -1; }\\n.uk-stepper .uk-progress-track .uk-progress-step::before {\\n left: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step::after {\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step:first-child::before {\\n width: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step:last-child::after {\\n width: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n background-color: #C9CCCF;\\n position: absolute;\\n border-radius: 50%;\\n display: block;\\n margin: 0 auto;\\n height: 20px;\\n width: 20px;\\n padding: 0 4px;\\n top: 0;\\n left: 0;\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap .uk-icon {\\n display: none; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n position: absolute;\\n border-radius: 50%;\\n margin: 0 auto;\\n margin-top: 2px;\\n height: 16px;\\n width: 16px;\\n content: '';\\n left: 0;\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-progress-text {\\n position: relative;\\n color: #5F6871;\\n text-transform: capitalize;\\n font-size: 14px;\\n font-weight: 600; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border: solid 2px #FFF;\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active::before {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active.wip::after {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done .uk-step-icon-wrap {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done .uk-step-icon-wrap .uk-icon {\\n color: #FFF;\\n display: initial; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done::before, .uk-stepper .uk-progress-track .uk-progress-step.done::after {\\n background-color: #1e8257; }\\n@media only screen and (min-width: 768px) {\\n .uk-stepper .uk-progress-track .uk-progress-step {\\n padding-top: 32px; }\\n .uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n top: 11px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n height: 25px;\\n width: 25px;\\n padding: 0 6px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n height: 21px;\\n width: 21px; }\\n .uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border-width: 3px; } }\\n@media only screen and (min-width: 992px) {\\n .uk-stepper .uk-progress-track .uk-progress-step {\\n padding-top: 42px; }\\n .uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n top: 16px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n height: 35px;\\n width: 35px;\\n padding: 0 8px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n height: 31px;\\n width: 31px; }\\n .uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border-width: 4px; } }\\n.uk-btn.icon .uk-icon {\\n height: 1.5em;\\n width: 1.5em; }\\n.uk-btn .uk-icon {\\n height: 1em;\\n width: 1em;\\n font-size: 1em;\\n vertical-align: middle; }\\n.uk-icon {\\n display: inline-block;\\n stroke-width: 0;\\n stroke: currentColor;\\n fill: currentColor;\\n font-size: 1.5em;\\n max-width: 1.5em;\\n max-height: 1.5em; }\\n@font-face {\\n font-family: \\\"bofi-icon\\\";\\n src: url(\\\"/assets/bofi-icon.eot\\\");\\n src: url(\\\"/assets/bofi-icon.eot?#iefix\\\") format(\\\"embedded-opentype\\\"), url(\\\"/assets/bofi-icon.woff\\\") format(\\\"woff\\\"), url(\\\"/assets/bofi-icon.ttf\\\") format(\\\"truetype\\\"), url(\\\"/assets/bofi-icon.svg#bofi-icon\\\") format(\\\"svg\\\");\\n font-weight: normal;\\n font-style: normal; }\\n[data-icon]:before {\\n font-family: \\\"bofi-icon\\\" !important;\\n content: attr(data-icon);\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n[class^=\\\"bofi-\\\"]:before,\\n[class*=\\\" bofi-\\\"]:before {\\n font-family: \\\"bofi-icon\\\" !important;\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n.bofi-recurring:before {\\n content: \\\"\\\\61\\\"; }\\n.bofi-ebill:before {\\n content: \\\"\\\\67\\\"; }\\n.bofi-add:before {\\n content: \\\"\\\\6f\\\"; }\\n.bofi-atm:before {\\n content: \\\"\\\\71\\\"; }\\n.bofi-automatic:before {\\n content: \\\"\\\\72\\\"; }\\n.bofi-bank:before {\\n content: \\\"\\\\73\\\"; }\\n.bofi-bankfees:before {\\n content: \\\"\\\\74\\\"; }\\n.bofi-datepicker:before {\\n content: \\\"\\\\6a\\\"; }\\n.bofi-deposit:before {\\n content: \\\"\\\\77\\\"; }\\n.bofi-edit:before {\\n content: \\\"\\\\78\\\"; }\\n.bofi-faq:before {\\n content: \\\"\\\\7a\\\"; }\\n.bofi-messages:before {\\n content: \\\"\\\\41\\\"; }\\n.bofi-menu:before {\\n content: \\\"\\\\43\\\"; }\\n.bofi-interest:before {\\n content: \\\"\\\\65\\\"; }\\n.bofi-pending:before {\\n content: \\\"\\\\4c\\\"; }\\n.bofi-phone:before {\\n content: \\\"\\\\4d\\\"; }\\n.bofi-print:before {\\n content: \\\"\\\\4f\\\"; }\\n.bofi-refund:before {\\n content: \\\"\\\\52\\\"; }\\n.bofi-remove:before {\\n content: \\\"\\\\53\\\"; }\\n.bofi-success:before {\\n content: \\\"\\\\54\\\"; }\\n.bofi-search:before {\\n content: \\\"\\\\56\\\"; }\\n.bofi-password:before {\\n content: \\\"\\\\6d\\\"; }\\n.bofi-username:before {\\n content: \\\"\\\\75\\\"; }\\n.bofi-gear:before {\\n content: \\\"\\\\68\\\"; }\\n.bofi-contact-list:before {\\n content: \\\"\\\\42\\\"; }\\n.bofi-filter:before {\\n content: \\\"\\\\76\\\"; }\\n.bofi-debit:before {\\n content: \\\"\\\\62\\\"; }\\n.bofi-support:before {\\n content: \\\"\\\\69\\\"; }\\n.bofi-user-settings:before {\\n content: \\\"\\\\70\\\"; }\\n.bofi-accounts:before {\\n content: \\\"\\\\64\\\"; }\\n.bofi-transfer:before {\\n content: \\\"\\\\66\\\"; }\\n.bofi-photo:before {\\n content: \\\"\\\\79\\\"; }\\n.bofi-check-mark:before {\\n content: \\\"\\\\46\\\"; }\\n.bofi-information:before {\\n content: \\\"\\\\49\\\"; }\\n.bofi-chat:before {\\n content: \\\"\\\\4b\\\"; }\\n.bofi-cancel:before {\\n content: \\\"\\\\4e\\\"; }\\n.bofi-send-icon:before {\\n content: \\\"\\\\55\\\"; }\\n.bofi-warning:before {\\n content: \\\"\\\\58\\\"; }\\n.bofi-upload:before {\\n content: \\\"\\\\5a\\\"; }\\n.bofi-thumbsup:before {\\n content: \\\"\\\\30\\\"; }\\n.bofi-pdf:before {\\n content: \\\"\\\\47\\\"; }\\n.bofi-check:before {\\n content: \\\"\\\\48\\\"; }\\n.bofi-star:before {\\n content: \\\"\\\\36\\\"; }\\n.bofi-camera:before {\\n content: \\\"\\\\32\\\"; }\\n.bofi-delivery-method:before {\\n content: \\\"\\\\34\\\"; }\\n.bofi-download:before {\\n content: \\\"\\\\37\\\"; }\\n.bofi-ebill-paybills:before {\\n content: \\\"\\\\38\\\"; }\\n.bofi-flag:before {\\n content: \\\"\\\\22\\\"; }\\n.bofi-alert-history:before {\\n content: \\\"\\\\24\\\"; }\\n.bofi-mobiledeposit:before {\\n content: \\\"\\\\28\\\"; }\\n.bofi-onetime:before {\\n content: \\\"\\\\29\\\"; }\\n.bofi-personal-message:before {\\n content: \\\"\\\\2c\\\"; }\\n.bofi-text-message:before {\\n content: \\\"\\\\4a\\\"; }\\n.bofi-eye-outline:before {\\n content: \\\"\\\\50\\\"; }\\n.bofi-attach:before {\\n content: \\\"\\\\51\\\"; }\\n.bofi-logout:before {\\n content: \\\"\\\\6b\\\"; }\\n.bofi-close:before {\\n content: \\\"\\\\45\\\"; }\\n.bofi-gear-circle:before {\\n content: \\\"\\\\57\\\"; }\\n.bofi-thumbsup-circle:before {\\n content: \\\"\\\\59\\\"; }\\n.bofi-modal-send:before {\\n content: \\\"\\\\6c\\\"; }\\n.bofi-add-1:before {\\n content: \\\"\\\\44\\\"; }\\n.bofi-group:before {\\n content: \\\"\\\\33\\\"; }\\n.bofi-home:before {\\n content: \\\"\\\\35\\\"; }\\n.bofi-personal-info:before {\\n content: \\\"\\\\39\\\"; }\\n.bofi-person-check:before {\\n content: \\\"\\\\21\\\"; }\\n.bofi-person:before {\\n content: \\\"\\\\23\\\"; }\\n.bofi-signer:before {\\n content: \\\"\\\\25\\\"; }\\n.bofi-datepicker-1:before {\\n content: \\\"\\\\26\\\"; }\\n.bofi-refund-1:before {\\n content: \\\"\\\\63\\\"; }\\n.bofi-recurring-1:before {\\n content: \\\"\\\\27\\\"; }\\n.bofi-messages-1:before {\\n content: \\\"\\\\2a\\\"; }\\n.bofi-faq-1:before {\\n content: \\\"\\\\2b\\\"; }\\n.bofi-gear-1:before {\\n content: \\\"\\\\2d\\\"; }\\n.bofi-remove-1:before {\\n content: \\\"\\\\2e\\\"; }\\n.bofi-refund-2:before {\\n content: \\\"\\\\2f\\\"; }\\n.bofi-username-1:before {\\n content: \\\"\\\\3a\\\"; }\\n.bofi-search-1:before {\\n content: \\\"\\\\3b\\\"; }\\n.bofi-password-1:before {\\n content: \\\"\\\\3c\\\"; }\\n.bofi-dashboard:before {\\n content: \\\"\\\\3d\\\"; }\\n.bofi-atm-1:before {\\n content: \\\"\\\\3e\\\"; }\\n.bofi-pending-1:before {\\n content: \\\"\\\\3f\\\"; }\\n.bofi-success-1:before {\\n content: \\\"\\\\40\\\"; }\\n.bofi-phone-1:before {\\n content: \\\"\\\\5b\\\"; }\\n.bofi-print-1:before {\\n content: \\\"\\\\5d\\\"; }\\n.bofi-menu-1:before {\\n content: \\\"\\\\5e\\\"; }\\n.bofi-interest-1:before {\\n content: \\\"\\\\5f\\\"; }\\n.bofi-ic-contact-list:before {\\n content: \\\"\\\\60\\\"; }\\n.bofi-deposit-1:before {\\n content: \\\"\\\\7b\\\"; }\\n.bofi-automatic-1:before {\\n content: \\\"\\\\7c\\\"; }\\n.bofi-automaticpayment:before {\\n content: \\\"\\\\7d\\\"; }\\n.bofi-bank-1:before {\\n content: \\\"\\\\7e\\\"; }\\n.bofi-bankfees-1:before {\\n content: \\\"\\\\5c\\\"; }\\n.bofi-edit-1:before {\\n content: \\\"\\\\e000\\\"; }\\n.bofi-1498195592-icon15-8:before {\\n content: \\\"\\\\6e\\\"; }\\n.bofi-arrow-chevron:before {\\n content: \\\"\\\\31\\\"; }\\n.cdk-overlay-container,\\n.cdk-global-overlay-wrapper {\\n pointer-events: none;\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: 100%; }\\n.cdk-overlay-container {\\n position: fixed;\\n z-index: 1000; }\\n.cdk-global-overlay-wrapper {\\n display: -ms-flexbox;\\n display: flex;\\n position: absolute;\\n z-index: 1000; }\\n.cdk-overlay-pane {\\n position: absolute;\\n pointer-events: auto;\\n box-sizing: border-box;\\n z-index: 1000; }\\n.cdk-overlay-backdrop {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n z-index: 1000;\\n pointer-events: auto;\\n -webkit-tap-highlight-color: transparent;\\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\\n opacity: 0; }\\n.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 1; }\\n.cdk-overlay-dark-backdrop {\\n background: rgba(0, 0, 0, 0.288); }\\n.cdk-overlay-transparent-backdrop, .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 0; }\\n.cdk-global-scrollblock {\\n position: fixed;\\n width: 100%;\\n overflow-y: scroll; }\\n@-webkit-keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0); }\\n 40% {\\n -webkit-transform: scale(1); } }\\n@keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0);\\n transform: scale(0); }\\n 40% {\\n -webkit-transform: scale(1);\\n transform: scale(1); } }\\n@-webkit-keyframes ripple {\\n 5%,\\n 100% {\\n opacity: 0; }\\n 5% {\\n opacity: 1; } }\\n@keyframes ripple {\\n 5%,\\n 100% {\\n opacity: 0; }\\n 5% {\\n opacity: 1; } }\\n.uk-form-control {\\n display: inline-table;\\n cursor: pointer;\\n position: relative;\\n box-sizing: border-box;\\n min-height: 18px; }\\n.uk-form-control__value {\\n display: table-cell;\\n max-width: 0;\\n width: 100%;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n min-height: 48px; }\\n.uk-form-control__addon {\\n padding-left: 10px;\\n display: table-cell;\\n vertical-align: middle; }\\n.alert {\\n position: relative;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n margin-bottom: 20px;\\n margin-top: 20px;\\n border-radius: 0.25em;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: nowrap;\\n flex-wrap: nowrap;\\n height: 46px;\\n color: black;\\n font-size: 16px;\\n -ms-flex-align: center;\\n align-items: center; }\\n.alert .icon {\\n height: 20px;\\n width: 20px;\\n margin-left: 15px;\\n margin-top: -2px; }\\n.alert .close-icon {\\n font-size: 6.2285px;\\n margin-right: 15px; }\\n.alert .child--featured {\\n padding-left: 13px;\\n -ms-flex-positive: 1;\\n flex-grow: 1; }\\n:host {\\n line-height: 20px; }\\n:host .uk-icon-wraper {\\n font-size: 8px;\\n cursor: pointer;\\n display: inline-block; }\\n:host .tooltip-text {\\n color: #1e3860;\\n font-size: 14px;\\n font-weight: 500; }\\n::ng-deep svg {\\n margin-bottom: -4px; }\\n::ng-deep .axos-tooltip {\\n background-color: #FFF;\\n border: solid 1px #1e3860;\\n color: #1e3860 !important;\\n padding: 6px;\\n font-size: 11px; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy90b29sdGlwL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcbWl4aW5zXFxoZWxwZXJzXFxfbGluZWFyLWdyYWRpZW50LnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL3Rvb2x0aXAvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxnbG9iYWxcXF9nbG9iYWwuc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy90b29sdGlwL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcZ3JpZFxcX2NvbnRhaW5lci5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL3Rvb2x0aXAvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxncmlkXFxfcm93LnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvdG9vbHRpcC9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXHV0aWxpdGllc1xcX3Jlc2V0cy5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL3Rvb2x0aXAvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFx1dGlsaXRpZXNcXF9zaGFkb3cuc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy90b29sdGlwL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcbmF2c1xcX2Jhc2UtbmF2cy5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL3Rvb2x0aXAvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFx0b29sdGlwXFxfdG9vbHRpcC5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL3Rvb2x0aXAvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxzdGVwcGVyXFxfc3RlcHBlci5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL3Rvb2x0aXAvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxfdmFyaWFibGVzLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvdG9vbHRpcC9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGJyYW5kc1xcX2NvbG9ycy5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL3Rvb2x0aXAvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxncmlkXFxfbWVkaWEtcXVlcmllcy5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL3Rvb2x0aXAvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxpY29uc1xcX2ljb25zLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvdG9vbHRpcC9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXGljb25zXFxfZm9udC1pY29uLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvdG9vbHRpcC9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXG92ZXJsYXlcXF9vdmVybGF5LnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvdG9vbHRpcC9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXGxvYWRlcnNcXF9kb3QtbG9hZGVyLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvdG9vbHRpcC9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXG1peGluc1xcX2FuaW1hdGlvbi5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL3Rvb2x0aXAvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxyYWRpby1ncm91cFxcZWxlbWVudC5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL3Rvb2x0aXAvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxmb3JtLWZpZWxkc1xcX2Zvcm1fY29udHJvbC5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL3Rvb2x0aXAvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxhbGVydFxcX2FsZXJ0LnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvdG9vbHRpcC9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL3NyY1xcYXBwXFxlbnJvbGxtZW50LWNvbW1vblxcY29tcG9uZW50c1xcdG9vbHRpcFxcdG9vbHRpcC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy90b29sdGlwL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcYnJhbmRzXFxheG9zXFxfY29sb3JzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztDQ0dDO0FDcUNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0RmQztBRXhCRDs7RUFFSSxjQUFjLEVBQUE7QUFHbEI7RUFDSSxlQUFlLEVBQUE7QUNQbkI7RUFDSSxvQkFBYTtFQUFiLGFBQWE7RUFDYixrQkFBYztNQUFkLGNBQWM7RUFDZCx1QkFBbUI7TUFBbkIsbUJBQW1CO0VBQ25CLG1CQUFlO01BQWYsZUFBZSxFQUFBO0FBSm5CO0lBTVEsK0JBQTJCO1FBQTNCLDJCQUEyQixFQUFBO0FBS25DO0VBQVcsMkJBQW9CO0VBQXBCLG9CQUFvQixFQUFBO0FDWC9CO0VBQ0ksVUFBUyxFQUFBO0FBRWI7RUFDSSxTQUFRLEVBQUE7QUFFWjtFQUVRLFlBQVk7RUFDWiw2QkFBNkI7RUFFN0Isb0JBQW9CO0VBQ3BCLFlBQVk7RUFDWixhQUFhO0VBQ2IsVUFBVSxFQUFBO0FBUmxCO0VBV1EsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsaUJBQWlCLEVBQUE7QUNuQnpCO0VBQ0UsMkJBQTJCLEVBQUE7QUFFN0I7RUFDRSwrR0FBK0csRUFBQTtBQUVqSDtFQUNFLCtHQUErRyxFQUFBO0FBRWpIO0VBQ0UsZ0hBQWdILEVBQUE7QUFFbEg7RUFDRSxpSEFBaUgsRUFBQTtBQUVuSDtFQUNFLHFIQUFxSCxFQUFBO0FBRXZIO0VBQ0UsdUhBQXVILEVBQUE7QUNwQnpI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LGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGdCQUFnQixFQUFBO0FBRWxCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FDalV0Qjs7RUFHRSxvQkFBb0I7RUFHcEIsTUFBTTtFQUNOLE9BQU87RUFDUCxZQUFZO0VBQ1osV0FBVyxFQUFBO0FBSWI7RUFDRSxlQUFlO0VBQ2YsYUxzRWtDLEVBQUE7QUsvRHBDO0VBQ0Usb0JBQWE7RUFBYixhQUFhO0VBQ2Isa0JBQWtCO0VBQ2xCLGFMNkR3QixFQUFBO0FLekQxQjtFQUNFLGtCQUFrQjtFQUNsQixvQkFBb0I7RUFDcEIsc0JBQXNCO0VBQ3RCLGFMcUR3QixFQUFBO0FLbEQxQjtFQUVFLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sU0FBUztFQUNULE9BQU87RUFDUCxRQUFRO0VBRVIsYUwyQ2lDO0VLMUNqQyxvQkFBb0I7RUFDcEIsd0NBQXdDO0VBQ3hDLDBETCtDbUU7RUs3Q25FLFVBQVUsRUFBQTtBQWJaO0lBZ0JJLFVBQVUsRUFBQTtBQUlkO0VBQ0UsZ0NMaUN5RCxFQUFBO0FLOUIzRDtFQU9JLFVBQVUsRUFBQTtBQUtkO0VBQ0UsZUFBZTtFQUtmLFdBQVc7RUFLWCxrQkFBa0IsRUFBQTtBQ2xGcEI7RUFDSTtJQUFnQiwyQkFBMkIsRUFBQTtFQUMzQztJQUFNLDJCQUE2QixFQUFBLEVBQUE7QUFHdkM7RUFDSTtJQUNJLDJCQUEyQjtJQUMzQixtQkFBbUIsRUFBQTtFQUNyQjtJQUNFLDJCQUE2QjtJQUM3QixtQkFBcUIsRUFBQSxFQUFBO0FDR3pCO0VDVEE7O0lBQ08sVUFBVSxFQUFBO0VBQ2pCO0lBQUssVUFBVSxFQUFBLEVBQUE7QURnQmY7RUNsQkE7O0lBQ08sVUFBVSxFQUFBO0VBQ2pCO0lBQUssVUFBVSxFQUFBLEVBQUE7QUNSbkI7RUFDSSxxQkFBcUI7RUFDckIsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQixzQkFBc0I7RUFDdEIsZ0JBQWdCLEVBQUE7QUFFaEI7SUFDSSxtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQixnQkFBZ0IsRUFBQTtBQUdwQjtJQUNJLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsc0JBQXNCLEVBQUE7QUNwQjlCO0VBQ0Usa0JBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQixvQkFBb0I7RUFDcEIsbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQixxQkFBcUI7RUFDckIsb0JBQWE7RUFBYixhQUFhO0VBQ2IscUJBQWlCO01BQWpCLGlCQUFpQjtFQUNqQixZQUFZO0VBQ1osWUFBWTtFQUNaLGVBQWU7RUFDZixzQkFBbUI7TUFBbkIsbUJBQW1CLEVBQUE7QUFackI7SUFlSSxZQUFZO0lBQ1osV0FBVztJQUNYLGlCQUFpQjtJQUNqQixnQkFBZ0IsRUFBQTtBQWxCcEI7SUFzQkksbUJBQW1CO0lBQ25CLGtCQUFrQixFQUFBO0FBdkJ0QjtJQTJCSSxrQkFBa0I7SUFDbEIsb0JBQVk7UUFBWixZQUFZLEVBQUE7QUMxQmhCO0VBQ0UsaUJBQWlCLEVBQUE7QUFEbkI7SUFHSSxjQUFjO0lBQ2QsZUFBZTtJQUNmLHFCQUFxQixFQUFBO0FBTHpCO0lBU00sY0NWMkI7SURXM0IsZUFBZTtJQUNmLGdCQUFnQixFQUFBO0FBS3RCO0VBRUksbUJBQW1CLEVBQUE7QUFGdkI7RUFLSSxzQkFBc0I7RUFDdEIseUJDdkI2QjtFRHdCN0IseUJBQWdDO0VBQ2hDLFlBQVk7RUFDWixlQUFlLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4qICBIZWxwZXIgbWl4aW4gdG8gY3JlYXRlIGEgbGluZWFyLWdyYWRpZW50XHJcbipcclxuKi9cclxuQG1peGluIGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3JsaXN0KSB7XHJcbiAgICBAaWYgbm90IGlzLWRpcmVjdGlvbigkZGlyZWN0aW9uKSB7XHJcbiAgICAgICAgJGNvbG9ybGlzdDogJGRpcmVjdGlvbiwgJGNvbG9ybGlzdDtcclxuICAgICAgICAkZGlyZWN0aW9uOiAwZGVnO1xyXG4gICAgfVxyXG4gICAgYmFja2dyb3VuZDogbnRoKG50aCgkY29sb3JsaXN0LCAxKSwgMSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWdhY3ktZGlyZWN0aW9uKCRkaXJlY3Rpb24pLCAkY29sb3JsaXN0KTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3JsaXN0KTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGlzLWRpcmVjdGlvbigkdmFsdWUpIHtcclxuICAgICRpcy1rZXl3b3JkOiBpbmRleCgodG8gdG9wLCB0byB0b3AgcmlnaHQsIHRvIHJpZ2h0IHRvcCwgdG8gcmlnaHQsIHRvIGJvdHRvbSByaWdodCwgdG8gcmlnaHQgYm90dG9tLCB0byBib3R0b20sIHRvIGJvdHRvbSBsZWZ0LCB0byBsZWZ0IGJvdHRvbSwgdG8gbGVmdCwgdG8gbGVmdCB0b3AsIHRvIHRvcCBsZWZ0KSwgJHZhbHVlKTtcclxuICAgICRpcy1hbmdsZTogdHlwZS1vZigkdmFsdWUpPT0nbnVtYmVyJyBhbmQgaW5kZXgoJ2RlZycgJ2dyYWQnICd0dXJuJyAncmFkJywgdW5pdCgkdmFsdWUpKTtcclxuICAgIEByZXR1cm4gJGlzLWtleXdvcmQgb3IgJGlzLWFuZ2xlO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gbGVnYWN5LWRpcmVjdGlvbigkdmFsdWUpIHtcclxuICAgIEBpZiBpcy1kaXJlY3Rpb24oJHZhbHVlKT09ZmFsc2Uge1xyXG4gICAgICAgIEBlcnJvciBcIkNhbm5vdCBjb252ZXJ0IGAjeyR2YWx1ZX1gIHRvIGxlZ2FjeSBzeW50YXggYmVjYXVzZSBpdCBkb2Vzbid0IHNlZW0gdG8gYmUgYSBkaXJlY3Rpb24uXCI7XHJcbiAgICB9XHJcbiAgICAkY29udmVyc2lvbi1tYXA6ICggdG8gdG9wOiBib3R0b20sIHRvIHRvcCByaWdodDogYm90dG9tIGxlZnQsIHRvIHJpZ2h0IHRvcDogbGVmdCBib3R0b20sIHRvIHJpZ2h0OiBsZWZ0LCB0byBib3R0b20gcmlnaHQ6IHRvcCBsZWZ0LCB0byByaWdodCBib3R0b206IGxlZnQgdG9wLCB0byBib3R0b206IHRvcCwgdG8gYm90dG9tIGxlZnQ6IHRvcCByaWdodCwgdG8gbGVmdCBib3R0b206IHJpZ2h0IHRvcCwgdG8gbGVmdDogcmlnaHQsIHRvIGxlZnQgdG9wOiByaWdodCBib3R0b20sIHRvIHRvcCBsZWZ0OiBib3R0b20gcmlnaHQpO1xyXG4gICAgQGlmIG1hcC1oYXMta2V5KCRjb252ZXJzaW9uLW1hcCwgJHZhbHVlKSB7XHJcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRjb252ZXJzaW9uLW1hcCwgJHZhbHVlKTtcclxuICAgIH1cclxuICAgIEByZXR1cm4gOTBkZWcgLSAkdmFsdWU7XHJcbn0iLCIvKipcclxuKiAgSGVscGVyIG1peGluIHRvIGNyZWF0ZSBhIGxpbmVhci1ncmFkaWVudFxyXG4qXHJcbiovXG4vKlxyXG5odG1sLFxyXG5ib2R5IHtcclxuICAgIGZvbnQtZmFtaWx5OiAnTGlicmUgRnJhbmtsaW4nLCAnSGVsdmV0aWNhJywgc2Fucy1zZXJpZjtcclxuICAgIC8vIGNvbG9yOiB0aGVtaWZ5KHRleHQpO1xyXG59XHJcblxyXG5cclxuXHJcbmEge1xyXG4gICAgY29sb3I6IHRoZW1pZnkobGluayk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4ucm91bmQtaW1hZ2Uge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG59XHJcblxyXG5cclxuKi9cbi5mY29udGFpbmVyLWZsdWlkLFxuLmZjb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uZmNvbnRhaW5lci1mbHVpZCB7XG4gIHBhZGRpbmc6IDAgMnJlbTsgfVxuXG4uZnJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmZyb3cucmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi5maW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cblxuLnJlc2V0LXBhZGRpbmcge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5yZXNldC1tYXJnaW4ge1xuICBtYXJnaW46IDA7IH1cblxuLnVrLWJ0bi5ub25lIHtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgbWluLWhlaWdodDogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4udWstYnRuLmljb24ge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4udWstc2hhZG93LTAge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnVrLXNoYWRvdy0xIHtcbiAgYm94LXNoYWRvdzogMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi51ay1zaGFkb3ctMS1oYWxmIHtcbiAgYm94LXNoYWRvdzogMCAzcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggN3B4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggMXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi51ay1zaGFkb3ctMiB7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLnVrLXNoYWRvdy0zIHtcbiAgYm94LXNoYWRvdzogMCA2cHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDE4cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDNweCA1cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLnVrLXNoYWRvdy00IHtcbiAgYm94LXNoYWRvdzogMCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCA1cHggNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi51ay1zaGFkb3ctNSB7XG4gIGJveC1zaGFkb3c6IDAgMTZweCAyNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDZweCAzMHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDhweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi51ay1uYXYge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgLnVrLW5hdiAudWstbmF2LWl0ZW0ge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDBweDsgfVxuICAgIC51ay1uYXYgLnVrLW5hdi1pdGVtOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7IH1cblxuLnVrLXRvb2x0aXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkzNTQxO1xuICBjb2xvcjogI0ZGRjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBtYXgtd2lkdGg6IDI4MHB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICB6LWluZGV4OiAyOyB9XG4gIC51ay10b29sdGlwOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGJvcmRlcjogc29saWQgNnB4IHRyYW5zcGFyZW50OyB9XG4gIC51ay10b29sdGlwLndoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgIGNvbG9yOiAjMjkzNTQxOyB9XG4gIC51ay10b29sdGlwLmJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMjkzNTQxO1xuICAgIG1hcmdpbi10b3A6IC0xMnB4O1xuICAgIHRvcDogMDsgfVxuICAudWstdG9vbHRpcC5ib3R0b20ud2hpdGU6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0ZGRiAhaW1wb3J0YW50OyB9XG4gIC51ay10b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMjkzNTQxO1xuICAgIG1hcmdpbi1ib3R0b206IC0xMnB4O1xuICAgIGJvdHRvbTogMDsgfVxuICAudWstdG9vbHRpcC50b3Aud2hpdGU6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI0ZGRiAhaW1wb3J0YW50OyB9XG4gIC51ay10b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICMyOTM1NDE7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTJweDtcbiAgICByaWdodDogMDsgfVxuICAudWstdG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICMyOTM1NDE7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMnB4O1xuICAgIGxlZnQ6IDA7IH1cblxuLnVrLWxhYmVsLnVrLXRvb2x0aXAtaG9zdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1cHg7IH1cblxuLnVrLXN0ZXBwZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRpdGxlIHtcbiAgICBjb2xvcjogIzI4MzU0MTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nLXRvcDogN3B4OyB9XG4gIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy1zdGVwLWJvZHkge1xuICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZy10b3A6IDI3cHg7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YmVmb3JlLCAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNDOUNDQ0Y7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA4LjVweDtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YWZ0ZXIge1xuICAgICAgICByaWdodDogMDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogMDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzlDQ0NGO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDRweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwIC51ay1pY29uIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXA6OmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstcHJvZ3Jlc3MtdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICM1RjY4NzE7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmUgLnVrLXN0ZXAtaWNvbi13cmFwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlODI1NzsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuYWN0aXZlIC51ay1zdGVwLWljb24td3JhcDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDJweCAjRkZGO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmU6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmUud2lwOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5kb25lIC51ay1zdGVwLWljb24td3JhcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmRvbmUgLnVrLXN0ZXAtaWNvbi13cmFwIC51ay1pY29uIHtcbiAgICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgICBkaXNwbGF5OiBpbml0aWFsOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuZG9uZTo6YmVmb3JlLCAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuZG9uZTo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4MjU3OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDMycHg7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjpiZWZvcmUsIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMTFweDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcbiAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgcGFkZGluZzogMCA2cHg7IH1cbiAgICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwOjpiZWZvcmUge1xuICAgICAgICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgICAgICAgICAgd2lkdGg6IDIxcHg7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmFjdGl2ZSAudWstc3RlcC1pY29uLXdyYXA6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAzcHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0MnB4OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YmVmb3JlLCAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDE2cHg7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcCB7XG4gICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgOHB4OyB9XG4gICAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogMzFweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMXB4OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmUgLnVrLXN0ZXAtaWNvbi13cmFwOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci13aWR0aDogNHB4OyB9IH1cblxuLnVrLWJ0bi5pY29uIC51ay1pY29uIHtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgd2lkdGg6IDEuNWVtOyB9XG5cbi51ay1idG4gLnVrLWljb24ge1xuICBoZWlnaHQ6IDFlbTtcbiAgd2lkdGg6IDFlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLnVrLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgbWF4LXdpZHRoOiAxLjVlbTtcbiAgbWF4LWhlaWdodDogMS41ZW07IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiO1xuICBzcmM6IHVybChcIi9hc3NldHMvYm9maS1pY29uLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi9hc3NldHMvYm9maS1pY29uLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24uc3ZnI2JvZmktaWNvblwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5bZGF0YS1pY29uXTpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJib2ZpLWljb25cIiAhaW1wb3J0YW50O1xuICBjb250ZW50OiBhdHRyKGRhdGEtaWNvbik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuW2NsYXNzXj1cImJvZmktXCJdOmJlZm9yZSxcbltjbGFzcyo9XCIgYm9maS1cIl06YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiYm9maS1pY29uXCIgIWltcG9ydGFudDtcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4uYm9maS1yZWN1cnJpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDYxXCI7IH1cblxuLmJvZmktZWJpbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY3XCI7IH1cblxuLmJvZmktYWRkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2ZlwiOyB9XG5cbi5ib2ZpLWF0bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzFcIjsgfVxuXG4uYm9maS1hdXRvbWF0aWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDcyXCI7IH1cblxuLmJvZmktYmFuazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzNcIjsgfVxuXG4uYm9maS1iYW5rZmVlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzRcIjsgfVxuXG4uYm9maS1kYXRlcGlja2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2YVwiOyB9XG5cbi5ib2ZpLWRlcG9zaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc3XCI7IH1cblxuLmJvZmktZWRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzhcIjsgfVxuXG4uYm9maS1mYXE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDdhXCI7IH1cblxuLmJvZmktbWVzc2FnZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQxXCI7IH1cblxuLmJvZmktbWVudTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDNcIjsgfVxuXG4uYm9maS1pbnRlcmVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjVcIjsgfVxuXG4uYm9maS1wZW5kaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0Y1wiOyB9XG5cbi5ib2ZpLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0ZFwiOyB9XG5cbi5ib2ZpLXByaW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0ZlwiOyB9XG5cbi5ib2ZpLXJlZnVuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTJcIjsgfVxuXG4uYm9maS1yZW1vdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDUzXCI7IH1cblxuLmJvZmktc3VjY2VzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTRcIjsgfVxuXG4uYm9maS1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU2XCI7IH1cblxuLmJvZmktcGFzc3dvcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZkXCI7IH1cblxuLmJvZmktdXNlcm5hbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc1XCI7IH1cblxuLmJvZmktZ2VhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjhcIjsgfVxuXG4uYm9maS1jb250YWN0LWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQyXCI7IH1cblxuLmJvZmktZmlsdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3NlwiOyB9XG5cbi5ib2ZpLWRlYml0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2MlwiOyB9XG5cbi5ib2ZpLXN1cHBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY5XCI7IH1cblxuLmJvZmktdXNlci1zZXR0aW5nczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzBcIjsgfVxuXG4uYm9maS1hY2NvdW50czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjRcIjsgfVxuXG4uYm9maS10cmFuc2ZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjZcIjsgfVxuXG4uYm9maS1waG90bzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzlcIjsgfVxuXG4uYm9maS1jaGVjay1tYXJrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0NlwiOyB9XG5cbi5ib2ZpLWluZm9ybWF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0OVwiOyB9XG5cbi5ib2ZpLWNoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRiXCI7IH1cblxuLmJvZmktY2FuY2VsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0ZVwiOyB9XG5cbi5ib2ZpLXNlbmQtaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTVcIjsgfVxuXG4uYm9maS13YXJuaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1OFwiOyB9XG5cbi5ib2ZpLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNWFcIjsgfVxuXG4uYm9maS10aHVtYnN1cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzBcIjsgfVxuXG4uYm9maS1wZGY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ3XCI7IH1cblxuLmJvZmktY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ4XCI7IH1cblxuLmJvZmktc3RhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzZcIjsgfVxuXG4uYm9maS1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDMyXCI7IH1cblxuLmJvZmktZGVsaXZlcnktbWV0aG9kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzNFwiOyB9XG5cbi5ib2ZpLWRvd25sb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzN1wiOyB9XG5cbi5ib2ZpLWViaWxsLXBheWJpbGxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzOFwiOyB9XG5cbi5ib2ZpLWZsYWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIyXCI7IH1cblxuLmJvZmktYWxlcnQtaGlzdG9yeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjRcIjsgfVxuXG4uYm9maS1tb2JpbGVkZXBvc2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyOFwiOyB9XG5cbi5ib2ZpLW9uZXRpbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI5XCI7IH1cblxuLmJvZmktcGVyc29uYWwtbWVzc2FnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMmNcIjsgfVxuXG4uYm9maS10ZXh0LW1lc3NhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRhXCI7IH1cblxuLmJvZmktZXllLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDUwXCI7IH1cblxuLmJvZmktYXR0YWNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1MVwiOyB9XG5cbi5ib2ZpLWxvZ291dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmJcIjsgfVxuXG4uYm9maS1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDVcIjsgfVxuXG4uYm9maS1nZWFyLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTdcIjsgfVxuXG4uYm9maS10aHVtYnN1cC1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU5XCI7IH1cblxuLmJvZmktbW9kYWwtc2VuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmNcIjsgfVxuXG4uYm9maS1hZGQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDRcIjsgfVxuXG4uYm9maS1ncm91cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzNcIjsgfVxuXG4uYm9maS1ob21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzNVwiOyB9XG5cbi5ib2ZpLXBlcnNvbmFsLWluZm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDM5XCI7IH1cblxuLmJvZmktcGVyc29uLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMVwiOyB9XG5cbi5ib2ZpLXBlcnNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjNcIjsgfVxuXG4uYm9maS1zaWduZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI1XCI7IH1cblxuLmJvZmktZGF0ZXBpY2tlci0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyNlwiOyB9XG5cbi5ib2ZpLXJlZnVuZC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2M1wiOyB9XG5cbi5ib2ZpLXJlY3VycmluZy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyN1wiOyB9XG5cbi5ib2ZpLW1lc3NhZ2VzLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDJhXCI7IH1cblxuLmJvZmktZmFxLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDJiXCI7IH1cblxuLmJvZmktZ2Vhci0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyZFwiOyB9XG5cbi5ib2ZpLXJlbW92ZS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyZVwiOyB9XG5cbi5ib2ZpLXJlZnVuZC0yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyZlwiOyB9XG5cbi5ib2ZpLXVzZXJuYW1lLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNhXCI7IH1cblxuLmJvZmktc2VhcmNoLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNiXCI7IH1cblxuLmJvZmktcGFzc3dvcmQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcM2NcIjsgfVxuXG4uYm9maS1kYXNoYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNkXCI7IH1cblxuLmJvZmktYXRtLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNlXCI7IH1cblxuLmJvZmktcGVuZGluZy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzZlwiOyB9XG5cbi5ib2ZpLXN1Y2Nlc3MtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDBcIjsgfVxuXG4uYm9maS1waG9uZS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1YlwiOyB9XG5cbi5ib2ZpLXByaW50LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDVkXCI7IH1cblxuLmJvZmktbWVudS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1ZVwiOyB9XG5cbi5ib2ZpLWludGVyZXN0LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDVmXCI7IH1cblxuLmJvZmktaWMtY29udGFjdC1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2MFwiOyB9XG5cbi5ib2ZpLWRlcG9zaXQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2JcIjsgfVxuXG4uYm9maS1hdXRvbWF0aWMtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2NcIjsgfVxuXG4uYm9maS1hdXRvbWF0aWNwYXltZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3ZFwiOyB9XG5cbi5ib2ZpLWJhbmstMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2VcIjsgfVxuXG4uYm9maS1iYW5rZmVlcy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1Y1wiOyB9XG5cbi5ib2ZpLWVkaXQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwMFwiOyB9XG5cbi5ib2ZpLTE0OTgxOTU1OTItaWNvbjE1LTg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZlXCI7IH1cblxuLmJvZmktYXJyb3ctY2hldnJvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzFcIjsgfVxuXG4uY2RrLW92ZXJsYXktY29udGFpbmVyLFxuLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2RrLW92ZXJsYXktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDAwOyB9XG5cbi5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAwMDsgfVxuXG4uY2RrLW92ZXJsYXktcGFuZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHotaW5kZXg6IDEwMDA7IH1cblxuLmNkay1vdmVybGF5LWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO1xuICBvcGFjaXR5OiAwOyB9XG4gIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI4OCk7IH1cblxuLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmNkay1nbG9iYWwtc2Nyb2xsYmxvY2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNrLWJvdW5jZWRlbGF5IHtcbiAgMCUsIDgwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuQGtleWZyYW1lcyBzay1ib3VuY2VkZWxheSB7XG4gIDAlLCA4MCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcmlwcGxlIHtcbiAgNSUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNSUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgcmlwcGxlIHtcbiAgNSUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNSUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALW8ta2V5ZnJhbWVzIHJpcHBsZSB7XG4gIDUlLFxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByaXBwbGUge1xuICA1JSxcbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1JSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi51ay1mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4taGVpZ2h0OiAxOHB4OyB9XG4gIC51ay1mb3JtLWNvbnRyb2xfX3ZhbHVlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIG1heC13aWR0aDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbWluLWhlaWdodDogNDhweDsgfVxuICAudWstZm9ybS1jb250cm9sX19hZGRvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uYWxlcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgaGVpZ2h0OiA0NnB4O1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuYWxlcnQgLmljb24ge1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4OyB9XG4gIC5hbGVydCAuY2xvc2UtaWNvbiB7XG4gICAgZm9udC1zaXplOiA2LjIyODVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgLmFsZXJ0IC5jaGlsZC0tZmVhdHVyZWQge1xuICAgIHBhZGRpbmctbGVmdDogMTNweDtcbiAgICBmbGV4LWdyb3c6IDE7IH1cblxuOmhvc3Qge1xuICBsaW5lLWhlaWdodDogMjBweDsgfVxuICA6aG9zdCAudWstaWNvbi13cmFwZXIge1xuICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgOmhvc3QgLnRvb2x0aXAtdGV4dCB7XG4gICAgY29sb3I6ICMxZTM4NjA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuOjpuZy1kZWVwIHN2ZyB7XG4gIG1hcmdpbi1ib3R0b206IC00cHg7IH1cblxuOjpuZy1kZWVwIC5heG9zLXRvb2x0aXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICBib3JkZXI6IHNvbGlkIDFweCAjMWUzODYwO1xuICBjb2xvcjogIzFlMzg2MCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiA2cHg7XG4gIGZvbnQtc2l6ZTogMTFweDsgfVxuIiwiLy8gQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1MaWJyZStGcmFua2xpbjozMDAsNDAwLDUwMCw2MDAsNzAwJyk7XHJcbkBpbXBvcnQgJy4vX2ZvbnQuc2Nzcyc7XHJcbkBpbXBvcnQgJy4vX3NyLW9ubHkuc2Nzcyc7XHJcblxyXG5AbWl4aW4gdWstZ2xvYmFsKCR1ay10aGVtZSkge1xyXG4gICAgJGZvbnQtY29uZmlnOiBtYXAtZ2V0KCR1ay10aGVtZSwgZm9udHMpO1xyXG4gICAgJGZvbnQtZmFtaWxpZXM6IG1hcC1nZXQoJGZvbnQtY29uZmlnLCBmYW1pbGllcyk7XHJcbiAgICAkZm9udC1zaXplczogbWFwLWdldCgkZm9udC1jb25maWcsIHNpemVzKTtcclxuXHJcbiAgICBAZWFjaCAkZm9udC1mYW1pbHksICR2YWx1ZSBpbiAkZm9udC1mYW1pbGllcyB7XHJcbiAgICAgICAgJGZvbnQtdXJsOiBtYXAtZ2V0KCR2YWx1ZSwgdXJsKTtcclxuICAgICAgICBAaWYgJGZvbnQtdXJsIHtcclxuICAgICAgICAgICAgQGltcG9ydCB1cmwoJGZvbnQtdXJsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJHByaW1hcnktZm9udC1mYW1pbGl5OiBtYXAtZ2V0KCRmb250LWZhbWlsaWVzLCBwcmltYXJ5KTtcclxuXHJcbiAgICBodG1sIHsgXHJcbiAgICAgICAgYm9keSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJHByaW1hcnktZm9udC1mYW1pbGl5LCBuYW1lKSwgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHByaW1hcnktZm9udC1mYW1pbGl5LCBjb2xvcik7XHJcbiAgICAgICAgICAgIEBjb250ZW50XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgxLFxyXG4gICAgICAgIGgyLFxyXG4gICAgICAgIGgzLFxyXG4gICAgICAgIGg0LFxyXG4gICAgICAgIGg1LFxyXG4gICAgICAgIGg2IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdWstZm9udHMoJGZvbnQtc2l6ZXMpO1xyXG4gICAgICAgIC5zci1vbmx5eyBAaW5jbHVkZSBzci1vbmx5KCk7IH1cclxuICAgIH1cclxufVxyXG5cclxuLypcclxuaHRtbCxcclxuYm9keSB7XHJcbiAgICBmb250LWZhbWlseTogJ0xpYnJlIEZyYW5rbGluJywgJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XHJcbiAgICAvLyBjb2xvcjogdGhlbWlmeSh0ZXh0KTtcclxufVxyXG5cclxuXHJcblxyXG5hIHtcclxuICAgIGNvbG9yOiB0aGVtaWZ5KGxpbmspO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLnJvdW5kLWltYWdlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxufVxyXG5cclxuXHJcbiovIiwiJGNvbnRhaW5lci13aWR0aDooc206NDlyZW0sIG1kOjY1cmVtLCBsZzo3NnJlbSk7XHJcbi5mY29udGFpbmVyLWZsdWlkLFxyXG4uZmNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLmZjb250YWluZXItZmx1aWQge1xyXG4gICAgcGFkZGluZzogMCAycmVtO1xyXG59XHJcblxyXG5AbWl4aW4gY29udGFpbmVyKCRrZXkpIHtcclxuICAgIEBpZigka2V5PT0nbGcnKSB7XHJcbiAgICAgICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRjb250YWluZXItd2lkdGgsICRrZXkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmKCRrZXk9PSdtZCcpIHtcclxuICAgICAgICAuY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGNvbnRhaW5lci13aWR0aCwgJGtleSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYoJGtleT09J3NtJykge1xyXG4gICAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkY29udGFpbmVyLXdpZHRoLCAka2V5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIuZnJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleDogMCAxIGF1dG87XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgJi5yZXZlcnNlIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uZmlubGluZSB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyB9IiwiLnJlc2V0LXBhZGRpbmd7XHJcbiAgICBwYWRkaW5nOjA7XHJcbn1cclxuLnJlc2V0LW1hcmdpbntcclxuICAgIG1hcmdpbjowO1xyXG59XHJcbi51ay1idG4ge1xyXG4gICAgJi5ub25lIHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgLy9vdXRsaW5lOiBub25lO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICBtaW4taGVpZ2h0OiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICAmLmljb24ge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgfVxyXG4gIH1cclxuICAiLCIvLyBaLWxldmVsc1xyXG4uI3skcHJlZml4fS1zaGFkb3ctMCB7XHJcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcbi4jeyRwcmVmaXh9LXNoYWRvdy0xIHtcclxuICBib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTEtaGFsZiB7XHJcbiAgYm94LXNoYWRvdzogMCAzcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggN3B4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggMXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG59XHJcbi4jeyRwcmVmaXh9LXNoYWRvdy0yIHtcclxuICBib3gtc2hhZG93OiAwIDRweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG59XHJcbi4jeyRwcmVmaXh9LXNoYWRvdy0zIHtcclxuICBib3gtc2hhZG93OiAwIDZweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggMThweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDVweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxufVxyXG4uI3skcHJlZml4fS1zaGFkb3ctNCB7XHJcbiAgYm94LXNoYWRvdzogMCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCA1cHggNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG59XHJcbi4jeyRwcmVmaXh9LXNoYWRvdy01IHtcclxuICBib3gtc2hhZG93OiAwIDE2cHggMjRweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCA2cHggMzBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCA4cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxufSIsIi51ay1uYXZ7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4gICAgLnVrLW5hdi1pdGVte1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46IDBweDtcclxuICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIiR0b29sdGlwLWhlaWdodDogMjhweDtcclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogIzI5MzU0MTtcclxuJHRvb2x0aXAtcGFkZGluZzogNXB4IDEwcHg7XHJcbiR0b29sdGlwLWFycm93OiA2cHg7XHJcblxyXG4udWstdG9vbHRpcCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgY29sb3I6ICNGRkY7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBtYXgtd2lkdGg6IDI4MHB4O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcclxuICAgIHotaW5kZXg6IDI7XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBib3JkZXI6IHNvbGlkICR0b29sdGlwLWFycm93IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG5cclxuICAgICYud2hpdGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XHJcbiAgICAgICAgY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgJi5ib3R0b20ge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICgtMiAqICR0b29sdGlwLWFycm93KTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLndoaXRlOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiNGRkYgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi50b3Age1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICgtMiAqICR0b29sdGlwLWFycm93KTtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLndoaXRlOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubGVmdCB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogKC0yICogJHRvb2x0aXAtYXJyb3cpO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5yaWdodCB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogKC0yICogJHRvb2x0aXAtYXJyb3cpO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnVrLWxhYmVsIHtcclxuICAgICYudWstdG9vbHRpcC1ob3N0IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiA1cHg7XHJcbiAgICB9XHJcbn1cclxuIiwiJHVrLXByb2dyZXNzLWJhci1sYWJsZS1zcGFjZTogN3B4O1xyXG4kdWstcHJvZ3Jlc3MtYmFyLWxpbmUtaGVpZ2h0OiAzcHg7XHJcbiRyaXBwbGUtc2l6ZTogKHhzOiAyMHB4LCBzbTogMjVweCwgbWQ6IDM1cHgpO1xyXG4kcmlwcGxlLWJvcmRlci13aWR0aDogMnB4O1xyXG5cclxuLnVrLXN0ZXBwZXJ7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAudWstcHJvZ3Jlc3MtdGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiB0aGVtaWZ5KHRleHQsICR0aGVtZSk7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDdweDtcclxuICAgIH1cclxuICAgIC51ay1wcm9ncmVzcy1zdGVwLWJvZHl7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDhweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAudWstcHJvZ3Jlc3MtdHJhY2sge1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICAudWstcHJvZ3Jlc3Mtc3RlcCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkcmlwcGxlLXNpemUsICd4cycpICsgJHVrLXByb2dyZXNzLWJhci1sYWJsZS1zcGFjZTtcclxuXHJcbiAgICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KGdyYXksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IChtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3hzJykgLSAkdWstcHJvZ3Jlc3MtYmFyLWxpbmUtaGVpZ2h0KSAvMjtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJHVrLXByb2dyZXNzLWJhci1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjpiZWZvcmUgeyBsZWZ0OiAwOyB9XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHsgcmlnaHQ6IDA7IH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQgeyAmOjpiZWZvcmUgeyB3aWR0aDogMDsgfX1cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHsgJjo6YWZ0ZXIgeyB3aWR0aDogMDsgfX1cclxuXHJcbiAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KGdyYXksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3hzJyk7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLXNpemUsICd4cycpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA0cHg7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgLnVrLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRyaXBwbGUtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLXNpemUsICd4cycpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAneHMnKSAtICgyICogJHJpcHBsZS1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC51ay1wcm9ncmVzcy10ZXh0IHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB0aGVtaWZ5KGluYWN0aXZlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHRcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYuYWN0aXZle1xyXG4gICAgICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAycHggI0ZGRjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShwcmltYXJ5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShwcmltYXJ5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi53aXAge1xyXG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShwcmltYXJ5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5kb25le1xyXG4gICAgICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLnVrLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdGhlbWlmeSh3aGl0ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5pdGlhbDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShwcmltYXJ5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIHNtIHtcclxuICAgICAgICAgICAgLnVrLXByb2dyZXNzLXN0ZXAge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnc20nKSArICR1ay1wcm9ncmVzcy1iYXItbGFibGUtc3BhY2U7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IChtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3NtJykgLSAkdWstcHJvZ3Jlc3MtYmFyLWxpbmUtaGVpZ2h0KSAvMjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdzbScpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3NtJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3NtJykgLSAoMiAqICRyaXBwbGUtYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnc20nKSAtICgyICogJHJpcHBsZS1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuYWN0aXZle1xyXG4gICAgICAgICAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDNweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWQge1xyXG4gICAgICAgICAgICAudWstcHJvZ3Jlc3Mtc3RlcCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdtZCcpICsgJHVrLXByb2dyZXNzLWJhci1sYWJsZS1zcGFjZTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAobWFwLWdldCgkcmlwcGxlLXNpemUsICdtZCcpIC0gJHVrLXByb2dyZXNzLWJhci1saW5lLWhlaWdodCkgLzI7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnbWQnKTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdtZCcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJykgLSAoMiAqICRyaXBwbGUtYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnbWQnKSAtICgyICogJHJpcHBsZS1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuYWN0aXZle1xyXG4gICAgICAgICAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIiRwcmltYXJ5OiAjMWU4MjU3ICFkZWZhdWx0O1xyXG4kc2Vjb25kYXJ5OiAjRkFBNzRBICFkZWZhdWx0O1xyXG4kbGluazogIzExNTNiNSAhZGVmYXVsdDtcclxuJHRleHQ6ICMyODM1NDEgIWRlZmF1bHQ7XHJcbiRncmF5OiAjYmVjMWM1ICFkZWZhdWx0O1xyXG4kaW5hY3RpdmU6ICM2Yzc3ODEgIWRlZmF1bHQ7XHJcbiRtdXRlZDogI2VlZWZmMiAhZGVmYXVsdDtcclxuJGxpZ2h0OiAjZjRmNWY3ICFkZWZhdWx0O1xyXG4kZXJyb3I6ICNjYjJkMGUgIWRlZmF1bHQ7XHJcbiR3YXJuaW5nOiAjZTM3OTM2ICFkZWZhdWx0O1xyXG4kc3VjY2VzczogIzIyOTg2YyAhZGVmYXVsdDtcclxuJGluZm86ICM2YWE1ZjIgIWRlZmF1bHQ7XHJcbiRhY2NlbnQtMTogIzY4Y2M5YSAhZGVmYXVsdDtcclxuJGFjY2VudC0yOiAkaW5mbyAhZGVmYXVsdDtcclxuJHdoaXRlOiAjZmZmICFkZWZhdWx0O1xyXG5cclxuJGJ0bi1iYXNlOiAoXHJcbiAgaGVpZ2h0OiA1MnB4LFxyXG4gIHdpZHRoOiAxNzVweCxcclxuICBwYWRkaW5nOiAxNnB4IDQwcHhcclxuKTtcclxuXHJcbiRidG4tc2l6ZXM6IChsZzooaGVpZ2h0OiA1MnB4LCBwYWRkaW5nOiAxNnB4IDYwcHgpKSAhZGVmYXVsdDtcclxuICBcclxuJHRoZW1lOiAoXHJcbiAgICBwcmltYXJ5OiAkcHJpbWFyeSxcclxuICAgIHNlY29uZGFyeTogJHNlY29uZGFyeSxcclxuICAgIGxpbms6ICRsaW5rLFxyXG4gICAgdGV4dDogJHRleHQsXHJcbiAgICBncmF5OiAkZ3JheSxcclxuICAgIGluYWN0aXZlOiAkaW5hY3RpdmUsXHJcbiAgICBsaWdodDogJGxpZ2h0LFxyXG4gICAgbXV0ZWQ6ICRtdXRlZCxcclxuICAgIGVycm9yOiAkZXJyb3IsXHJcbiAgICB3YXJuaW5nOiAkd2FybmluZyxcclxuICAgIHN1Y2Nlc3M6ICRzdWNjZXNzLFxyXG4gICAgaW5mbyA6ICRpbmZvLFxyXG4gICAgYWNjZW50LTE6ICRhY2NlbnQtMSxcclxuICAgIGFjY2VudC0yOiAkYWNjZW50LTIsXHJcbiAgICB3aGl0ZTogJHdoaXRlXHJcbiAgKVxyXG4gICFkZWZhdWx0O1xyXG4kc2l6ZXM6IChcclxuICBwaG9uZTpcclxuICAgIChcclxuICAgICAgLy8gQXBwcm92ZWRcclxuICAgICAgaDE6KGZvbnQtc2l6ZTogNTJweCwgbGluZS1oZWlnaHQ6IDU4cHgsIGZvbnQtd2VpZ2h0OiAzMDApLFxyXG4gICAgICBoMjooZm9udC1zaXplOiA0MnB4LCBsaW5lLWhlaWdodDogNTBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGg0OiAoZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjRweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIHA6KGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBsYWJlbDogKGZvbnQtc2l6ZTogMTRweCwgbGluZS1oZWlnaHQ6IDIwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICAvLyBFbmQgQXBwcm92ZWRcclxuICAgICAgaDM6KGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBib2R5Oihmb250LXNpemU6IDE1cHgsIGxpbmUtaGVpZ2h0OiAxOHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgc21hbGw6KGZvbnQtc2l6ZTogMTRweCwgbGluZS1oZWlnaHQ6IDIwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgKSxcclxuICB0YWJsZXQ6KFxyXG4gICAgICAvLyBBcHByb3ZlZFxyXG4gICAgICBoMTooZm9udC1zaXplOiA2MnB4LCBsaW5lLWhlaWdodDogNjhweCwgZm9udC13ZWlnaHQ6IDMwMCksXHJcbiAgICAgIGgyOihmb250LXNpemU6IDUycHgsIGxpbmUtaGVpZ2h0OiA2MHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgaDQ6IChmb250LXNpemU6IDIwcHgsIGxpbmUtaGVpZ2h0OiAzMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgcDooZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjRweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGxhYmVsOiAoZm9udC1zaXplOiAxNHB4LCBsaW5lLWhlaWdodDogMjBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIC8vIEVuZCBBcHByb3ZlZFxyXG4gICAgICBoMzooZm9udC1zaXplOiAyNnB4LCBsaW5lLWhlaWdodDogMzBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGJvZHk6KGZvbnQtc2l6ZTogMTVweCwgbGluZS1oZWlnaHQ6IDIwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBzbWFsbDooZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjRweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICApLFxyXG4gIGRlc2t0b3A6KFxyXG4gICAgICAvLyBBcHByb3ZlZFxyXG4gICAgICBoMTogKGZvbnQtc2l6ZTogNzJweCwgbGluZS1oZWlnaHQ6IDc4cHgsIGZvbnQtd2VpZ2h0OiAzMDApLFxyXG4gICAgICBoMjogKGZvbnQtc2l6ZTogNjJweCwgbGluZS1oZWlnaHQ6IDcwcHgsIGZvbnQtd2VpZ2h0OiAzMDApLFxyXG4gICAgICBoNDogKGZvbnQtc2l6ZTogMjBweCwgbGluZS1oZWlnaHQ6IDMwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBwOiAoZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjJweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGxhYmVsOiAoZm9udC1zaXplOiAxNHB4LCBsaW5lLWhlaWdodDogMjBweCwgZm9udC13ZWlnaHQ6IDQwMCksXHJcbiAgICAgIC8vIEVuZCBBcHByb3ZlZFxyXG4gICAgICBoMzogKGZvbnQtc2l6ZTogMjRweCwgbGluZS1oZWlnaHQ6IDI4cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBib2R5OiAoZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMThweCwgZm9udC13ZWlnaHQ6IDQwMCksXHJcbiAgICAgIHNtYWxsOiAoZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjRweCwgZm9udC13ZWlnaHQ6IDQwMCksXHJcbiAgICApXHJcbik7XHJcbiRndXR0ZXI6IDMwcHg7XHJcblxyXG5cclxuLy9BTkdVTEFSIENESyBPVkVSTEFZIFZBUklBQkxFU1xyXG4kY2RrLXotaW5kZXgtb3ZlcmxheS1jb250YWluZXI6IDEwMDA7XHJcbiRjZGstei1pbmRleC1vdmVybGF5OiAxMDAwO1xyXG4kY2RrLXotaW5kZXgtb3ZlcmxheS1iYWNrZHJvcDogMTAwMDtcclxuXHJcbi8vIEJhY2tncm91bmQgY29sb3IgZm9yIGFsbCBvZiB0aGUgYmFja2Ryb3BzXHJcbiRjZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wLWJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yODgpO1xyXG5cclxuLy8gRGVmYXVsdCBiYWNrZHJvcCBhbmltYXRpb24gaXMgYmFzZWQgb24gdGhlIE1hdGVyaWFsIERlc2lnbiBzd2lmdC1lYXNlLW91dC5cclxuJGJhY2tkcm9wLWFuaW1hdGlvbi1kdXJhdGlvbjogNDAwbXMgIWRlZmF1bHQ7XHJcbiRiYWNrZHJvcC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSAhZGVmYXVsdDsiLCIvLyBHcmF5c1xyXG4kaW5hY3RpdmU6ICM1RjY4NzE7XHJcbiRtaWQtZ3JheTogIzk0OUFBMDtcclxuJGdyYXk6ICNDOUNDQ0Y7XHJcbiRtdXRlZDogI0U5RUFFQztcclxuJGxpZ2h0OiAjRjRGNUY1O1xyXG4kd2hpdGU6ICNGRkY7XHJcbi8vIElsbHVzdHJhdGl2ZSBJY29uc1xyXG4kaW5mbzogIzY0OTVGNjtcclxuJGFjY2VudC0xOiAjRkZGO1xyXG4kYWNjZW50LTI6ICMwMDA7XHJcbi8vIEFsZXJ0c1xyXG4kZXJyb3I6ICNjYjJkMGU7XHJcbiR3YXJuaW5nOiAjZTM3OTM2O1xyXG4kc3VjY2VzczogIzIyOTg2YztcclxuLy8gTGlua3NcclxuJGxpbms6ICMxNzZBQ0Y7XHJcbiRsaW5rLXZpc2l0ZWQ6ICM1NTFBOEI7IiwiJGJyZWFrcG9pbnRzIDooIHhzOjQ4MHB4LCBzbTogNzY4cHgsIG1kOjk5MnB4LCBsZzogMTIwMHB4KTtcclxuXHJcbkBtaXhpbiB4cyB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAneHMnKSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gc20ge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJ3NtJykpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1kIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICdtZCcpKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBsZyB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAnbGcnKSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcbiIsIkBpbXBvcnQgJy4vX2ZvbnQtaWNvbi5zY3NzJztcclxuXHJcbiRidG4taWNvbi1zaXplOiAxZW07XHJcbiRpY29uLXNpemU6IDEuNWVtO1xyXG5cclxuQG1peGluIGljb25zIHtcclxuICAgIC51ay1idG4uaWNvbntcclxuICAgICAgICAudWstaWNvbntcclxuICAgICAgICAgICAgaGVpZ2h0OiAkaWNvbi1zaXplO1xyXG4gICAgICAgICAgICB3aWR0aDogJGljb24tc2l6ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudWstYnRue1xyXG4gICAgICAgIC51ay1pY29ue1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRidG4taWNvbi1zaXplO1xyXG4gICAgICAgICAgICB3aWR0aDogJGJ0bi1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGJ0bi1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIC8vR2VuZXJhbFxyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC51ay1pY29uIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgc3Ryb2tlLXdpZHRoOiAwO1xyXG4gICAgICAgIHN0cm9rZTogY3VycmVudENvbG9yO1xyXG4gICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcclxuICAgICAgICBmb250LXNpemU6ICRpY29uLXNpemU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAkaWNvbi1zaXplO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6ICRpY29uLXNpemU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGljb25zKCk7XHJcbkBpbmNsdWRlIGZvbnRJY29ucygpOyIsIkBtaXhpbiBmb250SWNvbnMge1xyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiYm9maS1pY29uXCI7XHJcbiAgICAgICAgc3JjOnVybChcIi9hc3NldHMvYm9maS1pY29uLmVvdFwiKTtcclxuICAgICAgICBzcmM6dXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24uZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcclxuICAgICAgICAgIHVybChcIi9hc3NldHMvYm9maS1pY29uLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgIHVybChcIi9hc3NldHMvYm9maS1pY29uLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgIHVybChcIi9hc3NldHMvYm9maS1pY29uLnN2ZyNib2ZpLWljb25cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOyAgXHJcbiAgICB9XHJcblxyXG4gICAgW2RhdGEtaWNvbl06YmVmb3JlIHtcclxuICAgICAgICBmb250LWZhbWlseTogXCJib2ZpLWljb25cIiAhaW1wb3J0YW50O1xyXG4gICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1pY29uKTtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHNwZWFrOiBub25lO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIFtjbGFzc149XCJib2ZpLVwiXTpiZWZvcmUsXHJcbiAgICAgIFtjbGFzcyo9XCIgYm9maS1cIl06YmVmb3JlIHtcclxuICAgICAgICBmb250LWZhbWlseTogXCJib2ZpLWljb25cIiAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgc3BlYWs6IG5vbmU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgLmJvZmktcmVjdXJyaW5nOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDYxXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZWJpbGw6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjdcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hZGQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hdG06YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hdXRvbWF0aWM6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1iYW5rOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDczXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYmFua2ZlZXM6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kYXRlcGlja2VyOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDZhXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZGVwb3NpdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3N1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWVkaXQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzhcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1mYXE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcN2FcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1tZXNzYWdlczpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0MVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW1lbnU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1pbnRlcmVzdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2NVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBlbmRpbmc6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNGNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1waG9uZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0ZFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXByaW50OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDRmXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcmVmdW5kOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDUyXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcmVtb3ZlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDUzXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc3VjY2VzczpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1NFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXNlYXJjaDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1NlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBhc3N3b3JkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDZkXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdXNlcm5hbWU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1nZWFyOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDY4XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY29udGFjdC1saXN0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQyXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZmlsdGVyOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDc2XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZGViaXQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zdXBwb3J0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDY5XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdXNlci1zZXR0aW5nczpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3MFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWFjY291bnRzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDY0XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdHJhbnNmZXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1waG90bzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3OVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNoZWNrLW1hcms6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1pbmZvcm1hdGlvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0OVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNoYXQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNGJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jYW5jZWw6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNGVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zZW5kLWljb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS13YXJuaW5nOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDU4XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdXBsb2FkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDVhXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdGh1bWJzdXA6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzBcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZGY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDdcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jaGVjazpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0OFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXN0YXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jYW1lcmE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kZWxpdmVyeS1tZXRob2Q6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kb3dubG9hZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzN1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWViaWxsLXBheWJpbGxzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDM4XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZmxhZzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyMlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWFsZXJ0LWhpc3Rvcnk6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1tb2JpbGVkZXBvc2l0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDI4XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktb25ldGltZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyOVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBlcnNvbmFsLW1lc3NhZ2U6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMmNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS10ZXh0LW1lc3NhZ2U6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNGFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1leWUtb3V0bGluZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1MFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWF0dGFjaDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1MVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWxvZ291dDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2YlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNsb3NlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQ1XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZ2Vhci1jaXJjbGU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTdcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS10aHVtYnN1cC1jaXJjbGU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTlcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1tb2RhbC1zZW5kOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDZjXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYWRkLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1ncm91cDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzM1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWhvbWU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZXJzb25hbC1pbmZvOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDM5XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGVyc29uLWNoZWNrOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDIxXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGVyc29uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDIzXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc2lnbmVyOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDI1XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZGF0ZXBpY2tlci0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDI2XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcmVmdW5kLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZWN1cnJpbmctMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyN1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW1lc3NhZ2VzLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMmFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1mYXEtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyYlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWdlYXItMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyZFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXJlbW92ZS0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDJlXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcmVmdW5kLTI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMmZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS11c2VybmFtZS0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDNhXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc2VhcmNoLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcM2JcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wYXNzd29yZC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDNjXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZGFzaGJvYXJkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDNkXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXRtLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcM2VcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZW5kaW5nLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcM2ZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zdWNjZXNzLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDBcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1waG9uZS0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDViXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcHJpbnQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1ZFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW1lbnUtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1ZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWludGVyZXN0LTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1pYy1jb250YWN0LWxpc3Q6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjBcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kZXBvc2l0LTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcN2JcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hdXRvbWF0aWMtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3Y1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWF1dG9tYXRpY3BheW1lbnQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcN2RcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1iYW5rLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcN2VcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1iYW5rZmVlcy0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDVjXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZWRpdC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXGUwMDBcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS0xNDk4MTk1NTkyLWljb24xNS04OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDZlXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXJyb3ctY2hldnJvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzMVwiO1xyXG4gICAgICB9ICAgICAgXHJcbn0iLCIuY2RrLW92ZXJsYXktY29udGFpbmVyLFxyXG4uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXIge1xyXG4gIC8vIERpc2FibGUgZXZlbnRzIGZyb20gYmVpbmcgY2FwdHVyZWQgb24gdGhlIG92ZXJsYXkgY29udGFpbmVyLlxyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICAvLyBUaGUgY29udGFpbmVyIHNob3VsZCBiZSB0aGUgc2l6ZSBvZiB0aGUgdmlld3BvcnQuXHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vLyBUaGUgb3ZlcmxheS1jb250YWluZXIgaXMgYW4gaW52aXNpYmxlIGVsZW1lbnQgd2hpY2ggY29udGFpbnMgYWxsIGluZGl2aWR1YWwgb3ZlcmxheXMuXHJcbi5jZGstb3ZlcmxheS1jb250YWluZXIge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheS1jb250YWluZXI7XHJcbn1cclxuXHJcbi8vIFdlIHVzZSBhbiBleHRyYSB3cmFwcGVyIGVsZW1lbnQgaW4gb3JkZXIgdG8gdXNlIG1ha2UgdGhlIG92ZXJsYXkgaXRzZWxmIGEgZmxleCBpdGVtLlxyXG4vLyBUaGlzIG1ha2VzIGNlbnRlcmluZyB0aGUgb3ZlcmxheSBlYXN5IHdpdGhvdXQgcnVubmluZyBpbnRvIHRoZSBzdWJwaXhlbCByZW5kZXJpbmdcclxuLy8gcHJvYmxlbXMgdGllZCB0byB1c2luZyBgdHJhbnNmb3JtYCBhbmQgd2l0aG91dCBpbnRlcmZlcmluZyB3aXRoIHRoZSBvdGhlciBwb3NpdGlvblxyXG4vLyBzdHJhdGVnaWVzLlxyXG4uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5O1xyXG59XHJcblxyXG4vLyBBIHNpbmdsZSBvdmVybGF5IHBhbmUuXHJcbi5jZGstb3ZlcmxheS1wYW5lIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheTtcclxufVxyXG5cclxuLmNkay1vdmVybGF5LWJhY2tkcm9wIHtcclxuICAvLyBUT0RPKGplbGJvdXJuKTogcmV1c2Ugc2lkZW5hdiBmdWxsc2NyZWVuIG1peGluLlxyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcblxyXG4gIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5LWJhY2tkcm9wO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkYmFja2Ryb3AtYW5pbWF0aW9uLWR1cmF0aW9uXHJcbiAgICAkYmFja2Ryb3AtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjtcclxuICBvcGFjaXR5OiAwO1xyXG5cclxuICAmLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbi5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wIHtcclxuICBiYWNrZ3JvdW5kOiAkY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcC1iYWNrZ3JvdW5kO1xyXG59XHJcblxyXG4uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3Age1xyXG4gIC8vIE5vdGU6IGFzIG9mIEZpcmVmb3ggNTcsIGhhdmluZyB0aGUgYmFja2Ryb3AgYmUgYGJhY2tncm91bmQ6IG5vbmVgIHdpbGwgcHJldmVudCBpdCBmcm9tXHJcbiAgLy8gY2FwdHVyaW5nIHRoZSB1c2VyJ3MgbW91c2Ugc2Nyb2xsIGV2ZW50cy4gU2luY2Ugd2UgYWxzbyBjYW4ndCB1c2Ugc29tZXRoaW5nIGxpa2VcclxuICAvLyBgcmdiYSgwLCAwLCAwLCAwKWAsIHdlIHdvcmsgYXJvdW5kIHRoZSBpbmNvbnNpc3RlbmN5IGJ5IG5vdCBzZXR0aW5nIHRoZSBiYWNrZ3JvdW5kIGF0XHJcbiAgLy8gYWxsIGFuZCB1c2luZyBgb3BhY2l0eWAgdG8gbWFrZSB0aGUgZWxlbWVudCB0cmFuc3BhcmVudC5cclxuICAmLFxyXG4gICYuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLy8gVXNlZCB3aGVuIGRpc2FibGluZyBnbG9iYWwgc2Nyb2xsaW5nLlxyXG4uY2RrLWdsb2JhbC1zY3JvbGxibG9jayB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG5cclxuICAvLyBOZWNlc3NhcnkgZm9yIHRoZSBjb250ZW50IG5vdCB0byBsb3NlIGl0cyB3aWR0aC4gTm90ZSB0aGF0IHdlJ3JlIHVzaW5nIDEwMCUsIGluc3RlYWQgb2ZcclxuICAvLyAxMDB2dywgYmVjYXVzZSAxMDB2dyBpbmNsdWRlcyB0aGUgd2lkdGggcGx1cyB0aGUgc2Nyb2xsYmFyLCB3aGVyZWFzIDEwMCUgaXMgdGhlIHdpZHRoXHJcbiAgLy8gdGhhdCB0aGUgZWxlbWVudCBoYWQgYmVmb3JlIHdlIG1hZGUgaXQgYGZpeGVkYC5cclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgLy8gTm90ZTogdGhpcyB3aWxsIGFsd2F5cyBhZGQgYSBzY3JvbGxiYXIgdG8gd2hhdGV2ZXIgZWxlbWVudCBpdCBpcyBvbiwgd2hpY2ggY2FuXHJcbiAgLy8gcG90ZW50aWFsbHkgcmVzdWx0IGluIGRvdWJsZSBzY3JvbGxiYXJzLiBJdCBzaG91bGRuJ3QgYmUgYW4gaXNzdWUsIGJlY2F1c2Ugd2Ugd29uJ3RcclxuICAvLyBibG9jayBzY3JvbGxpbmcgb24gYSBwYWdlIHRoYXQgZG9lc24ndCBoYXZlIGEgc2Nyb2xsYmFyIGluIHRoZSBmaXJzdCBwbGFjZS5cclxuICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbn1cclxuIiwiQGltcG9ydCAnLi4vLi4vbWl4aW5zL19hbmltYXRpb24uc2Nzcyc7XHJcbkAtd2Via2l0LWtleWZyYW1lcyBzay1ib3VuY2VkZWxheSB7XHJcbiAgICAwJSwgODAlLCAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApIH1cclxuICAgIDQwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjApIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzay1ib3VuY2VkZWxheSB7XHJcbiAgICAwJSwgODAlLCAxMDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgIH0gNDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB1ay1kb3QtbG9hZGVyKCR0aGVtZSkge1xyXG4gICAgLnVpa2l0LWRvdC1sb2FkZXIge1xyXG4gICAgICAgIHVzZXItc2VsZWN0Om5vbmU7ICAgICAgICAgICAgXHJcbiAgICAgICAgJi51aWtpdC1pbmxpbmUtZG90LWxvYWRlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgID5zcGFuIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkod2hpdGUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuXHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgQGluY2x1ZGUgYW5pbWF0aW9uKHNrLWJvdW5jZWRlbGF5IDEuMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQgYm90aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4uYm91bmNlMSB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogLTAuMzJzO1xyXG4gICAgICAgIH1cclxuICAgICAgICA+LmJvdW5jZTIge1xyXG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IC0wLjE2cztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJAbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRlLi4uKSB7XHJcbiAgICAkbWF4OiBsZW5ndGgoJGFuaW1hdGUpO1xyXG4gICAgJGFuaW1hdGlvbnM6ICcnO1xyXG5cclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heCB7XHJcbiAgICAgICAgJGFuaW1hdGlvbnM6ICN7JGFuaW1hdGlvbnMgKyBudGgoJGFuaW1hdGUsICRpKX07XHJcblxyXG4gICAgICAgIEBpZiAkaSA8ICRtYXgge1xyXG4gICAgICAgICAgICAkYW5pbWF0aW9uczogI3skYW5pbWF0aW9ucyArICcsICd9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGFuaW1hdGlvbjogJGFuaW1hdGlvbnM7XHJcbn1cclxuXHJcbkBtaXhpbiBrZXlmcmFtZXMoJGFuaW1hdGlvbk5hbWUpIHtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyAjeyRhbmltYXRpb25OYW1lfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICBALW1vei1rZXlmcmFtZXMgI3skYW5pbWF0aW9uTmFtZX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gICAgQC1vLWtleWZyYW1lcyAjeyRhbmltYXRpb25OYW1lfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICBAa2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufSIsIkBpbXBvcnQgJy4uLy4uL21peGlucy9hbmltYXRpb24uc2Nzcyc7XHJcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbC9fc3Itb25seS5zY3NzJztcclxuXHJcbiRpbnB1dDogKCBzaXplOiAyMnB4LCBtYXJnaW4tcmlnaHQ6IDEwcHgpO1xyXG4kcmlwcGxlOiAoIHBvc2l0aW9uOiAxMHB4LCBzaXplOiBtYXAtZ2V0KCRpbnB1dCwgc2l6ZSkgKiAzKTtcclxuQGluY2x1ZGUga2V5ZnJhbWVzKHJpcHBsZSkge1xyXG4gICAgNSUsXHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgNSUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuXHJcbkBtaXhpbiB1ay1yYWRpbygkdGhlbWUpIHtcclxuICAgICN7JHByZWZpeH0tcmFkaW8tZ3JvdXAge1xyXG4gICAgICAgIC4jeyRwcmVmaXh9LXJhZGlvLWdyb3VwIHtcclxuICAgICAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPXJhZGlvXSB7XHJcbiAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMHB4OyAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7ICAgICAgICBcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAkaW5wdXRzLWNvbmZpZzogbWFwLWdldCgkdGhlbWUsIGlucHV0cyk7XHJcbiAgICAkY29uZmlnOiBtYXAtZ2V0KCRpbnB1dHMtY29uZmlnLCBpbnB1dC1jaGVja2VkKTtcclxuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnktY29sb3IpO1xyXG4gICAgaW5wdXRbdHlwZT1yYWRpb10ge1xyXG4gICAgICAgIEBpbmNsdWRlIHNyLW9ubHkoKTtcclxuXHJcbiAgICAgICAgJjpkaXNhYmxlZCtsYWJlbDpub3QoOmNoZWNrZWQpLCAmLmRpc2FibGVkK2xhYmVsOm5vdCg6Y2hlY2tlZCkge1xyXG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRoZW1pZnkoaW5hY3RpdmUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgK2xhYmVsIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIC8vIG1hcmdpbjogMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAobWFwLWdldCgkaW5wdXQsIHNpemUpICsgbWFwLWdldCgkaW5wdXQsIG1hcmdpbi1yaWdodCkpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IG1hcC1nZXQoJGlucHV0LCBzaXplKSArIDJweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG1hcC1nZXQoJGlucHV0LCBzaXplKSArIDJweDtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRpbnB1dCwgc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJGlucHV0LCBzaXplKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgbWFwLWdldCgkaW5wdXQsIHNpemUpIHRoZW1pZnkod2hpdGUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0aGVtaWZ5KGluYWN0aXZlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIHRvcDogKG1hcC1nZXQoJGlucHV0LCBzaXplKSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogbWFwLWdldCgkcmlwcGxlLCBwb3NpdGlvbikgLSAxcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLCBzaXplKTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLCBzaXplKTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjEpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMCk7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyK2xhYmVsLCAmLmhvdmVyK2xhYmVse1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmNoZWNrZWQrbGFiZWwge1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4IHRoZW1pZnkod2hpdGUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBhbmltYXRpb24ocmlwcGxlIDFzIG5vbmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLnVrLWZvcm0tY29udHJvbCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgbWluLWhlaWdodDogMThweDtcclxuXHJcbiAgICAmX192YWx1ZSB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICBtYXgtd2lkdGg6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgICZfX2FkZG9uIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG59IiwiLmFsZXJ0IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVlbTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gIGhlaWdodDogNDZweDtcclxuICBjb2xvcjogYmxhY2s7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgXHJcbiAgLmljb24ge1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgIG1hcmdpbi10b3A6IC0ycHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5jbG9zZS1pY29ue1xyXG4gICAgZm9udC1zaXplOiA2LjIyODVweDtcclxuICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICB9XHJcblxyXG4gIC5jaGlsZC0tZmVhdHVyZWQge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxM3B4O1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gIH1cclxufSIsIkBpbXBvcnQgJ192YXJpYWJsZXMuc2Nzcyc7XHJcblxyXG46aG9zdCB7XHJcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgLnVrLWljb24td3JhcGVyIHtcclxuICAgIGZvbnQtc2l6ZTogOHB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIH1cclxuICAudG9vbHRpcCB7XHJcbiAgICAmLXRleHQge1xyXG4gICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbjo6bmctZGVlcCB7XHJcbiAgc3ZnIHtcclxuICAgIG1hcmdpbi1ib3R0b206IC00cHg7XHJcbiAgfVxyXG4gIC5heG9zLXRvb2x0aXAge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcclxuICAgIGJvcmRlcjogc29saWQgMXB4ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nOiA2cHg7XHJcbiAgICBmb250LXNpemU6IDExcHg7XHJcbiAgfVxyXG59XHJcbiIsIiR1ay1heG9zLXByaW1hcnktNzAwOiAjMTQzRTYxO1xyXG4kdWstYXhvcy1wcmltYXJ5LWRlZmF1bHQ6ICMxRTM4NjA7XHJcbiR1ay1heG9zLXByaW1hcnktaG92ZXI6ICMyODQ4ODQ7XHJcblxyXG4kdWstYXhvcy1jb2xvcnM6IChcclxuICAzMDA6ICR1ay1heG9zLXByaW1hcnktaG92ZXIsXHJcbiAgNTAwOiAkdWstYXhvcy1wcmltYXJ5LWRlZmF1bHQsXHJcbiAgNzAwOiAkdWstYXhvcy1wcmltYXJ5LTcwMCxcclxuICAvLyBBbHRlcm5hdGVcclxuICBBMzAwOiAjZmZiNjY0LFxyXG4gIEE1MDA6ICNGQUE3NEEsXHJcbiAgQTcwMDogI0ZBQTc0QSxcclxuICAvLyBDb250cmFzdFxyXG4gIGNvbnRyYXN0OiAoXHJcbiAgICAzMDA6ICR1ay13aGl0ZSxcclxuICAgIDUwMDogJHVrLXdoaXRlLFxyXG4gICAgNzAwOiAkdWstd2hpdGUsXHJcbiAgICAvLyBBbHRlcm5hdGVcclxuICAgIEEzMDA6ICR1ay1heG9zLXByaW1hcnktZGVmYXVsdCxcclxuICAgIEE1MDA6ICR1ay1heG9zLXByaW1hcnktZGVmYXVsdCxcclxuICAgIEE3MDA6ICR1ay1heG9zLXByaW1hcnktZGVmYXVsdFxyXG4gIClcclxuKTtcclxuXHJcbiR1ay1heG9zLXBhbGV0dGVzOiAoXHJcbiAgcHJpbWFyeTogdWstcGFsZXR0ZSgkdWstYXhvcy1jb2xvcnMsICdzZWNvbmRhcnknKSxcclxuICBzZWNvbmRhcnk6IHVrLXBhbGV0dGUoJHVrLWF4b3MtY29sb3JzLCAncHJpbWFyeScsIEE1MDAsIEEzMDAsIEE3MDApXHJcbik7XHJcblxyXG4vLyBNYWluIENvbG9yc1xyXG4kYXhvcy1wcmltYXJ5LWNvbG9yOiAjMUUzODYwO1xyXG4kYXhvcy1zZWNvbmRhcnktY29sb3I6ICNGQUE3NEE7XHJcbiR0ZXh0OiAjMTQzRTYxO1xyXG4vLyBDb2xvcnMgU2NoZW1lXHJcbiRwcmltYXJ5OiAoXHJcbiAgbWFpbjogJGF4b3MtcHJpbWFyeS1jb2xvcixcclxuICBjb250cmFzdDogJHdoaXRlLFxyXG4gIGhvdmVyOiAjMjg0ODg0LFxyXG4gIG9wb3NpdGU6ICRheG9zLXNlY29uZGFyeS1jb2xvcixcclxuKTtcclxuJHNlY29uZGFyeTogKFxyXG4gIG1haW46ICRheG9zLXNlY29uZGFyeS1jb2xvcixcclxuICBjb250cmFzdDogJGF4b3MtcHJpbWFyeS1jb2xvcixcclxuICBob3ZlcjogI2ZmYjY2NCxcclxuICBvcG9zaXRlOiAkYXhvcy1wcmltYXJ5LWNvbG9yLFxyXG4pOyJdfQ== */\"","import { Component, ChangeDetectionStrategy, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'axos-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TooltipComponent {\r\n\r\n @Input() info: string;\r\n\r\n constructor() { }\r\n\r\n}\r\n","module.exports = \"/**\\r\\n* Helper mixin to create a linear-gradient\\r\\n*\\r\\n*/\\n/*\\r\\nhtml,\\r\\nbody {\\r\\n font-family: 'Libre Franklin', 'Helvetica', sans-serif;\\r\\n // color: themify(text);\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\na {\\r\\n color: themify(link);\\r\\n cursor: pointer;\\r\\n text-decoration: none;\\r\\n -webkit-tap-highlight-color: transparent;\\r\\n}\\r\\n\\r\\n.round-image {\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n\\r\\n*/\\n.fcontainer-fluid,\\n.fcontainer {\\n margin: 0 auto; }\\n.fcontainer-fluid {\\n padding: 0 2rem; }\\n.frow {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex: 0 1 auto;\\n flex: 0 1 auto;\\n -ms-flex-direction: row;\\n flex-direction: row;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap; }\\n.frow.reverse {\\n -ms-flex-direction: row-reverse;\\n flex-direction: row-reverse; }\\n.finline {\\n display: -ms-inline-flexbox;\\n display: inline-flex; }\\n.reset-padding {\\n padding: 0; }\\n.reset-margin {\\n margin: 0; }\\n.uk-btn.none {\\n border: none;\\n background-color: transparent;\\n text-transform: none;\\n min-width: 0;\\n min-height: 0;\\n padding: 0; }\\n.uk-btn.icon {\\n font-weight: 500;\\n font-size: 14px;\\n line-height: 16px;\\n font-weight: bold; }\\n.uk-shadow-0 {\\n box-shadow: none !important; }\\n.uk-shadow-1 {\\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); }\\n.uk-shadow-1-half {\\n box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2); }\\n.uk-shadow-2 {\\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-3 {\\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-4 {\\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-5 {\\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.3); }\\n.uk-nav {\\n padding-left: 0;\\n margin-bottom: 0;\\n list-style: none;\\n box-sizing: border-box; }\\n.uk-nav .uk-nav-item {\\n clear: both;\\n float: none;\\n display: inline-block;\\n margin: 0px; }\\n.uk-nav .uk-nav-item:hover {\\n background-color: #eee; }\\n.uk-tooltip {\\n background-color: #293541;\\n color: #FFF;\\n position: fixed;\\n max-width: 280px;\\n font-size: 14px;\\n padding: 5px 10px;\\n z-index: 2; }\\n.uk-tooltip::before {\\n content: '';\\n position: absolute;\\n display: inline-block;\\n height: 0;\\n width: 0;\\n border: solid 6px transparent; }\\n.uk-tooltip.white {\\n background-color: #FFF;\\n color: #293541; }\\n.uk-tooltip.bottom::before {\\n border-bottom-color: #293541;\\n margin-top: -12px;\\n top: 0; }\\n.uk-tooltip.bottom.white::before {\\n border-bottom-color: #FFF !important; }\\n.uk-tooltip.top::before {\\n border-top-color: #293541;\\n margin-bottom: -12px;\\n bottom: 0; }\\n.uk-tooltip.top.white::before {\\n border-top-color: #FFF !important; }\\n.uk-tooltip.left::before {\\n border-left-color: #293541;\\n margin-right: -12px;\\n right: 0; }\\n.uk-tooltip.right::before {\\n border-right-color: #293541;\\n margin-left: -12px;\\n left: 0; }\\n.uk-label.uk-tooltip-host {\\n position: relative;\\n top: 5px; }\\n.uk-stepper {\\n display: inline-block; }\\n.uk-stepper .uk-progress-title {\\n color: #283541;\\n font-size: 18px;\\n font-weight: 600;\\n padding-top: 7px; }\\n.uk-stepper .uk-progress-step-body {\\n padding-top: 8px;\\n padding-bottom: 20px;\\n display: block; }\\n.uk-stepper .uk-progress-track {\\n list-style-type: none;\\n table-layout: fixed;\\n display: table;\\n width: 100%;\\n margin: 0;\\n padding: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step {\\n display: table-cell;\\n position: relative;\\n text-align: center;\\n padding-top: 27px; }\\n.uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n content: '';\\n background-color: #C9CCCF;\\n position: absolute;\\n top: 8.5px;\\n height: 3px;\\n width: 50%;\\n z-index: -1; }\\n.uk-stepper .uk-progress-track .uk-progress-step::before {\\n left: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step::after {\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step:first-child::before {\\n width: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step:last-child::after {\\n width: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n background-color: #C9CCCF;\\n position: absolute;\\n border-radius: 50%;\\n display: block;\\n margin: 0 auto;\\n height: 20px;\\n width: 20px;\\n padding: 0 4px;\\n top: 0;\\n left: 0;\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap .uk-icon {\\n display: none; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n position: absolute;\\n border-radius: 50%;\\n margin: 0 auto;\\n margin-top: 2px;\\n height: 16px;\\n width: 16px;\\n content: '';\\n left: 0;\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-progress-text {\\n position: relative;\\n color: #5F6871;\\n text-transform: capitalize;\\n font-size: 14px;\\n font-weight: 600; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border: solid 2px #FFF;\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active::before {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active.wip::after {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done .uk-step-icon-wrap {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done .uk-step-icon-wrap .uk-icon {\\n color: #FFF;\\n display: initial; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done::before, .uk-stepper .uk-progress-track .uk-progress-step.done::after {\\n background-color: #1e8257; }\\n@media only screen and (min-width: 768px) {\\n .uk-stepper .uk-progress-track .uk-progress-step {\\n padding-top: 32px; }\\n .uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n top: 11px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n height: 25px;\\n width: 25px;\\n padding: 0 6px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n height: 21px;\\n width: 21px; }\\n .uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border-width: 3px; } }\\n@media only screen and (min-width: 992px) {\\n .uk-stepper .uk-progress-track .uk-progress-step {\\n padding-top: 42px; }\\n .uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n top: 16px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n height: 35px;\\n width: 35px;\\n padding: 0 8px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n height: 31px;\\n width: 31px; }\\n .uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border-width: 4px; } }\\n.uk-btn.icon .uk-icon {\\n height: 1.5em;\\n width: 1.5em; }\\n.uk-btn .uk-icon {\\n height: 1em;\\n width: 1em;\\n font-size: 1em;\\n vertical-align: middle; }\\n.uk-icon {\\n display: inline-block;\\n stroke-width: 0;\\n stroke: currentColor;\\n fill: currentColor;\\n font-size: 1.5em;\\n max-width: 1.5em;\\n max-height: 1.5em; }\\n@font-face {\\n font-family: \\\"bofi-icon\\\";\\n src: url(\\\"/assets/bofi-icon.eot\\\");\\n src: url(\\\"/assets/bofi-icon.eot?#iefix\\\") format(\\\"embedded-opentype\\\"), url(\\\"/assets/bofi-icon.woff\\\") format(\\\"woff\\\"), url(\\\"/assets/bofi-icon.ttf\\\") format(\\\"truetype\\\"), url(\\\"/assets/bofi-icon.svg#bofi-icon\\\") format(\\\"svg\\\");\\n font-weight: normal;\\n font-style: normal; }\\n[data-icon]:before {\\n font-family: \\\"bofi-icon\\\" !important;\\n content: attr(data-icon);\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n[class^=\\\"bofi-\\\"]:before,\\n[class*=\\\" bofi-\\\"]:before {\\n font-family: \\\"bofi-icon\\\" !important;\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n.bofi-recurring:before {\\n content: \\\"\\\\61\\\"; }\\n.bofi-ebill:before {\\n content: \\\"\\\\67\\\"; }\\n.bofi-add:before {\\n content: \\\"\\\\6f\\\"; }\\n.bofi-atm:before {\\n content: \\\"\\\\71\\\"; }\\n.bofi-automatic:before {\\n content: \\\"\\\\72\\\"; }\\n.bofi-bank:before {\\n content: \\\"\\\\73\\\"; }\\n.bofi-bankfees:before {\\n content: \\\"\\\\74\\\"; }\\n.bofi-datepicker:before {\\n content: \\\"\\\\6a\\\"; }\\n.bofi-deposit:before {\\n content: \\\"\\\\77\\\"; }\\n.bofi-edit:before {\\n content: \\\"\\\\78\\\"; }\\n.bofi-faq:before {\\n content: \\\"\\\\7a\\\"; }\\n.bofi-messages:before {\\n content: \\\"\\\\41\\\"; }\\n.bofi-menu:before {\\n content: \\\"\\\\43\\\"; }\\n.bofi-interest:before {\\n content: \\\"\\\\65\\\"; }\\n.bofi-pending:before {\\n content: \\\"\\\\4c\\\"; }\\n.bofi-phone:before {\\n content: \\\"\\\\4d\\\"; }\\n.bofi-print:before {\\n content: \\\"\\\\4f\\\"; }\\n.bofi-refund:before {\\n content: \\\"\\\\52\\\"; }\\n.bofi-remove:before {\\n content: \\\"\\\\53\\\"; }\\n.bofi-success:before {\\n content: \\\"\\\\54\\\"; }\\n.bofi-search:before {\\n content: \\\"\\\\56\\\"; }\\n.bofi-password:before {\\n content: \\\"\\\\6d\\\"; }\\n.bofi-username:before {\\n content: \\\"\\\\75\\\"; }\\n.bofi-gear:before {\\n content: \\\"\\\\68\\\"; }\\n.bofi-contact-list:before {\\n content: \\\"\\\\42\\\"; }\\n.bofi-filter:before {\\n content: \\\"\\\\76\\\"; }\\n.bofi-debit:before {\\n content: \\\"\\\\62\\\"; }\\n.bofi-support:before {\\n content: \\\"\\\\69\\\"; }\\n.bofi-user-settings:before {\\n content: \\\"\\\\70\\\"; }\\n.bofi-accounts:before {\\n content: \\\"\\\\64\\\"; }\\n.bofi-transfer:before {\\n content: \\\"\\\\66\\\"; }\\n.bofi-photo:before {\\n content: \\\"\\\\79\\\"; }\\n.bofi-check-mark:before {\\n content: \\\"\\\\46\\\"; }\\n.bofi-information:before {\\n content: \\\"\\\\49\\\"; }\\n.bofi-chat:before {\\n content: \\\"\\\\4b\\\"; }\\n.bofi-cancel:before {\\n content: \\\"\\\\4e\\\"; }\\n.bofi-send-icon:before {\\n content: \\\"\\\\55\\\"; }\\n.bofi-warning:before {\\n content: \\\"\\\\58\\\"; }\\n.bofi-upload:before {\\n content: \\\"\\\\5a\\\"; }\\n.bofi-thumbsup:before {\\n content: \\\"\\\\30\\\"; }\\n.bofi-pdf:before {\\n content: \\\"\\\\47\\\"; }\\n.bofi-check:before {\\n content: \\\"\\\\48\\\"; }\\n.bofi-star:before {\\n content: \\\"\\\\36\\\"; }\\n.bofi-camera:before {\\n content: \\\"\\\\32\\\"; }\\n.bofi-delivery-method:before {\\n content: \\\"\\\\34\\\"; }\\n.bofi-download:before {\\n content: \\\"\\\\37\\\"; }\\n.bofi-ebill-paybills:before {\\n content: \\\"\\\\38\\\"; }\\n.bofi-flag:before {\\n content: \\\"\\\\22\\\"; }\\n.bofi-alert-history:before {\\n content: \\\"\\\\24\\\"; }\\n.bofi-mobiledeposit:before {\\n content: \\\"\\\\28\\\"; }\\n.bofi-onetime:before {\\n content: \\\"\\\\29\\\"; }\\n.bofi-personal-message:before {\\n content: \\\"\\\\2c\\\"; }\\n.bofi-text-message:before {\\n content: \\\"\\\\4a\\\"; }\\n.bofi-eye-outline:before {\\n content: \\\"\\\\50\\\"; }\\n.bofi-attach:before {\\n content: \\\"\\\\51\\\"; }\\n.bofi-logout:before {\\n content: \\\"\\\\6b\\\"; }\\n.bofi-close:before {\\n content: \\\"\\\\45\\\"; }\\n.bofi-gear-circle:before {\\n content: \\\"\\\\57\\\"; }\\n.bofi-thumbsup-circle:before {\\n content: \\\"\\\\59\\\"; }\\n.bofi-modal-send:before {\\n content: \\\"\\\\6c\\\"; }\\n.bofi-add-1:before {\\n content: \\\"\\\\44\\\"; }\\n.bofi-group:before {\\n content: \\\"\\\\33\\\"; }\\n.bofi-home:before {\\n content: \\\"\\\\35\\\"; }\\n.bofi-personal-info:before {\\n content: \\\"\\\\39\\\"; }\\n.bofi-person-check:before {\\n content: \\\"\\\\21\\\"; }\\n.bofi-person:before {\\n content: \\\"\\\\23\\\"; }\\n.bofi-signer:before {\\n content: \\\"\\\\25\\\"; }\\n.bofi-datepicker-1:before {\\n content: \\\"\\\\26\\\"; }\\n.bofi-refund-1:before {\\n content: \\\"\\\\63\\\"; }\\n.bofi-recurring-1:before {\\n content: \\\"\\\\27\\\"; }\\n.bofi-messages-1:before {\\n content: \\\"\\\\2a\\\"; }\\n.bofi-faq-1:before {\\n content: \\\"\\\\2b\\\"; }\\n.bofi-gear-1:before {\\n content: \\\"\\\\2d\\\"; }\\n.bofi-remove-1:before {\\n content: \\\"\\\\2e\\\"; }\\n.bofi-refund-2:before {\\n content: \\\"\\\\2f\\\"; }\\n.bofi-username-1:before {\\n content: \\\"\\\\3a\\\"; }\\n.bofi-search-1:before {\\n content: \\\"\\\\3b\\\"; }\\n.bofi-password-1:before {\\n content: \\\"\\\\3c\\\"; }\\n.bofi-dashboard:before {\\n content: \\\"\\\\3d\\\"; }\\n.bofi-atm-1:before {\\n content: \\\"\\\\3e\\\"; }\\n.bofi-pending-1:before {\\n content: \\\"\\\\3f\\\"; }\\n.bofi-success-1:before {\\n content: \\\"\\\\40\\\"; }\\n.bofi-phone-1:before {\\n content: \\\"\\\\5b\\\"; }\\n.bofi-print-1:before {\\n content: \\\"\\\\5d\\\"; }\\n.bofi-menu-1:before {\\n content: \\\"\\\\5e\\\"; }\\n.bofi-interest-1:before {\\n content: \\\"\\\\5f\\\"; }\\n.bofi-ic-contact-list:before {\\n content: \\\"\\\\60\\\"; }\\n.bofi-deposit-1:before {\\n content: \\\"\\\\7b\\\"; }\\n.bofi-automatic-1:before {\\n content: \\\"\\\\7c\\\"; }\\n.bofi-automaticpayment:before {\\n content: \\\"\\\\7d\\\"; }\\n.bofi-bank-1:before {\\n content: \\\"\\\\7e\\\"; }\\n.bofi-bankfees-1:before {\\n content: \\\"\\\\5c\\\"; }\\n.bofi-edit-1:before {\\n content: \\\"\\\\e000\\\"; }\\n.bofi-1498195592-icon15-8:before {\\n content: \\\"\\\\6e\\\"; }\\n.bofi-arrow-chevron:before {\\n content: \\\"\\\\31\\\"; }\\n.cdk-overlay-container,\\n.cdk-global-overlay-wrapper {\\n pointer-events: none;\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: 100%; }\\n.cdk-overlay-container {\\n position: fixed;\\n z-index: 1000; }\\n.cdk-global-overlay-wrapper {\\n display: -ms-flexbox;\\n display: flex;\\n position: absolute;\\n z-index: 1000; }\\n.cdk-overlay-pane {\\n position: absolute;\\n pointer-events: auto;\\n box-sizing: border-box;\\n z-index: 1000; }\\n.cdk-overlay-backdrop {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n z-index: 1000;\\n pointer-events: auto;\\n -webkit-tap-highlight-color: transparent;\\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\\n opacity: 0; }\\n.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 1; }\\n.cdk-overlay-dark-backdrop {\\n background: rgba(0, 0, 0, 0.288); }\\n.cdk-overlay-transparent-backdrop, .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 0; }\\n.cdk-global-scrollblock {\\n position: fixed;\\n width: 100%;\\n overflow-y: scroll; }\\n@-webkit-keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0); }\\n 40% {\\n -webkit-transform: scale(1); } }\\n@keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0);\\n transform: scale(0); }\\n 40% {\\n -webkit-transform: scale(1);\\n transform: scale(1); } }\\n@-webkit-keyframes ripple {\\n 5%,\\n 100% {\\n opacity: 0; }\\n 5% {\\n opacity: 1; } }\\n@keyframes ripple {\\n 5%,\\n 100% {\\n opacity: 0; }\\n 5% {\\n opacity: 1; } }\\n.uk-form-control {\\n display: inline-table;\\n cursor: pointer;\\n position: relative;\\n box-sizing: border-box;\\n min-height: 18px; }\\n.uk-form-control__value {\\n display: table-cell;\\n max-width: 0;\\n width: 100%;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n min-height: 48px; }\\n.uk-form-control__addon {\\n padding-left: 10px;\\n display: table-cell;\\n vertical-align: middle; }\\n.alert {\\n position: relative;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n margin-bottom: 20px;\\n margin-top: 20px;\\n border-radius: 0.25em;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: nowrap;\\n flex-wrap: nowrap;\\n height: 46px;\\n color: black;\\n font-size: 16px;\\n -ms-flex-align: center;\\n align-items: center; }\\n.alert .icon {\\n height: 20px;\\n width: 20px;\\n margin-left: 15px;\\n margin-top: -2px; }\\n.alert .close-icon {\\n font-size: 6.2285px;\\n margin-right: 15px; }\\n.alert .child--featured {\\n padding-left: 13px;\\n -ms-flex-positive: 1;\\n flex-grow: 1; }\\n:host {\\n display: block; }\\n:host .title-container {\\n display: block;\\n width: 100%; }\\n:host .cursor-pointer:hover {\\n cursor: pointer; }\\n:host .upload-content {\\n padding: 10px;\\n border: 1px solid #949AA0;\\n border-radius: 8px; }\\n:host .upload-content .upload-container {\\n border: 2px dashed #949AA0;\\n min-height: 156px;\\n overflow: hidden;\\n border-radius: 6px;\\n display: -ms-flexbox;\\n display: flex; }\\n:host .upload-content .upload-container .icon-container {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap;\\n margin: 40px 0;\\n font-size: 18px; }\\n:host .upload-content .upload-container .icon-container svg {\\n position: relative;\\n top: 4px; }\\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\\n :host .upload-content .upload-container .icon-container {\\n width: 170px; }\\n :host .upload-content .upload-container .icon-container img {\\n width: 85px;\\n height: 48px; } }\\n:host .upload-content .upload-container .icon-container > * {\\n -ms-flex: 1;\\n flex: 1;\\n -ms-flex-preferred-size: 100%;\\n flex-basis: 100%;\\n margin-bottom: 10px; }\\n:host .upload-content .upload-container .icon-container > *:last-child {\\n margin-bottom: 0; }\\n:host .upload-content .upload-container .file-preview {\\n padding: 3px;\\n border-radius: 5px; }\\n:host .upload-content .upload-container .file-preview iframe {\\n pointer-events: none; }\\n:host .upload-content .upload-container .file-preview > img {\\n max-width: 100%;\\n max-height: 150px; }\\n:host .upload-content .status {\\n font-weight: 600; }\\n.ng2-pdf-viewer-container {\\n overflow: hidden; }\\n.viewer-style {\\n width: 150px;\\n height: 150px;\\n display: block; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy91cGxvYWQtZmlsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXG1peGluc1xcaGVscGVyc1xcX2xpbmVhci1ncmFkaWVudC5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL3VwbG9hZC1maWxlL3VwbG9hZC1maWxlLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL3VwbG9hZC1maWxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcZ2xvYmFsXFxfZ2xvYmFsLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvdXBsb2FkLWZpbGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxncmlkXFxfY29udGFpbmVyLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvdXBsb2FkLWZpbGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxncmlkXFxfcm93LnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvdXBsb2FkLWZpbGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFx1dGlsaXRpZXNcXF9yZXNldHMuc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy91cGxvYWQtZmlsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXHV0aWxpdGllc1xcX3NoYWRvdy5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL3VwbG9hZC1maWxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcbmF2c1xcX2Jhc2UtbmF2cy5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL3VwbG9hZC1maWxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcdG9vbHRpcFxcX3Rvb2x0aXAuc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy91cGxvYWQtZmlsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXHN0ZXBwZXJcXF9zdGVwcGVyLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvdXBsb2FkLWZpbGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxfdmFyaWFibGVzLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvdXBsb2FkLWZpbGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxicmFuZHNcXF9jb2xvcnMuc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy91cGxvYWQtZmlsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGdyaWRcXF9tZWRpYS1xdWVyaWVzLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvdXBsb2FkLWZpbGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxpY29uc1xcX2ljb25zLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvdXBsb2FkLWZpbGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxpY29uc1xcX2ZvbnQtaWNvbi5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL3VwbG9hZC1maWxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcb3ZlcmxheVxcX292ZXJsYXkuc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy91cGxvYWQtZmlsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXGxvYWRlcnNcXF9kb3QtbG9hZGVyLnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvdXBsb2FkLWZpbGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxtaXhpbnNcXF9hbmltYXRpb24uc2NzcyIsInNyYy9hcHAvZW5yb2xsbWVudC1jb21tb24vY29tcG9uZW50cy91cGxvYWQtZmlsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXHJhZGlvLWdyb3VwXFxlbGVtZW50LnNjc3MiLCJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvdXBsb2FkLWZpbGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxmb3JtLWZpZWxkc1xcX2Zvcm1fY29udHJvbC5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL3VwbG9hZC1maWxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcYWxlcnRcXF9hbGVydC5zY3NzIiwic3JjL2FwcC9lbnJvbGxtZW50LWNvbW1vbi9jb21wb25lbnRzL3VwbG9hZC1maWxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvc3JjXFxhcHBcXGVucm9sbG1lbnQtY29tbW9uXFxjb21wb25lbnRzXFx1cGxvYWQtZmlsZVxcdXBsb2FkLWZpbGUuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztDQ0dDO0FDcUNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0RmQztBRXhCRDs7RUFFSSxjQUFjLEVBQUE7QUFHbEI7RUFDSSxlQUFlLEVBQUE7QUNQbkI7RUFDSSxvQkFBYTtFQUFiLGFBQWE7RUFDYixrQkFBYztNQUFkLGNBQWM7RUFDZCx1QkFBbUI7TUFBbkIsbUJBQW1CO0VBQ25CLG1CQUFlO01BQWYsZUFBZSxFQUFBO0FBSm5CO0lBTVEsK0JBQTJCO1FBQTNCLDJCQUEyQixFQUFBO0FBS25DO0VBQVcsMkJBQW9CO0VBQXBCLG9CQUFvQixFQUFBO0FDWC9CO0VBQ0ksVUFBUyxFQUFBO0FBRWI7RUFDSSxTQUFRLEVBQUE7QUFFWjtFQUVRLFlBQVk7RUFDWiw2QkFBNkI7RUFFN0Isb0JBQW9CO0VBQ3BCLFlBQVk7RUFDWixhQUFhO0VBQ2IsVUFBVSxFQUFBO0FBUmxCO0VBV1EsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsaUJBQWlCLEVBQUE7QUNuQnpCO0VBQ0UsMkJBQTJCLEVBQUE7QUFFN0I7RUFDRSwrR0FBK0csRUFBQTtBQUVqSDtFQUNFLCtHQUErRyxFQUFBO0FBRWpIO0VBQ0UsZ0hBQWdILEVBQUE7QUFFbEg7RUFDRSxpSEFBaUgsRUFBQTtBQUVuSDtFQUNFLHFIQUFxSCxFQUFBO0FBRXZIO0VBQ0UsdUhBQXVILEVBQUE7QUNwQnpIO0VBQ0ksZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsc0JBQXNCLEVBQUE7QUFKMUI7SUFPUSxXQUFXO0lBQ1gsV0FBVztJQUNYLHFCQUFxQjtJQUNyQixXQUFXLEVBQUE7QUFWbkI7TUFZWSxzQkFBc0IsRUFBQTtBQ1BsQztFQUNJLHlCQUw4QjtFQU05QixXQUFXO0VBQ1gsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2YsaUJBVHNCO0VBVXRCLFVBQVUsRUFBQTtBQVBkO0lBVVEsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixxQkFBcUI7SUFDckIsU0FBUztJQUNULFFBQVE7SUFDUiw2QkFBd0MsRUFBQTtBQWZoRDtJQW1CUSxzQkFBc0I7SUFDdEIsY0F4QjBCLEVBQUE7QUFJbEM7SUF5QlksNEJBN0JzQjtJQThCdEIsaUJBQWlDO0lBQ2pDLE1BQU0sRUFBQTtBQTNCbEI7SUE4Qlksb0NBQW1DLEVBQUE7QUE5Qi9DO0lBb0NZLHlCQXhDc0I7SUF5Q3RCLG9CQUFvQztJQUNwQyxTQUFTLEVBQUE7QUF0Q3JCO0lBeUNZLGlDQUFpQyxFQUFBO0FBekM3QztJQStDWSwwQkFuRHNCO0lBb0R0QixtQkFBbUM7SUFDbkMsUUFBUSxFQUFBO0FBakRwQjtJQXVEWSwyQkEzRHNCO0lBNER0QixrQkFBa0M7SUFDbEMsT0FBTyxFQUFBO0FBS25CO0VBRVEsa0JBQWtCO0VBQ2xCLFFBQVEsRUFBQTtBQ2pFaEI7RUFDSSxxQkFBcUIsRUFBQTtBQUR6QjtJQUdRLGNDTE07SURNTixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGdCQUFnQixFQUFBO0FBTnhCO0lBU1EsZ0JBQWdCO0lBQ2hCLG9CQUFvQjtJQUNwQixjQUFjLEVBQUE7QUFYdEI7SUFlUSxxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLGNBQWM7SUFDZCxXQUFXO0lBQ1gsU0FBUztJQUNULFVBQVUsRUFBQTtBQXBCbEI7TUF1QlksbUJBQW1CO01BQ25CLGtCQUFrQjtNQUNsQixrQkFBa0I7TUFDbEIsaUJBQXVFLEVBQUE7QUExQm5GO1FBOEJnQixXQUFXO1FBQ1gseUJFakNGO1FGa0NFLGtCQUFrQjtRQUNsQixVQUFvRTtRQUNwRSxXQXRDaUI7UUF1Q2pCLFVBQVU7UUFDVixXQUFXLEVBQUE7QUFwQzNCO1FBc0N3QixPQUFPLEVBQUE7QUF0Qy9CO1FBdUN1QixRQUFRLEVBQUE7QUF2Qy9CO1FBeUN3QyxRQUFRLEVBQUE7QUF6Q2hEO1FBMENzQyxRQUFRLEVBQUE7QUExQzlDO1FBNkNnQix5QkUvQ0Y7UUZnREUsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsY0FBYztRQUNkLFlBckRPO1FBc0RQLFdBdERPO1FBdURQLGNBQWM7UUFDZCxNQUFNO1FBQ04sT0FBTztRQUNQLFFBQVEsRUFBQTtBQXZEeEI7VUEwRG9CLGFBQWEsRUFBQTtBQTFEakM7VUE4RG9CLGtCQUFrQjtVQUNsQixrQkFBa0I7VUFDbEIsY0FBYztVQUNkLGVBbkVLO1VBb0VMLFlBQWdFO1VBQ2hFLFdBQStEO1VBQy9ELFdBQVc7VUFDWCxPQUFPO1VBQ1AsUUFBUSxFQUFBO0FBdEU1QjtRQTJFZ0Isa0JBQWtCO1FBQ2xCLGNFaEZFO1FGaUZGLDBCQUEwQjtRQUMxQixlQUFlO1FBQ2YsZ0JBQWdCLEVBQUE7QUEvRWhDO1FBb0ZvQix5QkN6RkgsRUFBQTtBREtqQjtVQXNGd0Isc0JBQXNCO1VBQ3RCLHlCQzVGUCxFQUFBO0FES2pCO1FBMkZvQix5QkNoR0gsRUFBQTtBREtqQjtRQStGd0IseUJDcEdQLEVBQUE7QURLakI7UUFzR29CLHlCQzNHSCxFQUFBO0FES2pCO1VBd0d3QixXRXZHWjtVRndHWSxnQkFBZ0IsRUFBQTtBQXpHeEM7UUE4R29CLHlCQ25ISCxFQUFBO0FFU2I7TUhKSjtRQW9IZ0IsaUJBQXVFLEVBQUE7UUFwSHZGO1VBd0hvQixTQUFvRSxFQUFBO1FBeEh4RjtVQTRIb0IsWUEvSGE7VUFnSWIsV0FoSWE7VUFpSWIsY0FBYyxFQUFBO1VBOUhsQztZQWdJd0IsWUFBZ0U7WUFDaEUsV0FBK0QsRUFBQTtRQWpJdkY7VUF1STRCLGlCQUFpQixFQUFBLEVBQ3BCO0FHOUhyQjtNSFZKO1FBZ0pnQixpQkFBdUUsRUFBQTtRQWhKdkY7VUFvSm9CLFNBQW9FLEVBQUE7UUFwSnhGO1VBd0pvQixZQTNKdUI7VUE0SnZCLFdBNUp1QjtVQTZKdkIsY0FBYyxFQUFBO1VBMUpsQztZQTRKd0IsWUFBZ0U7WUFDaEUsV0FBK0QsRUFBQTtRQTdKdkY7VUFtSzRCLGlCQUFpQixFQUFBLEVBQ3BCO0FJbktyQjtFQUVRLGFBTEs7RUFNTCxZQU5LLEVBQUE7QUFTYjtFQUVRLFdBWk87RUFhUCxVQWJPO0VBY1AsY0FkTztFQWdCUCxzQkFBc0IsRUFBQTtBQUc5QjtFQUNJLHFCQUFxQjtFQUNyQixlQUFlO0VBQ2Ysb0JBQW9CO0VBQ3BCLGtCQUFrQjtFQUNsQixnQkF2QlM7RUF3QlQsZ0JBeEJTO0VBeUJULGlCQXpCUyxFQUFBO0FDRmI7RUFDSSx3QkFBd0I7RUFDeEIsaUNBQWdDO0VBQ2hDLHlOQUdzRDtFQUN0RCxtQkFBbUI7RUFDbkIsa0JBQWtCLEVBQUE7QWJnUjFCO0VhNVFRLG1DQUFtQztFQUNuQyx3QkFBd0I7RUFDeEIsNkJBQTZCO0VBQzdCLDhCQUE4QjtFQUM5QiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLFdBQVc7RUFDWCxjQUFjO0VBQ2QsbUNBQW1DO0VBQ25DLGtDQUFrQyxFQUFBO0FiK1ExQzs7RWExUVEsbUNBQW1DO0VBQ25DLDZCQUE2QjtFQUM3Qiw4QkFBOEI7RUFDOUIsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQixXQUFXO0VBQ1gsY0FBYztFQUNkLG1DQUFtQztFQUNuQyxrQ0FBa0MsRUFBQTtBQUdwQztFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNB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Z0JBQWdCLEVBQUE7QUFFbEI7RUFDRSxZQUFZO0VBQ1osYUFBYTtFQUNiLGNBQWMsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2Vucm9sbG1lbnQtY29tbW9uL2NvbXBvbmVudHMvdXBsb2FkLWZpbGUvdXBsb2FkLWZpbGUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuKiAgSGVscGVyIG1peGluIHRvIGNyZWF0ZSBhIGxpbmVhci1ncmFkaWVudFxyXG4qXHJcbiovXHJcbkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9ybGlzdCkge1xyXG4gICAgQGlmIG5vdCBpcy1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xyXG4gICAgICAgICRjb2xvcmxpc3Q6ICRkaXJlY3Rpb24sICRjb2xvcmxpc3Q7XHJcbiAgICAgICAgJGRpcmVjdGlvbjogMGRlZztcclxuICAgIH1cclxuICAgIGJhY2tncm91bmQ6IG50aChudGgoJGNvbG9ybGlzdCwgMSksIDEpO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVnYWN5LWRpcmVjdGlvbigkZGlyZWN0aW9uKSwgJGNvbG9ybGlzdCk7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9ybGlzdCk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBpcy1kaXJlY3Rpb24oJHZhbHVlKSB7XHJcbiAgICAkaXMta2V5d29yZDogaW5kZXgoKHRvIHRvcCwgdG8gdG9wIHJpZ2h0LCB0byByaWdodCB0b3AsIHRvIHJpZ2h0LCB0byBib3R0b20gcmlnaHQsIHRvIHJpZ2h0IGJvdHRvbSwgdG8gYm90dG9tLCB0byBib3R0b20gbGVmdCwgdG8gbGVmdCBib3R0b20sIHRvIGxlZnQsIHRvIGxlZnQgdG9wLCB0byB0b3AgbGVmdCksICR2YWx1ZSk7XHJcbiAgICAkaXMtYW5nbGU6IHR5cGUtb2YoJHZhbHVlKT09J251bWJlcicgYW5kIGluZGV4KCdkZWcnICdncmFkJyAndHVybicgJ3JhZCcsIHVuaXQoJHZhbHVlKSk7XHJcbiAgICBAcmV0dXJuICRpcy1rZXl3b3JkIG9yICRpcy1hbmdsZTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGxlZ2FjeS1kaXJlY3Rpb24oJHZhbHVlKSB7XHJcbiAgICBAaWYgaXMtZGlyZWN0aW9uKCR2YWx1ZSk9PWZhbHNlIHtcclxuICAgICAgICBAZXJyb3IgXCJDYW5ub3QgY29udmVydCBgI3skdmFsdWV9YCB0byBsZWdhY3kgc3ludGF4IGJlY2F1c2UgaXQgZG9lc24ndCBzZWVtIHRvIGJlIGEgZGlyZWN0aW9uLlwiO1xyXG4gICAgfVxyXG4gICAgJGNvbnZlcnNpb24tbWFwOiAoIHRvIHRvcDogYm90dG9tLCB0byB0b3AgcmlnaHQ6IGJvdHRvbSBsZWZ0LCB0byByaWdodCB0b3A6IGxlZnQgYm90dG9tLCB0byByaWdodDogbGVmdCwgdG8gYm90dG9tIHJpZ2h0OiB0b3AgbGVmdCwgdG8gcmlnaHQgYm90dG9tOiBsZWZ0IHRvcCwgdG8gYm90dG9tOiB0b3AsIHRvIGJvdHRvbSBsZWZ0OiB0b3AgcmlnaHQsIHRvIGxlZnQgYm90dG9tOiByaWdodCB0b3AsIHRvIGxlZnQ6IHJpZ2h0LCB0byBsZWZ0IHRvcDogcmlnaHQgYm90dG9tLCB0byB0b3AgbGVmdDogYm90dG9tIHJpZ2h0KTtcclxuICAgIEBpZiBtYXAtaGFzLWtleSgkY29udmVyc2lvbi1tYXAsICR2YWx1ZSkge1xyXG4gICAgICAgIEByZXR1cm4gbWFwLWdldCgkY29udmVyc2lvbi1tYXAsICR2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBAcmV0dXJuIDkwZGVnIC0gJHZhbHVlO1xyXG59IiwiLyoqXHJcbiogIEhlbHBlciBtaXhpbiB0byBjcmVhdGUgYSBsaW5lYXItZ3JhZGllbnRcclxuKlxyXG4qL1xuLypcclxuaHRtbCxcclxuYm9keSB7XHJcbiAgICBmb250LWZhbWlseTogJ0xpYnJlIEZyYW5rbGluJywgJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XHJcbiAgICAvLyBjb2xvcjogdGhlbWlmeSh0ZXh0KTtcclxufVxyXG5cclxuXHJcblxyXG5hIHtcclxuICAgIGNvbG9yOiB0aGVtaWZ5KGxpbmspO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLnJvdW5kLWltYWdlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxufVxyXG5cclxuXHJcbiovXG4uZmNvbnRhaW5lci1mbHVpZCxcbi5mY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmZjb250YWluZXItZmx1aWQge1xuICBwYWRkaW5nOiAwIDJyZW07IH1cblxuLmZyb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDEgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5mcm93LnJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4uZmlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG5cbi5yZXNldC1wYWRkaW5nIHtcbiAgcGFkZGluZzogMDsgfVxuXG4ucmVzZXQtbWFyZ2luIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi51ay1idG4ubm9uZSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnVrLWJ0bi5pY29uIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnVrLXNoYWRvdy0wIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi51ay1zaGFkb3ctMSB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4udWstc2hhZG93LTEtaGFsZiB7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDdweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDFweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4udWstc2hhZG93LTIge1xuICBib3gtc2hhZG93OiAwIDRweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi51ay1zaGFkb3ctMyB7XG4gIGJveC1zaGFkb3c6IDAgNnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCAxOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi51ay1zaGFkb3ctNCB7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4udWstc2hhZG93LTUge1xuICBib3gtc2hhZG93OiAwIDE2cHggMjRweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCA2cHggMzBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCA4cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4udWstbmF2IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIC51ay1uYXYgLnVrLW5hdi1pdGVtIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwcHg7IH1cbiAgICAudWstbmF2IC51ay1uYXYtaXRlbTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyB9XG5cbi51ay10b29sdGlwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI5MzU0MTtcbiAgY29sb3I6ICNGRkY7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbWF4LXdpZHRoOiAyODBweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgei1pbmRleDogMjsgfVxuICAudWstdG9vbHRpcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBib3JkZXI6IHNvbGlkIDZweCB0cmFuc3BhcmVudDsgfVxuICAudWstdG9vbHRpcC53aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICBjb2xvcjogIzI5MzU0MTsgfVxuICAudWstdG9vbHRpcC5ib3R0b206OmJlZm9yZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzI5MzU0MTtcbiAgICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgICB0b3A6IDA7IH1cbiAgLnVrLXRvb2x0aXAuYm90dG9tLndoaXRlOjpiZWZvcmUge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNGRkYgIWltcG9ydGFudDsgfVxuICAudWstdG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzI5MzU0MTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMTJweDtcbiAgICBib3R0b206IDA7IH1cbiAgLnVrLXRvb2x0aXAudG9wLndoaXRlOjpiZWZvcmUge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNGRkYgIWltcG9ydGFudDsgfVxuICAudWstdG9vbHRpcC5sZWZ0OjpiZWZvcmUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjMjkzNTQxO1xuICAgIG1hcmdpbi1yaWdodDogLTEycHg7XG4gICAgcmlnaHQ6IDA7IH1cbiAgLnVrLXRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMjkzNTQxO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTJweDtcbiAgICBsZWZ0OiAwOyB9XG5cbi51ay1sYWJlbC51ay10b29sdGlwLWhvc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNXB4OyB9XG5cbi51ay1zdGVwcGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10aXRsZSB7XG4gICAgY29sb3I6ICMyODM1NDE7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZy10b3A6IDdweDsgfVxuICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3Mtc3RlcC1ib2R5IHtcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctdG9wOiAyN3B4OyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmJlZm9yZSwgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzlDQ0NGO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogOC41cHg7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB6LWluZGV4OiAtMTsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiAwOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0M5Q0NDRjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgcGFkZGluZzogMCA0cHg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcCAudWstaWNvbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwOjpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXByb2dyZXNzLXRleHQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGNvbG9yOiAjNUY2ODcxO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuYWN0aXZlIC51ay1zdGVwLWljb24td3JhcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmFjdGl2ZSAudWstc3RlcC1pY29uLXdyYXA6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAycHggI0ZGRjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4MjU3OyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuYWN0aXZlOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4MjU3OyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuYWN0aXZlLndpcDo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4MjU3OyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuZG9uZSAudWstc3RlcC1pY29uLXdyYXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4MjU3OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5kb25lIC51ay1zdGVwLWljb24td3JhcCAudWstaWNvbiB7XG4gICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgZGlzcGxheTogaW5pdGlhbDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmRvbmU6OmJlZm9yZSwgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmRvbmU6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlODI1NzsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMnB4OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YmVmb3JlLCAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDExcHg7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcCB7XG4gICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgNnB4OyB9XG4gICAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogMjFweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMXB4OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmUgLnVrLXN0ZXAtaWNvbi13cmFwOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci13aWR0aDogM3B4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAge1xuICAgICAgICBwYWRkaW5nLXRvcDogNDJweDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmJlZm9yZSwgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjphZnRlciB7XG4gICAgICAgICAgdG9wOiAxNnB4OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXAge1xuICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDhweDsgfVxuICAgICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXA6OmJlZm9yZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMxcHg7XG4gICAgICAgICAgICB3aWR0aDogMzFweDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuYWN0aXZlIC51ay1zdGVwLWljb24td3JhcDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDRweDsgfSB9XG5cbi51ay1idG4uaWNvbiAudWstaWNvbiB7XG4gIGhlaWdodDogMS41ZW07XG4gIHdpZHRoOiAxLjVlbTsgfVxuXG4udWstYnRuIC51ay1pY29uIHtcbiAgaGVpZ2h0OiAxZW07XG4gIHdpZHRoOiAxZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi51ay1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIHN0cm9rZTogY3VycmVudENvbG9yO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIG1heC13aWR0aDogMS41ZW07XG4gIG1heC1oZWlnaHQ6IDEuNWVtOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJib2ZpLWljb25cIjtcbiAgc3JjOiB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi5lb3RcIik7XG4gIHNyYzogdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24uZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi9hc3NldHMvYm9maS1pY29uLnN2ZyNib2ZpLWljb25cIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuW2RhdGEtaWNvbl06YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiYm9maS1pY29uXCIgIWltcG9ydGFudDtcbiAgY29udGVudDogYXR0cihkYXRhLWljb24pO1xuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbltjbGFzc149XCJib2ZpLVwiXTpiZWZvcmUsXG5bY2xhc3MqPVwiIGJvZmktXCJdOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiICFpbXBvcnRhbnQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuLmJvZmktcmVjdXJyaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2MVwiOyB9XG5cbi5ib2ZpLWViaWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2N1wiOyB9XG5cbi5ib2ZpLWFkZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmZcIjsgfVxuXG4uYm9maS1hdG06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDcxXCI7IH1cblxuLmJvZmktYXV0b21hdGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3MlwiOyB9XG5cbi5ib2ZpLWJhbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDczXCI7IH1cblxuLmJvZmktYmFua2ZlZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc0XCI7IH1cblxuLmJvZmktZGF0ZXBpY2tlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmFcIjsgfVxuXG4uYm9maS1kZXBvc2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3N1wiOyB9XG5cbi5ib2ZpLWVkaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc4XCI7IH1cblxuLmJvZmktZmFxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3YVwiOyB9XG5cbi5ib2ZpLW1lc3NhZ2VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0MVwiOyB9XG5cbi5ib2ZpLW1lbnU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQzXCI7IH1cblxuLmJvZmktaW50ZXJlc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY1XCI7IH1cblxuLmJvZmktcGVuZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGNcIjsgfVxuXG4uYm9maS1waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGRcIjsgfVxuXG4uYm9maS1wcmludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGZcIjsgfVxuXG4uYm9maS1yZWZ1bmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDUyXCI7IH1cblxuLmJvZmktcmVtb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1M1wiOyB9XG5cbi5ib2ZpLXN1Y2Nlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU0XCI7IH1cblxuLmJvZmktc2VhcmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1NlwiOyB9XG5cbi5ib2ZpLXBhc3N3b3JkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2ZFwiOyB9XG5cbi5ib2ZpLXVzZXJuYW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3NVwiOyB9XG5cbi5ib2ZpLWdlYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY4XCI7IH1cblxuLmJvZmktY29udGFjdC1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0MlwiOyB9XG5cbi5ib2ZpLWZpbHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzZcIjsgfVxuXG4uYm9maS1kZWJpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjJcIjsgfVxuXG4uYm9maS1zdXBwb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2OVwiOyB9XG5cbi5ib2ZpLXVzZXItc2V0dGluZ3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDcwXCI7IH1cblxuLmJvZmktYWNjb3VudHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY0XCI7IH1cblxuLmJvZmktdHJhbnNmZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY2XCI7IH1cblxuLmJvZmktcGhvdG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc5XCI7IH1cblxuLmJvZmktY2hlY2stbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDZcIjsgfVxuXG4uYm9maS1pbmZvcm1hdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDlcIjsgfVxuXG4uYm9maS1jaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0YlwiOyB9XG5cbi5ib2ZpLWNhbmNlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGVcIjsgfVxuXG4uYm9maS1zZW5kLWljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU1XCI7IH1cblxuLmJvZmktd2FybmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNThcIjsgfVxuXG4uYm9maS11cGxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDVhXCI7IH1cblxuLmJvZmktdGh1bWJzdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDMwXCI7IH1cblxuLmJvZmktcGRmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0N1wiOyB9XG5cbi5ib2ZpLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0OFwiOyB9XG5cbi5ib2ZpLXN0YXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDM2XCI7IH1cblxuLmJvZmktY2FtZXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzMlwiOyB9XG5cbi5ib2ZpLWRlbGl2ZXJ5LW1ldGhvZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzRcIjsgfVxuXG4uYm9maS1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzdcIjsgfVxuXG4uYm9maS1lYmlsbC1wYXliaWxsczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzhcIjsgfVxuXG4uYm9maS1mbGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMlwiOyB9XG5cbi5ib2ZpLWFsZXJ0LWhpc3Rvcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI0XCI7IH1cblxuLmJvZmktbW9iaWxlZGVwb3NpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjhcIjsgfVxuXG4uYm9maS1vbmV0aW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyOVwiOyB9XG5cbi5ib2ZpLXBlcnNvbmFsLW1lc3NhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDJjXCI7IH1cblxuLmJvZmktdGV4dC1tZXNzYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0YVwiOyB9XG5cbi5ib2ZpLWV5ZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1MFwiOyB9XG5cbi5ib2ZpLWF0dGFjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTFcIjsgfVxuXG4uYm9maS1sb2dvdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZiXCI7IH1cblxuLmJvZmktY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ1XCI7IH1cblxuLmJvZmktZ2Vhci1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU3XCI7IH1cblxuLmJvZmktdGh1bWJzdXAtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1OVwiOyB9XG5cbi5ib2ZpLW1vZGFsLXNlbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZjXCI7IH1cblxuLmJvZmktYWRkLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ0XCI7IH1cblxuLmJvZmktZ3JvdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDMzXCI7IH1cblxuLmJvZmktaG9tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzVcIjsgfVxuXG4uYm9maS1wZXJzb25hbC1pbmZvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzOVwiOyB9XG5cbi5ib2ZpLXBlcnNvbi1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjFcIjsgfVxuXG4uYm9maS1wZXJzb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIzXCI7IH1cblxuLmJvZmktc2lnbmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyNVwiOyB9XG5cbi5ib2ZpLWRhdGVwaWNrZXItMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjZcIjsgfVxuXG4uYm9maS1yZWZ1bmQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjNcIjsgfVxuXG4uYm9maS1yZWN1cnJpbmctMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjdcIjsgfVxuXG4uYm9maS1tZXNzYWdlcy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyYVwiOyB9XG5cbi5ib2ZpLWZhcS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyYlwiOyB9XG5cbi5ib2ZpLWdlYXItMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMmRcIjsgfVxuXG4uYm9maS1yZW1vdmUtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMmVcIjsgfVxuXG4uYm9maS1yZWZ1bmQtMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMmZcIjsgfVxuXG4uYm9maS11c2VybmFtZS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzYVwiOyB9XG5cbi5ib2ZpLXNlYXJjaC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzYlwiOyB9XG5cbi5ib2ZpLXBhc3N3b3JkLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNjXCI7IH1cblxuLmJvZmktZGFzaGJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzZFwiOyB9XG5cbi5ib2ZpLWF0bS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzZVwiOyB9XG5cbi5ib2ZpLXBlbmRpbmctMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcM2ZcIjsgfVxuXG4uYm9maS1zdWNjZXNzLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQwXCI7IH1cblxuLmJvZmktcGhvbmUtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNWJcIjsgfVxuXG4uYm9maS1wcmludC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1ZFwiOyB9XG5cbi5ib2ZpLW1lbnUtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNWVcIjsgfVxuXG4uYm9maS1pbnRlcmVzdC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1ZlwiOyB9XG5cbi5ib2ZpLWljLWNvbnRhY3QtbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjBcIjsgfVxuXG4uYm9maS1kZXBvc2l0LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDdiXCI7IH1cblxuLmJvZmktYXV0b21hdGljLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDdjXCI7IH1cblxuLmJvZmktYXV0b21hdGljcGF5bWVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2RcIjsgfVxuXG4uYm9maS1iYW5rLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDdlXCI7IH1cblxuLmJvZmktYmFua2ZlZXMtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNWNcIjsgfVxuXG4uYm9maS1lZGl0LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDBcIjsgfVxuXG4uYm9maS0xNDk4MTk1NTkyLWljb24xNS04OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2ZVwiOyB9XG5cbi5ib2ZpLWFycm93LWNoZXZyb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDMxXCI7IH1cblxuLmNkay1vdmVybGF5LWNvbnRhaW5lcixcbi5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlciB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNkay1vdmVybGF5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMDsgfVxuXG4uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMDA7IH1cblxuLmNkay1vdmVybGF5LXBhbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB6LWluZGV4OiAxMDAwOyB9XG5cbi5jZGstb3ZlcmxheS1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtcbiAgb3BhY2l0eTogMDsgfVxuICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yODgpOyB9XG5cbi5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzay1ib3VuY2VkZWxheSB7XG4gIDAlLCA4MCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2stYm91bmNlZGVsYXkge1xuICAwJSwgODAlLCAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJpcHBsZSB7XG4gIDUlLFxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIHJpcHBsZSB7XG4gIDUlLFxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQC1vLWtleWZyYW1lcyByaXBwbGUge1xuICA1JSxcbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1JSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcmlwcGxlIHtcbiAgNSUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNSUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4udWstZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWluLWhlaWdodDogMThweDsgfVxuICAudWstZm9ybS1jb250cm9sX192YWx1ZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICBtYXgtd2lkdGg6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG1pbi1oZWlnaHQ6IDQ4cHg7IH1cbiAgLnVrLWZvcm0tY29udHJvbF9fYWRkb24ge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmFsZXJ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGhlaWdodDogNDZweDtcbiAgY29sb3I6IGJsYWNrO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmFsZXJ0IC5pY29uIHtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDsgfVxuICAuYWxlcnQgLmNsb3NlLWljb24ge1xuICAgIGZvbnQtc2l6ZTogNi4yMjg1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG4gIC5hbGVydCAuY2hpbGQtLWZlYXR1cmVkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEzcHg7XG4gICAgZmxleC1ncm93OiAxOyB9XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgOmhvc3QgLnRpdGxlLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgOmhvc3QgLmN1cnNvci1wb2ludGVyOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgOmhvc3QgLnVwbG9hZC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5NDlBQTA7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4OyB9XG4gICAgOmhvc3QgLnVwbG9hZC1jb250ZW50IC51cGxvYWQtY29udGFpbmVyIHtcbiAgICAgIGJvcmRlcjogMnB4IGRhc2hlZCAjOTQ5QUEwO1xuICAgICAgbWluLWhlaWdodDogMTU2cHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgOmhvc3QgLnVwbG9hZC1jb250ZW50IC51cGxvYWQtY29udGFpbmVyIC5pY29uLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luOiA0MHB4IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAgICAgICA6aG9zdCAudXBsb2FkLWNvbnRlbnQgLnVwbG9hZC1jb250YWluZXIgLmljb24tY29udGFpbmVyIHN2ZyB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogNHB4OyB9XG4gICAgICAgIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgICAgICAgOmhvc3QgLnVwbG9hZC1jb250ZW50IC51cGxvYWQtY29udGFpbmVyIC5pY29uLWNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogMTcwcHg7IH1cbiAgICAgICAgICAgIDpob3N0IC51cGxvYWQtY29udGVudCAudXBsb2FkLWNvbnRhaW5lciAuaWNvbi1jb250YWluZXIgaW1nIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDg1cHg7XG4gICAgICAgICAgICAgIGhlaWdodDogNDhweDsgfSB9XG4gICAgICAgIDpob3N0IC51cGxvYWQtY29udGVudCAudXBsb2FkLWNvbnRhaW5lciAuaWNvbi1jb250YWluZXIgPiAqIHtcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgICAgICAgIDpob3N0IC51cGxvYWQtY29udGVudCAudXBsb2FkLWNvbnRhaW5lciAuaWNvbi1jb250YWluZXIgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgOmhvc3QgLnVwbG9hZC1jb250ZW50IC51cGxvYWQtY29udGFpbmVyIC5maWxlLXByZXZpZXcge1xuICAgICAgICBwYWRkaW5nOiAzcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAgICAgICA6aG9zdCAudXBsb2FkLWNvbnRlbnQgLnVwbG9hZC1jb250YWluZXIgLmZpbGUtcHJldmlldyBpZnJhbWUge1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgICAgIDpob3N0IC51cGxvYWQtY29udGVudCAudXBsb2FkLWNvbnRhaW5lciAuZmlsZS1wcmV2aWV3ID4gaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWF4LWhlaWdodDogMTUwcHg7IH1cbiAgICA6aG9zdCAudXBsb2FkLWNvbnRlbnQgLnN0YXR1cyB7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5uZzItcGRmLXZpZXdlci1jb250YWluZXIge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi52aWV3ZXItc3R5bGUge1xuICB3aWR0aDogMTUwcHg7XG4gIGhlaWdodDogMTUwcHg7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4iLCIvLyBAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUxpYnJlK0ZyYW5rbGluOjMwMCw0MDAsNTAwLDYwMCw3MDAnKTtcclxuQGltcG9ydCAnLi9fZm9udC5zY3NzJztcclxuQGltcG9ydCAnLi9fc3Itb25seS5zY3NzJztcclxuXHJcbkBtaXhpbiB1ay1nbG9iYWwoJHVrLXRoZW1lKSB7XHJcbiAgICAkZm9udC1jb25maWc6IG1hcC1nZXQoJHVrLXRoZW1lLCBmb250cyk7XHJcbiAgICAkZm9udC1mYW1pbGllczogbWFwLWdldCgkZm9udC1jb25maWcsIGZhbWlsaWVzKTtcclxuICAgICRmb250LXNpemVzOiBtYXAtZ2V0KCRmb250LWNvbmZpZywgc2l6ZXMpO1xyXG5cclxuICAgIEBlYWNoICRmb250LWZhbWlseSwgJHZhbHVlIGluICRmb250LWZhbWlsaWVzIHtcclxuICAgICAgICAkZm9udC11cmw6IG1hcC1nZXQoJHZhbHVlLCB1cmwpO1xyXG4gICAgICAgIEBpZiAkZm9udC11cmwge1xyXG4gICAgICAgICAgICBAaW1wb3J0IHVybCgkZm9udC11cmwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAkcHJpbWFyeS1mb250LWZhbWlsaXk6IG1hcC1nZXQoJGZvbnQtZmFtaWxpZXMsIHByaW1hcnkpO1xyXG5cclxuICAgIGh0bWwgeyBcclxuICAgICAgICBib2R5IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogbWFwLWdldCgkcHJpbWFyeS1mb250LWZhbWlsaXksIG5hbWUpLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcHJpbWFyeS1mb250LWZhbWlsaXksIGNvbG9yKTtcclxuICAgICAgICAgICAgQGNvbnRlbnRcclxuICAgICAgICB9XHJcbiAgICAgICAgaDEsXHJcbiAgICAgICAgaDIsXHJcbiAgICAgICAgaDMsXHJcbiAgICAgICAgaDQsXHJcbiAgICAgICAgaDUsXHJcbiAgICAgICAgaDYge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB1ay1mb250cygkZm9udC1zaXplcyk7XHJcbiAgICAgICAgLnNyLW9ubHl7IEBpbmNsdWRlIHNyLW9ubHkoKTsgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKlxyXG5odG1sLFxyXG5ib2R5IHtcclxuICAgIGZvbnQtZmFtaWx5OiAnTGlicmUgRnJhbmtsaW4nLCAnSGVsdmV0aWNhJywgc2Fucy1zZXJpZjtcclxuICAgIC8vIGNvbG9yOiB0aGVtaWZ5KHRleHQpO1xyXG59XHJcblxyXG5cclxuXHJcbmEge1xyXG4gICAgY29sb3I6IHRoZW1pZnkobGluayk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4ucm91bmQtaW1hZ2Uge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG59XHJcblxyXG5cclxuKi8iLCIkY29udGFpbmVyLXdpZHRoOihzbTo0OXJlbSwgbWQ6NjVyZW0sIGxnOjc2cmVtKTtcclxuLmZjb250YWluZXItZmx1aWQsXHJcbi5mY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4uZmNvbnRhaW5lci1mbHVpZCB7XHJcbiAgICBwYWRkaW5nOiAwIDJyZW07XHJcbn1cclxuXHJcbkBtaXhpbiBjb250YWluZXIoJGtleSkge1xyXG4gICAgQGlmKCRrZXk9PSdsZycpIHtcclxuICAgICAgICAuY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGNvbnRhaW5lci13aWR0aCwgJGtleSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYoJGtleT09J21kJykge1xyXG4gICAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkY29udGFpbmVyLXdpZHRoLCAka2V5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZigka2V5PT0nc20nKSB7XHJcbiAgICAgICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRjb250YWluZXItd2lkdGgsICRrZXkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5mcm93IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4OiAwIDEgYXV0bztcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAmLnJldmVyc2Uge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5maW5saW5lIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IH0iLCIucmVzZXQtcGFkZGluZ3tcclxuICAgIHBhZGRpbmc6MDtcclxufVxyXG4ucmVzZXQtbWFyZ2lue1xyXG4gICAgbWFyZ2luOjA7XHJcbn1cclxuLnVrLWJ0biB7XHJcbiAgICAmLm5vbmUge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAvL291dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgbWluLXdpZHRoOiAwO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgICYuaWNvbiB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gICIsIi8vIFotbGV2ZWxzXHJcbi4jeyRwcmVmaXh9LXNoYWRvdy0wIHtcclxuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTEge1xyXG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxufVxyXG4uI3skcHJlZml4fS1zaGFkb3ctMS1oYWxmIHtcclxuICBib3gtc2hhZG93OiAwIDNweCAzcHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA3cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDNweCAxcHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTIge1xyXG4gIGJveC1zaGFkb3c6IDAgNHB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTMge1xyXG4gIGJveC1zaGFkb3c6IDAgNnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCAxOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG59XHJcbi4jeyRwcmVmaXh9LXNoYWRvdy00IHtcclxuICBib3gtc2hhZG93OiAwIDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTUge1xyXG4gIGJveC1zaGFkb3c6IDAgMTZweCAyNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDZweCAzMHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDhweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG59IiwiLnVrLW5hdntcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHJcbiAgICAudWstbmF2LWl0ZW17XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMHB4O1xyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiJHRvb2x0aXAtaGVpZ2h0OiAyOHB4O1xyXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAjMjkzNTQxO1xyXG4kdG9vbHRpcC1wYWRkaW5nOiA1cHggMTBweDtcclxuJHRvb2x0aXAtYXJyb3c6IDZweDtcclxuXHJcbi51ay10b29sdGlwIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICBjb2xvcjogI0ZGRjtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIG1heC13aWR0aDogMjgwcHg7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xyXG4gICAgei1pbmRleDogMjtcclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGJvcmRlcjogc29saWQgJHRvb2x0aXAtYXJyb3cgdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi53aGl0ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcclxuICAgICAgICBjb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAmLmJvdHRvbSB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogKC0yICogJHRvb2x0aXAtYXJyb3cpO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYud2hpdGU6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6I0ZGRiAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnRvcCB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogKC0yICogJHRvb2x0aXAtYXJyb3cpO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYud2hpdGU6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICNGRkYgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5sZWZ0IHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAoLTIgKiAkdG9vbHRpcC1hcnJvdyk7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnJpZ2h0IHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAoLTIgKiAkdG9vbHRpcC1hcnJvdyk7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udWstbGFiZWwge1xyXG4gICAgJi51ay10b29sdGlwLWhvc3Qge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IDVweDtcclxuICAgIH1cclxufVxyXG4iLCIkdWstcHJvZ3Jlc3MtYmFyLWxhYmxlLXNwYWNlOiA3cHg7XHJcbiR1ay1wcm9ncmVzcy1iYXItbGluZS1oZWlnaHQ6IDNweDtcclxuJHJpcHBsZS1zaXplOiAoeHM6IDIwcHgsIHNtOiAyNXB4LCBtZDogMzVweCk7XHJcbiRyaXBwbGUtYm9yZGVyLXdpZHRoOiAycHg7XHJcblxyXG4udWstc3RlcHBlcntcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIC51ay1wcm9ncmVzcy10aXRsZSB7XHJcbiAgICAgICAgY29sb3I6IHRoZW1pZnkodGV4dCwgJHRoZW1lKTtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogN3B4O1xyXG4gICAgfVxyXG4gICAgLnVrLXByb2dyZXNzLXN0ZXAtYm9keXtcclxuICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC51ay1wcm9ncmVzcy10cmFjayB7XHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAgIC51ay1wcm9ncmVzcy1zdGVwIHtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3hzJykgKyAkdWstcHJvZ3Jlc3MtYmFyLWxhYmxlLXNwYWNlO1xyXG5cclxuICAgICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkoZ3JheSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogKG1hcC1nZXQoJHJpcHBsZS1zaXplLCAneHMnKSAtICR1ay1wcm9ncmVzcy1iYXItbGluZS1oZWlnaHQpIC8yO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkdWstcHJvZ3Jlc3MtYmFyLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7IGxlZnQ6IDA7IH1cclxuICAgICAgICAgICAgJjo6YWZ0ZXIgeyByaWdodDogMDsgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7ICY6OmJlZm9yZSB7IHdpZHRoOiAwOyB9fVxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQgeyAmOjphZnRlciB7IHdpZHRoOiAwOyB9fVxyXG5cclxuICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkoZ3JheSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAneHMnKTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3hzJyk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDRweDtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAudWstaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJHJpcHBsZS1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3hzJykgLSAoMiAqICRyaXBwbGUtYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLXNpemUsICd4cycpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnVrLXByb2dyZXNzLXRleHQge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHRoZW1pZnkoaW5hY3RpdmUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcdFxyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IHNvbGlkIDJweCAjRkZGO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLndpcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmRvbmV7XHJcbiAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgICAgICAudWstaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB0aGVtaWZ5KHdoaXRlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbml0aWFsO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgc20ge1xyXG4gICAgICAgICAgICAudWstcHJvZ3Jlc3Mtc3RlcCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdzbScpICsgJHVrLXByb2dyZXNzLWJhci1sYWJsZS1zcGFjZTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogKG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnc20nKSAtICR1ay1wcm9ncmVzcy1iYXItbGluZS1oZWlnaHQpIC8yO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3NtJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnc20nKTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDZweDtcclxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnc20nKSAtICgyICogJHJpcHBsZS1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdzbScpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZCB7XHJcbiAgICAgICAgICAgIC51ay1wcm9ncmVzcy1zdGVwIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJykgKyAkdWstcHJvZ3Jlc3MtYmFyLWxhYmxlLXNwYWNlO1xyXG5cclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IChtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJykgLSAkdWstcHJvZ3Jlc3MtYmFyLWxpbmUtaGVpZ2h0KSAvMjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdtZCcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3Jle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnbWQnKSAtICgyICogJHJpcHBsZS1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdtZCcpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiJHByaW1hcnk6ICMxZTgyNTcgIWRlZmF1bHQ7XHJcbiRzZWNvbmRhcnk6ICNGQUE3NEEgIWRlZmF1bHQ7XHJcbiRsaW5rOiAjMTE1M2I1ICFkZWZhdWx0O1xyXG4kdGV4dDogIzI4MzU0MSAhZGVmYXVsdDtcclxuJGdyYXk6ICNiZWMxYzUgIWRlZmF1bHQ7XHJcbiRpbmFjdGl2ZTogIzZjNzc4MSAhZGVmYXVsdDtcclxuJG11dGVkOiAjZWVlZmYyICFkZWZhdWx0O1xyXG4kbGlnaHQ6ICNmNGY1ZjcgIWRlZmF1bHQ7XHJcbiRlcnJvcjogI2NiMmQwZSAhZGVmYXVsdDtcclxuJHdhcm5pbmc6ICNlMzc5MzYgIWRlZmF1bHQ7XHJcbiRzdWNjZXNzOiAjMjI5ODZjICFkZWZhdWx0O1xyXG4kaW5mbzogIzZhYTVmMiAhZGVmYXVsdDtcclxuJGFjY2VudC0xOiAjNjhjYzlhICFkZWZhdWx0O1xyXG4kYWNjZW50LTI6ICRpbmZvICFkZWZhdWx0O1xyXG4kd2hpdGU6ICNmZmYgIWRlZmF1bHQ7XHJcblxyXG4kYnRuLWJhc2U6IChcclxuICBoZWlnaHQ6IDUycHgsXHJcbiAgd2lkdGg6IDE3NXB4LFxyXG4gIHBhZGRpbmc6IDE2cHggNDBweFxyXG4pO1xyXG5cclxuJGJ0bi1zaXplczogKGxnOihoZWlnaHQ6IDUycHgsIHBhZGRpbmc6IDE2cHggNjBweCkpICFkZWZhdWx0O1xyXG4gIFxyXG4kdGhlbWU6IChcclxuICAgIHByaW1hcnk6ICRwcmltYXJ5LFxyXG4gICAgc2Vjb25kYXJ5OiAkc2Vjb25kYXJ5LFxyXG4gICAgbGluazogJGxpbmssXHJcbiAgICB0ZXh0OiAkdGV4dCxcclxuICAgIGdyYXk6ICRncmF5LFxyXG4gICAgaW5hY3RpdmU6ICRpbmFjdGl2ZSxcclxuICAgIGxpZ2h0OiAkbGlnaHQsXHJcbiAgICBtdXRlZDogJG11dGVkLFxyXG4gICAgZXJyb3I6ICRlcnJvcixcclxuICAgIHdhcm5pbmc6ICR3YXJuaW5nLFxyXG4gICAgc3VjY2VzczogJHN1Y2Nlc3MsXHJcbiAgICBpbmZvIDogJGluZm8sXHJcbiAgICBhY2NlbnQtMTogJGFjY2VudC0xLFxyXG4gICAgYWNjZW50LTI6ICRhY2NlbnQtMixcclxuICAgIHdoaXRlOiAkd2hpdGVcclxuICApXHJcbiAgIWRlZmF1bHQ7XHJcbiRzaXplczogKFxyXG4gIHBob25lOlxyXG4gICAgKFxyXG4gICAgICAvLyBBcHByb3ZlZFxyXG4gICAgICBoMTooZm9udC1zaXplOiA1MnB4LCBsaW5lLWhlaWdodDogNThweCwgZm9udC13ZWlnaHQ6IDMwMCksXHJcbiAgICAgIGgyOihmb250LXNpemU6IDQycHgsIGxpbmUtaGVpZ2h0OiA1MHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgaDQ6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgcDooZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjRweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGxhYmVsOiAoZm9udC1zaXplOiAxNHB4LCBsaW5lLWhlaWdodDogMjBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIC8vIEVuZCBBcHByb3ZlZFxyXG4gICAgICBoMzooZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjRweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGJvZHk6KGZvbnQtc2l6ZTogMTVweCwgbGluZS1oZWlnaHQ6IDE4cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBzbWFsbDooZm9udC1zaXplOiAxNHB4LCBsaW5lLWhlaWdodDogMjBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICApLFxyXG4gIHRhYmxldDooXHJcbiAgICAgIC8vIEFwcHJvdmVkXHJcbiAgICAgIGgxOihmb250LXNpemU6IDYycHgsIGxpbmUtaGVpZ2h0OiA2OHB4LCBmb250LXdlaWdodDogMzAwKSxcclxuICAgICAgaDI6KGZvbnQtc2l6ZTogNTJweCwgbGluZS1oZWlnaHQ6IDYwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBoNDogKGZvbnQtc2l6ZTogMjBweCwgbGluZS1oZWlnaHQ6IDMwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBwOihmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgbGFiZWw6IChmb250LXNpemU6IDE0cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgLy8gRW5kIEFwcHJvdmVkXHJcbiAgICAgIGgzOihmb250LXNpemU6IDI2cHgsIGxpbmUtaGVpZ2h0OiAzMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgYm9keTooZm9udC1zaXplOiAxNXB4LCBsaW5lLWhlaWdodDogMjBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIHNtYWxsOihmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICksXHJcbiAgZGVza3RvcDooXHJcbiAgICAgIC8vIEFwcHJvdmVkXHJcbiAgICAgIGgxOiAoZm9udC1zaXplOiA3MnB4LCBsaW5lLWhlaWdodDogNzhweCwgZm9udC13ZWlnaHQ6IDMwMCksXHJcbiAgICAgIGgyOiAoZm9udC1zaXplOiA2MnB4LCBsaW5lLWhlaWdodDogNzBweCwgZm9udC13ZWlnaHQ6IDMwMCksXHJcbiAgICAgIGg0OiAoZm9udC1zaXplOiAyMHB4LCBsaW5lLWhlaWdodDogMzBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIHA6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyMnB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgbGFiZWw6IChmb250LXNpemU6IDE0cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNDAwKSxcclxuICAgICAgLy8gRW5kIEFwcHJvdmVkXHJcbiAgICAgIGgzOiAoZm9udC1zaXplOiAyNHB4LCBsaW5lLWhlaWdodDogMjhweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGJvZHk6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAxOHB4LCBmb250LXdlaWdodDogNDAwKSxcclxuICAgICAgc21hbGw6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNDAwKSxcclxuICAgIClcclxuKTtcclxuJGd1dHRlcjogMzBweDtcclxuXHJcblxyXG4vL0FOR1VMQVIgQ0RLIE9WRVJMQVkgVkFSSUFCTEVTXHJcbiRjZGstei1pbmRleC1vdmVybGF5LWNvbnRhaW5lcjogMTAwMDtcclxuJGNkay16LWluZGV4LW92ZXJsYXk6IDEwMDA7XHJcbiRjZGstei1pbmRleC1vdmVybGF5LWJhY2tkcm9wOiAxMDAwO1xyXG5cclxuLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYWxsIG9mIHRoZSBiYWNrZHJvcHNcclxuJGNkay1vdmVybGF5LWRhcmstYmFja2Ryb3AtYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI4OCk7XHJcblxyXG4vLyBEZWZhdWx0IGJhY2tkcm9wIGFuaW1hdGlvbiBpcyBiYXNlZCBvbiB0aGUgTWF0ZXJpYWwgRGVzaWduIHN3aWZ0LWVhc2Utb3V0LlxyXG4kYmFja2Ryb3AtYW5pbWF0aW9uLWR1cmF0aW9uOiA0MDBtcyAhZGVmYXVsdDtcclxuJGJhY2tkcm9wLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpICFkZWZhdWx0OyIsIi8vIEdyYXlzXHJcbiRpbmFjdGl2ZTogIzVGNjg3MTtcclxuJG1pZC1ncmF5OiAjOTQ5QUEwO1xyXG4kZ3JheTogI0M5Q0NDRjtcclxuJG11dGVkOiAjRTlFQUVDO1xyXG4kbGlnaHQ6ICNGNEY1RjU7XHJcbiR3aGl0ZTogI0ZGRjtcclxuLy8gSWxsdXN0cmF0aXZlIEljb25zXHJcbiRpbmZvOiAjNjQ5NUY2O1xyXG4kYWNjZW50LTE6ICNGRkY7XHJcbiRhY2NlbnQtMjogIzAwMDtcclxuLy8gQWxlcnRzXHJcbiRlcnJvcjogI2NiMmQwZTtcclxuJHdhcm5pbmc6ICNlMzc5MzY7XHJcbiRzdWNjZXNzOiAjMjI5ODZjO1xyXG4vLyBMaW5rc1xyXG4kbGluazogIzE3NkFDRjtcclxuJGxpbmstdmlzaXRlZDogIzU1MUE4QjsiLCIkYnJlYWtwb2ludHMgOiggeHM6NDgwcHgsIHNtOiA3NjhweCwgbWQ6OTkycHgsIGxnOiAxMjAwcHgpO1xyXG5cclxuQG1peGluIHhzIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBzbSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAnc20nKSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWQge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJ21kJykpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGxnIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICdsZycpKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuIiwiQGltcG9ydCAnLi9fZm9udC1pY29uLnNjc3MnO1xyXG5cclxuJGJ0bi1pY29uLXNpemU6IDFlbTtcclxuJGljb24tc2l6ZTogMS41ZW07XHJcblxyXG5AbWl4aW4gaWNvbnMge1xyXG4gICAgLnVrLWJ0bi5pY29ue1xyXG4gICAgICAgIC51ay1pY29ue1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRpY29uLXNpemU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkaWNvbi1zaXplO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC51ay1idG57XHJcbiAgICAgICAgLnVrLWljb257XHJcbiAgICAgICAgICAgIGhlaWdodDogJGJ0bi1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkYnRuLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkYnRuLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgLy9HZW5lcmFsXHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnVrLWljb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBzdHJva2Utd2lkdGg6IDA7XHJcbiAgICAgICAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XHJcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGljb24tc2l6ZTtcclxuICAgICAgICBtYXgtd2lkdGg6ICRpY29uLXNpemU7XHJcbiAgICAgICAgbWF4LWhlaWdodDogJGljb24tc2l6ZTtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgaWNvbnMoKTtcclxuQGluY2x1ZGUgZm9udEljb25zKCk7IiwiQG1peGluIGZvbnRJY29ucyB7XHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogXCJib2ZpLWljb25cIjtcclxuICAgICAgICBzcmM6dXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24uZW90XCIpO1xyXG4gICAgICAgIHNyYzp1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxyXG4gICAgICAgICAgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgICAgICAgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24uc3ZnI2JvZmktaWNvblwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7ICBcclxuICAgIH1cclxuXHJcbiAgICBbZGF0YS1pY29uXTpiZWZvcmUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLWljb24pO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgc3BlYWs6IG5vbmU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgW2NsYXNzXj1cImJvZmktXCJdOmJlZm9yZSxcclxuICAgICAgW2NsYXNzKj1cIiBib2ZpLVwiXTpiZWZvcmUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBzcGVhazogbm9uZTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAuYm9maS1yZWN1cnJpbmc6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1lYmlsbDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2N1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWFkZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2ZlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWF0bTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3MVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWF1dG9tYXRpYzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3MlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWJhbms6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1iYW5rZmVlczpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3NFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRhdGVwaWNrZXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kZXBvc2l0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDc3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZWRpdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3OFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWZhcTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3YVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW1lc3NhZ2VzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQxXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbWVudTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0M1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWludGVyZXN0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDY1XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGVuZGluZzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0Y1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBob25lOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDRkXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcHJpbnQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNGZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZWZ1bmQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZW1vdmU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zdWNjZXNzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDU0XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc2VhcmNoOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDU2XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGFzc3dvcmQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS11c2VybmFtZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3NVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWdlYXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjhcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jb250YWN0LWxpc3Q6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1maWx0ZXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kZWJpdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2MlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXN1cHBvcnQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjlcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS11c2VyLXNldHRpbmdzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDcwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYWNjb3VudHM6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS10cmFuc2ZlcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2NlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBob3RvOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDc5XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2hlY2stbWFyazpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0NlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWluZm9ybWF0aW9uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQ5XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2hhdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0YlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNhbmNlbDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0ZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXNlbmQtaWNvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1NVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXdhcm5pbmc6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNThcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS11cGxvYWQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS10aHVtYnN1cDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzMFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBkZjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0N1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNoZWNrOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQ4XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc3RhcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzNlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNhbWVyYTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzMlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRlbGl2ZXJ5LW1ldGhvZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzNFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRvd25sb2FkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDM3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZWJpbGwtcGF5YmlsbHM6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzhcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1mbGFnOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDIyXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYWxlcnQtaGlzdG9yeTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyNFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW1vYmlsZWRlcG9zaXQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjhcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1vbmV0aW1lOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDI5XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGVyc29uYWwtbWVzc2FnZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyY1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXRleHQtbWVzc2FnZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0YVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWV5ZS1vdXRsaW5lOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDUwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXR0YWNoOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDUxXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbG9nb3V0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDZiXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2xvc2U6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1nZWFyLWNpcmNsZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1N1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXRodW1ic3VwLWNpcmNsZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1OVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW1vZGFsLXNlbmQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hZGQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0NFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWdyb3VwOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDMzXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktaG9tZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzNVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBlcnNvbmFsLWluZm86YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzlcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZXJzb24tY2hlY2s6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZXJzb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zaWduZXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kYXRlcGlja2VyLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZWZ1bmQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2M1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXJlY3VycmluZy0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDI3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbWVzc2FnZXMtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyYVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWZhcS0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDJiXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZ2Vhci0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDJkXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcmVtb3ZlLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMmVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZWZ1bmQtMjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyZlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXVzZXJuYW1lLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcM2FcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zZWFyY2gtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzYlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBhc3N3b3JkLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcM2NcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kYXNoYm9hcmQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcM2RcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hdG0tMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBlbmRpbmctMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzZlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXN1Y2Nlc3MtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0MFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBob25lLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wcmludC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDVkXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbWVudS0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDVlXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktaW50ZXJlc3QtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1ZlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWljLWNvbnRhY3QtbGlzdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2MFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRlcG9zaXQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3YlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWF1dG9tYXRpYy0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDdjXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXV0b21hdGljcGF5bWVudDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3ZFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWJhbmstMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3ZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWJhbmtmZWVzLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1lZGl0LTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcZTAwMFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLTE0OTgxOTU1OTItaWNvbjE1LTg6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hcnJvdy1jaGV2cm9uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDMxXCI7XHJcbiAgICAgIH0gICAgICBcclxufSIsIi5jZGstb3ZlcmxheS1jb250YWluZXIsXHJcbi5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlciB7XHJcbiAgLy8gRGlzYWJsZSBldmVudHMgZnJvbSBiZWluZyBjYXB0dXJlZCBvbiB0aGUgb3ZlcmxheSBjb250YWluZXIuXHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gIC8vIFRoZSBjb250YWluZXIgc2hvdWxkIGJlIHRoZSBzaXplIG9mIHRoZSB2aWV3cG9ydC5cclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8vIFRoZSBvdmVybGF5LWNvbnRhaW5lciBpcyBhbiBpbnZpc2libGUgZWxlbWVudCB3aGljaCBjb250YWlucyBhbGwgaW5kaXZpZHVhbCBvdmVybGF5cy5cclxuLmNkay1vdmVybGF5LWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5LWNvbnRhaW5lcjtcclxufVxyXG5cclxuLy8gV2UgdXNlIGFuIGV4dHJhIHdyYXBwZXIgZWxlbWVudCBpbiBvcmRlciB0byB1c2UgbWFrZSB0aGUgb3ZlcmxheSBpdHNlbGYgYSBmbGV4IGl0ZW0uXHJcbi8vIFRoaXMgbWFrZXMgY2VudGVyaW5nIHRoZSBvdmVybGF5IGVhc3kgd2l0aG91dCBydW5uaW5nIGludG8gdGhlIHN1YnBpeGVsIHJlbmRlcmluZ1xyXG4vLyBwcm9ibGVtcyB0aWVkIHRvIHVzaW5nIGB0cmFuc2Zvcm1gIGFuZCB3aXRob3V0IGludGVyZmVyaW5nIHdpdGggdGhlIG90aGVyIHBvc2l0aW9uXHJcbi8vIHN0cmF0ZWdpZXMuXHJcbi5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXk7XHJcbn1cclxuXHJcbi8vIEEgc2luZ2xlIG92ZXJsYXkgcGFuZS5cclxuLmNkay1vdmVybGF5LXBhbmUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5O1xyXG59XHJcblxyXG4uY2RrLW92ZXJsYXktYmFja2Ryb3Age1xyXG4gIC8vIFRPRE8oamVsYm91cm4pOiByZXVzZSBzaWRlbmF2IGZ1bGxzY3JlZW4gbWl4aW4uXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuXHJcbiAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXktYmFja2Ryb3A7XHJcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRiYWNrZHJvcC1hbmltYXRpb24tZHVyYXRpb25cclxuICAgICRiYWNrZHJvcC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uO1xyXG4gIG9wYWNpdHk6IDA7XHJcblxyXG4gICYuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3Age1xyXG4gIGJhY2tncm91bmQ6ICRjZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wLWJhY2tncm91bmQ7XHJcbn1cclxuXHJcbi5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCB7XHJcbiAgLy8gTm90ZTogYXMgb2YgRmlyZWZveCA1NywgaGF2aW5nIHRoZSBiYWNrZHJvcCBiZSBgYmFja2dyb3VuZDogbm9uZWAgd2lsbCBwcmV2ZW50IGl0IGZyb21cclxuICAvLyBjYXB0dXJpbmcgdGhlIHVzZXIncyBtb3VzZSBzY3JvbGwgZXZlbnRzLiBTaW5jZSB3ZSBhbHNvIGNhbid0IHVzZSBzb21ldGhpbmcgbGlrZVxyXG4gIC8vIGByZ2JhKDAsIDAsIDAsIDApYCwgd2Ugd29yayBhcm91bmQgdGhlIGluY29uc2lzdGVuY3kgYnkgbm90IHNldHRpbmcgdGhlIGJhY2tncm91bmQgYXRcclxuICAvLyBhbGwgYW5kIHVzaW5nIGBvcGFjaXR5YCB0byBtYWtlIHRoZSBlbGVtZW50IHRyYW5zcGFyZW50LlxyXG4gICYsXHJcbiAgJi5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBVc2VkIHdoZW4gZGlzYWJsaW5nIGdsb2JhbCBzY3JvbGxpbmcuXHJcbi5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcblxyXG4gIC8vIE5lY2Vzc2FyeSBmb3IgdGhlIGNvbnRlbnQgbm90IHRvIGxvc2UgaXRzIHdpZHRoLiBOb3RlIHRoYXQgd2UncmUgdXNpbmcgMTAwJSwgaW5zdGVhZCBvZlxyXG4gIC8vIDEwMHZ3LCBiZWNhdXNlIDEwMHZ3IGluY2x1ZGVzIHRoZSB3aWR0aCBwbHVzIHRoZSBzY3JvbGxiYXIsIHdoZXJlYXMgMTAwJSBpcyB0aGUgd2lkdGhcclxuICAvLyB0aGF0IHRoZSBlbGVtZW50IGhhZCBiZWZvcmUgd2UgbWFkZSBpdCBgZml4ZWRgLlxyXG4gIHdpZHRoOiAxMDAlO1xyXG5cclxuICAvLyBOb3RlOiB0aGlzIHdpbGwgYWx3YXlzIGFkZCBhIHNjcm9sbGJhciB0byB3aGF0ZXZlciBlbGVtZW50IGl0IGlzIG9uLCB3aGljaCBjYW5cclxuICAvLyBwb3RlbnRpYWxseSByZXN1bHQgaW4gZG91YmxlIHNjcm9sbGJhcnMuIEl0IHNob3VsZG4ndCBiZSBhbiBpc3N1ZSwgYmVjYXVzZSB3ZSB3b24ndFxyXG4gIC8vIGJsb2NrIHNjcm9sbGluZyBvbiBhIHBhZ2UgdGhhdCBkb2Vzbid0IGhhdmUgYSBzY3JvbGxiYXIgaW4gdGhlIGZpcnN0IHBsYWNlLlxyXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcclxufVxyXG4iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMvX2FuaW1hdGlvbi5zY3NzJztcclxuQC13ZWJraXQta2V5ZnJhbWVzIHNrLWJvdW5jZWRlbGF5IHtcclxuICAgIDAlLCA4MCUsIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCkgfVxyXG4gICAgNDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMCkgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNrLWJvdW5jZWRlbGF5IHtcclxuICAgIDAlLCA4MCUsIDEwMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgfSA0MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wKTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHVrLWRvdC1sb2FkZXIoJHRoZW1lKSB7XHJcbiAgICAudWlraXQtZG90LWxvYWRlciB7XHJcbiAgICAgICAgdXNlci1zZWxlY3Q6bm9uZTsgICAgICAgICAgICBcclxuICAgICAgICAmLnVpa2l0LWlubGluZS1kb3QtbG9hZGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtYXJnaW46IDIwcHggYXV0bztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgPnNwYW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgd2lkdGg6IDE1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeSh3aGl0ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgdGhlbWlmeShwcmltYXJ5LCAkdGhlbWUpO1xyXG5cclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBhbmltYXRpb24oc2stYm91bmNlZGVsYXkgMS4ycyBpbmZpbml0ZSBlYXNlLWluLW91dCBib3RoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgPi5ib3VuY2UxIHtcclxuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4zMnM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4uYm91bmNlMiB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogLTAuMTZzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGUuLi4pIHtcclxuICAgICRtYXg6IGxlbmd0aCgkYW5pbWF0ZSk7XHJcbiAgICAkYW5pbWF0aW9uczogJyc7XHJcblxyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcclxuICAgICAgICAkYW5pbWF0aW9uczogI3skYW5pbWF0aW9ucyArIG50aCgkYW5pbWF0ZSwgJGkpfTtcclxuXHJcbiAgICAgICAgQGlmICRpIDwgJG1heCB7XHJcbiAgICAgICAgICAgICRhbmltYXRpb25zOiAjeyRhbmltYXRpb25zICsgJywgJ307XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYW5pbWF0aW9uOiAkYW5pbWF0aW9ucztcclxufVxyXG5cclxuQG1peGluIGtleWZyYW1lcygkYW5pbWF0aW9uTmFtZSkge1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxuICAgIEAtbW96LWtleWZyYW1lcyAjeyRhbmltYXRpb25OYW1lfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICBALW8ta2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxuICAgIEBrZXlmcmFtZXMgI3skYW5pbWF0aW9uTmFtZX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59IiwiQGltcG9ydCAnLi4vLi4vbWl4aW5zL2FuaW1hdGlvbi5zY3NzJztcclxuQGltcG9ydCAnLi4vLi4vZ2xvYmFsL19zci1vbmx5LnNjc3MnO1xyXG5cclxuJGlucHV0OiAoIHNpemU6IDIycHgsIG1hcmdpbi1yaWdodDogMTBweCk7XHJcbiRyaXBwbGU6ICggcG9zaXRpb246IDEwcHgsIHNpemU6IG1hcC1nZXQoJGlucHV0LCBzaXplKSAqIDMpO1xyXG5AaW5jbHVkZSBrZXlmcmFtZXMocmlwcGxlKSB7XHJcbiAgICA1JSxcclxuICAgIDEwMCUgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICA1JSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG5cclxuQG1peGluIHVrLXJhZGlvKCR0aGVtZSkge1xyXG4gICAgI3skcHJlZml4fS1yYWRpby1ncm91cCB7XHJcbiAgICAgICAgLiN7JHByZWZpeH0tcmFkaW8tZ3JvdXAge1xyXG4gICAgICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9cmFkaW9dIHtcclxuICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDEwcHg7ICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDsgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICRpbnB1dHMtY29uZmlnOiBtYXAtZ2V0KCR0aGVtZSwgaW5wdXRzKTtcclxuICAgICRjb25maWc6IG1hcC1nZXQoJGlucHV0cy1jb25maWcsIGlucHV0LWNoZWNrZWQpO1xyXG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeS1jb2xvcik7XHJcbiAgICBpbnB1dFt0eXBlPXJhZGlvXSB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3Itb25seSgpO1xyXG5cclxuICAgICAgICAmOmRpc2FibGVkK2xhYmVsOm5vdCg6Y2hlY2tlZCksICYuZGlzYWJsZWQrbGFiZWw6bm90KDpjaGVja2VkKSB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdGhlbWlmeShpbmFjdGl2ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICArbGFiZWwge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgLy8gbWFyZ2luOiAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IChtYXAtZ2V0KCRpbnB1dCwgc2l6ZSkgKyBtYXAtZ2V0KCRpbnB1dCwgbWFyZ2luLXJpZ2h0KSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogbWFwLWdldCgkaW5wdXQsIHNpemUpICsgMnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbWFwLWdldCgkaW5wdXQsIHNpemUpICsgMnB4O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGlucHV0LCBzaXplKTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkaW5wdXQsIHNpemUpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCBtYXAtZ2V0KCRpbnB1dCwgc2l6ZSkgdGhlbWlmeSh3aGl0ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRoZW1pZnkoaW5hY3RpdmUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAobWFwLWdldCgkaW5wdXQsIHNpemUpIC8gMik7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBtYXAtZ2V0KCRyaXBwbGUsIHBvc2l0aW9uKSAtIDFweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUsIHNpemUpO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUsIHNpemUpO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHByaW1hcnktY29sb3IsIDAuMSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwKTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIrbGFiZWwsICYuaG92ZXIrbGFiZWx7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Y2hlY2tlZCtsYWJlbCB7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA0cHggdGhlbWlmeSh3aGl0ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3IgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFuaW1hdGlvbihyaXBwbGUgMXMgbm9uZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIudWstZm9ybS1jb250cm9sIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS10YWJsZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBtaW4taGVpZ2h0OiAxOHB4O1xyXG5cclxuICAgICZfX3ZhbHVlIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgIG1heC13aWR0aDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgbWluLWhlaWdodDogNDhweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgJl9fYWRkb24ge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcbn0iLCIuYWxlcnQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nLXRvcDogMTVweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgaGVpZ2h0OiA0NnB4O1xyXG4gIGNvbG9yOiBibGFjaztcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBcclxuICAuaWNvbiB7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgbWFyZ2luLXRvcDogLTJweDtcclxuICB9XHJcbiAgXHJcbiAgLmNsb3NlLWljb257XHJcbiAgICBmb250LXNpemU6IDYuMjI4NXB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gIH1cclxuXHJcbiAgLmNoaWxkLS1mZWF0dXJlZCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEzcHg7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgfVxyXG59IiwiQGltcG9ydCBcIl92YXJpYWJsZXMuc2Nzc1wiO1xyXG5cclxuOmhvc3Qge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgLnRpdGxlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuY3Vyc29yLXBvaW50ZXI6aG92ZXIge1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnVwbG9hZC1jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5NDlBQTA7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG5cclxuICAgICAgICAudXBsb2FkLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IGRhc2hlZCAjOTQ5QUEwO1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxNTZweDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgICAgICAgICAgLmljb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDQwcHggMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICAgIHN2Z3tcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA0cHhcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE3MHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogODVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0OHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICA+ICoge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuZmlsZS1wcmV2aWV3IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHJcbiAgICAgICAgICAgICAgICBpZnJhbWUge1xyXG4gICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTUwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zdGF0dXN7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIC8vIGNvbG9yOiAkc2Vjb25kYXJ5LXRleHQtY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5uZzItcGRmLXZpZXdlci1jb250YWluZXIge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuLnZpZXdlci1zdHlsZSB7XHJcbiAgd2lkdGg6IDE1MHB4O1xyXG4gIGhlaWdodDogMTUwcHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuIl19 */\"","import { Component, Input, EventEmitter, Output, ViewChild, HostListener, HostBinding, ChangeDetectorRef } from '@angular/core';\r\n\r\nimport { FileGroupDirective } from '../../directives';\r\nimport { FileGroupItem } from 'models';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nlet unique_id = 0;\r\n\r\n@Component({\r\n selector: 'app-upload-file',\r\n templateUrl: './upload-file.component.html',\r\n styleUrls: ['./upload-file.component.scss']\r\n})\r\nexport class UploadFileComponent {\r\n\r\n fileUploaded: boolean;\r\n id: string;\r\n isPdf: boolean;\r\n\r\n @Input() imageURL: string;\r\n @Input() fileName: string;\r\n @Input() maxSize = 5;\r\n @Input() validExtension: string[] = ['pdf', 'jpg', 'jpeg', 'png'];\r\n @Input() required = false;\r\n @Input() multiple = false;\r\n @Input() preview = !this.multiple;\r\n @Input() defaultEventHandler = true;\r\n\r\n @Output() onError: EventEmitter = new EventEmitter();\r\n @Output() onFileSelectionStart: EventEmitter = new EventEmitter();\r\n @Output() onChanged: EventEmitter = new EventEmitter();\r\n\r\n private _fileItems: FileGroupItem[] = [];\r\n get fileItems(): FileGroupItem[] { return this._fileItems; }\r\n set fileItems(value: FileGroupItem[]) {\r\n if(this._fileItems !== value) {\r\n this._fileItems = value;\r\n this.onChanged.emit(this._fileItems);\r\n }\r\n }\r\n\r\n private _previewURL: any;\r\n get previewURL(): any { return this._previewURL; }\r\n get acceptedExtensions(): string {\r\n return this.validExtension.map(ext => `.${ext}`).join(', ');\r\n }\r\n\r\n pdfSrc: any;\r\n\r\n @ViewChild(FileGroupDirective, {static: false}) fileElement: FileGroupDirective;\r\n\r\n @HostListener('dragover', ['$event'])\r\n onDragOver(event) {\r\n event.dataTransfer.dropEffect = 'copy';\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n @HostListener('drop', ['$event'])\r\n onDrop(event) {\r\n this.onFilesChanged(event.dataTransfer.files);\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n @HostBinding('class.error') errorState = false;\r\n\r\n constructor(private cdr: ChangeDetectorRef, private sanitizer: DomSanitizer) {\r\n this.id = `enrollment_file_upload_${unique_id++}`\r\n }\r\n\r\n setPreview(url: string) { this._previewURL = url; }\r\n\r\n removeFiles() {\r\n this.fileItems = [];\r\n this._previewURL = '';\r\n this.isPdf = false;\r\n }\r\n\r\n selectionStart() {\r\n this.onFileSelectionStart.emit();\r\n }\r\n\r\n onFilesChanged(list: FileList) {\r\n let respond: FileGroupItem[] = [];\r\n // TODO: Add dialogs on ther warnings\r\n if (list.length > 0) {\r\n if (!this.multiple && list.length > 1) {\r\n console.warn(`User can't select more than one file for ${this.fileName}.`);\r\n } else {\r\n for (let i = list.length - 1; i >= 0; i--) {\r\n const file = list.item(i);\r\n this._previewURL = '';\r\n const extension = this.getExtension(file.name);\r\n if (this.validExtension.indexOf(extension) < 0) {\r\n this.onError.emit(`${file.name} is wrong file type. Please upload a file in either of the following formats ${this.validExtension.join(' | ')}.`);\r\n respond = [];\r\n break;\r\n }\r\n if (!this.fileSizeValidate(file.size)) {\r\n this.errorState = true;\r\n this.onError.emit(\r\n `${file.name} is too large. The maximum file size for upload is limited to ${this.maxSize}MB.`\r\n );\r\n respond = [];\r\n break;\r\n }\r\n\r\n this.errorState = false;\r\n\r\n const fileItem: FileGroupItem = {\r\n name: `${this.fileName}.${this.getExtension(file.name)}`,\r\n fileName: file.name,\r\n file: file\r\n };\r\n\r\n // Get Preview File\r\n if (this.preview) {\r\n if (extension === 'pdf') {\r\n this.isPdf = true;\r\n const reader = new FileReader();\r\n reader.onload = e => {\r\n this._previewURL = this.sanitizer.bypassSecurityTrustResourceUrl(reader.result.toString());\r\n this.cdr.markForCheck();\r\n };\r\n reader.readAsDataURL(file);\r\n\r\n let arrayReader = new FileReader();\r\n\r\n arrayReader.onload = (e: any) => {\r\n this.pdfSrc = e.target.result;\r\n };\r\n\r\n arrayReader.readAsArrayBuffer(file);\r\n } else {\r\n this.isPdf = false;\r\n this._previewURL = this.sanitizer.bypassSecurityTrustResourceUrl(URL.createObjectURL(file));\r\n }\r\n }\r\n respond.push(fileItem);\r\n }\r\n }\r\n } else if (this.required) {\r\n console.warn(`User haven't select a file for ${this.fileName}.`);\r\n }\r\n this.fileItems = respond;\r\n }\r\n\r\n private getExtension(filename: string): string {\r\n return filename.split('.').pop().toLowerCase();\r\n }\r\n\r\n private fileSizeValidate(size: number): boolean {\r\n const sizeMB = size / 1024 / 1024;\r\n return sizeMB < this.maxSize;\r\n }\r\n}\r\n","export const TODAY = new Date();\r\nexport const EIGHTEEN_DATE = AGE_RESTRICTION(18);\r\nexport const THIRTEEN_DATE = AGE_RESTRICTION(13);\r\nexport const ONE_HUNDRED_YEARS_DATE = AGE_RESTRICTION(100);\r\nexport const ONE_HUNDRED_YEARS_LATER_DATE = AGE_RESTRICTION(-100);\r\n\r\nexport function AGE_RESTRICTION(years: number) {\r\n return new Date(new Date().setFullYear(TODAY.getFullYear() - years));\r\n}\r\n","export * from './date.constants';\r\nexport * from './tokens';\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const DISCLOSURES_URL = new InjectionToken('DISCLOSURES_URL');","import { Directive, HostBinding, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'axos-error',\r\n host: {\r\n class: 'uk-error',\r\n }\r\n})\r\nexport class ErrorDirective {\r\n\r\n @HostBinding('attr.id') @Input() id: string;\r\n uniqueId = 0;\r\n\r\n constructor() {\r\n this.id = `axos-error-${this.uniqueId++}`;\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit, EventEmitter, Output, HostListener } from '@angular/core';\r\n\r\n@Directive({ selector: '[FileGroup]' })\r\nexport class FileGroupDirective implements OnInit {\r\n\r\n input: HTMLInputElement;\r\n\r\n @Output()onFileChange: EventEmitter = new EventEmitter();\r\n\r\n @HostListener('change', ['$event']) onChange(event) {\r\n this.onFileChange.emit(this.input.files);\r\n }\r\n\r\n constructor(private element: ElementRef) { }\r\n\r\n ngOnInit() { this.input = this.element.nativeElement; }\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'axos-hint',\r\n host: {\r\n class: 'uk-hint',\r\n}\r\n})\r\nexport class HintDirective {\r\n @Input() align: 'left' | 'right';\r\n @HostBinding('attr.id') @Input() id: string;\r\n @HostBinding('class.right') isAlignedRight: boolean;\r\n uniqueId = 0;\r\n\r\n constructor() {\r\n this.id = `axos-hint-${this.uniqueId++}`;\r\n this.isAlignedRight = this.align === 'right';\r\n }\r\n}\r\n","export * from './file-group.directive';\r\nexport * from './itin.directive';\r\nexport * from './setRange.directive';","import { Directive, ElementRef, Optional, Self } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\nimport { UkBaseFormControl, UkFieldError, UkUserAgentDetectorService } from '@uikit/components';\r\nimport { Mask, MASK_SECTION_VALIDATOR } from '../components/abstracts/mask.component';\r\n\r\nexport const INVALID_ITIN_ERROR: UkFieldError = {\r\n name: 'ssn',\r\n message() { return 'The Trust Tax Number must be ##-#######.' }\r\n};\r\n\r\nexport const ITIN_SEPARATOR = '-';\r\nexport const ITIN_MASK_SECTIONS = [2, 7];\r\nexport const ITIN_VALIDATOR = MASK_SECTION_VALIDATOR(ITIN_MASK_SECTIONS, ITIN_SEPARATOR, true);\r\n\r\n@Directive({\r\n selector: 'input[itin]',\r\n host: { 'class': 'uk-input' },\r\n providers: [\r\n { provide: UkBaseFormControl, useExisting: ItinDirective }\r\n ]\r\n})\r\n\r\nexport class ItinDirective extends Mask { \r\n constructor(\r\n @Optional() @Self() ngControl: NgControl, \r\n elementRef: ElementRef, \r\n userAgentDetectorService: UkUserAgentDetectorService\r\n ) {\r\n super(elementRef, ngControl, 'input-ssn', userAgentDetectorService);\r\n this.userAgentDetectorService = userAgentDetectorService;\r\n this.type = 'password';\r\n this.separator = ITIN_SEPARATOR;\r\n this.maskSections = ITIN_MASK_SECTIONS;\r\n this.setPlaceHolder();\r\n //VALIDATOR\r\n this.validationError = INVALID_ITIN_ERROR;\r\n this.validator = ITIN_VALIDATOR;\r\n }\r\n\r\n format(value: string) {\r\n return super.format(value).replace(this.mask, `$1${this.separator}$2`);\r\n }\r\n}\r\n","import { Directive, HostBinding, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'axos-label'\r\n})\r\nexport class LabelDirective {\r\n @Input() align: 'left' | 'right';\r\n @HostBinding('attr.id') @Input() id: string;\r\n @HostBinding('class.right') isAlignedRight: boolean;\r\n uniqueId = 0;\r\n\r\n constructor() {\r\n this.id = `axos-label-${this.uniqueId++}`;\r\n this.isAlignedRight = this.align === 'right'\r\n }\r\n\r\n}\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[axosPrefix]'\r\n})\r\nexport class PrefixDirective {\r\n\r\n constructor() { }\r\n\r\n}\r\n","import { Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[setRange]'\r\n})\r\nexport class setRangeDirective {\r\n // regexStr = '^[0-9-]*$';\r\n\r\n constructor() { }\r\n \r\n @HostListener('focus', ['$event.target']) public onFocus(target:any) {\r\n const input = target;\r\n let length = input.value.length;\r\n setTimeout(() => {\r\n input.selectionStart = input.selectionEnd = length; \r\n }, 250);\r\n }\r\n}\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[axosSuffix]'\r\n})\r\nexport class SuffixDirective {\r\n\r\n constructor() { }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n// Material\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\n// UI Kit\r\nimport { UIKitCommonModule } from '@uikit/components/common';\r\nimport { UIKitIconsModule } from '@uikit/components/uk-icons';\r\nimport { UkFormControlsModule } from '@uikit/components/uk-form-controls';\r\nimport { UkDropdownModule } from '@uikit/components/uk-dropdown';\r\nimport { UkRadioModule } from '@uikit/components/uk-radio';\r\n\r\n// Enrollment Modules\r\nimport { SharedFormsModule } from 'app/shared-forms/shared-forms.module';\r\nimport {\r\n IdentificationUploadService\r\n} from './services'\r\n\r\nimport {\r\n NoteComponent,\r\n AddressComponent,\r\n IdSelectionComponent,\r\n AddressSelectionComponent,\r\n ApplicantTitleComponent,\r\n IdentificationUploadComponent,\r\n UploadFileComponent,\r\n ErrorComponent,\r\n AddressUniversalComponent,\r\n AddressSelectionUniversalComponent,\r\n SelectorListComponent,\r\n TooltipComponent,\r\n} from './components';\r\nimport { FileGroupDirective } from './directives';\r\nimport { SafeHtml } from './pipes';\r\nimport { MillionPipe } from 'app/enrollment-common/pipes/million.pipe';\r\nimport { ZipCode } from './pipes/zipcode';\r\nimport { SSN } from './pipes/ssn.pipe';\r\nimport { PhonePipe } from './pipes/phone.pipe';\r\nimport { ItinDirective } from './directives/itin.directive';\r\nimport { FormFieldComponent } from './components/form-field/form-field.component';\r\nimport { UIKitTooltipModule } from '@uikit/components';\r\nimport { ErrorDirective } from './directives/error.directive';\r\nimport { HintDirective } from './directives/hint.directive';\r\nimport { LabelDirective } from './directives/label.directive';\r\nimport { PrefixDirective } from './directives/prefix.directive';\r\nimport { SuffixDirective } from './directives/suffix.directive';\r\nimport { PdfViewerModule } from 'ng2-pdf-viewer';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n // UI Kit\r\n UIKitCommonModule,\r\n UkFormControlsModule,\r\n UkDropdownModule,\r\n UkRadioModule,\r\n UIKitIconsModule,\r\n UIKitTooltipModule,\r\n // Material\r\n MatTooltipModule,\r\n MatDialogModule,\r\n // Enrollment Modules\r\n SharedFormsModule,\r\n PdfViewerModule\r\n ],\r\n declarations: [\r\n NoteComponent,\r\n AddressComponent,\r\n IdSelectionComponent,\r\n AddressSelectionComponent,\r\n ApplicantTitleComponent,\r\n UploadFileComponent,\r\n IdentificationUploadComponent,\r\n FileGroupDirective,\r\n SafeHtml,\r\n MillionPipe,\r\n ErrorComponent,\r\n ZipCode,\r\n SSN,\r\n PhonePipe,\r\n AddressUniversalComponent,\r\n AddressSelectionUniversalComponent,\r\n SelectorListComponent,\r\n TooltipComponent,\r\n FormFieldComponent,\r\n ItinDirective,\r\n ErrorDirective,\r\n HintDirective,\r\n LabelDirective,\r\n PrefixDirective,\r\n SuffixDirective,\r\n ],\r\n exports: [\r\n NoteComponent,\r\n AddressComponent,\r\n IdSelectionComponent,\r\n AddressSelectionComponent,\r\n ApplicantTitleComponent,\r\n UploadFileComponent,\r\n IdentificationUploadComponent,\r\n SafeHtml,\r\n ErrorComponent,\r\n MillionPipe,\r\n ZipCode,\r\n SSN,\r\n PhonePipe,\r\n AddressUniversalComponent,\r\n AddressSelectionUniversalComponent,\r\n SelectorListComponent,\r\n TooltipComponent,\r\n FormFieldComponent,\r\n ItinDirective,\r\n ErrorDirective,\r\n HintDirective,\r\n LabelDirective,\r\n PrefixDirective,\r\n SuffixDirective\r\n ],\r\n providers: [\r\n IdentificationUploadService\r\n ]\r\n})\r\nexport class EnrollmentCommonModule { }\r\n","export * from './constants';\r\nexport * from './utilities';\r\nexport * from './services';","export * from './pipe.safehtml';\r\nexport * from './million.pipe'\r\nexport * from './phone.pipe';","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n\r\n@Pipe({\r\n name: 'million'\r\n})\r\nexport class MillionPipe implements PipeTransform {\r\n\r\n transform(input: any, args?: any): any {\r\n\r\n if (Number.isNaN(input)) {\r\n return null;\r\n }\r\n\r\n let nmbr = Number(input.replace(/[^0-9.-]+/g, \"\"));\r\n let moneyStr: string = input;;\r\n\r\n if (nmbr >= 1000000) {\r\n if (nmbr.toString().endsWith('1'))\r\n nmbr = nmbr - 1;\r\n moneyStr = '$' + (nmbr / 1000000).toString().substring(0, 4) + ' Million'\r\n }\r\n\r\n return moneyStr;\r\n }\r\n\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n\r\n@Pipe({\r\n name: 'phone'\r\n})\r\nexport class PhonePipe implements PipeTransform {\r\n\r\n transform(phone: string, useAltFormat: boolean = false): string {\r\n var mask = new RegExp('^(\\\\d{3})(\\\\d{3})(\\\\d{4}).*');\r\n var value = phone.toString().trim().replace(/^\\+|-|\\(|\\)| /g, '')\r\n const replace = useAltFormat ? '($1) $2-$3' : '$1-$2-$3';\r\n\r\n return value.replace(mask, replace)\r\n }\r\n\r\n}","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\n\r\n@Pipe({name: 'safeHtml'})\r\nexport class SafeHtml implements PipeTransform {\r\n constructor(private sanitizer:DomSanitizer){}\r\n\r\n transform(html) {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n}","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: 'SSN'\r\n})\r\nexport class SSN implements PipeTransform{\r\n transform(value: string){\r\n let result: any;\r\n if(!value || value.indexOf('-') > -1){\r\n return value;\r\n }\r\n result = value.split('');\r\n if(result.length > 3 && result < 6){\r\n result.splice(3, 0, '-');\r\n return result.join(''); \r\n }else\r\n if(result.length >= 6){\r\n result.splice(3, 0, '-');\r\n result.splice(6, 0, '-');\r\n return result.join('');\r\n }else\r\n return value;\r\n }\r\n}","import { PipeTransform, Pipe } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: 'zipCode'\r\n})\r\nexport class ZipCode implements PipeTransform{\r\n transform(value: number){\r\n return (\"0000000\" + value).slice(-5);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { IdentificationDetailsInfo, WLIdentificationDetailsInfo } from 'models';\r\nimport { IdDetails } from 'models/wl/id-details.model';\r\nimport { map } from 'rxjs/operators';\r\n// Services\r\nimport { BaseService } from 'services';\r\n\r\n@Injectable()\r\nexport class IdentificationUploadService extends BaseService {\r\n\r\n mapModel(data) {\r\n return {\r\n ...data,\r\n DocumentTypeId: parseInt(data.DocumentTypeId)\r\n };\r\n }\r\n\r\n uploadDocuments(data, extractData = false) {\r\n const model = this.mapModel(data);\r\n return extractData ? this.extractData(model) : this.uploadMitekId(model);\r\n }\r\n\r\n private uploadMitekId(model) {\r\n return super._post('NME/Mitek/UploadMitekId', model);\r\n }\r\n\r\n private extractData(model) {\r\n return super._post('ExtractData/', model);\r\n }\r\n\r\n saveIdentificationDetailsInfo(applicantId: string, data: WLIdentificationDetailsInfo, applicationId: string, skipHistory: boolean = false){\r\n return super._post(`identification/${applicantId}/upload?skipHistory=${skipHistory}`, data).pipe(\r\n map(response => response.success)\r\n );\r\n }\r\n\r\n saveIdDetailsPage2(applicantId: string, idDetails: IdDetails, skipHistory: boolean = false){\r\n return this._post(`identification/${applicantId}/details?skipHistory=${skipHistory}`, idDetails).pipe(\r\n map(response => response)\r\n );\r\n }\r\n}\r\n","export * from './identification-upload.service';\r\n","export * from './url.helper';\r\n","export function getUrlSegments() {\r\n return window.location.pathname.substring(1).split('/');\r\n}\r\n\r\nexport function getDomain() {\r\n return window.location.hostname;\r\n}","export * from './route.constants';","import { ModuleRouteConfig } from 'models/navigation';\r\n\r\nexport const LANDING_PARENT_PATH = '';\r\nexport const LANDING_PARENT_PATH_OLD = 'landing';\r\nexport const LANDING_MODULE_PREFIX = 'LANDING';\r\n\r\nexport const LANDING_ROUTES: { [key: string]: ModuleRouteConfig } = {\r\n HOME: {\r\n name: `${LANDING_MODULE_PREFIX}_HOME`,\r\n path: ''\r\n },\r\n GETTING_STARTED: {\r\n name: `${LANDING_MODULE_PREFIX}_GETTING-STARTED`,\r\n path: 'register'\r\n },\r\n E_AGREEMENT: {\r\n name: `${LANDING_MODULE_PREFIX}_E_CONSENT`,\r\n path: 'e-consent'\r\n },\r\n E_AGREEMENT_PARAM: {\r\n name: `${LANDING_MODULE_PREFIX}_E_CONSENT`,\r\n path: 'e-consent/:guid'\r\n },\r\n REGISTRATION: {\r\n name: `${LANDING_MODULE_PREFIX}_REGISTRATION`,\r\n path: 'registration'\r\n },\r\n PRODUCT_ACCOUNT: {\r\n name: `${LANDING_MODULE_PREFIX}_PRODUCT_ACCOUNT`,\r\n path: 'productAccount'\r\n },\r\n CONFIRM_IDENTITY: {\r\n name: `${LANDING_MODULE_PREFIX}_CONFIRM_IDENTITY`,\r\n path: 'confirm-identity'\r\n },\r\n SSO_ERROR: {\r\n name: `${LANDING_MODULE_PREFIX}_SSO-ERROR`,\r\n path: 'error'\r\n },\r\n ERROR: {\r\n name: `${LANDING_MODULE_PREFIX}_ERROR`,\r\n path: 'systemError'\r\n },\r\n CREATE_USER: {\r\n name: `${LANDING_MODULE_PREFIX}_CREATE-USER`,\r\n path: 'createUser'\r\n },\r\n UNIVERSAL_HOME: {\r\n name: `${LANDING_MODULE_PREFIX}_UNIVERSAL_HOME`,\r\n path: 'universal_home'\r\n },\r\n CONFIGURATION_UNDERWAY: {\r\n name: `${LANDING_MODULE_PREFIX}_CONFIGURATION_UNDERWAY`,\r\n path: 'configurationUnderway'\r\n },\r\n // PRESERVING OLD PATH AND REDIRECT TO AVOID BREAKING CHANGES TO SITECORE\r\n GETTING_STARTED_OLD: {\r\n name: `${LANDING_MODULE_PREFIX}_GETTING-STARTED`,\r\n path: 'gettingStarted'\r\n },\r\n HOME_OLD: {\r\n name: `${LANDING_MODULE_PREFIX}_HOME`,\r\n path: 'home'\r\n }\r\n};\r\n","export * from './constants';","// Ng\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\n// Guard\r\nimport { AuthGuard } from 'app/auth/guards';\r\nimport { MarketingProductsGuard } from 'app/core/guards';\r\n// Resolvers\r\nimport { BrandResolver, UserResolver, ChatResolver, OrganizationResolver, BrokerResolver, ChatBotResolver, FeatureFlagsResolver } from 'app/core/resolvers';\r\nimport { APP_CONSUMER_SECURE_ROUTES, PUBLIC_APP_ROUTES } from './constants';\r\nimport { LANDING_PARENT_PATH_OLD, LANDING_PARENT_PATH } from 'app/landing/routing';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n resolve: {\r\n brand: BrandResolver,\r\n broker: BrokerResolver,\r\n //chatSettings: ChatResolver\r\n chatBotSetting: ChatBotResolver,\r\n featureFlags: FeatureFlagsResolver\r\n },\r\n //canActivate: [ MarketingProductsGuard ],\r\n children: [\r\n ...PUBLIC_APP_ROUTES,\r\n ...APP_CONSUMER_SECURE_ROUTES,\r\n // PRESERVING OLD PATH AND REDIRECT TO AVOID BREAKING CHANGES TO SITECORE\r\n {\r\n path: LANDING_PARENT_PATH_OLD,\r\n pathMatch: 'full',\r\n redirectTo: LANDING_PARENT_PATH\r\n }\r\n ]\r\n },\r\n {\r\n path: ':orgName',\r\n redirectTo: ''\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n providers: [\r\n BrandResolver,\r\n ChatResolver,\r\n ChatBotResolver,\r\n UserResolver,\r\n AuthGuard,\r\n MarketingProductsGuard,\r\n OrganizationResolver,\r\n BrokerResolver,\r\n FeatureFlagsResolver\r\n ],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","module.exports = \"/**\\r\\n* Helper mixin to create a linear-gradient\\r\\n*\\r\\n*/\\n/*\\r\\nhtml,\\r\\nbody {\\r\\n font-family: 'Libre Franklin', 'Helvetica', sans-serif;\\r\\n // color: themify(text);\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\na {\\r\\n color: themify(link);\\r\\n cursor: pointer;\\r\\n text-decoration: none;\\r\\n -webkit-tap-highlight-color: transparent;\\r\\n}\\r\\n\\r\\n.round-image {\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n\\r\\n*/\\n.fcontainer-fluid,\\n.fcontainer {\\n margin: 0 auto; }\\n.fcontainer-fluid {\\n padding: 0 2rem; }\\n.frow {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex: 0 1 auto;\\n flex: 0 1 auto;\\n -ms-flex-direction: row;\\n flex-direction: row;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap; }\\n.frow.reverse {\\n -ms-flex-direction: row-reverse;\\n flex-direction: row-reverse; }\\n.finline {\\n display: -ms-inline-flexbox;\\n display: inline-flex; }\\n.reset-padding {\\n padding: 0; }\\n.reset-margin {\\n margin: 0; }\\n.uk-btn.none {\\n border: none;\\n background-color: transparent;\\n text-transform: none;\\n min-width: 0;\\n min-height: 0;\\n padding: 0; }\\n.uk-btn.icon {\\n font-weight: 500;\\n font-size: 14px;\\n line-height: 16px;\\n font-weight: bold; }\\n.uk-shadow-0 {\\n box-shadow: none !important; }\\n.uk-shadow-1 {\\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); }\\n.uk-shadow-1-half {\\n box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2); }\\n.uk-shadow-2 {\\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-3 {\\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-4 {\\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-5 {\\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.3); }\\n.uk-nav {\\n padding-left: 0;\\n margin-bottom: 0;\\n list-style: none;\\n box-sizing: border-box; }\\n.uk-nav .uk-nav-item {\\n clear: both;\\n float: none;\\n display: inline-block;\\n margin: 0px; }\\n.uk-nav .uk-nav-item:hover {\\n background-color: #eee; }\\n.uk-tooltip {\\n background-color: #293541;\\n color: #FFF;\\n position: fixed;\\n max-width: 280px;\\n font-size: 14px;\\n padding: 5px 10px;\\n z-index: 2; }\\n.uk-tooltip::before {\\n content: '';\\n position: absolute;\\n display: inline-block;\\n height: 0;\\n width: 0;\\n border: solid 6px transparent; }\\n.uk-tooltip.white {\\n background-color: #FFF;\\n color: #293541; }\\n.uk-tooltip.bottom::before {\\n border-bottom-color: #293541;\\n margin-top: -12px;\\n top: 0; }\\n.uk-tooltip.bottom.white::before {\\n border-bottom-color: #FFF !important; }\\n.uk-tooltip.top::before {\\n border-top-color: #293541;\\n margin-bottom: -12px;\\n bottom: 0; }\\n.uk-tooltip.top.white::before {\\n border-top-color: #FFF !important; }\\n.uk-tooltip.left::before {\\n border-left-color: #293541;\\n margin-right: -12px;\\n right: 0; }\\n.uk-tooltip.right::before {\\n border-right-color: #293541;\\n margin-left: -12px;\\n left: 0; }\\n.uk-label.uk-tooltip-host {\\n position: relative;\\n top: 5px; }\\n.uk-stepper {\\n display: inline-block; }\\n.uk-stepper .uk-progress-title {\\n color: #283541;\\n font-size: 18px;\\n font-weight: 600;\\n padding-top: 7px; }\\n.uk-stepper .uk-progress-step-body {\\n padding-top: 8px;\\n padding-bottom: 20px;\\n display: block; }\\n.uk-stepper .uk-progress-track {\\n list-style-type: none;\\n table-layout: fixed;\\n display: table;\\n width: 100%;\\n margin: 0;\\n padding: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step {\\n display: table-cell;\\n position: relative;\\n text-align: center;\\n padding-top: 27px; }\\n.uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n content: '';\\n background-color: #C9CCCF;\\n position: absolute;\\n top: 8.5px;\\n height: 3px;\\n width: 50%;\\n z-index: -1; }\\n.uk-stepper .uk-progress-track .uk-progress-step::before {\\n left: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step::after {\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step:first-child::before {\\n width: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step:last-child::after {\\n width: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n background-color: #C9CCCF;\\n position: absolute;\\n border-radius: 50%;\\n display: block;\\n margin: 0 auto;\\n height: 20px;\\n width: 20px;\\n padding: 0 4px;\\n top: 0;\\n left: 0;\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap .uk-icon {\\n display: none; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n position: absolute;\\n border-radius: 50%;\\n margin: 0 auto;\\n margin-top: 2px;\\n height: 16px;\\n width: 16px;\\n content: '';\\n left: 0;\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-progress-text {\\n position: relative;\\n color: #5F6871;\\n text-transform: capitalize;\\n font-size: 14px;\\n font-weight: 600; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border: solid 2px #FFF;\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active::before {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active.wip::after {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done .uk-step-icon-wrap {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done .uk-step-icon-wrap .uk-icon {\\n color: #FFF;\\n display: initial; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done::before, .uk-stepper .uk-progress-track .uk-progress-step.done::after {\\n background-color: #1e8257; }\\n@media only screen and (min-width: 768px) {\\n .uk-stepper .uk-progress-track .uk-progress-step {\\n padding-top: 32px; }\\n .uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n top: 11px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n height: 25px;\\n width: 25px;\\n padding: 0 6px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n height: 21px;\\n width: 21px; }\\n .uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border-width: 3px; } }\\n@media only screen and (min-width: 992px) {\\n .uk-stepper .uk-progress-track .uk-progress-step {\\n padding-top: 42px; }\\n .uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n top: 16px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n height: 35px;\\n width: 35px;\\n padding: 0 8px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n height: 31px;\\n width: 31px; }\\n .uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border-width: 4px; } }\\n.uk-btn.icon .uk-icon {\\n height: 1.5em;\\n width: 1.5em; }\\n.uk-btn .uk-icon {\\n height: 1em;\\n width: 1em;\\n font-size: 1em;\\n vertical-align: middle; }\\n.uk-icon {\\n display: inline-block;\\n stroke-width: 0;\\n stroke: currentColor;\\n fill: currentColor;\\n font-size: 1.5em;\\n max-width: 1.5em;\\n max-height: 1.5em; }\\n@font-face {\\n font-family: \\\"bofi-icon\\\";\\n src: url(\\\"/assets/bofi-icon.eot\\\");\\n src: url(\\\"/assets/bofi-icon.eot?#iefix\\\") format(\\\"embedded-opentype\\\"), url(\\\"/assets/bofi-icon.woff\\\") format(\\\"woff\\\"), url(\\\"/assets/bofi-icon.ttf\\\") format(\\\"truetype\\\"), url(\\\"/assets/bofi-icon.svg#bofi-icon\\\") format(\\\"svg\\\");\\n font-weight: normal;\\n font-style: normal; }\\n[data-icon]:before {\\n font-family: \\\"bofi-icon\\\" !important;\\n content: attr(data-icon);\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n[class^=\\\"bofi-\\\"]:before,\\n[class*=\\\" bofi-\\\"]:before {\\n font-family: \\\"bofi-icon\\\" !important;\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n.bofi-recurring:before {\\n content: \\\"\\\\61\\\"; }\\n.bofi-ebill:before {\\n content: \\\"\\\\67\\\"; }\\n.bofi-add:before {\\n content: \\\"\\\\6f\\\"; }\\n.bofi-atm:before {\\n content: \\\"\\\\71\\\"; }\\n.bofi-automatic:before {\\n content: \\\"\\\\72\\\"; }\\n.bofi-bank:before {\\n content: \\\"\\\\73\\\"; }\\n.bofi-bankfees:before {\\n content: \\\"\\\\74\\\"; }\\n.bofi-datepicker:before {\\n content: \\\"\\\\6a\\\"; }\\n.bofi-deposit:before {\\n content: \\\"\\\\77\\\"; }\\n.bofi-edit:before {\\n content: \\\"\\\\78\\\"; }\\n.bofi-faq:before {\\n content: \\\"\\\\7a\\\"; }\\n.bofi-messages:before {\\n content: \\\"\\\\41\\\"; }\\n.bofi-menu:before {\\n content: \\\"\\\\43\\\"; }\\n.bofi-interest:before {\\n content: \\\"\\\\65\\\"; }\\n.bofi-pending:before {\\n content: \\\"\\\\4c\\\"; }\\n.bofi-phone:before {\\n content: \\\"\\\\4d\\\"; }\\n.bofi-print:before {\\n content: \\\"\\\\4f\\\"; }\\n.bofi-refund:before {\\n content: \\\"\\\\52\\\"; }\\n.bofi-remove:before {\\n content: \\\"\\\\53\\\"; }\\n.bofi-success:before {\\n content: \\\"\\\\54\\\"; }\\n.bofi-search:before {\\n content: \\\"\\\\56\\\"; }\\n.bofi-password:before {\\n content: \\\"\\\\6d\\\"; }\\n.bofi-username:before {\\n content: \\\"\\\\75\\\"; }\\n.bofi-gear:before {\\n content: \\\"\\\\68\\\"; }\\n.bofi-contact-list:before {\\n content: \\\"\\\\42\\\"; }\\n.bofi-filter:before {\\n content: \\\"\\\\76\\\"; }\\n.bofi-debit:before {\\n content: \\\"\\\\62\\\"; }\\n.bofi-support:before {\\n content: \\\"\\\\69\\\"; }\\n.bofi-user-settings:before {\\n content: \\\"\\\\70\\\"; }\\n.bofi-accounts:before {\\n content: \\\"\\\\64\\\"; }\\n.bofi-transfer:before {\\n content: \\\"\\\\66\\\"; }\\n.bofi-photo:before {\\n content: \\\"\\\\79\\\"; }\\n.bofi-check-mark:before {\\n content: \\\"\\\\46\\\"; }\\n.bofi-information:before {\\n content: \\\"\\\\49\\\"; }\\n.bofi-chat:before {\\n content: \\\"\\\\4b\\\"; }\\n.bofi-cancel:before {\\n content: \\\"\\\\4e\\\"; }\\n.bofi-send-icon:before {\\n content: \\\"\\\\55\\\"; }\\n.bofi-warning:before {\\n content: \\\"\\\\58\\\"; }\\n.bofi-upload:before {\\n content: \\\"\\\\5a\\\"; }\\n.bofi-thumbsup:before {\\n content: \\\"\\\\30\\\"; }\\n.bofi-pdf:before {\\n content: \\\"\\\\47\\\"; }\\n.bofi-check:before {\\n content: \\\"\\\\48\\\"; }\\n.bofi-star:before {\\n content: \\\"\\\\36\\\"; }\\n.bofi-camera:before {\\n content: \\\"\\\\32\\\"; }\\n.bofi-delivery-method:before {\\n content: \\\"\\\\34\\\"; }\\n.bofi-download:before {\\n content: \\\"\\\\37\\\"; }\\n.bofi-ebill-paybills:before {\\n content: \\\"\\\\38\\\"; }\\n.bofi-flag:before {\\n content: \\\"\\\\22\\\"; }\\n.bofi-alert-history:before {\\n content: \\\"\\\\24\\\"; }\\n.bofi-mobiledeposit:before {\\n content: \\\"\\\\28\\\"; }\\n.bofi-onetime:before {\\n content: \\\"\\\\29\\\"; }\\n.bofi-personal-message:before {\\n content: \\\"\\\\2c\\\"; }\\n.bofi-text-message:before {\\n content: \\\"\\\\4a\\\"; }\\n.bofi-eye-outline:before {\\n content: \\\"\\\\50\\\"; }\\n.bofi-attach:before {\\n content: \\\"\\\\51\\\"; }\\n.bofi-logout:before {\\n content: \\\"\\\\6b\\\"; }\\n.bofi-close:before {\\n content: \\\"\\\\45\\\"; }\\n.bofi-gear-circle:before {\\n content: \\\"\\\\57\\\"; }\\n.bofi-thumbsup-circle:before {\\n content: \\\"\\\\59\\\"; }\\n.bofi-modal-send:before {\\n content: \\\"\\\\6c\\\"; }\\n.bofi-add-1:before {\\n content: \\\"\\\\44\\\"; }\\n.bofi-group:before {\\n content: \\\"\\\\33\\\"; }\\n.bofi-home:before {\\n content: \\\"\\\\35\\\"; }\\n.bofi-personal-info:before {\\n content: \\\"\\\\39\\\"; }\\n.bofi-person-check:before {\\n content: \\\"\\\\21\\\"; }\\n.bofi-person:before {\\n content: \\\"\\\\23\\\"; }\\n.bofi-signer:before {\\n content: \\\"\\\\25\\\"; }\\n.bofi-datepicker-1:before {\\n content: \\\"\\\\26\\\"; }\\n.bofi-refund-1:before {\\n content: \\\"\\\\63\\\"; }\\n.bofi-recurring-1:before {\\n content: \\\"\\\\27\\\"; }\\n.bofi-messages-1:before {\\n content: \\\"\\\\2a\\\"; }\\n.bofi-faq-1:before {\\n content: \\\"\\\\2b\\\"; }\\n.bofi-gear-1:before {\\n content: \\\"\\\\2d\\\"; }\\n.bofi-remove-1:before {\\n content: \\\"\\\\2e\\\"; }\\n.bofi-refund-2:before {\\n content: \\\"\\\\2f\\\"; }\\n.bofi-username-1:before {\\n content: \\\"\\\\3a\\\"; }\\n.bofi-search-1:before {\\n content: \\\"\\\\3b\\\"; }\\n.bofi-password-1:before {\\n content: \\\"\\\\3c\\\"; }\\n.bofi-dashboard:before {\\n content: \\\"\\\\3d\\\"; }\\n.bofi-atm-1:before {\\n content: \\\"\\\\3e\\\"; }\\n.bofi-pending-1:before {\\n content: \\\"\\\\3f\\\"; }\\n.bofi-success-1:before {\\n content: \\\"\\\\40\\\"; }\\n.bofi-phone-1:before {\\n content: \\\"\\\\5b\\\"; }\\n.bofi-print-1:before {\\n content: \\\"\\\\5d\\\"; }\\n.bofi-menu-1:before {\\n content: \\\"\\\\5e\\\"; }\\n.bofi-interest-1:before {\\n content: \\\"\\\\5f\\\"; }\\n.bofi-ic-contact-list:before {\\n content: \\\"\\\\60\\\"; }\\n.bofi-deposit-1:before {\\n content: \\\"\\\\7b\\\"; }\\n.bofi-automatic-1:before {\\n content: \\\"\\\\7c\\\"; }\\n.bofi-automaticpayment:before {\\n content: \\\"\\\\7d\\\"; }\\n.bofi-bank-1:before {\\n content: \\\"\\\\7e\\\"; }\\n.bofi-bankfees-1:before {\\n content: \\\"\\\\5c\\\"; }\\n.bofi-edit-1:before {\\n content: \\\"\\\\e000\\\"; }\\n.bofi-1498195592-icon15-8:before {\\n content: \\\"\\\\6e\\\"; }\\n.bofi-arrow-chevron:before {\\n content: \\\"\\\\31\\\"; }\\n.cdk-overlay-container,\\n.cdk-global-overlay-wrapper {\\n pointer-events: none;\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: 100%; }\\n.cdk-overlay-container {\\n position: fixed;\\n z-index: 1000; }\\n.cdk-global-overlay-wrapper {\\n display: -ms-flexbox;\\n display: flex;\\n position: absolute;\\n z-index: 1000; }\\n.cdk-overlay-pane {\\n position: absolute;\\n pointer-events: auto;\\n box-sizing: border-box;\\n z-index: 1000; }\\n.cdk-overlay-backdrop {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n z-index: 1000;\\n pointer-events: auto;\\n -webkit-tap-highlight-color: transparent;\\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\\n opacity: 0; }\\n.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 1; }\\n.cdk-overlay-dark-backdrop {\\n background: rgba(0, 0, 0, 0.288); }\\n.cdk-overlay-transparent-backdrop, .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 0; }\\n.cdk-global-scrollblock {\\n position: fixed;\\n width: 100%;\\n overflow-y: scroll; }\\n@-webkit-keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0); }\\n 40% {\\n -webkit-transform: scale(1); } }\\n@keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0);\\n transform: scale(0); }\\n 40% {\\n -webkit-transform: scale(1);\\n transform: scale(1); } }\\n@-webkit-keyframes ripple {\\n 5%,\\n 100% {\\n opacity: 0; }\\n 5% {\\n opacity: 1; } }\\n@keyframes ripple {\\n 5%,\\n 100% {\\n opacity: 0; }\\n 5% {\\n opacity: 1; } }\\n.uk-form-control {\\n display: inline-table;\\n cursor: pointer;\\n position: relative;\\n box-sizing: border-box;\\n min-height: 18px; }\\n.uk-form-control__value {\\n display: table-cell;\\n max-width: 0;\\n width: 100%;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n min-height: 48px; }\\n.uk-form-control__addon {\\n padding-left: 10px;\\n display: table-cell;\\n vertical-align: middle; }\\n.alert {\\n position: relative;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n margin-bottom: 20px;\\n margin-top: 20px;\\n border-radius: 0.25em;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: nowrap;\\n flex-wrap: nowrap;\\n height: 46px;\\n color: black;\\n font-size: 16px;\\n -ms-flex-align: center;\\n align-items: center; }\\n.alert .icon {\\n height: 20px;\\n width: 20px;\\n margin-left: 15px;\\n margin-top: -2px; }\\n.alert .close-icon {\\n font-size: 6.2285px;\\n margin-right: 15px; }\\n.alert .child--featured {\\n padding-left: 13px;\\n -ms-flex-positive: 1;\\n flex-grow: 1; }\\n:host {\\n background-image: var(--bannerColor);\\n background-size: center;\\n display: block;\\n margin-top: 51px;\\n padding: 25px;\\n position: relative; }\\n:host.brand-mobile-banner {\\n background-image: var(--brandMobileBanner); }\\n:host.existing-customer {\\n padding-bottom: 80px; }\\n:host .banner-title {\\n font-family: \\\"Karbon\\\";\\n display: inline;\\n color: var(--headerFontColor); }\\n:host .banner-title.icon {\\n position: relative;\\n padding-left: 0.6em; }\\n:host .banner-title.icon:after {\\n content: url('/assets/icons/arrow-primary.svg');\\n height: 100%;\\n width: 0.4em;\\n position: absolute;\\n left: 0;\\n top: 0.03em; }\\n@media only screen and (min-width: 992px) {\\n :host .banner-title.icon:after {\\n left: 0; } }\\n:host .banner-title.has-no-product {\\n margin-top: 0; }\\n:host .banner-sub-title {\\n margin-top: 20px;\\n color: var(--headerFontColor); }\\n:host .banner-products {\\n margin-top: 15px;\\n color: var(--headerFontColor); }\\n:host .product-label {\\n color: var(--bannerSecondaryColor);\\n font-weight: 500; }\\n@media only screen and (min-width: 992px) {\\n :host {\\n background-image: var(--bannerColor);\\n background-size: cover;\\n padding: 25px 30px;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n min-height: 250px;\\n margin-top: 0; }\\n :host.brand-mobile-banner {\\n background-image: var(--brandBanner); }\\n :host.existing-customer {\\n padding-bottom: 25px; } }\\n@media only screen and (min-width: 992px) and (-ms-high-contrast: none), (-ms-high-contrast: active) {\\n :host {\\n height: 250px; } }\\n:host(.existing-customer) {\\n padding-bottom: 80px; }\\n@media only screen and (min-width: 992px) {\\n :host(.existing-customer) {\\n padding-bottom: 30px; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2Jhbm5lci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXG1peGluc1xcaGVscGVyc1xcX2xpbmVhci1ncmFkaWVudC5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvYmFubmVyL2Jhbm5lci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2Jhbm5lci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGdsb2JhbFxcX2dsb2JhbC5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvYmFubmVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcZ3JpZFxcX2NvbnRhaW5lci5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvYmFubmVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcZ3JpZFxcX3Jvdy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvYmFubmVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcdXRpbGl0aWVzXFxfcmVzZXRzLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9iYW5uZXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFx1dGlsaXRpZXNcXF9zaGFkb3cuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2Jhbm5lci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXG5hdnNcXF9iYXNlLW5hdnMuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2Jhbm5lci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXHRvb2x0aXBcXF90b29sdGlwLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9iYW5uZXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxzdGVwcGVyXFxfc3RlcHBlci5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvYmFubmVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcX3ZhcmlhYmxlcy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvYmFubmVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcYnJhbmRzXFxfY29sb3JzLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9iYW5uZXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxncmlkXFxfbWVkaWEtcXVlcmllcy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvYmFubmVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcaWNvbnNcXF9pY29ucy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvYmFubmVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcaWNvbnNcXF9mb250LWljb24uc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2Jhbm5lci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXG92ZXJsYXlcXF9vdmVybGF5LnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9iYW5uZXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxsb2FkZXJzXFxfZG90LWxvYWRlci5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvYmFubmVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcbWl4aW5zXFxfYW5pbWF0aW9uLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9iYW5uZXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxyYWRpby1ncm91cFxcZWxlbWVudC5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvYmFubmVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcZm9ybS1maWVsZHNcXF9mb3JtX2NvbnRyb2wuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2Jhbm5lci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXGFsZXJ0XFxfYWxlcnQuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2Jhbm5lci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL3NyY1xcYXBwXFxsYXlvdXRzXFxjb21wb25lbnRzXFxiYW5uZXJcXGJhbm5lci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2Jhbm5lci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL3NyY1xcc3R5bGVzXFxheG9zXFxfdmFyaWFibGVzLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9iYW5uZXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxicmFuZHNcXGF4b3NcXF9mb250cy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0NHQztBQ3FDRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NEZkM7QUV4QkQ7O0VBRUksY0FBYyxFQUFBO0FBR2xCO0VBQ0ksZUFBZSxFQUFBO0FDUG5CO0VBQ0ksb0JBQWE7RUFBYixhQUFhO0VBQ2Isa0JBQWM7TUFBZCxjQUFjO0VBQ2QsdUJBQW1CO01BQW5CLG1CQUFtQjtFQUNuQixtQkFBZTtNQUFmLGVBQWUsRUFBQTtBQUpuQjtJQU1RLCtCQUEyQjtRQUEzQiwyQkFBMkIsRUFBQTtBQUtuQztFQUFXLDJCQUFvQjtFQUFwQixvQkFBb0IsRUFBQTtBQ1gvQjtFQUNJLFVBQVMsRUFBQTtBQUViO0VBQ0ksU0FBUSxFQUFBO0FBRVo7RUFFUSxZQUFZO0VBQ1osNkJBQTZCO0VBRTdCLG9CQUFvQjtFQUNwQixZQUFZO0VBQ1osYUFBYTtFQUNiLFVBQVUsRUFBQTtBQVJsQjtFQVdRLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLGlCQUFpQixFQUFBO0FDbkJ6QjtFQUNFLDJCQUEyQixFQUFBO0FBRTdCO0VBQ0UsK0dBQStHLEVBQUE7QUFFakg7RUFDRSwrR0FBK0csRUFBQTtBQUVqSDtFQUNFLGdIQUFnSCxFQUFBO0FBRWxIO0VBQ0UsaUhBQWlILEVBQUE7QUFFbkg7RUFDRSxxSEFBcUgsRUFBQTtBQUV2SDtFQUNFLHVIQUF1SCxFQUFBO0FDcEJ6SDtFQUNJLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsZ0JBQWdCO0VBQ2hCLHNCQUFzQixFQUFBO0FBSjFCO0lBT1EsV0FBVztJQUNYLFdBQVc7SUFDWCxxQkFBcUI7SUFDckIsV0FBVyxFQUFBO0FBVm5CO01BWVksc0JBQXNCLEVBQUE7QUNQ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QUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFj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d0ZRLGFBQWEsRUFBQSxFQUVwQjtBQUVEO0VBQ0ksb0JBQW9CLEVBQUE7QVRsRnBCO0lTaUZKO01BR1Esb0JBQW9CLEVBQUEsRUFFM0IiLCJmaWxlIjoic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvYmFubmVyL2Jhbm5lci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4qICBIZWxwZXIgbWl4aW4gdG8gY3JlYXRlIGEgbGluZWFyLWdyYWRpZW50XHJcbipcclxuKi9cclxuQG1peGluIGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3JsaXN0KSB7XHJcbiAgICBAaWYgbm90IGlzLWRpcmVjdGlvbigkZGlyZWN0aW9uKSB7XHJcbiAgICAgICAgJGNvbG9ybGlzdDogJGRpcmVjdGlvbiwgJGNvbG9ybGlzdDtcclxuICAgICAgICAkZGlyZWN0aW9uOiAwZGVnO1xyXG4gICAgfVxyXG4gICAgYmFja2dyb3VuZDogbnRoKG50aCgkY29sb3JsaXN0LCAxKSwgMSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWdhY3ktZGlyZWN0aW9uKCRkaXJlY3Rpb24pLCAkY29sb3JsaXN0KTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3JsaXN0KTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGlzLWRpcmVjdGlvbigkdmFsdWUpIHtcclxuICAgICRpcy1rZXl3b3JkOiBpbmRleCgodG8gdG9wLCB0byB0b3AgcmlnaHQsIHRvIHJpZ2h0IHRvcCwgdG8gcmlnaHQsIHRvIGJvdHRvbSByaWdodCwgdG8gcmlnaHQgYm90dG9tLCB0byBib3R0b20sIHRvIGJvdHRvbSBsZWZ0LCB0byBsZWZ0IGJvdHRvbSwgdG8gbGVmdCwgdG8gbGVmdCB0b3AsIHRvIHRvcCBsZWZ0KSwgJHZhbHVlKTtcclxuICAgICRpcy1hbmdsZTogdHlwZS1vZigkdmFsdWUpPT0nbnVtYmVyJyBhbmQgaW5kZXgoJ2RlZycgJ2dyYWQnICd0dXJuJyAncmFkJywgdW5pdCgkdmFsdWUpKTtcclxuICAgIEByZXR1cm4gJGlzLWtleXdvcmQgb3IgJGlzLWFuZ2xlO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gbGVnYWN5LWRpcmVjdGlvbigkdmFsdWUpIHtcclxuICAgIEBpZiBpcy1kaXJlY3Rpb24oJHZhbHVlKT09ZmFsc2Uge1xyXG4gICAgICAgIEBlcnJvciBcIkNhbm5vdCBjb252ZXJ0IGAjeyR2YWx1ZX1gIHRvIGxlZ2FjeSBzeW50YXggYmVjYXVzZSBpdCBkb2Vzbid0IHNlZW0gdG8gYmUgYSBkaXJlY3Rpb24uXCI7XHJcbiAgICB9XHJcbiAgICAkY29udmVyc2lvbi1tYXA6ICggdG8gdG9wOiBib3R0b20sIHRvIHRvcCByaWdodDogYm90dG9tIGxlZnQsIHRvIHJpZ2h0IHRvcDogbGVmdCBib3R0b20sIHRvIHJpZ2h0OiBsZWZ0LCB0byBib3R0b20gcmlnaHQ6IHRvcCBsZWZ0LCB0byByaWdodCBib3R0b206IGxlZnQgdG9wLCB0byBib3R0b206IHRvcCwgdG8gYm90dG9tIGxlZnQ6IHRvcCByaWdodCwgdG8gbGVmdCBib3R0b206IHJpZ2h0IHRvcCwgdG8gbGVmdDogcmlnaHQsIHRvIGxlZnQgdG9wOiByaWdodCBib3R0b20sIHRvIHRvcCBsZWZ0OiBib3R0b20gcmlnaHQpO1xyXG4gICAgQGlmIG1hcC1oYXMta2V5KCRjb252ZXJzaW9uLW1hcCwgJHZhbHVlKSB7XHJcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRjb252ZXJzaW9uLW1hcCwgJHZhbHVlKTtcclxuICAgIH1cclxuICAgIEByZXR1cm4gOTBkZWcgLSAkdmFsdWU7XHJcbn0iLCIvKipcclxuKiAgSGVscGVyIG1peGluIHRvIGNyZWF0ZSBhIGxpbmVhci1ncmFkaWVudFxyXG4qXHJcbiovXG4vKlxyXG5odG1sLFxyXG5ib2R5IHtcclxuICAgIGZvbnQtZmFtaWx5OiAnTGlicmUgRnJhbmtsaW4nLCAnSGVsdmV0aWNhJywgc2Fucy1zZXJpZjtcclxuICAgIC8vIGNvbG9yOiB0aGVtaWZ5KHRleHQpO1xyXG59XHJcblxyXG5cclxuXHJcbmEge1xyXG4gICAgY29sb3I6IHRoZW1pZnkobGluayk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4ucm91bmQtaW1hZ2Uge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG59XHJcblxyXG5cclxuKi9cbi5mY29udGFpbmVyLWZsdWlkLFxuLmZjb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uZmNvbnRhaW5lci1mbHVpZCB7XG4gIHBhZGRpbmc6IDAgMnJlbTsgfVxuXG4uZnJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmZyb3cucmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi5maW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cblxuLnJlc2V0LXBhZGRpbmcge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5yZXNldC1tYXJnaW4ge1xuICBtYXJnaW46IDA7IH1cblxuLnVrLWJ0bi5ub25lIHtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgbWluLWhlaWdodDogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4udWstYnRuLmljb24ge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4udWstc2hhZG93LTAge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnVrLXNoYWRvdy0xIHtcbiAgYm94LXNoYWRvdzogMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi51ay1zaGFkb3ctMS1oYWxmIHtcbiAgYm94LXNoYWRvdzogMCAzcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggN3B4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggMXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi51ay1zaGFkb3ctMiB7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLnVrLXNoYWRvdy0zIHtcbiAgYm94LXNoYWRvdzogMCA2cHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDE4cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDNweCA1cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLnVrLXNoYWRvdy00IHtcbiAgYm94LXNoYWRvdzogMCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCA1cHggNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi51ay1zaGFkb3ctNSB7XG4gIGJveC1zaGFkb3c6IDAgMTZweCAyNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDZweCAzMHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDhweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi51ay1uYXYge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgLnVrLW5hdiAudWstbmF2LWl0ZW0ge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDBweDsgfVxuICAgIC51ay1uYXYgLnVrLW5hdi1pdGVtOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7IH1cblxuLnVrLXRvb2x0aXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkzNTQxO1xuICBjb2xvcjogI0ZGRjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBtYXgtd2lkdGg6IDI4MHB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICB6LWluZGV4OiAyOyB9XG4gIC51ay10b29sdGlwOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGJvcmRlcjogc29saWQgNnB4IHRyYW5zcGFyZW50OyB9XG4gIC51ay10b29sdGlwLndoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgIGNvbG9yOiAjMjkzNTQxOyB9XG4gIC51ay10b29sdGlwLmJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMjkzNTQxO1xuICAgIG1hcmdpbi10b3A6IC0xMnB4O1xuICAgIHRvcDogMDsgfVxuICAudWstdG9vbHRpcC5ib3R0b20ud2hpdGU6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0ZGRiAhaW1wb3J0YW50OyB9XG4gIC51ay10b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMjkzNTQxO1xuICAgIG1hcmdpbi1ib3R0b206IC0xMnB4O1xuICAgIGJvdHRvbTogMDsgfVxuICAudWstdG9vbHRpcC50b3Aud2hpdGU6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI0ZGRiAhaW1wb3J0YW50OyB9XG4gIC51ay10b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICMyOTM1NDE7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTJweDtcbiAgICByaWdodDogMDsgfVxuICAudWstdG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICMyOTM1NDE7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMnB4O1xuICAgIGxlZnQ6IDA7IH1cblxuLnVrLWxhYmVsLnVrLXRvb2x0aXAtaG9zdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1cHg7IH1cblxuLnVrLXN0ZXBwZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRpdGxlIHtcbiAgICBjb2xvcjogIzI4MzU0MTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nLXRvcDogN3B4OyB9XG4gIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy1zdGVwLWJvZHkge1xuICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZy10b3A6IDI3cHg7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YmVmb3JlLCAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNDOUNDQ0Y7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA4LjVweDtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YWZ0ZXIge1xuICAgICAgICByaWdodDogMDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogMDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzlDQ0NGO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDRweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwIC51ay1pY29uIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXA6OmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstcHJvZ3Jlc3MtdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICM1RjY4NzE7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmUgLnVrLXN0ZXAtaWNvbi13cmFwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlODI1NzsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuYWN0aXZlIC51ay1zdGVwLWljb24td3JhcDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDJweCAjRkZGO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmU6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmUud2lwOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5kb25lIC51ay1zdGVwLWljb24td3JhcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmRvbmUgLnVrLXN0ZXAtaWNvbi13cmFwIC51ay1pY29uIHtcbiAgICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgICBkaXNwbGF5OiBpbml0aWFsOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuZG9uZTo6YmVmb3JlLCAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuZG9uZTo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4MjU3OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDMycHg7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjpiZWZvcmUsIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMTFweDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcbiAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgcGFkZGluZzogMCA2cHg7IH1cbiAgICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwOjpiZWZvcmUge1xuICAgICAgICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgICAgICAgICAgd2lkdGg6IDIxcHg7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmFjdGl2ZSAudWstc3RlcC1pY29uLXdyYXA6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAzcHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0MnB4OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YmVmb3JlLCAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDE2cHg7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcCB7XG4gICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgOHB4OyB9XG4gICAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogMzFweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMXB4OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmUgLnVrLXN0ZXAtaWNvbi13cmFwOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci13aWR0aDogNHB4OyB9IH1cblxuLnVrLWJ0bi5pY29uIC51ay1pY29uIHtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgd2lkdGg6IDEuNWVtOyB9XG5cbi51ay1idG4gLnVrLWljb24ge1xuICBoZWlnaHQ6IDFlbTtcbiAgd2lkdGg6IDFlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLnVrLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgbWF4LXdpZHRoOiAxLjVlbTtcbiAgbWF4LWhlaWdodDogMS41ZW07IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiO1xuICBzcmM6IHVybChcIi9hc3NldHMvYm9maS1pY29uLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi9hc3NldHMvYm9maS1pY29uLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24uc3ZnI2JvZmktaWNvblwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5bZGF0YS1pY29uXTpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJib2ZpLWljb25cIiAhaW1wb3J0YW50O1xuICBjb250ZW50OiBhdHRyKGRhdGEtaWNvbik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuW2NsYXNzXj1cImJvZmktXCJdOmJlZm9yZSxcbltjbGFzcyo9XCIgYm9maS1cIl06YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiYm9maS1pY29uXCIgIWltcG9ydGFudDtcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4uYm9maS1yZWN1cnJpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDYxXCI7IH1cblxuLmJvZmktZWJpbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY3XCI7IH1cblxuLmJvZmktYWRkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2ZlwiOyB9XG5cbi5ib2ZpLWF0bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzFcIjsgfVxuXG4uYm9maS1hdXRvbWF0aWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDcyXCI7IH1cblxuLmJvZmktYmFuazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzNcIjsgfVxuXG4uYm9maS1iYW5rZmVlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzRcIjsgfVxuXG4uYm9maS1kYXRlcGlja2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2YVwiOyB9XG5cbi5ib2ZpLWRlcG9zaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc3XCI7IH1cblxuLmJvZmktZWRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzhcIjsgfVxuXG4uYm9maS1mYXE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDdhXCI7IH1cblxuLmJvZmktbWVzc2FnZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQxXCI7IH1cblxuLmJvZmktbWVudTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDNcIjsgfVxuXG4uYm9maS1pbnRlcmVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjVcIjsgfVxuXG4uYm9maS1wZW5kaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0Y1wiOyB9XG5cbi5ib2ZpLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0ZFwiOyB9XG5cbi5ib2ZpLXByaW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0ZlwiOyB9XG5cbi5ib2ZpLXJlZnVuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTJcIjsgfVxuXG4uYm9maS1yZW1vdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDUzXCI7IH1cblxuLmJvZmktc3VjY2VzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTRcIjsgfVxuXG4uYm9maS1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU2XCI7IH1cblxuLmJvZmktcGFzc3dvcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZkXCI7IH1cblxuLmJvZmktdXNlcm5hbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc1XCI7IH1cblxuLmJvZmktZ2VhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjhcIjsgfVxuXG4uYm9maS1jb250YWN0LWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQyXCI7IH1cblxuLmJvZmktZmlsdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3NlwiOyB9XG5cbi5ib2ZpLWRlYml0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2MlwiOyB9XG5cbi5ib2ZpLXN1cHBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY5XCI7IH1cblxuLmJvZmktdXNlci1zZXR0aW5nczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzBcIjsgfVxuXG4uYm9maS1hY2NvdW50czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjRcIjsgfVxuXG4uYm9maS10cmFuc2ZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjZcIjsgfVxuXG4uYm9maS1waG90bzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzlcIjsgfVxuXG4uYm9maS1jaGVjay1tYXJrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0NlwiOyB9XG5cbi5ib2ZpLWluZm9ybWF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0OVwiOyB9XG5cbi5ib2ZpLWNoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRiXCI7IH1cblxuLmJvZmktY2FuY2VsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0ZVwiOyB9XG5cbi5ib2ZpLXNlbmQtaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTVcIjsgfVxuXG4uYm9maS13YXJuaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1OFwiOyB9XG5cbi5ib2ZpLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNWFcIjsgfVxuXG4uYm9maS10aHVtYnN1cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzBcIjsgfVxuXG4uYm9maS1wZGY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ3XCI7IH1cblxuLmJvZmktY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ4XCI7IH1cblxuLmJvZmktc3RhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzZcIjsgfVxuXG4uYm9maS1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDMyXCI7IH1cblxuLmJvZmktZGVsaXZlcnktbWV0aG9kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzNFwiOyB9XG5cbi5ib2ZpLWRvd25sb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzN1wiOyB9XG5cbi5ib2ZpLWViaWxsLXBheWJpbGxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzOFwiOyB9XG5cbi5ib2ZpLWZsYWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIyXCI7IH1cblxuLmJvZmktYWxlcnQtaGlzdG9yeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjRcIjsgfVxuXG4uYm9maS1tb2JpbGVkZXBvc2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyOFwiOyB9XG5cbi5ib2ZpLW9uZXRpbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI5XCI7IH1cblxuLmJvZmktcGVyc29uYWwtbWVzc2FnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMmNcIjsgfVxuXG4uYm9maS10ZXh0LW1lc3NhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRhXCI7IH1cblxuLmJvZmktZXllLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDUwXCI7IH1cblxuLmJvZmktYXR0YWNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1MVwiOyB9XG5cbi5ib2ZpLWxvZ291dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmJcIjsgfVxuXG4uYm9maS1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDVcIjsgfVxuXG4uYm9maS1nZWFyLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTdcIjsgfVxuXG4uYm9maS10aHVtYnN1cC1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU5XCI7IH1cblxuLmJvZmktbW9kYWwtc2VuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmNcIjsgfVxuXG4uYm9maS1hZGQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDRcIjsgfVxuXG4uYm9maS1ncm91cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzNcIjsgfVxuXG4uYm9maS1ob21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzNVwiOyB9XG5cbi5ib2ZpLXBlcnNvbmFsLWluZm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDM5XCI7IH1cblxuLmJvZmktcGVyc29uLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMVwiOyB9XG5cbi5ib2ZpLXBlcnNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjNcIjsgfVxuXG4uYm9maS1zaWduZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI1XCI7IH1cblxuLmJvZmktZGF0ZXBpY2tlci0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyNlwiOyB9XG5cbi5ib2ZpLXJlZnVuZC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2M1wiOyB9XG5cbi5ib2ZpLXJlY3VycmluZy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyN1wiOyB9XG5cbi5ib2ZpLW1lc3NhZ2VzLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDJhXCI7IH1cblxuLmJvZmktZmFxLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDJiXCI7IH1cblxuLmJvZmktZ2Vhci0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyZFwiOyB9XG5cbi5ib2ZpLXJlbW92ZS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyZVwiOyB9XG5cbi5ib2ZpLXJlZnVuZC0yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyZlwiOyB9XG5cbi5ib2ZpLXVzZXJuYW1lLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNhXCI7IH1cblxuLmJvZmktc2VhcmNoLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNiXCI7IH1cblxuLmJvZmktcGFzc3dvcmQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcM2NcIjsgfVxuXG4uYm9maS1kYXNoYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNkXCI7IH1cblxuLmJvZmktYXRtLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNlXCI7IH1cblxuLmJvZmktcGVuZGluZy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzZlwiOyB9XG5cbi5ib2ZpLXN1Y2Nlc3MtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDBcIjsgfVxuXG4uYm9maS1waG9uZS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1YlwiOyB9XG5cbi5ib2ZpLXByaW50LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDVkXCI7IH1cblxuLmJvZmktbWVudS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1ZVwiOyB9XG5cbi5ib2ZpLWludGVyZXN0LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDVmXCI7IH1cblxuLmJvZmktaWMtY29udGFjdC1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2MFwiOyB9XG5cbi5ib2ZpLWRlcG9zaXQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2JcIjsgfVxuXG4uYm9maS1hdXRvbWF0aWMtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2NcIjsgfVxuXG4uYm9maS1hdXRvbWF0aWNwYXltZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3ZFwiOyB9XG5cbi5ib2ZpLWJhbmstMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2VcIjsgfVxuXG4uYm9maS1iYW5rZmVlcy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1Y1wiOyB9XG5cbi5ib2ZpLWVkaXQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwMFwiOyB9XG5cbi5ib2ZpLTE0OTgxOTU1OTItaWNvbjE1LTg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZlXCI7IH1cblxuLmJvZmktYXJyb3ctY2hldnJvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzFcIjsgfVxuXG4uY2RrLW92ZXJsYXktY29udGFpbmVyLFxuLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2RrLW92ZXJsYXktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDAwOyB9XG5cbi5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAwMDsgfVxuXG4uY2RrLW92ZXJsYXktcGFuZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHotaW5kZXg6IDEwMDA7IH1cblxuLmNkay1vdmVybGF5LWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO1xuICBvcGFjaXR5OiAwOyB9XG4gIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI4OCk7IH1cblxuLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmNkay1nbG9iYWwtc2Nyb2xsYmxvY2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNrLWJvdW5jZWRlbGF5IHtcbiAgMCUsIDgwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuQGtleWZyYW1lcyBzay1ib3VuY2VkZWxheSB7XG4gIDAlLCA4MCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcmlwcGxlIHtcbiAgNSUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNSUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgcmlwcGxlIHtcbiAgNSUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNSUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALW8ta2V5ZnJhbWVzIHJpcHBsZSB7XG4gIDUlLFxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByaXBwbGUge1xuICA1JSxcbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1JSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi51ay1mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4taGVpZ2h0OiAxOHB4OyB9XG4gIC51ay1mb3JtLWNvbnRyb2xfX3ZhbHVlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIG1heC13aWR0aDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbWluLWhlaWdodDogNDhweDsgfVxuICAudWstZm9ybS1jb250cm9sX19hZGRvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uYWxlcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgaGVpZ2h0OiA0NnB4O1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuYWxlcnQgLmljb24ge1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4OyB9XG4gIC5hbGVydCAuY2xvc2UtaWNvbiB7XG4gICAgZm9udC1zaXplOiA2LjIyODVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgLmFsZXJ0IC5jaGlsZC0tZmVhdHVyZWQge1xuICAgIHBhZGRpbmctbGVmdDogMTNweDtcbiAgICBmbGV4LWdyb3c6IDE7IH1cblxuOmhvc3Qge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1iYW5uZXJDb2xvcik7XG4gIGJhY2tncm91bmQtc2l6ZTogY2VudGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogNTFweDtcbiAgcGFkZGluZzogMjVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIDpob3N0LmJyYW5kLW1vYmlsZS1iYW5uZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWJyYW5kTW9iaWxlQmFubmVyKTsgfVxuICA6aG9zdC5leGlzdGluZy1jdXN0b21lciB7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7IH1cbiAgOmhvc3QgLmJhbm5lci10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiS2FyYm9uXCI7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGNvbG9yOiB2YXIoLS1oZWFkZXJGb250Q29sb3IpOyB9XG4gICAgOmhvc3QgLmJhbm5lci10aXRsZS5pY29uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42ZW07IH1cbiAgICAgIDpob3N0IC5iYW5uZXItdGl0bGUuaWNvbjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IHVybChcIn4vYXNzZXRzL2ljb25zL2Fycm93LXByaW1hcnkuc3ZnXCIpO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAwLjRlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDAuMDNlbTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICA6aG9zdCAuYmFubmVyLXRpdGxlLmljb246YWZ0ZXIge1xuICAgICAgICAgIGxlZnQ6IDA7IH0gfVxuICAgIDpob3N0IC5iYW5uZXItdGl0bGUuaGFzLW5vLXByb2R1Y3Qge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICA6aG9zdCAuYmFubmVyLXN1Yi10aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBjb2xvcjogdmFyKC0taGVhZGVyRm9udENvbG9yKTsgfVxuICA6aG9zdCAuYmFubmVyLXByb2R1Y3RzIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIGNvbG9yOiB2YXIoLS1oZWFkZXJGb250Q29sb3IpOyB9XG4gIDpob3N0IC5wcm9kdWN0LWxhYmVsIHtcbiAgICBjb2xvcjogdmFyKC0tYmFubmVyU2Vjb25kYXJ5Q29sb3IpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIDpob3N0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWJhbm5lckNvbG9yKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBwYWRkaW5nOiAyNXB4IDMwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIG1pbi1oZWlnaHQ6IDI1MHB4O1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgOmhvc3QuYnJhbmQtbW9iaWxlLWJhbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWJyYW5kQmFubmVyKTsgfVxuICAgICAgOmhvc3QuZXhpc3RpbmctY3VzdG9tZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAgIDpob3N0IHtcbiAgICAgIGhlaWdodDogMjUwcHg7IH0gfVxuXG46aG9zdCguZXhpc3RpbmctY3VzdG9tZXIpIHtcbiAgcGFkZGluZy1ib3R0b206IDgwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIDpob3N0KC5leGlzdGluZy1jdXN0b21lcikge1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH0gfVxuIiwiLy8gQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1MaWJyZStGcmFua2xpbjozMDAsNDAwLDUwMCw2MDAsNzAwJyk7XHJcbkBpbXBvcnQgJy4vX2ZvbnQuc2Nzcyc7XHJcbkBpbXBvcnQgJy4vX3NyLW9ubHkuc2Nzcyc7XHJcblxyXG5AbWl4aW4gdWstZ2xvYmFsKCR1ay10aGVtZSkge1xyXG4gICAgJGZvbnQtY29uZmlnOiBtYXAtZ2V0KCR1ay10aGVtZSwgZm9udHMpO1xyXG4gICAgJGZvbnQtZmFtaWxpZXM6IG1hcC1nZXQoJGZvbnQtY29uZmlnLCBmYW1pbGllcyk7XHJcbiAgICAkZm9udC1zaXplczogbWFwLWdldCgkZm9udC1jb25maWcsIHNpemVzKTtcclxuXHJcbiAgICBAZWFjaCAkZm9udC1mYW1pbHksICR2YWx1ZSBpbiAkZm9udC1mYW1pbGllcyB7XHJcbiAgICAgICAgJGZvbnQtdXJsOiBtYXAtZ2V0KCR2YWx1ZSwgdXJsKTtcclxuICAgICAgICBAaWYgJGZvbnQtdXJsIHtcclxuICAgICAgICAgICAgQGltcG9ydCB1cmwoJGZvbnQtdXJsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJHByaW1hcnktZm9udC1mYW1pbGl5OiBtYXAtZ2V0KCRmb250LWZhbWlsaWVzLCBwcmltYXJ5KTtcclxuXHJcbiAgICBodG1sIHsgXHJcbiAgICAgICAgYm9keSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJHByaW1hcnktZm9udC1mYW1pbGl5LCBuYW1lKSwgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHByaW1hcnktZm9udC1mYW1pbGl5LCBjb2xvcik7XHJcbiAgICAgICAgICAgIEBjb250ZW50XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgxLFxyXG4gICAgICAgIGgyLFxyXG4gICAgICAgIGgzLFxyXG4gICAgICAgIGg0LFxyXG4gICAgICAgIGg1LFxyXG4gICAgICAgIGg2IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdWstZm9udHMoJGZvbnQtc2l6ZXMpO1xyXG4gICAgICAgIC5zci1vbmx5eyBAaW5jbHVkZSBzci1vbmx5KCk7IH1cclxuICAgIH1cclxufVxyXG5cclxuLypcclxuaHRtbCxcclxuYm9keSB7XHJcbiAgICBmb250LWZhbWlseTogJ0xpYnJlIEZyYW5rbGluJywgJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XHJcbiAgICAvLyBjb2xvcjogdGhlbWlmeSh0ZXh0KTtcclxufVxyXG5cclxuXHJcblxyXG5hIHtcclxuICAgIGNvbG9yOiB0aGVtaWZ5KGxpbmspO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLnJvdW5kLWltYWdlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxufVxyXG5cclxuXHJcbiovIiwiJGNvbnRhaW5lci13aWR0aDooc206NDlyZW0sIG1kOjY1cmVtLCBsZzo3NnJlbSk7XHJcbi5mY29udGFpbmVyLWZsdWlkLFxyXG4uZmNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLmZjb250YWluZXItZmx1aWQge1xyXG4gICAgcGFkZGluZzogMCAycmVtO1xyXG59XHJcblxyXG5AbWl4aW4gY29udGFpbmVyKCRrZXkpIHtcclxuICAgIEBpZigka2V5PT0nbGcnKSB7XHJcbiAgICAgICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRjb250YWluZXItd2lkdGgsICRrZXkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmKCRrZXk9PSdtZCcpIHtcclxuICAgICAgICAuY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGNvbnRhaW5lci13aWR0aCwgJGtleSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYoJGtleT09J3NtJykge1xyXG4gICAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkY29udGFpbmVyLXdpZHRoLCAka2V5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIuZnJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleDogMCAxIGF1dG87XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgJi5yZXZlcnNlIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uZmlubGluZSB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyB9IiwiLnJlc2V0LXBhZGRpbmd7XHJcbiAgICBwYWRkaW5nOjA7XHJcbn1cclxuLnJlc2V0LW1hcmdpbntcclxuICAgIG1hcmdpbjowO1xyXG59XHJcbi51ay1idG4ge1xyXG4gICAgJi5ub25lIHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgLy9vdXRsaW5lOiBub25lO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICBtaW4taGVpZ2h0OiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICAmLmljb24ge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgfVxyXG4gIH1cclxuICAiLCIvLyBaLWxldmVsc1xyXG4uI3skcHJlZml4fS1zaGFkb3ctMCB7XHJcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcbi4jeyRwcmVmaXh9LXNoYWRvdy0xIHtcclxuICBib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTEtaGFsZiB7XHJcbiAgYm94LXNoYWRvdzogMCAzcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggN3B4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggMXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG59XHJcbi4jeyRwcmVmaXh9LXNoYWRvdy0yIHtcclxuICBib3gtc2hhZG93OiAwIDRweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG59XHJcbi4jeyRwcmVmaXh9LXNoYWRvdy0zIHtcclxuICBib3gtc2hhZG93OiAwIDZweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggMThweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDVweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxufVxyXG4uI3skcHJlZml4fS1zaGFkb3ctNCB7XHJcbiAgYm94LXNoYWRvdzogMCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCA1cHggNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG59XHJcbi4jeyRwcmVmaXh9LXNoYWRvdy01IHtcclxuICBib3gtc2hhZG93OiAwIDE2cHggMjRweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCA2cHggMzBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCA4cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxufSIsIi51ay1uYXZ7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4gICAgLnVrLW5hdi1pdGVte1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46IDBweDtcclxuICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIiR0b29sdGlwLWhlaWdodDogMjhweDtcclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogIzI5MzU0MTtcclxuJHRvb2x0aXAtcGFkZGluZzogNXB4IDEwcHg7XHJcbiR0b29sdGlwLWFycm93OiA2cHg7XHJcblxyXG4udWstdG9vbHRpcCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgY29sb3I6ICNGRkY7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBtYXgtd2lkdGg6IDI4MHB4O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcclxuICAgIHotaW5kZXg6IDI7XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBib3JkZXI6IHNvbGlkICR0b29sdGlwLWFycm93IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG5cclxuICAgICYud2hpdGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XHJcbiAgICAgICAgY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgJi5ib3R0b20ge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICgtMiAqICR0b29sdGlwLWFycm93KTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLndoaXRlOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiNGRkYgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi50b3Age1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICgtMiAqICR0b29sdGlwLWFycm93KTtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLndoaXRlOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubGVmdCB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogKC0yICogJHRvb2x0aXAtYXJyb3cpO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5yaWdodCB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogKC0yICogJHRvb2x0aXAtYXJyb3cpO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnVrLWxhYmVsIHtcclxuICAgICYudWstdG9vbHRpcC1ob3N0IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiA1cHg7XHJcbiAgICB9XHJcbn1cclxuIiwiJHVrLXByb2dyZXNzLWJhci1sYWJsZS1zcGFjZTogN3B4O1xyXG4kdWstcHJvZ3Jlc3MtYmFyLWxpbmUtaGVpZ2h0OiAzcHg7XHJcbiRyaXBwbGUtc2l6ZTogKHhzOiAyMHB4LCBzbTogMjVweCwgbWQ6IDM1cHgpO1xyXG4kcmlwcGxlLWJvcmRlci13aWR0aDogMnB4O1xyXG5cclxuLnVrLXN0ZXBwZXJ7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAudWstcHJvZ3Jlc3MtdGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiB0aGVtaWZ5KHRleHQsICR0aGVtZSk7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDdweDtcclxuICAgIH1cclxuICAgIC51ay1wcm9ncmVzcy1zdGVwLWJvZHl7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDhweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAudWstcHJvZ3Jlc3MtdHJhY2sge1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICAudWstcHJvZ3Jlc3Mtc3RlcCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkcmlwcGxlLXNpemUsICd4cycpICsgJHVrLXByb2dyZXNzLWJhci1sYWJsZS1zcGFjZTtcclxuXHJcbiAgICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KGdyYXksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IChtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3hzJykgLSAkdWstcHJvZ3Jlc3MtYmFyLWxpbmUtaGVpZ2h0KSAvMjtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJHVrLXByb2dyZXNzLWJhci1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjpiZWZvcmUgeyBsZWZ0OiAwOyB9XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHsgcmlnaHQ6IDA7IH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQgeyAmOjpiZWZvcmUgeyB3aWR0aDogMDsgfX1cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHsgJjo6YWZ0ZXIgeyB3aWR0aDogMDsgfX1cclxuXHJcbiAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KGdyYXksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3hzJyk7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLXNpemUsICd4cycpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA0cHg7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgLnVrLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRyaXBwbGUtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLXNpemUsICd4cycpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAneHMnKSAtICgyICogJHJpcHBsZS1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC51ay1wcm9ncmVzcy10ZXh0IHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB0aGVtaWZ5KGluYWN0aXZlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHRcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYuYWN0aXZle1xyXG4gICAgICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAycHggI0ZGRjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShwcmltYXJ5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShwcmltYXJ5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi53aXAge1xyXG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShwcmltYXJ5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5kb25le1xyXG4gICAgICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLnVrLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdGhlbWlmeSh3aGl0ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5pdGlhbDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShwcmltYXJ5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIHNtIHtcclxuICAgICAgICAgICAgLnVrLXByb2dyZXNzLXN0ZXAge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnc20nKSArICR1ay1wcm9ncmVzcy1iYXItbGFibGUtc3BhY2U7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IChtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3NtJykgLSAkdWstcHJvZ3Jlc3MtYmFyLWxpbmUtaGVpZ2h0KSAvMjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdzbScpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3NtJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3NtJykgLSAoMiAqICRyaXBwbGUtYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnc20nKSAtICgyICogJHJpcHBsZS1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuYWN0aXZle1xyXG4gICAgICAgICAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDNweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWQge1xyXG4gICAgICAgICAgICAudWstcHJvZ3Jlc3Mtc3RlcCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdtZCcpICsgJHVrLXByb2dyZXNzLWJhci1sYWJsZS1zcGFjZTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAobWFwLWdldCgkcmlwcGxlLXNpemUsICdtZCcpIC0gJHVrLXByb2dyZXNzLWJhci1saW5lLWhlaWdodCkgLzI7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnbWQnKTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdtZCcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJykgLSAoMiAqICRyaXBwbGUtYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnbWQnKSAtICgyICogJHJpcHBsZS1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuYWN0aXZle1xyXG4gICAgICAgICAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIiRwcmltYXJ5OiAjMWU4MjU3ICFkZWZhdWx0O1xyXG4kc2Vjb25kYXJ5OiAjRkFBNzRBICFkZWZhdWx0O1xyXG4kbGluazogIzExNTNiNSAhZGVmYXVsdDtcclxuJHRleHQ6ICMyODM1NDEgIWRlZmF1bHQ7XHJcbiRncmF5OiAjYmVjMWM1ICFkZWZhdWx0O1xyXG4kaW5hY3RpdmU6ICM2Yzc3ODEgIWRlZmF1bHQ7XHJcbiRtdXRlZDogI2VlZWZmMiAhZGVmYXVsdDtcclxuJGxpZ2h0OiAjZjRmNWY3ICFkZWZhdWx0O1xyXG4kZXJyb3I6ICNjYjJkMGUgIWRlZmF1bHQ7XHJcbiR3YXJuaW5nOiAjZTM3OTM2ICFkZWZhdWx0O1xyXG4kc3VjY2VzczogIzIyOTg2YyAhZGVmYXVsdDtcclxuJGluZm86ICM2YWE1ZjIgIWRlZmF1bHQ7XHJcbiRhY2NlbnQtMTogIzY4Y2M5YSAhZGVmYXVsdDtcclxuJGFjY2VudC0yOiAkaW5mbyAhZGVmYXVsdDtcclxuJHdoaXRlOiAjZmZmICFkZWZhdWx0O1xyXG5cclxuJGJ0bi1iYXNlOiAoXHJcbiAgaGVpZ2h0OiA1MnB4LFxyXG4gIHdpZHRoOiAxNzVweCxcclxuICBwYWRkaW5nOiAxNnB4IDQwcHhcclxuKTtcclxuXHJcbiRidG4tc2l6ZXM6IChsZzooaGVpZ2h0OiA1MnB4LCBwYWRkaW5nOiAxNnB4IDYwcHgpKSAhZGVmYXVsdDtcclxuICBcclxuJHRoZW1lOiAoXHJcbiAgICBwcmltYXJ5OiAkcHJpbWFyeSxcclxuICAgIHNlY29uZGFyeTogJHNlY29uZGFyeSxcclxuICAgIGxpbms6ICRsaW5rLFxyXG4gICAgdGV4dDogJHRleHQsXHJcbiAgICBncmF5OiAkZ3JheSxcclxuICAgIGluYWN0aXZlOiAkaW5hY3RpdmUsXHJcbiAgICBsaWdodDogJGxpZ2h0LFxyXG4gICAgbXV0ZWQ6ICRtdXRlZCxcclxuICAgIGVycm9yOiAkZXJyb3IsXHJcbiAgICB3YXJuaW5nOiAkd2FybmluZyxcclxuICAgIHN1Y2Nlc3M6ICRzdWNjZXNzLFxyXG4gICAgaW5mbyA6ICRpbmZvLFxyXG4gICAgYWNjZW50LTE6ICRhY2NlbnQtMSxcclxuICAgIGFjY2VudC0yOiAkYWNjZW50LTIsXHJcbiAgICB3aGl0ZTogJHdoaXRlXHJcbiAgKVxyXG4gICFkZWZhdWx0O1xyXG4kc2l6ZXM6IChcclxuICBwaG9uZTpcclxuICAgIChcclxuICAgICAgLy8gQXBwcm92ZWRcclxuICAgICAgaDE6KGZvbnQtc2l6ZTogNTJweCwgbGluZS1oZWlnaHQ6IDU4cHgsIGZvbnQtd2VpZ2h0OiAzMDApLFxyXG4gICAgICBoMjooZm9udC1zaXplOiA0MnB4LCBsaW5lLWhlaWdodDogNTBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGg0OiAoZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjRweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIHA6KGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBsYWJlbDogKGZvbnQtc2l6ZTogMTRweCwgbGluZS1oZWlnaHQ6IDIwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICAvLyBFbmQgQXBwcm92ZWRcclxuICAgICAgaDM6KGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBib2R5Oihmb250LXNpemU6IDE1cHgsIGxpbmUtaGVpZ2h0OiAxOHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgc21hbGw6KGZvbnQtc2l6ZTogMTRweCwgbGluZS1oZWlnaHQ6IDIwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgKSxcclxuICB0YWJsZXQ6KFxyXG4gICAgICAvLyBBcHByb3ZlZFxyXG4gICAgICBoMTooZm9udC1zaXplOiA2MnB4LCBsaW5lLWhlaWdodDogNjhweCwgZm9udC13ZWlnaHQ6IDMwMCksXHJcbiAgICAgIGgyOihmb250LXNpemU6IDUycHgsIGxpbmUtaGVpZ2h0OiA2MHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgaDQ6IChmb250LXNpemU6IDIwcHgsIGxpbmUtaGVpZ2h0OiAzMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgcDooZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjRweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGxhYmVsOiAoZm9udC1zaXplOiAxNHB4LCBsaW5lLWhlaWdodDogMjBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIC8vIEVuZCBBcHByb3ZlZFxyXG4gICAgICBoMzooZm9udC1zaXplOiAyNnB4LCBsaW5lLWhlaWdodDogMzBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGJvZHk6KGZvbnQtc2l6ZTogMTVweCwgbGluZS1oZWlnaHQ6IDIwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBzbWFsbDooZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjRweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICApLFxyXG4gIGRlc2t0b3A6KFxyXG4gICAgICAvLyBBcHByb3ZlZFxyXG4gICAgICBoMTogKGZvbnQtc2l6ZTogNzJweCwgbGluZS1oZWlnaHQ6IDc4cHgsIGZvbnQtd2VpZ2h0OiAzMDApLFxyXG4gICAgICBoMjogKGZvbnQtc2l6ZTogNjJweCwgbGluZS1oZWlnaHQ6IDcwcHgsIGZvbnQtd2VpZ2h0OiAzMDApLFxyXG4gICAgICBoNDogKGZvbnQtc2l6ZTogMjBweCwgbGluZS1oZWlnaHQ6IDMwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBwOiAoZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjJweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGxhYmVsOiAoZm9udC1zaXplOiAxNHB4LCBsaW5lLWhlaWdodDogMjBweCwgZm9udC13ZWlnaHQ6IDQwMCksXHJcbiAgICAgIC8vIEVuZCBBcHByb3ZlZFxyXG4gICAgICBoMzogKGZvbnQtc2l6ZTogMjRweCwgbGluZS1oZWlnaHQ6IDI4cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBib2R5OiAoZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMThweCwgZm9udC13ZWlnaHQ6IDQwMCksXHJcbiAgICAgIHNtYWxsOiAoZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjRweCwgZm9udC13ZWlnaHQ6IDQwMCksXHJcbiAgICApXHJcbik7XHJcbiRndXR0ZXI6IDMwcHg7XHJcblxyXG5cclxuLy9BTkdVTEFSIENESyBPVkVSTEFZIFZBUklBQkxFU1xyXG4kY2RrLXotaW5kZXgtb3ZlcmxheS1jb250YWluZXI6IDEwMDA7XHJcbiRjZGstei1pbmRleC1vdmVybGF5OiAxMDAwO1xyXG4kY2RrLXotaW5kZXgtb3ZlcmxheS1iYWNrZHJvcDogMTAwMDtcclxuXHJcbi8vIEJhY2tncm91bmQgY29sb3IgZm9yIGFsbCBvZiB0aGUgYmFja2Ryb3BzXHJcbiRjZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wLWJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yODgpO1xyXG5cclxuLy8gRGVmYXVsdCBiYWNrZHJvcCBhbmltYXRpb24gaXMgYmFzZWQgb24gdGhlIE1hdGVyaWFsIERlc2lnbiBzd2lmdC1lYXNlLW91dC5cclxuJGJhY2tkcm9wLWFuaW1hdGlvbi1kdXJhdGlvbjogNDAwbXMgIWRlZmF1bHQ7XHJcbiRiYWNrZHJvcC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSAhZGVmYXVsdDsiLCIvLyBHcmF5c1xyXG4kaW5hY3RpdmU6ICM1RjY4NzE7XHJcbiRtaWQtZ3JheTogIzk0OUFBMDtcclxuJGdyYXk6ICNDOUNDQ0Y7XHJcbiRtdXRlZDogI0U5RUFFQztcclxuJGxpZ2h0OiAjRjRGNUY1O1xyXG4kd2hpdGU6ICNGRkY7XHJcbi8vIElsbHVzdHJhdGl2ZSBJY29uc1xyXG4kaW5mbzogIzY0OTVGNjtcclxuJGFjY2VudC0xOiAjRkZGO1xyXG4kYWNjZW50LTI6ICMwMDA7XHJcbi8vIEFsZXJ0c1xyXG4kZXJyb3I6ICNjYjJkMGU7XHJcbiR3YXJuaW5nOiAjZTM3OTM2O1xyXG4kc3VjY2VzczogIzIyOTg2YztcclxuLy8gTGlua3NcclxuJGxpbms6ICMxNzZBQ0Y7XHJcbiRsaW5rLXZpc2l0ZWQ6ICM1NTFBOEI7IiwiJGJyZWFrcG9pbnRzIDooIHhzOjQ4MHB4LCBzbTogNzY4cHgsIG1kOjk5MnB4LCBsZzogMTIwMHB4KTtcclxuXHJcbkBtaXhpbiB4cyB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAneHMnKSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gc20ge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJ3NtJykpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1kIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICdtZCcpKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBsZyB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAnbGcnKSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcbiIsIkBpbXBvcnQgJy4vX2ZvbnQtaWNvbi5zY3NzJztcclxuXHJcbiRidG4taWNvbi1zaXplOiAxZW07XHJcbiRpY29uLXNpemU6IDEuNWVtO1xyXG5cclxuQG1peGluIGljb25zIHtcclxuICAgIC51ay1idG4uaWNvbntcclxuICAgICAgICAudWstaWNvbntcclxuICAgICAgICAgICAgaGVpZ2h0OiAkaWNvbi1zaXplO1xyXG4gICAgICAgICAgICB3aWR0aDogJGljb24tc2l6ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudWstYnRue1xyXG4gICAgICAgIC51ay1pY29ue1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRidG4taWNvbi1zaXplO1xyXG4gICAgICAgICAgICB3aWR0aDogJGJ0bi1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGJ0bi1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIC8vR2VuZXJhbFxyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC51ay1pY29uIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgc3Ryb2tlLXdpZHRoOiAwO1xyXG4gICAgICAgIHN0cm9rZTogY3VycmVudENvbG9yO1xyXG4gICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcclxuICAgICAgICBmb250LXNpemU6ICRpY29uLXNpemU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAkaWNvbi1zaXplO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6ICRpY29uLXNpemU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGljb25zKCk7XHJcbkBpbmNsdWRlIGZvbnRJY29ucygpOyIsIkBtaXhpbiBmb250SWNvbnMge1xyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiYm9maS1pY29uXCI7XHJcbiAgICAgICAgc3JjOnVybChcIi9hc3NldHMvYm9maS1pY29uLmVvdFwiKTtcclxuICAgICAgICBzcmM6dXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24uZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcclxuICAgICAgICAgIHVybChcIi9hc3NldHMvYm9maS1pY29uLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgIHVybChcIi9hc3NldHMvYm9maS1pY29uLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgIHVybChcIi9hc3NldHMvYm9maS1pY29uLnN2ZyNib2ZpLWljb25cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOyAgXHJcbiAgICB9XHJcblxyXG4gICAgW2RhdGEtaWNvbl06YmVmb3JlIHtcclxuICAgICAgICBmb250LWZhbWlseTogXCJib2ZpLWljb25cIiAhaW1wb3J0YW50O1xyXG4gICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1pY29uKTtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHNwZWFrOiBub25lO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIFtjbGFzc149XCJib2ZpLVwiXTpiZWZvcmUsXHJcbiAgICAgIFtjbGFzcyo9XCIgYm9maS1cIl06YmVmb3JlIHtcclxuICAgICAgICBmb250LWZhbWlseTogXCJib2ZpLWljb25cIiAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgc3BlYWs6IG5vbmU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgLmJvZmktcmVjdXJyaW5nOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDYxXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZWJpbGw6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjdcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hZGQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hdG06YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hdXRvbWF0aWM6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1iYW5rOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDczXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYmFua2ZlZXM6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kYXRlcGlja2VyOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDZhXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZGVwb3NpdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3N1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWVkaXQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzhcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1mYXE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcN2FcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1tZXNzYWdlczpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0MVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW1lbnU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1pbnRlcmVzdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2NVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBlbmRpbmc6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNGNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1waG9uZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0ZFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXByaW50OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDRmXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcmVmdW5kOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDUyXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcmVtb3ZlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDUzXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc3VjY2VzczpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1NFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXNlYXJjaDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1NlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBhc3N3b3JkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDZkXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdXNlcm5hbWU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1nZWFyOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDY4XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY29udGFjdC1saXN0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQyXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZmlsdGVyOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDc2XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZGViaXQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zdXBwb3J0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDY5XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdXNlci1zZXR0aW5nczpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3MFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWFjY291bnRzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDY0XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdHJhbnNmZXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1waG90bzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3OVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNoZWNrLW1hcms6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1pbmZvcm1hdGlvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0OVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNoYXQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNGJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jYW5jZWw6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNGVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zZW5kLWljb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS13YXJuaW5nOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDU4XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdXBsb2FkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDVhXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdGh1bWJzdXA6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzBcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZGY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDdcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jaGVjazpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0OFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXN0YXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jYW1lcmE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kZWxpdmVyeS1tZXRob2Q6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kb3dubG9hZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzN1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWViaWxsLXBheWJpbGxzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDM4XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZmxhZzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyMlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWFsZXJ0LWhpc3Rvcnk6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1tb2JpbGVkZXBvc2l0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDI4XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktb25ldGltZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyOVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBlcnNvbmFsLW1lc3NhZ2U6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMmNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS10ZXh0LW1lc3NhZ2U6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNGFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1leWUtb3V0bGluZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1MFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWF0dGFjaDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1MVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWxvZ291dDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2YlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNsb3NlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQ1XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZ2Vhci1jaXJjbGU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTdcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS10aHVtYnN1cC1jaXJjbGU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTlcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1tb2RhbC1zZW5kOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDZjXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYWRkLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1ncm91cDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzM1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWhvbWU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZXJzb25hbC1pbmZvOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDM5XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGVyc29uLWNoZWNrOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDIxXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGVyc29uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDIzXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc2lnbmVyOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDI1XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZGF0ZXBpY2tlci0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDI2XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcmVmdW5kLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZWN1cnJpbmctMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyN1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW1lc3NhZ2VzLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMmFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1mYXEtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyYlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWdlYXItMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyZFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXJlbW92ZS0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDJlXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcmVmdW5kLTI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMmZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS11c2VybmFtZS0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDNhXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc2VhcmNoLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcM2JcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wYXNzd29yZC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDNjXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZGFzaGJvYXJkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDNkXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXRtLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcM2VcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZW5kaW5nLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcM2ZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zdWNjZXNzLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDBcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1waG9uZS0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDViXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcHJpbnQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1ZFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW1lbnUtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1ZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWludGVyZXN0LTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1pYy1jb250YWN0LWxpc3Q6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjBcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kZXBvc2l0LTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcN2JcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hdXRvbWF0aWMtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3Y1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWF1dG9tYXRpY3BheW1lbnQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcN2RcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1iYW5rLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcN2VcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1iYW5rZmVlcy0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDVjXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZWRpdC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXGUwMDBcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS0xNDk4MTk1NTkyLWljb24xNS04OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDZlXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXJyb3ctY2hldnJvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzMVwiO1xyXG4gICAgICB9ICAgICAgXHJcbn0iLCIuY2RrLW92ZXJsYXktY29udGFpbmVyLFxyXG4uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXIge1xyXG4gIC8vIERpc2FibGUgZXZlbnRzIGZyb20gYmVpbmcgY2FwdHVyZWQgb24gdGhlIG92ZXJsYXkgY29udGFpbmVyLlxyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICAvLyBUaGUgY29udGFpbmVyIHNob3VsZCBiZSB0aGUgc2l6ZSBvZiB0aGUgdmlld3BvcnQuXHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vLyBUaGUgb3ZlcmxheS1jb250YWluZXIgaXMgYW4gaW52aXNpYmxlIGVsZW1lbnQgd2hpY2ggY29udGFpbnMgYWxsIGluZGl2aWR1YWwgb3ZlcmxheXMuXHJcbi5jZGstb3ZlcmxheS1jb250YWluZXIge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheS1jb250YWluZXI7XHJcbn1cclxuXHJcbi8vIFdlIHVzZSBhbiBleHRyYSB3cmFwcGVyIGVsZW1lbnQgaW4gb3JkZXIgdG8gdXNlIG1ha2UgdGhlIG92ZXJsYXkgaXRzZWxmIGEgZmxleCBpdGVtLlxyXG4vLyBUaGlzIG1ha2VzIGNlbnRlcmluZyB0aGUgb3ZlcmxheSBlYXN5IHdpdGhvdXQgcnVubmluZyBpbnRvIHRoZSBzdWJwaXhlbCByZW5kZXJpbmdcclxuLy8gcHJvYmxlbXMgdGllZCB0byB1c2luZyBgdHJhbnNmb3JtYCBhbmQgd2l0aG91dCBpbnRlcmZlcmluZyB3aXRoIHRoZSBvdGhlciBwb3NpdGlvblxyXG4vLyBzdHJhdGVnaWVzLlxyXG4uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5O1xyXG59XHJcblxyXG4vLyBBIHNpbmdsZSBvdmVybGF5IHBhbmUuXHJcbi5jZGstb3ZlcmxheS1wYW5lIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheTtcclxufVxyXG5cclxuLmNkay1vdmVybGF5LWJhY2tkcm9wIHtcclxuICAvLyBUT0RPKGplbGJvdXJuKTogcmV1c2Ugc2lkZW5hdiBmdWxsc2NyZWVuIG1peGluLlxyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcblxyXG4gIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5LWJhY2tkcm9wO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkYmFja2Ryb3AtYW5pbWF0aW9uLWR1cmF0aW9uXHJcbiAgICAkYmFja2Ryb3AtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjtcclxuICBvcGFjaXR5OiAwO1xyXG5cclxuICAmLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbi5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wIHtcclxuICBiYWNrZ3JvdW5kOiAkY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcC1iYWNrZ3JvdW5kO1xyXG59XHJcblxyXG4uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3Age1xyXG4gIC8vIE5vdGU6IGFzIG9mIEZpcmVmb3ggNTcsIGhhdmluZyB0aGUgYmFja2Ryb3AgYmUgYGJhY2tncm91bmQ6IG5vbmVgIHdpbGwgcHJldmVudCBpdCBmcm9tXHJcbiAgLy8gY2FwdHVyaW5nIHRoZSB1c2VyJ3MgbW91c2Ugc2Nyb2xsIGV2ZW50cy4gU2luY2Ugd2UgYWxzbyBjYW4ndCB1c2Ugc29tZXRoaW5nIGxpa2VcclxuICAvLyBgcmdiYSgwLCAwLCAwLCAwKWAsIHdlIHdvcmsgYXJvdW5kIHRoZSBpbmNvbnNpc3RlbmN5IGJ5IG5vdCBzZXR0aW5nIHRoZSBiYWNrZ3JvdW5kIGF0XHJcbiAgLy8gYWxsIGFuZCB1c2luZyBgb3BhY2l0eWAgdG8gbWFrZSB0aGUgZWxlbWVudCB0cmFuc3BhcmVudC5cclxuICAmLFxyXG4gICYuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLy8gVXNlZCB3aGVuIGRpc2FibGluZyBnbG9iYWwgc2Nyb2xsaW5nLlxyXG4uY2RrLWdsb2JhbC1zY3JvbGxibG9jayB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG5cclxuICAvLyBOZWNlc3NhcnkgZm9yIHRoZSBjb250ZW50IG5vdCB0byBsb3NlIGl0cyB3aWR0aC4gTm90ZSB0aGF0IHdlJ3JlIHVzaW5nIDEwMCUsIGluc3RlYWQgb2ZcclxuICAvLyAxMDB2dywgYmVjYXVzZSAxMDB2dyBpbmNsdWRlcyB0aGUgd2lkdGggcGx1cyB0aGUgc2Nyb2xsYmFyLCB3aGVyZWFzIDEwMCUgaXMgdGhlIHdpZHRoXHJcbiAgLy8gdGhhdCB0aGUgZWxlbWVudCBoYWQgYmVmb3JlIHdlIG1hZGUgaXQgYGZpeGVkYC5cclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgLy8gTm90ZTogdGhpcyB3aWxsIGFsd2F5cyBhZGQgYSBzY3JvbGxiYXIgdG8gd2hhdGV2ZXIgZWxlbWVudCBpdCBpcyBvbiwgd2hpY2ggY2FuXHJcbiAgLy8gcG90ZW50aWFsbHkgcmVzdWx0IGluIGRvdWJsZSBzY3JvbGxiYXJzLiBJdCBzaG91bGRuJ3QgYmUgYW4gaXNzdWUsIGJlY2F1c2Ugd2Ugd29uJ3RcclxuICAvLyBibG9jayBzY3JvbGxpbmcgb24gYSBwYWdlIHRoYXQgZG9lc24ndCBoYXZlIGEgc2Nyb2xsYmFyIGluIHRoZSBmaXJzdCBwbGFjZS5cclxuICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbn1cclxuIiwiQGltcG9ydCAnLi4vLi4vbWl4aW5zL19hbmltYXRpb24uc2Nzcyc7XHJcbkAtd2Via2l0LWtleWZyYW1lcyBzay1ib3VuY2VkZWxheSB7XHJcbiAgICAwJSwgODAlLCAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApIH1cclxuICAgIDQwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjApIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzay1ib3VuY2VkZWxheSB7XHJcbiAgICAwJSwgODAlLCAxMDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgIH0gNDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB1ay1kb3QtbG9hZGVyKCR0aGVtZSkge1xyXG4gICAgLnVpa2l0LWRvdC1sb2FkZXIge1xyXG4gICAgICAgIHVzZXItc2VsZWN0Om5vbmU7ICAgICAgICAgICAgXHJcbiAgICAgICAgJi51aWtpdC1pbmxpbmUtZG90LWxvYWRlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgID5zcGFuIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkod2hpdGUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuXHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgQGluY2x1ZGUgYW5pbWF0aW9uKHNrLWJvdW5jZWRlbGF5IDEuMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQgYm90aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4uYm91bmNlMSB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogLTAuMzJzO1xyXG4gICAgICAgIH1cclxuICAgICAgICA+LmJvdW5jZTIge1xyXG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IC0wLjE2cztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJAbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRlLi4uKSB7XHJcbiAgICAkbWF4OiBsZW5ndGgoJGFuaW1hdGUpO1xyXG4gICAgJGFuaW1hdGlvbnM6ICcnO1xyXG5cclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heCB7XHJcbiAgICAgICAgJGFuaW1hdGlvbnM6ICN7JGFuaW1hdGlvbnMgKyBudGgoJGFuaW1hdGUsICRpKX07XHJcblxyXG4gICAgICAgIEBpZiAkaSA8ICRtYXgge1xyXG4gICAgICAgICAgICAkYW5pbWF0aW9uczogI3skYW5pbWF0aW9ucyArICcsICd9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGFuaW1hdGlvbjogJGFuaW1hdGlvbnM7XHJcbn1cclxuXHJcbkBtaXhpbiBrZXlmcmFtZXMoJGFuaW1hdGlvbk5hbWUpIHtcclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyAjeyRhbmltYXRpb25OYW1lfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICBALW1vei1rZXlmcmFtZXMgI3skYW5pbWF0aW9uTmFtZX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gICAgQC1vLWtleWZyYW1lcyAjeyRhbmltYXRpb25OYW1lfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICBAa2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufSIsIkBpbXBvcnQgJy4uLy4uL21peGlucy9hbmltYXRpb24uc2Nzcyc7XHJcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbC9fc3Itb25seS5zY3NzJztcclxuXHJcbiRpbnB1dDogKCBzaXplOiAyMnB4LCBtYXJnaW4tcmlnaHQ6IDEwcHgpO1xyXG4kcmlwcGxlOiAoIHBvc2l0aW9uOiAxMHB4LCBzaXplOiBtYXAtZ2V0KCRpbnB1dCwgc2l6ZSkgKiAzKTtcclxuQGluY2x1ZGUga2V5ZnJhbWVzKHJpcHBsZSkge1xyXG4gICAgNSUsXHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgNSUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuXHJcbkBtaXhpbiB1ay1yYWRpbygkdGhlbWUpIHtcclxuICAgICN7JHByZWZpeH0tcmFkaW8tZ3JvdXAge1xyXG4gICAgICAgIC4jeyRwcmVmaXh9LXJhZGlvLWdyb3VwIHtcclxuICAgICAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPXJhZGlvXSB7XHJcbiAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMHB4OyAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7ICAgICAgICBcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAkaW5wdXRzLWNvbmZpZzogbWFwLWdldCgkdGhlbWUsIGlucHV0cyk7XHJcbiAgICAkY29uZmlnOiBtYXAtZ2V0KCRpbnB1dHMtY29uZmlnLCBpbnB1dC1jaGVja2VkKTtcclxuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnktY29sb3IpO1xyXG4gICAgaW5wdXRbdHlwZT1yYWRpb10ge1xyXG4gICAgICAgIEBpbmNsdWRlIHNyLW9ubHkoKTtcclxuXHJcbiAgICAgICAgJjpkaXNhYmxlZCtsYWJlbDpub3QoOmNoZWNrZWQpLCAmLmRpc2FibGVkK2xhYmVsOm5vdCg6Y2hlY2tlZCkge1xyXG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRoZW1pZnkoaW5hY3RpdmUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgK2xhYmVsIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIC8vIG1hcmdpbjogMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAobWFwLWdldCgkaW5wdXQsIHNpemUpICsgbWFwLWdldCgkaW5wdXQsIG1hcmdpbi1yaWdodCkpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IG1hcC1nZXQoJGlucHV0LCBzaXplKSArIDJweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG1hcC1nZXQoJGlucHV0LCBzaXplKSArIDJweDtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRpbnB1dCwgc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJGlucHV0LCBzaXplKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgbWFwLWdldCgkaW5wdXQsIHNpemUpIHRoZW1pZnkod2hpdGUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0aGVtaWZ5KGluYWN0aXZlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIHRvcDogKG1hcC1nZXQoJGlucHV0LCBzaXplKSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogbWFwLWdldCgkcmlwcGxlLCBwb3NpdGlvbikgLSAxcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLCBzaXplKTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLCBzaXplKTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjEpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMCk7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyK2xhYmVsLCAmLmhvdmVyK2xhYmVse1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmNoZWNrZWQrbGFiZWwge1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4IHRoZW1pZnkod2hpdGUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBhbmltYXRpb24ocmlwcGxlIDFzIG5vbmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLnVrLWZvcm0tY29udHJvbCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgbWluLWhlaWdodDogMThweDtcclxuXHJcbiAgICAmX192YWx1ZSB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICBtYXgtd2lkdGg6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgICZfX2FkZG9uIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG59IiwiLmFsZXJ0IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVlbTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gIGhlaWdodDogNDZweDtcclxuICBjb2xvcjogYmxhY2s7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgXHJcbiAgLmljb24ge1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgIG1hcmdpbi10b3A6IC0ycHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5jbG9zZS1pY29ue1xyXG4gICAgZm9udC1zaXplOiA2LjIyODVweDtcclxuICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICB9XHJcblxyXG4gIC5jaGlsZC0tZmVhdHVyZWQge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxM3B4O1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gIH1cclxufSIsIkBpbXBvcnQgXCJ+QHVpa2l0L2NvcmUvc3JjL2dyaWQvX21lZGlhLXF1ZXJpZXNcIjtcclxuQGltcG9ydCBcIl92YXJpYWJsZXMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiX21peGlucy5zY3NzXCI7XHJcblxyXG46aG9zdCB7XHJcbiAgICAvLyBCYWNrR3JvdW5kXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1iYW5uZXJDb2xvcik7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNlbnRlcjtcclxuXHJcbiAgICAvLyBOb3JtYWwgU3R5bGVzXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi10b3A6ICRoZWFkZXItaGVpZ2h0O1xyXG4gICAgcGFkZGluZzogMjVweDtcclxuICAgIC8vIEZvciBQcm9ncmVzcyBCYXJcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAmLmJyYW5kLW1vYmlsZS1iYW5uZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWJyYW5kTW9iaWxlQmFubmVyKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmV4aXN0aW5nLWN1c3RvbWVyIHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmJhbm5lci10aXRsZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGdldCgkYmFubmVyLCBmb250LWZhbWlseSk7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1oZWFkZXJGb250Q29sb3IpO1xyXG4gICAgICAgIC8vIG1hcmdpbi10b3A6IGF1dG87XHJcblxyXG4gICAgICAgICYuaWNvbiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjZlbTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBnZXQoJGJhbm5lciwgJ2Fycm93JywgJ2ltYWdlJyk7XHJcbiAgICAgICAgICAgICAgICAvL2NvbnRlbnQ6IHVybCgnfi9hc3NldHMvaWNvbnMvYXJyb3ctcHJpbWFyeS5zdmcnKTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAwLjRlbTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IGdldCgkYmFubmVyLCAnYXJyb3cnLCAnbGVmdC1tb2JpbGUnKTtcclxuICAgICAgICAgICAgICAgIHRvcDogMC4wM2VtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ke1xyXG4gICAgICAgICAgICAgICAgJjphZnRlcntcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBnZXQoJGJhbm5lciwgJ2Fycm93JywgJ2xlZnQnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhhcy1uby1wcm9kdWN0e1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYmFubmVyLXN1Yi10aXRsZSB7IFxyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWhlYWRlckZvbnRDb2xvcik7XHJcbiAgICB9XHJcbiAgICAuYmFubmVyLXByb2R1Y3RzIHsgXHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDsgXHJcbiAgICAgICAgY29sb3I6IHZhcigtLWhlYWRlckZvbnRDb2xvcik7XHJcbiAgICB9XHJcbiAgICAucHJvZHVjdC1sYWJlbHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tYmFubmVyU2Vjb25kYXJ5Q29sb3IpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBnZXQoJGJhbm5lciwgJ3Byb2R1Y3QtbGFiZWwnLCAnd2VpZ2h0Jyk7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICAvLyBGb3IgRGVza3RvcFxyXG4gICAgQGluY2x1ZGUgbWQge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWJhbm5lckNvbG9yKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDI1cHggMzBweDtcclxuXHJcbiAgICAgICAgLy8gRmxleFxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgbWluLWhlaWdodDogMjUwcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuXHJcbiAgICAgICAgJi5icmFuZC1tb2JpbGUtYmFubmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tYnJhbmRCYW5uZXIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5leGlzdGluZy1jdXN0b21lciB7XHJcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy9JRSBCYW5uZXJcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA5OTJweCkgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKXtcclxuICAgICAgICBoZWlnaHQ6IDI1MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG46aG9zdCguZXhpc3RpbmctY3VzdG9tZXIpe1xyXG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XHJcbiAgICBAaW5jbHVkZSBtZHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcclxuICAgIH1cclxufVxyXG4iLCLvu79AaW1wb3J0IFwifkB1aWtpdC9jb3JlL3NyYy91aWtpdC1jb3JlXCI7XHJcblxyXG4kZGVmYXVsdC10aGVtZTogJHVrLWF4b3MtdGhlbWU7XHJcbi8vIENvbG9yc1xyXG4kcHJpbWFyeS1jb2xvcjogdWstY29sb3IoZ2V0KCRkZWZhdWx0LXRoZW1lLCBwYWxldHRlcywgcHJpbWFyeSkpO1xyXG4kc2Vjb25kYXJ5LWNvbG9yOiB1ay1jb2xvcihnZXQoJGRlZmF1bHQtdGhlbWUsIHBhbGV0dGVzLCBzZWNvbmRhcnkpKTtcclxuXHJcbi8vRm9udHNcclxuJHVrLXByaW1hcnktZm9udC1uYW1lOiBnZXQoJGRlZmF1bHQtdGhlbWUsIGZvbnRzLCBmYW1pbGllcywgcHJpbWFyeSwgbmFtZSk7XHJcbiR1ay1zZWNvbmRhcnktZm9udC1uYW1lOiBnZXQoJGRlZmF1bHQtdGhlbWUsIGZvbnRzLCBmYW1pbGllcywgc2Vjb25kYXJ5LCBuYW1lKTtcclxuXHJcbiR0aXRsZS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRub3RlLWNvbG9yOiAjZmZmO1xyXG4kbm90ZS1iYWNrZ3JvdW5kOiAjZmZmO1xyXG4kaGVhZGVyLWhlaWdodDogNTFweDtcclxuJGhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbiRtb2RhbDogKFxyXG4gICAgdGl0bGU6KFxyXG4gICAgICAgIGNvbG9yOiAjMWUzODY5XHJcbiAgICApLFxyXG4gICAgYm9keTooXHJcbiAgICAgICAgY29sb3I6ICMyMjJcclxuICAgICksXHJcbiAgICBpY29uOihcclxuICAgICAgICBjb2xvcjogI2ZmZixcclxuICAgICAgICBzaXplOiA4MHB4XHJcbiAgICApXHJcbik7XHJcblxyXG4kYmFubmVyOiAoXHJcbiAgICBhcnJvdzooXHJcbiAgICAgICAgIGltYWdlOiB1cmwoJ34vYXNzZXRzL2ljb25zL2Fycm93LXByaW1hcnkuc3ZnJyksXHJcbiAgICAgICAgIGxlZnQ6IDAsXHJcbiAgICAgICAgIGxlZnQtbW9iaWxlOiAwXHJcbiAgICApLFxyXG4gICAgYmFja2dyb3VuZDooXHJcbiAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcixcclxuICAgICAgICAgZGVza3RvcDooXHJcbiAgICAgICAgICAgICAgaW1hZ2UtdXJsOiB1cmwoJ34vYXNzZXRzL2ltYWdlcy90aXRsZS1iYW5uZXIucG5nJyksXHJcbiAgICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQsXHJcbiAgICAgICAgICAgICAgc2l6ZTogMTAwJVxyXG4gICAgICAgICApLFxyXG4gICAgICAgICBtb2JpbGU6KFxyXG4gICAgICAgICAgICAgIGltYWdlLXVybDogdXJsKCd+L2Fzc2V0cy9pbWFnZXMvbW9iaWxlLXRpdGxlLWJhbm5lci5wbmcnKSxcclxuICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdCxcclxuICAgICAgICAgICAgICBzaXplOiAxMDAlIGF1dG9cclxuICAgICAgICAgKSxcclxuICAgICksXHJcbiAgICAgdGl0bGU6KFxyXG4gICAgICAgICAgd2VpZ2h0OiA1MDAsXHJcbiAgICAgICAgICB3ZWlnaHQtbW9iaWxlOiA1MDBcclxuICAgICApLFxyXG4gICAgIGZvbnQtZmFtaWx5OiAkdWstc2Vjb25kYXJ5LWZvbnQtbmFtZSxcclxuICAgICBwcm9kdWN0LWxhYmVsOihcclxuICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLFxyXG4gICAgICAgICAgd2VpZ2h0OiA1MDBcclxuICAgICApXHJcbik7XHJcblxyXG4kaGVhZGVyOihcclxuICAgICBsb2dvOihcclxuICAgICAgICAgIGhlaWdodDogNDBweCxcclxuICAgICAgICAgIGhlaWdodC1tb2JpbGU6IDIwcHhcclxuICAgICApLFxyXG4gICAgIGZvbnQ6KFxyXG4gICAgICAgICBjb2xvcjogIzFFMzg2MCxcclxuICAgICAgICAgIHdlaWdodDogNTAwLFxyXG4gICAgICAgICAgc2l6ZTogMTZweFxyXG4gICAgICksXHJcbiAgICAgYW5pbWF0aW9uOihcclxuICAgICAgICAgIHBob25lLXNpemU6IDE0OHB4LFxyXG4gICAgICAgICAgZW1haWwtc2l6ZTogMzM5cHhcclxuICAgICApLFxyXG4gICAgIGJhY2tncm91bmQ6KFxyXG4gICAgICAgIGNvbG9yOiAjRkZGRkZGXHJcbiAgICApXHJcbik7XHJcblxyXG4kZXhpc3RpbmctcGFuZWw6KFxyXG4gICAgIHRhYjooXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLFxyXG4gICAgICAgICAgZm9udC1jb2xvci1ob3ZlcjogJHByaW1hcnktY29sb3JcclxuICAgICApXHJcbik7XHJcblxyXG4kcGFuZWwtcmV2aWV3LXN1Ym1pdDooXHJcbiAgdGl0bGU6IChcclxuICAgIGZvbnQtZmFtaWx5OiAkdWstc2Vjb25kYXJ5LWZvbnQtbmFtZVxyXG4gICksXHJcbiAgYXJyb3c6KFxyXG4gICAgICBjb2xvcjogM3B4IHNvbGlkICRzZWNvbmRhcnktY29sb3JcclxuICApLFxyXG4gIGVkaXQtYnV0dG9uOihcclxuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yXHJcbiAgKVxyXG4pO1xyXG5cclxuJHByb2dyZXNzLWJhcjooXHJcbiAgICAgYmFja2dyb3VuZC1jb2xvcjooXHJcbiAgICAgICAgIGJhc2U6IHRyYW5zcGFyZW50LFxyXG4gICAgICAgICBwcm9ncmVzczogI0ZBQTc0QVxyXG4gICAgIClcclxuKTtcclxuXHJcbiRub3RlLWJveDooXHJcbiAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjVGNSxcclxuICAgICB0aXRsZTooXHJcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3IsXHJcbiAgICAgICAgICB3ZWlnaHQ6IDYwMFxyXG4gICAgICksXHJcbiAgICAgZGVzY3JpcHRpb246KFxyXG4gICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yXHJcbiAgICAgKVxyXG4pO1xyXG5cclxuJHN0ZXBzLWNpcmNsZTooXHJcbiAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRixcclxuICAgICBjb2xvci10ZXh0OiAkcHJpbWFyeS1jb2xvcixcclxuICAgICBjb21wbGV0ZWQ6KFxyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3IsXHJcbiAgICAgICAgICBjb2xvci10ZXh0OiAjRkZGRkZGLFxyXG4gICAgIClcclxuKTtcclxuXHJcbiRsb2FkaW5nLXNjcmVlbjooXHJcbiAgICBsb2dvOiB1cmwoJ34vYXNzZXRzL2hlYWRlci9sb2dvLnN2ZycpLFxyXG4gICAgc2l6ZTogYXV0b1xyXG4pO1xyXG5cclxuLy9UT0RPIG1hdGNoIGNvbG9yc1xyXG4iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMvaGVscGVycy9fZ2V0LnNjc3MnO1xyXG5AaW1wb3J0ICcuLi8uLi9ncmlkL19tZWRpYS1xdWVyaWVzLnNjc3MnO1xyXG5cclxuJHVrLWF4b3MtZm9udDogKFxyXG4gICAgZmFtaWxpZXM6IChcclxuICAgICAgICBwcmltYXJ5OiAoXHJcbiAgICAgICAgICAgIG5hbWU6ICdSb2JvdG8nLFxyXG4gICAgICAgICAgICBjb2xvcjogJHVrLWF4b3MtcHJpbWFyeS1kZWZhdWx0XHJcbiAgICAgICAgICAgIC8vIHVybDogJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Sb2JvdG86MzAwLDQwMCw1MDAsNjAwLDcwMCdcclxuICAgICAgICApLFxyXG4gICAgICAgIHNlY29uZGFyeTogKFxyXG4gICAgICAgICAgICBuYW1lOiAnS2FyYm9uJyxcclxuICAgICAgICAgICAgY29sb3I6ICR1ay1heG9zLXByaW1hcnktZGVmYXVsdFxyXG4gICAgICAgIClcclxuICAgICksXHJcbiAgICBzaXplczogKFxyXG4gICAgICAgIHBob25lOihcclxuICAgICAgICAgICAgLy8gQXBwcm92ZWRcclxuICAgICAgICAgICAgaDE6KGZvbnQtc2l6ZTogNTJweCwgbGluZS1oZWlnaHQ6IDU4cHgsIGZvbnQtd2VpZ2h0OiAzMDApLFxyXG4gICAgICAgICAgICBoMjooZm9udC1zaXplOiA0MnB4LCBsaW5lLWhlaWdodDogNTBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgICAgICAgIGg0OiAoZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjRweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgICAgICAgIHA6KGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICAgICAgICBsYWJlbDogKGZvbnQtc2l6ZTogMTRweCwgbGluZS1oZWlnaHQ6IDIwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICAgICAgICAvLyBFbmQgQXBwcm92ZWRcclxuICAgICAgICAgICAgaDM6KGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICAgICAgICBib2R5Oihmb250LXNpemU6IDE1cHgsIGxpbmUtaGVpZ2h0OiAxOHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgICAgICAgc21hbGw6KGZvbnQtc2l6ZTogMTRweCwgbGluZS1oZWlnaHQ6IDIwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICAgICksXHJcbiAgICAgICAgdGFibGV0OihcclxuICAgICAgICAgICAgLy8gQXBwcm92ZWRcclxuICAgICAgICAgICAgaDE6KGZvbnQtc2l6ZTogNjJweCwgbGluZS1oZWlnaHQ6IDY4cHgsIGZvbnQtd2VpZ2h0OiAzMDApLFxyXG4gICAgICAgICAgICBoMjooZm9udC1zaXplOiA1MnB4LCBsaW5lLWhlaWdodDogNjBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgICAgICAgIGg0OiAoZm9udC1zaXplOiAyMHB4LCBsaW5lLWhlaWdodDogMzBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgICAgICAgIHA6KGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICAgICAgICBsYWJlbDogKGZvbnQtc2l6ZTogMTRweCwgbGluZS1oZWlnaHQ6IDIwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICAgICAgICAvLyBFbmQgQXBwcm92ZWRcclxuICAgICAgICAgICAgaDM6KGZvbnQtc2l6ZTogMjZweCwgbGluZS1oZWlnaHQ6IDMwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICAgICAgICBib2R5Oihmb250LXNpemU6IDE1cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgICAgICAgc21hbGw6KGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICAgICksXHJcbiAgICAgICAgZGVza3RvcDooXHJcbiAgICAgICAgICAgIC8vIEFwcHJvdmVkXHJcbiAgICAgICAgICAgIGgxOiAoZm9udC1zaXplOiA3MnB4LCBsaW5lLWhlaWdodDogNzhweCwgZm9udC13ZWlnaHQ6IDMwMCksXHJcbiAgICAgICAgICAgIGgyOiAoZm9udC1zaXplOiA2MnB4LCBsaW5lLWhlaWdodDogNzBweCwgZm9udC13ZWlnaHQ6IDMwMCksXHJcbiAgICAgICAgICAgIGg0OiAoZm9udC1zaXplOiAyMHB4LCBsaW5lLWhlaWdodDogMzBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgICAgICAgIHA6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyMnB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgICAgICAgbGFiZWw6IChmb250LXNpemU6IDE0cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNDAwKSxcclxuICAgICAgICAgICAgLy8gRW5kIEFwcHJvdmVkXHJcbiAgICAgICAgICAgIGgzOiAoZm9udC1zaXplOiAyNHB4LCBsaW5lLWhlaWdodDogMjhweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgICAgICAgIGJvZHk6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAxOHB4LCBmb250LXdlaWdodDogNDAwKSxcclxuICAgICAgICAgICAgc21hbGw6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNDAwKSxcclxuICAgICAgICApXHJcbiAgICApXHJcbik7Il19 */\"","declare var environment: any;\r\n\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n HostBinding\r\n} from '@angular/core';\r\n// RxJs\r\nimport { combineLatest, map } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { of } from 'rxjs';\r\nimport { EnrollmentState } from 'store';\r\nimport {\r\n getBanner,\r\n getBannerIsExisting,\r\n getProgress,\r\n getSubBanner\r\n} from 'store/selectors';\r\n\r\n@Component({\r\n selector: 'axos-banner',\r\n templateUrl: './banner.component.html',\r\n styleUrls: ['./banner.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: { 'class': 'center middle uk-text-center' }\r\n})\r\nexport class BannerComponent {\r\n isProxy = !!environment.isProxy;\r\n banner$ = this.store$.select(getBanner);\r\n subBanner$ = !this.isProxy? this.store$.select(getSubBanner): of(null);\r\n progress$ = this.store$.select(getProgress);\r\n isExisting$ = this.store$.select(getBannerIsExisting);\r\n\r\n data$ = this.banner$.pipe(\r\n combineLatest(\r\n this.subBanner$,\r\n this.progress$\r\n ),\r\n map(([banner, subBanner, progress]) => {\r\n return { banner: banner, subBanner: subBanner, progress: progress };\r\n })\r\n )\r\n\r\n @HostBinding('class.existing-customer') isExisting: boolean;\r\n @HostBinding('class.brand-banner') showBrandBanner: boolean = environment.orgSettings ? environment.orgSettings.some(x => x.name === 'brandBanner') : false;\r\n @HostBinding('class.brand-mobile-banner') showBrandMobileBanner: boolean = environment.orgSettings ? environment.orgSettings.some(x => x.name === 'brandMobileBanner') : false;\r\n\r\n constructor(private store$: Store) {\r\n this.isExisting$.subscribe(isExisting => this.isExisting = isExisting);\r\n }\r\n}\r\n","module.exports = \".browser-banner {\\n background-color: #DEF4FF;\\n padding: 16px 0 16px 0;\\n text-align: center;\\n color: #5F6871;\\n font-family: Roboto;\\n font-size: 14px;\\n font-weight: 500;\\n letter-spacing: 0; }\\n .browser-banner i {\\n font-size: 14px;\\n line-height: 14px;\\n vertical-align: bottom; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2Jyb3dzZXItYmFubmVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvc3JjXFxhcHBcXGxheW91dHNcXGNvbXBvbmVudHNcXGJyb3dzZXItYmFubmVyXFxicm93c2VyLWJhbm5lci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLHlCQUF5QjtFQUN6QixzQkFBc0I7RUFDdEIsa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixpQkFBaUIsRUFBQTtFQVJyQjtJQVdRLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsc0JBQXNCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvYnJvd3Nlci1iYW5uZXIvYnJvd3Nlci1iYW5uZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYnJvd3Nlci1iYW5uZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RFRjRGRjtcclxuICAgIHBhZGRpbmc6IDE2cHggMCAxNnB4IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogIzVGNjg3MTtcclxuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XHJcblxyXG4gICAgaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4OyAgICAgICAgXHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxuICAgICAgfVxyXG59Il19 */\"","declare var environment: any;\r\n\r\nimport { Component } from '@angular/core';\r\nimport { Platform } from '@angular/cdk/platform';\r\n\r\n@Component({\r\n selector: 'axos-browser-banner',\r\n templateUrl: './browser-banner.component.html',\r\n styleUrls: ['./browser-banner.component.scss']\r\n})\r\nexport class BrowserBannerComponent {\r\n isAxosUniversal: boolean = !!environment.isAxosUniversal;\r\n\r\n constructor(public platform: Platform) { }\r\n}\r\n","module.exports = \":host ::ng-deep .chatbot .abe-ew-header {\\n background-image: none !important;\\n background-color: var(--chatbotSecondary) !important;\\n border-bottom: none !important; }\\n\\n:host ::ng-deep .chatbot .abe-ew-conversation {\\n background-image: none !important;\\n background-color: var(--chatbotPrimary) !important; }\\n\\n:host ::ng-deep .chatbot .abe-ew-conversation-message-wrapper-sent {\\n text-align: left !important; }\\n\\n:host ::ng-deep .chatbot .abe-ew-conversation-message-wrapper-sent .abe-ew-conversation-message {\\n background-color: var(--chatbotSecondary) !important;\\n color: var(--chatbotPrimary) !important; }\\n\\n:host ::ng-deep .chatbot .abe-ew-conversation-message-wrapper-received .abe-ew-conversation-message {\\n background-color: var(--chatbotPrimary) !important;\\n color: var(--chatbotSecondary) !important; }\\n\\n:host ::ng-deep .chatbot .abe-ew-conversation-message-timestamp {\\n color: var(--chatbotSecondary) !important;\\n opacity: 1 !important; }\\n\\n:host ::ng-deep .chatbot .abe-ew-field input {\\n color: var(--chatbotSecondary) !important; }\\n\\n:host ::ng-deep .chatbot .abe-ew-conversation-context-collector {\\n background-color: var(--chatbotPrimary) !important;\\n color: var(--chatbotSecondary) !important; }\\n\\n:host ::ng-deep .chatbot .abe-ew-dialogue-panels {\\n background-image: none !important;\\n background-color: var(--chatbotSecondary) !important;\\n color: var(--chatbotPrimary) !important; }\\n\\n:host ::ng-deep .chatbot .abe-ew-panel {\\n background-image: none !important;\\n box-shadow: none !important; }\\n\\n:host ::ng-deep .chatbot .abe-ew-panel-faq {\\n background-color: var(--chatbotPrimary) !important;\\n margin-top: -28px !important;\\n padding-top: 30px !important; }\\n\\n:host ::ng-deep .chatbot .abe-ew-start-conversation,\\n:host ::ng-deep .chatbot .abe-ew-start-conversation:hover {\\n background: var(--chatbotAccent) !important;\\n color: var(--chatbotSecondary) !important;\\n box-shadow: none !important; }\\n\\n:host ::ng-deep .chatbot .abe-ew-user-input-dark input {\\n box-shadow: none !important;\\n font-size: 14px !important;\\n font-family: 'Roboto', sans-serif !important; }\\n\\n:host ::ng-deep .chatbot .abe-ew-title-info {\\n text-transform: uppercase !important; }\\n\\n:host ::ng-deep .chatbot .abe-ew-title-info .abe-ew-title-info-description {\\n text-transform: none !important; }\\n\\n:host ::ng-deep .chatbot .abe-ew-interaction-img-wrapper,\\n:host ::ng-deep .chatbot .abe-ew-interaction-roll-out-text {\\n background-color: var(--chatbotSecondary) !important; }\\n\\n:host ::ng-deep .chatbot.nationwide .abe-ew-start-conversation,\\n:host ::ng-deep .chatbot.nationwide .abe-ew-start-conversation:hover {\\n background: #0072cf !important;\\n color: #f6f8f9 !important; }\\n\\n:host ::ng-deep .chatbot.nationwide .abe-ew-conversation-message-wrapper-received .abe-ew-conversation-message {\\n background-color: #f6f8f9 !important;\\n color: #000000 !important; }\\n\\n:host ::ng-deep .abe-ew-widget,\\n:host ::ng-deep .abe-ew-conversation-message,\\n:host ::ng-deep .chatbot .abe-ew-start-conversation {\\n font-family: 'Roboto', sans-serif !important; }\\n\\n:host ::ng-deep .chatbot.nationwide .abe-ew-conversation-message,\\n:host ::ng-deep .chatbot.nationwide .abe-ew-start-conversation {\\n font-size: 13px !important; }\\n\\n.chatbot abe-embedded-web {\\n z-index: 1039 !important; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2NoYXQtYm90L0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvc3JjXFxhcHBcXGxheW91dHNcXGNvbXBvbmVudHNcXGNoYXQtYm90XFxjaGF0LWJvdC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBRTtFQUNFLGlDQUFpQztFQUNqQyxvREFBb0Q7RUFDcEQsOEJBQThCLEVBQUE7O0FBR2hDO0VBQ0UsaUNBQWlDO0VBQ2pDLGtEQUFrRCxFQUFBOztBQUdwRDtFQUNFLDJCQUEyQixFQUFBOztBQUQ3QjtJQUlJLG9EQUFvRDtJQUNwRCx1Q0FBdUMsRUFBQTs7QUFJM0M7RUFFSSxrREFBa0Q7RUFDbEQseUNBQXlDLEVBQUE7O0FBSTdDO0VBQ0UseUNBQXlDO0VBQ3pDLHFCQUFxQixFQUFBOztBQUd2QjtFQUVJLHlDQUF5QyxFQUFBOztBQUk3QztFQUNFLGtEQUFrRDtFQUNsRCx5Q0FBeUMsRUFBQTs7QUFHM0M7RUFDRSxpQ0FBaUM7RUFDakMsb0RBQW9EO0VBQ3BELHVDQUF1QyxFQUFBOztBQUd6QztFQUNFLGlDQUFpQztFQUNqQywyQkFBMkIsRUFBQTs7QUFHN0I7RUFDRSxrREFBa0Q7RUFDbEQsNEJBQTRCO0VBQzVCLDRCQUE0QixFQUFBOztBQUc5Qjs7RUFFRSwyQ0FBMkM7RUFDM0MseUNBQXlDO0VBQ3pDLDJCQUEyQixFQUFBOztBQUc3QjtFQUVJLDJCQUEyQjtFQUMzQiwwQkFBMEI7RUFDMUIsNENBQTRDLEVBQUE7O0FBSWhEO0VBQ0Usb0NBQW9DLEVBQUE7O0FBRHRDO0lBSUksK0JBQStCLEVBQUE7O0FBS25DOztFQUVFLG9EQUFvRCxFQUFBOztBQUd0RDs7RUFHSSw4QkFBOEI7RUFDOUIseUJBQXlCLEVBQUE7O0FBSjdCO0VBUUksb0NBQW9DO0VBQ3BDLHlCQUF5QixFQUFBOztBQUk3Qjs7O0VBR0UsNENBQTRDLEVBQUE7O0FBRzlDOztFQUdJLDBCQUEwQixFQUFBOztBQUk5QjtFQUNFLHdCQUF3QixFQUFBIiwiZmlsZSI6InNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2NoYXQtYm90L2NoYXQtYm90LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiICA6aG9zdCA6Om5nLWRlZXAgLmNoYXRib3QgLmFiZS1ldy1oZWFkZXIge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2hhdGJvdFNlY29uZGFyeSkgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbiAgXHJcbiAgOmhvc3QgOjpuZy1kZWVwIC5jaGF0Ym90IC5hYmUtZXctY29udmVyc2F0aW9uIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNoYXRib3RQcmltYXJ5KSAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBcclxuICA6aG9zdCA6Om5nLWRlZXAgLmNoYXRib3QgLmFiZS1ldy1jb252ZXJzYXRpb24tbWVzc2FnZS13cmFwcGVyLXNlbnQge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xyXG4gIFxyXG4gICAgLmFiZS1ldy1jb252ZXJzYXRpb24tbWVzc2FnZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNoYXRib3RTZWNvbmRhcnkpICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiB2YXIoLS1jaGF0Ym90UHJpbWFyeSkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgOmhvc3QgOjpuZy1kZWVwIC5jaGF0Ym90IC5hYmUtZXctY29udmVyc2F0aW9uLW1lc3NhZ2Utd3JhcHBlci1yZWNlaXZlZCB7XHJcbiAgICAuYWJlLWV3LWNvbnZlcnNhdGlvbi1tZXNzYWdlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2hhdGJvdFByaW1hcnkpICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiB2YXIoLS1jaGF0Ym90U2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICA6aG9zdCA6Om5nLWRlZXAgLmNoYXRib3QgLmFiZS1ldy1jb252ZXJzYXRpb24tbWVzc2FnZS10aW1lc3RhbXAge1xyXG4gICAgY29sb3I6IHZhcigtLWNoYXRib3RTZWNvbmRhcnkpICFpbXBvcnRhbnQ7XHJcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIFxyXG4gIDpob3N0IDo6bmctZGVlcCAuY2hhdGJvdCAuYWJlLWV3LWZpZWxkIHtcclxuICAgIGlucHV0IHtcclxuICAgICAgY29sb3I6IHZhcigtLWNoYXRib3RTZWNvbmRhcnkpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIDpob3N0IDo6bmctZGVlcCAuY2hhdGJvdCAuYWJlLWV3LWNvbnZlcnNhdGlvbi1jb250ZXh0LWNvbGxlY3RvciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jaGF0Ym90UHJpbWFyeSkgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiB2YXIoLS1jaGF0Ym90U2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBcclxuICA6aG9zdCA6Om5nLWRlZXAgLmNoYXRib3QgLmFiZS1ldy1kaWFsb2d1ZS1wYW5lbHMge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2hhdGJvdFNlY29uZGFyeSkgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiB2YXIoLS1jaGF0Ym90UHJpbWFyeSkgIWltcG9ydGFudDtcclxuICB9XHJcbiAgXHJcbiAgOmhvc3QgOjpuZy1kZWVwIC5jaGF0Ym90IC5hYmUtZXctcGFuZWwge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBcclxuICA6aG9zdCA6Om5nLWRlZXAgLmNoYXRib3QgLmFiZS1ldy1wYW5lbC1mYXEge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2hhdGJvdFByaW1hcnkpICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tdG9wOiAtMjhweCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy10b3A6IDMwcHggIWltcG9ydGFudDtcclxuICB9XHJcbiAgXHJcbiAgOmhvc3QgOjpuZy1kZWVwIC5jaGF0Ym90IC5hYmUtZXctc3RhcnQtY29udmVyc2F0aW9uLFxyXG4gIDpob3N0IDo6bmctZGVlcCAuY2hhdGJvdCAuYWJlLWV3LXN0YXJ0LWNvbnZlcnNhdGlvbjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0Ym90QWNjZW50KSAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IHZhcigtLWNoYXRib3RTZWNvbmRhcnkpICFpbXBvcnRhbnQ7XHJcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIFxyXG4gIDpob3N0IDo6bmctZGVlcCAuY2hhdGJvdCAuYWJlLWV3LXVzZXItaW5wdXQtZGFyayB7XHJcbiAgICBpbnB1dCB7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICA6aG9zdCA6Om5nLWRlZXAgLmNoYXRib3QgLmFiZS1ldy10aXRsZS1pbmZvIHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDtcclxuICBcclxuICAgIC5hYmUtZXctdGl0bGUtaW5mby1kZXNjcmlwdGlvbiB7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIFxyXG4gIDpob3N0IDo6bmctZGVlcCAuY2hhdGJvdCAuYWJlLWV3LWludGVyYWN0aW9uLWltZy13cmFwcGVyLFxyXG4gIDpob3N0IDo6bmctZGVlcCAuY2hhdGJvdCAuYWJlLWV3LWludGVyYWN0aW9uLXJvbGwtb3V0LXRleHQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2hhdGJvdFNlY29uZGFyeSkgIWltcG9ydGFudDtcclxuICB9XHJcbiAgXHJcbiAgOmhvc3QgOjpuZy1kZWVwIC5jaGF0Ym90Lm5hdGlvbndpZGUge1xyXG4gICAgLmFiZS1ldy1zdGFydC1jb252ZXJzYXRpb24sXHJcbiAgICAuYWJlLWV3LXN0YXJ0LWNvbnZlcnNhdGlvbjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICMwMDcyY2YgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6ICNmNmY4ZjkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICBcclxuICAgIC5hYmUtZXctY29udmVyc2F0aW9uLW1lc3NhZ2Utd3JhcHBlci1yZWNlaXZlZCAuYWJlLWV3LWNvbnZlcnNhdGlvbi1tZXNzYWdlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjhmOSAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICA6aG9zdCA6Om5nLWRlZXAgLmFiZS1ldy13aWRnZXQsXHJcbiAgOmhvc3QgOjpuZy1kZWVwIC5hYmUtZXctY29udmVyc2F0aW9uLW1lc3NhZ2UsXHJcbiAgOmhvc3QgOjpuZy1kZWVwIC5jaGF0Ym90IC5hYmUtZXctc3RhcnQtY29udmVyc2F0aW9uIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBcclxuICA6aG9zdCA6Om5nLWRlZXAgLmNoYXRib3QubmF0aW9ud2lkZSB7XHJcbiAgICAuYWJlLWV3LWNvbnZlcnNhdGlvbi1tZXNzYWdlLFxyXG4gICAgLmFiZS1ldy1zdGFydC1jb252ZXJzYXRpb24ge1xyXG4gICAgICBmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLmNoYXRib3QgYWJlLWVtYmVkZGVkLXdlYiB7XHJcbiAgICB6LWluZGV4OiAxMDM5ICFpbXBvcnRhbnQ7XHJcbiAgfSJdfQ== */\"","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { BaseDestroyComponent } from 'app/core/components';\r\n/* RxJs */\r\nimport { filter, takeUntil } from 'rxjs/operators';\r\n/* NgRx */\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { getChatBotSettings, getUser } from 'store/selectors';\r\n/* Services */\r\nimport { brandColorConfigurations, ChatBotSettings } from 'models/brand/chatbot-settings.model';\r\nimport { getToken } from 'store/selectors/auth.selectors';\r\n\r\n@Component({\r\n selector: 'axos-chat-bot',\r\n templateUrl: './chat-bot.component.html',\r\n styleUrls: ['./chat-bot.component.scss']\r\n})\r\nexport class ChatBotComponent extends BaseDestroyComponent {\r\n @ViewChild('abe', { static: true }) abe: ElementRef;\r\n\r\n userId: number;\r\n token: string;\r\n controlName = 'embeddedWebSdk';\r\n controlReadyEventName = 'embeddedWebSdkReady';\r\n brand: string;\r\n isChatBotOpen = false;\r\n settings: ChatBotSettings;\r\n chatBotSettings$ = this.store$.select(getChatBotSettings)\r\n .pipe(filter(settings => !!settings));\r\n user$ = this.store$.select(getUser);\r\n token$ = this.store$.select(getToken);\r\n\r\n constructor(\r\n private store$: Store\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.chatBotSettings$\r\n .pipe(\r\n takeUntil(this.unsubscribe$)\r\n ).subscribe(data => {\r\n this.brand = data.BrandName.toLocaleLowerCase();\r\n this.addAbeTags(data);\r\n this.addListeners();\r\n this.loadColorConfiguration(this.brand);\r\n });\r\n \r\n this.user$\r\n .pipe(\r\n takeUntil(this.unsubscribe$)\r\n ).subscribe(data => {\r\n if (data != null) {\r\n this.userId = +data.ApplicationId;\r\n }\r\n });\r\n\r\n this.token$\r\n .pipe(\r\n takeUntil(this.unsubscribe$)\r\n ).subscribe(data => {\r\n if (data != null) {\r\n this.token = data.access_token;\r\n }\r\n });\r\n }\r\n\r\n private addAbeTags(settings: ChatBotSettings) {\r\n this.abe.nativeElement.insertAdjacentHTML(\r\n 'beforeend',\r\n settings.Component\r\n );\r\n // Script to load widget\r\n this.scriptLoaderService(settings.WidgetChatBotUrl);\r\n }\r\n\r\n private scriptLoaderService(scriptSrc: string): Promise {\r\n if (!scriptSrc) {\r\n return;\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n const script = document.createElement('script');\r\n script.type = 'text/javascript';\r\n script.src = scriptSrc;\r\n script.async = true;\r\n script.onload = () => resolve(true);\r\n script.onerror = (error: Event) => {\r\n reject(error);\r\n };\r\n document.querySelector('body').appendChild(script);\r\n });\r\n }\r\n\r\n private addListeners() {\r\n window.addEventListener(this.controlReadyEventName, this.onEmbeddedWebSdkReady.bind(this));\r\n }\r\n\r\n private onEmbeddedWebSdkReady() {\r\n if (this.userId) {\r\n window[this.controlName].authenticateUser(this.userId, { token: this.token });\r\n } else {\r\n window[this.controlName].unauthenticateUser();\r\n }\r\n }\r\n\r\n private loadColorConfiguration(brand: string) {\r\n const brandColorConfiguration = brandColorConfigurations[brand];\r\n\r\n Object.keys(brandColorConfiguration).forEach(key => {\r\n document.documentElement.style.setProperty(`--${key}`, brandColorConfiguration[key]);\r\n });\r\n }\r\n\r\n}\r\n","module.exports = \"/**\\r\\n* Helper mixin to create a linear-gradient\\r\\n*\\r\\n*/\\n/*\\r\\nhtml,\\r\\nbody {\\r\\n font-family: 'Libre Franklin', 'Helvetica', sans-serif;\\r\\n // color: themify(text);\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\na {\\r\\n color: themify(link);\\r\\n cursor: pointer;\\r\\n text-decoration: none;\\r\\n -webkit-tap-highlight-color: transparent;\\r\\n}\\r\\n\\r\\n.round-image {\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n\\r\\n*/\\n.fcontainer-fluid,\\n.fcontainer {\\n margin: 0 auto; }\\n.fcontainer-fluid {\\n padding: 0 2rem; }\\n.frow {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex: 0 1 auto;\\n flex: 0 1 auto;\\n -ms-flex-direction: row;\\n flex-direction: row;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap; }\\n.frow.reverse {\\n -ms-flex-direction: row-reverse;\\n flex-direction: row-reverse; }\\n.finline {\\n display: -ms-inline-flexbox;\\n display: inline-flex; }\\n.reset-padding {\\n padding: 0; }\\n.reset-margin {\\n margin: 0; }\\n.uk-btn.none {\\n border: none;\\n background-color: transparent;\\n text-transform: none;\\n min-width: 0;\\n min-height: 0;\\n padding: 0; }\\n.uk-btn.icon {\\n font-weight: 500;\\n font-size: 14px;\\n line-height: 16px;\\n font-weight: bold; }\\n.uk-shadow-0 {\\n box-shadow: none !important; }\\n.uk-shadow-1 {\\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); }\\n.uk-shadow-1-half {\\n box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2); }\\n.uk-shadow-2 {\\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-3 {\\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-4 {\\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-5 {\\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.3); }\\n.uk-nav {\\n padding-left: 0;\\n margin-bottom: 0;\\n list-style: none;\\n box-sizing: border-box; }\\n.uk-nav .uk-nav-item {\\n clear: both;\\n float: none;\\n display: inline-block;\\n margin: 0px; }\\n.uk-nav .uk-nav-item:hover {\\n background-color: #eee; }\\n.uk-tooltip {\\n background-color: #293541;\\n color: #FFF;\\n position: fixed;\\n max-width: 280px;\\n font-size: 14px;\\n padding: 5px 10px;\\n z-index: 2; }\\n.uk-tooltip::before {\\n content: '';\\n position: absolute;\\n display: inline-block;\\n height: 0;\\n width: 0;\\n border: solid 6px transparent; }\\n.uk-tooltip.white {\\n background-color: #FFF;\\n color: #293541; }\\n.uk-tooltip.bottom::before {\\n border-bottom-color: #293541;\\n margin-top: -12px;\\n top: 0; }\\n.uk-tooltip.bottom.white::before {\\n border-bottom-color: #FFF !important; }\\n.uk-tooltip.top::before {\\n border-top-color: #293541;\\n margin-bottom: -12px;\\n bottom: 0; }\\n.uk-tooltip.top.white::before {\\n border-top-color: #FFF !important; }\\n.uk-tooltip.left::before {\\n border-left-color: #293541;\\n margin-right: -12px;\\n right: 0; }\\n.uk-tooltip.right::before {\\n border-right-color: #293541;\\n margin-left: -12px;\\n left: 0; }\\n.uk-label.uk-tooltip-host {\\n position: relative;\\n top: 5px; }\\n.uk-stepper {\\n display: inline-block; }\\n.uk-stepper .uk-progress-title {\\n color: #283541;\\n font-size: 18px;\\n font-weight: 600;\\n padding-top: 7px; }\\n.uk-stepper .uk-progress-step-body {\\n padding-top: 8px;\\n padding-bottom: 20px;\\n display: block; }\\n.uk-stepper .uk-progress-track {\\n list-style-type: none;\\n table-layout: fixed;\\n display: table;\\n width: 100%;\\n margin: 0;\\n padding: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step {\\n display: table-cell;\\n position: relative;\\n text-align: center;\\n padding-top: 27px; }\\n.uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n content: '';\\n background-color: #C9CCCF;\\n position: absolute;\\n top: 8.5px;\\n height: 3px;\\n width: 50%;\\n z-index: -1; }\\n.uk-stepper .uk-progress-track .uk-progress-step::before {\\n left: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step::after {\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step:first-child::before {\\n width: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step:last-child::after {\\n width: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n background-color: #C9CCCF;\\n position: absolute;\\n border-radius: 50%;\\n display: block;\\n margin: 0 auto;\\n height: 20px;\\n width: 20px;\\n padding: 0 4px;\\n top: 0;\\n left: 0;\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap .uk-icon {\\n display: none; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n position: absolute;\\n border-radius: 50%;\\n margin: 0 auto;\\n margin-top: 2px;\\n height: 16px;\\n width: 16px;\\n content: '';\\n left: 0;\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-progress-text {\\n position: relative;\\n color: #5F6871;\\n text-transform: capitalize;\\n font-size: 14px;\\n font-weight: 600; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border: solid 2px #FFF;\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active::before {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active.wip::after {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done .uk-step-icon-wrap {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done .uk-step-icon-wrap .uk-icon {\\n color: #FFF;\\n display: initial; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done::before, .uk-stepper .uk-progress-track .uk-progress-step.done::after {\\n background-color: #1e8257; }\\n@media only screen and (min-width: 768px) {\\n .uk-stepper .uk-progress-track .uk-progress-step {\\n padding-top: 32px; }\\n .uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n top: 11px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n height: 25px;\\n width: 25px;\\n padding: 0 6px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n height: 21px;\\n width: 21px; }\\n .uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border-width: 3px; } }\\n@media only screen and (min-width: 992px) {\\n .uk-stepper .uk-progress-track .uk-progress-step {\\n padding-top: 42px; }\\n .uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n top: 16px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n height: 35px;\\n width: 35px;\\n padding: 0 8px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n height: 31px;\\n width: 31px; }\\n .uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border-width: 4px; } }\\n.uk-btn.icon .uk-icon {\\n height: 1.5em;\\n width: 1.5em; }\\n.uk-btn .uk-icon {\\n height: 1em;\\n width: 1em;\\n font-size: 1em;\\n vertical-align: middle; }\\n.uk-icon {\\n display: inline-block;\\n stroke-width: 0;\\n stroke: currentColor;\\n fill: currentColor;\\n font-size: 1.5em;\\n max-width: 1.5em;\\n max-height: 1.5em; }\\n@font-face {\\n font-family: \\\"bofi-icon\\\";\\n src: url(\\\"/assets/bofi-icon.eot\\\");\\n src: url(\\\"/assets/bofi-icon.eot?#iefix\\\") format(\\\"embedded-opentype\\\"), url(\\\"/assets/bofi-icon.woff\\\") format(\\\"woff\\\"), url(\\\"/assets/bofi-icon.ttf\\\") format(\\\"truetype\\\"), url(\\\"/assets/bofi-icon.svg#bofi-icon\\\") format(\\\"svg\\\");\\n font-weight: normal;\\n font-style: normal; }\\n[data-icon]:before {\\n font-family: \\\"bofi-icon\\\" !important;\\n content: attr(data-icon);\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n[class^=\\\"bofi-\\\"]:before,\\n[class*=\\\" bofi-\\\"]:before {\\n font-family: \\\"bofi-icon\\\" !important;\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n.bofi-recurring:before {\\n content: \\\"\\\\61\\\"; }\\n.bofi-ebill:before {\\n content: \\\"\\\\67\\\"; }\\n.bofi-add:before {\\n content: \\\"\\\\6f\\\"; }\\n.bofi-atm:before {\\n content: \\\"\\\\71\\\"; }\\n.bofi-automatic:before {\\n content: \\\"\\\\72\\\"; }\\n.bofi-bank:before {\\n content: \\\"\\\\73\\\"; }\\n.bofi-bankfees:before {\\n content: \\\"\\\\74\\\"; }\\n.bofi-datepicker:before {\\n content: \\\"\\\\6a\\\"; }\\n.bofi-deposit:before {\\n content: \\\"\\\\77\\\"; }\\n.bofi-edit:before {\\n content: \\\"\\\\78\\\"; }\\n.bofi-faq:before {\\n content: \\\"\\\\7a\\\"; }\\n.bofi-messages:before {\\n content: \\\"\\\\41\\\"; }\\n.bofi-menu:before {\\n content: \\\"\\\\43\\\"; }\\n.bofi-interest:before {\\n content: \\\"\\\\65\\\"; }\\n.bofi-pending:before {\\n content: \\\"\\\\4c\\\"; }\\n.bofi-phone:before {\\n content: \\\"\\\\4d\\\"; }\\n.bofi-print:before {\\n content: \\\"\\\\4f\\\"; }\\n.bofi-refund:before {\\n content: \\\"\\\\52\\\"; }\\n.bofi-remove:before {\\n content: \\\"\\\\53\\\"; }\\n.bofi-success:before {\\n content: \\\"\\\\54\\\"; }\\n.bofi-search:before {\\n content: \\\"\\\\56\\\"; }\\n.bofi-password:before {\\n content: \\\"\\\\6d\\\"; }\\n.bofi-username:before {\\n content: \\\"\\\\75\\\"; }\\n.bofi-gear:before {\\n content: \\\"\\\\68\\\"; }\\n.bofi-contact-list:before {\\n content: \\\"\\\\42\\\"; }\\n.bofi-filter:before {\\n content: \\\"\\\\76\\\"; }\\n.bofi-debit:before {\\n content: \\\"\\\\62\\\"; }\\n.bofi-support:before {\\n content: \\\"\\\\69\\\"; }\\n.bofi-user-settings:before {\\n content: \\\"\\\\70\\\"; }\\n.bofi-accounts:before {\\n content: \\\"\\\\64\\\"; }\\n.bofi-transfer:before {\\n content: \\\"\\\\66\\\"; }\\n.bofi-photo:before {\\n content: \\\"\\\\79\\\"; }\\n.bofi-check-mark:before {\\n content: \\\"\\\\46\\\"; }\\n.bofi-information:before {\\n content: \\\"\\\\49\\\"; }\\n.bofi-chat:before {\\n content: \\\"\\\\4b\\\"; }\\n.bofi-cancel:before {\\n content: \\\"\\\\4e\\\"; }\\n.bofi-send-icon:before {\\n content: \\\"\\\\55\\\"; }\\n.bofi-warning:before {\\n content: \\\"\\\\58\\\"; }\\n.bofi-upload:before {\\n content: \\\"\\\\5a\\\"; }\\n.bofi-thumbsup:before {\\n content: \\\"\\\\30\\\"; }\\n.bofi-pdf:before {\\n content: \\\"\\\\47\\\"; }\\n.bofi-check:before {\\n content: \\\"\\\\48\\\"; }\\n.bofi-star:before {\\n content: \\\"\\\\36\\\"; }\\n.bofi-camera:before {\\n content: \\\"\\\\32\\\"; }\\n.bofi-delivery-method:before {\\n content: \\\"\\\\34\\\"; }\\n.bofi-download:before {\\n content: \\\"\\\\37\\\"; }\\n.bofi-ebill-paybills:before {\\n content: \\\"\\\\38\\\"; }\\n.bofi-flag:before {\\n content: \\\"\\\\22\\\"; }\\n.bofi-alert-history:before {\\n content: \\\"\\\\24\\\"; }\\n.bofi-mobiledeposit:before {\\n content: \\\"\\\\28\\\"; }\\n.bofi-onetime:before {\\n content: \\\"\\\\29\\\"; }\\n.bofi-personal-message:before {\\n content: \\\"\\\\2c\\\"; }\\n.bofi-text-message:before {\\n content: \\\"\\\\4a\\\"; }\\n.bofi-eye-outline:before {\\n content: \\\"\\\\50\\\"; }\\n.bofi-attach:before {\\n content: \\\"\\\\51\\\"; }\\n.bofi-logout:before {\\n content: \\\"\\\\6b\\\"; }\\n.bofi-close:before {\\n content: \\\"\\\\45\\\"; }\\n.bofi-gear-circle:before {\\n content: \\\"\\\\57\\\"; }\\n.bofi-thumbsup-circle:before {\\n content: \\\"\\\\59\\\"; }\\n.bofi-modal-send:before {\\n content: \\\"\\\\6c\\\"; }\\n.bofi-add-1:before {\\n content: \\\"\\\\44\\\"; }\\n.bofi-group:before {\\n content: \\\"\\\\33\\\"; }\\n.bofi-home:before {\\n content: \\\"\\\\35\\\"; }\\n.bofi-personal-info:before {\\n content: \\\"\\\\39\\\"; }\\n.bofi-person-check:before {\\n content: \\\"\\\\21\\\"; }\\n.bofi-person:before {\\n content: \\\"\\\\23\\\"; }\\n.bofi-signer:before {\\n content: \\\"\\\\25\\\"; }\\n.bofi-datepicker-1:before {\\n content: \\\"\\\\26\\\"; }\\n.bofi-refund-1:before {\\n content: \\\"\\\\63\\\"; }\\n.bofi-recurring-1:before {\\n content: \\\"\\\\27\\\"; }\\n.bofi-messages-1:before {\\n content: \\\"\\\\2a\\\"; }\\n.bofi-faq-1:before {\\n content: \\\"\\\\2b\\\"; }\\n.bofi-gear-1:before {\\n content: \\\"\\\\2d\\\"; }\\n.bofi-remove-1:before {\\n content: \\\"\\\\2e\\\"; }\\n.bofi-refund-2:before {\\n content: \\\"\\\\2f\\\"; }\\n.bofi-username-1:before {\\n content: \\\"\\\\3a\\\"; }\\n.bofi-search-1:before {\\n content: \\\"\\\\3b\\\"; }\\n.bofi-password-1:before {\\n content: \\\"\\\\3c\\\"; }\\n.bofi-dashboard:before {\\n content: \\\"\\\\3d\\\"; }\\n.bofi-atm-1:before {\\n content: \\\"\\\\3e\\\"; }\\n.bofi-pending-1:before {\\n content: \\\"\\\\3f\\\"; }\\n.bofi-success-1:before {\\n content: \\\"\\\\40\\\"; }\\n.bofi-phone-1:before {\\n content: \\\"\\\\5b\\\"; }\\n.bofi-print-1:before {\\n content: \\\"\\\\5d\\\"; }\\n.bofi-menu-1:before {\\n content: \\\"\\\\5e\\\"; }\\n.bofi-interest-1:before {\\n content: \\\"\\\\5f\\\"; }\\n.bofi-ic-contact-list:before {\\n content: \\\"\\\\60\\\"; }\\n.bofi-deposit-1:before {\\n content: \\\"\\\\7b\\\"; }\\n.bofi-automatic-1:before {\\n content: \\\"\\\\7c\\\"; }\\n.bofi-automaticpayment:before {\\n content: \\\"\\\\7d\\\"; }\\n.bofi-bank-1:before {\\n content: \\\"\\\\7e\\\"; }\\n.bofi-bankfees-1:before {\\n content: \\\"\\\\5c\\\"; }\\n.bofi-edit-1:before {\\n content: \\\"\\\\e000\\\"; }\\n.bofi-1498195592-icon15-8:before {\\n content: \\\"\\\\6e\\\"; }\\n.bofi-arrow-chevron:before {\\n content: \\\"\\\\31\\\"; }\\n.cdk-overlay-container,\\n.cdk-global-overlay-wrapper {\\n pointer-events: none;\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: 100%; }\\n.cdk-overlay-container {\\n position: fixed;\\n z-index: 1000; }\\n.cdk-global-overlay-wrapper {\\n display: -ms-flexbox;\\n display: flex;\\n position: absolute;\\n z-index: 1000; }\\n.cdk-overlay-pane {\\n position: absolute;\\n pointer-events: auto;\\n box-sizing: border-box;\\n z-index: 1000; }\\n.cdk-overlay-backdrop {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n z-index: 1000;\\n pointer-events: auto;\\n -webkit-tap-highlight-color: transparent;\\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\\n opacity: 0; }\\n.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 1; }\\n.cdk-overlay-dark-backdrop {\\n background: rgba(0, 0, 0, 0.288); }\\n.cdk-overlay-transparent-backdrop, .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 0; }\\n.cdk-global-scrollblock {\\n position: fixed;\\n width: 100%;\\n overflow-y: scroll; }\\n@-webkit-keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0); }\\n 40% {\\n -webkit-transform: scale(1); } }\\n@keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0);\\n transform: scale(0); }\\n 40% {\\n -webkit-transform: scale(1);\\n transform: scale(1); } }\\n@-webkit-keyframes ripple {\\n 5%,\\n 100% {\\n opacity: 0; }\\n 5% {\\n opacity: 1; } }\\n@keyframes ripple {\\n 5%,\\n 100% {\\n opacity: 0; }\\n 5% {\\n opacity: 1; } }\\n.uk-form-control {\\n display: inline-table;\\n cursor: pointer;\\n position: relative;\\n box-sizing: border-box;\\n min-height: 18px; }\\n.uk-form-control__value {\\n display: table-cell;\\n max-width: 0;\\n width: 100%;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n min-height: 48px; }\\n.uk-form-control__addon {\\n padding-left: 10px;\\n display: table-cell;\\n vertical-align: middle; }\\n.alert {\\n position: relative;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n margin-bottom: 20px;\\n margin-top: 20px;\\n border-radius: 0.25em;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: nowrap;\\n flex-wrap: nowrap;\\n height: 46px;\\n color: black;\\n font-size: 16px;\\n -ms-flex-align: center;\\n align-items: center; }\\n.alert .icon {\\n height: 20px;\\n width: 20px;\\n margin-left: 15px;\\n margin-top: -2px; }\\n.alert .close-icon {\\n font-size: 6.2285px;\\n margin-right: 15px; }\\n.alert .child--featured {\\n padding-left: 13px;\\n -ms-flex-positive: 1;\\n flex-grow: 1; }\\n:host {\\n display: block;\\n padding-top: 30px;\\n padding-bottom: 10px;\\n margin-top: 20px;\\n box-shadow: 0 -1px 0 0 #E9EAEC; }\\n:host p.uk-label {\\n margin-bottom: 25px; }\\n:host .screen-button {\\n display: block;\\n margin-top: 10px;\\n padding-left: 0; }\\n@media only screen and (min-width: 768px) {\\n :host .screen-button {\\n display: inline-block;\\n padding-left: 30px; } }\\n@media only screen and (min-width: 992px) {\\n :host {\\n padding-bottom: 50px;\\n padding-top: 70px;\\n margin-top: 30px; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2Zvb3Rlci1tb2JpbGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxtaXhpbnNcXGhlbHBlcnNcXF9saW5lYXItZ3JhZGllbnQuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2Zvb3Rlci1tb2JpbGUvZm9vdGVyLW1vYmlsZS5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2Zvb3Rlci1tb2JpbGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxnbG9iYWxcXF9nbG9iYWwuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2Zvb3Rlci1tb2JpbGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxncmlkXFxfY29udGFpbmVyLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9mb290ZXItbW9iaWxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcZ3JpZFxcX3Jvdy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvZm9vdGVyLW1vYmlsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXHV0aWxpdGllc1xcX3Jlc2V0cy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvZm9vdGVyLW1vYmlsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXHV0aWxpdGllc1xcX3NoYWRvdy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvZm9vdGVyLW1vYmlsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXG5hdnNcXF9iYXNlLW5hdnMuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2Zvb3Rlci1tb2JpbGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFx0b29sdGlwXFxfdG9vbHRpcC5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvZm9vdGVyLW1vYmlsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXHN0ZXBwZXJcXF9zdGVwcGVyLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9mb290ZXItbW9iaWxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcX3ZhcmlhYmxlcy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvZm9vdGVyLW1vYmlsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGJyYW5kc1xcX2NvbG9ycy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvZm9vdGVyLW1vYmlsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGdyaWRcXF9tZWRpYS1xdWVyaWVzLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9mb290ZXItbW9iaWxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcaWNvbnNcXF9pY29ucy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvZm9vdGVyLW1vYmlsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXGljb25zXFxfZm9udC1pY29uLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9mb290ZXItbW9iaWxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcb3ZlcmxheVxcX292ZXJsYXkuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2Zvb3Rlci1tb2JpbGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxsb2FkZXJzXFxfZG90LWxvYWRlci5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvZm9vdGVyLW1vYmlsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXG1peGluc1xcX2FuaW1hdGlvbi5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvZm9vdGVyLW1vYmlsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXHJhZGlvLWdyb3VwXFxlbGVtZW50LnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9mb290ZXItbW9iaWxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcZm9ybS1maWVsZHNcXF9mb3JtX2NvbnRyb2wuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2Zvb3Rlci1tb2JpbGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxhbGVydFxcX2FsZXJ0LnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9mb290ZXItbW9iaWxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvc3JjXFxhcHBcXGxheW91dHNcXGNvbXBvbmVudHNcXGZvb3Rlci1tb2JpbGVcXGZvb3Rl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QUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVo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QUNqQixnQkFBZ0IsRUFBQTtBQWxCcEI7SUFzQkksbUJBQW1CO0lBQ25CLGtCQUFrQixFQUFBO0FBdkJ0QjtJQTJCSSxrQkFBa0I7SUFDbEIsb0JBQVk7UUFBWixZQUFZLEVBQUE7QUMzQmhCO0VBQ0ksY0FBYztFQUNkLGlCQUFpQjtFQUNqQixvQkFBb0I7RUFDcEIsZ0JBQWdCO0VBQ2hCLDhCQUE4QixFQUFBO0FBTGxDO0lBUVEsbUJBQW1CLEVBQUE7QUFSM0I7SUFXUSxjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLGVBQWUsRUFBQTtBVExuQjtNU1JKO1FBZVkscUJBQXFCO1FBQ3JCLGtCQUFrQixFQUFBLEVBRXpCO0FUSkQ7SVNkSjtNQW9CUSxvQkFBb0I7TUFDcEIsaUJBQWlCO01BQ2pCLGdCQUFnQixFQUFBLEVBRXZCIiwiZmlsZSI6InNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2Zvb3Rlci1tb2JpbGUvZm9vdGVyLW1vYmlsZS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4qICBIZWxwZXIgbWl4aW4gdG8gY3JlYXRlIGEgbGluZWFyLWdyYWRpZW50XHJcbipcclxuKi9cclxuQG1peGluIGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3JsaXN0KSB7XHJcbiAgICBAaWYgbm90IGlzLWRpcmVjdGlvbigkZGlyZWN0aW9uKSB7XHJcbiAgICAgICAgJGNvbG9ybGlzdDogJGRpcmVjdGlvbiwgJGNvbG9ybGlzdDtcclxuICAgICAgICAkZGlyZWN0aW9uOiAwZGVnO1xyXG4gICAgfVxyXG4gICAgYmFja2dyb3VuZDogbnRoKG50aCgkY29sb3JsaXN0LCAxKSwgMSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWdhY3ktZGlyZWN0aW9uKCRkaXJlY3Rpb24pLCAkY29sb3JsaXN0KTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3JsaXN0KTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGlzLWRpcmVjdGlvbigkdmFsdWUpIHtcclxuICAgICRpcy1rZXl3b3JkOiBpbmRleCgodG8gdG9wLCB0byB0b3AgcmlnaHQsIHRvIHJpZ2h0IHRvcCwgdG8gcmlnaHQsIHRvIGJvdHRvbSByaWdodCwgdG8gcmlnaHQgYm90dG9tLCB0byBib3R0b20sIHRvIGJvdHRvbSBsZWZ0LCB0byBsZWZ0IGJvdHRvbSwgdG8gbGVmdCwgdG8gbGVmdCB0b3AsIHRvIHRvcCBsZWZ0KSwgJHZhbHVlKTtcclxuICAgICRpcy1hbmdsZTogdHlwZS1vZigkdmFsdWUpPT0nbnVtYmVyJyBhbmQgaW5kZXgoJ2RlZycgJ2dyYWQnICd0dXJuJyAncmFkJywgdW5pdCgkdmFsdWUpKTtcclxuICAgIEByZXR1cm4gJGlzLWtleXdvcmQgb3IgJGlzLWFuZ2xlO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gbGVnYWN5LWRpcmVjdGlvbigkdmFsdWUpIHtcclxuICAgIEBpZiBpcy1kaXJlY3Rpb24oJHZhbHVlKT09ZmFsc2Uge1xyXG4gICAgICAgIEBlcnJvciBcIkNhbm5vdCBjb252ZXJ0IGAjeyR2YWx1ZX1gIHRvIGxlZ2FjeSBzeW50YXggYmVjYXVzZSBpdCBkb2Vzbid0IHNlZW0gdG8gYmUgYSBkaXJlY3Rpb24uXCI7XHJcbiAgICB9XHJcbiAgICAkY29udmVyc2lvbi1tYXA6ICggdG8gdG9wOiBib3R0b20sIHRvIHRvcCByaWdodDogYm90dG9tIGxlZnQsIHRvIHJpZ2h0IHRvcDogbGVmdCBib3R0b20sIHRvIHJpZ2h0OiBsZWZ0LCB0byBib3R0b20gcmlnaHQ6IHRvcCBsZWZ0LCB0byByaWdodCBib3R0b206IGxlZnQgdG9wLCB0byBib3R0b206IHRvcCwgdG8gYm90dG9tIGxlZnQ6IHRvcCByaWdodCwgdG8gbGVmdCBib3R0b206IHJpZ2h0IHRvcCwgdG8gbGVmdDogcmlnaHQsIHRvIGxlZnQgdG9wOiByaWdodCBib3R0b20sIHRvIHRvcCBsZWZ0OiBib3R0b20gcmlnaHQpO1xyXG4gICAgQGlmIG1hcC1oYXMta2V5KCRjb252ZXJzaW9uLW1hcCwgJHZhbHVlKSB7XHJcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRjb252ZXJzaW9uLW1hcCwgJHZhbHVlKTtcclxuICAgIH1cclxuICAgIEByZXR1cm4gOTBkZWcgLSAkdmFsdWU7XHJcbn0iLCIvKipcclxuKiAgSGVscGVyIG1peGluIHRvIGNyZWF0ZSBhIGxpbmVhci1ncmFkaWVudFxyXG4qXHJcbiovXG4vKlxyXG5odG1sLFxyXG5ib2R5IHtcclxuICAgIGZvbnQtZmFtaWx5OiAnTGlicmUgRnJhbmtsaW4nLCAnSGVsdmV0aWNhJywgc2Fucy1zZXJpZjtcclxuICAgIC8vIGNvbG9yOiB0aGVtaWZ5KHRleHQpO1xyXG59XHJcblxyXG5cclxuXHJcbmEge1xyXG4gICAgY29sb3I6IHRoZW1pZnkobGluayk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4ucm91bmQtaW1hZ2Uge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG59XHJcblxyXG5cclxuKi9cbi5mY29udGFpbmVyLWZsdWlkLFxuLmZjb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uZmNvbnRhaW5lci1mbHVpZCB7XG4gIHBhZGRpbmc6IDAgMnJlbTsgfVxuXG4uZnJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmZyb3cucmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi5maW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cblxuLnJlc2V0LXBhZGRpbmcge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5yZXNldC1tYXJnaW4ge1xuICBtYXJnaW46IDA7IH1cblxuLnVrLWJ0bi5ub25lIHtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgbWluLWhlaWdodDogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4udWstYnRuLmljb24ge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4udWstc2hhZG93LTAge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnVrLXNoYWRvdy0xIHtcbiAgYm94LXNoYWRvdzogMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi51ay1zaGFkb3ctMS1oYWxmIHtcbiAgYm94LXNoYWRvdzogMCAzcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggN3B4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggMXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi51ay1zaGFkb3ctMiB7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLnVrLXNoYWRvdy0zIHtcbiAgYm94LXNoYWRvdzogMCA2cHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDE4cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDNweCA1cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLnVrLXNoYWRvdy00IHtcbiAgYm94LXNoYWRvdzogMCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCA1cHggNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi51ay1zaGFkb3ctNSB7XG4gIGJveC1zaGFkb3c6IDAgMTZweCAyNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDZweCAzMHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDhweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi51ay1uYXYge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgLnVrLW5hdiAudWstbmF2LWl0ZW0ge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDBweDsgfVxuICAgIC51ay1uYXYgLnVrLW5hdi1pdGVtOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7IH1cblxuLnVrLXRvb2x0aXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkzNTQxO1xuICBjb2xvcjogI0ZGRjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBtYXgtd2lkdGg6IDI4MHB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICB6LWluZGV4OiAyOyB9XG4gIC51ay10b29sdGlwOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGJvcmRlcjogc29saWQgNnB4IHRyYW5zcGFyZW50OyB9XG4gIC51ay10b29sdGlwLndoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgIGNvbG9yOiAjMjkzNTQxOyB9XG4gIC51ay10b29sdGlwLmJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMjkzNTQxO1xuICAgIG1hcmdpbi10b3A6IC0xMnB4O1xuICAgIHRvcDogMDsgfVxuICAudWstdG9vbHRpcC5ib3R0b20ud2hpdGU6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0ZGRiAhaW1wb3J0YW50OyB9XG4gIC51ay10b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMjkzNTQxO1xuICAgIG1hcmdpbi1ib3R0b206IC0xMnB4O1xuICAgIGJvdHRvbTogMDsgfVxuICAudWstdG9vbHRpcC50b3Aud2hpdGU6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI0ZGRiAhaW1wb3J0YW50OyB9XG4gIC51ay10b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICMyOTM1NDE7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTJweDtcbiAgICByaWdodDogMDsgfVxuICAudWstdG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICMyOTM1NDE7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMnB4O1xuICAgIGxlZnQ6IDA7IH1cblxuLnVrLWxhYmVsLnVrLXRvb2x0aXAtaG9zdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1cHg7IH1cblxuLnVrLXN0ZXBwZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRpdGxlIHtcbiAgICBjb2xvcjogIzI4MzU0MTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nLXRvcDogN3B4OyB9XG4gIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy1zdGVwLWJvZHkge1xuICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZy10b3A6IDI3cHg7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YmVmb3JlLCAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNDOUNDQ0Y7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA4LjVweDtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YWZ0ZXIge1xuICAgICAgICByaWdodDogMDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogMDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzlDQ0NGO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDRweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwIC51ay1pY29uIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXA6OmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstcHJvZ3Jlc3MtdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICM1RjY4NzE7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmUgLnVrLXN0ZXAtaWNvbi13cmFwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlODI1NzsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuYWN0aXZlIC51ay1zdGVwLWljb24td3JhcDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDJweCAjRkZGO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmU6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmUud2lwOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5kb25lIC51ay1zdGVwLWljb24td3JhcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmRvbmUgLnVrLXN0ZXAtaWNvbi13cmFwIC51ay1pY29uIHtcbiAgICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgICBkaXNwbGF5OiBpbml0aWFsOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuZG9uZTo6YmVmb3JlLCAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuZG9uZTo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4MjU3OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDMycHg7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjpiZWZvcmUsIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMTFweDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcbiAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgcGFkZGluZzogMCA2cHg7IH1cbiAgICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwOjpiZWZvcmUge1xuICAgICAgICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgICAgICAgICAgd2lkdGg6IDIxcHg7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmFjdGl2ZSAudWstc3RlcC1pY29uLXdyYXA6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAzcHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0MnB4OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YmVmb3JlLCAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDE2cHg7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcCB7XG4gICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgOHB4OyB9XG4gICAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogMzFweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMXB4OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmUgLnVrLXN0ZXAtaWNvbi13cmFwOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci13aWR0aDogNHB4OyB9IH1cblxuLnVrLWJ0bi5pY29uIC51ay1pY29uIHtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgd2lkdGg6IDEuNWVtOyB9XG5cbi51ay1idG4gLnVrLWljb24ge1xuICBoZWlnaHQ6IDFlbTtcbiAgd2lkdGg6IDFlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLnVrLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgbWF4LXdpZHRoOiAxLjVlbTtcbiAgbWF4LWhlaWdodDogMS41ZW07IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiO1xuICBzcmM6IHVybChcIi9hc3NldHMvYm9maS1pY29uLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi9hc3NldHMvYm9maS1pY29uLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24uc3ZnI2JvZmktaWNvblwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5bZGF0YS1pY29uXTpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJib2ZpLWljb25cIiAhaW1wb3J0YW50O1xuICBjb250ZW50OiBhdHRyKGRhdGEtaWNvbik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuW2NsYXNzXj1cImJvZmktXCJdOmJlZm9yZSxcbltjbGFzcyo9XCIgYm9maS1cIl06YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiYm9maS1pY29uXCIgIWltcG9ydGFudDtcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4uYm9maS1yZWN1cnJpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDYxXCI7IH1cblxuLmJvZmktZWJpbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY3XCI7IH1cblxuLmJvZmktYWRkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2ZlwiOyB9XG5cbi5ib2ZpLWF0bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzFcIjsgfVxuXG4uYm9maS1hdXRvbWF0aWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDcyXCI7IH1cblxuLmJvZmktYmFuazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzNcIjsgfVxuXG4uYm9maS1iYW5rZmVlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzRcIjsgfVxuXG4uYm9maS1kYXRlcGlja2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2YVwiOyB9XG5cbi5ib2ZpLWRlcG9zaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc3XCI7IH1cblxuLmJvZmktZWRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzhcIjsgfVxuXG4uYm9maS1mYXE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDdhXCI7IH1cblxuLmJvZmktbWVzc2FnZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQxXCI7IH1cblxuLmJvZmktbWVudTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDNcIjsgfVxuXG4uYm9maS1pbnRlcmVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjVcIjsgfVxuXG4uYm9maS1wZW5kaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0Y1wiOyB9XG5cbi5ib2ZpLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0ZFwiOyB9XG5cbi5ib2ZpLXByaW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0ZlwiOyB9XG5cbi5ib2ZpLXJlZnVuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTJcIjsgfVxuXG4uYm9maS1yZW1vdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDUzXCI7IH1cblxuLmJvZmktc3VjY2VzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTRcIjsgfVxuXG4uYm9maS1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU2XCI7IH1cblxuLmJvZmktcGFzc3dvcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZkXCI7IH1cblxuLmJvZmktdXNlcm5hbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc1XCI7IH1cblxuLmJvZmktZ2VhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjhcIjsgfVxuXG4uYm9maS1jb250YWN0LWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQyXCI7IH1cblxuLmJvZmktZmlsdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3NlwiOyB9XG5cbi5ib2ZpLWRlYml0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2MlwiOyB9XG5cbi5ib2ZpLXN1cHBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY5XCI7IH1cblxuLmJvZmktdXNlci1zZXR0aW5nczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzBcIjsgfVxuXG4uYm9maS1hY2NvdW50czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjRcIjsgfVxuXG4uYm9maS10cmFuc2ZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjZcIjsgfVxuXG4uYm9maS1waG90bzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzlcIjsgfVxuXG4uYm9maS1jaGVjay1tYXJrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0NlwiOyB9XG5cbi5ib2ZpLWluZm9ybWF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0OVwiOyB9XG5cbi5ib2ZpLWNoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRiXCI7IH1cblxuLmJvZmktY2FuY2VsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0ZVwiOyB9XG5cbi5ib2ZpLXNlbmQtaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTVcIjsgfVxuXG4uYm9maS13YXJuaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1OFwiOyB9XG5cbi5ib2ZpLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNWFcIjsgfVxuXG4uYm9maS10aHVtYnN1cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzBcIjsgfVxuXG4uYm9maS1wZGY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ3XCI7IH1cblxuLmJvZmktY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ4XCI7IH1cblxuLmJvZmktc3RhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzZcIjsgfVxuXG4uYm9maS1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDMyXCI7IH1cblxuLmJvZmktZGVsaXZlcnktbWV0aG9kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzNFwiOyB9XG5cbi5ib2ZpLWRvd25sb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzN1wiOyB9XG5cbi5ib2ZpLWViaWxsLXBheWJpbGxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzOFwiOyB9XG5cbi5ib2ZpLWZsYWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIyXCI7IH1cblxuLmJvZmktYWxlcnQtaGlzdG9yeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjRcIjsgfVxuXG4uYm9maS1tb2JpbGVkZXBvc2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyOFwiOyB9XG5cbi5ib2ZpLW9uZXRpbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI5XCI7IH1cblxuLmJvZmktcGVyc29uYWwtbWVzc2FnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMmNcIjsgfVxuXG4uYm9maS10ZXh0LW1lc3NhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRhXCI7IH1cblxuLmJvZmktZXllLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDUwXCI7IH1cblxuLmJvZmktYXR0YWNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1MVwiOyB9XG5cbi5ib2ZpLWxvZ291dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmJcIjsgfVxuXG4uYm9maS1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDVcIjsgfVxuXG4uYm9maS1nZWFyLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTdcIjsgfVxuXG4uYm9maS10aHVtYnN1cC1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU5XCI7IH1cblxuLmJvZmktbW9kYWwtc2VuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmNcIjsgfVxuXG4uYm9maS1hZGQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDRcIjsgfVxuXG4uYm9maS1ncm91cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzNcIjsgfVxuXG4uYm9maS1ob21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzNVwiOyB9XG5cbi5ib2ZpLXBlcnNvbmFsLWluZm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDM5XCI7IH1cblxuLmJvZmktcGVyc29uLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMVwiOyB9XG5cbi5ib2ZpLXBlcnNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjNcIjsgfVxuXG4uYm9maS1zaWduZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI1XCI7IH1cblxuLmJvZmktZGF0ZXBpY2tlci0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyNlwiOyB9XG5cbi5ib2ZpLXJlZnVuZC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2M1wiOyB9XG5cbi5ib2ZpLXJlY3VycmluZy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyN1wiOyB9XG5cbi5ib2ZpLW1lc3NhZ2VzLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDJhXCI7IH1cblxuLmJvZmktZmFxLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDJiXCI7IH1cblxuLmJvZmktZ2Vhci0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyZFwiOyB9XG5cbi5ib2ZpLXJlbW92ZS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyZVwiOyB9XG5cbi5ib2ZpLXJlZnVuZC0yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyZlwiOyB9XG5cbi5ib2ZpLXVzZXJuYW1lLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNhXCI7IH1cblxuLmJvZmktc2VhcmNoLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNiXCI7IH1cblxuLmJvZmktcGFzc3dvcmQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcM2NcIjsgfVxuXG4uYm9maS1kYXNoYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNkXCI7IH1cblxuLmJvZmktYXRtLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNlXCI7IH1cblxuLmJvZmktcGVuZGluZy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzZlwiOyB9XG5cbi5ib2ZpLXN1Y2Nlc3MtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDBcIjsgfVxuXG4uYm9maS1waG9uZS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1YlwiOyB9XG5cbi5ib2ZpLXByaW50LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDVkXCI7IH1cblxuLmJvZmktbWVudS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1ZVwiOyB9XG5cbi5ib2ZpLWludGVyZXN0LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDVmXCI7IH1cblxuLmJvZmktaWMtY29udGFjdC1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2MFwiOyB9XG5cbi5ib2ZpLWRlcG9zaXQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2JcIjsgfVxuXG4uYm9maS1hdXRvbWF0aWMtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2NcIjsgfVxuXG4uYm9maS1hdXRvbWF0aWNwYXltZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3ZFwiOyB9XG5cbi5ib2ZpLWJhbmstMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2VcIjsgfVxuXG4uYm9maS1iYW5rZmVlcy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1Y1wiOyB9XG5cbi5ib2ZpLWVkaXQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwMFwiOyB9XG5cbi5ib2ZpLTE0OTgxOTU1OTItaWNvbjE1LTg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZlXCI7IH1cblxuLmJvZmktYXJyb3ctY2hldnJvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzFcIjsgfVxuXG4uY2RrLW92ZXJsYXktY29udGFpbmVyLFxuLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2RrLW92ZXJsYXktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDAwOyB9XG5cbi5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAwMDsgfVxuXG4uY2RrLW92ZXJsYXktcGFuZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHotaW5kZXg6IDEwMDA7IH1cblxuLmNkay1vdmVybGF5LWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO1xuICBvcGFjaXR5OiAwOyB9XG4gIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI4OCk7IH1cblxuLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmNkay1nbG9iYWwtc2Nyb2xsYmxvY2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNrLWJvdW5jZWRlbGF5IHtcbiAgMCUsIDgwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuQGtleWZyYW1lcyBzay1ib3VuY2VkZWxheSB7XG4gIDAlLCA4MCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcmlwcGxlIHtcbiAgNSUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNSUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgcmlwcGxlIHtcbiAgNSUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNSUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALW8ta2V5ZnJhbWVzIHJpcHBsZSB7XG4gIDUlLFxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByaXBwbGUge1xuICA1JSxcbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1JSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi51ay1mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4taGVpZ2h0OiAxOHB4OyB9XG4gIC51ay1mb3JtLWNvbnRyb2xfX3ZhbHVlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIG1heC13aWR0aDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbWluLWhlaWdodDogNDhweDsgfVxuICAudWstZm9ybS1jb250cm9sX19hZGRvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uYWxlcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgaGVpZ2h0OiA0NnB4O1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuYWxlcnQgLmljb24ge1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4OyB9XG4gIC5hbGVydCAuY2xvc2UtaWNvbiB7XG4gICAgZm9udC1zaXplOiA2LjIyODVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgLmFsZXJ0IC5jaGlsZC0tZmVhdHVyZWQge1xuICAgIHBhZGRpbmctbGVmdDogMTNweDtcbiAgICBmbGV4LWdyb3c6IDE7IH1cblxuOmhvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwICNFOUVBRUM7IH1cbiAgOmhvc3QgcC51ay1sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICA6aG9zdCAuc2NyZWVuLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICA6aG9zdCAuc2NyZWVuLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIDpob3N0IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgcGFkZGluZy10b3A6IDcwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9IH1cbiIsIi8vIEBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TGlicmUrRnJhbmtsaW46MzAwLDQwMCw1MDAsNjAwLDcwMCcpO1xyXG5AaW1wb3J0ICcuL19mb250LnNjc3MnO1xyXG5AaW1wb3J0ICcuL19zci1vbmx5LnNjc3MnO1xyXG5cclxuQG1peGluIHVrLWdsb2JhbCgkdWstdGhlbWUpIHtcclxuICAgICRmb250LWNvbmZpZzogbWFwLWdldCgkdWstdGhlbWUsIGZvbnRzKTtcclxuICAgICRmb250LWZhbWlsaWVzOiBtYXAtZ2V0KCRmb250LWNvbmZpZywgZmFtaWxpZXMpO1xyXG4gICAgJGZvbnQtc2l6ZXM6IG1hcC1nZXQoJGZvbnQtY29uZmlnLCBzaXplcyk7XHJcblxyXG4gICAgQGVhY2ggJGZvbnQtZmFtaWx5LCAkdmFsdWUgaW4gJGZvbnQtZmFtaWxpZXMge1xyXG4gICAgICAgICRmb250LXVybDogbWFwLWdldCgkdmFsdWUsIHVybCk7XHJcbiAgICAgICAgQGlmICRmb250LXVybCB7XHJcbiAgICAgICAgICAgIEBpbXBvcnQgdXJsKCRmb250LXVybCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICRwcmltYXJ5LWZvbnQtZmFtaWxpeTogbWFwLWdldCgkZm9udC1mYW1pbGllcywgcHJpbWFyeSk7XHJcblxyXG4gICAgaHRtbCB7IFxyXG4gICAgICAgIGJvZHkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRwcmltYXJ5LWZvbnQtZmFtaWxpeSwgbmFtZSksIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRwcmltYXJ5LWZvbnQtZmFtaWxpeSwgY29sb3IpO1xyXG4gICAgICAgICAgICBAY29udGVudFxyXG4gICAgICAgIH1cclxuICAgICAgICBoMSxcclxuICAgICAgICBoMixcclxuICAgICAgICBoMyxcclxuICAgICAgICBoNCxcclxuICAgICAgICBoNSxcclxuICAgICAgICBoNiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHVrLWZvbnRzKCRmb250LXNpemVzKTtcclxuICAgICAgICAuc3Itb25seXsgQGluY2x1ZGUgc3Itb25seSgpOyB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qXHJcbmh0bWwsXHJcbmJvZHkge1xyXG4gICAgZm9udC1mYW1pbHk6ICdMaWJyZSBGcmFua2xpbicsICdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xyXG4gICAgLy8gY29sb3I6IHRoZW1pZnkodGV4dCk7XHJcbn1cclxuXHJcblxyXG5cclxuYSB7XHJcbiAgICBjb2xvcjogdGhlbWlmeShsaW5rKTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5yb3VuZC1pbWFnZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbn1cclxuXHJcblxyXG4qLyIsIiRjb250YWluZXItd2lkdGg6KHNtOjQ5cmVtLCBtZDo2NXJlbSwgbGc6NzZyZW0pO1xyXG4uZmNvbnRhaW5lci1mbHVpZCxcclxuLmZjb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi5mY29udGFpbmVyLWZsdWlkIHtcclxuICAgIHBhZGRpbmc6IDAgMnJlbTtcclxufVxyXG5cclxuQG1peGluIGNvbnRhaW5lcigka2V5KSB7XHJcbiAgICBAaWYoJGtleT09J2xnJykge1xyXG4gICAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkY29udGFpbmVyLXdpZHRoLCAka2V5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZigka2V5PT0nbWQnKSB7XHJcbiAgICAgICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRjb250YWluZXItd2lkdGgsICRrZXkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmKCRrZXk9PSdzbScpIHtcclxuICAgICAgICAuY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGNvbnRhaW5lci13aWR0aCwgJGtleSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLmZyb3cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXg6IDAgMSBhdXRvO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICYucmV2ZXJzZSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLmZpbmxpbmUgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfSIsIi5yZXNldC1wYWRkaW5ne1xyXG4gICAgcGFkZGluZzowO1xyXG59XHJcbi5yZXNldC1tYXJnaW57XHJcbiAgICBtYXJnaW46MDtcclxufVxyXG4udWstYnRuIHtcclxuICAgICYubm9uZSB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIC8vb3V0bGluZTogbm9uZTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICAgICAgbWluLWhlaWdodDogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gICAgJi5pY29uIHtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuICB9XHJcbiAgIiwiLy8gWi1sZXZlbHNcclxuLiN7JHByZWZpeH0tc2hhZG93LTAge1xyXG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG4uI3skcHJlZml4fS1zaGFkb3ctMSB7XHJcbiAgYm94LXNoYWRvdzogMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG59XHJcbi4jeyRwcmVmaXh9LXNoYWRvdy0xLWhhbGYge1xyXG4gIGJveC1zaGFkb3c6IDAgM3B4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDdweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDFweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxufVxyXG4uI3skcHJlZml4fS1zaGFkb3ctMiB7XHJcbiAgYm94LXNoYWRvdzogMCA0cHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxufVxyXG4uI3skcHJlZml4fS1zaGFkb3ctMyB7XHJcbiAgYm94LXNoYWRvdzogMCA2cHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDE4cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDNweCA1cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTQge1xyXG4gIGJveC1zaGFkb3c6IDAgOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxufVxyXG4uI3skcHJlZml4fS1zaGFkb3ctNSB7XHJcbiAgYm94LXNoYWRvdzogMCAxNnB4IDI0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgNnB4IDMwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgOHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbn0iLCIudWstbmF2e1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAgIC51ay1uYXYtaXRlbXtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIkdG9vbHRpcC1oZWlnaHQ6IDI4cHg7XHJcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICMyOTM1NDE7XHJcbiR0b29sdGlwLXBhZGRpbmc6IDVweCAxMHB4O1xyXG4kdG9vbHRpcC1hcnJvdzogNnB4O1xyXG5cclxuLnVrLXRvb2x0aXAge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIGNvbG9yOiAjRkZGO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgbWF4LXdpZHRoOiAyODBweDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XHJcbiAgICB6LWluZGV4OiAyO1xyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAkdG9vbHRpcC1hcnJvdyB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuXHJcbiAgICAmLndoaXRlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xyXG4gICAgICAgIGNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgICYuYm90dG9tIHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAoLTIgKiAkdG9vbHRpcC1hcnJvdyk7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi53aGl0ZTo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjojRkZGICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYudG9wIHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAoLTIgKiAkdG9vbHRpcC1hcnJvdyk7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi53aGl0ZTo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI0ZGRiAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmxlZnQge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICgtMiAqICR0b29sdGlwLWFycm93KTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYucmlnaHQge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICgtMiAqICR0b29sdGlwLWFycm93KTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi51ay1sYWJlbCB7XHJcbiAgICAmLnVrLXRvb2x0aXAtaG9zdCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogNXB4O1xyXG4gICAgfVxyXG59XHJcbiIsIiR1ay1wcm9ncmVzcy1iYXItbGFibGUtc3BhY2U6IDdweDtcclxuJHVrLXByb2dyZXNzLWJhci1saW5lLWhlaWdodDogM3B4O1xyXG4kcmlwcGxlLXNpemU6ICh4czogMjBweCwgc206IDI1cHgsIG1kOiAzNXB4KTtcclxuJHJpcHBsZS1ib3JkZXItd2lkdGg6IDJweDtcclxuXHJcbi51ay1zdGVwcGVye1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgLnVrLXByb2dyZXNzLXRpdGxlIHtcclxuICAgICAgICBjb2xvcjogdGhlbWlmeSh0ZXh0LCAkdGhlbWUpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA3cHg7XHJcbiAgICB9XHJcbiAgICAudWstcHJvZ3Jlc3Mtc3RlcC1ib2R5e1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLnVrLXByb2dyZXNzLXRyYWNrIHtcclxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgLnVrLXByb2dyZXNzLXN0ZXAge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAneHMnKSArICR1ay1wcm9ncmVzcy1iYXItbGFibGUtc3BhY2U7XHJcblxyXG4gICAgICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShncmF5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAobWFwLWdldCgkcmlwcGxlLXNpemUsICd4cycpIC0gJHVrLXByb2dyZXNzLWJhci1saW5lLWhlaWdodCkgLzI7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICR1ay1wcm9ncmVzcy1iYXItbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6YmVmb3JlIHsgbGVmdDogMDsgfVxyXG4gICAgICAgICAgICAmOjphZnRlciB7IHJpZ2h0OiAwOyB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHsgJjo6YmVmb3JlIHsgd2lkdGg6IDA7IH19XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7ICY6OmFmdGVyIHsgd2lkdGg6IDA7IH19XHJcblxyXG4gICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShncmF5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLXNpemUsICd4cycpO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAneHMnKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNHB4O1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG5cclxuICAgICAgICAgICAgICAgIC51ay1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkcmlwcGxlLWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAneHMnKSAtICgyICogJHJpcHBsZS1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3hzJykgLSAoMiAqICRyaXBwbGUtYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAudWstcHJvZ3Jlc3MtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdGhlbWlmeShpbmFjdGl2ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1x0XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmFjdGl2ZXtcclxuICAgICAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShwcmltYXJ5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogc29saWQgMnB4ICNGRkY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYud2lwIHtcclxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYuZG9uZXtcclxuICAgICAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShwcmltYXJ5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIC51ay1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHRoZW1pZnkod2hpdGUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGluaXRpYWw7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBzbSB7XHJcbiAgICAgICAgICAgIC51ay1wcm9ncmVzcy1zdGVwIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3NtJykgKyAkdWstcHJvZ3Jlc3MtYmFyLWxhYmxlLXNwYWNlO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAobWFwLWdldCgkcmlwcGxlLXNpemUsICdzbScpIC0gJHVrLXByb2dyZXNzLWJhci1saW5lLWhlaWdodCkgLzI7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnc20nKTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdzbScpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdzbScpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3NtJykgLSAoMiAqICRyaXBwbGUtYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZXtcclxuICAgICAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1kIHtcclxuICAgICAgICAgICAgLnVrLXByb2dyZXNzLXN0ZXAge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnbWQnKSArICR1ay1wcm9ncmVzcy1iYXItbGFibGUtc3BhY2U7XHJcblxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogKG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnbWQnKSAtICR1ay1wcm9ncmVzcy1iYXItbGluZS1oZWlnaHQpIC8yO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnbWQnKTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDhweDtcclxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmV7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdtZCcpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJykgLSAoMiAqICRyaXBwbGUtYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZXtcclxuICAgICAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIkcHJpbWFyeTogIzFlODI1NyAhZGVmYXVsdDtcclxuJHNlY29uZGFyeTogI0ZBQTc0QSAhZGVmYXVsdDtcclxuJGxpbms6ICMxMTUzYjUgIWRlZmF1bHQ7XHJcbiR0ZXh0OiAjMjgzNTQxICFkZWZhdWx0O1xyXG4kZ3JheTogI2JlYzFjNSAhZGVmYXVsdDtcclxuJGluYWN0aXZlOiAjNmM3NzgxICFkZWZhdWx0O1xyXG4kbXV0ZWQ6ICNlZWVmZjIgIWRlZmF1bHQ7XHJcbiRsaWdodDogI2Y0ZjVmNyAhZGVmYXVsdDtcclxuJGVycm9yOiAjY2IyZDBlICFkZWZhdWx0O1xyXG4kd2FybmluZzogI2UzNzkzNiAhZGVmYXVsdDtcclxuJHN1Y2Nlc3M6ICMyMjk4NmMgIWRlZmF1bHQ7XHJcbiRpbmZvOiAjNmFhNWYyICFkZWZhdWx0O1xyXG4kYWNjZW50LTE6ICM2OGNjOWEgIWRlZmF1bHQ7XHJcbiRhY2NlbnQtMjogJGluZm8gIWRlZmF1bHQ7XHJcbiR3aGl0ZTogI2ZmZiAhZGVmYXVsdDtcclxuXHJcbiRidG4tYmFzZTogKFxyXG4gIGhlaWdodDogNTJweCxcclxuICB3aWR0aDogMTc1cHgsXHJcbiAgcGFkZGluZzogMTZweCA0MHB4XHJcbik7XHJcblxyXG4kYnRuLXNpemVzOiAobGc6KGhlaWdodDogNTJweCwgcGFkZGluZzogMTZweCA2MHB4KSkgIWRlZmF1bHQ7XHJcbiAgXHJcbiR0aGVtZTogKFxyXG4gICAgcHJpbWFyeTogJHByaW1hcnksXHJcbiAgICBzZWNvbmRhcnk6ICRzZWNvbmRhcnksXHJcbiAgICBsaW5rOiAkbGluayxcclxuICAgIHRleHQ6ICR0ZXh0LFxyXG4gICAgZ3JheTogJGdyYXksXHJcbiAgICBpbmFjdGl2ZTogJGluYWN0aXZlLFxyXG4gICAgbGlnaHQ6ICRsaWdodCxcclxuICAgIG11dGVkOiAkbXV0ZWQsXHJcbiAgICBlcnJvcjogJGVycm9yLFxyXG4gICAgd2FybmluZzogJHdhcm5pbmcsXHJcbiAgICBzdWNjZXNzOiAkc3VjY2VzcyxcclxuICAgIGluZm8gOiAkaW5mbyxcclxuICAgIGFjY2VudC0xOiAkYWNjZW50LTEsXHJcbiAgICBhY2NlbnQtMjogJGFjY2VudC0yLFxyXG4gICAgd2hpdGU6ICR3aGl0ZVxyXG4gIClcclxuICAhZGVmYXVsdDtcclxuJHNpemVzOiAoXHJcbiAgcGhvbmU6XHJcbiAgICAoXHJcbiAgICAgIC8vIEFwcHJvdmVkXHJcbiAgICAgIGgxOihmb250LXNpemU6IDUycHgsIGxpbmUtaGVpZ2h0OiA1OHB4LCBmb250LXdlaWdodDogMzAwKSxcclxuICAgICAgaDI6KGZvbnQtc2l6ZTogNDJweCwgbGluZS1oZWlnaHQ6IDUwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBoNDogKGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBwOihmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgbGFiZWw6IChmb250LXNpemU6IDE0cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgLy8gRW5kIEFwcHJvdmVkXHJcbiAgICAgIGgzOihmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgYm9keTooZm9udC1zaXplOiAxNXB4LCBsaW5lLWhlaWdodDogMThweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIHNtYWxsOihmb250LXNpemU6IDE0cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICksXHJcbiAgdGFibGV0OihcclxuICAgICAgLy8gQXBwcm92ZWRcclxuICAgICAgaDE6KGZvbnQtc2l6ZTogNjJweCwgbGluZS1oZWlnaHQ6IDY4cHgsIGZvbnQtd2VpZ2h0OiAzMDApLFxyXG4gICAgICBoMjooZm9udC1zaXplOiA1MnB4LCBsaW5lLWhlaWdodDogNjBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGg0OiAoZm9udC1zaXplOiAyMHB4LCBsaW5lLWhlaWdodDogMzBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIHA6KGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBsYWJlbDogKGZvbnQtc2l6ZTogMTRweCwgbGluZS1oZWlnaHQ6IDIwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICAvLyBFbmQgQXBwcm92ZWRcclxuICAgICAgaDM6KGZvbnQtc2l6ZTogMjZweCwgbGluZS1oZWlnaHQ6IDMwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBib2R5Oihmb250LXNpemU6IDE1cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgc21hbGw6KGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgKSxcclxuICBkZXNrdG9wOihcclxuICAgICAgLy8gQXBwcm92ZWRcclxuICAgICAgaDE6IChmb250LXNpemU6IDcycHgsIGxpbmUtaGVpZ2h0OiA3OHB4LCBmb250LXdlaWdodDogMzAwKSxcclxuICAgICAgaDI6IChmb250LXNpemU6IDYycHgsIGxpbmUtaGVpZ2h0OiA3MHB4LCBmb250LXdlaWdodDogMzAwKSxcclxuICAgICAgaDQ6IChmb250LXNpemU6IDIwcHgsIGxpbmUtaGVpZ2h0OiAzMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgcDogKGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDIycHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBsYWJlbDogKGZvbnQtc2l6ZTogMTRweCwgbGluZS1oZWlnaHQ6IDIwcHgsIGZvbnQtd2VpZ2h0OiA0MDApLFxyXG4gICAgICAvLyBFbmQgQXBwcm92ZWRcclxuICAgICAgaDM6IChmb250LXNpemU6IDI0cHgsIGxpbmUtaGVpZ2h0OiAyOHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgYm9keTogKGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDE4cHgsIGZvbnQtd2VpZ2h0OiA0MDApLFxyXG4gICAgICBzbWFsbDogKGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA0MDApLFxyXG4gICAgKVxyXG4pO1xyXG4kZ3V0dGVyOiAzMHB4O1xyXG5cclxuXHJcbi8vQU5HVUxBUiBDREsgT1ZFUkxBWSBWQVJJQUJMRVNcclxuJGNkay16LWluZGV4LW92ZXJsYXktY29udGFpbmVyOiAxMDAwO1xyXG4kY2RrLXotaW5kZXgtb3ZlcmxheTogMTAwMDtcclxuJGNkay16LWluZGV4LW92ZXJsYXktYmFja2Ryb3A6IDEwMDA7XHJcblxyXG4vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBhbGwgb2YgdGhlIGJhY2tkcm9wc1xyXG4kY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcC1iYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjg4KTtcclxuXHJcbi8vIERlZmF1bHQgYmFja2Ryb3AgYW5pbWF0aW9uIGlzIGJhc2VkIG9uIHRoZSBNYXRlcmlhbCBEZXNpZ24gc3dpZnQtZWFzZS1vdXQuXHJcbiRiYWNrZHJvcC1hbmltYXRpb24tZHVyYXRpb246IDQwMG1zICFkZWZhdWx0O1xyXG4kYmFja2Ryb3AtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSkgIWRlZmF1bHQ7IiwiLy8gR3JheXNcclxuJGluYWN0aXZlOiAjNUY2ODcxO1xyXG4kbWlkLWdyYXk6ICM5NDlBQTA7XHJcbiRncmF5OiAjQzlDQ0NGO1xyXG4kbXV0ZWQ6ICNFOUVBRUM7XHJcbiRsaWdodDogI0Y0RjVGNTtcclxuJHdoaXRlOiAjRkZGO1xyXG4vLyBJbGx1c3RyYXRpdmUgSWNvbnNcclxuJGluZm86ICM2NDk1RjY7XHJcbiRhY2NlbnQtMTogI0ZGRjtcclxuJGFjY2VudC0yOiAjMDAwO1xyXG4vLyBBbGVydHNcclxuJGVycm9yOiAjY2IyZDBlO1xyXG4kd2FybmluZzogI2UzNzkzNjtcclxuJHN1Y2Nlc3M6ICMyMjk4NmM7XHJcbi8vIExpbmtzXHJcbiRsaW5rOiAjMTc2QUNGO1xyXG4kbGluay12aXNpdGVkOiAjNTUxQThCOyIsIiRicmVha3BvaW50cyA6KCB4czo0ODBweCwgc206IDc2OHB4LCBtZDo5OTJweCwgbGc6IDEyMDBweCk7XHJcblxyXG5AbWl4aW4geHMge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHNtIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICdzbScpKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZCB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAnbWQnKSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbGcge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJ2xnJykpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG4iLCJAaW1wb3J0ICcuL19mb250LWljb24uc2Nzcyc7XHJcblxyXG4kYnRuLWljb24tc2l6ZTogMWVtO1xyXG4kaWNvbi1zaXplOiAxLjVlbTtcclxuXHJcbkBtaXhpbiBpY29ucyB7XHJcbiAgICAudWstYnRuLmljb257XHJcbiAgICAgICAgLnVrLWljb257XHJcbiAgICAgICAgICAgIGhlaWdodDogJGljb24tc2l6ZTtcclxuICAgICAgICAgICAgd2lkdGg6ICRpY29uLXNpemU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnVrLWJ0bntcclxuICAgICAgICAudWstaWNvbntcclxuICAgICAgICAgICAgaGVpZ2h0OiAkYnRuLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgd2lkdGg6ICRidG4taWNvbi1zaXplO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRidG4taWNvbi1zaXplO1xyXG4gICAgICAgICAgICAvL0dlbmVyYWxcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudWstaWNvbiB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHN0cm9rZS13aWR0aDogMDtcclxuICAgICAgICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcclxuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XHJcbiAgICAgICAgZm9udC1zaXplOiAkaWNvbi1zaXplO1xyXG4gICAgICAgIG1heC13aWR0aDogJGljb24tc2l6ZTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAkaWNvbi1zaXplO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBpY29ucygpO1xyXG5AaW5jbHVkZSBmb250SWNvbnMoKTsiLCJAbWl4aW4gZm9udEljb25zIHtcclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiO1xyXG4gICAgICAgIHNyYzp1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi5lb3RcIik7XHJcbiAgICAgICAgc3JjOnVybChcIi9hc3NldHMvYm9maS1pY29uLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXHJcbiAgICAgICAgICB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICAgICAgICB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi5zdmcjYm9maS1pY29uXCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgIFxyXG4gICAgfVxyXG5cclxuICAgIFtkYXRhLWljb25dOmJlZm9yZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiYm9maS1pY29uXCIgIWltcG9ydGFudDtcclxuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtaWNvbik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBzcGVhazogbm9uZTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICBbY2xhc3NePVwiYm9maS1cIl06YmVmb3JlLFxyXG4gICAgICBbY2xhc3MqPVwiIGJvZmktXCJdOmJlZm9yZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiYm9maS1pY29uXCIgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHNwZWFrOiBub25lO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIC5ib2ZpLXJlY3VycmluZzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2MVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWViaWxsOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDY3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYWRkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDZmXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXRtOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDcxXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXV0b21hdGljOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDcyXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYmFuazpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3M1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWJhbmtmZWVzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDc0XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZGF0ZXBpY2tlcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2YVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRlcG9zaXQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzdcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1lZGl0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDc4XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZmFxOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDdhXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbWVzc2FnZXM6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1tZW51OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQzXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktaW50ZXJlc3Q6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZW5kaW5nOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDRjXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGhvbmU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNGRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wcmludDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0ZlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXJlZnVuZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1MlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXJlbW92ZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1M1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXN1Y2Nlc3M6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zZWFyY2g6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wYXNzd29yZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2ZFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXVzZXJuYW1lOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDc1XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZ2VhcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2OFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNvbnRhY3QtbGlzdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0MlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWZpbHRlcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3NlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRlYml0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDYyXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc3VwcG9ydDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2OVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXVzZXItc2V0dGluZ3M6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzBcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hY2NvdW50czpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2NFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXRyYW5zZmVyOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDY2XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGhvdG86YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzlcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jaGVjay1tYXJrOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQ2XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktaW5mb3JtYXRpb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDlcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jaGF0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDRiXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2FuY2VsOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDRlXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc2VuZC1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDU1XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktd2FybmluZzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1OFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXVwbG9hZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1YVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXRodW1ic3VwOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDMwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGRmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQ3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2hlY2s6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDhcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zdGFyOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDM2XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2FtZXJhOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDMyXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZGVsaXZlcnktbWV0aG9kOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDM0XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZG93bmxvYWQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzdcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1lYmlsbC1wYXliaWxsczpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzOFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWZsYWc6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hbGVydC1oaXN0b3J5OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDI0XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbW9iaWxlZGVwb3NpdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyOFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW9uZXRpbWU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjlcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZXJzb25hbC1tZXNzYWdlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDJjXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdGV4dC1tZXNzYWdlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDRhXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZXllLW91dGxpbmU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTBcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hdHRhY2g6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1sb2dvdXQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jbG9zZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0NVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWdlYXItY2lyY2xlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDU3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdGh1bWJzdXAtY2lyY2xlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDU5XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbW9kYWwtc2VuZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2Y1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWFkZC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQ0XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZ3JvdXA6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1ob21lOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDM1XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGVyc29uYWwtaW5mbzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzOVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBlcnNvbi1jaGVjazpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyMVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBlcnNvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyM1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXNpZ25lcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyNVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRhdGVwaWNrZXItMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyNlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXJlZnVuZC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDYzXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcmVjdXJyaW5nLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjdcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1tZXNzYWdlcy0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDJhXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZmFxLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMmJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1nZWFyLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMmRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZW1vdmUtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXJlZnVuZC0yOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDJmXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdXNlcm5hbWUtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzYVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXNlYXJjaC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDNiXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGFzc3dvcmQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzY1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRhc2hib2FyZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzZFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWF0bS0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDNlXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGVuZGluZy0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDNmXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc3VjY2Vzcy0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGhvbmUtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1YlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXByaW50LTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1tZW51LTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1pbnRlcmVzdC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDVmXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktaWMtY29udGFjdC1saXN0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDYwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZGVwb3NpdC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDdiXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXV0b21hdGljLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcN2NcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hdXRvbWF0aWNwYXltZW50OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDdkXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYmFuay0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDdlXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYmFua2ZlZXMtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1Y1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWVkaXQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlMDAwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktMTQ5ODE5NTU5Mi1pY29uMTUtODpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2ZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWFycm93LWNoZXZyb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzFcIjtcclxuICAgICAgfSAgICAgIFxyXG59IiwiLmNkay1vdmVybGF5LWNvbnRhaW5lcixcclxuLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcclxuICAvLyBEaXNhYmxlIGV2ZW50cyBmcm9tIGJlaW5nIGNhcHR1cmVkIG9uIHRoZSBvdmVybGF5IGNvbnRhaW5lci5cclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcbiAgLy8gVGhlIGNvbnRhaW5lciBzaG91bGQgYmUgdGhlIHNpemUgb2YgdGhlIHZpZXdwb3J0LlxyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLy8gVGhlIG92ZXJsYXktY29udGFpbmVyIGlzIGFuIGludmlzaWJsZSBlbGVtZW50IHdoaWNoIGNvbnRhaW5zIGFsbCBpbmRpdmlkdWFsIG92ZXJsYXlzLlxyXG4uY2RrLW92ZXJsYXktY29udGFpbmVyIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXktY29udGFpbmVyO1xyXG59XHJcblxyXG4vLyBXZSB1c2UgYW4gZXh0cmEgd3JhcHBlciBlbGVtZW50IGluIG9yZGVyIHRvIHVzZSBtYWtlIHRoZSBvdmVybGF5IGl0c2VsZiBhIGZsZXggaXRlbS5cclxuLy8gVGhpcyBtYWtlcyBjZW50ZXJpbmcgdGhlIG92ZXJsYXkgZWFzeSB3aXRob3V0IHJ1bm5pbmcgaW50byB0aGUgc3VicGl4ZWwgcmVuZGVyaW5nXHJcbi8vIHByb2JsZW1zIHRpZWQgdG8gdXNpbmcgYHRyYW5zZm9ybWAgYW5kIHdpdGhvdXQgaW50ZXJmZXJpbmcgd2l0aCB0aGUgb3RoZXIgcG9zaXRpb25cclxuLy8gc3RyYXRlZ2llcy5cclxuLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheTtcclxufVxyXG5cclxuLy8gQSBzaW5nbGUgb3ZlcmxheSBwYW5lLlxyXG4uY2RrLW92ZXJsYXktcGFuZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXk7XHJcbn1cclxuXHJcbi5jZGstb3ZlcmxheS1iYWNrZHJvcCB7XHJcbiAgLy8gVE9ETyhqZWxib3Vybik6IHJldXNlIHNpZGVuYXYgZnVsbHNjcmVlbiBtaXhpbi5cclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG5cclxuICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheS1iYWNrZHJvcDtcclxuICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGJhY2tkcm9wLWFuaW1hdGlvbi1kdXJhdGlvblxyXG4gICAgJGJhY2tkcm9wLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb247XHJcbiAgb3BhY2l0eTogMDtcclxuXHJcbiAgJi5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG4uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcCB7XHJcbiAgYmFja2dyb3VuZDogJGNkay1vdmVybGF5LWRhcmstYmFja2Ryb3AtYmFja2dyb3VuZDtcclxufVxyXG5cclxuLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wIHtcclxuICAvLyBOb3RlOiBhcyBvZiBGaXJlZm94IDU3LCBoYXZpbmcgdGhlIGJhY2tkcm9wIGJlIGBiYWNrZ3JvdW5kOiBub25lYCB3aWxsIHByZXZlbnQgaXQgZnJvbVxyXG4gIC8vIGNhcHR1cmluZyB0aGUgdXNlcidzIG1vdXNlIHNjcm9sbCBldmVudHMuIFNpbmNlIHdlIGFsc28gY2FuJ3QgdXNlIHNvbWV0aGluZyBsaWtlXHJcbiAgLy8gYHJnYmEoMCwgMCwgMCwgMClgLCB3ZSB3b3JrIGFyb3VuZCB0aGUgaW5jb25zaXN0ZW5jeSBieSBub3Qgc2V0dGluZyB0aGUgYmFja2dyb3VuZCBhdFxyXG4gIC8vIGFsbCBhbmQgdXNpbmcgYG9wYWNpdHlgIHRvIG1ha2UgdGhlIGVsZW1lbnQgdHJhbnNwYXJlbnQuXHJcbiAgJixcclxuICAmLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbi8vIFVzZWQgd2hlbiBkaXNhYmxpbmcgZ2xvYmFsIHNjcm9sbGluZy5cclxuLmNkay1nbG9iYWwtc2Nyb2xsYmxvY2sge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuXHJcbiAgLy8gTmVjZXNzYXJ5IGZvciB0aGUgY29udGVudCBub3QgdG8gbG9zZSBpdHMgd2lkdGguIE5vdGUgdGhhdCB3ZSdyZSB1c2luZyAxMDAlLCBpbnN0ZWFkIG9mXHJcbiAgLy8gMTAwdncsIGJlY2F1c2UgMTAwdncgaW5jbHVkZXMgdGhlIHdpZHRoIHBsdXMgdGhlIHNjcm9sbGJhciwgd2hlcmVhcyAxMDAlIGlzIHRoZSB3aWR0aFxyXG4gIC8vIHRoYXQgdGhlIGVsZW1lbnQgaGFkIGJlZm9yZSB3ZSBtYWRlIGl0IGBmaXhlZGAuXHJcbiAgd2lkdGg6IDEwMCU7XHJcblxyXG4gIC8vIE5vdGU6IHRoaXMgd2lsbCBhbHdheXMgYWRkIGEgc2Nyb2xsYmFyIHRvIHdoYXRldmVyIGVsZW1lbnQgaXQgaXMgb24sIHdoaWNoIGNhblxyXG4gIC8vIHBvdGVudGlhbGx5IHJlc3VsdCBpbiBkb3VibGUgc2Nyb2xsYmFycy4gSXQgc2hvdWxkbid0IGJlIGFuIGlzc3VlLCBiZWNhdXNlIHdlIHdvbid0XHJcbiAgLy8gYmxvY2sgc2Nyb2xsaW5nIG9uIGEgcGFnZSB0aGF0IGRvZXNuJ3QgaGF2ZSBhIHNjcm9sbGJhciBpbiB0aGUgZmlyc3QgcGxhY2UuXHJcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG59XHJcbiIsIkBpbXBvcnQgJy4uLy4uL21peGlucy9fYW5pbWF0aW9uLnNjc3MnO1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2stYm91bmNlZGVsYXkge1xyXG4gICAgMCUsIDgwJSwgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKSB9XHJcbiAgICA0MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wKSB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2stYm91bmNlZGVsYXkge1xyXG4gICAgMCUsIDgwJSwgMTAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICB9IDQwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjApO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gdWstZG90LWxvYWRlcigkdGhlbWUpIHtcclxuICAgIC51aWtpdC1kb3QtbG9hZGVyIHtcclxuICAgICAgICB1c2VyLXNlbGVjdDpub25lOyAgICAgICAgICAgIFxyXG4gICAgICAgICYudWlraXQtaW5saW5lLWRvdC1sb2FkZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICA+c3BhbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICB3aWR0aDogMTVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHdoaXRlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcblxyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGFuaW1hdGlvbihzay1ib3VuY2VkZWxheSAxLjJzIGluZmluaXRlIGVhc2UtaW4tb3V0IGJvdGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICA+LmJvdW5jZTEge1xyXG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IC0wLjMycztcclxuICAgICAgICB9XHJcbiAgICAgICAgPi5ib3VuY2UyIHtcclxuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4xNnM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiQG1peGluIGFuaW1hdGlvbigkYW5pbWF0ZS4uLikge1xyXG4gICAgJG1heDogbGVuZ3RoKCRhbmltYXRlKTtcclxuICAgICRhbmltYXRpb25zOiAnJztcclxuXHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgge1xyXG4gICAgICAgICRhbmltYXRpb25zOiAjeyRhbmltYXRpb25zICsgbnRoKCRhbmltYXRlLCAkaSl9O1xyXG5cclxuICAgICAgICBAaWYgJGkgPCAkbWF4IHtcclxuICAgICAgICAgICAgJGFuaW1hdGlvbnM6ICN7JGFuaW1hdGlvbnMgKyAnLCAnfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhbmltYXRpb246ICRhbmltYXRpb25zO1xyXG59XHJcblxyXG5AbWl4aW4ga2V5ZnJhbWVzKCRhbmltYXRpb25OYW1lKSB7XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgI3skYW5pbWF0aW9uTmFtZX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gICAgQC1tb3ota2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxuICAgIEAtby1rZXlmcmFtZXMgI3skYW5pbWF0aW9uTmFtZX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gICAgQGtleWZyYW1lcyAjeyRhbmltYXRpb25OYW1lfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn0iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMvYW5pbWF0aW9uLnNjc3MnO1xyXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWwvX3NyLW9ubHkuc2Nzcyc7XHJcblxyXG4kaW5wdXQ6ICggc2l6ZTogMjJweCwgbWFyZ2luLXJpZ2h0OiAxMHB4KTtcclxuJHJpcHBsZTogKCBwb3NpdGlvbjogMTBweCwgc2l6ZTogbWFwLWdldCgkaW5wdXQsIHNpemUpICogMyk7XHJcbkBpbmNsdWRlIGtleWZyYW1lcyhyaXBwbGUpIHtcclxuICAgIDUlLFxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDUlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcblxyXG5AbWl4aW4gdWstcmFkaW8oJHRoZW1lKSB7XHJcbiAgICAjeyRwcmVmaXh9LXJhZGlvLWdyb3VwIHtcclxuICAgICAgICAuI3skcHJlZml4fS1yYWRpby1ncm91cCB7XHJcbiAgICAgICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1yYWRpb10ge1xyXG4gICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMTBweDsgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4OyAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJGlucHV0cy1jb25maWc6IG1hcC1nZXQoJHRoZW1lLCBpbnB1dHMpO1xyXG4gICAgJGNvbmZpZzogbWFwLWdldCgkaW5wdXRzLWNvbmZpZywgaW5wdXQtY2hlY2tlZCk7XHJcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5LWNvbG9yKTtcclxuICAgIGlucHV0W3R5cGU9cmFkaW9dIHtcclxuICAgICAgICBAaW5jbHVkZSBzci1vbmx5KCk7XHJcblxyXG4gICAgICAgICY6ZGlzYWJsZWQrbGFiZWw6bm90KDpjaGVja2VkKSwgJi5kaXNhYmxlZCtsYWJlbDpub3QoOmNoZWNrZWQpIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0aGVtaWZ5KGluYWN0aXZlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICtsYWJlbCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAvLyBtYXJnaW46IDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogKG1hcC1nZXQoJGlucHV0LCBzaXplKSArIG1hcC1nZXQoJGlucHV0LCBtYXJnaW4tcmlnaHQpKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBtYXAtZ2V0KCRpbnB1dCwgc2l6ZSkgKyAycHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRpbnB1dCwgc2l6ZSkgKyAycHg7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkaW5wdXQsIHNpemUpO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRpbnB1dCwgc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIG1hcC1nZXQoJGlucHV0LCBzaXplKSB0aGVtaWZ5KHdoaXRlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdGhlbWlmeShpbmFjdGl2ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IChtYXAtZ2V0KCRpbnB1dCwgc2l6ZSkgLyAyKTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IG1hcC1nZXQoJHJpcHBsZSwgcG9zaXRpb24pIC0gMXB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZSwgc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZSwgc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkcHJpbWFyeS1jb2xvciwgMC4xKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDApO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlcitsYWJlbCwgJi5ob3ZlcitsYWJlbHtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpjaGVja2VkK2xhYmVsIHtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDRweCB0aGVtaWZ5KHdoaXRlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYW5pbWF0aW9uKHJpcHBsZSAxcyBub25lKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi51ay1mb3JtLWNvbnRyb2wge1xyXG4gICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIG1pbi1oZWlnaHQ6IDE4cHg7XHJcblxyXG4gICAgJl9fdmFsdWUge1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBtaW4taGVpZ2h0OiA0OHB4O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmX19hZGRvbiB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxufSIsIi5hbGVydCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmctdG9wOiAxNXB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgbWFyZ2luLXRvcDogMjBweDtcclxuICBib3JkZXItcmFkaXVzOiAwLjI1ZW07XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICBoZWlnaHQ6IDQ2cHg7XHJcbiAgY29sb3I6IGJsYWNrO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIFxyXG4gIC5pY29uIHtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xyXG4gIH1cclxuICBcclxuICAuY2xvc2UtaWNvbntcclxuICAgIGZvbnQtc2l6ZTogNi4yMjg1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgfVxyXG5cclxuICAuY2hpbGQtLWZlYXR1cmVkIHtcclxuICAgIHBhZGRpbmctbGVmdDogMTNweDtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICB9XHJcbn0iLCJAaW1wb3J0IFwiX3ZhcmlhYmxlcy5zY3NzXCI7XHJcbjpob3N0IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZy10b3A6IDMwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwICNFOUVBRUM7XHJcblxyXG4gICAgcC51ay1sYWJlbCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgIH1cclxuICAgIC5zY3JlZW4tYnV0dG9ue1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIHNtIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWQge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICB9XHJcbn1cclxuIl19 */\"","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'axos-footer-mobile',\r\n templateUrl: './footer-mobile.component.html',\r\n styleUrls: ['./footer-mobile.component.scss'],\r\n host: {\r\n class: 'axos-container'\r\n }\r\n})\r\nexport class FooterMobileComponent {\r\n}","module.exports = \"/**\\r\\n* Helper mixin to create a linear-gradient\\r\\n*\\r\\n*/\\n/*\\r\\nhtml,\\r\\nbody {\\r\\n font-family: 'Libre Franklin', 'Helvetica', sans-serif;\\r\\n // color: themify(text);\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\na {\\r\\n color: themify(link);\\r\\n cursor: pointer;\\r\\n text-decoration: none;\\r\\n -webkit-tap-highlight-color: transparent;\\r\\n}\\r\\n\\r\\n.round-image {\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n\\r\\n*/\\n.fcontainer-fluid,\\n.fcontainer {\\n margin: 0 auto; }\\n.fcontainer-fluid {\\n padding: 0 2rem; }\\n.frow {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex: 0 1 auto;\\n flex: 0 1 auto;\\n -ms-flex-direction: row;\\n flex-direction: row;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap; }\\n.frow.reverse {\\n -ms-flex-direction: row-reverse;\\n flex-direction: row-reverse; }\\n.finline {\\n display: -ms-inline-flexbox;\\n display: inline-flex; }\\n.reset-padding {\\n padding: 0; }\\n.reset-margin {\\n margin: 0; }\\n.uk-btn.none {\\n border: none;\\n background-color: transparent;\\n text-transform: none;\\n min-width: 0;\\n min-height: 0;\\n padding: 0; }\\n.uk-btn.icon {\\n font-weight: 500;\\n font-size: 14px;\\n line-height: 16px;\\n font-weight: bold; }\\n.uk-shadow-0 {\\n box-shadow: none !important; }\\n.uk-shadow-1 {\\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); }\\n.uk-shadow-1-half {\\n box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2); }\\n.uk-shadow-2 {\\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-3 {\\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-4 {\\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-5 {\\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.3); }\\n.uk-nav {\\n padding-left: 0;\\n margin-bottom: 0;\\n list-style: none;\\n box-sizing: border-box; }\\n.uk-nav .uk-nav-item {\\n clear: both;\\n float: none;\\n display: inline-block;\\n margin: 0px; }\\n.uk-nav .uk-nav-item:hover {\\n background-color: #eee; }\\n.uk-tooltip {\\n background-color: #293541;\\n color: #FFF;\\n position: fixed;\\n max-width: 280px;\\n font-size: 14px;\\n padding: 5px 10px;\\n z-index: 2; }\\n.uk-tooltip::before {\\n content: '';\\n position: absolute;\\n display: inline-block;\\n height: 0;\\n width: 0;\\n border: solid 6px transparent; }\\n.uk-tooltip.white {\\n background-color: #FFF;\\n color: #293541; }\\n.uk-tooltip.bottom::before {\\n border-bottom-color: #293541;\\n margin-top: -12px;\\n top: 0; }\\n.uk-tooltip.bottom.white::before {\\n border-bottom-color: #FFF !important; }\\n.uk-tooltip.top::before {\\n border-top-color: #293541;\\n margin-bottom: -12px;\\n bottom: 0; }\\n.uk-tooltip.top.white::before {\\n border-top-color: #FFF !important; }\\n.uk-tooltip.left::before {\\n border-left-color: #293541;\\n margin-right: -12px;\\n right: 0; }\\n.uk-tooltip.right::before {\\n border-right-color: #293541;\\n margin-left: -12px;\\n left: 0; }\\n.uk-label.uk-tooltip-host {\\n position: relative;\\n top: 5px; }\\n.uk-stepper {\\n display: inline-block; }\\n.uk-stepper .uk-progress-title {\\n color: #283541;\\n font-size: 18px;\\n font-weight: 600;\\n padding-top: 7px; }\\n.uk-stepper .uk-progress-step-body {\\n padding-top: 8px;\\n padding-bottom: 20px;\\n display: block; }\\n.uk-stepper .uk-progress-track {\\n list-style-type: none;\\n table-layout: fixed;\\n display: table;\\n width: 100%;\\n margin: 0;\\n padding: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step {\\n display: table-cell;\\n position: relative;\\n text-align: center;\\n padding-top: 27px; }\\n.uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n content: '';\\n background-color: #C9CCCF;\\n position: absolute;\\n top: 8.5px;\\n height: 3px;\\n width: 50%;\\n z-index: -1; }\\n.uk-stepper .uk-progress-track .uk-progress-step::before {\\n left: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step::after {\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step:first-child::before {\\n width: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step:last-child::after {\\n width: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n background-color: #C9CCCF;\\n position: absolute;\\n border-radius: 50%;\\n display: block;\\n margin: 0 auto;\\n height: 20px;\\n width: 20px;\\n padding: 0 4px;\\n top: 0;\\n left: 0;\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap .uk-icon {\\n display: none; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n position: absolute;\\n border-radius: 50%;\\n margin: 0 auto;\\n margin-top: 2px;\\n height: 16px;\\n width: 16px;\\n content: '';\\n left: 0;\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-progress-text {\\n position: relative;\\n color: #5F6871;\\n text-transform: capitalize;\\n font-size: 14px;\\n font-weight: 600; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border: solid 2px #FFF;\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active::before {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active.wip::after {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done .uk-step-icon-wrap {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done .uk-step-icon-wrap .uk-icon {\\n color: #FFF;\\n display: initial; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done::before, .uk-stepper .uk-progress-track .uk-progress-step.done::after {\\n background-color: #1e8257; }\\n@media only screen and (min-width: 768px) {\\n .uk-stepper .uk-progress-track .uk-progress-step {\\n padding-top: 32px; }\\n .uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n top: 11px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n height: 25px;\\n width: 25px;\\n padding: 0 6px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n height: 21px;\\n width: 21px; }\\n .uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border-width: 3px; } }\\n@media only screen and (min-width: 992px) {\\n .uk-stepper .uk-progress-track .uk-progress-step {\\n padding-top: 42px; }\\n .uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n top: 16px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n height: 35px;\\n width: 35px;\\n padding: 0 8px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n height: 31px;\\n width: 31px; }\\n .uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border-width: 4px; } }\\n.uk-btn.icon .uk-icon {\\n height: 1.5em;\\n width: 1.5em; }\\n.uk-btn .uk-icon {\\n height: 1em;\\n width: 1em;\\n font-size: 1em;\\n vertical-align: middle; }\\n.uk-icon {\\n display: inline-block;\\n stroke-width: 0;\\n stroke: currentColor;\\n fill: currentColor;\\n font-size: 1.5em;\\n max-width: 1.5em;\\n max-height: 1.5em; }\\n@font-face {\\n font-family: \\\"bofi-icon\\\";\\n src: url(\\\"/assets/bofi-icon.eot\\\");\\n src: url(\\\"/assets/bofi-icon.eot?#iefix\\\") format(\\\"embedded-opentype\\\"), url(\\\"/assets/bofi-icon.woff\\\") format(\\\"woff\\\"), url(\\\"/assets/bofi-icon.ttf\\\") format(\\\"truetype\\\"), url(\\\"/assets/bofi-icon.svg#bofi-icon\\\") format(\\\"svg\\\");\\n font-weight: normal;\\n font-style: normal; }\\n[data-icon]:before {\\n font-family: \\\"bofi-icon\\\" !important;\\n content: attr(data-icon);\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n[class^=\\\"bofi-\\\"]:before,\\n[class*=\\\" bofi-\\\"]:before {\\n font-family: \\\"bofi-icon\\\" !important;\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n.bofi-recurring:before {\\n content: \\\"\\\\61\\\"; }\\n.bofi-ebill:before {\\n content: \\\"\\\\67\\\"; }\\n.bofi-add:before {\\n content: \\\"\\\\6f\\\"; }\\n.bofi-atm:before {\\n content: \\\"\\\\71\\\"; }\\n.bofi-automatic:before {\\n content: \\\"\\\\72\\\"; }\\n.bofi-bank:before {\\n content: \\\"\\\\73\\\"; }\\n.bofi-bankfees:before {\\n content: \\\"\\\\74\\\"; }\\n.bofi-datepicker:before {\\n content: \\\"\\\\6a\\\"; }\\n.bofi-deposit:before {\\n content: \\\"\\\\77\\\"; }\\n.bofi-edit:before {\\n content: \\\"\\\\78\\\"; }\\n.bofi-faq:before {\\n content: \\\"\\\\7a\\\"; }\\n.bofi-messages:before {\\n content: \\\"\\\\41\\\"; }\\n.bofi-menu:before {\\n content: \\\"\\\\43\\\"; }\\n.bofi-interest:before {\\n content: \\\"\\\\65\\\"; }\\n.bofi-pending:before {\\n content: \\\"\\\\4c\\\"; }\\n.bofi-phone:before {\\n content: \\\"\\\\4d\\\"; }\\n.bofi-print:before {\\n content: \\\"\\\\4f\\\"; }\\n.bofi-refund:before {\\n content: \\\"\\\\52\\\"; }\\n.bofi-remove:before {\\n content: \\\"\\\\53\\\"; }\\n.bofi-success:before {\\n content: \\\"\\\\54\\\"; }\\n.bofi-search:before {\\n content: \\\"\\\\56\\\"; }\\n.bofi-password:before {\\n content: \\\"\\\\6d\\\"; }\\n.bofi-username:before {\\n content: \\\"\\\\75\\\"; }\\n.bofi-gear:before {\\n content: \\\"\\\\68\\\"; }\\n.bofi-contact-list:before {\\n content: \\\"\\\\42\\\"; }\\n.bofi-filter:before {\\n content: \\\"\\\\76\\\"; }\\n.bofi-debit:before {\\n content: \\\"\\\\62\\\"; }\\n.bofi-support:before {\\n content: \\\"\\\\69\\\"; }\\n.bofi-user-settings:before {\\n content: \\\"\\\\70\\\"; }\\n.bofi-accounts:before {\\n content: \\\"\\\\64\\\"; }\\n.bofi-transfer:before {\\n content: \\\"\\\\66\\\"; }\\n.bofi-photo:before {\\n content: \\\"\\\\79\\\"; }\\n.bofi-check-mark:before {\\n content: \\\"\\\\46\\\"; }\\n.bofi-information:before {\\n content: \\\"\\\\49\\\"; }\\n.bofi-chat:before {\\n content: \\\"\\\\4b\\\"; }\\n.bofi-cancel:before {\\n content: \\\"\\\\4e\\\"; }\\n.bofi-send-icon:before {\\n content: \\\"\\\\55\\\"; }\\n.bofi-warning:before {\\n content: \\\"\\\\58\\\"; }\\n.bofi-upload:before {\\n content: \\\"\\\\5a\\\"; }\\n.bofi-thumbsup:before {\\n content: \\\"\\\\30\\\"; }\\n.bofi-pdf:before {\\n content: \\\"\\\\47\\\"; }\\n.bofi-check:before {\\n content: \\\"\\\\48\\\"; }\\n.bofi-star:before {\\n content: \\\"\\\\36\\\"; }\\n.bofi-camera:before {\\n content: \\\"\\\\32\\\"; }\\n.bofi-delivery-method:before {\\n content: \\\"\\\\34\\\"; }\\n.bofi-download:before {\\n content: \\\"\\\\37\\\"; }\\n.bofi-ebill-paybills:before {\\n content: \\\"\\\\38\\\"; }\\n.bofi-flag:before {\\n content: \\\"\\\\22\\\"; }\\n.bofi-alert-history:before {\\n content: \\\"\\\\24\\\"; }\\n.bofi-mobiledeposit:before {\\n content: \\\"\\\\28\\\"; }\\n.bofi-onetime:before {\\n content: \\\"\\\\29\\\"; }\\n.bofi-personal-message:before {\\n content: \\\"\\\\2c\\\"; }\\n.bofi-text-message:before {\\n content: \\\"\\\\4a\\\"; }\\n.bofi-eye-outline:before {\\n content: \\\"\\\\50\\\"; }\\n.bofi-attach:before {\\n content: \\\"\\\\51\\\"; }\\n.bofi-logout:before {\\n content: \\\"\\\\6b\\\"; }\\n.bofi-close:before {\\n content: \\\"\\\\45\\\"; }\\n.bofi-gear-circle:before {\\n content: \\\"\\\\57\\\"; }\\n.bofi-thumbsup-circle:before {\\n content: \\\"\\\\59\\\"; }\\n.bofi-modal-send:before {\\n content: \\\"\\\\6c\\\"; }\\n.bofi-add-1:before {\\n content: \\\"\\\\44\\\"; }\\n.bofi-group:before {\\n content: \\\"\\\\33\\\"; }\\n.bofi-home:before {\\n content: \\\"\\\\35\\\"; }\\n.bofi-personal-info:before {\\n content: \\\"\\\\39\\\"; }\\n.bofi-person-check:before {\\n content: \\\"\\\\21\\\"; }\\n.bofi-person:before {\\n content: \\\"\\\\23\\\"; }\\n.bofi-signer:before {\\n content: \\\"\\\\25\\\"; }\\n.bofi-datepicker-1:before {\\n content: \\\"\\\\26\\\"; }\\n.bofi-refund-1:before {\\n content: \\\"\\\\63\\\"; }\\n.bofi-recurring-1:before {\\n content: \\\"\\\\27\\\"; }\\n.bofi-messages-1:before {\\n content: \\\"\\\\2a\\\"; }\\n.bofi-faq-1:before {\\n content: \\\"\\\\2b\\\"; }\\n.bofi-gear-1:before {\\n content: \\\"\\\\2d\\\"; }\\n.bofi-remove-1:before {\\n content: \\\"\\\\2e\\\"; }\\n.bofi-refund-2:before {\\n content: \\\"\\\\2f\\\"; }\\n.bofi-username-1:before {\\n content: \\\"\\\\3a\\\"; }\\n.bofi-search-1:before {\\n content: \\\"\\\\3b\\\"; }\\n.bofi-password-1:before {\\n content: \\\"\\\\3c\\\"; }\\n.bofi-dashboard:before {\\n content: \\\"\\\\3d\\\"; }\\n.bofi-atm-1:before {\\n content: \\\"\\\\3e\\\"; }\\n.bofi-pending-1:before {\\n content: \\\"\\\\3f\\\"; }\\n.bofi-success-1:before {\\n content: \\\"\\\\40\\\"; }\\n.bofi-phone-1:before {\\n content: \\\"\\\\5b\\\"; }\\n.bofi-print-1:before {\\n content: \\\"\\\\5d\\\"; }\\n.bofi-menu-1:before {\\n content: \\\"\\\\5e\\\"; }\\n.bofi-interest-1:before {\\n content: \\\"\\\\5f\\\"; }\\n.bofi-ic-contact-list:before {\\n content: \\\"\\\\60\\\"; }\\n.bofi-deposit-1:before {\\n content: \\\"\\\\7b\\\"; }\\n.bofi-automatic-1:before {\\n content: \\\"\\\\7c\\\"; }\\n.bofi-automaticpayment:before {\\n content: \\\"\\\\7d\\\"; }\\n.bofi-bank-1:before {\\n content: \\\"\\\\7e\\\"; }\\n.bofi-bankfees-1:before {\\n content: \\\"\\\\5c\\\"; }\\n.bofi-edit-1:before {\\n content: \\\"\\\\e000\\\"; }\\n.bofi-1498195592-icon15-8:before {\\n content: \\\"\\\\6e\\\"; }\\n.bofi-arrow-chevron:before {\\n content: \\\"\\\\31\\\"; }\\n.cdk-overlay-container,\\n.cdk-global-overlay-wrapper {\\n pointer-events: none;\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: 100%; }\\n.cdk-overlay-container {\\n position: fixed;\\n z-index: 1000; }\\n.cdk-global-overlay-wrapper {\\n display: -ms-flexbox;\\n display: flex;\\n position: absolute;\\n z-index: 1000; }\\n.cdk-overlay-pane {\\n position: absolute;\\n pointer-events: auto;\\n box-sizing: border-box;\\n z-index: 1000; }\\n.cdk-overlay-backdrop {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n z-index: 1000;\\n pointer-events: auto;\\n -webkit-tap-highlight-color: transparent;\\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\\n opacity: 0; }\\n.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 1; }\\n.cdk-overlay-dark-backdrop {\\n background: rgba(0, 0, 0, 0.288); }\\n.cdk-overlay-transparent-backdrop, .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 0; }\\n.cdk-global-scrollblock {\\n position: fixed;\\n width: 100%;\\n overflow-y: scroll; }\\n@-webkit-keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0); }\\n 40% {\\n -webkit-transform: scale(1); } }\\n@keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0);\\n transform: scale(0); }\\n 40% {\\n -webkit-transform: scale(1);\\n transform: scale(1); } }\\n@-webkit-keyframes ripple {\\n 5%,\\n 100% {\\n opacity: 0; }\\n 5% {\\n opacity: 1; } }\\n@keyframes ripple {\\n 5%,\\n 100% {\\n opacity: 0; }\\n 5% {\\n opacity: 1; } }\\n.uk-form-control {\\n display: inline-table;\\n cursor: pointer;\\n position: relative;\\n box-sizing: border-box;\\n min-height: 18px; }\\n.uk-form-control__value {\\n display: table-cell;\\n max-width: 0;\\n width: 100%;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n min-height: 48px; }\\n.uk-form-control__addon {\\n padding-left: 10px;\\n display: table-cell;\\n vertical-align: middle; }\\n.alert {\\n position: relative;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n margin-bottom: 20px;\\n margin-top: 20px;\\n border-radius: 0.25em;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: nowrap;\\n flex-wrap: nowrap;\\n height: 46px;\\n color: black;\\n font-size: 16px;\\n -ms-flex-align: center;\\n align-items: center; }\\n.alert .icon {\\n height: 20px;\\n width: 20px;\\n margin-left: 15px;\\n margin-top: -2px; }\\n.alert .close-icon {\\n font-size: 6.2285px;\\n margin-right: 15px; }\\n.alert .child--featured {\\n padding-left: 13px;\\n -ms-flex-positive: 1;\\n flex-grow: 1; }\\n:host {\\n display: block;\\n padding-top: 30px;\\n padding-bottom: 10px;\\n margin-top: 20px;\\n box-shadow: 0 -1px 0 0 #E9EAEC; }\\n:host p.uk-label {\\n margin-bottom: 25px; }\\n:host .screen-button {\\n display: block;\\n margin-top: 10px;\\n padding-left: 0; }\\n@media only screen and (min-width: 768px) {\\n :host .screen-button {\\n display: inline-block;\\n padding-left: 30px; } }\\n@media only screen and (min-width: 992px) {\\n :host {\\n padding-bottom: 50px;\\n padding-top: 70px;\\n margin-top: 30px; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2Zvb3Rlci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXG1peGluc1xcaGVscGVyc1xcX2xpbmVhci1ncmFkaWVudC5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2Zvb3Rlci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGdsb2JhbFxcX2dsb2JhbC5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvZm9vdGVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcZ3JpZFxcX2NvbnRhaW5lci5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvZm9vdGVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcZ3JpZFxcX3Jvdy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvZm9vdGVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcdXRpbGl0aWVzXFxfcmVzZXRzLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9mb290ZXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFx1dGlsaXRpZXNcXF9zaGFkb3cuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2Zvb3Rlci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXG5hdnNcXF9iYXNlLW5hdnMuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2Zvb3Rlci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXHRvb2x0aXBcXF90b29sdGlwLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9mb290ZXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxzdGVwcGVyXFxfc3RlcHBlci5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvZm9vdGVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcX3ZhcmlhYmxlcy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvZm9vdGVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcYnJhbmRzXFxfY29sb3JzLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9mb290ZXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxncmlkXFxfbWVkaWEtcXVlcmllcy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvZm9vdGVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcaWNvbnNcXF9pY29ucy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvZm9vdGVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcaWNvbnNcXF9mb250LWljb24uc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2Zvb3Rlci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXG92ZXJsYXlcXF9vdmVybGF5LnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9mb290ZXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxsb2FkZXJzXFxfZG90LWxvYWRlci5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvZm9vdGVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcbWl4aW5zXFxfYW5pbWF0aW9uLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9mb290ZXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxyYWRpby1ncm91cFxcZWxlbWVudC5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvZm9vdGVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcZm9ybS1maWVsZHNcXF9mb3JtX2NvbnRyb2wuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2Zvb3Rlci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXGFsZXJ0XFxfYWxlcnQuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2Zvb3Rlci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL3NyY1xcYXBwXFxsYXlvdXRzXFxjb21wb25lbnRzXFxmb290ZXJcXGZvb3Rlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0NDR0M7QUNxQ0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDRGZDO0FFeEJEOztFQUVJLGNBQWMsRUFBQTtBQUdsQjtFQUNJLGVBQWUsRUFBQTtBQ1BuQjtFQUNJLG9CQUFhO0VBQWIsYUFBYTtFQUNiLGtCQUFjO01B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YyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0UsY0FBYyxFQUFBO0FBRWhCO0VBQ0Us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QUFMbEM7SUFRUSxtQkFBbUIsRUFBQTtBQVIzQjtJQVdRLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsZUFBZSxFQUFBO0FUTG5CO01TUko7UUFlWSxxQkFBcUI7UUFDckIsa0JBQWtCLEVBQUEsRUFFekI7QVRKRDtJU2RKO01Bb0JRLG9CQUFvQjtNQUNwQixpQkFBaUI7TUFDakIsZ0JBQWdCLEVBQUEsRUFFdkIiLCJmaWxlIjoic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4qICBIZWxwZXIgbWl4aW4gdG8gY3JlYXRlIGEgbGluZWFyLWdyYWRpZW50XHJcbipcclxuKi9cclxuQG1peGluIGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3JsaXN0KSB7XHJcbiAgICBAaWYgbm90IGlzLWRpcmVjdGlvbigkZGlyZWN0aW9uKSB7XHJcbiAgICAgICAgJGNvbG9ybGlzdDogJGRpcmVjdGlvbiwgJGNvbG9ybGlzdDtcclxuICAgICAgICAkZGlyZWN0aW9uOiAwZGVnO1xyXG4gICAgfVxyXG4gICAgYmFja2dyb3VuZDogbnRoKG50aCgkY29sb3JsaXN0LCAxKSwgMSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWdhY3ktZGlyZWN0aW9uKCRkaXJlY3Rpb24pLCAkY29sb3JsaXN0KTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3JsaXN0KTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGlzLWRpcmVjdGlvbigkdmFsdWUpIHtcclxuICAgICRpcy1rZXl3b3JkOiBpbmRleCgodG8gdG9wLCB0byB0b3AgcmlnaHQsIHRvIHJpZ2h0IHRvcCwgdG8gcmlnaHQsIHRvIGJvdHRvbSByaWdodCwgdG8gcmlnaHQgYm90dG9tLCB0byBib3R0b20sIHRvIGJvdHRvbSBsZWZ0LCB0byBsZWZ0IGJvdHRvbSwgdG8gbGVmdCwgdG8gbGVmdCB0b3AsIHRvIHRvcCBsZWZ0KSwgJHZhbHVlKTtcclxuICAgICRpcy1hbmdsZTogdHlwZS1vZigkdmFsdWUpPT0nbnVtYmVyJyBhbmQgaW5kZXgoJ2RlZycgJ2dyYWQnICd0dXJuJyAncmFkJywgdW5pdCgkdmFsdWUpKTtcclxuICAgIEByZXR1cm4gJGlzLWtleXdvcmQgb3IgJGlzLWFuZ2xlO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gbGVnYWN5LWRpcmVjdGlvbigkdmFsdWUpIHtcclxuICAgIEBpZiBpcy1kaXJlY3Rpb24oJHZhbHVlKT09ZmFsc2Uge1xyXG4gICAgICAgIEBlcnJvciBcIkNhbm5vdCBjb252ZXJ0IGAjeyR2YWx1ZX1gIHRvIGxlZ2FjeSBzeW50YXggYmVjYXVzZSBpdCBkb2Vzbid0IHNlZW0gdG8gYmUgYSBkaXJlY3Rpb24uXCI7XHJcbiAgICB9XHJcbiAgICAkY29udmVyc2lvbi1tYXA6ICggdG8gdG9wOiBib3R0b20sIHRvIHRvcCByaWdodDogYm90dG9tIGxlZnQsIHRvIHJpZ2h0IHRvcDogbGVmdCBib3R0b20sIHRvIHJpZ2h0OiBsZWZ0LCB0byBib3R0b20gcmlnaHQ6IHRvcCBsZWZ0LCB0byByaWdodCBib3R0b206IGxlZnQgdG9wLCB0byBib3R0b206IHRvcCwgdG8gYm90dG9tIGxlZnQ6IHRvcCByaWdodCwgdG8gbGVmdCBib3R0b206IHJpZ2h0IHRvcCwgdG8gbGVmdDogcmlnaHQsIHRvIGxlZnQgdG9wOiByaWdodCBib3R0b20sIHRvIHRvcCBsZWZ0OiBib3R0b20gcmlnaHQpO1xyXG4gICAgQGlmIG1hcC1oYXMta2V5KCRjb252ZXJzaW9uLW1hcCwgJHZhbHVlKSB7XHJcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRjb252ZXJzaW9uLW1hcCwgJHZhbHVlKTtcclxuICAgIH1cclxuICAgIEByZXR1cm4gOTBkZWcgLSAkdmFsdWU7XHJcbn0iLCIvKipcclxuKiAgSGVscGVyIG1peGluIHRvIGNyZWF0ZSBhIGxpbmVhci1ncmFkaWVudFxyXG4qXHJcbiovXG4vKlxyXG5odG1sLFxyXG5ib2R5IHtcclxuICAgIGZvbnQtZmFtaWx5OiAnTGlicmUgRnJhbmtsaW4nLCAnSGVsdmV0aWNhJywgc2Fucy1zZXJpZjtcclxuICAgIC8vIGNvbG9yOiB0aGVtaWZ5KHRleHQpO1xyXG59XHJcblxyXG5cclxuXHJcbmEge1xyXG4gICAgY29sb3I6IHRoZW1pZnkobGluayk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4ucm91bmQtaW1hZ2Uge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG59XHJcblxyXG5cclxuKi9cbi5mY29udGFpbmVyLWZsdWlkLFxuLmZjb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uZmNvbnRhaW5lci1mbHVpZCB7XG4gIHBhZGRpbmc6IDAgMnJlbTsgfVxuXG4uZnJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmZyb3cucmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi5maW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cblxuLnJlc2V0LXBhZGRpbmcge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5yZXNldC1tYXJnaW4ge1xuICBtYXJnaW46IDA7IH1cblxuLnVrLWJ0bi5ub25lIHtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgbWluLWhlaWdodDogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4udWstYnRuLmljb24ge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4udWstc2hhZG93LTAge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnVrLXNoYWRvdy0xIHtcbiAgYm94LXNoYWRvdzogMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi51ay1zaGFkb3ctMS1oYWxmIHtcbiAgYm94LXNoYWRvdzogMCAzcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggN3B4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggMXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi51ay1zaGFkb3ctMiB7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLnVrLXNoYWRvdy0zIHtcbiAgYm94LXNoYWRvdzogMCA2cHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDE4cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDNweCA1cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLnVrLXNoYWRvdy00IHtcbiAgYm94LXNoYWRvdzogMCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCA1cHggNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi51ay1zaGFkb3ctNSB7XG4gIGJveC1zaGFkb3c6IDAgMTZweCAyNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDZweCAzMHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDhweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi51ay1uYXYge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgLnVrLW5hdiAudWstbmF2LWl0ZW0ge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDBweDsgfVxuICAgIC51ay1uYXYgLnVrLW5hdi1pdGVtOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7IH1cblxuLnVrLXRvb2x0aXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkzNTQxO1xuICBjb2xvcjogI0ZGRjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBtYXgtd2lkdGg6IDI4MHB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICB6LWluZGV4OiAyOyB9XG4gIC51ay10b29sdGlwOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGJvcmRlcjogc29saWQgNnB4IHRyYW5zcGFyZW50OyB9XG4gIC51ay10b29sdGlwLndoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgIGNvbG9yOiAjMjkzNTQxOyB9XG4gIC51ay10b29sdGlwLmJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMjkzNTQxO1xuICAgIG1hcmdpbi10b3A6IC0xMnB4O1xuICAgIHRvcDogMDsgfVxuICAudWstdG9vbHRpcC5ib3R0b20ud2hpdGU6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0ZGRiAhaW1wb3J0YW50OyB9XG4gIC51ay10b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMjkzNTQxO1xuICAgIG1hcmdpbi1ib3R0b206IC0xMnB4O1xuICAgIGJvdHRvbTogMDsgfVxuICAudWstdG9vbHRpcC50b3Aud2hpdGU6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI0ZGRiAhaW1wb3J0YW50OyB9XG4gIC51ay10b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICMyOTM1NDE7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTJweDtcbiAgICByaWdodDogMDsgfVxuICAudWstdG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICMyOTM1NDE7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMnB4O1xuICAgIGxlZnQ6IDA7IH1cblxuLnVrLWxhYmVsLnVrLXRvb2x0aXAtaG9zdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1cHg7IH1cblxuLnVrLXN0ZXBwZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRpdGxlIHtcbiAgICBjb2xvcjogIzI4MzU0MTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nLXRvcDogN3B4OyB9XG4gIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy1zdGVwLWJvZHkge1xuICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZy10b3A6IDI3cHg7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YmVmb3JlLCAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNDOUNDQ0Y7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA4LjVweDtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YWZ0ZXIge1xuICAgICAgICByaWdodDogMDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogMDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzlDQ0NGO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDRweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwIC51ay1pY29uIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXA6OmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstcHJvZ3Jlc3MtdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICM1RjY4NzE7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmUgLnVrLXN0ZXAtaWNvbi13cmFwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlODI1NzsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuYWN0aXZlIC51ay1zdGVwLWljb24td3JhcDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDJweCAjRkZGO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmU6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmUud2lwOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5kb25lIC51ay1zdGVwLWljb24td3JhcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmRvbmUgLnVrLXN0ZXAtaWNvbi13cmFwIC51ay1pY29uIHtcbiAgICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgICBkaXNwbGF5OiBpbml0aWFsOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuZG9uZTo6YmVmb3JlLCAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuZG9uZTo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4MjU3OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDMycHg7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjpiZWZvcmUsIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMTFweDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcbiAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgcGFkZGluZzogMCA2cHg7IH1cbiAgICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwOjpiZWZvcmUge1xuICAgICAgICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgICAgICAgICAgd2lkdGg6IDIxcHg7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmFjdGl2ZSAudWstc3RlcC1pY29uLXdyYXA6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAzcHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0MnB4OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YmVmb3JlLCAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDE2cHg7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcCB7XG4gICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgOHB4OyB9XG4gICAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogMzFweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMXB4OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmUgLnVrLXN0ZXAtaWNvbi13cmFwOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci13aWR0aDogNHB4OyB9IH1cblxuLnVrLWJ0bi5pY29uIC51ay1pY29uIHtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgd2lkdGg6IDEuNWVtOyB9XG5cbi51ay1idG4gLnVrLWljb24ge1xuICBoZWlnaHQ6IDFlbTtcbiAgd2lkdGg6IDFlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLnVrLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgbWF4LXdpZHRoOiAxLjVlbTtcbiAgbWF4LWhlaWdodDogMS41ZW07IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiO1xuICBzcmM6IHVybChcIi9hc3NldHMvYm9maS1pY29uLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi9hc3NldHMvYm9maS1pY29uLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24uc3ZnI2JvZmktaWNvblwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5bZGF0YS1pY29uXTpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJib2ZpLWljb25cIiAhaW1wb3J0YW50O1xuICBjb250ZW50OiBhdHRyKGRhdGEtaWNvbik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuW2NsYXNzXj1cImJvZmktXCJdOmJlZm9yZSxcbltjbGFzcyo9XCIgYm9maS1cIl06YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiYm9maS1pY29uXCIgIWltcG9ydGFudDtcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4uYm9maS1yZWN1cnJpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDYxXCI7IH1cblxuLmJvZmktZWJpbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY3XCI7IH1cblxuLmJvZmktYWRkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2ZlwiOyB9XG5cbi5ib2ZpLWF0bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzFcIjsgfVxuXG4uYm9maS1hdXRvbWF0aWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDcyXCI7IH1cblxuLmJvZmktYmFuazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzNcIjsgfVxuXG4uYm9maS1iYW5rZmVlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzRcIjsgfVxuXG4uYm9maS1kYXRlcGlja2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2YVwiOyB9XG5cbi5ib2ZpLWRlcG9zaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc3XCI7IH1cblxuLmJvZmktZWRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzhcIjsgfVxuXG4uYm9maS1mYXE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDdhXCI7IH1cblxuLmJvZmktbWVzc2FnZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQxXCI7IH1cblxuLmJvZmktbWVudTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDNcIjsgfVxuXG4uYm9maS1pbnRlcmVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjVcIjsgfVxuXG4uYm9maS1wZW5kaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0Y1wiOyB9XG5cbi5ib2ZpLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0ZFwiOyB9XG5cbi5ib2ZpLXByaW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0ZlwiOyB9XG5cbi5ib2ZpLXJlZnVuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTJcIjsgfVxuXG4uYm9maS1yZW1vdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDUzXCI7IH1cblxuLmJvZmktc3VjY2VzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTRcIjsgfVxuXG4uYm9maS1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU2XCI7IH1cblxuLmJvZmktcGFzc3dvcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZkXCI7IH1cblxuLmJvZmktdXNlcm5hbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc1XCI7IH1cblxuLmJvZmktZ2VhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjhcIjsgfVxuXG4uYm9maS1jb250YWN0LWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQyXCI7IH1cblxuLmJvZmktZmlsdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3NlwiOyB9XG5cbi5ib2ZpLWRlYml0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2MlwiOyB9XG5cbi5ib2ZpLXN1cHBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY5XCI7IH1cblxuLmJvZmktdXNlci1zZXR0aW5nczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzBcIjsgfVxuXG4uYm9maS1hY2NvdW50czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjRcIjsgfVxuXG4uYm9maS10cmFuc2ZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjZcIjsgfVxuXG4uYm9maS1waG90bzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzlcIjsgfVxuXG4uYm9maS1jaGVjay1tYXJrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0NlwiOyB9XG5cbi5ib2ZpLWluZm9ybWF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0OVwiOyB9XG5cbi5ib2ZpLWNoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRiXCI7IH1cblxuLmJvZmktY2FuY2VsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0ZVwiOyB9XG5cbi5ib2ZpLXNlbmQtaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTVcIjsgfVxuXG4uYm9maS13YXJuaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1OFwiOyB9XG5cbi5ib2ZpLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNWFcIjsgfVxuXG4uYm9maS10aHVtYnN1cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzBcIjsgfVxuXG4uYm9maS1wZGY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ3XCI7IH1cblxuLmJvZmktY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ4XCI7IH1cblxuLmJvZmktc3RhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzZcIjsgfVxuXG4uYm9maS1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDMyXCI7IH1cblxuLmJvZmktZGVsaXZlcnktbWV0aG9kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzNFwiOyB9XG5cbi5ib2ZpLWRvd25sb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzN1wiOyB9XG5cbi5ib2ZpLWViaWxsLXBheWJpbGxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzOFwiOyB9XG5cbi5ib2ZpLWZsYWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIyXCI7IH1cblxuLmJvZmktYWxlcnQtaGlzdG9yeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjRcIjsgfVxuXG4uYm9maS1tb2JpbGVkZXBvc2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyOFwiOyB9XG5cbi5ib2ZpLW9uZXRpbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI5XCI7IH1cblxuLmJvZmktcGVyc29uYWwtbWVzc2FnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMmNcIjsgfVxuXG4uYm9maS10ZXh0LW1lc3NhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRhXCI7IH1cblxuLmJvZmktZXllLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDUwXCI7IH1cblxuLmJvZmktYXR0YWNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1MVwiOyB9XG5cbi5ib2ZpLWxvZ291dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmJcIjsgfVxuXG4uYm9maS1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDVcIjsgfVxuXG4uYm9maS1nZWFyLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTdcIjsgfVxuXG4uYm9maS10aHVtYnN1cC1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU5XCI7IH1cblxuLmJvZmktbW9kYWwtc2VuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmNcIjsgfVxuXG4uYm9maS1hZGQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDRcIjsgfVxuXG4uYm9maS1ncm91cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzNcIjsgfVxuXG4uYm9maS1ob21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzNVwiOyB9XG5cbi5ib2ZpLXBlcnNvbmFsLWluZm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDM5XCI7IH1cblxuLmJvZmktcGVyc29uLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMVwiOyB9XG5cbi5ib2ZpLXBlcnNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjNcIjsgfVxuXG4uYm9maS1zaWduZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI1XCI7IH1cblxuLmJvZmktZGF0ZXBpY2tlci0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyNlwiOyB9XG5cbi5ib2ZpLXJlZnVuZC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2M1wiOyB9XG5cbi5ib2ZpLXJlY3VycmluZy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyN1wiOyB9XG5cbi5ib2ZpLW1lc3NhZ2VzLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDJhXCI7IH1cblxuLmJvZmktZmFxLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDJiXCI7IH1cblxuLmJvZmktZ2Vhci0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyZFwiOyB9XG5cbi5ib2ZpLXJlbW92ZS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyZVwiOyB9XG5cbi5ib2ZpLXJlZnVuZC0yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyZlwiOyB9XG5cbi5ib2ZpLXVzZXJuYW1lLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNhXCI7IH1cblxuLmJvZmktc2VhcmNoLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNiXCI7IH1cblxuLmJvZmktcGFzc3dvcmQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcM2NcIjsgfVxuXG4uYm9maS1kYXNoYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNkXCI7IH1cblxuLmJvZmktYXRtLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNlXCI7IH1cblxuLmJvZmktcGVuZGluZy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzZlwiOyB9XG5cbi5ib2ZpLXN1Y2Nlc3MtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDBcIjsgfVxuXG4uYm9maS1waG9uZS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1YlwiOyB9XG5cbi5ib2ZpLXByaW50LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDVkXCI7IH1cblxuLmJvZmktbWVudS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1ZVwiOyB9XG5cbi5ib2ZpLWludGVyZXN0LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDVmXCI7IH1cblxuLmJvZmktaWMtY29udGFjdC1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2MFwiOyB9XG5cbi5ib2ZpLWRlcG9zaXQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2JcIjsgfVxuXG4uYm9maS1hdXRvbWF0aWMtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2NcIjsgfVxuXG4uYm9maS1hdXRvbWF0aWNwYXltZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3ZFwiOyB9XG5cbi5ib2ZpLWJhbmstMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2VcIjsgfVxuXG4uYm9maS1iYW5rZmVlcy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1Y1wiOyB9XG5cbi5ib2ZpLWVkaXQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwMFwiOyB9XG5cbi5ib2ZpLTE0OTgxOTU1OTItaWNvbjE1LTg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZlXCI7IH1cblxuLmJvZmktYXJyb3ctY2hldnJvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzFcIjsgfVxuXG4uY2RrLW92ZXJsYXktY29udGFpbmVyLFxuLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2RrLW92ZXJsYXktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDAwOyB9XG5cbi5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAwMDsgfVxuXG4uY2RrLW92ZXJsYXktcGFuZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHotaW5kZXg6IDEwMDA7IH1cblxuLmNkay1vdmVybGF5LWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO1xuICBvcGFjaXR5OiAwOyB9XG4gIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI4OCk7IH1cblxuLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmNkay1nbG9iYWwtc2Nyb2xsYmxvY2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNrLWJvdW5jZWRlbGF5IHtcbiAgMCUsIDgwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuQGtleWZyYW1lcyBzay1ib3VuY2VkZWxheSB7XG4gIDAlLCA4MCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcmlwcGxlIHtcbiAgNSUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNSUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgcmlwcGxlIHtcbiAgNSUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNSUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALW8ta2V5ZnJhbWVzIHJpcHBsZSB7XG4gIDUlLFxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByaXBwbGUge1xuICA1JSxcbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1JSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi51ay1mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4taGVpZ2h0OiAxOHB4OyB9XG4gIC51ay1mb3JtLWNvbnRyb2xfX3ZhbHVlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIG1heC13aWR0aDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbWluLWhlaWdodDogNDhweDsgfVxuICAudWstZm9ybS1jb250cm9sX19hZGRvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uYWxlcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgaGVpZ2h0OiA0NnB4O1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuYWxlcnQgLmljb24ge1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4OyB9XG4gIC5hbGVydCAuY2xvc2UtaWNvbiB7XG4gICAgZm9udC1zaXplOiA2LjIyODVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgLmFsZXJ0IC5jaGlsZC0tZmVhdHVyZWQge1xuICAgIHBhZGRpbmctbGVmdDogMTNweDtcbiAgICBmbGV4LWdyb3c6IDE7IH1cblxuOmhvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwICNFOUVBRUM7IH1cbiAgOmhvc3QgcC51ay1sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICA6aG9zdCAuc2NyZWVuLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICA6aG9zdCAuc2NyZWVuLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIDpob3N0IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgcGFkZGluZy10b3A6IDcwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9IH1cbiIsIi8vIEBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TGlicmUrRnJhbmtsaW46MzAwLDQwMCw1MDAsNjAwLDcwMCcpO1xyXG5AaW1wb3J0ICcuL19mb250LnNjc3MnO1xyXG5AaW1wb3J0ICcuL19zci1vbmx5LnNjc3MnO1xyXG5cclxuQG1peGluIHVrLWdsb2JhbCgkdWstdGhlbWUpIHtcclxuICAgICRmb250LWNvbmZpZzogbWFwLWdldCgkdWstdGhlbWUsIGZvbnRzKTtcclxuICAgICRmb250LWZhbWlsaWVzOiBtYXAtZ2V0KCRmb250LWNvbmZpZywgZmFtaWxpZXMpO1xyXG4gICAgJGZvbnQtc2l6ZXM6IG1hcC1nZXQoJGZvbnQtY29uZmlnLCBzaXplcyk7XHJcblxyXG4gICAgQGVhY2ggJGZvbnQtZmFtaWx5LCAkdmFsdWUgaW4gJGZvbnQtZmFtaWxpZXMge1xyXG4gICAgICAgICRmb250LXVybDogbWFwLWdldCgkdmFsdWUsIHVybCk7XHJcbiAgICAgICAgQGlmICRmb250LXVybCB7XHJcbiAgICAgICAgICAgIEBpbXBvcnQgdXJsKCRmb250LXVybCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICRwcmltYXJ5LWZvbnQtZmFtaWxpeTogbWFwLWdldCgkZm9udC1mYW1pbGllcywgcHJpbWFyeSk7XHJcblxyXG4gICAgaHRtbCB7IFxyXG4gICAgICAgIGJvZHkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRwcmltYXJ5LWZvbnQtZmFtaWxpeSwgbmFtZSksIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRwcmltYXJ5LWZvbnQtZmFtaWxpeSwgY29sb3IpO1xyXG4gICAgICAgICAgICBAY29udGVudFxyXG4gICAgICAgIH1cclxuICAgICAgICBoMSxcclxuICAgICAgICBoMixcclxuICAgICAgICBoMyxcclxuICAgICAgICBoNCxcclxuICAgICAgICBoNSxcclxuICAgICAgICBoNiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHVrLWZvbnRzKCRmb250LXNpemVzKTtcclxuICAgICAgICAuc3Itb25seXsgQGluY2x1ZGUgc3Itb25seSgpOyB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qXHJcbmh0bWwsXHJcbmJvZHkge1xyXG4gICAgZm9udC1mYW1pbHk6ICdMaWJyZSBGcmFua2xpbicsICdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xyXG4gICAgLy8gY29sb3I6IHRoZW1pZnkodGV4dCk7XHJcbn1cclxuXHJcblxyXG5cclxuYSB7XHJcbiAgICBjb2xvcjogdGhlbWlmeShsaW5rKTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5yb3VuZC1pbWFnZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbn1cclxuXHJcblxyXG4qLyIsIiRjb250YWluZXItd2lkdGg6KHNtOjQ5cmVtLCBtZDo2NXJlbSwgbGc6NzZyZW0pO1xyXG4uZmNvbnRhaW5lci1mbHVpZCxcclxuLmZjb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi5mY29udGFpbmVyLWZsdWlkIHtcclxuICAgIHBhZGRpbmc6IDAgMnJlbTtcclxufVxyXG5cclxuQG1peGluIGNvbnRhaW5lcigka2V5KSB7XHJcbiAgICBAaWYoJGtleT09J2xnJykge1xyXG4gICAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkY29udGFpbmVyLXdpZHRoLCAka2V5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZigka2V5PT0nbWQnKSB7XHJcbiAgICAgICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRjb250YWluZXItd2lkdGgsICRrZXkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmKCRrZXk9PSdzbScpIHtcclxuICAgICAgICAuY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGNvbnRhaW5lci13aWR0aCwgJGtleSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLmZyb3cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXg6IDAgMSBhdXRvO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICYucmV2ZXJzZSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLmZpbmxpbmUgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfSIsIi5yZXNldC1wYWRkaW5ne1xyXG4gICAgcGFkZGluZzowO1xyXG59XHJcbi5yZXNldC1tYXJnaW57XHJcbiAgICBtYXJnaW46MDtcclxufVxyXG4udWstYnRuIHtcclxuICAgICYubm9uZSB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIC8vb3V0bGluZTogbm9uZTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICAgICAgbWluLWhlaWdodDogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gICAgJi5pY29uIHtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuICB9XHJcbiAgIiwiLy8gWi1sZXZlbHNcclxuLiN7JHByZWZpeH0tc2hhZG93LTAge1xyXG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG4uI3skcHJlZml4fS1zaGFkb3ctMSB7XHJcbiAgYm94LXNoYWRvdzogMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG59XHJcbi4jeyRwcmVmaXh9LXNoYWRvdy0xLWhhbGYge1xyXG4gIGJveC1zaGFkb3c6IDAgM3B4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDdweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDFweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxufVxyXG4uI3skcHJlZml4fS1zaGFkb3ctMiB7XHJcbiAgYm94LXNoYWRvdzogMCA0cHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxufVxyXG4uI3skcHJlZml4fS1zaGFkb3ctMyB7XHJcbiAgYm94LXNoYWRvdzogMCA2cHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDE4cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDNweCA1cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTQge1xyXG4gIGJveC1zaGFkb3c6IDAgOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxufVxyXG4uI3skcHJlZml4fS1zaGFkb3ctNSB7XHJcbiAgYm94LXNoYWRvdzogMCAxNnB4IDI0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgNnB4IDMwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgOHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbn0iLCIudWstbmF2e1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAgIC51ay1uYXYtaXRlbXtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIkdG9vbHRpcC1oZWlnaHQ6IDI4cHg7XHJcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICMyOTM1NDE7XHJcbiR0b29sdGlwLXBhZGRpbmc6IDVweCAxMHB4O1xyXG4kdG9vbHRpcC1hcnJvdzogNnB4O1xyXG5cclxuLnVrLXRvb2x0aXAge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIGNvbG9yOiAjRkZGO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgbWF4LXdpZHRoOiAyODBweDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XHJcbiAgICB6LWluZGV4OiAyO1xyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAkdG9vbHRpcC1hcnJvdyB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuXHJcbiAgICAmLndoaXRlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xyXG4gICAgICAgIGNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgICYuYm90dG9tIHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAoLTIgKiAkdG9vbHRpcC1hcnJvdyk7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi53aGl0ZTo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjojRkZGICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYudG9wIHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAoLTIgKiAkdG9vbHRpcC1hcnJvdyk7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi53aGl0ZTo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI0ZGRiAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmxlZnQge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICgtMiAqICR0b29sdGlwLWFycm93KTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYucmlnaHQge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICgtMiAqICR0b29sdGlwLWFycm93KTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi51ay1sYWJlbCB7XHJcbiAgICAmLnVrLXRvb2x0aXAtaG9zdCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogNXB4O1xyXG4gICAgfVxyXG59XHJcbiIsIiR1ay1wcm9ncmVzcy1iYXItbGFibGUtc3BhY2U6IDdweDtcclxuJHVrLXByb2dyZXNzLWJhci1saW5lLWhlaWdodDogM3B4O1xyXG4kcmlwcGxlLXNpemU6ICh4czogMjBweCwgc206IDI1cHgsIG1kOiAzNXB4KTtcclxuJHJpcHBsZS1ib3JkZXItd2lkdGg6IDJweDtcclxuXHJcbi51ay1zdGVwcGVye1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgLnVrLXByb2dyZXNzLXRpdGxlIHtcclxuICAgICAgICBjb2xvcjogdGhlbWlmeSh0ZXh0LCAkdGhlbWUpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA3cHg7XHJcbiAgICB9XHJcbiAgICAudWstcHJvZ3Jlc3Mtc3RlcC1ib2R5e1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLnVrLXByb2dyZXNzLXRyYWNrIHtcclxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgLnVrLXByb2dyZXNzLXN0ZXAge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAneHMnKSArICR1ay1wcm9ncmVzcy1iYXItbGFibGUtc3BhY2U7XHJcblxyXG4gICAgICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShncmF5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAobWFwLWdldCgkcmlwcGxlLXNpemUsICd4cycpIC0gJHVrLXByb2dyZXNzLWJhci1saW5lLWhlaWdodCkgLzI7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICR1ay1wcm9ncmVzcy1iYXItbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6YmVmb3JlIHsgbGVmdDogMDsgfVxyXG4gICAgICAgICAgICAmOjphZnRlciB7IHJpZ2h0OiAwOyB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHsgJjo6YmVmb3JlIHsgd2lkdGg6IDA7IH19XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7ICY6OmFmdGVyIHsgd2lkdGg6IDA7IH19XHJcblxyXG4gICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShncmF5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLXNpemUsICd4cycpO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAneHMnKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNHB4O1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG5cclxuICAgICAgICAgICAgICAgIC51ay1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkcmlwcGxlLWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAneHMnKSAtICgyICogJHJpcHBsZS1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3hzJykgLSAoMiAqICRyaXBwbGUtYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAudWstcHJvZ3Jlc3MtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdGhlbWlmeShpbmFjdGl2ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1x0XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmFjdGl2ZXtcclxuICAgICAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShwcmltYXJ5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogc29saWQgMnB4ICNGRkY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYud2lwIHtcclxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYuZG9uZXtcclxuICAgICAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShwcmltYXJ5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIC51ay1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHRoZW1pZnkod2hpdGUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGluaXRpYWw7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBzbSB7XHJcbiAgICAgICAgICAgIC51ay1wcm9ncmVzcy1zdGVwIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3NtJykgKyAkdWstcHJvZ3Jlc3MtYmFyLWxhYmxlLXNwYWNlO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAobWFwLWdldCgkcmlwcGxlLXNpemUsICdzbScpIC0gJHVrLXByb2dyZXNzLWJhci1saW5lLWhlaWdodCkgLzI7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnc20nKTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdzbScpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdzbScpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3NtJykgLSAoMiAqICRyaXBwbGUtYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZXtcclxuICAgICAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1kIHtcclxuICAgICAgICAgICAgLnVrLXByb2dyZXNzLXN0ZXAge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnbWQnKSArICR1ay1wcm9ncmVzcy1iYXItbGFibGUtc3BhY2U7XHJcblxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogKG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnbWQnKSAtICR1ay1wcm9ncmVzcy1iYXItbGluZS1oZWlnaHQpIC8yO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnbWQnKTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDhweDtcclxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmV7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdtZCcpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJykgLSAoMiAqICRyaXBwbGUtYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZXtcclxuICAgICAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIkcHJpbWFyeTogIzFlODI1NyAhZGVmYXVsdDtcclxuJHNlY29uZGFyeTogI0ZBQTc0QSAhZGVmYXVsdDtcclxuJGxpbms6ICMxMTUzYjUgIWRlZmF1bHQ7XHJcbiR0ZXh0OiAjMjgzNTQxICFkZWZhdWx0O1xyXG4kZ3JheTogI2JlYzFjNSAhZGVmYXVsdDtcclxuJGluYWN0aXZlOiAjNmM3NzgxICFkZWZhdWx0O1xyXG4kbXV0ZWQ6ICNlZWVmZjIgIWRlZmF1bHQ7XHJcbiRsaWdodDogI2Y0ZjVmNyAhZGVmYXVsdDtcclxuJGVycm9yOiAjY2IyZDBlICFkZWZhdWx0O1xyXG4kd2FybmluZzogI2UzNzkzNiAhZGVmYXVsdDtcclxuJHN1Y2Nlc3M6ICMyMjk4NmMgIWRlZmF1bHQ7XHJcbiRpbmZvOiAjNmFhNWYyICFkZWZhdWx0O1xyXG4kYWNjZW50LTE6ICM2OGNjOWEgIWRlZmF1bHQ7XHJcbiRhY2NlbnQtMjogJGluZm8gIWRlZmF1bHQ7XHJcbiR3aGl0ZTogI2ZmZiAhZGVmYXVsdDtcclxuXHJcbiRidG4tYmFzZTogKFxyXG4gIGhlaWdodDogNTJweCxcclxuICB3aWR0aDogMTc1cHgsXHJcbiAgcGFkZGluZzogMTZweCA0MHB4XHJcbik7XHJcblxyXG4kYnRuLXNpemVzOiAobGc6KGhlaWdodDogNTJweCwgcGFkZGluZzogMTZweCA2MHB4KSkgIWRlZmF1bHQ7XHJcbiAgXHJcbiR0aGVtZTogKFxyXG4gICAgcHJpbWFyeTogJHByaW1hcnksXHJcbiAgICBzZWNvbmRhcnk6ICRzZWNvbmRhcnksXHJcbiAgICBsaW5rOiAkbGluayxcclxuICAgIHRleHQ6ICR0ZXh0LFxyXG4gICAgZ3JheTogJGdyYXksXHJcbiAgICBpbmFjdGl2ZTogJGluYWN0aXZlLFxyXG4gICAgbGlnaHQ6ICRsaWdodCxcclxuICAgIG11dGVkOiAkbXV0ZWQsXHJcbiAgICBlcnJvcjogJGVycm9yLFxyXG4gICAgd2FybmluZzogJHdhcm5pbmcsXHJcbiAgICBzdWNjZXNzOiAkc3VjY2VzcyxcclxuICAgIGluZm8gOiAkaW5mbyxcclxuICAgIGFjY2VudC0xOiAkYWNjZW50LTEsXHJcbiAgICBhY2NlbnQtMjogJGFjY2VudC0yLFxyXG4gICAgd2hpdGU6ICR3aGl0ZVxyXG4gIClcclxuICAhZGVmYXVsdDtcclxuJHNpemVzOiAoXHJcbiAgcGhvbmU6XHJcbiAgICAoXHJcbiAgICAgIC8vIEFwcHJvdmVkXHJcbiAgICAgIGgxOihmb250LXNpemU6IDUycHgsIGxpbmUtaGVpZ2h0OiA1OHB4LCBmb250LXdlaWdodDogMzAwKSxcclxuICAgICAgaDI6KGZvbnQtc2l6ZTogNDJweCwgbGluZS1oZWlnaHQ6IDUwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBoNDogKGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBwOihmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgbGFiZWw6IChmb250LXNpemU6IDE0cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgLy8gRW5kIEFwcHJvdmVkXHJcbiAgICAgIGgzOihmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgYm9keTooZm9udC1zaXplOiAxNXB4LCBsaW5lLWhlaWdodDogMThweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIHNtYWxsOihmb250LXNpemU6IDE0cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICksXHJcbiAgdGFibGV0OihcclxuICAgICAgLy8gQXBwcm92ZWRcclxuICAgICAgaDE6KGZvbnQtc2l6ZTogNjJweCwgbGluZS1oZWlnaHQ6IDY4cHgsIGZvbnQtd2VpZ2h0OiAzMDApLFxyXG4gICAgICBoMjooZm9udC1zaXplOiA1MnB4LCBsaW5lLWhlaWdodDogNjBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGg0OiAoZm9udC1zaXplOiAyMHB4LCBsaW5lLWhlaWdodDogMzBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIHA6KGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBsYWJlbDogKGZvbnQtc2l6ZTogMTRweCwgbGluZS1oZWlnaHQ6IDIwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICAvLyBFbmQgQXBwcm92ZWRcclxuICAgICAgaDM6KGZvbnQtc2l6ZTogMjZweCwgbGluZS1oZWlnaHQ6IDMwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBib2R5Oihmb250LXNpemU6IDE1cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgc21hbGw6KGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgKSxcclxuICBkZXNrdG9wOihcclxuICAgICAgLy8gQXBwcm92ZWRcclxuICAgICAgaDE6IChmb250LXNpemU6IDcycHgsIGxpbmUtaGVpZ2h0OiA3OHB4LCBmb250LXdlaWdodDogMzAwKSxcclxuICAgICAgaDI6IChmb250LXNpemU6IDYycHgsIGxpbmUtaGVpZ2h0OiA3MHB4LCBmb250LXdlaWdodDogMzAwKSxcclxuICAgICAgaDQ6IChmb250LXNpemU6IDIwcHgsIGxpbmUtaGVpZ2h0OiAzMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgcDogKGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDIycHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBsYWJlbDogKGZvbnQtc2l6ZTogMTRweCwgbGluZS1oZWlnaHQ6IDIwcHgsIGZvbnQtd2VpZ2h0OiA0MDApLFxyXG4gICAgICAvLyBFbmQgQXBwcm92ZWRcclxuICAgICAgaDM6IChmb250LXNpemU6IDI0cHgsIGxpbmUtaGVpZ2h0OiAyOHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgYm9keTogKGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDE4cHgsIGZvbnQtd2VpZ2h0OiA0MDApLFxyXG4gICAgICBzbWFsbDogKGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA0MDApLFxyXG4gICAgKVxyXG4pO1xyXG4kZ3V0dGVyOiAzMHB4O1xyXG5cclxuXHJcbi8vQU5HVUxBUiBDREsgT1ZFUkxBWSBWQVJJQUJMRVNcclxuJGNkay16LWluZGV4LW92ZXJsYXktY29udGFpbmVyOiAxMDAwO1xyXG4kY2RrLXotaW5kZXgtb3ZlcmxheTogMTAwMDtcclxuJGNkay16LWluZGV4LW92ZXJsYXktYmFja2Ryb3A6IDEwMDA7XHJcblxyXG4vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBhbGwgb2YgdGhlIGJhY2tkcm9wc1xyXG4kY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcC1iYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjg4KTtcclxuXHJcbi8vIERlZmF1bHQgYmFja2Ryb3AgYW5pbWF0aW9uIGlzIGJhc2VkIG9uIHRoZSBNYXRlcmlhbCBEZXNpZ24gc3dpZnQtZWFzZS1vdXQuXHJcbiRiYWNrZHJvcC1hbmltYXRpb24tZHVyYXRpb246IDQwMG1zICFkZWZhdWx0O1xyXG4kYmFja2Ryb3AtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSkgIWRlZmF1bHQ7IiwiLy8gR3JheXNcclxuJGluYWN0aXZlOiAjNUY2ODcxO1xyXG4kbWlkLWdyYXk6ICM5NDlBQTA7XHJcbiRncmF5OiAjQzlDQ0NGO1xyXG4kbXV0ZWQ6ICNFOUVBRUM7XHJcbiRsaWdodDogI0Y0RjVGNTtcclxuJHdoaXRlOiAjRkZGO1xyXG4vLyBJbGx1c3RyYXRpdmUgSWNvbnNcclxuJGluZm86ICM2NDk1RjY7XHJcbiRhY2NlbnQtMTogI0ZGRjtcclxuJGFjY2VudC0yOiAjMDAwO1xyXG4vLyBBbGVydHNcclxuJGVycm9yOiAjY2IyZDBlO1xyXG4kd2FybmluZzogI2UzNzkzNjtcclxuJHN1Y2Nlc3M6ICMyMjk4NmM7XHJcbi8vIExpbmtzXHJcbiRsaW5rOiAjMTc2QUNGO1xyXG4kbGluay12aXNpdGVkOiAjNTUxQThCOyIsIiRicmVha3BvaW50cyA6KCB4czo0ODBweCwgc206IDc2OHB4LCBtZDo5OTJweCwgbGc6IDEyMDBweCk7XHJcblxyXG5AbWl4aW4geHMge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHNtIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICdzbScpKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZCB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAnbWQnKSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbGcge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJ2xnJykpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG4iLCJAaW1wb3J0ICcuL19mb250LWljb24uc2Nzcyc7XHJcblxyXG4kYnRuLWljb24tc2l6ZTogMWVtO1xyXG4kaWNvbi1zaXplOiAxLjVlbTtcclxuXHJcbkBtaXhpbiBpY29ucyB7XHJcbiAgICAudWstYnRuLmljb257XHJcbiAgICAgICAgLnVrLWljb257XHJcbiAgICAgICAgICAgIGhlaWdodDogJGljb24tc2l6ZTtcclxuICAgICAgICAgICAgd2lkdGg6ICRpY29uLXNpemU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnVrLWJ0bntcclxuICAgICAgICAudWstaWNvbntcclxuICAgICAgICAgICAgaGVpZ2h0OiAkYnRuLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgd2lkdGg6ICRidG4taWNvbi1zaXplO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRidG4taWNvbi1zaXplO1xyXG4gICAgICAgICAgICAvL0dlbmVyYWxcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudWstaWNvbiB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHN0cm9rZS13aWR0aDogMDtcclxuICAgICAgICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcclxuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XHJcbiAgICAgICAgZm9udC1zaXplOiAkaWNvbi1zaXplO1xyXG4gICAgICAgIG1heC13aWR0aDogJGljb24tc2l6ZTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAkaWNvbi1zaXplO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBpY29ucygpO1xyXG5AaW5jbHVkZSBmb250SWNvbnMoKTsiLCJAbWl4aW4gZm9udEljb25zIHtcclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiO1xyXG4gICAgICAgIHNyYzp1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi5lb3RcIik7XHJcbiAgICAgICAgc3JjOnVybChcIi9hc3NldHMvYm9maS1pY29uLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXHJcbiAgICAgICAgICB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICAgICAgICB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi5zdmcjYm9maS1pY29uXCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgIFxyXG4gICAgfVxyXG5cclxuICAgIFtkYXRhLWljb25dOmJlZm9yZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiYm9maS1pY29uXCIgIWltcG9ydGFudDtcclxuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtaWNvbik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBzcGVhazogbm9uZTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICBbY2xhc3NePVwiYm9maS1cIl06YmVmb3JlLFxyXG4gICAgICBbY2xhc3MqPVwiIGJvZmktXCJdOmJlZm9yZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiYm9maS1pY29uXCIgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHNwZWFrOiBub25lO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIC5ib2ZpLXJlY3VycmluZzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2MVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWViaWxsOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDY3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYWRkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDZmXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXRtOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDcxXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXV0b21hdGljOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDcyXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYmFuazpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3M1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWJhbmtmZWVzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDc0XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZGF0ZXBpY2tlcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2YVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRlcG9zaXQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzdcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1lZGl0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDc4XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZmFxOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDdhXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbWVzc2FnZXM6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1tZW51OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQzXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktaW50ZXJlc3Q6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZW5kaW5nOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDRjXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGhvbmU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNGRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wcmludDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0ZlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXJlZnVuZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1MlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXJlbW92ZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1M1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXN1Y2Nlc3M6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zZWFyY2g6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wYXNzd29yZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2ZFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXVzZXJuYW1lOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDc1XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZ2VhcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2OFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNvbnRhY3QtbGlzdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0MlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWZpbHRlcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3NlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRlYml0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDYyXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc3VwcG9ydDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2OVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXVzZXItc2V0dGluZ3M6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzBcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hY2NvdW50czpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2NFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXRyYW5zZmVyOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDY2XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGhvdG86YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzlcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jaGVjay1tYXJrOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQ2XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktaW5mb3JtYXRpb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDlcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jaGF0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDRiXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2FuY2VsOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDRlXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc2VuZC1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDU1XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktd2FybmluZzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1OFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXVwbG9hZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1YVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXRodW1ic3VwOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDMwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGRmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQ3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2hlY2s6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDhcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zdGFyOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDM2XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2FtZXJhOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDMyXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZGVsaXZlcnktbWV0aG9kOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDM0XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZG93bmxvYWQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzdcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1lYmlsbC1wYXliaWxsczpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzOFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWZsYWc6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hbGVydC1oaXN0b3J5OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDI0XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbW9iaWxlZGVwb3NpdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyOFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW9uZXRpbWU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjlcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZXJzb25hbC1tZXNzYWdlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDJjXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdGV4dC1tZXNzYWdlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDRhXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZXllLW91dGxpbmU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTBcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hdHRhY2g6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1sb2dvdXQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jbG9zZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0NVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWdlYXItY2lyY2xlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDU3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdGh1bWJzdXAtY2lyY2xlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDU5XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbW9kYWwtc2VuZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2Y1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWFkZC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQ0XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZ3JvdXA6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1ob21lOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDM1XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGVyc29uYWwtaW5mbzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzOVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBlcnNvbi1jaGVjazpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyMVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBlcnNvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyM1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXNpZ25lcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyNVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRhdGVwaWNrZXItMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyNlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXJlZnVuZC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDYzXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcmVjdXJyaW5nLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjdcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1tZXNzYWdlcy0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDJhXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZmFxLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMmJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1nZWFyLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMmRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZW1vdmUtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXJlZnVuZC0yOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDJmXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdXNlcm5hbWUtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzYVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXNlYXJjaC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDNiXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGFzc3dvcmQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzY1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRhc2hib2FyZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzZFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWF0bS0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDNlXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGVuZGluZy0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDNmXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc3VjY2Vzcy0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGhvbmUtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1YlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXByaW50LTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1tZW51LTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1pbnRlcmVzdC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDVmXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktaWMtY29udGFjdC1saXN0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDYwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZGVwb3NpdC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDdiXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXV0b21hdGljLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcN2NcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hdXRvbWF0aWNwYXltZW50OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDdkXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYmFuay0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDdlXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYmFua2ZlZXMtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1Y1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWVkaXQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlMDAwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktMTQ5ODE5NTU5Mi1pY29uMTUtODpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2ZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWFycm93LWNoZXZyb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzFcIjtcclxuICAgICAgfSAgICAgIFxyXG59IiwiLmNkay1vdmVybGF5LWNvbnRhaW5lcixcclxuLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcclxuICAvLyBEaXNhYmxlIGV2ZW50cyBmcm9tIGJlaW5nIGNhcHR1cmVkIG9uIHRoZSBvdmVybGF5IGNvbnRhaW5lci5cclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcbiAgLy8gVGhlIGNvbnRhaW5lciBzaG91bGQgYmUgdGhlIHNpemUgb2YgdGhlIHZpZXdwb3J0LlxyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLy8gVGhlIG92ZXJsYXktY29udGFpbmVyIGlzIGFuIGludmlzaWJsZSBlbGVtZW50IHdoaWNoIGNvbnRhaW5zIGFsbCBpbmRpdmlkdWFsIG92ZXJsYXlzLlxyXG4uY2RrLW92ZXJsYXktY29udGFpbmVyIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXktY29udGFpbmVyO1xyXG59XHJcblxyXG4vLyBXZSB1c2UgYW4gZXh0cmEgd3JhcHBlciBlbGVtZW50IGluIG9yZGVyIHRvIHVzZSBtYWtlIHRoZSBvdmVybGF5IGl0c2VsZiBhIGZsZXggaXRlbS5cclxuLy8gVGhpcyBtYWtlcyBjZW50ZXJpbmcgdGhlIG92ZXJsYXkgZWFzeSB3aXRob3V0IHJ1bm5pbmcgaW50byB0aGUgc3VicGl4ZWwgcmVuZGVyaW5nXHJcbi8vIHByb2JsZW1zIHRpZWQgdG8gdXNpbmcgYHRyYW5zZm9ybWAgYW5kIHdpdGhvdXQgaW50ZXJmZXJpbmcgd2l0aCB0aGUgb3RoZXIgcG9zaXRpb25cclxuLy8gc3RyYXRlZ2llcy5cclxuLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheTtcclxufVxyXG5cclxuLy8gQSBzaW5nbGUgb3ZlcmxheSBwYW5lLlxyXG4uY2RrLW92ZXJsYXktcGFuZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXk7XHJcbn1cclxuXHJcbi5jZGstb3ZlcmxheS1iYWNrZHJvcCB7XHJcbiAgLy8gVE9ETyhqZWxib3Vybik6IHJldXNlIHNpZGVuYXYgZnVsbHNjcmVlbiBtaXhpbi5cclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG5cclxuICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheS1iYWNrZHJvcDtcclxuICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGJhY2tkcm9wLWFuaW1hdGlvbi1kdXJhdGlvblxyXG4gICAgJGJhY2tkcm9wLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb247XHJcbiAgb3BhY2l0eTogMDtcclxuXHJcbiAgJi5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG4uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcCB7XHJcbiAgYmFja2dyb3VuZDogJGNkay1vdmVybGF5LWRhcmstYmFja2Ryb3AtYmFja2dyb3VuZDtcclxufVxyXG5cclxuLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wIHtcclxuICAvLyBOb3RlOiBhcyBvZiBGaXJlZm94IDU3LCBoYXZpbmcgdGhlIGJhY2tkcm9wIGJlIGBiYWNrZ3JvdW5kOiBub25lYCB3aWxsIHByZXZlbnQgaXQgZnJvbVxyXG4gIC8vIGNhcHR1cmluZyB0aGUgdXNlcidzIG1vdXNlIHNjcm9sbCBldmVudHMuIFNpbmNlIHdlIGFsc28gY2FuJ3QgdXNlIHNvbWV0aGluZyBsaWtlXHJcbiAgLy8gYHJnYmEoMCwgMCwgMCwgMClgLCB3ZSB3b3JrIGFyb3VuZCB0aGUgaW5jb25zaXN0ZW5jeSBieSBub3Qgc2V0dGluZyB0aGUgYmFja2dyb3VuZCBhdFxyXG4gIC8vIGFsbCBhbmQgdXNpbmcgYG9wYWNpdHlgIHRvIG1ha2UgdGhlIGVsZW1lbnQgdHJhbnNwYXJlbnQuXHJcbiAgJixcclxuICAmLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbi8vIFVzZWQgd2hlbiBkaXNhYmxpbmcgZ2xvYmFsIHNjcm9sbGluZy5cclxuLmNkay1nbG9iYWwtc2Nyb2xsYmxvY2sge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuXHJcbiAgLy8gTmVjZXNzYXJ5IGZvciB0aGUgY29udGVudCBub3QgdG8gbG9zZSBpdHMgd2lkdGguIE5vdGUgdGhhdCB3ZSdyZSB1c2luZyAxMDAlLCBpbnN0ZWFkIG9mXHJcbiAgLy8gMTAwdncsIGJlY2F1c2UgMTAwdncgaW5jbHVkZXMgdGhlIHdpZHRoIHBsdXMgdGhlIHNjcm9sbGJhciwgd2hlcmVhcyAxMDAlIGlzIHRoZSB3aWR0aFxyXG4gIC8vIHRoYXQgdGhlIGVsZW1lbnQgaGFkIGJlZm9yZSB3ZSBtYWRlIGl0IGBmaXhlZGAuXHJcbiAgd2lkdGg6IDEwMCU7XHJcblxyXG4gIC8vIE5vdGU6IHRoaXMgd2lsbCBhbHdheXMgYWRkIGEgc2Nyb2xsYmFyIHRvIHdoYXRldmVyIGVsZW1lbnQgaXQgaXMgb24sIHdoaWNoIGNhblxyXG4gIC8vIHBvdGVudGlhbGx5IHJlc3VsdCBpbiBkb3VibGUgc2Nyb2xsYmFycy4gSXQgc2hvdWxkbid0IGJlIGFuIGlzc3VlLCBiZWNhdXNlIHdlIHdvbid0XHJcbiAgLy8gYmxvY2sgc2Nyb2xsaW5nIG9uIGEgcGFnZSB0aGF0IGRvZXNuJ3QgaGF2ZSBhIHNjcm9sbGJhciBpbiB0aGUgZmlyc3QgcGxhY2UuXHJcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG59XHJcbiIsIkBpbXBvcnQgJy4uLy4uL21peGlucy9fYW5pbWF0aW9uLnNjc3MnO1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2stYm91bmNlZGVsYXkge1xyXG4gICAgMCUsIDgwJSwgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKSB9XHJcbiAgICA0MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wKSB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2stYm91bmNlZGVsYXkge1xyXG4gICAgMCUsIDgwJSwgMTAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICB9IDQwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjApO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gdWstZG90LWxvYWRlcigkdGhlbWUpIHtcclxuICAgIC51aWtpdC1kb3QtbG9hZGVyIHtcclxuICAgICAgICB1c2VyLXNlbGVjdDpub25lOyAgICAgICAgICAgIFxyXG4gICAgICAgICYudWlraXQtaW5saW5lLWRvdC1sb2FkZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICA+c3BhbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICB3aWR0aDogMTVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHdoaXRlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcblxyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGFuaW1hdGlvbihzay1ib3VuY2VkZWxheSAxLjJzIGluZmluaXRlIGVhc2UtaW4tb3V0IGJvdGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICA+LmJvdW5jZTEge1xyXG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IC0wLjMycztcclxuICAgICAgICB9XHJcbiAgICAgICAgPi5ib3VuY2UyIHtcclxuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4xNnM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiQG1peGluIGFuaW1hdGlvbigkYW5pbWF0ZS4uLikge1xyXG4gICAgJG1heDogbGVuZ3RoKCRhbmltYXRlKTtcclxuICAgICRhbmltYXRpb25zOiAnJztcclxuXHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgge1xyXG4gICAgICAgICRhbmltYXRpb25zOiAjeyRhbmltYXRpb25zICsgbnRoKCRhbmltYXRlLCAkaSl9O1xyXG5cclxuICAgICAgICBAaWYgJGkgPCAkbWF4IHtcclxuICAgICAgICAgICAgJGFuaW1hdGlvbnM6ICN7JGFuaW1hdGlvbnMgKyAnLCAnfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhbmltYXRpb246ICRhbmltYXRpb25zO1xyXG59XHJcblxyXG5AbWl4aW4ga2V5ZnJhbWVzKCRhbmltYXRpb25OYW1lKSB7XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgI3skYW5pbWF0aW9uTmFtZX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gICAgQC1tb3ota2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxuICAgIEAtby1rZXlmcmFtZXMgI3skYW5pbWF0aW9uTmFtZX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gICAgQGtleWZyYW1lcyAjeyRhbmltYXRpb25OYW1lfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn0iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMvYW5pbWF0aW9uLnNjc3MnO1xyXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWwvX3NyLW9ubHkuc2Nzcyc7XHJcblxyXG4kaW5wdXQ6ICggc2l6ZTogMjJweCwgbWFyZ2luLXJpZ2h0OiAxMHB4KTtcclxuJHJpcHBsZTogKCBwb3NpdGlvbjogMTBweCwgc2l6ZTogbWFwLWdldCgkaW5wdXQsIHNpemUpICogMyk7XHJcbkBpbmNsdWRlIGtleWZyYW1lcyhyaXBwbGUpIHtcclxuICAgIDUlLFxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDUlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcblxyXG5AbWl4aW4gdWstcmFkaW8oJHRoZW1lKSB7XHJcbiAgICAjeyRwcmVmaXh9LXJhZGlvLWdyb3VwIHtcclxuICAgICAgICAuI3skcHJlZml4fS1yYWRpby1ncm91cCB7XHJcbiAgICAgICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1yYWRpb10ge1xyXG4gICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMTBweDsgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4OyAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJGlucHV0cy1jb25maWc6IG1hcC1nZXQoJHRoZW1lLCBpbnB1dHMpO1xyXG4gICAgJGNvbmZpZzogbWFwLWdldCgkaW5wdXRzLWNvbmZpZywgaW5wdXQtY2hlY2tlZCk7XHJcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5LWNvbG9yKTtcclxuICAgIGlucHV0W3R5cGU9cmFkaW9dIHtcclxuICAgICAgICBAaW5jbHVkZSBzci1vbmx5KCk7XHJcblxyXG4gICAgICAgICY6ZGlzYWJsZWQrbGFiZWw6bm90KDpjaGVja2VkKSwgJi5kaXNhYmxlZCtsYWJlbDpub3QoOmNoZWNrZWQpIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0aGVtaWZ5KGluYWN0aXZlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICtsYWJlbCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAvLyBtYXJnaW46IDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogKG1hcC1nZXQoJGlucHV0LCBzaXplKSArIG1hcC1nZXQoJGlucHV0LCBtYXJnaW4tcmlnaHQpKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBtYXAtZ2V0KCRpbnB1dCwgc2l6ZSkgKyAycHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRpbnB1dCwgc2l6ZSkgKyAycHg7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkaW5wdXQsIHNpemUpO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRpbnB1dCwgc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIG1hcC1nZXQoJGlucHV0LCBzaXplKSB0aGVtaWZ5KHdoaXRlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdGhlbWlmeShpbmFjdGl2ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IChtYXAtZ2V0KCRpbnB1dCwgc2l6ZSkgLyAyKTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IG1hcC1nZXQoJHJpcHBsZSwgcG9zaXRpb24pIC0gMXB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZSwgc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZSwgc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkcHJpbWFyeS1jb2xvciwgMC4xKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDApO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlcitsYWJlbCwgJi5ob3ZlcitsYWJlbHtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpjaGVja2VkK2xhYmVsIHtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDRweCB0aGVtaWZ5KHdoaXRlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYW5pbWF0aW9uKHJpcHBsZSAxcyBub25lKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi51ay1mb3JtLWNvbnRyb2wge1xyXG4gICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIG1pbi1oZWlnaHQ6IDE4cHg7XHJcblxyXG4gICAgJl9fdmFsdWUge1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBtaW4taGVpZ2h0OiA0OHB4O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmX19hZGRvbiB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxufSIsIi5hbGVydCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmctdG9wOiAxNXB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgbWFyZ2luLXRvcDogMjBweDtcclxuICBib3JkZXItcmFkaXVzOiAwLjI1ZW07XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICBoZWlnaHQ6IDQ2cHg7XHJcbiAgY29sb3I6IGJsYWNrO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIFxyXG4gIC5pY29uIHtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xyXG4gIH1cclxuICBcclxuICAuY2xvc2UtaWNvbntcclxuICAgIGZvbnQtc2l6ZTogNi4yMjg1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgfVxyXG5cclxuICAuY2hpbGQtLWZlYXR1cmVkIHtcclxuICAgIHBhZGRpbmctbGVmdDogMTNweDtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICB9XHJcbn0iLCJAaW1wb3J0IFwiX3ZhcmlhYmxlcy5zY3NzXCI7XHJcbjpob3N0IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZy10b3A6IDMwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwICNFOUVBRUM7XHJcblxyXG4gICAgcC51ay1sYWJlbCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgIH1cclxuICAgIC5zY3JlZW4tYnV0dG9ue1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIHNtIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWQge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICB9XHJcbn1cclxuIl19 */\"","declare var environment: any;\r\ndeclare var GLANCE: any;\r\n\r\nimport { AfterViewChecked, Component, ElementRef, Input, OnInit } from '@angular/core';\r\nimport { BRAND_ID } from 'models/enums';\r\n// UK Modal\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { Store } from '@ngrx/store';\r\nimport { UkModalService } from '@uikit/components/uk-modal';\r\nimport { FooterModalsPopupComponent } from 'app/modals/components';\r\nimport { of } from 'rxjs';\r\nimport { AppSettingsService } from 'services/app-settings.service';\r\nimport { EnrollmentState } from 'store';\r\nimport { getSubBanner } from 'store/selectors';\r\n\r\n@Component({\r\n selector: 'axos-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss'],\r\n host: {\r\n class: 'axos-container'\r\n }\r\n})\r\nexport class FooterComponent implements OnInit, AfterViewChecked {\r\n isAxosUniversal: boolean = !!environment.isAxosUniversal;\r\n today: number = Date.now();\r\n wlFooter: any;\r\n showWLFooter = false;\r\n isProxy = environment.isProxy;\r\n subBanner$ = !this.isProxy ? this.store$.select(getSubBanner) : of(null);\r\n isAccountFeaturePage = false;\r\n\r\n @Input() showPatriot: boolean;\r\n\r\n constructor(\r\n private modalService: UkModalService,\r\n private settingsService: AppSettingsService,\r\n private elementRef: ElementRef,\r\n private store$: Store,\r\n private router: Router\r\n ) {\r\n this.showPatriot = true;\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n const elements : any[] = this.elementRef.nativeElement.querySelectorAll('#wlFooter a');\r\n elements.forEach(element => {\r\n element.addEventListener('click', (event) => {\r\n event.preventDefault();\r\n this.footerModalsPopup(element.href);\r\n });\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.showWLFooter = (environment.applicationTypeName.toUpperCase().includes('WHITELABEL') || environment.applicationTypeName.toUpperCase().includes('PROXY'));\r\n if(this.showWLFooter){\r\n this.settingsService.getFooter().subscribe(footer => this.wlFooter = footer);\r\n }\r\n\r\n this.router.events.subscribe((route) => {\r\n if (route instanceof NavigationEnd) {\r\n this.isAccountFeaturePage = route.urlAfterRedirects === '/features';\r\n }\r\n })\r\n }\r\n\r\n startGlanceSession() {\r\n GLANCE.Cobrowse.Visitor.showTerms({\r\n sessionKey: \"GLANCE_KEYTYPE_RANDOM\"\r\n });\r\n }\r\n\r\n get isNationwide() {\r\n return environment.brandId === BRAND_ID.NationWide ||\r\n environment.brandId === BRAND_ID.NationWideBusinessBanking;\r\n }\r\n\r\n isUFB() {\r\n return /UFB/.test(environment.brandName.toUpperCase());\r\n }\r\n\r\n footerModalsPopup(url: string) {\r\n let modal: FooterModalsPopupComponent = this.modalService.createModal(null, true, FooterModalsPopupComponent);\r\n modal.redirectUrl = url;\r\n }\r\n}\r\n","module.exports = \"/**\\r\\n* Helper mixin to create a linear-gradient\\r\\n*\\r\\n*/\\n/*\\r\\nhtml,\\r\\nbody {\\r\\n font-family: 'Libre Franklin', 'Helvetica', sans-serif;\\r\\n // color: themify(text);\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\na {\\r\\n color: themify(link);\\r\\n cursor: pointer;\\r\\n text-decoration: none;\\r\\n -webkit-tap-highlight-color: transparent;\\r\\n}\\r\\n\\r\\n.round-image {\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n\\r\\n*/\\n.fcontainer-fluid,\\n.fcontainer {\\n margin: 0 auto; }\\n.fcontainer-fluid {\\n padding: 0 2rem; }\\n.frow {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex: 0 1 auto;\\n flex: 0 1 auto;\\n -ms-flex-direction: row;\\n flex-direction: row;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap; }\\n.frow.reverse {\\n -ms-flex-direction: row-reverse;\\n flex-direction: row-reverse; }\\n.finline {\\n display: -ms-inline-flexbox;\\n display: inline-flex; }\\n.reset-padding {\\n padding: 0; }\\n.reset-margin {\\n margin: 0; }\\n.uk-btn.none {\\n border: none;\\n background-color: transparent;\\n text-transform: none;\\n min-width: 0;\\n min-height: 0;\\n padding: 0; }\\n.uk-btn.icon {\\n font-weight: 500;\\n font-size: 14px;\\n line-height: 16px;\\n font-weight: bold; }\\n.uk-shadow-0 {\\n box-shadow: none !important; }\\n.uk-shadow-1 {\\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); }\\n.uk-shadow-1-half {\\n box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2); }\\n.uk-shadow-2 {\\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-3 {\\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-4 {\\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-5 {\\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.3); }\\n.uk-nav {\\n padding-left: 0;\\n margin-bottom: 0;\\n list-style: none;\\n box-sizing: border-box; }\\n.uk-nav .uk-nav-item {\\n clear: both;\\n float: none;\\n display: inline-block;\\n margin: 0px; }\\n.uk-nav .uk-nav-item:hover {\\n background-color: #eee; }\\n.uk-tooltip {\\n background-color: #293541;\\n color: #FFF;\\n position: fixed;\\n max-width: 280px;\\n font-size: 14px;\\n padding: 5px 10px;\\n z-index: 2; }\\n.uk-tooltip::before {\\n content: '';\\n position: absolute;\\n display: inline-block;\\n height: 0;\\n width: 0;\\n border: solid 6px transparent; }\\n.uk-tooltip.white {\\n background-color: #FFF;\\n color: #293541; }\\n.uk-tooltip.bottom::before {\\n border-bottom-color: #293541;\\n margin-top: -12px;\\n top: 0; }\\n.uk-tooltip.bottom.white::before {\\n border-bottom-color: #FFF !important; }\\n.uk-tooltip.top::before {\\n border-top-color: #293541;\\n margin-bottom: -12px;\\n bottom: 0; }\\n.uk-tooltip.top.white::before {\\n border-top-color: #FFF !important; }\\n.uk-tooltip.left::before {\\n border-left-color: #293541;\\n margin-right: -12px;\\n right: 0; }\\n.uk-tooltip.right::before {\\n border-right-color: #293541;\\n margin-left: -12px;\\n left: 0; }\\n.uk-label.uk-tooltip-host {\\n position: relative;\\n top: 5px; }\\n.uk-stepper {\\n display: inline-block; }\\n.uk-stepper .uk-progress-title {\\n color: #283541;\\n font-size: 18px;\\n font-weight: 600;\\n padding-top: 7px; }\\n.uk-stepper .uk-progress-step-body {\\n padding-top: 8px;\\n padding-bottom: 20px;\\n display: block; }\\n.uk-stepper .uk-progress-track {\\n list-style-type: none;\\n table-layout: fixed;\\n display: table;\\n width: 100%;\\n margin: 0;\\n padding: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step {\\n display: table-cell;\\n position: relative;\\n text-align: center;\\n padding-top: 27px; }\\n.uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n content: '';\\n background-color: #C9CCCF;\\n position: absolute;\\n top: 8.5px;\\n height: 3px;\\n width: 50%;\\n z-index: -1; }\\n.uk-stepper .uk-progress-track .uk-progress-step::before {\\n left: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step::after {\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step:first-child::before {\\n width: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step:last-child::after {\\n width: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n background-color: #C9CCCF;\\n position: absolute;\\n border-radius: 50%;\\n display: block;\\n margin: 0 auto;\\n height: 20px;\\n width: 20px;\\n padding: 0 4px;\\n top: 0;\\n left: 0;\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap .uk-icon {\\n display: none; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n position: absolute;\\n border-radius: 50%;\\n margin: 0 auto;\\n margin-top: 2px;\\n height: 16px;\\n width: 16px;\\n content: '';\\n left: 0;\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-progress-text {\\n position: relative;\\n color: #5F6871;\\n text-transform: capitalize;\\n font-size: 14px;\\n font-weight: 600; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border: solid 2px #FFF;\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active::before {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active.wip::after {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done .uk-step-icon-wrap {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done .uk-step-icon-wrap .uk-icon {\\n color: #FFF;\\n display: initial; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done::before, .uk-stepper .uk-progress-track .uk-progress-step.done::after {\\n background-color: #1e8257; }\\n@media only screen and (min-width: 768px) {\\n .uk-stepper .uk-progress-track .uk-progress-step {\\n padding-top: 32px; }\\n .uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n top: 11px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n height: 25px;\\n width: 25px;\\n padding: 0 6px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n height: 21px;\\n width: 21px; }\\n .uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border-width: 3px; } }\\n@media only screen and (min-width: 992px) {\\n .uk-stepper .uk-progress-track .uk-progress-step {\\n padding-top: 42px; }\\n .uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n top: 16px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n height: 35px;\\n width: 35px;\\n padding: 0 8px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n height: 31px;\\n width: 31px; }\\n .uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border-width: 4px; } }\\n.uk-btn.icon .uk-icon {\\n height: 1.5em;\\n width: 1.5em; }\\n.uk-btn .uk-icon {\\n height: 1em;\\n width: 1em;\\n font-size: 1em;\\n vertical-align: middle; }\\n.uk-icon {\\n display: inline-block;\\n stroke-width: 0;\\n stroke: currentColor;\\n fill: currentColor;\\n font-size: 1.5em;\\n max-width: 1.5em;\\n max-height: 1.5em; }\\n@font-face {\\n font-family: \\\"bofi-icon\\\";\\n src: url(\\\"/assets/bofi-icon.eot\\\");\\n src: url(\\\"/assets/bofi-icon.eot?#iefix\\\") format(\\\"embedded-opentype\\\"), url(\\\"/assets/bofi-icon.woff\\\") format(\\\"woff\\\"), url(\\\"/assets/bofi-icon.ttf\\\") format(\\\"truetype\\\"), url(\\\"/assets/bofi-icon.svg#bofi-icon\\\") format(\\\"svg\\\");\\n font-weight: normal;\\n font-style: normal; }\\n[data-icon]:before {\\n font-family: \\\"bofi-icon\\\" !important;\\n content: attr(data-icon);\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n[class^=\\\"bofi-\\\"]:before,\\n[class*=\\\" bofi-\\\"]:before {\\n font-family: \\\"bofi-icon\\\" !important;\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n.bofi-recurring:before {\\n content: \\\"\\\\61\\\"; }\\n.bofi-ebill:before {\\n content: \\\"\\\\67\\\"; }\\n.bofi-add:before {\\n content: \\\"\\\\6f\\\"; }\\n.bofi-atm:before {\\n content: \\\"\\\\71\\\"; }\\n.bofi-automatic:before {\\n content: \\\"\\\\72\\\"; }\\n.bofi-bank:before {\\n content: \\\"\\\\73\\\"; }\\n.bofi-bankfees:before {\\n content: \\\"\\\\74\\\"; }\\n.bofi-datepicker:before {\\n content: \\\"\\\\6a\\\"; }\\n.bofi-deposit:before {\\n content: \\\"\\\\77\\\"; }\\n.bofi-edit:before {\\n content: \\\"\\\\78\\\"; }\\n.bofi-faq:before {\\n content: \\\"\\\\7a\\\"; }\\n.bofi-messages:before {\\n content: \\\"\\\\41\\\"; }\\n.bofi-menu:before {\\n content: \\\"\\\\43\\\"; }\\n.bofi-interest:before {\\n content: \\\"\\\\65\\\"; }\\n.bofi-pending:before {\\n content: \\\"\\\\4c\\\"; }\\n.bofi-phone:before {\\n content: \\\"\\\\4d\\\"; }\\n.bofi-print:before {\\n content: \\\"\\\\4f\\\"; }\\n.bofi-refund:before {\\n content: \\\"\\\\52\\\"; }\\n.bofi-remove:before {\\n content: \\\"\\\\53\\\"; }\\n.bofi-success:before {\\n content: \\\"\\\\54\\\"; }\\n.bofi-search:before {\\n content: \\\"\\\\56\\\"; }\\n.bofi-password:before {\\n content: \\\"\\\\6d\\\"; }\\n.bofi-username:before {\\n content: \\\"\\\\75\\\"; }\\n.bofi-gear:before {\\n content: \\\"\\\\68\\\"; }\\n.bofi-contact-list:before {\\n content: \\\"\\\\42\\\"; }\\n.bofi-filter:before {\\n content: \\\"\\\\76\\\"; }\\n.bofi-debit:before {\\n content: \\\"\\\\62\\\"; }\\n.bofi-support:before {\\n content: \\\"\\\\69\\\"; }\\n.bofi-user-settings:before {\\n content: \\\"\\\\70\\\"; }\\n.bofi-accounts:before {\\n content: \\\"\\\\64\\\"; }\\n.bofi-transfer:before {\\n content: \\\"\\\\66\\\"; }\\n.bofi-photo:before {\\n content: \\\"\\\\79\\\"; }\\n.bofi-check-mark:before {\\n content: \\\"\\\\46\\\"; }\\n.bofi-information:before {\\n content: \\\"\\\\49\\\"; }\\n.bofi-chat:before {\\n content: \\\"\\\\4b\\\"; }\\n.bofi-cancel:before {\\n content: \\\"\\\\4e\\\"; }\\n.bofi-send-icon:before {\\n content: \\\"\\\\55\\\"; }\\n.bofi-warning:before {\\n content: \\\"\\\\58\\\"; }\\n.bofi-upload:before {\\n content: \\\"\\\\5a\\\"; }\\n.bofi-thumbsup:before {\\n content: \\\"\\\\30\\\"; }\\n.bofi-pdf:before {\\n content: \\\"\\\\47\\\"; }\\n.bofi-check:before {\\n content: \\\"\\\\48\\\"; }\\n.bofi-star:before {\\n content: \\\"\\\\36\\\"; }\\n.bofi-camera:before {\\n content: \\\"\\\\32\\\"; }\\n.bofi-delivery-method:before {\\n content: \\\"\\\\34\\\"; }\\n.bofi-download:before {\\n content: \\\"\\\\37\\\"; }\\n.bofi-ebill-paybills:before {\\n content: \\\"\\\\38\\\"; }\\n.bofi-flag:before {\\n content: \\\"\\\\22\\\"; }\\n.bofi-alert-history:before {\\n content: \\\"\\\\24\\\"; }\\n.bofi-mobiledeposit:before {\\n content: \\\"\\\\28\\\"; }\\n.bofi-onetime:before {\\n content: \\\"\\\\29\\\"; }\\n.bofi-personal-message:before {\\n content: \\\"\\\\2c\\\"; }\\n.bofi-text-message:before {\\n content: \\\"\\\\4a\\\"; }\\n.bofi-eye-outline:before {\\n content: \\\"\\\\50\\\"; }\\n.bofi-attach:before {\\n content: \\\"\\\\51\\\"; }\\n.bofi-logout:before {\\n content: \\\"\\\\6b\\\"; }\\n.bofi-close:before {\\n content: \\\"\\\\45\\\"; }\\n.bofi-gear-circle:before {\\n content: \\\"\\\\57\\\"; }\\n.bofi-thumbsup-circle:before {\\n content: \\\"\\\\59\\\"; }\\n.bofi-modal-send:before {\\n content: \\\"\\\\6c\\\"; }\\n.bofi-add-1:before {\\n content: \\\"\\\\44\\\"; }\\n.bofi-group:before {\\n content: \\\"\\\\33\\\"; }\\n.bofi-home:before {\\n content: \\\"\\\\35\\\"; }\\n.bofi-personal-info:before {\\n content: \\\"\\\\39\\\"; }\\n.bofi-person-check:before {\\n content: \\\"\\\\21\\\"; }\\n.bofi-person:before {\\n content: \\\"\\\\23\\\"; }\\n.bofi-signer:before {\\n content: \\\"\\\\25\\\"; }\\n.bofi-datepicker-1:before {\\n content: \\\"\\\\26\\\"; }\\n.bofi-refund-1:before {\\n content: \\\"\\\\63\\\"; }\\n.bofi-recurring-1:before {\\n content: \\\"\\\\27\\\"; }\\n.bofi-messages-1:before {\\n content: \\\"\\\\2a\\\"; }\\n.bofi-faq-1:before {\\n content: \\\"\\\\2b\\\"; }\\n.bofi-gear-1:before {\\n content: \\\"\\\\2d\\\"; }\\n.bofi-remove-1:before {\\n content: \\\"\\\\2e\\\"; }\\n.bofi-refund-2:before {\\n content: \\\"\\\\2f\\\"; }\\n.bofi-username-1:before {\\n content: \\\"\\\\3a\\\"; }\\n.bofi-search-1:before {\\n content: \\\"\\\\3b\\\"; }\\n.bofi-password-1:before {\\n content: \\\"\\\\3c\\\"; }\\n.bofi-dashboard:before {\\n content: \\\"\\\\3d\\\"; }\\n.bofi-atm-1:before {\\n content: \\\"\\\\3e\\\"; }\\n.bofi-pending-1:before {\\n content: \\\"\\\\3f\\\"; }\\n.bofi-success-1:before {\\n content: \\\"\\\\40\\\"; }\\n.bofi-phone-1:before {\\n content: \\\"\\\\5b\\\"; }\\n.bofi-print-1:before {\\n content: \\\"\\\\5d\\\"; }\\n.bofi-menu-1:before {\\n content: \\\"\\\\5e\\\"; }\\n.bofi-interest-1:before {\\n content: \\\"\\\\5f\\\"; }\\n.bofi-ic-contact-list:before {\\n content: \\\"\\\\60\\\"; }\\n.bofi-deposit-1:before {\\n content: \\\"\\\\7b\\\"; }\\n.bofi-automatic-1:before {\\n content: \\\"\\\\7c\\\"; }\\n.bofi-automaticpayment:before {\\n content: \\\"\\\\7d\\\"; }\\n.bofi-bank-1:before {\\n content: \\\"\\\\7e\\\"; }\\n.bofi-bankfees-1:before {\\n content: \\\"\\\\5c\\\"; }\\n.bofi-edit-1:before {\\n content: \\\"\\\\e000\\\"; }\\n.bofi-1498195592-icon15-8:before {\\n content: \\\"\\\\6e\\\"; }\\n.bofi-arrow-chevron:before {\\n content: \\\"\\\\31\\\"; }\\n.cdk-overlay-container,\\n.cdk-global-overlay-wrapper {\\n pointer-events: none;\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: 100%; }\\n.cdk-overlay-container {\\n position: fixed;\\n z-index: 1000; }\\n.cdk-global-overlay-wrapper {\\n display: -ms-flexbox;\\n display: flex;\\n position: absolute;\\n z-index: 1000; }\\n.cdk-overlay-pane {\\n position: absolute;\\n pointer-events: auto;\\n box-sizing: border-box;\\n z-index: 1000; }\\n.cdk-overlay-backdrop {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n z-index: 1000;\\n pointer-events: auto;\\n -webkit-tap-highlight-color: transparent;\\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\\n opacity: 0; }\\n.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 1; }\\n.cdk-overlay-dark-backdrop {\\n background: rgba(0, 0, 0, 0.288); }\\n.cdk-overlay-transparent-backdrop, .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 0; }\\n.cdk-global-scrollblock {\\n position: fixed;\\n width: 100%;\\n overflow-y: scroll; }\\n@-webkit-keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0); }\\n 40% {\\n -webkit-transform: scale(1); } }\\n@keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0);\\n transform: scale(0); }\\n 40% {\\n -webkit-transform: scale(1);\\n transform: scale(1); } }\\n@-webkit-keyframes ripple {\\n 5%,\\n 100% {\\n opacity: 0; }\\n 5% {\\n opacity: 1; } }\\n@keyframes ripple {\\n 5%,\\n 100% {\\n opacity: 0; }\\n 5% {\\n opacity: 1; } }\\n.uk-form-control {\\n display: inline-table;\\n cursor: pointer;\\n position: relative;\\n box-sizing: border-box;\\n min-height: 18px; }\\n.uk-form-control__value {\\n display: table-cell;\\n max-width: 0;\\n width: 100%;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n min-height: 48px; }\\n.uk-form-control__addon {\\n padding-left: 10px;\\n display: table-cell;\\n vertical-align: middle; }\\n.alert {\\n position: relative;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n margin-bottom: 20px;\\n margin-top: 20px;\\n border-radius: 0.25em;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: nowrap;\\n flex-wrap: nowrap;\\n height: 46px;\\n color: black;\\n font-size: 16px;\\n -ms-flex-align: center;\\n align-items: center; }\\n.alert .icon {\\n height: 20px;\\n width: 20px;\\n margin-left: 15px;\\n margin-top: -2px; }\\n.alert .close-icon {\\n font-size: 6.2285px;\\n margin-right: 15px; }\\n.alert .child--featured {\\n padding-left: 13px;\\n -ms-flex-positive: 1;\\n flex-grow: 1; }\\n:host {\\n min-height: 51px;\\n background-color: #fff;\\n padding: 10px 15px;\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n z-index: 99; }\\n:host .logo-header {\\n height: 20px; }\\n@media (max-width: 992px) {\\n :host .header-mobile {\\n width: 100%; } }\\n:host .header-mobile .frow.middle {\\n -ms-flex-align: baseline;\\n align-items: baseline; }\\n@media only screen and (min-width: 992px) {\\n :host {\\n line-height: 60px;\\n min-height: 80px;\\n position: static;\\n display: block; }\\n :host .logo-header {\\n height: 40px; } }\\n:host .contact-bar {\\n display: inline-block;\\n margin-left: auto;\\n font-size: 16px;\\n font-weight: 500; }\\n@media only screen and (min-width: 992px) {\\n :host .contact-bar .show-md {\\n display: inline !important; } }\\n:host .contact-bar .contact-item {\\n color: #000;\\n border-right: 1px solid #000;\\n display: inline-block;\\n padding: 0 10px;\\n vertical-align: middle;\\n white-space: nowrap; }\\n:host .contact-bar .contact-item .uk-icon {\\n height: 40px !important;\\n fill: #000;\\n margin-top: -5px; }\\n:host .contact-bar .contact-item:last-child {\\n border-right: none;\\n padding-right: 0; }\\n:host .contact-bar .contact-item .contact-icons {\\n font-size: 16px;\\n line-height: 15px;\\n overflow: hidden; }\\n:host .contact-bar .contact-item .contact-icons img {\\n cursor: pointer; }\\n:host .contact-bar .contact-item .contact-icons a {\\n text-decoration: none; }\\n:host .contact-bar .contact-item .contact-icons.animation-show-info {\\n -moz-transform: all .2s ease-in-out;\\n -webkit-transition: all .2s ease-in-out;\\n -o-transform: all .2s ease-in-out;\\n -ms-transform: all .2s ease-in-out;\\n transition: all .2s ease-in-out;\\n width: 148px; }\\n:host .contact-bar .contact-item .contact-icons.animation-show-info.email {\\n width: 339px; }\\n:host .contact-bar .contact-item .contact-icons.animation-show-info a {\\n opacity: 1; }\\n:host .contact-bar .contact-item .contact-icons.animation-hide-info {\\n -moz-transform: all .2s ease-in-out;\\n -webkit-transition: all .2s ease-in-out;\\n -o-transform: all .2s ease-in-out;\\n -ms-transform: all .2s ease-in-out;\\n transition: all .2s ease-in-out;\\n width: 40px; }\\n:host .contact-bar .contact-item .contact-icons.animation-hide-info a {\\n opacity: 0; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2hlYWRlci1tb2JpbGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxtaXhpbnNcXGhlbHBlcnNcXF9saW5lYXItZ3JhZGllbnQuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2hlYWRlci1tb2JpbGUvaGVhZGVyLW1vYmlsZS5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2hlYWRlci1tb2JpbGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxnbG9iYWxcXF9nbG9iYWwuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2hlYWRlci1tb2JpbGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxncmlkXFxfY29udGFpbmVyLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9oZWFkZXItbW9iaWxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcZ3JpZFxcX3Jvdy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvaGVhZGVyLW1vYmlsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXHV0aWxpdGllc1xcX3Jlc2V0cy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvaGVhZGVyLW1vYmlsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXHV0aWxpdGllc1xcX3NoYWRvdy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvaGVhZGVyLW1vYmlsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXG5hdnNcXF9iYXNlLW5hdnMuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2hlYWRlci1tb2JpbGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFx0b29sdGlwXFxfdG9vbHRpcC5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvaGVhZGVyLW1vYmlsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXHN0ZXBwZXJcXF9zdGVwcGVyLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9oZWFkZXItbW9iaWxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcX3ZhcmlhYmxlcy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvaGVhZGVyLW1vYmlsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGJyYW5kc1xcX2NvbG9ycy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvaGVhZGVyLW1vYmlsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGdyaWRcXF9tZWRpYS1xdWVyaWVzLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9oZWFkZXItbW9iaWxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcaWNvbnNcXF9pY29ucy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvaGVhZGVyLW1vYmlsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXGljb25zXFxfZm9udC1pY29uLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9oZWFkZXItbW9iaWxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcb3ZlcmxheVxcX292ZXJsYXkuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2hlYWRlci1tb2JpbGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxsb2FkZXJzXFxfZG90LWxvYWRlci5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvaGVhZGVyLW1vYmlsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXG1peGluc1xcX2FuaW1hdGlvbi5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvaGVhZGVyLW1vYmlsZS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXHJhZGlvLWdyb3VwXFxlbGVtZW50LnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9oZWFkZXItbW9iaWxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcZm9ybS1maWVsZHNcXF9mb3JtX2NvbnRyb2wuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2hlYWRlci1tb2JpbGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxhbGVydFxcX2FsZXJ0LnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9oZWFkZXItbW9iaWxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvc3JjXFxhcHBcXGxheW91dHNcXGNvbXBvbmVudHNcXGhlYWRlci1tb2JpbGVcXGhlYWRlci1tb2JpbGUuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9oZWFkZXItbW9iaWxlL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvc3JjXFxzdHlsZXNcXGF4b3NcXF92YXJpYWJsZXMuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2hlYWRlci1tb2JpbGUvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9zcmNcXHN0eWxlc1xcZ2xvYmFsXFxfbWl4aW5zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztDQ0dDO0FDcUNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0RmQztBRXhCRDs7RUFFSSxjQUFjLEVBQUE7QUFHbEI7RUFDSSxlQUFlLEVBQUE7QUNQbkI7RUFDSSxvQkFBYTtFQUFiLGFBQWE7RUFDYixrQkFBYztNQUFkLGNBQWM7RUFDZCx1QkFBbUI7TUFBbkIsbUJBQW1CO0VBQ25CLG1CQUFlO01BQWYsZUFBZSxFQUFBO0FBSm5CO0lBTVEsK0JBQTJCO1FBQTNCLDJCQUEyQixFQUFBO0FBS25DO0VBQVcsMkJBQW9CO0VBQXBCLG9CQUFvQixFQUFBO0FDWC9CO0VBQ0ksVUFBUyxFQUFBO0FBRWI7RUFDSSxTQUFRLEVBQUE7QUFFWjtFQUVRLFlBQVk7RUFDWiw2QkFBNkI7RUFFN0Isb0JBQW9CO0VBQ3BCLFlBQVk7RUFDWixhQUFhO0VBQ2IsVUFBVSxFQUFBO0FBUmxCO0VBV1EsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsaUJBQWlCLEVBQUE7QUNuQnpCO0VBQ0UsMkJBQTJCLEVBQUE7QUFFN0I7RUFDRSwrR0FBK0csRUFBQTtBQUVqSDtFQUNFLCtHQUErRyxFQUFBO0FBRWpIO0VBQ0UsZ0hBQWdILEVBQUE7QUFFbEg7RUFDRSxpSEFBaUgsRUFBQTtBQUVuSDtFQUNFLHFIQUFxSCxFQUFB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QUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGdCQUFnQixFQUFBO0FBRWxCO0VBQ0UsY0FB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LEVBQUE7QUE1RGhDO1FBZ0VnQixrQkFBa0I7UUFDbEIsZ0JBQWdCLEVBQUE7QUFqRWhDO1FBcUVnQixlQ1pJO1FEYUosaUJBQWlCO1FBQ2pCLGdCQUFnQixFQUFBO0FBdkVoQztVQXlFb0IsZUFBZSxFQUFBO0FBekVuQztVQTRFb0IscUJBQXFCLEVBQUE7QUE1RXpDO1VFVkksbUNBQW1DO1VBQ25DLHVDQUF1QztVQUN2QyxpQ0FBaUM7VUFDakMsa0NBQWtDO1VBQ2xDLCtCQUErQjtVRnNGZixZQ3BCTyxFQUFBO0FENUQzQjtZQWtGd0IsWUNyQkcsRUFBQTtBRDdEM0I7WUFxRndCLFVBQVUsRUFBQTtBQXJGbEM7VUVWSSxtQ0FBbUM7VUFDbkMsdUNBQXVDO1VBQ3ZDLGlDQUFpQztVQUNqQyxrQ0FBa0M7VUFDbEMsK0JBQStCO1VGaUdmLFdBQVcsRUFBQTtBQTNGL0I7WUE2RndCLFVBQVUsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9oZWFkZXItbW9iaWxlL2hlYWRlci1tb2JpbGUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuKiAgSGVscGVyIG1peGluIHRvIGNyZWF0ZSBhIGxpbmVhci1ncmFkaWVudFxyXG4qXHJcbiovXHJcbkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9ybGlzdCkge1xyXG4gICAgQGlmIG5vdCBpcy1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xyXG4gICAgICAgICRjb2xvcmxpc3Q6ICRkaXJlY3Rpb24sICRjb2xvcmxpc3Q7XHJcbiAgICAgICAgJGRpcmVjdGlvbjogMGRlZztcclxuICAgIH1cclxuICAgIGJhY2tncm91bmQ6IG50aChudGgoJGNvbG9ybGlzdCwgMSksIDEpO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVnYWN5LWRpcmVjdGlvbigkZGlyZWN0aW9uKSwgJGNvbG9ybGlzdCk7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9ybGlzdCk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBpcy1kaXJlY3Rpb24oJHZhbHVlKSB7XHJcbiAgICAkaXMta2V5d29yZDogaW5kZXgoKHRvIHRvcCwgdG8gdG9wIHJpZ2h0LCB0byByaWdodCB0b3AsIHRvIHJpZ2h0LCB0byBib3R0b20gcmlnaHQsIHRvIHJpZ2h0IGJvdHRvbSwgdG8gYm90dG9tLCB0byBib3R0b20gbGVmdCwgdG8gbGVmdCBib3R0b20sIHRvIGxlZnQsIHRvIGxlZnQgdG9wLCB0byB0b3AgbGVmdCksICR2YWx1ZSk7XHJcbiAgICAkaXMtYW5nbGU6IHR5cGUtb2YoJHZhbHVlKT09J251bWJlcicgYW5kIGluZGV4KCdkZWcnICdncmFkJyAndHVybicgJ3JhZCcsIHVuaXQoJHZhbHVlKSk7XHJcbiAgICBAcmV0dXJuICRpcy1rZXl3b3JkIG9yICRpcy1hbmdsZTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGxlZ2FjeS1kaXJlY3Rpb24oJHZhbHVlKSB7XHJcbiAgICBAaWYgaXMtZGlyZWN0aW9uKCR2YWx1ZSk9PWZhbHNlIHtcclxuICAgICAgICBAZXJyb3IgXCJDYW5ub3QgY29udmVydCBgI3skdmFsdWV9YCB0byBsZWdhY3kgc3ludGF4IGJlY2F1c2UgaXQgZG9lc24ndCBzZWVtIHRvIGJlIGEgZGlyZWN0aW9uLlwiO1xyXG4gICAgfVxyXG4gICAgJGNvbnZlcnNpb24tbWFwOiAoIHRvIHRvcDogYm90dG9tLCB0byB0b3AgcmlnaHQ6IGJvdHRvbSBsZWZ0LCB0byByaWdodCB0b3A6IGxlZnQgYm90dG9tLCB0byByaWdodDogbGVmdCwgdG8gYm90dG9tIHJpZ2h0OiB0b3AgbGVmdCwgdG8gcmlnaHQgYm90dG9tOiBsZWZ0IHRvcCwgdG8gYm90dG9tOiB0b3AsIHRvIGJvdHRvbSBsZWZ0OiB0b3AgcmlnaHQsIHRvIGxlZnQgYm90dG9tOiByaWdodCB0b3AsIHRvIGxlZnQ6IHJpZ2h0LCB0byBsZWZ0IHRvcDogcmlnaHQgYm90dG9tLCB0byB0b3AgbGVmdDogYm90dG9tIHJpZ2h0KTtcclxuICAgIEBpZiBtYXAtaGFzLWtleSgkY29udmVyc2lvbi1tYXAsICR2YWx1ZSkge1xyXG4gICAgICAgIEByZXR1cm4gbWFwLWdldCgkY29udmVyc2lvbi1tYXAsICR2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBAcmV0dXJuIDkwZGVnIC0gJHZhbHVlO1xyXG59IiwiLyoqXHJcbiogIEhlbHBlciBtaXhpbiB0byBjcmVhdGUgYSBsaW5lYXItZ3JhZGllbnRcclxuKlxyXG4qL1xuLypcclxuaHRtbCxcclxuYm9keSB7XHJcbiAgICBmb250LWZhbWlseTogJ0xpYnJlIEZyYW5rbGluJywgJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XHJcbiAgICAvLyBjb2xvcjogdGhlbWlmeSh0ZXh0KTtcclxufVxyXG5cclxuXHJcblxyXG5hIHtcclxuICAgIGNvbG9yOiB0aGVtaWZ5KGxpbmspO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLnJvdW5kLWltYWdlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxufVxyXG5cclxuXHJcbiovXG4uZmNvbnRhaW5lci1mbHVpZCxcbi5mY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmZjb250YWluZXItZmx1aWQge1xuICBwYWRkaW5nOiAwIDJyZW07IH1cblxuLmZyb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDEgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5mcm93LnJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4uZmlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG5cbi5yZXNldC1wYWRkaW5nIHtcbiAgcGFkZGluZzogMDsgfVxuXG4ucmVzZXQtbWFyZ2luIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi51ay1idG4ubm9uZSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnVrLWJ0bi5pY29uIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnVrLXNoYWRvdy0wIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi51ay1zaGFkb3ctMSB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4udWstc2hhZG93LTEtaGFsZiB7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDdweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDFweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4udWstc2hhZG93LTIge1xuICBib3gtc2hhZG93OiAwIDRweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi51ay1zaGFkb3ctMyB7XG4gIGJveC1zaGFkb3c6IDAgNnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCAxOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi51ay1zaGFkb3ctNCB7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4udWstc2hhZG93LTUge1xuICBib3gtc2hhZG93OiAwIDE2cHggMjRweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCA2cHggMzBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCA4cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4udWstbmF2IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIC51ay1uYXYgLnVrLW5hdi1pdGVtIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwcHg7IH1cbiAgICAudWstbmF2IC51ay1uYXYtaXRlbTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyB9XG5cbi51ay10b29sdGlwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI5MzU0MTtcbiAgY29sb3I6ICNGRkY7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbWF4LXdpZHRoOiAyODBweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgei1pbmRleDogMjsgfVxuICAudWstdG9vbHRpcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBib3JkZXI6IHNvbGlkIDZweCB0cmFuc3BhcmVudDsgfVxuICAudWstdG9vbHRpcC53aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICBjb2xvcjogIzI5MzU0MTsgfVxuICAudWstdG9vbHRpcC5ib3R0b206OmJlZm9yZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzI5MzU0MTtcbiAgICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgICB0b3A6IDA7IH1cbiAgLnVrLXRvb2x0aXAuYm90dG9tLndoaXRlOjpiZWZvcmUge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNGRkYgIWltcG9ydGFudDsgfVxuICAudWstdG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzI5MzU0MTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMTJweDtcbiAgICBib3R0b206IDA7IH1cbiAgLnVrLXRvb2x0aXAudG9wLndoaXRlOjpiZWZvcmUge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNGRkYgIWltcG9ydGFudDsgfVxuICAudWstdG9vbHRpcC5sZWZ0OjpiZWZvcmUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjMjkzNTQxO1xuICAgIG1hcmdpbi1yaWdodDogLTEycHg7XG4gICAgcmlnaHQ6IDA7IH1cbiAgLnVrLXRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMjkzNTQxO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTJweDtcbiAgICBsZWZ0OiAwOyB9XG5cbi51ay1sYWJlbC51ay10b29sdGlwLWhvc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNXB4OyB9XG5cbi51ay1zdGVwcGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10aXRsZSB7XG4gICAgY29sb3I6ICMyODM1NDE7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZy10b3A6IDdweDsgfVxuICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3Mtc3RlcC1ib2R5IHtcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctdG9wOiAyN3B4OyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmJlZm9yZSwgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzlDQ0NGO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogOC41cHg7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB6LWluZGV4OiAtMTsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiAwOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0M5Q0NDRjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgcGFkZGluZzogMCA0cHg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcCAudWstaWNvbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwOjpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXByb2dyZXNzLXRleHQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGNvbG9yOiAjNUY2ODcxO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuYWN0aXZlIC51ay1zdGVwLWljb24td3JhcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmFjdGl2ZSAudWstc3RlcC1pY29uLXdyYXA6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAycHggI0ZGRjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4MjU3OyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuYWN0aXZlOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4MjU3OyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuYWN0aXZlLndpcDo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4MjU3OyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuZG9uZSAudWstc3RlcC1pY29uLXdyYXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4MjU3OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5kb25lIC51ay1zdGVwLWljb24td3JhcCAudWstaWNvbiB7XG4gICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgZGlzcGxheTogaW5pdGlhbDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmRvbmU6OmJlZm9yZSwgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmRvbmU6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlODI1NzsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMnB4OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YmVmb3JlLCAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDExcHg7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcCB7XG4gICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgNnB4OyB9XG4gICAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogMjFweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMXB4OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmUgLnVrLXN0ZXAtaWNvbi13cmFwOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci13aWR0aDogM3B4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAge1xuICAgICAgICBwYWRkaW5nLXRvcDogNDJweDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmJlZm9yZSwgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjphZnRlciB7XG4gICAgICAgICAgdG9wOiAxNnB4OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXAge1xuICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDhweDsgfVxuICAgICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXA6OmJlZm9yZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMxcHg7XG4gICAgICAgICAgICB3aWR0aDogMzFweDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuYWN0aXZlIC51ay1zdGVwLWljb24td3JhcDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDRweDsgfSB9XG5cbi51ay1idG4uaWNvbiAudWstaWNvbiB7XG4gIGhlaWdodDogMS41ZW07XG4gIHdpZHRoOiAxLjVlbTsgfVxuXG4udWstYnRuIC51ay1pY29uIHtcbiAgaGVpZ2h0OiAxZW07XG4gIHdpZHRoOiAxZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi51ay1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIHN0cm9rZTogY3VycmVudENvbG9yO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIG1heC13aWR0aDogMS41ZW07XG4gIG1heC1oZWlnaHQ6IDEuNWVtOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJib2ZpLWljb25cIjtcbiAgc3JjOiB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi5lb3RcIik7XG4gIHNyYzogdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24uZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi9hc3NldHMvYm9maS1pY29uLnN2ZyNib2ZpLWljb25cIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuW2RhdGEtaWNvbl06YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiYm9maS1pY29uXCIgIWltcG9ydGFudDtcbiAgY29udGVudDogYXR0cihkYXRhLWljb24pO1xuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbltjbGFzc149XCJib2ZpLVwiXTpiZWZvcmUsXG5bY2xhc3MqPVwiIGJvZmktXCJdOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiICFpbXBvcnRhbnQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuLmJvZmktcmVjdXJyaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2MVwiOyB9XG5cbi5ib2ZpLWViaWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2N1wiOyB9XG5cbi5ib2ZpLWFkZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmZcIjsgfVxuXG4uYm9maS1hdG06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDcxXCI7IH1cblxuLmJvZmktYXV0b21hdGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3MlwiOyB9XG5cbi5ib2ZpLWJhbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDczXCI7IH1cblxuLmJvZmktYmFua2ZlZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc0XCI7IH1cblxuLmJvZmktZGF0ZXBpY2tlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmFcIjsgfVxuXG4uYm9maS1kZXBvc2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3N1wiOyB9XG5cbi5ib2ZpLWVkaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc4XCI7IH1cblxuLmJvZmktZmFxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3YVwiOyB9XG5cbi5ib2ZpLW1lc3NhZ2VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0MVwiOyB9XG5cbi5ib2ZpLW1lbnU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQzXCI7IH1cblxuLmJvZmktaW50ZXJlc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY1XCI7IH1cblxuLmJvZmktcGVuZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGNcIjsgfVxuXG4uYm9maS1waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGRcIjsgfVxuXG4uYm9maS1wcmludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGZcIjsgfVxuXG4uYm9maS1yZWZ1bmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDUyXCI7IH1cblxuLmJvZmktcmVtb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1M1wiOyB9XG5cbi5ib2ZpLXN1Y2Nlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU0XCI7IH1cblxuLmJvZmktc2VhcmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1NlwiOyB9XG5cbi5ib2ZpLXBhc3N3b3JkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2ZFwiOyB9XG5cbi5ib2ZpLXVzZXJuYW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3NVwiOyB9XG5cbi5ib2ZpLWdlYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY4XCI7IH1cblxuLmJvZmktY29udGFjdC1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0MlwiOyB9XG5cbi5ib2ZpLWZpbHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzZcIjsgfVxuXG4uYm9maS1kZWJpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjJcIjsgfVxuXG4uYm9maS1zdXBwb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2OVwiOyB9XG5cbi5ib2ZpLXVzZXItc2V0dGluZ3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDcwXCI7IH1cblxuLmJvZmktYWNjb3VudHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY0XCI7IH1cblxuLmJvZmktdHJhbnNmZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY2XCI7IH1cblxuLmJvZmktcGhvdG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc5XCI7IH1cblxuLmJvZmktY2hlY2stbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDZcIjsgfVxuXG4uYm9maS1pbmZvcm1hdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDlcIjsgfVxuXG4uYm9maS1jaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0YlwiOyB9XG5cbi5ib2ZpLWNhbmNlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGVcIjsgfVxuXG4uYm9maS1zZW5kLWljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU1XCI7IH1cblxuLmJvZmktd2FybmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNThcIjsgfVxuXG4uYm9maS11cGxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDVhXCI7IH1cblxuLmJvZmktdGh1bWJzdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDMwXCI7IH1cblxuLmJvZmktcGRmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0N1wiOyB9XG5cbi5ib2ZpLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0OFwiOyB9XG5cbi5ib2ZpLXN0YXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDM2XCI7IH1cblxuLmJvZmktY2FtZXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzMlwiOyB9XG5cbi5ib2ZpLWRlbGl2ZXJ5LW1ldGhvZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzRcIjsgfVxuXG4uYm9maS1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzdcIjsgfVxuXG4uYm9maS1lYmlsbC1wYXliaWxsczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzhcIjsgfVxuXG4uYm9maS1mbGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMlwiOyB9XG5cbi5ib2ZpLWFsZXJ0LWhpc3Rvcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI0XCI7IH1cblxuLmJvZmktbW9iaWxlZGVwb3NpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjhcIjsgfVxuXG4uYm9maS1vbmV0aW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyOVwiOyB9XG5cbi5ib2ZpLXBlcnNvbmFsLW1lc3NhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDJjXCI7IH1cblxuLmJvZmktdGV4dC1tZXNzYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0YVwiOyB9XG5cbi5ib2ZpLWV5ZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1MFwiOyB9XG5cbi5ib2ZpLWF0dGFjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTFcIjsgfVxuXG4uYm9maS1sb2dvdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZiXCI7IH1cblxuLmJvZmktY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ1XCI7IH1cblxuLmJvZmktZ2Vhci1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU3XCI7IH1cblxuLmJvZmktdGh1bWJzdXAtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1OVwiOyB9XG5cbi5ib2ZpLW1vZGFsLXNlbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZjXCI7IH1cblxuLmJvZmktYWRkLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ0XCI7IH1cblxuLmJvZmktZ3JvdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDMzXCI7IH1cblxuLmJvZmktaG9tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzVcIjsgfVxuXG4uYm9maS1wZXJzb25hbC1pbmZvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzOVwiOyB9XG5cbi5ib2ZpLXBlcnNvbi1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjFcIjsgfVxuXG4uYm9maS1wZXJzb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIzXCI7IH1cblxuLmJvZmktc2lnbmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyNVwiOyB9XG5cbi5ib2ZpLWRhdGVwaWNrZXItMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjZcIjsgfVxuXG4uYm9maS1yZWZ1bmQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjNcIjsgfVxuXG4uYm9maS1yZWN1cnJpbmctMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjdcIjsgfVxuXG4uYm9maS1tZXNzYWdlcy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyYVwiOyB9XG5cbi5ib2ZpLWZhcS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyYlwiOyB9XG5cbi5ib2ZpLWdlYXItMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMmRcIjsgfVxuXG4uYm9maS1yZW1vdmUtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMmVcIjsgfVxuXG4uYm9maS1yZWZ1bmQtMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMmZcIjsgfVxuXG4uYm9maS11c2VybmFtZS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzYVwiOyB9XG5cbi5ib2ZpLXNlYXJjaC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzYlwiOyB9XG5cbi5ib2ZpLXBhc3N3b3JkLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNjXCI7IH1cblxuLmJvZmktZGFzaGJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzZFwiOyB9XG5cbi5ib2ZpLWF0bS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzZVwiOyB9XG5cbi5ib2ZpLXBlbmRpbmctMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcM2ZcIjsgfVxuXG4uYm9maS1zdWNjZXNzLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQwXCI7IH1cblxuLmJvZmktcGhvbmUtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNWJcIjsgfVxuXG4uYm9maS1wcmludC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1ZFwiOyB9XG5cbi5ib2ZpLW1lbnUtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNWVcIjsgfVxuXG4uYm9maS1pbnRlcmVzdC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1ZlwiOyB9XG5cbi5ib2ZpLWljLWNvbnRhY3QtbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjBcIjsgfVxuXG4uYm9maS1kZXBvc2l0LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDdiXCI7IH1cblxuLmJvZmktYXV0b21hdGljLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDdjXCI7IH1cblxuLmJvZmktYXV0b21hdGljcGF5bWVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2RcIjsgfVxuXG4uYm9maS1iYW5rLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDdlXCI7IH1cblxuLmJvZmktYmFua2ZlZXMtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNWNcIjsgfVxuXG4uYm9maS1lZGl0LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDBcIjsgfVxuXG4uYm9maS0xNDk4MTk1NTkyLWljb24xNS04OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2ZVwiOyB9XG5cbi5ib2ZpLWFycm93LWNoZXZyb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDMxXCI7IH1cblxuLmNkay1vdmVybGF5LWNvbnRhaW5lcixcbi5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlciB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNkay1vdmVybGF5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMDsgfVxuXG4uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMDA7IH1cblxuLmNkay1vdmVybGF5LXBhbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB6LWluZGV4OiAxMDAwOyB9XG5cbi5jZGstb3ZlcmxheS1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtcbiAgb3BhY2l0eTogMDsgfVxuICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yODgpOyB9XG5cbi5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzay1ib3VuY2VkZWxheSB7XG4gIDAlLCA4MCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2stYm91bmNlZGVsYXkge1xuICAwJSwgODAlLCAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJpcHBsZSB7XG4gIDUlLFxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIHJpcHBsZSB7XG4gIDUlLFxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQC1vLWtleWZyYW1lcyByaXBwbGUge1xuICA1JSxcbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1JSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcmlwcGxlIHtcbiAgNSUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNSUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4udWstZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWluLWhlaWdodDogMThweDsgfVxuICAudWstZm9ybS1jb250cm9sX192YWx1ZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICBtYXgtd2lkdGg6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG1pbi1oZWlnaHQ6IDQ4cHg7IH1cbiAgLnVrLWZvcm0tY29udHJvbF9fYWRkb24ge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmFsZXJ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGhlaWdodDogNDZweDtcbiAgY29sb3I6IGJsYWNrO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmFsZXJ0IC5pY29uIHtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDsgfVxuICAuYWxlcnQgLmNsb3NlLWljb24ge1xuICAgIGZvbnQtc2l6ZTogNi4yMjg1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG4gIC5hbGVydCAuY2hpbGQtLWZlYXR1cmVkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEzcHg7XG4gICAgZmxleC1ncm93OiAxOyB9XG5cbjpob3N0IHtcbiAgbWluLWhlaWdodDogNTFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDk5OyB9XG4gIDpob3N0IC5sb2dvLWhlYWRlciB7XG4gICAgaGVpZ2h0OiAyMHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgIDpob3N0IC5oZWFkZXItbW9iaWxlIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgOmhvc3QgLmhlYWRlci1tb2JpbGUgLmZyb3cubWlkZGxlIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIDpob3N0IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICAgbWluLWhlaWdodDogODBweDtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgOmhvc3QgLmxvZ28taGVhZGVyIHtcbiAgICAgICAgaGVpZ2h0OiA0MHB4OyB9IH1cbiAgOmhvc3QgLmNvbnRhY3QtYmFyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICA6aG9zdCAuY29udGFjdC1iYXIgLnNob3ctbWQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfSB9XG4gICAgOmhvc3QgLmNvbnRhY3QtYmFyIC5jb250YWN0LWl0ZW0ge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMDAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgIDpob3N0IC5jb250YWN0LWJhciAuY29udGFjdC1pdGVtIC51ay1pY29uIHtcbiAgICAgICAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZpbGw6ICMwMDA7XG4gICAgICAgIG1hcmdpbi10b3A6IC01cHg7IH1cbiAgICAgIDpob3N0IC5jb250YWN0LWJhciAuY29udGFjdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAgIDpob3N0IC5jb250YWN0LWJhciAuY29udGFjdC1pdGVtIC5jb250YWN0LWljb25zIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgICA6aG9zdCAuY29udGFjdC1iYXIgLmNvbnRhY3QtaXRlbSAuY29udGFjdC1pY29ucyBpbWcge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgICA6aG9zdCAuY29udGFjdC1iYXIgLmNvbnRhY3QtaXRlbSAuY29udGFjdC1pY29ucyBhIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICAgOmhvc3QgLmNvbnRhY3QtYmFyIC5jb250YWN0LWl0ZW0gLmNvbnRhY3QtaWNvbnMuYW5pbWF0aW9uLXNob3ctaW5mbyB7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIC1vLXRyYW5zZm9ybTogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgd2lkdGg6IDE0OHB4OyB9XG4gICAgICAgICAgOmhvc3QgLmNvbnRhY3QtYmFyIC5jb250YWN0LWl0ZW0gLmNvbnRhY3QtaWNvbnMuYW5pbWF0aW9uLXNob3ctaW5mby5lbWFpbCB7XG4gICAgICAgICAgICB3aWR0aDogMzM5cHg7IH1cbiAgICAgICAgICA6aG9zdCAuY29udGFjdC1iYXIgLmNvbnRhY3QtaXRlbSAuY29udGFjdC1pY29ucy5hbmltYXRpb24tc2hvdy1pbmZvIGEge1xuICAgICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgICA6aG9zdCAuY29udGFjdC1iYXIgLmNvbnRhY3QtaXRlbSAuY29udGFjdC1pY29ucy5hbmltYXRpb24taGlkZS1pbmZvIHtcbiAgICAgICAgICAtbW96LXRyYW5zZm9ybTogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgLW8tdHJhbnNmb3JtOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICB3aWR0aDogNDBweDsgfVxuICAgICAgICAgIDpob3N0IC5jb250YWN0LWJhciAuY29udGFjdC1pdGVtIC5jb250YWN0LWljb25zLmFuaW1hdGlvbi1oaWRlLWluZm8gYSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwOyB9XG4iLCIvLyBAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUxpYnJlK0ZyYW5rbGluOjMwMCw0MDAsNTAwLDYwMCw3MDAnKTtcclxuQGltcG9ydCAnLi9fZm9udC5zY3NzJztcclxuQGltcG9ydCAnLi9fc3Itb25seS5zY3NzJztcclxuXHJcbkBtaXhpbiB1ay1nbG9iYWwoJHVrLXRoZW1lKSB7XHJcbiAgICAkZm9udC1jb25maWc6IG1hcC1nZXQoJHVrLXRoZW1lLCBmb250cyk7XHJcbiAgICAkZm9udC1mYW1pbGllczogbWFwLWdldCgkZm9udC1jb25maWcsIGZhbWlsaWVzKTtcclxuICAgICRmb250LXNpemVzOiBtYXAtZ2V0KCRmb250LWNvbmZpZywgc2l6ZXMpO1xyXG5cclxuICAgIEBlYWNoICRmb250LWZhbWlseSwgJHZhbHVlIGluICRmb250LWZhbWlsaWVzIHtcclxuICAgICAgICAkZm9udC11cmw6IG1hcC1nZXQoJHZhbHVlLCB1cmwpO1xyXG4gICAgICAgIEBpZiAkZm9udC11cmwge1xyXG4gICAgICAgICAgICBAaW1wb3J0IHVybCgkZm9udC11cmwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAkcHJpbWFyeS1mb250LWZhbWlsaXk6IG1hcC1nZXQoJGZvbnQtZmFtaWxpZXMsIHByaW1hcnkpO1xyXG5cclxuICAgIGh0bWwgeyBcclxuICAgICAgICBib2R5IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogbWFwLWdldCgkcHJpbWFyeS1mb250LWZhbWlsaXksIG5hbWUpLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcHJpbWFyeS1mb250LWZhbWlsaXksIGNvbG9yKTtcclxuICAgICAgICAgICAgQGNvbnRlbnRcclxuICAgICAgICB9XHJcbiAgICAgICAgaDEsXHJcbiAgICAgICAgaDIsXHJcbiAgICAgICAgaDMsXHJcbiAgICAgICAgaDQsXHJcbiAgICAgICAgaDUsXHJcbiAgICAgICAgaDYge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB1ay1mb250cygkZm9udC1zaXplcyk7XHJcbiAgICAgICAgLnNyLW9ubHl7IEBpbmNsdWRlIHNyLW9ubHkoKTsgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKlxyXG5odG1sLFxyXG5ib2R5IHtcclxuICAgIGZvbnQtZmFtaWx5OiAnTGlicmUgRnJhbmtsaW4nLCAnSGVsdmV0aWNhJywgc2Fucy1zZXJpZjtcclxuICAgIC8vIGNvbG9yOiB0aGVtaWZ5KHRleHQpO1xyXG59XHJcblxyXG5cclxuXHJcbmEge1xyXG4gICAgY29sb3I6IHRoZW1pZnkobGluayk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4ucm91bmQtaW1hZ2Uge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG59XHJcblxyXG5cclxuKi8iLCIkY29udGFpbmVyLXdpZHRoOihzbTo0OXJlbSwgbWQ6NjVyZW0sIGxnOjc2cmVtKTtcclxuLmZjb250YWluZXItZmx1aWQsXHJcbi5mY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4uZmNvbnRhaW5lci1mbHVpZCB7XHJcbiAgICBwYWRkaW5nOiAwIDJyZW07XHJcbn1cclxuXHJcbkBtaXhpbiBjb250YWluZXIoJGtleSkge1xyXG4gICAgQGlmKCRrZXk9PSdsZycpIHtcclxuICAgICAgICAuY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGNvbnRhaW5lci13aWR0aCwgJGtleSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYoJGtleT09J21kJykge1xyXG4gICAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkY29udGFpbmVyLXdpZHRoLCAka2V5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZigka2V5PT0nc20nKSB7XHJcbiAgICAgICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRjb250YWluZXItd2lkdGgsICRrZXkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5mcm93IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4OiAwIDEgYXV0bztcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAmLnJldmVyc2Uge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5maW5saW5lIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IH0iLCIucmVzZXQtcGFkZGluZ3tcclxuICAgIHBhZGRpbmc6MDtcclxufVxyXG4ucmVzZXQtbWFyZ2lue1xyXG4gICAgbWFyZ2luOjA7XHJcbn1cclxuLnVrLWJ0biB7XHJcbiAgICAmLm5vbmUge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAvL291dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgbWluLXdpZHRoOiAwO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgICYuaWNvbiB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gICIsIi8vIFotbGV2ZWxzXHJcbi4jeyRwcmVmaXh9LXNoYWRvdy0wIHtcclxuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTEge1xyXG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxufVxyXG4uI3skcHJlZml4fS1zaGFkb3ctMS1oYWxmIHtcclxuICBib3gtc2hhZG93OiAwIDNweCAzcHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA3cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDNweCAxcHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTIge1xyXG4gIGJveC1zaGFkb3c6IDAgNHB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTMge1xyXG4gIGJveC1zaGFkb3c6IDAgNnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCAxOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG59XHJcbi4jeyRwcmVmaXh9LXNoYWRvdy00IHtcclxuICBib3gtc2hhZG93OiAwIDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTUge1xyXG4gIGJveC1zaGFkb3c6IDAgMTZweCAyNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDZweCAzMHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDhweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG59IiwiLnVrLW5hdntcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHJcbiAgICAudWstbmF2LWl0ZW17XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMHB4O1xyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiJHRvb2x0aXAtaGVpZ2h0OiAyOHB4O1xyXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAjMjkzNTQxO1xyXG4kdG9vbHRpcC1wYWRkaW5nOiA1cHggMTBweDtcclxuJHRvb2x0aXAtYXJyb3c6IDZweDtcclxuXHJcbi51ay10b29sdGlwIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICBjb2xvcjogI0ZGRjtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIG1heC13aWR0aDogMjgwcHg7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xyXG4gICAgei1pbmRleDogMjtcclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGJvcmRlcjogc29saWQgJHRvb2x0aXAtYXJyb3cgdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi53aGl0ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcclxuICAgICAgICBjb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAmLmJvdHRvbSB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogKC0yICogJHRvb2x0aXAtYXJyb3cpO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYud2hpdGU6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6I0ZGRiAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnRvcCB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogKC0yICogJHRvb2x0aXAtYXJyb3cpO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYud2hpdGU6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICNGRkYgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5sZWZ0IHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAoLTIgKiAkdG9vbHRpcC1hcnJvdyk7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnJpZ2h0IHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAoLTIgKiAkdG9vbHRpcC1hcnJvdyk7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udWstbGFiZWwge1xyXG4gICAgJi51ay10b29sdGlwLWhvc3Qge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IDVweDtcclxuICAgIH1cclxufVxyXG4iLCIkdWstcHJvZ3Jlc3MtYmFyLWxhYmxlLXNwYWNlOiA3cHg7XHJcbiR1ay1wcm9ncmVzcy1iYXItbGluZS1oZWlnaHQ6IDNweDtcclxuJHJpcHBsZS1zaXplOiAoeHM6IDIwcHgsIHNtOiAyNXB4LCBtZDogMzVweCk7XHJcbiRyaXBwbGUtYm9yZGVyLXdpZHRoOiAycHg7XHJcblxyXG4udWstc3RlcHBlcntcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIC51ay1wcm9ncmVzcy10aXRsZSB7XHJcbiAgICAgICAgY29sb3I6IHRoZW1pZnkodGV4dCwgJHRoZW1lKTtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogN3B4O1xyXG4gICAgfVxyXG4gICAgLnVrLXByb2dyZXNzLXN0ZXAtYm9keXtcclxuICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC51ay1wcm9ncmVzcy10cmFjayB7XHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAgIC51ay1wcm9ncmVzcy1zdGVwIHtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3hzJykgKyAkdWstcHJvZ3Jlc3MtYmFyLWxhYmxlLXNwYWNlO1xyXG5cclxuICAgICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkoZ3JheSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogKG1hcC1nZXQoJHJpcHBsZS1zaXplLCAneHMnKSAtICR1ay1wcm9ncmVzcy1iYXItbGluZS1oZWlnaHQpIC8yO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkdWstcHJvZ3Jlc3MtYmFyLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7IGxlZnQ6IDA7IH1cclxuICAgICAgICAgICAgJjo6YWZ0ZXIgeyByaWdodDogMDsgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7ICY6OmJlZm9yZSB7IHdpZHRoOiAwOyB9fVxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQgeyAmOjphZnRlciB7IHdpZHRoOiAwOyB9fVxyXG5cclxuICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkoZ3JheSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAneHMnKTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3hzJyk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDRweDtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAudWstaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJHJpcHBsZS1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3hzJykgLSAoMiAqICRyaXBwbGUtYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLXNpemUsICd4cycpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnVrLXByb2dyZXNzLXRleHQge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHRoZW1pZnkoaW5hY3RpdmUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcdFxyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IHNvbGlkIDJweCAjRkZGO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLndpcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmRvbmV7XHJcbiAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgICAgICAudWstaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB0aGVtaWZ5KHdoaXRlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbml0aWFsO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgc20ge1xyXG4gICAgICAgICAgICAudWstcHJvZ3Jlc3Mtc3RlcCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdzbScpICsgJHVrLXByb2dyZXNzLWJhci1sYWJsZS1zcGFjZTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogKG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnc20nKSAtICR1ay1wcm9ncmVzcy1iYXItbGluZS1oZWlnaHQpIC8yO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3NtJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnc20nKTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDZweDtcclxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnc20nKSAtICgyICogJHJpcHBsZS1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdzbScpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZCB7XHJcbiAgICAgICAgICAgIC51ay1wcm9ncmVzcy1zdGVwIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJykgKyAkdWstcHJvZ3Jlc3MtYmFyLWxhYmxlLXNwYWNlO1xyXG5cclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IChtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJykgLSAkdWstcHJvZ3Jlc3MtYmFyLWxpbmUtaGVpZ2h0KSAvMjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdtZCcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3Jle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnbWQnKSAtICgyICogJHJpcHBsZS1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdtZCcpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiJHByaW1hcnk6ICMxZTgyNTcgIWRlZmF1bHQ7XHJcbiRzZWNvbmRhcnk6ICNGQUE3NEEgIWRlZmF1bHQ7XHJcbiRsaW5rOiAjMTE1M2I1ICFkZWZhdWx0O1xyXG4kdGV4dDogIzI4MzU0MSAhZGVmYXVsdDtcclxuJGdyYXk6ICNiZWMxYzUgIWRlZmF1bHQ7XHJcbiRpbmFjdGl2ZTogIzZjNzc4MSAhZGVmYXVsdDtcclxuJG11dGVkOiAjZWVlZmYyICFkZWZhdWx0O1xyXG4kbGlnaHQ6ICNmNGY1ZjcgIWRlZmF1bHQ7XHJcbiRlcnJvcjogI2NiMmQwZSAhZGVmYXVsdDtcclxuJHdhcm5pbmc6ICNlMzc5MzYgIWRlZmF1bHQ7XHJcbiRzdWNjZXNzOiAjMjI5ODZjICFkZWZhdWx0O1xyXG4kaW5mbzogIzZhYTVmMiAhZGVmYXVsdDtcclxuJGFjY2VudC0xOiAjNjhjYzlhICFkZWZhdWx0O1xyXG4kYWNjZW50LTI6ICRpbmZvICFkZWZhdWx0O1xyXG4kd2hpdGU6ICNmZmYgIWRlZmF1bHQ7XHJcblxyXG4kYnRuLWJhc2U6IChcclxuICBoZWlnaHQ6IDUycHgsXHJcbiAgd2lkdGg6IDE3NXB4LFxyXG4gIHBhZGRpbmc6IDE2cHggNDBweFxyXG4pO1xyXG5cclxuJGJ0bi1zaXplczogKGxnOihoZWlnaHQ6IDUycHgsIHBhZGRpbmc6IDE2cHggNjBweCkpICFkZWZhdWx0O1xyXG4gIFxyXG4kdGhlbWU6IChcclxuICAgIHByaW1hcnk6ICRwcmltYXJ5LFxyXG4gICAgc2Vjb25kYXJ5OiAkc2Vjb25kYXJ5LFxyXG4gICAgbGluazogJGxpbmssXHJcbiAgICB0ZXh0OiAkdGV4dCxcclxuICAgIGdyYXk6ICRncmF5LFxyXG4gICAgaW5hY3RpdmU6ICRpbmFjdGl2ZSxcclxuICAgIGxpZ2h0OiAkbGlnaHQsXHJcbiAgICBtdXRlZDogJG11dGVkLFxyXG4gICAgZXJyb3I6ICRlcnJvcixcclxuICAgIHdhcm5pbmc6ICR3YXJuaW5nLFxyXG4gICAgc3VjY2VzczogJHN1Y2Nlc3MsXHJcbiAgICBpbmZvIDogJGluZm8sXHJcbiAgICBhY2NlbnQtMTogJGFjY2VudC0xLFxyXG4gICAgYWNjZW50LTI6ICRhY2NlbnQtMixcclxuICAgIHdoaXRlOiAkd2hpdGVcclxuICApXHJcbiAgIWRlZmF1bHQ7XHJcbiRzaXplczogKFxyXG4gIHBob25lOlxyXG4gICAgKFxyXG4gICAgICAvLyBBcHByb3ZlZFxyXG4gICAgICBoMTooZm9udC1zaXplOiA1MnB4LCBsaW5lLWhlaWdodDogNThweCwgZm9udC13ZWlnaHQ6IDMwMCksXHJcbiAgICAgIGgyOihmb250LXNpemU6IDQycHgsIGxpbmUtaGVpZ2h0OiA1MHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgaDQ6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgcDooZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjRweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGxhYmVsOiAoZm9udC1zaXplOiAxNHB4LCBsaW5lLWhlaWdodDogMjBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIC8vIEVuZCBBcHByb3ZlZFxyXG4gICAgICBoMzooZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjRweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGJvZHk6KGZvbnQtc2l6ZTogMTVweCwgbGluZS1oZWlnaHQ6IDE4cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBzbWFsbDooZm9udC1zaXplOiAxNHB4LCBsaW5lLWhlaWdodDogMjBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICApLFxyXG4gIHRhYmxldDooXHJcbiAgICAgIC8vIEFwcHJvdmVkXHJcbiAgICAgIGgxOihmb250LXNpemU6IDYycHgsIGxpbmUtaGVpZ2h0OiA2OHB4LCBmb250LXdlaWdodDogMzAwKSxcclxuICAgICAgaDI6KGZvbnQtc2l6ZTogNTJweCwgbGluZS1oZWlnaHQ6IDYwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBoNDogKGZvbnQtc2l6ZTogMjBweCwgbGluZS1oZWlnaHQ6IDMwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBwOihmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgbGFiZWw6IChmb250LXNpemU6IDE0cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgLy8gRW5kIEFwcHJvdmVkXHJcbiAgICAgIGgzOihmb250LXNpemU6IDI2cHgsIGxpbmUtaGVpZ2h0OiAzMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgYm9keTooZm9udC1zaXplOiAxNXB4LCBsaW5lLWhlaWdodDogMjBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIHNtYWxsOihmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICksXHJcbiAgZGVza3RvcDooXHJcbiAgICAgIC8vIEFwcHJvdmVkXHJcbiAgICAgIGgxOiAoZm9udC1zaXplOiA3MnB4LCBsaW5lLWhlaWdodDogNzhweCwgZm9udC13ZWlnaHQ6IDMwMCksXHJcbiAgICAgIGgyOiAoZm9udC1zaXplOiA2MnB4LCBsaW5lLWhlaWdodDogNzBweCwgZm9udC13ZWlnaHQ6IDMwMCksXHJcbiAgICAgIGg0OiAoZm9udC1zaXplOiAyMHB4LCBsaW5lLWhlaWdodDogMzBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIHA6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyMnB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgbGFiZWw6IChmb250LXNpemU6IDE0cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNDAwKSxcclxuICAgICAgLy8gRW5kIEFwcHJvdmVkXHJcbiAgICAgIGgzOiAoZm9udC1zaXplOiAyNHB4LCBsaW5lLWhlaWdodDogMjhweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGJvZHk6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAxOHB4LCBmb250LXdlaWdodDogNDAwKSxcclxuICAgICAgc21hbGw6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNDAwKSxcclxuICAgIClcclxuKTtcclxuJGd1dHRlcjogMzBweDtcclxuXHJcblxyXG4vL0FOR1VMQVIgQ0RLIE9WRVJMQVkgVkFSSUFCTEVTXHJcbiRjZGstei1pbmRleC1vdmVybGF5LWNvbnRhaW5lcjogMTAwMDtcclxuJGNkay16LWluZGV4LW92ZXJsYXk6IDEwMDA7XHJcbiRjZGstei1pbmRleC1vdmVybGF5LWJhY2tkcm9wOiAxMDAwO1xyXG5cclxuLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYWxsIG9mIHRoZSBiYWNrZHJvcHNcclxuJGNkay1vdmVybGF5LWRhcmstYmFja2Ryb3AtYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI4OCk7XHJcblxyXG4vLyBEZWZhdWx0IGJhY2tkcm9wIGFuaW1hdGlvbiBpcyBiYXNlZCBvbiB0aGUgTWF0ZXJpYWwgRGVzaWduIHN3aWZ0LWVhc2Utb3V0LlxyXG4kYmFja2Ryb3AtYW5pbWF0aW9uLWR1cmF0aW9uOiA0MDBtcyAhZGVmYXVsdDtcclxuJGJhY2tkcm9wLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpICFkZWZhdWx0OyIsIi8vIEdyYXlzXHJcbiRpbmFjdGl2ZTogIzVGNjg3MTtcclxuJG1pZC1ncmF5OiAjOTQ5QUEwO1xyXG4kZ3JheTogI0M5Q0NDRjtcclxuJG11dGVkOiAjRTlFQUVDO1xyXG4kbGlnaHQ6ICNGNEY1RjU7XHJcbiR3aGl0ZTogI0ZGRjtcclxuLy8gSWxsdXN0cmF0aXZlIEljb25zXHJcbiRpbmZvOiAjNjQ5NUY2O1xyXG4kYWNjZW50LTE6ICNGRkY7XHJcbiRhY2NlbnQtMjogIzAwMDtcclxuLy8gQWxlcnRzXHJcbiRlcnJvcjogI2NiMmQwZTtcclxuJHdhcm5pbmc6ICNlMzc5MzY7XHJcbiRzdWNjZXNzOiAjMjI5ODZjO1xyXG4vLyBMaW5rc1xyXG4kbGluazogIzE3NkFDRjtcclxuJGxpbmstdmlzaXRlZDogIzU1MUE4QjsiLCIkYnJlYWtwb2ludHMgOiggeHM6NDgwcHgsIHNtOiA3NjhweCwgbWQ6OTkycHgsIGxnOiAxMjAwcHgpO1xyXG5cclxuQG1peGluIHhzIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBzbSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAnc20nKSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWQge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJ21kJykpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGxnIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICdsZycpKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuIiwiQGltcG9ydCAnLi9fZm9udC1pY29uLnNjc3MnO1xyXG5cclxuJGJ0bi1pY29uLXNpemU6IDFlbTtcclxuJGljb24tc2l6ZTogMS41ZW07XHJcblxyXG5AbWl4aW4gaWNvbnMge1xyXG4gICAgLnVrLWJ0bi5pY29ue1xyXG4gICAgICAgIC51ay1pY29ue1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRpY29uLXNpemU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkaWNvbi1zaXplO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC51ay1idG57XHJcbiAgICAgICAgLnVrLWljb257XHJcbiAgICAgICAgICAgIGhlaWdodDogJGJ0bi1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkYnRuLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkYnRuLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgLy9HZW5lcmFsXHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnVrLWljb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBzdHJva2Utd2lkdGg6IDA7XHJcbiAgICAgICAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XHJcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGljb24tc2l6ZTtcclxuICAgICAgICBtYXgtd2lkdGg6ICRpY29uLXNpemU7XHJcbiAgICAgICAgbWF4LWhlaWdodDogJGljb24tc2l6ZTtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgaWNvbnMoKTtcclxuQGluY2x1ZGUgZm9udEljb25zKCk7IiwiQG1peGluIGZvbnRJY29ucyB7XHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogXCJib2ZpLWljb25cIjtcclxuICAgICAgICBzcmM6dXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24uZW90XCIpO1xyXG4gICAgICAgIHNyYzp1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxyXG4gICAgICAgICAgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgICAgICAgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24uc3ZnI2JvZmktaWNvblwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7ICBcclxuICAgIH1cclxuXHJcbiAgICBbZGF0YS1pY29uXTpiZWZvcmUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLWljb24pO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgc3BlYWs6IG5vbmU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgW2NsYXNzXj1cImJvZmktXCJdOmJlZm9yZSxcclxuICAgICAgW2NsYXNzKj1cIiBib2ZpLVwiXTpiZWZvcmUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBzcGVhazogbm9uZTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAuYm9maS1yZWN1cnJpbmc6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1lYmlsbDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2N1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWFkZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2ZlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWF0bTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3MVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWF1dG9tYXRpYzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3MlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWJhbms6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1iYW5rZmVlczpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3NFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRhdGVwaWNrZXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kZXBvc2l0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDc3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZWRpdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3OFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWZhcTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3YVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW1lc3NhZ2VzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQxXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbWVudTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0M1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWludGVyZXN0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDY1XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGVuZGluZzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0Y1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBob25lOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDRkXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcHJpbnQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNGZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZWZ1bmQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZW1vdmU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zdWNjZXNzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDU0XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc2VhcmNoOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDU2XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGFzc3dvcmQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS11c2VybmFtZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3NVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWdlYXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjhcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jb250YWN0LWxpc3Q6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1maWx0ZXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kZWJpdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2MlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXN1cHBvcnQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjlcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS11c2VyLXNldHRpbmdzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDcwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYWNjb3VudHM6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS10cmFuc2ZlcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2NlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBob3RvOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDc5XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2hlY2stbWFyazpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0NlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWluZm9ybWF0aW9uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQ5XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2hhdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0YlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNhbmNlbDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0ZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXNlbmQtaWNvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1NVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXdhcm5pbmc6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNThcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS11cGxvYWQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS10aHVtYnN1cDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzMFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBkZjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0N1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNoZWNrOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQ4XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc3RhcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzNlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNhbWVyYTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzMlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRlbGl2ZXJ5LW1ldGhvZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzNFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRvd25sb2FkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDM3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZWJpbGwtcGF5YmlsbHM6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzhcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1mbGFnOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDIyXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYWxlcnQtaGlzdG9yeTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyNFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW1vYmlsZWRlcG9zaXQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjhcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1vbmV0aW1lOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDI5XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGVyc29uYWwtbWVzc2FnZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyY1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXRleHQtbWVzc2FnZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0YVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWV5ZS1vdXRsaW5lOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDUwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXR0YWNoOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDUxXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbG9nb3V0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDZiXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2xvc2U6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1nZWFyLWNpcmNsZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1N1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXRodW1ic3VwLWNpcmNsZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1OVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW1vZGFsLXNlbmQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hZGQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0NFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWdyb3VwOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDMzXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktaG9tZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzNVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBlcnNvbmFsLWluZm86YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzlcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZXJzb24tY2hlY2s6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZXJzb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zaWduZXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kYXRlcGlja2VyLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZWZ1bmQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2M1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXJlY3VycmluZy0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDI3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbWVzc2FnZXMtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyYVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWZhcS0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDJiXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZ2Vhci0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDJkXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcmVtb3ZlLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMmVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZWZ1bmQtMjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyZlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXVzZXJuYW1lLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcM2FcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zZWFyY2gtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzYlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBhc3N3b3JkLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcM2NcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kYXNoYm9hcmQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcM2RcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hdG0tMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBlbmRpbmctMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzZlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXN1Y2Nlc3MtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0MFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBob25lLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wcmludC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDVkXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbWVudS0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDVlXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktaW50ZXJlc3QtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1ZlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWljLWNvbnRhY3QtbGlzdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2MFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRlcG9zaXQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3YlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWF1dG9tYXRpYy0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDdjXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXV0b21hdGljcGF5bWVudDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3ZFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWJhbmstMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3ZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWJhbmtmZWVzLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1lZGl0LTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcZTAwMFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLTE0OTgxOTU1OTItaWNvbjE1LTg6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hcnJvdy1jaGV2cm9uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDMxXCI7XHJcbiAgICAgIH0gICAgICBcclxufSIsIi5jZGstb3ZlcmxheS1jb250YWluZXIsXHJcbi5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlciB7XHJcbiAgLy8gRGlzYWJsZSBldmVudHMgZnJvbSBiZWluZyBjYXB0dXJlZCBvbiB0aGUgb3ZlcmxheSBjb250YWluZXIuXHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gIC8vIFRoZSBjb250YWluZXIgc2hvdWxkIGJlIHRoZSBzaXplIG9mIHRoZSB2aWV3cG9ydC5cclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8vIFRoZSBvdmVybGF5LWNvbnRhaW5lciBpcyBhbiBpbnZpc2libGUgZWxlbWVudCB3aGljaCBjb250YWlucyBhbGwgaW5kaXZpZHVhbCBvdmVybGF5cy5cclxuLmNkay1vdmVybGF5LWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5LWNvbnRhaW5lcjtcclxufVxyXG5cclxuLy8gV2UgdXNlIGFuIGV4dHJhIHdyYXBwZXIgZWxlbWVudCBpbiBvcmRlciB0byB1c2UgbWFrZSB0aGUgb3ZlcmxheSBpdHNlbGYgYSBmbGV4IGl0ZW0uXHJcbi8vIFRoaXMgbWFrZXMgY2VudGVyaW5nIHRoZSBvdmVybGF5IGVhc3kgd2l0aG91dCBydW5uaW5nIGludG8gdGhlIHN1YnBpeGVsIHJlbmRlcmluZ1xyXG4vLyBwcm9ibGVtcyB0aWVkIHRvIHVzaW5nIGB0cmFuc2Zvcm1gIGFuZCB3aXRob3V0IGludGVyZmVyaW5nIHdpdGggdGhlIG90aGVyIHBvc2l0aW9uXHJcbi8vIHN0cmF0ZWdpZXMuXHJcbi5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXk7XHJcbn1cclxuXHJcbi8vIEEgc2luZ2xlIG92ZXJsYXkgcGFuZS5cclxuLmNkay1vdmVybGF5LXBhbmUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5O1xyXG59XHJcblxyXG4uY2RrLW92ZXJsYXktYmFja2Ryb3Age1xyXG4gIC8vIFRPRE8oamVsYm91cm4pOiByZXVzZSBzaWRlbmF2IGZ1bGxzY3JlZW4gbWl4aW4uXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuXHJcbiAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXktYmFja2Ryb3A7XHJcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRiYWNrZHJvcC1hbmltYXRpb24tZHVyYXRpb25cclxuICAgICRiYWNrZHJvcC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uO1xyXG4gIG9wYWNpdHk6IDA7XHJcblxyXG4gICYuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3Age1xyXG4gIGJhY2tncm91bmQ6ICRjZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wLWJhY2tncm91bmQ7XHJcbn1cclxuXHJcbi5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCB7XHJcbiAgLy8gTm90ZTogYXMgb2YgRmlyZWZveCA1NywgaGF2aW5nIHRoZSBiYWNrZHJvcCBiZSBgYmFja2dyb3VuZDogbm9uZWAgd2lsbCBwcmV2ZW50IGl0IGZyb21cclxuICAvLyBjYXB0dXJpbmcgdGhlIHVzZXIncyBtb3VzZSBzY3JvbGwgZXZlbnRzLiBTaW5jZSB3ZSBhbHNvIGNhbid0IHVzZSBzb21ldGhpbmcgbGlrZVxyXG4gIC8vIGByZ2JhKDAsIDAsIDAsIDApYCwgd2Ugd29yayBhcm91bmQgdGhlIGluY29uc2lzdGVuY3kgYnkgbm90IHNldHRpbmcgdGhlIGJhY2tncm91bmQgYXRcclxuICAvLyBhbGwgYW5kIHVzaW5nIGBvcGFjaXR5YCB0byBtYWtlIHRoZSBlbGVtZW50IHRyYW5zcGFyZW50LlxyXG4gICYsXHJcbiAgJi5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBVc2VkIHdoZW4gZGlzYWJsaW5nIGdsb2JhbCBzY3JvbGxpbmcuXHJcbi5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcblxyXG4gIC8vIE5lY2Vzc2FyeSBmb3IgdGhlIGNvbnRlbnQgbm90IHRvIGxvc2UgaXRzIHdpZHRoLiBOb3RlIHRoYXQgd2UncmUgdXNpbmcgMTAwJSwgaW5zdGVhZCBvZlxyXG4gIC8vIDEwMHZ3LCBiZWNhdXNlIDEwMHZ3IGluY2x1ZGVzIHRoZSB3aWR0aCBwbHVzIHRoZSBzY3JvbGxiYXIsIHdoZXJlYXMgMTAwJSBpcyB0aGUgd2lkdGhcclxuICAvLyB0aGF0IHRoZSBlbGVtZW50IGhhZCBiZWZvcmUgd2UgbWFkZSBpdCBgZml4ZWRgLlxyXG4gIHdpZHRoOiAxMDAlO1xyXG5cclxuICAvLyBOb3RlOiB0aGlzIHdpbGwgYWx3YXlzIGFkZCBhIHNjcm9sbGJhciB0byB3aGF0ZXZlciBlbGVtZW50IGl0IGlzIG9uLCB3aGljaCBjYW5cclxuICAvLyBwb3RlbnRpYWxseSByZXN1bHQgaW4gZG91YmxlIHNjcm9sbGJhcnMuIEl0IHNob3VsZG4ndCBiZSBhbiBpc3N1ZSwgYmVjYXVzZSB3ZSB3b24ndFxyXG4gIC8vIGJsb2NrIHNjcm9sbGluZyBvbiBhIHBhZ2UgdGhhdCBkb2Vzbid0IGhhdmUgYSBzY3JvbGxiYXIgaW4gdGhlIGZpcnN0IHBsYWNlLlxyXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcclxufVxyXG4iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMvX2FuaW1hdGlvbi5zY3NzJztcclxuQC13ZWJraXQta2V5ZnJhbWVzIHNrLWJvdW5jZWRlbGF5IHtcclxuICAgIDAlLCA4MCUsIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCkgfVxyXG4gICAgNDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMCkgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNrLWJvdW5jZWRlbGF5IHtcclxuICAgIDAlLCA4MCUsIDEwMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgfSA0MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wKTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHVrLWRvdC1sb2FkZXIoJHRoZW1lKSB7XHJcbiAgICAudWlraXQtZG90LWxvYWRlciB7XHJcbiAgICAgICAgdXNlci1zZWxlY3Q6bm9uZTsgICAgICAgICAgICBcclxuICAgICAgICAmLnVpa2l0LWlubGluZS1kb3QtbG9hZGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtYXJnaW46IDIwcHggYXV0bztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgPnNwYW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgd2lkdGg6IDE1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeSh3aGl0ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgdGhlbWlmeShwcmltYXJ5LCAkdGhlbWUpO1xyXG5cclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBhbmltYXRpb24oc2stYm91bmNlZGVsYXkgMS4ycyBpbmZpbml0ZSBlYXNlLWluLW91dCBib3RoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgPi5ib3VuY2UxIHtcclxuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4zMnM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4uYm91bmNlMiB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogLTAuMTZzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGUuLi4pIHtcclxuICAgICRtYXg6IGxlbmd0aCgkYW5pbWF0ZSk7XHJcbiAgICAkYW5pbWF0aW9uczogJyc7XHJcblxyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcclxuICAgICAgICAkYW5pbWF0aW9uczogI3skYW5pbWF0aW9ucyArIG50aCgkYW5pbWF0ZSwgJGkpfTtcclxuXHJcbiAgICAgICAgQGlmICRpIDwgJG1heCB7XHJcbiAgICAgICAgICAgICRhbmltYXRpb25zOiAjeyRhbmltYXRpb25zICsgJywgJ307XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYW5pbWF0aW9uOiAkYW5pbWF0aW9ucztcclxufVxyXG5cclxuQG1peGluIGtleWZyYW1lcygkYW5pbWF0aW9uTmFtZSkge1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxuICAgIEAtbW96LWtleWZyYW1lcyAjeyRhbmltYXRpb25OYW1lfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICBALW8ta2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxuICAgIEBrZXlmcmFtZXMgI3skYW5pbWF0aW9uTmFtZX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59IiwiQGltcG9ydCAnLi4vLi4vbWl4aW5zL2FuaW1hdGlvbi5zY3NzJztcclxuQGltcG9ydCAnLi4vLi4vZ2xvYmFsL19zci1vbmx5LnNjc3MnO1xyXG5cclxuJGlucHV0OiAoIHNpemU6IDIycHgsIG1hcmdpbi1yaWdodDogMTBweCk7XHJcbiRyaXBwbGU6ICggcG9zaXRpb246IDEwcHgsIHNpemU6IG1hcC1nZXQoJGlucHV0LCBzaXplKSAqIDMpO1xyXG5AaW5jbHVkZSBrZXlmcmFtZXMocmlwcGxlKSB7XHJcbiAgICA1JSxcclxuICAgIDEwMCUgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICA1JSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG5cclxuQG1peGluIHVrLXJhZGlvKCR0aGVtZSkge1xyXG4gICAgI3skcHJlZml4fS1yYWRpby1ncm91cCB7XHJcbiAgICAgICAgLiN7JHByZWZpeH0tcmFkaW8tZ3JvdXAge1xyXG4gICAgICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9cmFkaW9dIHtcclxuICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDEwcHg7ICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDsgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICRpbnB1dHMtY29uZmlnOiBtYXAtZ2V0KCR0aGVtZSwgaW5wdXRzKTtcclxuICAgICRjb25maWc6IG1hcC1nZXQoJGlucHV0cy1jb25maWcsIGlucHV0LWNoZWNrZWQpO1xyXG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeS1jb2xvcik7XHJcbiAgICBpbnB1dFt0eXBlPXJhZGlvXSB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3Itb25seSgpO1xyXG5cclxuICAgICAgICAmOmRpc2FibGVkK2xhYmVsOm5vdCg6Y2hlY2tlZCksICYuZGlzYWJsZWQrbGFiZWw6bm90KDpjaGVja2VkKSB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdGhlbWlmeShpbmFjdGl2ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICArbGFiZWwge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgLy8gbWFyZ2luOiAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IChtYXAtZ2V0KCRpbnB1dCwgc2l6ZSkgKyBtYXAtZ2V0KCRpbnB1dCwgbWFyZ2luLXJpZ2h0KSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogbWFwLWdldCgkaW5wdXQsIHNpemUpICsgMnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbWFwLWdldCgkaW5wdXQsIHNpemUpICsgMnB4O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGlucHV0LCBzaXplKTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkaW5wdXQsIHNpemUpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCBtYXAtZ2V0KCRpbnB1dCwgc2l6ZSkgdGhlbWlmeSh3aGl0ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRoZW1pZnkoaW5hY3RpdmUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAobWFwLWdldCgkaW5wdXQsIHNpemUpIC8gMik7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBtYXAtZ2V0KCRyaXBwbGUsIHBvc2l0aW9uKSAtIDFweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUsIHNpemUpO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUsIHNpemUpO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHByaW1hcnktY29sb3IsIDAuMSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwKTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIrbGFiZWwsICYuaG92ZXIrbGFiZWx7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Y2hlY2tlZCtsYWJlbCB7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA0cHggdGhlbWlmeSh3aGl0ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3IgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFuaW1hdGlvbihyaXBwbGUgMXMgbm9uZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIudWstZm9ybS1jb250cm9sIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS10YWJsZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBtaW4taGVpZ2h0OiAxOHB4O1xyXG5cclxuICAgICZfX3ZhbHVlIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgIG1heC13aWR0aDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgbWluLWhlaWdodDogNDhweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgJl9fYWRkb24ge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcbn0iLCIuYWxlcnQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nLXRvcDogMTVweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgaGVpZ2h0OiA0NnB4O1xyXG4gIGNvbG9yOiBibGFjaztcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBcclxuICAuaWNvbiB7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgbWFyZ2luLXRvcDogLTJweDtcclxuICB9XHJcbiAgXHJcbiAgLmNsb3NlLWljb257XHJcbiAgICBmb250LXNpemU6IDYuMjI4NXB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gIH1cclxuXHJcbiAgLmNoaWxkLS1mZWF0dXJlZCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEzcHg7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgfVxyXG59IiwiQGltcG9ydCBcIl92YXJpYWJsZXMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiX21peGlucy5zY3NzXCI7XHJcblxyXG4kcGFkZGluZy12ZXJ0aWNhbDogMTBweDtcclxuJHBhZGRpbmctaG9yaXpvbnRhbDogMTVweDtcclxuXHJcbiR0ZXh0LWNvbG9yOiAjMDAwO1xyXG4vLyB0aGVtaWZ5KHRleHQpO1xyXG4kd2hpdGUtY29sb3I6ICNmZmY7XHJcbi8vIHRoZW1pZnkod2hpdGUpO1xyXG5cclxuOmhvc3Qge1xyXG4gICAgbWluLWhlaWdodDogJGhlYWRlci1oZWlnaHQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtY29sb3I7XHJcbiAgICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xyXG4gICAgLy8gU3RpY2t5IG9uIHJlc3BvbnNpdmVcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHotaW5kZXg6IDk5O1xyXG4gICAgLy8gRW5kIFN0aWNreVxyXG4gICAgXHJcbiAgICAubG9nby1oZWFkZXIge1xyXG4gICAgICAgIGhlaWdodDogZ2V0KCRoZWFkZXIsICdsb2dvJywgJ2hlaWdodC1tb2JpbGUnKTtcclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGVyLW1vYmlsZXtcclxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA5OTJweCl7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZnJvd3tcclxuICAgICAgICAgICAgJi5taWRkbGV7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWQge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWhlaWdodC1kZXNrdG9wIC0gKDIgKiAkcGFkZGluZy12ZXJ0aWNhbCk7XHJcbiAgICAgICAgbWluLWhlaWdodDogJGhlYWRlci1oZWlnaHQtZGVza3RvcDtcclxuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgICAubG9nby1oZWFkZXIge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGdldCgkaGVhZGVyLCAnbG9nbycsICdoZWlnaHQnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRhY3QtYmFyIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBnZXQoJGhlYWRlciwgJ2ZvbnQnLCd3ZWlnaHQnKTtcclxuICAgICAgICBAaW5jbHVkZSBtZCB7XHJcbiAgICAgICAgICAgIC5zaG93LW1kIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29udGFjdC1pdGVtIHtcclxuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkdGV4dC1jb2xvcjtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblxyXG4gICAgICAgICAgICAudWstaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGZpbGw6ICR0ZXh0LWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5jb250YWN0LWljb25zIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZ2V0KCRoZWFkZXIsICdmb250JywgJ3NpemUnKTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIGltZ3tcclxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuYW5pbWF0aW9uLXNob3ctaW5mbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBnZXQoJGhlYWRlciwgJ2FuaW1hdGlvbicsICdwaG9uZS1zaXplJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgJi5lbWFpbCB7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogZ2V0KCRoZWFkZXIsICdhbmltYXRpb24nLCAnZW1haWwtc2l6ZScpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLmFuaW1hdGlvbi1oaWRlLWluZm8ge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oKTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcclxuICAgICAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCLvu79AaW1wb3J0IFwifkB1aWtpdC9jb3JlL3NyYy91aWtpdC1jb3JlXCI7XHJcblxyXG4kZGVmYXVsdC10aGVtZTogJHVrLWF4b3MtdGhlbWU7XHJcbi8vIENvbG9yc1xyXG4kcHJpbWFyeS1jb2xvcjogdWstY29sb3IoZ2V0KCRkZWZhdWx0LXRoZW1lLCBwYWxldHRlcywgcHJpbWFyeSkpO1xyXG4kc2Vjb25kYXJ5LWNvbG9yOiB1ay1jb2xvcihnZXQoJGRlZmF1bHQtdGhlbWUsIHBhbGV0dGVzLCBzZWNvbmRhcnkpKTtcclxuXHJcbi8vRm9udHNcclxuJHVrLXByaW1hcnktZm9udC1uYW1lOiBnZXQoJGRlZmF1bHQtdGhlbWUsIGZvbnRzLCBmYW1pbGllcywgcHJpbWFyeSwgbmFtZSk7XHJcbiR1ay1zZWNvbmRhcnktZm9udC1uYW1lOiBnZXQoJGRlZmF1bHQtdGhlbWUsIGZvbnRzLCBmYW1pbGllcywgc2Vjb25kYXJ5LCBuYW1lKTtcclxuXHJcbiR0aXRsZS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRub3RlLWNvbG9yOiAjZmZmO1xyXG4kbm90ZS1iYWNrZ3JvdW5kOiAjZmZmO1xyXG4kaGVhZGVyLWhlaWdodDogNTFweDtcclxuJGhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbiRtb2RhbDogKFxyXG4gICAgdGl0bGU6KFxyXG4gICAgICAgIGNvbG9yOiAjMWUzODY5XHJcbiAgICApLFxyXG4gICAgYm9keTooXHJcbiAgICAgICAgY29sb3I6ICMyMjJcclxuICAgICksXHJcbiAgICBpY29uOihcclxuICAgICAgICBjb2xvcjogI2ZmZixcclxuICAgICAgICBzaXplOiA4MHB4XHJcbiAgICApXHJcbik7XHJcblxyXG4kYmFubmVyOiAoXHJcbiAgICBhcnJvdzooXHJcbiAgICAgICAgIGltYWdlOiB1cmwoJ34vYXNzZXRzL2ljb25zL2Fycm93LXByaW1hcnkuc3ZnJyksXHJcbiAgICAgICAgIGxlZnQ6IDAsXHJcbiAgICAgICAgIGxlZnQtbW9iaWxlOiAwXHJcbiAgICApLFxyXG4gICAgYmFja2dyb3VuZDooXHJcbiAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcixcclxuICAgICAgICAgZGVza3RvcDooXHJcbiAgICAgICAgICAgICAgaW1hZ2UtdXJsOiB1cmwoJ34vYXNzZXRzL2ltYWdlcy90aXRsZS1iYW5uZXIucG5nJyksXHJcbiAgICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQsXHJcbiAgICAgICAgICAgICAgc2l6ZTogMTAwJVxyXG4gICAgICAgICApLFxyXG4gICAgICAgICBtb2JpbGU6KFxyXG4gICAgICAgICAgICAgIGltYWdlLXVybDogdXJsKCd+L2Fzc2V0cy9pbWFnZXMvbW9iaWxlLXRpdGxlLWJhbm5lci5wbmcnKSxcclxuICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdCxcclxuICAgICAgICAgICAgICBzaXplOiAxMDAlIGF1dG9cclxuICAgICAgICAgKSxcclxuICAgICksXHJcbiAgICAgdGl0bGU6KFxyXG4gICAgICAgICAgd2VpZ2h0OiA1MDAsXHJcbiAgICAgICAgICB3ZWlnaHQtbW9iaWxlOiA1MDBcclxuICAgICApLFxyXG4gICAgIGZvbnQtZmFtaWx5OiAkdWstc2Vjb25kYXJ5LWZvbnQtbmFtZSxcclxuICAgICBwcm9kdWN0LWxhYmVsOihcclxuICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLFxyXG4gICAgICAgICAgd2VpZ2h0OiA1MDBcclxuICAgICApXHJcbik7XHJcblxyXG4kaGVhZGVyOihcclxuICAgICBsb2dvOihcclxuICAgICAgICAgIGhlaWdodDogNDBweCxcclxuICAgICAgICAgIGhlaWdodC1tb2JpbGU6IDIwcHhcclxuICAgICApLFxyXG4gICAgIGZvbnQ6KFxyXG4gICAgICAgICBjb2xvcjogIzFFMzg2MCxcclxuICAgICAgICAgIHdlaWdodDogNTAwLFxyXG4gICAgICAgICAgc2l6ZTogMTZweFxyXG4gICAgICksXHJcbiAgICAgYW5pbWF0aW9uOihcclxuICAgICAgICAgIHBob25lLXNpemU6IDE0OHB4LFxyXG4gICAgICAgICAgZW1haWwtc2l6ZTogMzM5cHhcclxuICAgICApLFxyXG4gICAgIGJhY2tncm91bmQ6KFxyXG4gICAgICAgIGNvbG9yOiAjRkZGRkZGXHJcbiAgICApXHJcbik7XHJcblxyXG4kZXhpc3RpbmctcGFuZWw6KFxyXG4gICAgIHRhYjooXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLFxyXG4gICAgICAgICAgZm9udC1jb2xvci1ob3ZlcjogJHByaW1hcnktY29sb3JcclxuICAgICApXHJcbik7XHJcblxyXG4kcGFuZWwtcmV2aWV3LXN1Ym1pdDooXHJcbiAgdGl0bGU6IChcclxuICAgIGZvbnQtZmFtaWx5OiAkdWstc2Vjb25kYXJ5LWZvbnQtbmFtZVxyXG4gICksXHJcbiAgYXJyb3c6KFxyXG4gICAgICBjb2xvcjogM3B4IHNvbGlkICRzZWNvbmRhcnktY29sb3JcclxuICApLFxyXG4gIGVkaXQtYnV0dG9uOihcclxuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yXHJcbiAgKVxyXG4pO1xyXG5cclxuJHByb2dyZXNzLWJhcjooXHJcbiAgICAgYmFja2dyb3VuZC1jb2xvcjooXHJcbiAgICAgICAgIGJhc2U6IHRyYW5zcGFyZW50LFxyXG4gICAgICAgICBwcm9ncmVzczogI0ZBQTc0QVxyXG4gICAgIClcclxuKTtcclxuXHJcbiRub3RlLWJveDooXHJcbiAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjVGNSxcclxuICAgICB0aXRsZTooXHJcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3IsXHJcbiAgICAgICAgICB3ZWlnaHQ6IDYwMFxyXG4gICAgICksXHJcbiAgICAgZGVzY3JpcHRpb246KFxyXG4gICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yXHJcbiAgICAgKVxyXG4pO1xyXG5cclxuJHN0ZXBzLWNpcmNsZTooXHJcbiAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRixcclxuICAgICBjb2xvci10ZXh0OiAkcHJpbWFyeS1jb2xvcixcclxuICAgICBjb21wbGV0ZWQ6KFxyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3IsXHJcbiAgICAgICAgICBjb2xvci10ZXh0OiAjRkZGRkZGLFxyXG4gICAgIClcclxuKTtcclxuXHJcbiRsb2FkaW5nLXNjcmVlbjooXHJcbiAgICBsb2dvOiB1cmwoJ34vYXNzZXRzL2hlYWRlci9sb2dvLnN2ZycpLFxyXG4gICAgc2l6ZTogYXV0b1xyXG4pO1xyXG5cclxuLy9UT0RPIG1hdGNoIGNvbG9yc1xyXG4iLCJAbWl4aW4gdHJhbnNpdGlvbigpIHtcclxuICAgIC1tb3otdHJhbnNmb3JtOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgLW8tdHJhbnNmb3JtOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgLW1zLXRyYW5zZm9ybTogYWxsIC4ycyBlYXNlLWluLW91dDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbkBtaXhpbiByb3RhdGUoJHZhbHVlKSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKCR2YWx1ZSk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKCR2YWx1ZSk7XHJcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgkdmFsdWUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKCR2YWx1ZSk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkdmFsdWUpO1xyXG59XHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIoJGNvbG9yKSB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgLyogQ2hyb21lL09wZXJhL1NhZmFyaSAqL1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIH1cclxuXHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOSsgKi9cclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICB9XHJcblxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBJRSAxMCsgKi9cclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICB9XHJcblxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOC0gKi9cclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2xhdGUoJHhWYWx1ZSwgJHlWYWx1ZSkge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeFZhbHVlLCAkeVZhbHVlKTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHhWYWx1ZSwgJHlWYWx1ZSk7XHJcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeFZhbHVlLCAkeVZhbHVlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeFZhbHVlLCAkeVZhbHVlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR4VmFsdWUsICR5VmFsdWUpO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNsYXRlLWNlbnRlcigpIHtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgtNTAlLCAwKTtcclxufVxyXG4iXX0= */\"","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'axos-header-mobile',\r\n templateUrl: './header-mobile.component.html',\r\n styleUrls: ['./header-mobile.component.scss']\r\n})\r\nexport class HeaderMobileComponent { \r\n constructor() { }\r\n}\r\n","module.exports = \"/**\\r\\n* Helper mixin to create a linear-gradient\\r\\n*\\r\\n*/\\n/*\\r\\nhtml,\\r\\nbody {\\r\\n font-family: 'Libre Franklin', 'Helvetica', sans-serif;\\r\\n // color: themify(text);\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\na {\\r\\n color: themify(link);\\r\\n cursor: pointer;\\r\\n text-decoration: none;\\r\\n -webkit-tap-highlight-color: transparent;\\r\\n}\\r\\n\\r\\n.round-image {\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n\\r\\n*/\\n.fcontainer-fluid,\\n.fcontainer {\\n margin: 0 auto; }\\n.fcontainer-fluid {\\n padding: 0 2rem; }\\n.frow {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex: 0 1 auto;\\n flex: 0 1 auto;\\n -ms-flex-direction: row;\\n flex-direction: row;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap; }\\n.frow.reverse {\\n -ms-flex-direction: row-reverse;\\n flex-direction: row-reverse; }\\n.finline {\\n display: -ms-inline-flexbox;\\n display: inline-flex; }\\n.reset-padding {\\n padding: 0; }\\n.reset-margin {\\n margin: 0; }\\n.uk-btn.none {\\n border: none;\\n background-color: transparent;\\n text-transform: none;\\n min-width: 0;\\n min-height: 0;\\n padding: 0; }\\n.uk-btn.icon {\\n font-weight: 500;\\n font-size: 14px;\\n line-height: 16px;\\n font-weight: bold; }\\n.uk-shadow-0 {\\n box-shadow: none !important; }\\n.uk-shadow-1 {\\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); }\\n.uk-shadow-1-half {\\n box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2); }\\n.uk-shadow-2 {\\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-3 {\\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-4 {\\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-5 {\\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.3); }\\n.uk-nav {\\n padding-left: 0;\\n margin-bottom: 0;\\n list-style: none;\\n box-sizing: border-box; }\\n.uk-nav .uk-nav-item {\\n clear: both;\\n float: none;\\n display: inline-block;\\n margin: 0px; }\\n.uk-nav .uk-nav-item:hover {\\n background-color: #eee; }\\n.uk-tooltip {\\n background-color: #293541;\\n color: #FFF;\\n position: fixed;\\n max-width: 280px;\\n font-size: 14px;\\n padding: 5px 10px;\\n z-index: 2; }\\n.uk-tooltip::before {\\n content: '';\\n position: absolute;\\n display: inline-block;\\n height: 0;\\n width: 0;\\n border: solid 6px transparent; }\\n.uk-tooltip.white {\\n background-color: #FFF;\\n color: #293541; }\\n.uk-tooltip.bottom::before {\\n border-bottom-color: #293541;\\n margin-top: -12px;\\n top: 0; }\\n.uk-tooltip.bottom.white::before {\\n border-bottom-color: #FFF !important; }\\n.uk-tooltip.top::before {\\n border-top-color: #293541;\\n margin-bottom: -12px;\\n bottom: 0; }\\n.uk-tooltip.top.white::before {\\n border-top-color: #FFF !important; }\\n.uk-tooltip.left::before {\\n border-left-color: #293541;\\n margin-right: -12px;\\n right: 0; }\\n.uk-tooltip.right::before {\\n border-right-color: #293541;\\n margin-left: -12px;\\n left: 0; }\\n.uk-label.uk-tooltip-host {\\n position: relative;\\n top: 5px; }\\n.uk-stepper {\\n display: inline-block; }\\n.uk-stepper .uk-progress-title {\\n color: #283541;\\n font-size: 18px;\\n font-weight: 600;\\n padding-top: 7px; }\\n.uk-stepper .uk-progress-step-body {\\n padding-top: 8px;\\n padding-bottom: 20px;\\n display: block; }\\n.uk-stepper .uk-progress-track {\\n list-style-type: none;\\n table-layout: fixed;\\n display: table;\\n width: 100%;\\n margin: 0;\\n padding: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step {\\n display: table-cell;\\n position: relative;\\n text-align: center;\\n padding-top: 27px; }\\n.uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n content: '';\\n background-color: #C9CCCF;\\n position: absolute;\\n top: 8.5px;\\n height: 3px;\\n width: 50%;\\n z-index: -1; }\\n.uk-stepper .uk-progress-track .uk-progress-step::before {\\n left: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step::after {\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step:first-child::before {\\n width: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step:last-child::after {\\n width: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n background-color: #C9CCCF;\\n position: absolute;\\n border-radius: 50%;\\n display: block;\\n margin: 0 auto;\\n height: 20px;\\n width: 20px;\\n padding: 0 4px;\\n top: 0;\\n left: 0;\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap .uk-icon {\\n display: none; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n position: absolute;\\n border-radius: 50%;\\n margin: 0 auto;\\n margin-top: 2px;\\n height: 16px;\\n width: 16px;\\n content: '';\\n left: 0;\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-progress-text {\\n position: relative;\\n color: #5F6871;\\n text-transform: capitalize;\\n font-size: 14px;\\n font-weight: 600; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border: solid 2px #FFF;\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active::before {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active.wip::after {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done .uk-step-icon-wrap {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done .uk-step-icon-wrap .uk-icon {\\n color: #FFF;\\n display: initial; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done::before, .uk-stepper .uk-progress-track .uk-progress-step.done::after {\\n background-color: #1e8257; }\\n@media only screen and (min-width: 768px) {\\n .uk-stepper .uk-progress-track .uk-progress-step {\\n padding-top: 32px; }\\n .uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n top: 11px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n height: 25px;\\n width: 25px;\\n padding: 0 6px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n height: 21px;\\n width: 21px; }\\n .uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border-width: 3px; } }\\n@media only screen and (min-width: 992px) {\\n .uk-stepper .uk-progress-track .uk-progress-step {\\n padding-top: 42px; }\\n .uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n top: 16px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n height: 35px;\\n width: 35px;\\n padding: 0 8px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n height: 31px;\\n width: 31px; }\\n .uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border-width: 4px; } }\\n.uk-btn.icon .uk-icon {\\n height: 1.5em;\\n width: 1.5em; }\\n.uk-btn .uk-icon {\\n height: 1em;\\n width: 1em;\\n font-size: 1em;\\n vertical-align: middle; }\\n.uk-icon {\\n display: inline-block;\\n stroke-width: 0;\\n stroke: currentColor;\\n fill: currentColor;\\n font-size: 1.5em;\\n max-width: 1.5em;\\n max-height: 1.5em; }\\n@font-face {\\n font-family: \\\"bofi-icon\\\";\\n src: url(\\\"/assets/bofi-icon.eot\\\");\\n src: url(\\\"/assets/bofi-icon.eot?#iefix\\\") format(\\\"embedded-opentype\\\"), url(\\\"/assets/bofi-icon.woff\\\") format(\\\"woff\\\"), url(\\\"/assets/bofi-icon.ttf\\\") format(\\\"truetype\\\"), url(\\\"/assets/bofi-icon.svg#bofi-icon\\\") format(\\\"svg\\\");\\n font-weight: normal;\\n font-style: normal; }\\n[data-icon]:before {\\n font-family: \\\"bofi-icon\\\" !important;\\n content: attr(data-icon);\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n[class^=\\\"bofi-\\\"]:before,\\n[class*=\\\" bofi-\\\"]:before {\\n font-family: \\\"bofi-icon\\\" !important;\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n.bofi-recurring:before {\\n content: \\\"\\\\61\\\"; }\\n.bofi-ebill:before {\\n content: \\\"\\\\67\\\"; }\\n.bofi-add:before {\\n content: \\\"\\\\6f\\\"; }\\n.bofi-atm:before {\\n content: \\\"\\\\71\\\"; }\\n.bofi-automatic:before {\\n content: \\\"\\\\72\\\"; }\\n.bofi-bank:before {\\n content: \\\"\\\\73\\\"; }\\n.bofi-bankfees:before {\\n content: \\\"\\\\74\\\"; }\\n.bofi-datepicker:before {\\n content: \\\"\\\\6a\\\"; }\\n.bofi-deposit:before {\\n content: \\\"\\\\77\\\"; }\\n.bofi-edit:before {\\n content: \\\"\\\\78\\\"; }\\n.bofi-faq:before {\\n content: \\\"\\\\7a\\\"; }\\n.bofi-messages:before {\\n content: \\\"\\\\41\\\"; }\\n.bofi-menu:before {\\n content: \\\"\\\\43\\\"; }\\n.bofi-interest:before {\\n content: \\\"\\\\65\\\"; }\\n.bofi-pending:before {\\n content: \\\"\\\\4c\\\"; }\\n.bofi-phone:before {\\n content: \\\"\\\\4d\\\"; }\\n.bofi-print:before {\\n content: \\\"\\\\4f\\\"; }\\n.bofi-refund:before {\\n content: \\\"\\\\52\\\"; }\\n.bofi-remove:before {\\n content: \\\"\\\\53\\\"; }\\n.bofi-success:before {\\n content: \\\"\\\\54\\\"; }\\n.bofi-search:before {\\n content: \\\"\\\\56\\\"; }\\n.bofi-password:before {\\n content: \\\"\\\\6d\\\"; }\\n.bofi-username:before {\\n content: \\\"\\\\75\\\"; }\\n.bofi-gear:before {\\n content: \\\"\\\\68\\\"; }\\n.bofi-contact-list:before {\\n content: \\\"\\\\42\\\"; }\\n.bofi-filter:before {\\n content: \\\"\\\\76\\\"; }\\n.bofi-debit:before {\\n content: \\\"\\\\62\\\"; }\\n.bofi-support:before {\\n content: \\\"\\\\69\\\"; }\\n.bofi-user-settings:before {\\n content: \\\"\\\\70\\\"; }\\n.bofi-accounts:before {\\n content: \\\"\\\\64\\\"; }\\n.bofi-transfer:before {\\n content: \\\"\\\\66\\\"; }\\n.bofi-photo:before {\\n content: \\\"\\\\79\\\"; }\\n.bofi-check-mark:before {\\n content: \\\"\\\\46\\\"; }\\n.bofi-information:before {\\n content: \\\"\\\\49\\\"; }\\n.bofi-chat:before {\\n content: \\\"\\\\4b\\\"; }\\n.bofi-cancel:before {\\n content: \\\"\\\\4e\\\"; }\\n.bofi-send-icon:before {\\n content: \\\"\\\\55\\\"; }\\n.bofi-warning:before {\\n content: \\\"\\\\58\\\"; }\\n.bofi-upload:before {\\n content: \\\"\\\\5a\\\"; }\\n.bofi-thumbsup:before {\\n content: \\\"\\\\30\\\"; }\\n.bofi-pdf:before {\\n content: \\\"\\\\47\\\"; }\\n.bofi-check:before {\\n content: \\\"\\\\48\\\"; }\\n.bofi-star:before {\\n content: \\\"\\\\36\\\"; }\\n.bofi-camera:before {\\n content: \\\"\\\\32\\\"; }\\n.bofi-delivery-method:before {\\n content: \\\"\\\\34\\\"; }\\n.bofi-download:before {\\n content: \\\"\\\\37\\\"; }\\n.bofi-ebill-paybills:before {\\n content: \\\"\\\\38\\\"; }\\n.bofi-flag:before {\\n content: \\\"\\\\22\\\"; }\\n.bofi-alert-history:before {\\n content: \\\"\\\\24\\\"; }\\n.bofi-mobiledeposit:before {\\n content: \\\"\\\\28\\\"; }\\n.bofi-onetime:before {\\n content: \\\"\\\\29\\\"; }\\n.bofi-personal-message:before {\\n content: \\\"\\\\2c\\\"; }\\n.bofi-text-message:before {\\n content: \\\"\\\\4a\\\"; }\\n.bofi-eye-outline:before {\\n content: \\\"\\\\50\\\"; }\\n.bofi-attach:before {\\n content: \\\"\\\\51\\\"; }\\n.bofi-logout:before {\\n content: \\\"\\\\6b\\\"; }\\n.bofi-close:before {\\n content: \\\"\\\\45\\\"; }\\n.bofi-gear-circle:before {\\n content: \\\"\\\\57\\\"; }\\n.bofi-thumbsup-circle:before {\\n content: \\\"\\\\59\\\"; }\\n.bofi-modal-send:before {\\n content: \\\"\\\\6c\\\"; }\\n.bofi-add-1:before {\\n content: \\\"\\\\44\\\"; }\\n.bofi-group:before {\\n content: \\\"\\\\33\\\"; }\\n.bofi-home:before {\\n content: \\\"\\\\35\\\"; }\\n.bofi-personal-info:before {\\n content: \\\"\\\\39\\\"; }\\n.bofi-person-check:before {\\n content: \\\"\\\\21\\\"; }\\n.bofi-person:before {\\n content: \\\"\\\\23\\\"; }\\n.bofi-signer:before {\\n content: \\\"\\\\25\\\"; }\\n.bofi-datepicker-1:before {\\n content: \\\"\\\\26\\\"; }\\n.bofi-refund-1:before {\\n content: \\\"\\\\63\\\"; }\\n.bofi-recurring-1:before {\\n content: \\\"\\\\27\\\"; }\\n.bofi-messages-1:before {\\n content: \\\"\\\\2a\\\"; }\\n.bofi-faq-1:before {\\n content: \\\"\\\\2b\\\"; }\\n.bofi-gear-1:before {\\n content: \\\"\\\\2d\\\"; }\\n.bofi-remove-1:before {\\n content: \\\"\\\\2e\\\"; }\\n.bofi-refund-2:before {\\n content: \\\"\\\\2f\\\"; }\\n.bofi-username-1:before {\\n content: \\\"\\\\3a\\\"; }\\n.bofi-search-1:before {\\n content: \\\"\\\\3b\\\"; }\\n.bofi-password-1:before {\\n content: \\\"\\\\3c\\\"; }\\n.bofi-dashboard:before {\\n content: \\\"\\\\3d\\\"; }\\n.bofi-atm-1:before {\\n content: \\\"\\\\3e\\\"; }\\n.bofi-pending-1:before {\\n content: \\\"\\\\3f\\\"; }\\n.bofi-success-1:before {\\n content: \\\"\\\\40\\\"; }\\n.bofi-phone-1:before {\\n content: \\\"\\\\5b\\\"; }\\n.bofi-print-1:before {\\n content: \\\"\\\\5d\\\"; }\\n.bofi-menu-1:before {\\n content: \\\"\\\\5e\\\"; }\\n.bofi-interest-1:before {\\n content: \\\"\\\\5f\\\"; }\\n.bofi-ic-contact-list:before {\\n content: \\\"\\\\60\\\"; }\\n.bofi-deposit-1:before {\\n content: \\\"\\\\7b\\\"; }\\n.bofi-automatic-1:before {\\n content: \\\"\\\\7c\\\"; }\\n.bofi-automaticpayment:before {\\n content: \\\"\\\\7d\\\"; }\\n.bofi-bank-1:before {\\n content: \\\"\\\\7e\\\"; }\\n.bofi-bankfees-1:before {\\n content: \\\"\\\\5c\\\"; }\\n.bofi-edit-1:before {\\n content: \\\"\\\\e000\\\"; }\\n.bofi-1498195592-icon15-8:before {\\n content: \\\"\\\\6e\\\"; }\\n.bofi-arrow-chevron:before {\\n content: \\\"\\\\31\\\"; }\\n.cdk-overlay-container,\\n.cdk-global-overlay-wrapper {\\n pointer-events: none;\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: 100%; }\\n.cdk-overlay-container {\\n position: fixed;\\n z-index: 1000; }\\n.cdk-global-overlay-wrapper {\\n display: -ms-flexbox;\\n display: flex;\\n position: absolute;\\n z-index: 1000; }\\n.cdk-overlay-pane {\\n position: absolute;\\n pointer-events: auto;\\n box-sizing: border-box;\\n z-index: 1000; }\\n.cdk-overlay-backdrop {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n z-index: 1000;\\n pointer-events: auto;\\n -webkit-tap-highlight-color: transparent;\\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\\n opacity: 0; }\\n.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 1; }\\n.cdk-overlay-dark-backdrop {\\n background: rgba(0, 0, 0, 0.288); }\\n.cdk-overlay-transparent-backdrop, .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 0; }\\n.cdk-global-scrollblock {\\n position: fixed;\\n width: 100%;\\n overflow-y: scroll; }\\n@-webkit-keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0); }\\n 40% {\\n -webkit-transform: scale(1); } }\\n@keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0);\\n transform: scale(0); }\\n 40% {\\n -webkit-transform: scale(1);\\n transform: scale(1); } }\\n@-webkit-keyframes ripple {\\n 5%,\\n 100% {\\n opacity: 0; }\\n 5% {\\n opacity: 1; } }\\n@keyframes ripple {\\n 5%,\\n 100% {\\n opacity: 0; }\\n 5% {\\n opacity: 1; } }\\n.uk-form-control {\\n display: inline-table;\\n cursor: pointer;\\n position: relative;\\n box-sizing: border-box;\\n min-height: 18px; }\\n.uk-form-control__value {\\n display: table-cell;\\n max-width: 0;\\n width: 100%;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n min-height: 48px; }\\n.uk-form-control__addon {\\n padding-left: 10px;\\n display: table-cell;\\n vertical-align: middle; }\\n.alert {\\n position: relative;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n margin-bottom: 20px;\\n margin-top: 20px;\\n border-radius: 0.25em;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: nowrap;\\n flex-wrap: nowrap;\\n height: 46px;\\n color: black;\\n font-size: 16px;\\n -ms-flex-align: center;\\n align-items: center; }\\n.alert .icon {\\n height: 20px;\\n width: 20px;\\n margin-left: 15px;\\n margin-top: -2px; }\\n.alert .close-icon {\\n font-size: 6.2285px;\\n margin-right: 15px; }\\n.alert .child--featured {\\n padding-left: 13px;\\n -ms-flex-positive: 1;\\n flex-grow: 1; }\\n.wl-logo-background {\\n content: var(--brandLogo); }\\n:host {\\n min-height: 51px;\\n background-color: #FFFFFF;\\n padding: 10px 15px;\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n z-index: 99; }\\n:host .logo-header {\\n height: 20px; }\\n@media (max-width: 992px) {\\n :host .header-mobile {\\n width: 100%; } }\\n@media only screen and (min-width: 992px) {\\n :host {\\n line-height: 60px;\\n min-height: 80px;\\n position: static;\\n display: block; }\\n :host .logo-header {\\n height: 40px; } }\\n:host .contact-bar {\\n color: #1E3860;\\n display: inline-block;\\n margin-left: auto;\\n font-size: 16px;\\n font-weight: 500; }\\n@media only screen and (min-width: 992px) {\\n :host .contact-bar .show-md {\\n display: inline !important; } }\\n:host .contact-bar .contact-item {\\n color: #1E3860;\\n border-right: 1px solid #1E3860;\\n display: inline-block;\\n padding: 0 10px;\\n vertical-align: middle;\\n white-space: nowrap; }\\n:host .contact-bar .contact-item .uk-icon {\\n height: 40px !important;\\n fill: #1E3860;\\n margin-top: -5px; }\\n:host .contact-bar .contact-item:last-child {\\n border-right: none;\\n padding-right: 0; }\\n:host .contact-bar .contact-item .contact-icons {\\n font-size: 16px;\\n line-height: 15px;\\n overflow: hidden;\\n -ms-flex-align: center;\\n align-items: center;\\n display: -ms-flexbox;\\n display: flex; }\\n:host .contact-bar .contact-item .contact-icons img {\\n cursor: pointer; }\\n:host .contact-bar .contact-item .contact-icons a {\\n color: #1E3860;\\n text-decoration: none; }\\n:host .contact-bar .contact-item .contact-icons.animation-show-info {\\n -moz-transform: all .2s ease-in-out;\\n -webkit-transition: all .2s ease-in-out;\\n -o-transform: all .2s ease-in-out;\\n -ms-transform: all .2s ease-in-out;\\n transition: all .2s ease-in-out;\\n width: 148px; }\\n:host .contact-bar .contact-item .contact-icons.animation-show-info.email {\\n width: 339px; }\\n:host .contact-bar .contact-item .contact-icons.animation-show-info a {\\n opacity: 1; }\\n:host .contact-bar .contact-item .contact-icons.animation-hide-info {\\n -moz-transform: all .2s ease-in-out;\\n -webkit-transition: all .2s ease-in-out;\\n -o-transform: all .2s ease-in-out;\\n -ms-transform: all .2s ease-in-out;\\n transition: all .2s ease-in-out;\\n width: 40px; }\\n:host .contact-bar .contact-item .contact-icons.animation-hide-info a {\\n opacity: 0; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2hlYWRlci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXG1peGluc1xcaGVscGVyc1xcX2xpbmVhci1ncmFkaWVudC5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2hlYWRlci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGdsb2JhbFxcX2dsb2JhbC5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvaGVhZGVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcZ3JpZFxcX2NvbnRhaW5lci5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvaGVhZGVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcZ3JpZFxcX3Jvdy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvaGVhZGVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcdXRpbGl0aWVzXFxfcmVzZXRzLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9oZWFkZXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFx1dGlsaXRpZXNcXF9zaGFkb3cuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2hlYWRlci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXG5hdnNcXF9iYXNlLW5hdnMuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2hlYWRlci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXHRvb2x0aXBcXF90b29sdGlwLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9oZWFkZXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxzdGVwcGVyXFxfc3RlcHBlci5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvaGVhZGVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcX3ZhcmlhYmxlcy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvaGVhZGVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcYnJhbmRzXFxfY29sb3JzLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9oZWFkZXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxncmlkXFxfbWVkaWEtcXVlcmllcy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvaGVhZGVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcaWNvbnNcXF9pY29ucy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvaGVhZGVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcaWNvbnNcXF9mb250LWljb24uc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2hlYWRlci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXG92ZXJsYXlcXF9vdmVybGF5LnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9oZWFkZXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxsb2FkZXJzXFxfZG90LWxvYWRlci5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvaGVhZGVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcbWl4aW5zXFxfYW5pbWF0aW9uLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9oZWFkZXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxyYWRpby1ncm91cFxcZWxlbWVudC5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvaGVhZGVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcZm9ybS1maWVsZHNcXF9mb3JtX2NvbnRyb2wuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2hlYWRlci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXGFsZXJ0XFxfYWxlcnQuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2hlYWRlci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL3NyY1xcYXBwXFxsYXlvdXRzXFxjb21wb25lbnRzXFxoZWFkZXJcXGhlYWRlci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2hlYWRlci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL3NyY1xcc3R5bGVzXFxheG9zXFxfdmFyaWFibGVzLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9oZWFkZXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9zcmNcXHN0eWxlc1xcZ2xvYmFsXFxfbWl4aW5zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztDQ0dDO0FDcUNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0RmQztBRXhCRDs7RUFFSSxjQUFjLEVBQUE7QUFHbEI7RUFDSSxlQUFlLEVBQUE7QUNQbkI7RUFDSSxvQkFBYTtFQUFiLGFBQWE7RUFDYixrQkFBYztNQUFkLGNBQWM7RUFDZCx1QkFBbUI7TUFBbkIsbUJBQW1CO0VBQ25CLG1CQUFlO01BQWYsZUFBZSxFQUFBO0FBSm5CO0lBTVEsK0JBQTJCO1FBQTNCLDJCQUEyQixFQUFBO0FBS25DO0VBQVcsMkJBQW9CO0VBQXBCLG9CQUFvQixFQUFBO0FDWC9CO0VBQ0ksVUFBUyxFQUFBO0FBRWI7RUFDSSxTQUFRLEVBQUE7QUFFWjtFQUVRLFlBQVk7RUFDWiw2QkFBNkI7RUFFN0Isb0JBQW9CO0VBQ3BCLFlBQVk7RUFDWixhQUFhO0VBQ2IsVUFBVSxFQUFBO0FBUmxCO0VBV1EsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsaUJBQWlCLEVBQUE7QUNuQnpCO0VBQ0UsMkJBQTJCLEVBQUE7QUFFN0I7RUFDRSwrR0FBK0csRUFBQTtBQUVqSDtFQUNFLCtHQUErRyxFQUFBO0FBRWpIO0VBQ0UsZ0hBQWdILEVBQUE7QUFFbEg7RUFDRSxpSEFBaUgsRUFBQTtBQUVuSDtFQUNFLHFIQUFxSCxFQUFBO0FBRXZIO0VBQ0UsdUhBQXVILEVBQUE7QUNwQnpIO0VBQ0ksZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsc0JBQXNCLEVBQUE7QUFKMUI7SUFPUSxXQUFXO0lBQ1gsV0FBVztJQUNYLHFCQUFxQjtJQUNyQixXQUFXLEVBQUE7QUFWbkI7TUFZWSxzQkFBc0IsRUFBQTtBQ1BsQztFQUNJLHlCQUw4QjtFQU05QixXQUFX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QUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFB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QUFxQixFQUFBO0FBM0V6QztVRWRJLG1DQUFtQztVQUNuQyx1Q0FBdUM7VUFDdkMsaUNBQWlDO1VBQ2pDLGtDQUFrQztVQUNsQywrQkFBK0I7VUZ5RmYsWUN2Qk8sRUFBQTtBRHhEM0I7WUFpRndCLFlDeEJHLEVBQUE7QUR6RDNCO1lBb0Z3QixVQUFVLEVBQUE7QUFwRmxDO1VFZEksbUNBQW1DO1VBQ25DLHVDQUF1QztVQUN2QyxpQ0FBaUM7VUFDakMsa0NBQWtDO1VBQ2xDLCtCQUErQjtVRm9HZixXQUFXLEVBQUE7QUExRi9CO1lBNEZ3QixVQUFVLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4qICBIZWxwZXIgbWl4aW4gdG8gY3JlYXRlIGEgbGluZWFyLWdyYWRpZW50XHJcbipcclxuKi9cclxuQG1peGluIGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3JsaXN0KSB7XHJcbiAgICBAaWYgbm90IGlzLWRpcmVjdGlvbigkZGlyZWN0aW9uKSB7XHJcbiAgICAgICAgJGNvbG9ybGlzdDogJGRpcmVjdGlvbiwgJGNvbG9ybGlzdDtcclxuICAgICAgICAkZGlyZWN0aW9uOiAwZGVnO1xyXG4gICAgfVxyXG4gICAgYmFja2dyb3VuZDogbnRoKG50aCgkY29sb3JsaXN0LCAxKSwgMSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWdhY3ktZGlyZWN0aW9uKCRkaXJlY3Rpb24pLCAkY29sb3JsaXN0KTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3JsaXN0KTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGlzLWRpcmVjdGlvbigkdmFsdWUpIHtcclxuICAgICRpcy1rZXl3b3JkOiBpbmRleCgodG8gdG9wLCB0byB0b3AgcmlnaHQsIHRvIHJpZ2h0IHRvcCwgdG8gcmlnaHQsIHRvIGJvdHRvbSByaWdodCwgdG8gcmlnaHQgYm90dG9tLCB0byBib3R0b20sIHRvIGJvdHRvbSBsZWZ0LCB0byBsZWZ0IGJvdHRvbSwgdG8gbGVmdCwgdG8gbGVmdCB0b3AsIHRvIHRvcCBsZWZ0KSwgJHZhbHVlKTtcclxuICAgICRpcy1hbmdsZTogdHlwZS1vZigkdmFsdWUpPT0nbnVtYmVyJyBhbmQgaW5kZXgoJ2RlZycgJ2dyYWQnICd0dXJuJyAncmFkJywgdW5pdCgkdmFsdWUpKTtcclxuICAgIEByZXR1cm4gJGlzLWtleXdvcmQgb3IgJGlzLWFuZ2xlO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gbGVnYWN5LWRpcmVjdGlvbigkdmFsdWUpIHtcclxuICAgIEBpZiBpcy1kaXJlY3Rpb24oJHZhbHVlKT09ZmFsc2Uge1xyXG4gICAgICAgIEBlcnJvciBcIkNhbm5vdCBjb252ZXJ0IGAjeyR2YWx1ZX1gIHRvIGxlZ2FjeSBzeW50YXggYmVjYXVzZSBpdCBkb2Vzbid0IHNlZW0gdG8gYmUgYSBkaXJlY3Rpb24uXCI7XHJcbiAgICB9XHJcbiAgICAkY29udmVyc2lvbi1tYXA6ICggdG8gdG9wOiBib3R0b20sIHRvIHRvcCByaWdodDogYm90dG9tIGxlZnQsIHRvIHJpZ2h0IHRvcDogbGVmdCBib3R0b20sIHRvIHJpZ2h0OiBsZWZ0LCB0byBib3R0b20gcmlnaHQ6IHRvcCBsZWZ0LCB0byByaWdodCBib3R0b206IGxlZnQgdG9wLCB0byBib3R0b206IHRvcCwgdG8gYm90dG9tIGxlZnQ6IHRvcCByaWdodCwgdG8gbGVmdCBib3R0b206IHJpZ2h0IHRvcCwgdG8gbGVmdDogcmlnaHQsIHRvIGxlZnQgdG9wOiByaWdodCBib3R0b20sIHRvIHRvcCBsZWZ0OiBib3R0b20gcmlnaHQpO1xyXG4gICAgQGlmIG1hcC1oYXMta2V5KCRjb252ZXJzaW9uLW1hcCwgJHZhbHVlKSB7XHJcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRjb252ZXJzaW9uLW1hcCwgJHZhbHVlKTtcclxuICAgIH1cclxuICAgIEByZXR1cm4gOTBkZWcgLSAkdmFsdWU7XHJcbn0iLCIvKipcclxuKiAgSGVscGVyIG1peGluIHRvIGNyZWF0ZSBhIGxpbmVhci1ncmFkaWVudFxyXG4qXHJcbiovXG4vKlxyXG5odG1sLFxyXG5ib2R5IHtcclxuICAgIGZvbnQtZmFtaWx5OiAnTGlicmUgRnJhbmtsaW4nLCAnSGVsdmV0aWNhJywgc2Fucy1zZXJpZjtcclxuICAgIC8vIGNvbG9yOiB0aGVtaWZ5KHRleHQpO1xyXG59XHJcblxyXG5cclxuXHJcbmEge1xyXG4gICAgY29sb3I6IHRoZW1pZnkobGluayk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4ucm91bmQtaW1hZ2Uge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG59XHJcblxyXG5cclxuKi9cbi5mY29udGFpbmVyLWZsdWlkLFxuLmZjb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uZmNvbnRhaW5lci1mbHVpZCB7XG4gIHBhZGRpbmc6IDAgMnJlbTsgfVxuXG4uZnJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmZyb3cucmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi5maW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cblxuLnJlc2V0LXBhZGRpbmcge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5yZXNldC1tYXJnaW4ge1xuICBtYXJnaW46IDA7IH1cblxuLnVrLWJ0bi5ub25lIHtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgbWluLWhlaWdodDogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4udWstYnRuLmljb24ge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4udWstc2hhZG93LTAge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnVrLXNoYWRvdy0xIHtcbiAgYm94LXNoYWRvdzogMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi51ay1zaGFkb3ctMS1oYWxmIHtcbiAgYm94LXNoYWRvdzogMCAzcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggN3B4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggMXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi51ay1zaGFkb3ctMiB7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLnVrLXNoYWRvdy0zIHtcbiAgYm94LXNoYWRvdzogMCA2cHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDE4cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDNweCA1cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLnVrLXNoYWRvdy00IHtcbiAgYm94LXNoYWRvdzogMCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCA1cHggNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi51ay1zaGFkb3ctNSB7XG4gIGJveC1zaGFkb3c6IDAgMTZweCAyNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDZweCAzMHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDhweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi51ay1uYXYge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgLnVrLW5hdiAudWstbmF2LWl0ZW0ge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDBweDsgfVxuICAgIC51ay1uYXYgLnVrLW5hdi1pdGVtOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7IH1cblxuLnVrLXRvb2x0aXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkzNTQxO1xuICBjb2xvcjogI0ZGRjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBtYXgtd2lkdGg6IDI4MHB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICB6LWluZGV4OiAyOyB9XG4gIC51ay10b29sdGlwOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGJvcmRlcjogc29saWQgNnB4IHRyYW5zcGFyZW50OyB9XG4gIC51ay10b29sdGlwLndoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgIGNvbG9yOiAjMjkzNTQxOyB9XG4gIC51ay10b29sdGlwLmJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMjkzNTQxO1xuICAgIG1hcmdpbi10b3A6IC0xMnB4O1xuICAgIHRvcDogMDsgfVxuICAudWstdG9vbHRpcC5ib3R0b20ud2hpdGU6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0ZGRiAhaW1wb3J0YW50OyB9XG4gIC51ay10b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMjkzNTQxO1xuICAgIG1hcmdpbi1ib3R0b206IC0xMnB4O1xuICAgIGJvdHRvbTogMDsgfVxuICAudWstdG9vbHRpcC50b3Aud2hpdGU6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI0ZGRiAhaW1wb3J0YW50OyB9XG4gIC51ay10b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICMyOTM1NDE7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTJweDtcbiAgICByaWdodDogMDsgfVxuICAudWstdG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICMyOTM1NDE7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMnB4O1xuICAgIGxlZnQ6IDA7IH1cblxuLnVrLWxhYmVsLnVrLXRvb2x0aXAtaG9zdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1cHg7IH1cblxuLnVrLXN0ZXBwZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRpdGxlIHtcbiAgICBjb2xvcjogIzI4MzU0MTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nLXRvcDogN3B4OyB9XG4gIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy1zdGVwLWJvZHkge1xuICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZy10b3A6IDI3cHg7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YmVmb3JlLCAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNDOUNDQ0Y7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA4LjVweDtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YWZ0ZXIge1xuICAgICAgICByaWdodDogMDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogMDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzlDQ0NGO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDRweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwIC51ay1pY29uIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXA6OmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstcHJvZ3Jlc3MtdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICM1RjY4NzE7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmUgLnVrLXN0ZXAtaWNvbi13cmFwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlODI1NzsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuYWN0aXZlIC51ay1zdGVwLWljb24td3JhcDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDJweCAjRkZGO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmU6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmUud2lwOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5kb25lIC51ay1zdGVwLWljb24td3JhcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmRvbmUgLnVrLXN0ZXAtaWNvbi13cmFwIC51ay1pY29uIHtcbiAgICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgICBkaXNwbGF5OiBpbml0aWFsOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuZG9uZTo6YmVmb3JlLCAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuZG9uZTo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4MjU3OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDMycHg7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjpiZWZvcmUsIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMTFweDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcbiAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgcGFkZGluZzogMCA2cHg7IH1cbiAgICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwOjpiZWZvcmUge1xuICAgICAgICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgICAgICAgICAgd2lkdGg6IDIxcHg7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmFjdGl2ZSAudWstc3RlcC1pY29uLXdyYXA6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAzcHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0MnB4OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YmVmb3JlLCAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDE2cHg7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcCB7XG4gICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgOHB4OyB9XG4gICAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogMzFweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMXB4OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmUgLnVrLXN0ZXAtaWNvbi13cmFwOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci13aWR0aDogNHB4OyB9IH1cblxuLnVrLWJ0bi5pY29uIC51ay1pY29uIHtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgd2lkdGg6IDEuNWVtOyB9XG5cbi51ay1idG4gLnVrLWljb24ge1xuICBoZWlnaHQ6IDFlbTtcbiAgd2lkdGg6IDFlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLnVrLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgbWF4LXdpZHRoOiAxLjVlbTtcbiAgbWF4LWhlaWdodDogMS41ZW07IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiO1xuICBzcmM6IHVybChcIi9hc3NldHMvYm9maS1pY29uLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi9hc3NldHMvYm9maS1pY29uLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24uc3ZnI2JvZmktaWNvblwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5bZGF0YS1pY29uXTpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJib2ZpLWljb25cIiAhaW1wb3J0YW50O1xuICBjb250ZW50OiBhdHRyKGRhdGEtaWNvbik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuW2NsYXNzXj1cImJvZmktXCJdOmJlZm9yZSxcbltjbGFzcyo9XCIgYm9maS1cIl06YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiYm9maS1pY29uXCIgIWltcG9ydGFudDtcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4uYm9maS1yZWN1cnJpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDYxXCI7IH1cblxuLmJvZmktZWJpbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY3XCI7IH1cblxuLmJvZmktYWRkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2ZlwiOyB9XG5cbi5ib2ZpLWF0bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzFcIjsgfVxuXG4uYm9maS1hdXRvbWF0aWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDcyXCI7IH1cblxuLmJvZmktYmFuazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzNcIjsgfVxuXG4uYm9maS1iYW5rZmVlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzRcIjsgfVxuXG4uYm9maS1kYXRlcGlja2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2YVwiOyB9XG5cbi5ib2ZpLWRlcG9zaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc3XCI7IH1cblxuLmJvZmktZWRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzhcIjsgfVxuXG4uYm9maS1mYXE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDdhXCI7IH1cblxuLmJvZmktbWVzc2FnZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQxXCI7IH1cblxuLmJvZmktbWVudTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDNcIjsgfVxuXG4uYm9maS1pbnRlcmVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjVcIjsgfVxuXG4uYm9maS1wZW5kaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0Y1wiOyB9XG5cbi5ib2ZpLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0ZFwiOyB9XG5cbi5ib2ZpLXByaW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0ZlwiOyB9XG5cbi5ib2ZpLXJlZnVuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTJcIjsgfVxuXG4uYm9maS1yZW1vdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDUzXCI7IH1cblxuLmJvZmktc3VjY2VzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTRcIjsgfVxuXG4uYm9maS1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU2XCI7IH1cblxuLmJvZmktcGFzc3dvcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZkXCI7IH1cblxuLmJvZmktdXNlcm5hbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc1XCI7IH1cblxuLmJvZmktZ2VhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjhcIjsgfVxuXG4uYm9maS1jb250YWN0LWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQyXCI7IH1cblxuLmJvZmktZmlsdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3NlwiOyB9XG5cbi5ib2ZpLWRlYml0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2MlwiOyB9XG5cbi5ib2ZpLXN1cHBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY5XCI7IH1cblxuLmJvZmktdXNlci1zZXR0aW5nczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzBcIjsgfVxuXG4uYm9maS1hY2NvdW50czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjRcIjsgfVxuXG4uYm9maS10cmFuc2ZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjZcIjsgfVxuXG4uYm9maS1waG90bzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzlcIjsgfVxuXG4uYm9maS1jaGVjay1tYXJrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0NlwiOyB9XG5cbi5ib2ZpLWluZm9ybWF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0OVwiOyB9XG5cbi5ib2ZpLWNoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRiXCI7IH1cblxuLmJvZmktY2FuY2VsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0ZVwiOyB9XG5cbi5ib2ZpLXNlbmQtaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTVcIjsgfVxuXG4uYm9maS13YXJuaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1OFwiOyB9XG5cbi5ib2ZpLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNWFcIjsgfVxuXG4uYm9maS10aHVtYnN1cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzBcIjsgfVxuXG4uYm9maS1wZGY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ3XCI7IH1cblxuLmJvZmktY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ4XCI7IH1cblxuLmJvZmktc3RhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzZcIjsgfVxuXG4uYm9maS1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDMyXCI7IH1cblxuLmJvZmktZGVsaXZlcnktbWV0aG9kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzNFwiOyB9XG5cbi5ib2ZpLWRvd25sb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzN1wiOyB9XG5cbi5ib2ZpLWViaWxsLXBheWJpbGxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzOFwiOyB9XG5cbi5ib2ZpLWZsYWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIyXCI7IH1cblxuLmJvZmktYWxlcnQtaGlzdG9yeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjRcIjsgfVxuXG4uYm9maS1tb2JpbGVkZXBvc2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyOFwiOyB9XG5cbi5ib2ZpLW9uZXRpbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI5XCI7IH1cblxuLmJvZmktcGVyc29uYWwtbWVzc2FnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMmNcIjsgfVxuXG4uYm9maS10ZXh0LW1lc3NhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRhXCI7IH1cblxuLmJvZmktZXllLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDUwXCI7IH1cblxuLmJvZmktYXR0YWNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1MVwiOyB9XG5cbi5ib2ZpLWxvZ291dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmJcIjsgfVxuXG4uYm9maS1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDVcIjsgfVxuXG4uYm9maS1nZWFyLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTdcIjsgfVxuXG4uYm9maS10aHVtYnN1cC1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU5XCI7IH1cblxuLmJvZmktbW9kYWwtc2VuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmNcIjsgfVxuXG4uYm9maS1hZGQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDRcIjsgfVxuXG4uYm9maS1ncm91cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzNcIjsgfVxuXG4uYm9maS1ob21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzNVwiOyB9XG5cbi5ib2ZpLXBlcnNvbmFsLWluZm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDM5XCI7IH1cblxuLmJvZmktcGVyc29uLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMVwiOyB9XG5cbi5ib2ZpLXBlcnNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjNcIjsgfVxuXG4uYm9maS1zaWduZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI1XCI7IH1cblxuLmJvZmktZGF0ZXBpY2tlci0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyNlwiOyB9XG5cbi5ib2ZpLXJlZnVuZC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2M1wiOyB9XG5cbi5ib2ZpLXJlY3VycmluZy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyN1wiOyB9XG5cbi5ib2ZpLW1lc3NhZ2VzLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDJhXCI7IH1cblxuLmJvZmktZmFxLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDJiXCI7IH1cblxuLmJvZmktZ2Vhci0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyZFwiOyB9XG5cbi5ib2ZpLXJlbW92ZS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyZVwiOyB9XG5cbi5ib2ZpLXJlZnVuZC0yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyZlwiOyB9XG5cbi5ib2ZpLXVzZXJuYW1lLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNhXCI7IH1cblxuLmJvZmktc2VhcmNoLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNiXCI7IH1cblxuLmJvZmktcGFzc3dvcmQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcM2NcIjsgfVxuXG4uYm9maS1kYXNoYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNkXCI7IH1cblxuLmJvZmktYXRtLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNlXCI7IH1cblxuLmJvZmktcGVuZGluZy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzZlwiOyB9XG5cbi5ib2ZpLXN1Y2Nlc3MtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDBcIjsgfVxuXG4uYm9maS1waG9uZS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1YlwiOyB9XG5cbi5ib2ZpLXByaW50LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDVkXCI7IH1cblxuLmJvZmktbWVudS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1ZVwiOyB9XG5cbi5ib2ZpLWludGVyZXN0LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDVmXCI7IH1cblxuLmJvZmktaWMtY29udGFjdC1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2MFwiOyB9XG5cbi5ib2ZpLWRlcG9zaXQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2JcIjsgfVxuXG4uYm9maS1hdXRvbWF0aWMtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2NcIjsgfVxuXG4uYm9maS1hdXRvbWF0aWNwYXltZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3ZFwiOyB9XG5cbi5ib2ZpLWJhbmstMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2VcIjsgfVxuXG4uYm9maS1iYW5rZmVlcy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1Y1wiOyB9XG5cbi5ib2ZpLWVkaXQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwMFwiOyB9XG5cbi5ib2ZpLTE0OTgxOTU1OTItaWNvbjE1LTg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZlXCI7IH1cblxuLmJvZmktYXJyb3ctY2hldnJvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzFcIjsgfVxuXG4uY2RrLW92ZXJsYXktY29udGFpbmVyLFxuLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2RrLW92ZXJsYXktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDAwOyB9XG5cbi5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAwMDsgfVxuXG4uY2RrLW92ZXJsYXktcGFuZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHotaW5kZXg6IDEwMDA7IH1cblxuLmNkay1vdmVybGF5LWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO1xuICBvcGFjaXR5OiAwOyB9XG4gIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI4OCk7IH1cblxuLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmNkay1nbG9iYWwtc2Nyb2xsYmxvY2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNrLWJvdW5jZWRlbGF5IHtcbiAgMCUsIDgwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuQGtleWZyYW1lcyBzay1ib3VuY2VkZWxheSB7XG4gIDAlLCA4MCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcmlwcGxlIHtcbiAgNSUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNSUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgcmlwcGxlIHtcbiAgNSUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNSUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALW8ta2V5ZnJhbWVzIHJpcHBsZSB7XG4gIDUlLFxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByaXBwbGUge1xuICA1JSxcbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1JSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi51ay1mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4taGVpZ2h0OiAxOHB4OyB9XG4gIC51ay1mb3JtLWNvbnRyb2xfX3ZhbHVlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIG1heC13aWR0aDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbWluLWhlaWdodDogNDhweDsgfVxuICAudWstZm9ybS1jb250cm9sX19hZGRvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uYWxlcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgaGVpZ2h0OiA0NnB4O1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuYWxlcnQgLmljb24ge1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4OyB9XG4gIC5hbGVydCAuY2xvc2UtaWNvbiB7XG4gICAgZm9udC1zaXplOiA2LjIyODVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgLmFsZXJ0IC5jaGlsZC0tZmVhdHVyZWQge1xuICAgIHBhZGRpbmctbGVmdDogMTNweDtcbiAgICBmbGV4LWdyb3c6IDE7IH1cblxuLndsLWxvZ28tYmFja2dyb3VuZCB7XG4gIGNvbnRlbnQ6IHZhcigtLWJyYW5kTG9nbyk7IH1cblxuOmhvc3Qge1xuICBtaW4taGVpZ2h0OiA1MXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogOTk7IH1cbiAgOmhvc3QgLmxvZ28taGVhZGVyIHtcbiAgICBoZWlnaHQ6IDIwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgOmhvc3QgLmhlYWRlci1tb2JpbGUge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgOmhvc3Qge1xuICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICA6aG9zdCAubG9nby1oZWFkZXIge1xuICAgICAgICBoZWlnaHQ6IDQwcHg7IH0gfVxuICA6aG9zdCAuY29udGFjdC1iYXIge1xuICAgIGNvbG9yOiAjMUUzODYwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIDpob3N0IC5jb250YWN0LWJhciAuc2hvdy1tZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9IH1cbiAgICA6aG9zdCAuY29udGFjdC1iYXIgLmNvbnRhY3QtaXRlbSB7XG4gICAgICBjb2xvcjogIzFFMzg2MDtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMxRTM4NjA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgICAgOmhvc3QgLmNvbnRhY3QtYmFyIC5jb250YWN0LWl0ZW0gLnVrLWljb24ge1xuICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgZmlsbDogIzFFMzg2MDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTVweDsgfVxuICAgICAgOmhvc3QgLmNvbnRhY3QtYmFyIC5jb250YWN0LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgICAgOmhvc3QgLmNvbnRhY3QtYmFyIC5jb250YWN0LWl0ZW0gLmNvbnRhY3QtaWNvbnMge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgIDpob3N0IC5jb250YWN0LWJhciAuY29udGFjdC1pdGVtIC5jb250YWN0LWljb25zIGltZyB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAgIDpob3N0IC5jb250YWN0LWJhciAuY29udGFjdC1pdGVtIC5jb250YWN0LWljb25zIGEge1xuICAgICAgICAgIGNvbG9yOiAjMUUzODYwO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgICA6aG9zdCAuY29udGFjdC1iYXIgLmNvbnRhY3QtaXRlbSAuY29udGFjdC1pY29ucy5hbmltYXRpb24tc2hvdy1pbmZvIHtcbiAgICAgICAgICAtbW96LXRyYW5zZm9ybTogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgLW8tdHJhbnNmb3JtOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICB3aWR0aDogMTQ4cHg7IH1cbiAgICAgICAgICA6aG9zdCAuY29udGFjdC1iYXIgLmNvbnRhY3QtaXRlbSAuY29udGFjdC1pY29ucy5hbmltYXRpb24tc2hvdy1pbmZvLmVtYWlsIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMzlweDsgfVxuICAgICAgICAgIDpob3N0IC5jb250YWN0LWJhciAuY29udGFjdC1pdGVtIC5jb250YWN0LWljb25zLmFuaW1hdGlvbi1zaG93LWluZm8gYSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAgIDpob3N0IC5jb250YWN0LWJhciAuY29udGFjdC1pdGVtIC5jb250YWN0LWljb25zLmFuaW1hdGlvbi1oaWRlLWluZm8ge1xuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAtby10cmFuc2Zvcm06IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIHdpZHRoOiA0MHB4OyB9XG4gICAgICAgICAgOmhvc3QgLmNvbnRhY3QtYmFyIC5jb250YWN0LWl0ZW0gLmNvbnRhY3QtaWNvbnMuYW5pbWF0aW9uLWhpZGUtaW5mbyBhIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7IH1cbiIsIi8vIEBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TGlicmUrRnJhbmtsaW46MzAwLDQwMCw1MDAsNjAwLDcwMCcpO1xyXG5AaW1wb3J0ICcuL19mb250LnNjc3MnO1xyXG5AaW1wb3J0ICcuL19zci1vbmx5LnNjc3MnO1xyXG5cclxuQG1peGluIHVrLWdsb2JhbCgkdWstdGhlbWUpIHtcclxuICAgICRmb250LWNvbmZpZzogbWFwLWdldCgkdWstdGhlbWUsIGZvbnRzKTtcclxuICAgICRmb250LWZhbWlsaWVzOiBtYXAtZ2V0KCRmb250LWNvbmZpZywgZmFtaWxpZXMpO1xyXG4gICAgJGZvbnQtc2l6ZXM6IG1hcC1nZXQoJGZvbnQtY29uZmlnLCBzaXplcyk7XHJcblxyXG4gICAgQGVhY2ggJGZvbnQtZmFtaWx5LCAkdmFsdWUgaW4gJGZvbnQtZmFtaWxpZXMge1xyXG4gICAgICAgICRmb250LXVybDogbWFwLWdldCgkdmFsdWUsIHVybCk7XHJcbiAgICAgICAgQGlmICRmb250LXVybCB7XHJcbiAgICAgICAgICAgIEBpbXBvcnQgdXJsKCRmb250LXVybCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICRwcmltYXJ5LWZvbnQtZmFtaWxpeTogbWFwLWdldCgkZm9udC1mYW1pbGllcywgcHJpbWFyeSk7XHJcblxyXG4gICAgaHRtbCB7IFxyXG4gICAgICAgIGJvZHkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRwcmltYXJ5LWZvbnQtZmFtaWxpeSwgbmFtZSksIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRwcmltYXJ5LWZvbnQtZmFtaWxpeSwgY29sb3IpO1xyXG4gICAgICAgICAgICBAY29udGVudFxyXG4gICAgICAgIH1cclxuICAgICAgICBoMSxcclxuICAgICAgICBoMixcclxuICAgICAgICBoMyxcclxuICAgICAgICBoNCxcclxuICAgICAgICBoNSxcclxuICAgICAgICBoNiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHVrLWZvbnRzKCRmb250LXNpemVzKTtcclxuICAgICAgICAuc3Itb25seXsgQGluY2x1ZGUgc3Itb25seSgpOyB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qXHJcbmh0bWwsXHJcbmJvZHkge1xyXG4gICAgZm9udC1mYW1pbHk6ICdMaWJyZSBGcmFua2xpbicsICdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xyXG4gICAgLy8gY29sb3I6IHRoZW1pZnkodGV4dCk7XHJcbn1cclxuXHJcblxyXG5cclxuYSB7XHJcbiAgICBjb2xvcjogdGhlbWlmeShsaW5rKTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5yb3VuZC1pbWFnZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbn1cclxuXHJcblxyXG4qLyIsIiRjb250YWluZXItd2lkdGg6KHNtOjQ5cmVtLCBtZDo2NXJlbSwgbGc6NzZyZW0pO1xyXG4uZmNvbnRhaW5lci1mbHVpZCxcclxuLmZjb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi5mY29udGFpbmVyLWZsdWlkIHtcclxuICAgIHBhZGRpbmc6IDAgMnJlbTtcclxufVxyXG5cclxuQG1peGluIGNvbnRhaW5lcigka2V5KSB7XHJcbiAgICBAaWYoJGtleT09J2xnJykge1xyXG4gICAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkY29udGFpbmVyLXdpZHRoLCAka2V5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZigka2V5PT0nbWQnKSB7XHJcbiAgICAgICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRjb250YWluZXItd2lkdGgsICRrZXkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmKCRrZXk9PSdzbScpIHtcclxuICAgICAgICAuY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGNvbnRhaW5lci13aWR0aCwgJGtleSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLmZyb3cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXg6IDAgMSBhdXRvO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICYucmV2ZXJzZSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLmZpbmxpbmUgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfSIsIi5yZXNldC1wYWRkaW5ne1xyXG4gICAgcGFkZGluZzowO1xyXG59XHJcbi5yZXNldC1tYXJnaW57XHJcbiAgICBtYXJnaW46MDtcclxufVxyXG4udWstYnRuIHtcclxuICAgICYubm9uZSB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIC8vb3V0bGluZTogbm9uZTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICAgICAgbWluLWhlaWdodDogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gICAgJi5pY29uIHtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuICB9XHJcbiAgIiwiLy8gWi1sZXZlbHNcclxuLiN7JHByZWZpeH0tc2hhZG93LTAge1xyXG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG4uI3skcHJlZml4fS1zaGFkb3ctMSB7XHJcbiAgYm94LXNoYWRvdzogMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG59XHJcbi4jeyRwcmVmaXh9LXNoYWRvdy0xLWhhbGYge1xyXG4gIGJveC1zaGFkb3c6IDAgM3B4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDdweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDFweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxufVxyXG4uI3skcHJlZml4fS1zaGFkb3ctMiB7XHJcbiAgYm94LXNoYWRvdzogMCA0cHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxufVxyXG4uI3skcHJlZml4fS1zaGFkb3ctMyB7XHJcbiAgYm94LXNoYWRvdzogMCA2cHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDE4cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDNweCA1cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTQge1xyXG4gIGJveC1zaGFkb3c6IDAgOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxufVxyXG4uI3skcHJlZml4fS1zaGFkb3ctNSB7XHJcbiAgYm94LXNoYWRvdzogMCAxNnB4IDI0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgNnB4IDMwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgOHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbn0iLCIudWstbmF2e1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAgIC51ay1uYXYtaXRlbXtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIkdG9vbHRpcC1oZWlnaHQ6IDI4cHg7XHJcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICMyOTM1NDE7XHJcbiR0b29sdGlwLXBhZGRpbmc6IDVweCAxMHB4O1xyXG4kdG9vbHRpcC1hcnJvdzogNnB4O1xyXG5cclxuLnVrLXRvb2x0aXAge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIGNvbG9yOiAjRkZGO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgbWF4LXdpZHRoOiAyODBweDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XHJcbiAgICB6LWluZGV4OiAyO1xyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAkdG9vbHRpcC1hcnJvdyB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuXHJcbiAgICAmLndoaXRlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xyXG4gICAgICAgIGNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgICYuYm90dG9tIHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAoLTIgKiAkdG9vbHRpcC1hcnJvdyk7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi53aGl0ZTo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjojRkZGICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYudG9wIHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAoLTIgKiAkdG9vbHRpcC1hcnJvdyk7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi53aGl0ZTo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI0ZGRiAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmxlZnQge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICgtMiAqICR0b29sdGlwLWFycm93KTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYucmlnaHQge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICgtMiAqICR0b29sdGlwLWFycm93KTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi51ay1sYWJlbCB7XHJcbiAgICAmLnVrLXRvb2x0aXAtaG9zdCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogNXB4O1xyXG4gICAgfVxyXG59XHJcbiIsIiR1ay1wcm9ncmVzcy1iYXItbGFibGUtc3BhY2U6IDdweDtcclxuJHVrLXByb2dyZXNzLWJhci1saW5lLWhlaWdodDogM3B4O1xyXG4kcmlwcGxlLXNpemU6ICh4czogMjBweCwgc206IDI1cHgsIG1kOiAzNXB4KTtcclxuJHJpcHBsZS1ib3JkZXItd2lkdGg6IDJweDtcclxuXHJcbi51ay1zdGVwcGVye1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgLnVrLXByb2dyZXNzLXRpdGxlIHtcclxuICAgICAgICBjb2xvcjogdGhlbWlmeSh0ZXh0LCAkdGhlbWUpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA3cHg7XHJcbiAgICB9XHJcbiAgICAudWstcHJvZ3Jlc3Mtc3RlcC1ib2R5e1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLnVrLXByb2dyZXNzLXRyYWNrIHtcclxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgLnVrLXByb2dyZXNzLXN0ZXAge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAneHMnKSArICR1ay1wcm9ncmVzcy1iYXItbGFibGUtc3BhY2U7XHJcblxyXG4gICAgICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShncmF5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAobWFwLWdldCgkcmlwcGxlLXNpemUsICd4cycpIC0gJHVrLXByb2dyZXNzLWJhci1saW5lLWhlaWdodCkgLzI7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICR1ay1wcm9ncmVzcy1iYXItbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6YmVmb3JlIHsgbGVmdDogMDsgfVxyXG4gICAgICAgICAgICAmOjphZnRlciB7IHJpZ2h0OiAwOyB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHsgJjo6YmVmb3JlIHsgd2lkdGg6IDA7IH19XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7ICY6OmFmdGVyIHsgd2lkdGg6IDA7IH19XHJcblxyXG4gICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShncmF5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLXNpemUsICd4cycpO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAneHMnKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNHB4O1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG5cclxuICAgICAgICAgICAgICAgIC51ay1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkcmlwcGxlLWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAneHMnKSAtICgyICogJHJpcHBsZS1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3hzJykgLSAoMiAqICRyaXBwbGUtYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAudWstcHJvZ3Jlc3MtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdGhlbWlmeShpbmFjdGl2ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1x0XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmFjdGl2ZXtcclxuICAgICAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShwcmltYXJ5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogc29saWQgMnB4ICNGRkY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYud2lwIHtcclxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYuZG9uZXtcclxuICAgICAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShwcmltYXJ5LCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIC51ay1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHRoZW1pZnkod2hpdGUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGluaXRpYWw7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBzbSB7XHJcbiAgICAgICAgICAgIC51ay1wcm9ncmVzcy1zdGVwIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3NtJykgKyAkdWstcHJvZ3Jlc3MtYmFyLWxhYmxlLXNwYWNlO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAobWFwLWdldCgkcmlwcGxlLXNpemUsICdzbScpIC0gJHVrLXByb2dyZXNzLWJhci1saW5lLWhlaWdodCkgLzI7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnc20nKTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdzbScpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdzbScpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3NtJykgLSAoMiAqICRyaXBwbGUtYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZXtcclxuICAgICAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1kIHtcclxuICAgICAgICAgICAgLnVrLXByb2dyZXNzLXN0ZXAge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnbWQnKSArICR1ay1wcm9ncmVzcy1iYXItbGFibGUtc3BhY2U7XHJcblxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogKG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnbWQnKSAtICR1ay1wcm9ncmVzcy1iYXItbGluZS1oZWlnaHQpIC8yO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnbWQnKTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDhweDtcclxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmV7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdtZCcpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJykgLSAoMiAqICRyaXBwbGUtYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZXtcclxuICAgICAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIkcHJpbWFyeTogIzFlODI1NyAhZGVmYXVsdDtcclxuJHNlY29uZGFyeTogI0ZBQTc0QSAhZGVmYXVsdDtcclxuJGxpbms6ICMxMTUzYjUgIWRlZmF1bHQ7XHJcbiR0ZXh0OiAjMjgzNTQxICFkZWZhdWx0O1xyXG4kZ3JheTogI2JlYzFjNSAhZGVmYXVsdDtcclxuJGluYWN0aXZlOiAjNmM3NzgxICFkZWZhdWx0O1xyXG4kbXV0ZWQ6ICNlZWVmZjIgIWRlZmF1bHQ7XHJcbiRsaWdodDogI2Y0ZjVmNyAhZGVmYXVsdDtcclxuJGVycm9yOiAjY2IyZDBlICFkZWZhdWx0O1xyXG4kd2FybmluZzogI2UzNzkzNiAhZGVmYXVsdDtcclxuJHN1Y2Nlc3M6ICMyMjk4NmMgIWRlZmF1bHQ7XHJcbiRpbmZvOiAjNmFhNWYyICFkZWZhdWx0O1xyXG4kYWNjZW50LTE6ICM2OGNjOWEgIWRlZmF1bHQ7XHJcbiRhY2NlbnQtMjogJGluZm8gIWRlZmF1bHQ7XHJcbiR3aGl0ZTogI2ZmZiAhZGVmYXVsdDtcclxuXHJcbiRidG4tYmFzZTogKFxyXG4gIGhlaWdodDogNTJweCxcclxuICB3aWR0aDogMTc1cHgsXHJcbiAgcGFkZGluZzogMTZweCA0MHB4XHJcbik7XHJcblxyXG4kYnRuLXNpemVzOiAobGc6KGhlaWdodDogNTJweCwgcGFkZGluZzogMTZweCA2MHB4KSkgIWRlZmF1bHQ7XHJcbiAgXHJcbiR0aGVtZTogKFxyXG4gICAgcHJpbWFyeTogJHByaW1hcnksXHJcbiAgICBzZWNvbmRhcnk6ICRzZWNvbmRhcnksXHJcbiAgICBsaW5rOiAkbGluayxcclxuICAgIHRleHQ6ICR0ZXh0LFxyXG4gICAgZ3JheTogJGdyYXksXHJcbiAgICBpbmFjdGl2ZTogJGluYWN0aXZlLFxyXG4gICAgbGlnaHQ6ICRsaWdodCxcclxuICAgIG11dGVkOiAkbXV0ZWQsXHJcbiAgICBlcnJvcjogJGVycm9yLFxyXG4gICAgd2FybmluZzogJHdhcm5pbmcsXHJcbiAgICBzdWNjZXNzOiAkc3VjY2VzcyxcclxuICAgIGluZm8gOiAkaW5mbyxcclxuICAgIGFjY2VudC0xOiAkYWNjZW50LTEsXHJcbiAgICBhY2NlbnQtMjogJGFjY2VudC0yLFxyXG4gICAgd2hpdGU6ICR3aGl0ZVxyXG4gIClcclxuICAhZGVmYXVsdDtcclxuJHNpemVzOiAoXHJcbiAgcGhvbmU6XHJcbiAgICAoXHJcbiAgICAgIC8vIEFwcHJvdmVkXHJcbiAgICAgIGgxOihmb250LXNpemU6IDUycHgsIGxpbmUtaGVpZ2h0OiA1OHB4LCBmb250LXdlaWdodDogMzAwKSxcclxuICAgICAgaDI6KGZvbnQtc2l6ZTogNDJweCwgbGluZS1oZWlnaHQ6IDUwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBoNDogKGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBwOihmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgbGFiZWw6IChmb250LXNpemU6IDE0cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgLy8gRW5kIEFwcHJvdmVkXHJcbiAgICAgIGgzOihmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgYm9keTooZm9udC1zaXplOiAxNXB4LCBsaW5lLWhlaWdodDogMThweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIHNtYWxsOihmb250LXNpemU6IDE0cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICksXHJcbiAgdGFibGV0OihcclxuICAgICAgLy8gQXBwcm92ZWRcclxuICAgICAgaDE6KGZvbnQtc2l6ZTogNjJweCwgbGluZS1oZWlnaHQ6IDY4cHgsIGZvbnQtd2VpZ2h0OiAzMDApLFxyXG4gICAgICBoMjooZm9udC1zaXplOiA1MnB4LCBsaW5lLWhlaWdodDogNjBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGg0OiAoZm9udC1zaXplOiAyMHB4LCBsaW5lLWhlaWdodDogMzBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIHA6KGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBsYWJlbDogKGZvbnQtc2l6ZTogMTRweCwgbGluZS1oZWlnaHQ6IDIwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICAvLyBFbmQgQXBwcm92ZWRcclxuICAgICAgaDM6KGZvbnQtc2l6ZTogMjZweCwgbGluZS1oZWlnaHQ6IDMwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBib2R5Oihmb250LXNpemU6IDE1cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgc21hbGw6KGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgKSxcclxuICBkZXNrdG9wOihcclxuICAgICAgLy8gQXBwcm92ZWRcclxuICAgICAgaDE6IChmb250LXNpemU6IDcycHgsIGxpbmUtaGVpZ2h0OiA3OHB4LCBmb250LXdlaWdodDogMzAwKSxcclxuICAgICAgaDI6IChmb250LXNpemU6IDYycHgsIGxpbmUtaGVpZ2h0OiA3MHB4LCBmb250LXdlaWdodDogMzAwKSxcclxuICAgICAgaDQ6IChmb250LXNpemU6IDIwcHgsIGxpbmUtaGVpZ2h0OiAzMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgcDogKGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDIycHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBsYWJlbDogKGZvbnQtc2l6ZTogMTRweCwgbGluZS1oZWlnaHQ6IDIwcHgsIGZvbnQtd2VpZ2h0OiA0MDApLFxyXG4gICAgICAvLyBFbmQgQXBwcm92ZWRcclxuICAgICAgaDM6IChmb250LXNpemU6IDI0cHgsIGxpbmUtaGVpZ2h0OiAyOHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgYm9keTogKGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDE4cHgsIGZvbnQtd2VpZ2h0OiA0MDApLFxyXG4gICAgICBzbWFsbDogKGZvbnQtc2l6ZTogMTZweCwgbGluZS1oZWlnaHQ6IDI0cHgsIGZvbnQtd2VpZ2h0OiA0MDApLFxyXG4gICAgKVxyXG4pO1xyXG4kZ3V0dGVyOiAzMHB4O1xyXG5cclxuXHJcbi8vQU5HVUxBUiBDREsgT1ZFUkxBWSBWQVJJQUJMRVNcclxuJGNkay16LWluZGV4LW92ZXJsYXktY29udGFpbmVyOiAxMDAwO1xyXG4kY2RrLXotaW5kZXgtb3ZlcmxheTogMTAwMDtcclxuJGNkay16LWluZGV4LW92ZXJsYXktYmFja2Ryb3A6IDEwMDA7XHJcblxyXG4vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBhbGwgb2YgdGhlIGJhY2tkcm9wc1xyXG4kY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcC1iYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjg4KTtcclxuXHJcbi8vIERlZmF1bHQgYmFja2Ryb3AgYW5pbWF0aW9uIGlzIGJhc2VkIG9uIHRoZSBNYXRlcmlhbCBEZXNpZ24gc3dpZnQtZWFzZS1vdXQuXHJcbiRiYWNrZHJvcC1hbmltYXRpb24tZHVyYXRpb246IDQwMG1zICFkZWZhdWx0O1xyXG4kYmFja2Ryb3AtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSkgIWRlZmF1bHQ7IiwiLy8gR3JheXNcclxuJGluYWN0aXZlOiAjNUY2ODcxO1xyXG4kbWlkLWdyYXk6ICM5NDlBQTA7XHJcbiRncmF5OiAjQzlDQ0NGO1xyXG4kbXV0ZWQ6ICNFOUVBRUM7XHJcbiRsaWdodDogI0Y0RjVGNTtcclxuJHdoaXRlOiAjRkZGO1xyXG4vLyBJbGx1c3RyYXRpdmUgSWNvbnNcclxuJGluZm86ICM2NDk1RjY7XHJcbiRhY2NlbnQtMTogI0ZGRjtcclxuJGFjY2VudC0yOiAjMDAwO1xyXG4vLyBBbGVydHNcclxuJGVycm9yOiAjY2IyZDBlO1xyXG4kd2FybmluZzogI2UzNzkzNjtcclxuJHN1Y2Nlc3M6ICMyMjk4NmM7XHJcbi8vIExpbmtzXHJcbiRsaW5rOiAjMTc2QUNGO1xyXG4kbGluay12aXNpdGVkOiAjNTUxQThCOyIsIiRicmVha3BvaW50cyA6KCB4czo0ODBweCwgc206IDc2OHB4LCBtZDo5OTJweCwgbGc6IDEyMDBweCk7XHJcblxyXG5AbWl4aW4geHMge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHNtIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICdzbScpKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZCB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAnbWQnKSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbGcge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJ2xnJykpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG4iLCJAaW1wb3J0ICcuL19mb250LWljb24uc2Nzcyc7XHJcblxyXG4kYnRuLWljb24tc2l6ZTogMWVtO1xyXG4kaWNvbi1zaXplOiAxLjVlbTtcclxuXHJcbkBtaXhpbiBpY29ucyB7XHJcbiAgICAudWstYnRuLmljb257XHJcbiAgICAgICAgLnVrLWljb257XHJcbiAgICAgICAgICAgIGhlaWdodDogJGljb24tc2l6ZTtcclxuICAgICAgICAgICAgd2lkdGg6ICRpY29uLXNpemU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnVrLWJ0bntcclxuICAgICAgICAudWstaWNvbntcclxuICAgICAgICAgICAgaGVpZ2h0OiAkYnRuLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgd2lkdGg6ICRidG4taWNvbi1zaXplO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRidG4taWNvbi1zaXplO1xyXG4gICAgICAgICAgICAvL0dlbmVyYWxcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudWstaWNvbiB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHN0cm9rZS13aWR0aDogMDtcclxuICAgICAgICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcclxuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XHJcbiAgICAgICAgZm9udC1zaXplOiAkaWNvbi1zaXplO1xyXG4gICAgICAgIG1heC13aWR0aDogJGljb24tc2l6ZTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAkaWNvbi1zaXplO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBpY29ucygpO1xyXG5AaW5jbHVkZSBmb250SWNvbnMoKTsiLCJAbWl4aW4gZm9udEljb25zIHtcclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiO1xyXG4gICAgICAgIHNyYzp1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi5lb3RcIik7XHJcbiAgICAgICAgc3JjOnVybChcIi9hc3NldHMvYm9maS1pY29uLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXHJcbiAgICAgICAgICB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICAgICAgICB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi5zdmcjYm9maS1pY29uXCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgIFxyXG4gICAgfVxyXG5cclxuICAgIFtkYXRhLWljb25dOmJlZm9yZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiYm9maS1pY29uXCIgIWltcG9ydGFudDtcclxuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtaWNvbik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBzcGVhazogbm9uZTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICBbY2xhc3NePVwiYm9maS1cIl06YmVmb3JlLFxyXG4gICAgICBbY2xhc3MqPVwiIGJvZmktXCJdOmJlZm9yZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiYm9maS1pY29uXCIgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHNwZWFrOiBub25lO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIC5ib2ZpLXJlY3VycmluZzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2MVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWViaWxsOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDY3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYWRkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDZmXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXRtOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDcxXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXV0b21hdGljOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDcyXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYmFuazpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3M1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWJhbmtmZWVzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDc0XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZGF0ZXBpY2tlcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2YVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRlcG9zaXQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzdcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1lZGl0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDc4XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZmFxOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDdhXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbWVzc2FnZXM6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1tZW51OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQzXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktaW50ZXJlc3Q6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZW5kaW5nOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDRjXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGhvbmU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNGRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wcmludDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0ZlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXJlZnVuZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1MlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXJlbW92ZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1M1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXN1Y2Nlc3M6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zZWFyY2g6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wYXNzd29yZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2ZFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXVzZXJuYW1lOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDc1XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZ2VhcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2OFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNvbnRhY3QtbGlzdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0MlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWZpbHRlcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3NlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRlYml0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDYyXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc3VwcG9ydDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2OVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXVzZXItc2V0dGluZ3M6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzBcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hY2NvdW50czpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2NFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXRyYW5zZmVyOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDY2XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGhvdG86YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzlcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jaGVjay1tYXJrOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQ2XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktaW5mb3JtYXRpb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDlcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jaGF0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDRiXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2FuY2VsOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDRlXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc2VuZC1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDU1XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktd2FybmluZzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1OFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXVwbG9hZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1YVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXRodW1ic3VwOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDMwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGRmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQ3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2hlY2s6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDhcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zdGFyOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDM2XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2FtZXJhOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDMyXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZGVsaXZlcnktbWV0aG9kOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDM0XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZG93bmxvYWQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzdcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1lYmlsbC1wYXliaWxsczpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzOFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWZsYWc6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hbGVydC1oaXN0b3J5OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDI0XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbW9iaWxlZGVwb3NpdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyOFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW9uZXRpbWU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjlcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZXJzb25hbC1tZXNzYWdlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDJjXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdGV4dC1tZXNzYWdlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDRhXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZXllLW91dGxpbmU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTBcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hdHRhY2g6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1sb2dvdXQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jbG9zZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0NVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWdlYXItY2lyY2xlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDU3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdGh1bWJzdXAtY2lyY2xlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDU5XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbW9kYWwtc2VuZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2Y1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWFkZC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQ0XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZ3JvdXA6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1ob21lOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDM1XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGVyc29uYWwtaW5mbzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzOVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBlcnNvbi1jaGVjazpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyMVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBlcnNvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyM1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXNpZ25lcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyNVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRhdGVwaWNrZXItMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyNlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXJlZnVuZC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDYzXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcmVjdXJyaW5nLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjdcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1tZXNzYWdlcy0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDJhXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZmFxLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMmJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1nZWFyLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMmRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZW1vdmUtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXJlZnVuZC0yOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDJmXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktdXNlcm5hbWUtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzYVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXNlYXJjaC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDNiXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGFzc3dvcmQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzY1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRhc2hib2FyZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzZFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWF0bS0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDNlXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGVuZGluZy0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDNmXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc3VjY2Vzcy0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGhvbmUtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1YlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXByaW50LTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1tZW51LTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1pbnRlcmVzdC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDVmXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktaWMtY29udGFjdC1saXN0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDYwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZGVwb3NpdC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDdiXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXV0b21hdGljLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcN2NcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hdXRvbWF0aWNwYXltZW50OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDdkXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYmFuay0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDdlXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYmFua2ZlZXMtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1Y1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWVkaXQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlMDAwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktMTQ5ODE5NTU5Mi1pY29uMTUtODpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2ZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWFycm93LWNoZXZyb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzFcIjtcclxuICAgICAgfSAgICAgIFxyXG59IiwiLmNkay1vdmVybGF5LWNvbnRhaW5lcixcclxuLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcclxuICAvLyBEaXNhYmxlIGV2ZW50cyBmcm9tIGJlaW5nIGNhcHR1cmVkIG9uIHRoZSBvdmVybGF5IGNvbnRhaW5lci5cclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcbiAgLy8gVGhlIGNvbnRhaW5lciBzaG91bGQgYmUgdGhlIHNpemUgb2YgdGhlIHZpZXdwb3J0LlxyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLy8gVGhlIG92ZXJsYXktY29udGFpbmVyIGlzIGFuIGludmlzaWJsZSBlbGVtZW50IHdoaWNoIGNvbnRhaW5zIGFsbCBpbmRpdmlkdWFsIG92ZXJsYXlzLlxyXG4uY2RrLW92ZXJsYXktY29udGFpbmVyIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXktY29udGFpbmVyO1xyXG59XHJcblxyXG4vLyBXZSB1c2UgYW4gZXh0cmEgd3JhcHBlciBlbGVtZW50IGluIG9yZGVyIHRvIHVzZSBtYWtlIHRoZSBvdmVybGF5IGl0c2VsZiBhIGZsZXggaXRlbS5cclxuLy8gVGhpcyBtYWtlcyBjZW50ZXJpbmcgdGhlIG92ZXJsYXkgZWFzeSB3aXRob3V0IHJ1bm5pbmcgaW50byB0aGUgc3VicGl4ZWwgcmVuZGVyaW5nXHJcbi8vIHByb2JsZW1zIHRpZWQgdG8gdXNpbmcgYHRyYW5zZm9ybWAgYW5kIHdpdGhvdXQgaW50ZXJmZXJpbmcgd2l0aCB0aGUgb3RoZXIgcG9zaXRpb25cclxuLy8gc3RyYXRlZ2llcy5cclxuLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheTtcclxufVxyXG5cclxuLy8gQSBzaW5nbGUgb3ZlcmxheSBwYW5lLlxyXG4uY2RrLW92ZXJsYXktcGFuZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXk7XHJcbn1cclxuXHJcbi5jZGstb3ZlcmxheS1iYWNrZHJvcCB7XHJcbiAgLy8gVE9ETyhqZWxib3Vybik6IHJldXNlIHNpZGVuYXYgZnVsbHNjcmVlbiBtaXhpbi5cclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG5cclxuICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheS1iYWNrZHJvcDtcclxuICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGJhY2tkcm9wLWFuaW1hdGlvbi1kdXJhdGlvblxyXG4gICAgJGJhY2tkcm9wLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb247XHJcbiAgb3BhY2l0eTogMDtcclxuXHJcbiAgJi5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG4uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcCB7XHJcbiAgYmFja2dyb3VuZDogJGNkay1vdmVybGF5LWRhcmstYmFja2Ryb3AtYmFja2dyb3VuZDtcclxufVxyXG5cclxuLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wIHtcclxuICAvLyBOb3RlOiBhcyBvZiBGaXJlZm94IDU3LCBoYXZpbmcgdGhlIGJhY2tkcm9wIGJlIGBiYWNrZ3JvdW5kOiBub25lYCB3aWxsIHByZXZlbnQgaXQgZnJvbVxyXG4gIC8vIGNhcHR1cmluZyB0aGUgdXNlcidzIG1vdXNlIHNjcm9sbCBldmVudHMuIFNpbmNlIHdlIGFsc28gY2FuJ3QgdXNlIHNvbWV0aGluZyBsaWtlXHJcbiAgLy8gYHJnYmEoMCwgMCwgMCwgMClgLCB3ZSB3b3JrIGFyb3VuZCB0aGUgaW5jb25zaXN0ZW5jeSBieSBub3Qgc2V0dGluZyB0aGUgYmFja2dyb3VuZCBhdFxyXG4gIC8vIGFsbCBhbmQgdXNpbmcgYG9wYWNpdHlgIHRvIG1ha2UgdGhlIGVsZW1lbnQgdHJhbnNwYXJlbnQuXHJcbiAgJixcclxuICAmLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbi8vIFVzZWQgd2hlbiBkaXNhYmxpbmcgZ2xvYmFsIHNjcm9sbGluZy5cclxuLmNkay1nbG9iYWwtc2Nyb2xsYmxvY2sge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuXHJcbiAgLy8gTmVjZXNzYXJ5IGZvciB0aGUgY29udGVudCBub3QgdG8gbG9zZSBpdHMgd2lkdGguIE5vdGUgdGhhdCB3ZSdyZSB1c2luZyAxMDAlLCBpbnN0ZWFkIG9mXHJcbiAgLy8gMTAwdncsIGJlY2F1c2UgMTAwdncgaW5jbHVkZXMgdGhlIHdpZHRoIHBsdXMgdGhlIHNjcm9sbGJhciwgd2hlcmVhcyAxMDAlIGlzIHRoZSB3aWR0aFxyXG4gIC8vIHRoYXQgdGhlIGVsZW1lbnQgaGFkIGJlZm9yZSB3ZSBtYWRlIGl0IGBmaXhlZGAuXHJcbiAgd2lkdGg6IDEwMCU7XHJcblxyXG4gIC8vIE5vdGU6IHRoaXMgd2lsbCBhbHdheXMgYWRkIGEgc2Nyb2xsYmFyIHRvIHdoYXRldmVyIGVsZW1lbnQgaXQgaXMgb24sIHdoaWNoIGNhblxyXG4gIC8vIHBvdGVudGlhbGx5IHJlc3VsdCBpbiBkb3VibGUgc2Nyb2xsYmFycy4gSXQgc2hvdWxkbid0IGJlIGFuIGlzc3VlLCBiZWNhdXNlIHdlIHdvbid0XHJcbiAgLy8gYmxvY2sgc2Nyb2xsaW5nIG9uIGEgcGFnZSB0aGF0IGRvZXNuJ3QgaGF2ZSBhIHNjcm9sbGJhciBpbiB0aGUgZmlyc3QgcGxhY2UuXHJcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG59XHJcbiIsIkBpbXBvcnQgJy4uLy4uL21peGlucy9fYW5pbWF0aW9uLnNjc3MnO1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2stYm91bmNlZGVsYXkge1xyXG4gICAgMCUsIDgwJSwgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKSB9XHJcbiAgICA0MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wKSB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2stYm91bmNlZGVsYXkge1xyXG4gICAgMCUsIDgwJSwgMTAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICB9IDQwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjApO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gdWstZG90LWxvYWRlcigkdGhlbWUpIHtcclxuICAgIC51aWtpdC1kb3QtbG9hZGVyIHtcclxuICAgICAgICB1c2VyLXNlbGVjdDpub25lOyAgICAgICAgICAgIFxyXG4gICAgICAgICYudWlraXQtaW5saW5lLWRvdC1sb2FkZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICA+c3BhbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICB3aWR0aDogMTVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHdoaXRlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcblxyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGFuaW1hdGlvbihzay1ib3VuY2VkZWxheSAxLjJzIGluZmluaXRlIGVhc2UtaW4tb3V0IGJvdGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICA+LmJvdW5jZTEge1xyXG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IC0wLjMycztcclxuICAgICAgICB9XHJcbiAgICAgICAgPi5ib3VuY2UyIHtcclxuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4xNnM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiQG1peGluIGFuaW1hdGlvbigkYW5pbWF0ZS4uLikge1xyXG4gICAgJG1heDogbGVuZ3RoKCRhbmltYXRlKTtcclxuICAgICRhbmltYXRpb25zOiAnJztcclxuXHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgge1xyXG4gICAgICAgICRhbmltYXRpb25zOiAjeyRhbmltYXRpb25zICsgbnRoKCRhbmltYXRlLCAkaSl9O1xyXG5cclxuICAgICAgICBAaWYgJGkgPCAkbWF4IHtcclxuICAgICAgICAgICAgJGFuaW1hdGlvbnM6ICN7JGFuaW1hdGlvbnMgKyAnLCAnfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhbmltYXRpb246ICRhbmltYXRpb25zO1xyXG59XHJcblxyXG5AbWl4aW4ga2V5ZnJhbWVzKCRhbmltYXRpb25OYW1lKSB7XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgI3skYW5pbWF0aW9uTmFtZX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gICAgQC1tb3ota2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxuICAgIEAtby1rZXlmcmFtZXMgI3skYW5pbWF0aW9uTmFtZX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gICAgQGtleWZyYW1lcyAjeyRhbmltYXRpb25OYW1lfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn0iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMvYW5pbWF0aW9uLnNjc3MnO1xyXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWwvX3NyLW9ubHkuc2Nzcyc7XHJcblxyXG4kaW5wdXQ6ICggc2l6ZTogMjJweCwgbWFyZ2luLXJpZ2h0OiAxMHB4KTtcclxuJHJpcHBsZTogKCBwb3NpdGlvbjogMTBweCwgc2l6ZTogbWFwLWdldCgkaW5wdXQsIHNpemUpICogMyk7XHJcbkBpbmNsdWRlIGtleWZyYW1lcyhyaXBwbGUpIHtcclxuICAgIDUlLFxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDUlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcblxyXG5AbWl4aW4gdWstcmFkaW8oJHRoZW1lKSB7XHJcbiAgICAjeyRwcmVmaXh9LXJhZGlvLWdyb3VwIHtcclxuICAgICAgICAuI3skcHJlZml4fS1yYWRpby1ncm91cCB7XHJcbiAgICAgICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1yYWRpb10ge1xyXG4gICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMTBweDsgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4OyAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJGlucHV0cy1jb25maWc6IG1hcC1nZXQoJHRoZW1lLCBpbnB1dHMpO1xyXG4gICAgJGNvbmZpZzogbWFwLWdldCgkaW5wdXRzLWNvbmZpZywgaW5wdXQtY2hlY2tlZCk7XHJcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5LWNvbG9yKTtcclxuICAgIGlucHV0W3R5cGU9cmFkaW9dIHtcclxuICAgICAgICBAaW5jbHVkZSBzci1vbmx5KCk7XHJcblxyXG4gICAgICAgICY6ZGlzYWJsZWQrbGFiZWw6bm90KDpjaGVja2VkKSwgJi5kaXNhYmxlZCtsYWJlbDpub3QoOmNoZWNrZWQpIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0aGVtaWZ5KGluYWN0aXZlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICtsYWJlbCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAvLyBtYXJnaW46IDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogKG1hcC1nZXQoJGlucHV0LCBzaXplKSArIG1hcC1nZXQoJGlucHV0LCBtYXJnaW4tcmlnaHQpKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBtYXAtZ2V0KCRpbnB1dCwgc2l6ZSkgKyAycHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRpbnB1dCwgc2l6ZSkgKyAycHg7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkaW5wdXQsIHNpemUpO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRpbnB1dCwgc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIG1hcC1nZXQoJGlucHV0LCBzaXplKSB0aGVtaWZ5KHdoaXRlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdGhlbWlmeShpbmFjdGl2ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IChtYXAtZ2V0KCRpbnB1dCwgc2l6ZSkgLyAyKTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IG1hcC1nZXQoJHJpcHBsZSwgcG9zaXRpb24pIC0gMXB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZSwgc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZSwgc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkcHJpbWFyeS1jb2xvciwgMC4xKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDApO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlcitsYWJlbCwgJi5ob3ZlcitsYWJlbHtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpjaGVja2VkK2xhYmVsIHtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDRweCB0aGVtaWZ5KHdoaXRlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYW5pbWF0aW9uKHJpcHBsZSAxcyBub25lKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi51ay1mb3JtLWNvbnRyb2wge1xyXG4gICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIG1pbi1oZWlnaHQ6IDE4cHg7XHJcblxyXG4gICAgJl9fdmFsdWUge1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBtaW4taGVpZ2h0OiA0OHB4O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmX19hZGRvbiB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxufSIsIi5hbGVydCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmctdG9wOiAxNXB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgbWFyZ2luLXRvcDogMjBweDtcclxuICBib3JkZXItcmFkaXVzOiAwLjI1ZW07XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICBoZWlnaHQ6IDQ2cHg7XHJcbiAgY29sb3I6IGJsYWNrO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIFxyXG4gIC5pY29uIHtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xyXG4gIH1cclxuICBcclxuICAuY2xvc2UtaWNvbntcclxuICAgIGZvbnQtc2l6ZTogNi4yMjg1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgfVxyXG5cclxuICAuY2hpbGQtLWZlYXR1cmVkIHtcclxuICAgIHBhZGRpbmctbGVmdDogMTNweDtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICB9XHJcbn0iLCJAaW1wb3J0IFwiX3ZhcmlhYmxlcy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJfbWl4aW5zLnNjc3NcIjtcclxuXHJcbiRwYWRkaW5nLXZlcnRpY2FsOiAxMHB4O1xyXG4kcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4O1xyXG5cclxuJHRleHQtY29sb3I6ICMwMDA7XHJcbi8vIHRoZW1pZnkodGV4dCk7XHJcbiR3aGl0ZS1jb2xvcjogI2ZmZjtcclxuLy8gdGhlbWlmeSh3aGl0ZSk7XHJcblxyXG4ud2wtbG9nby1iYWNrZ3JvdW5ke1xyXG4gICAgY29udGVudDogdmFyKC0tYnJhbmRMb2dvKTtcclxufVxyXG5cclxuOmhvc3Qge1xyXG4gICAgbWluLWhlaWdodDogJGhlYWRlci1oZWlnaHQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnZXQoJGhlYWRlciwgJ2JhY2tncm91bmQnLCAnY29sb3InKTtcclxuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XHJcbiAgICAvLyBTdGlja3kgb24gcmVzcG9uc2l2ZVxyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgei1pbmRleDogOTk7XHJcbiAgICAvLyBFbmQgU3RpY2t5XHJcblxyXG4gICAgLmxvZ28taGVhZGVyIHtcclxuICAgICAgICBoZWlnaHQ6IGdldCgkaGVhZGVyLCAnbG9nbycsICdoZWlnaHQtbW9iaWxlJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRlci1tb2JpbGV7XHJcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogOTkycHgpe1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWQge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWhlaWdodC1kZXNrdG9wIC0gKDIgKiAkcGFkZGluZy12ZXJ0aWNhbCk7XHJcbiAgICAgICAgbWluLWhlaWdodDogJGhlYWRlci1oZWlnaHQtZGVza3RvcDtcclxuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgICAubG9nby1oZWFkZXIge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGdldCgkaGVhZGVyLCAnbG9nbycsICdoZWlnaHQnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRhY3QtYmFyIHtcclxuICAgICAgICBjb2xvcjogZ2V0KCRoZWFkZXIsICdmb250JywgJ2NvbG9yJyk7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBmb250LXdlaWdodDogZ2V0KCRoZWFkZXIsICdmb250Jywnd2VpZ2h0Jyk7XHJcbiAgICAgICAgQGluY2x1ZGUgbWQge1xyXG4gICAgICAgICAgICAuc2hvdy1tZCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNvbnRhY3QtaXRlbSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBnZXQoJGhlYWRlciwgJ2ZvbnQnLCAnY29sb3InKTtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZ2V0KCRoZWFkZXIsICdmb250JywgJ2NvbG9yJyk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cclxuICAgICAgICAgICAgLnVrLWljb24ge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBmaWxsOiBnZXQoJGhlYWRlciwgJ2ZvbnQnLCAnY29sb3InKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuY29udGFjdC1pY29ucyB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGdldCgkaGVhZGVyLCAnZm9udCcsICdzaXplJyk7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTVweDtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGltZ3tcclxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBnZXQoJGhlYWRlciwgJ2ZvbnQnLCAnY29sb3InKTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmFuaW1hdGlvbi1zaG93LWluZm8ge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oKTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogZ2V0KCRoZWFkZXIsICdhbmltYXRpb24nLCAncGhvbmUtc2l6ZScpO1xyXG4gICAgICAgICAgICAgICAgICAgICYuZW1haWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogZ2V0KCRoZWFkZXIsICdhbmltYXRpb24nLCAnZW1haWwtc2l6ZScpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLmFuaW1hdGlvbi1oaWRlLWluZm8ge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oKTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcclxuICAgICAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCLvu79AaW1wb3J0IFwifkB1aWtpdC9jb3JlL3NyYy91aWtpdC1jb3JlXCI7XHJcblxyXG4kZGVmYXVsdC10aGVtZTogJHVrLWF4b3MtdGhlbWU7XHJcbi8vIENvbG9yc1xyXG4kcHJpbWFyeS1jb2xvcjogdWstY29sb3IoZ2V0KCRkZWZhdWx0LXRoZW1lLCBwYWxldHRlcywgcHJpbWFyeSkpO1xyXG4kc2Vjb25kYXJ5LWNvbG9yOiB1ay1jb2xvcihnZXQoJGRlZmF1bHQtdGhlbWUsIHBhbGV0dGVzLCBzZWNvbmRhcnkpKTtcclxuXHJcbi8vRm9udHNcclxuJHVrLXByaW1hcnktZm9udC1uYW1lOiBnZXQoJGRlZmF1bHQtdGhlbWUsIGZvbnRzLCBmYW1pbGllcywgcHJpbWFyeSwgbmFtZSk7XHJcbiR1ay1zZWNvbmRhcnktZm9udC1uYW1lOiBnZXQoJGRlZmF1bHQtdGhlbWUsIGZvbnRzLCBmYW1pbGllcywgc2Vjb25kYXJ5LCBuYW1lKTtcclxuXHJcbiR0aXRsZS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRub3RlLWNvbG9yOiAjZmZmO1xyXG4kbm90ZS1iYWNrZ3JvdW5kOiAjZmZmO1xyXG4kaGVhZGVyLWhlaWdodDogNTFweDtcclxuJGhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbiRtb2RhbDogKFxyXG4gICAgdGl0bGU6KFxyXG4gICAgICAgIGNvbG9yOiAjMWUzODY5XHJcbiAgICApLFxyXG4gICAgYm9keTooXHJcbiAgICAgICAgY29sb3I6ICMyMjJcclxuICAgICksXHJcbiAgICBpY29uOihcclxuICAgICAgICBjb2xvcjogI2ZmZixcclxuICAgICAgICBzaXplOiA4MHB4XHJcbiAgICApXHJcbik7XHJcblxyXG4kYmFubmVyOiAoXHJcbiAgICBhcnJvdzooXHJcbiAgICAgICAgIGltYWdlOiB1cmwoJ34vYXNzZXRzL2ljb25zL2Fycm93LXByaW1hcnkuc3ZnJyksXHJcbiAgICAgICAgIGxlZnQ6IDAsXHJcbiAgICAgICAgIGxlZnQtbW9iaWxlOiAwXHJcbiAgICApLFxyXG4gICAgYmFja2dyb3VuZDooXHJcbiAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcixcclxuICAgICAgICAgZGVza3RvcDooXHJcbiAgICAgICAgICAgICAgaW1hZ2UtdXJsOiB1cmwoJ34vYXNzZXRzL2ltYWdlcy90aXRsZS1iYW5uZXIucG5nJyksXHJcbiAgICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQsXHJcbiAgICAgICAgICAgICAgc2l6ZTogMTAwJVxyXG4gICAgICAgICApLFxyXG4gICAgICAgICBtb2JpbGU6KFxyXG4gICAgICAgICAgICAgIGltYWdlLXVybDogdXJsKCd+L2Fzc2V0cy9pbWFnZXMvbW9iaWxlLXRpdGxlLWJhbm5lci5wbmcnKSxcclxuICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdCxcclxuICAgICAgICAgICAgICBzaXplOiAxMDAlIGF1dG9cclxuICAgICAgICAgKSxcclxuICAgICksXHJcbiAgICAgdGl0bGU6KFxyXG4gICAgICAgICAgd2VpZ2h0OiA1MDAsXHJcbiAgICAgICAgICB3ZWlnaHQtbW9iaWxlOiA1MDBcclxuICAgICApLFxyXG4gICAgIGZvbnQtZmFtaWx5OiAkdWstc2Vjb25kYXJ5LWZvbnQtbmFtZSxcclxuICAgICBwcm9kdWN0LWxhYmVsOihcclxuICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLFxyXG4gICAgICAgICAgd2VpZ2h0OiA1MDBcclxuICAgICApXHJcbik7XHJcblxyXG4kaGVhZGVyOihcclxuICAgICBsb2dvOihcclxuICAgICAgICAgIGhlaWdodDogNDBweCxcclxuICAgICAgICAgIGhlaWdodC1tb2JpbGU6IDIwcHhcclxuICAgICApLFxyXG4gICAgIGZvbnQ6KFxyXG4gICAgICAgICBjb2xvcjogIzFFMzg2MCxcclxuICAgICAgICAgIHdlaWdodDogNTAwLFxyXG4gICAgICAgICAgc2l6ZTogMTZweFxyXG4gICAgICksXHJcbiAgICAgYW5pbWF0aW9uOihcclxuICAgICAgICAgIHBob25lLXNpemU6IDE0OHB4LFxyXG4gICAgICAgICAgZW1haWwtc2l6ZTogMzM5cHhcclxuICAgICApLFxyXG4gICAgIGJhY2tncm91bmQ6KFxyXG4gICAgICAgIGNvbG9yOiAjRkZGRkZGXHJcbiAgICApXHJcbik7XHJcblxyXG4kZXhpc3RpbmctcGFuZWw6KFxyXG4gICAgIHRhYjooXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLFxyXG4gICAgICAgICAgZm9udC1jb2xvci1ob3ZlcjogJHByaW1hcnktY29sb3JcclxuICAgICApXHJcbik7XHJcblxyXG4kcGFuZWwtcmV2aWV3LXN1Ym1pdDooXHJcbiAgdGl0bGU6IChcclxuICAgIGZvbnQtZmFtaWx5OiAkdWstc2Vjb25kYXJ5LWZvbnQtbmFtZVxyXG4gICksXHJcbiAgYXJyb3c6KFxyXG4gICAgICBjb2xvcjogM3B4IHNvbGlkICRzZWNvbmRhcnktY29sb3JcclxuICApLFxyXG4gIGVkaXQtYnV0dG9uOihcclxuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yXHJcbiAgKVxyXG4pO1xyXG5cclxuJHByb2dyZXNzLWJhcjooXHJcbiAgICAgYmFja2dyb3VuZC1jb2xvcjooXHJcbiAgICAgICAgIGJhc2U6IHRyYW5zcGFyZW50LFxyXG4gICAgICAgICBwcm9ncmVzczogI0ZBQTc0QVxyXG4gICAgIClcclxuKTtcclxuXHJcbiRub3RlLWJveDooXHJcbiAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjVGNSxcclxuICAgICB0aXRsZTooXHJcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3IsXHJcbiAgICAgICAgICB3ZWlnaHQ6IDYwMFxyXG4gICAgICksXHJcbiAgICAgZGVzY3JpcHRpb246KFxyXG4gICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yXHJcbiAgICAgKVxyXG4pO1xyXG5cclxuJHN0ZXBzLWNpcmNsZTooXHJcbiAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRixcclxuICAgICBjb2xvci10ZXh0OiAkcHJpbWFyeS1jb2xvcixcclxuICAgICBjb21wbGV0ZWQ6KFxyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3IsXHJcbiAgICAgICAgICBjb2xvci10ZXh0OiAjRkZGRkZGLFxyXG4gICAgIClcclxuKTtcclxuXHJcbiRsb2FkaW5nLXNjcmVlbjooXHJcbiAgICBsb2dvOiB1cmwoJ34vYXNzZXRzL2hlYWRlci9sb2dvLnN2ZycpLFxyXG4gICAgc2l6ZTogYXV0b1xyXG4pO1xyXG5cclxuLy9UT0RPIG1hdGNoIGNvbG9yc1xyXG4iLCJAbWl4aW4gdHJhbnNpdGlvbigpIHtcclxuICAgIC1tb3otdHJhbnNmb3JtOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgLW8tdHJhbnNmb3JtOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgLW1zLXRyYW5zZm9ybTogYWxsIC4ycyBlYXNlLWluLW91dDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbkBtaXhpbiByb3RhdGUoJHZhbHVlKSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKCR2YWx1ZSk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKCR2YWx1ZSk7XHJcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgkdmFsdWUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKCR2YWx1ZSk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkdmFsdWUpO1xyXG59XHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIoJGNvbG9yKSB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgLyogQ2hyb21lL09wZXJhL1NhZmFyaSAqL1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIH1cclxuXHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOSsgKi9cclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICB9XHJcblxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBJRSAxMCsgKi9cclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICB9XHJcblxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOC0gKi9cclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2xhdGUoJHhWYWx1ZSwgJHlWYWx1ZSkge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeFZhbHVlLCAkeVZhbHVlKTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHhWYWx1ZSwgJHlWYWx1ZSk7XHJcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeFZhbHVlLCAkeVZhbHVlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeFZhbHVlLCAkeVZhbHVlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR4VmFsdWUsICR5VmFsdWUpO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNsYXRlLWNlbnRlcigpIHtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgtNTAlLCAwKTtcclxufVxyXG4iXX0= */\"","declare var environment: any;\r\n\r\nimport { Component, ChangeDetectionStrategy, ViewChild, OnInit, ElementRef, Renderer2 } from '@angular/core';\r\n// NgRx Store\r\nimport { Store, select } from '@ngrx/store';\r\nimport { EnrollmentState, GetBrandLogoAction } from 'store';\r\n// Selectors\r\nimport { getBrandLogo, getBrokerEmail, getBrokerPhone, getOrganizationEmail, getOrganizationPhone } from 'store/selectors';\r\nimport { switchMap, filter, first, map } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'axos-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n showPhone = false;\r\n showEmail = false;\r\n @ViewChild('logoImg', { static: true }) logoImg: ElementRef;\r\n\r\n public isAxosUniversal = environment.isAxosUniversal;\r\n\r\n organizationEmail = environment.organizationEmail;\r\n organizationPhone = environment.organizationPhone;\r\n brokerPhone$ = this.store.pipe(select(getBrokerPhone));\r\n brokerEmail$ = this.store.pipe(select(getBrokerEmail));\r\n\r\n brandLogo$ = this.store.select(getBrandLogo).pipe(\r\n switchMap(logo => {\r\n if(!logo) {\r\n this.store.dispatch(new GetBrandLogoAction(environment.brandName));\r\n }\r\n return this.store.select(getBrandLogo).pipe(filter(brandLogo => !!brandLogo));\r\n }),\r\n first()\r\n );\r\n\r\n constructor(\r\n private store: Store,\r\n private render: Renderer2\r\n ) { }\r\n\r\n ngOnInit() {\r\n const nImg = this.logoImg.nativeElement;\r\n this.render.listen(nImg, 'error', () => this.render.setStyle(nImg, 'display', 'none'));\r\n }\r\n\r\n togglePhone() { this.showPhone = !this.showPhone; }\r\n toggleEmail() { this.showEmail = !this.showEmail; }\r\n}\r\n","export * from './banner/banner.component';\r\nexport * from './footer/footer.component';\r\nexport * from './footer-mobile/footer-mobile.component';\r\nexport * from './header/header.component';\r\nexport * from './header-mobile/header-mobile.component';\r\nexport * from './progress-bar/progress-bar.component';\r\nexport * from './loading-spinner/loading-spinner.component';\r\nexport * from './live-chat/live-chat.component';\r\nexport * from './layout-template/layout-template.component';\r\nexport * from './browser-banner/browser-banner.component';\r\nexport * from './chat-bot/chat-bot.component'\r\n\r\nimport { BannerComponent } from './banner/banner.component';\r\nimport { FooterComponent } from './footer/footer.component';\r\nimport { FooterMobileComponent } from './footer-mobile/footer-mobile.component';\r\nimport { HeaderComponent } from './header/header.component';\r\nimport { HeaderMobileComponent } from './header-mobile/header-mobile.component';\r\nimport { ProgressBarComponent } from './progress-bar/progress-bar.component';\r\nimport { LoadingSpinnerComponent } from './loading-spinner/loading-spinner.component';\r\nimport { LiveChatComponent } from './live-chat/live-chat.component';\r\nimport { LayoutTemplateComponent } from './layout-template/layout-template.component';\r\nimport { BrowserBannerComponent } from './browser-banner/browser-banner.component';\r\nimport { ChatBotComponent } from './chat-bot/chat-bot.component'\r\n\r\nexport const components = [\r\n LoadingSpinnerComponent,\r\n // Layout Components\r\n LayoutTemplateComponent,\r\n HeaderComponent,\r\n FooterComponent,\r\n HeaderMobileComponent,\r\n FooterMobileComponent,\r\n // Banner\r\n BannerComponent,\r\n ProgressBarComponent,\r\n LiveChatComponent,\r\n BrowserBannerComponent,\r\n ChatBotComponent\r\n]\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'axos-layout-template',\r\n templateUrl: './layout-template.component.html'\r\n})\r\nexport class LayoutTemplateComponent { }\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9saXZlLWNoYXQvbGl2ZS1jaGF0LmNvbXBvbmVudC5zY3NzIn0= */\"","declare var window: any, liveagent: any;\r\n// Ng\r\nimport { Component } from '@angular/core';\r\n// RxJs\r\nimport { takeUntil, filter, combineLatest } from 'rxjs/operators';\r\n// NgRx\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { getPrimaryApplicant, getChatSettings, getUser } from 'store/selectors';\r\n// Services\r\nimport { LazyLoadingService } from 'app/core/services';\r\nimport { BaseDestroyComponent } from 'app/core/components';\r\nimport { ChatSettings, IUser } from 'models';\r\nimport { CREATE_UUID } from 'app/core/utils';\r\n\r\n@Component({\r\n selector: 'axos-live-chat',\r\n templateUrl: './live-chat.component.html',\r\n styleUrls: ['./live-chat.component.scss']\r\n})\r\nexport class LiveChatComponent extends BaseDestroyComponent {\r\n\r\n settings: ChatSettings;\r\n\r\n enableLogging = '';\r\n isLiveChatOpen = false;\r\n htmlSettings = {\r\n onlineButtonId: '',\r\n offlineButtonId: '',\r\n ButtonId: '',\r\n IsActive: true\r\n };\r\n\r\n primaryApplicant$ = this.store$.select(getPrimaryApplicant);\r\n\r\n chatSettings$ = this.store$.select(getChatSettings)\r\n .pipe(filter(settings => !!settings));\r\n user$ = this.store$.select(getUser);\r\n\r\n constructor(\r\n private store$: Store,\r\n private lazyLoading: LazyLoadingService\r\n ) {\r\n super();\r\n this.chatSettings$.pipe(\r\n takeUntil(this.unsubscribe$),\r\n filter(settings => settings.IsActive),\r\n combineLatest(this.user$),\r\n ).subscribe(data => {\r\n this.settings = data[0];\r\n if(this.settings) { this.setChat(data[1]); }\r\n });\r\n }\r\n\r\n toggleLiveChat() { this.isLiveChatOpen = !this.isLiveChatOpen; };\r\n\r\n private setLoggedinChat(user: IUser) {\r\n this.htmlSettings.ButtonId = this.settings.LoginButtonId;\r\n if (user.FirstName) {\r\n liveagent.addCustomDetail('FirstName', user.FirstName, false);\r\n }\r\n if (user.LastName) {\r\n liveagent.addCustomDetail('LastName', user.LastName, false);\r\n }\r\n if (user.Email) {\r\n liveagent.addCustomDetail('Email', user.Email, false);\r\n }\r\n if (user.CIF) {\r\n liveagent.addCustomDetail('CIF', user.CIF, false);\r\n }\r\n if (user.PhoneNumber) {\r\n liveagent.addCustomDetail('PhoneNumber', user.PhoneNumber , false);\r\n }\r\n if (user.ApplicationId) {\r\n liveagent.addCustomDetail('ApplicationId', user.ApplicationId, false);\r\n }\r\n liveagent.addCustomDetail('UserType', user.CIF ? 'Existing Customer' : 'New Enroller', false);\r\n /*\r\n if (applicationInfo.Accounts && applicationInfo.Accounts.length) {\r\n let product: any = applicationInfo.Accounts.shift();\r\n let productName = product && product.ProductName;\r\n if (productName)\r\n liveagent.addCustomDetail('Product','\" + productName + \"', false);\r\n }\r\n */\r\n }\r\n\r\n private setChat(user: IUser) {\r\n const buttonId = user ? this.settings.LoginButtonId : this.settings.ButtonId;\r\n\r\n // Detach prev button click listeners\r\n this.htmlSettings.onlineButtonId = `liveagent_button_online_${buttonId}`;\r\n this.htmlSettings.offlineButtonId = `liveagent_button_offline_${buttonId}`;\r\n\r\n delete window.liveagent;\r\n delete window.liveAgentDeployment;\r\n // Load SalesForce Script\r\n this.lazyLoading.loadScript(`${this.settings.DeploymentUrl}?${CREATE_UUID()}`)\r\n .pipe(filter(loaded => loaded))\r\n .subscribe(() => {\r\n if (this.enableLogging) { eval(this.enableLogging); }\r\n liveagent.init(this.settings.Url, this.settings.DeploymentId, this.settings.OrgId);\r\n if (user) { this.setLoggedinChat(user); }\r\n\r\n const onlineBtn = document.getElementById(this.htmlSettings.onlineButtonId),\r\n offlineBtn = document.getElementById(this.htmlSettings.offlineButtonId),\r\n closeBtn = document.getElementById(`${this.htmlSettings.onlineButtonId}_close`),\r\n openChatFn = () => liveagent.startChatWithWindow(buttonId, 'live-chat__frame');\r\n\r\n liveagent.showWhenOnline(buttonId, onlineBtn);\r\n liveagent.showWhenOffline(buttonId, offlineBtn);\r\n\r\n onlineBtn.addEventListener('click', openChatFn);\r\n closeBtn.addEventListener('click', openChatFn);\r\n });\r\n }\r\n}\r\n","module.exports = \"/**\\r\\n* Helper mixin to create a linear-gradient\\r\\n*\\r\\n*/\\n/*\\r\\nhtml,\\r\\nbody {\\r\\n font-family: 'Libre Franklin', 'Helvetica', sans-serif;\\r\\n // color: themify(text);\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\na {\\r\\n color: themify(link);\\r\\n cursor: pointer;\\r\\n text-decoration: none;\\r\\n -webkit-tap-highlight-color: transparent;\\r\\n}\\r\\n\\r\\n.round-image {\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n\\r\\n*/\\n.fcontainer-fluid,\\n.fcontainer {\\n margin: 0 auto; }\\n.fcontainer-fluid {\\n padding: 0 2rem; }\\n.frow {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex: 0 1 auto;\\n flex: 0 1 auto;\\n -ms-flex-direction: row;\\n flex-direction: row;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap; }\\n.frow.reverse {\\n -ms-flex-direction: row-reverse;\\n flex-direction: row-reverse; }\\n.finline {\\n display: -ms-inline-flexbox;\\n display: inline-flex; }\\n.reset-padding {\\n padding: 0; }\\n.reset-margin {\\n margin: 0; }\\n.uk-btn.none {\\n border: none;\\n background-color: transparent;\\n text-transform: none;\\n min-width: 0;\\n min-height: 0;\\n padding: 0; }\\n.uk-btn.icon {\\n font-weight: 500;\\n font-size: 14px;\\n line-height: 16px;\\n font-weight: bold; }\\n.uk-shadow-0 {\\n box-shadow: none !important; }\\n.uk-shadow-1 {\\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); }\\n.uk-shadow-1-half {\\n box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2); }\\n.uk-shadow-2 {\\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-3 {\\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-4 {\\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-5 {\\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.3); }\\n.uk-nav {\\n padding-left: 0;\\n margin-bottom: 0;\\n list-style: none;\\n box-sizing: border-box; }\\n.uk-nav .uk-nav-item {\\n clear: both;\\n float: none;\\n display: inline-block;\\n margin: 0px; }\\n.uk-nav .uk-nav-item:hover {\\n background-color: #eee; }\\n.uk-tooltip {\\n background-color: #293541;\\n color: #FFF;\\n position: fixed;\\n max-width: 280px;\\n font-size: 14px;\\n padding: 5px 10px;\\n z-index: 2; }\\n.uk-tooltip::before {\\n content: '';\\n position: absolute;\\n display: inline-block;\\n height: 0;\\n width: 0;\\n border: solid 6px transparent; }\\n.uk-tooltip.white {\\n background-color: #FFF;\\n color: #293541; }\\n.uk-tooltip.bottom::before {\\n border-bottom-color: #293541;\\n margin-top: -12px;\\n top: 0; }\\n.uk-tooltip.bottom.white::before {\\n border-bottom-color: #FFF !important; }\\n.uk-tooltip.top::before {\\n border-top-color: #293541;\\n margin-bottom: -12px;\\n bottom: 0; }\\n.uk-tooltip.top.white::before {\\n border-top-color: #FFF !important; }\\n.uk-tooltip.left::before {\\n border-left-color: #293541;\\n margin-right: -12px;\\n right: 0; }\\n.uk-tooltip.right::before {\\n border-right-color: #293541;\\n margin-left: -12px;\\n left: 0; }\\n.uk-label.uk-tooltip-host {\\n position: relative;\\n top: 5px; }\\n.uk-stepper {\\n display: inline-block; }\\n.uk-stepper .uk-progress-title {\\n color: #283541;\\n font-size: 18px;\\n font-weight: 600;\\n padding-top: 7px; }\\n.uk-stepper .uk-progress-step-body {\\n padding-top: 8px;\\n padding-bottom: 20px;\\n display: block; }\\n.uk-stepper .uk-progress-track {\\n list-style-type: none;\\n table-layout: fixed;\\n display: table;\\n width: 100%;\\n margin: 0;\\n padding: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step {\\n display: table-cell;\\n position: relative;\\n text-align: center;\\n padding-top: 27px; }\\n.uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n content: '';\\n background-color: #C9CCCF;\\n position: absolute;\\n top: 8.5px;\\n height: 3px;\\n width: 50%;\\n z-index: -1; }\\n.uk-stepper .uk-progress-track .uk-progress-step::before {\\n left: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step::after {\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step:first-child::before {\\n width: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step:last-child::after {\\n width: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n background-color: #C9CCCF;\\n position: absolute;\\n border-radius: 50%;\\n display: block;\\n margin: 0 auto;\\n height: 20px;\\n width: 20px;\\n padding: 0 4px;\\n top: 0;\\n left: 0;\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap .uk-icon {\\n display: none; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n position: absolute;\\n border-radius: 50%;\\n margin: 0 auto;\\n margin-top: 2px;\\n height: 16px;\\n width: 16px;\\n content: '';\\n left: 0;\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-progress-text {\\n position: relative;\\n color: #5F6871;\\n text-transform: capitalize;\\n font-size: 14px;\\n font-weight: 600; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border: solid 2px #FFF;\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active::before {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active.wip::after {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done .uk-step-icon-wrap {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done .uk-step-icon-wrap .uk-icon {\\n color: #FFF;\\n display: initial; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done::before, .uk-stepper .uk-progress-track .uk-progress-step.done::after {\\n background-color: #1e8257; }\\n@media only screen and (min-width: 768px) {\\n .uk-stepper .uk-progress-track .uk-progress-step {\\n padding-top: 32px; }\\n .uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n top: 11px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n height: 25px;\\n width: 25px;\\n padding: 0 6px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n height: 21px;\\n width: 21px; }\\n .uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border-width: 3px; } }\\n@media only screen and (min-width: 992px) {\\n .uk-stepper .uk-progress-track .uk-progress-step {\\n padding-top: 42px; }\\n .uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n top: 16px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n height: 35px;\\n width: 35px;\\n padding: 0 8px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n height: 31px;\\n width: 31px; }\\n .uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border-width: 4px; } }\\n.uk-btn.icon .uk-icon {\\n height: 1.5em;\\n width: 1.5em; }\\n.uk-btn .uk-icon {\\n height: 1em;\\n width: 1em;\\n font-size: 1em;\\n vertical-align: middle; }\\n.uk-icon {\\n display: inline-block;\\n stroke-width: 0;\\n stroke: currentColor;\\n fill: currentColor;\\n font-size: 1.5em;\\n max-width: 1.5em;\\n max-height: 1.5em; }\\n@font-face {\\n font-family: \\\"bofi-icon\\\";\\n src: url(\\\"/assets/bofi-icon.eot\\\");\\n src: url(\\\"/assets/bofi-icon.eot?#iefix\\\") format(\\\"embedded-opentype\\\"), url(\\\"/assets/bofi-icon.woff\\\") format(\\\"woff\\\"), url(\\\"/assets/bofi-icon.ttf\\\") format(\\\"truetype\\\"), url(\\\"/assets/bofi-icon.svg#bofi-icon\\\") format(\\\"svg\\\");\\n font-weight: normal;\\n font-style: normal; }\\n[data-icon]:before {\\n font-family: \\\"bofi-icon\\\" !important;\\n content: attr(data-icon);\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n[class^=\\\"bofi-\\\"]:before,\\n[class*=\\\" bofi-\\\"]:before {\\n font-family: \\\"bofi-icon\\\" !important;\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n.bofi-recurring:before {\\n content: \\\"\\\\61\\\"; }\\n.bofi-ebill:before {\\n content: \\\"\\\\67\\\"; }\\n.bofi-add:before {\\n content: \\\"\\\\6f\\\"; }\\n.bofi-atm:before {\\n content: \\\"\\\\71\\\"; }\\n.bofi-automatic:before {\\n content: \\\"\\\\72\\\"; }\\n.bofi-bank:before {\\n content: \\\"\\\\73\\\"; }\\n.bofi-bankfees:before {\\n content: \\\"\\\\74\\\"; }\\n.bofi-datepicker:before {\\n content: \\\"\\\\6a\\\"; }\\n.bofi-deposit:before {\\n content: \\\"\\\\77\\\"; }\\n.bofi-edit:before {\\n content: \\\"\\\\78\\\"; }\\n.bofi-faq:before {\\n content: \\\"\\\\7a\\\"; }\\n.bofi-messages:before {\\n content: \\\"\\\\41\\\"; }\\n.bofi-menu:before {\\n content: \\\"\\\\43\\\"; }\\n.bofi-interest:before {\\n content: \\\"\\\\65\\\"; }\\n.bofi-pending:before {\\n content: \\\"\\\\4c\\\"; }\\n.bofi-phone:before {\\n content: \\\"\\\\4d\\\"; }\\n.bofi-print:before {\\n content: \\\"\\\\4f\\\"; }\\n.bofi-refund:before {\\n content: \\\"\\\\52\\\"; }\\n.bofi-remove:before {\\n content: \\\"\\\\53\\\"; }\\n.bofi-success:before {\\n content: \\\"\\\\54\\\"; }\\n.bofi-search:before {\\n content: \\\"\\\\56\\\"; }\\n.bofi-password:before {\\n content: \\\"\\\\6d\\\"; }\\n.bofi-username:before {\\n content: \\\"\\\\75\\\"; }\\n.bofi-gear:before {\\n content: \\\"\\\\68\\\"; }\\n.bofi-contact-list:before {\\n content: \\\"\\\\42\\\"; }\\n.bofi-filter:before {\\n content: \\\"\\\\76\\\"; }\\n.bofi-debit:before {\\n content: \\\"\\\\62\\\"; }\\n.bofi-support:before {\\n content: \\\"\\\\69\\\"; }\\n.bofi-user-settings:before {\\n content: \\\"\\\\70\\\"; }\\n.bofi-accounts:before {\\n content: \\\"\\\\64\\\"; }\\n.bofi-transfer:before {\\n content: \\\"\\\\66\\\"; }\\n.bofi-photo:before {\\n content: \\\"\\\\79\\\"; }\\n.bofi-check-mark:before {\\n content: \\\"\\\\46\\\"; }\\n.bofi-information:before {\\n content: \\\"\\\\49\\\"; }\\n.bofi-chat:before {\\n content: \\\"\\\\4b\\\"; }\\n.bofi-cancel:before {\\n content: \\\"\\\\4e\\\"; }\\n.bofi-send-icon:before {\\n content: \\\"\\\\55\\\"; }\\n.bofi-warning:before {\\n content: \\\"\\\\58\\\"; }\\n.bofi-upload:before {\\n content: \\\"\\\\5a\\\"; }\\n.bofi-thumbsup:before {\\n content: \\\"\\\\30\\\"; }\\n.bofi-pdf:before {\\n content: \\\"\\\\47\\\"; }\\n.bofi-check:before {\\n content: \\\"\\\\48\\\"; }\\n.bofi-star:before {\\n content: \\\"\\\\36\\\"; }\\n.bofi-camera:before {\\n content: \\\"\\\\32\\\"; }\\n.bofi-delivery-method:before {\\n content: \\\"\\\\34\\\"; }\\n.bofi-download:before {\\n content: \\\"\\\\37\\\"; }\\n.bofi-ebill-paybills:before {\\n content: \\\"\\\\38\\\"; }\\n.bofi-flag:before {\\n content: \\\"\\\\22\\\"; }\\n.bofi-alert-history:before {\\n content: \\\"\\\\24\\\"; }\\n.bofi-mobiledeposit:before {\\n content: \\\"\\\\28\\\"; }\\n.bofi-onetime:before {\\n content: \\\"\\\\29\\\"; }\\n.bofi-personal-message:before {\\n content: \\\"\\\\2c\\\"; }\\n.bofi-text-message:before {\\n content: \\\"\\\\4a\\\"; }\\n.bofi-eye-outline:before {\\n content: \\\"\\\\50\\\"; }\\n.bofi-attach:before {\\n content: \\\"\\\\51\\\"; }\\n.bofi-logout:before {\\n content: \\\"\\\\6b\\\"; }\\n.bofi-close:before {\\n content: \\\"\\\\45\\\"; }\\n.bofi-gear-circle:before {\\n content: \\\"\\\\57\\\"; }\\n.bofi-thumbsup-circle:before {\\n content: \\\"\\\\59\\\"; }\\n.bofi-modal-send:before {\\n content: \\\"\\\\6c\\\"; }\\n.bofi-add-1:before {\\n content: \\\"\\\\44\\\"; }\\n.bofi-group:before {\\n content: \\\"\\\\33\\\"; }\\n.bofi-home:before {\\n content: \\\"\\\\35\\\"; }\\n.bofi-personal-info:before {\\n content: \\\"\\\\39\\\"; }\\n.bofi-person-check:before {\\n content: \\\"\\\\21\\\"; }\\n.bofi-person:before {\\n content: \\\"\\\\23\\\"; }\\n.bofi-signer:before {\\n content: \\\"\\\\25\\\"; }\\n.bofi-datepicker-1:before {\\n content: \\\"\\\\26\\\"; }\\n.bofi-refund-1:before {\\n content: \\\"\\\\63\\\"; }\\n.bofi-recurring-1:before {\\n content: \\\"\\\\27\\\"; }\\n.bofi-messages-1:before {\\n content: \\\"\\\\2a\\\"; }\\n.bofi-faq-1:before {\\n content: \\\"\\\\2b\\\"; }\\n.bofi-gear-1:before {\\n content: \\\"\\\\2d\\\"; }\\n.bofi-remove-1:before {\\n content: \\\"\\\\2e\\\"; }\\n.bofi-refund-2:before {\\n content: \\\"\\\\2f\\\"; }\\n.bofi-username-1:before {\\n content: \\\"\\\\3a\\\"; }\\n.bofi-search-1:before {\\n content: \\\"\\\\3b\\\"; }\\n.bofi-password-1:before {\\n content: \\\"\\\\3c\\\"; }\\n.bofi-dashboard:before {\\n content: \\\"\\\\3d\\\"; }\\n.bofi-atm-1:before {\\n content: \\\"\\\\3e\\\"; }\\n.bofi-pending-1:before {\\n content: \\\"\\\\3f\\\"; }\\n.bofi-success-1:before {\\n content: \\\"\\\\40\\\"; }\\n.bofi-phone-1:before {\\n content: \\\"\\\\5b\\\"; }\\n.bofi-print-1:before {\\n content: \\\"\\\\5d\\\"; }\\n.bofi-menu-1:before {\\n content: \\\"\\\\5e\\\"; }\\n.bofi-interest-1:before {\\n content: \\\"\\\\5f\\\"; }\\n.bofi-ic-contact-list:before {\\n content: \\\"\\\\60\\\"; }\\n.bofi-deposit-1:before {\\n content: \\\"\\\\7b\\\"; }\\n.bofi-automatic-1:before {\\n content: \\\"\\\\7c\\\"; }\\n.bofi-automaticpayment:before {\\n content: \\\"\\\\7d\\\"; }\\n.bofi-bank-1:before {\\n content: \\\"\\\\7e\\\"; }\\n.bofi-bankfees-1:before {\\n content: \\\"\\\\5c\\\"; }\\n.bofi-edit-1:before {\\n content: \\\"\\\\e000\\\"; }\\n.bofi-1498195592-icon15-8:before {\\n content: \\\"\\\\6e\\\"; }\\n.bofi-arrow-chevron:before {\\n content: \\\"\\\\31\\\"; }\\n.cdk-overlay-container,\\n.cdk-global-overlay-wrapper {\\n pointer-events: none;\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: 100%; }\\n.cdk-overlay-container {\\n position: fixed;\\n z-index: 1000; }\\n.cdk-global-overlay-wrapper {\\n display: -ms-flexbox;\\n display: flex;\\n position: absolute;\\n z-index: 1000; }\\n.cdk-overlay-pane {\\n position: absolute;\\n pointer-events: auto;\\n box-sizing: border-box;\\n z-index: 1000; }\\n.cdk-overlay-backdrop {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n z-index: 1000;\\n pointer-events: auto;\\n -webkit-tap-highlight-color: transparent;\\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\\n opacity: 0; }\\n.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 1; }\\n.cdk-overlay-dark-backdrop {\\n background: rgba(0, 0, 0, 0.288); }\\n.cdk-overlay-transparent-backdrop, .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 0; }\\n.cdk-global-scrollblock {\\n position: fixed;\\n width: 100%;\\n overflow-y: scroll; }\\n@-webkit-keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0); }\\n 40% {\\n -webkit-transform: scale(1); } }\\n@keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0);\\n transform: scale(0); }\\n 40% {\\n -webkit-transform: scale(1);\\n transform: scale(1); } }\\n@-webkit-keyframes ripple {\\n 5%,\\n 100% {\\n opacity: 0; }\\n 5% {\\n opacity: 1; } }\\n@keyframes ripple {\\n 5%,\\n 100% {\\n opacity: 0; }\\n 5% {\\n opacity: 1; } }\\n.uk-form-control {\\n display: inline-table;\\n cursor: pointer;\\n position: relative;\\n box-sizing: border-box;\\n min-height: 18px; }\\n.uk-form-control__value {\\n display: table-cell;\\n max-width: 0;\\n width: 100%;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n min-height: 48px; }\\n.uk-form-control__addon {\\n padding-left: 10px;\\n display: table-cell;\\n vertical-align: middle; }\\n.alert {\\n position: relative;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n margin-bottom: 20px;\\n margin-top: 20px;\\n border-radius: 0.25em;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: nowrap;\\n flex-wrap: nowrap;\\n height: 46px;\\n color: black;\\n font-size: 16px;\\n -ms-flex-align: center;\\n align-items: center; }\\n.alert .icon {\\n height: 20px;\\n width: 20px;\\n margin-left: 15px;\\n margin-top: -2px; }\\n.alert .close-icon {\\n font-size: 6.2285px;\\n margin-right: 15px; }\\n.alert .child--featured {\\n padding-left: 13px;\\n -ms-flex-positive: 1;\\n flex-grow: 1; }\\n.loading-screen {\\n background: rgba(255, 255, 255, 0.95);\\n left: 0;\\n height: 100%;\\n position: fixed;\\n top: 0;\\n width: 100%;\\n z-index: 9999; }\\n.loading-screen .loading-container {\\n -webkit-transform: translate(-50%, -50%);\\n -ms-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n position: absolute;\\n left: 50%;\\n text-align: center;\\n top: 40%; }\\n.loading-screen .loading-container .loading-logo {\\n margin-bottom: 20px;\\n opacity: 1 !important;\\n -moz-transform: all .2s ease-in-out;\\n -webkit-transition: all .2s ease-in-out;\\n -o-transform: all .2s ease-in-out;\\n -ms-transform: all .2s ease-in-out;\\n transition: all .2s ease-in-out;\\n background-image: var(--brandLogo);\\n width: 320px;\\n height: 100px;\\n background-size: contain;\\n background-repeat: no-repeat;\\n background-position: bottom center; }\\n.loading-screen .loading-container .loader {\\n border: 3px solid #E9EAEC;\\n /* Light grey */\\n border-top: 3px solid #1e3860;\\n border-radius: 50%;\\n width: 78px;\\n height: 78px;\\n -webkit-animation: spin 2s linear infinite;\\n animation: spin 2s linear infinite;\\n left: 50%;\\n margin-left: -39px;\\n position: absolute; }\\n@-webkit-keyframes spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg); }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg); } }\\n@keyframes spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg); }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg); } }\\n@media (max-width: 750px) {\\n .loading-screen .loading-container {\\n padding: 0 15px; } }\\n@media (max-width: 400px) {\\n .loading-screen .loading-container .loading-logo {\\n width: 200px; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2xvYWRpbmctc3Bpbm5lci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXG1peGluc1xcaGVscGVyc1xcX2xpbmVhci1ncmFkaWVudC5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvbG9hZGluZy1zcGlubmVyL2xvYWRpbmctc3Bpbm5lci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2xvYWRpbmctc3Bpbm5lci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGdsb2JhbFxcX2dsb2JhbC5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvbG9hZGluZy1zcGlubmVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcZ3JpZFxcX2NvbnRhaW5lci5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvbG9hZGluZy1zcGlubmVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcZ3JpZFxcX3Jvdy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvbG9hZGluZy1zcGlubmVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcdXRpbGl0aWVzXFxfcmVzZXRzLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9sb2FkaW5nLXNwaW5uZXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFx1dGlsaXRpZXNcXF9zaGFkb3cuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2xvYWRpbmctc3Bpbm5lci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXG5hdnNcXF9iYXNlLW5hdnMuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2xvYWRpbmctc3Bpbm5lci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXHRvb2x0aXBcXF90b29sdGlwLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9sb2FkaW5nLXNwaW5uZXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxzdGVwcGVyXFxfc3RlcHBlci5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvbG9hZGluZy1zcGlubmVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcX3ZhcmlhYmxlcy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvbG9hZGluZy1zcGlubmVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcYnJhbmRzXFxfY29sb3JzLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9sb2FkaW5nLXNwaW5uZXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxncmlkXFxfbWVkaWEtcXVlcmllcy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvbG9hZGluZy1zcGlubmVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcaWNvbnNcXF9pY29ucy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvbG9hZGluZy1zcGlubmVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcaWNvbnNcXF9mb250LWljb24uc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2xvYWRpbmctc3Bpbm5lci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXG92ZXJsYXlcXF9vdmVybGF5LnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9sb2FkaW5nLXNwaW5uZXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxsb2FkZXJzXFxfZG90LWxvYWRlci5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvbG9hZGluZy1zcGlubmVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcbWl4aW5zXFxfYW5pbWF0aW9uLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9sb2FkaW5nLXNwaW5uZXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxyYWRpby1ncm91cFxcZWxlbWVudC5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvbG9hZGluZy1zcGlubmVyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcZm9ybS1maWVsZHNcXF9mb3JtX2NvbnRyb2wuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2xvYWRpbmctc3Bpbm5lci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXGFsZXJ0XFxfYWxlcnQuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2xvYWRpbmctc3Bpbm5lci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL3NyY1xcYXBwXFxsYXlvdXRzXFxjb21wb25lbnRzXFxsb2FkaW5nLXNwaW5uZXJcXGxvYWRpbmctc3Bpbm5lci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2xvYWRpbmctc3Bpbm5lci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL3NyY1xcc3R5bGVzXFxnbG9iYWxcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2xvYWRpbmctc3Bpbm5lci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGJyYW5kc1xcYXhvc1xcX2NvbG9ycy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0NHQztBQ3FDRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NEZkM7QUV4QkQ7O0VBRUksY0FBYyxFQUFBO0FBR2xCO0VBQ0ksZUFBZSxFQUFBO0FDUG5CO0VBQ0ksb0JBQWE7RUFBYixhQUFhO0VBQ2Isa0JBQWM7TUFBZCxjQUFjO0VBQ2QsdUJBQW1CO01BQW5CLG1CQUFtQjtFQUNuQixtQkFBZTtNQUFmLGVBQWUsRUFBQTtBQUpuQjtJQU1RLCtCQUEyQjtRQUEzQiwyQkFBMkIsRUFBQTtBQUtuQztFQUFXLDJCQUFvQjtFQUFwQixvQkFBb0IsRUFBQTtBQ1gvQjtFQUNJLFVBQVMsRUFBQTtBQUViO0VBQ0ksU0FBUSxFQUFBO0FBRVo7RUFFUSxZQUFZO0VBQ1osNkJBQTZCO0VBRTdCLG9CQUFvQjtFQUNwQixZQUFZO0VBQ1osYUFBYTtFQUNiLFVBQVUsRUFBQTtBQVJsQjtFQVdRLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLGlCQUFpQixFQUFBO0FDbkJ6QjtFQUNFLDJCQUEyQixFQUFBO0FBRTdCO0VBQ0UsK0dBQStHLEVBQUE7QUFFakg7RUFDRSwrR0FBK0csRUFBQTtBQUVqSDtFQUNFLGdIQUFnSCxFQUFBO0FBRWxIO0VBQ0UsaUhBQWlILEVBQUE7QUFFbkg7RUFDRSxxSEFBcUgsRUFBQTtBQUV2SDtFQUNFLHVIQUF1SCxFQUFBO0FDcEJ6SDtFQUNJLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsZ0JBQWdCO0VBQ2hCLHNCQUFzQixFQUFBO0FBSjFCO0lBT1EsV0FBVztJQUNYLFdBQVc7SUFDWCxxQkFBcUI7SUFDckIsV0FBVyxFQUFBO0FBVm5CO01BWVksc0JBQXNCLEVBQUE7QUNQbEM7RUFDSSx5QkFMOEI7RUFNOUIsV0FBVztFQUNYLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLGlCQVRzQjtFQVV0QixVQUFVLEVBQUE7QUFQZDtJQVVRLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIscUJBQXFCO0lBQ3JCLFNBQVM7SUFDVCxRQUFRO0lBQ1IsNkJBQXdDLEVBQUE7QUFmaEQ7SUFtQlEsc0JBQXNCO0lBQ3RCLGNBeEIwQixFQUFBO0FBSWxDO0lBeUJZLDRCQTdCc0I7SUE4QnRCLGlCQUFpQztJQUNqQyxNQUFNLEVBQUE7QUEzQmxCO0lBOEJZLG9DQUFtQyxFQUFBO0FBOUIvQztJQW9DWSx5QkF4Q3NCO0lBeUN0QixvQkFBb0M7SUFDcEMsU0FBUyxFQUFBO0FBdENyQjtJQXlDWSxpQ0FBaUMsRUFBQTtBQXpDN0M7SUErQ1ksMEJBbkRzQjtJQW9EdEIsbUJBQW1DO0lBQ25DLFFBQVEsRUFBQTtBQWpEcEI7SUF1RFksMkJBM0RzQjtJQTREdEIsa0JBQWtDO0lBQ2xDLE9BQU8sRUFBQTtBQUtuQjtFQUVRLGtCQUFrQjtFQUNsQixRQUFRLEVBQUE7QUNqRWhCO0VBQ0kscUJBQXFCLEVBQUE7QUFEekI7SUFHUSxjQ0xNO0lETU4sZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixnQkFBZ0IsRUFBQTtBQU54QjtJQVNRLGdCQUFnQjtJQUNoQixvQkFBb0I7SUFDcEIsY0FBYyxFQUFBO0FBWHRCO0lBZVEscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixjQUFjO0lBQ2QsV0FBVztJQUNYLFNBQVM7SUFDVCxVQUFVLEVBQUE7QUFwQmxCO01BdUJZLG1CQUFtQjtNQUNuQixrQkFBa0I7TUFDbEIsa0JBQWtCO01BQ2xCLGlCQUF1RSxFQUFBO0FBMUJuRjtRQThCZ0IsV0FBVztRQUNYLHlCRWpDRjtRRmtDRSxrQkFBa0I7UUFDbEIsVUFBb0U7UUFDcEUsV0F0Q2lCO1FBdUNqQixVQUFVO1FBQ1YsV0FBVyxFQUFBO0FBcEMzQjtRQXNDd0IsT0FBTyxFQUFBO0FBdEMvQjtRQXVDdUIsUUFBUSxFQUFBO0FBdkMvQjtRQXlDd0MsUUFBUSxFQUFBO0FBekNoRDtRQTBDc0MsUUFBUSxFQUFBO0FBMUM5QztRQTZDZ0IseUJFL0NGO1FGZ0RFLGtCQUFrQjtRQUNsQixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGNBQWM7UUFDZCxZQXJETztRQXNEUCxXQXRETztRQXVEUCxjQUFjO1FBQ2QsTUFBTTtRQUNOLE9BQU87UUFDUCxRQUFRLEVBQUE7QUF2RHhCO1VBMERvQixhQUFhLEVBQUE7QUExRGpDO1VBOERvQixrQkFBa0I7VUFDbEIsa0JBQWtCO1VBQ2xCLGNBQWM7VUFDZCxlQW5FSztVQW9FTCxZQUFnRTtVQUNoRSxXQUErRDtVQUMvRCxXQUFXO1VBQ1gsT0FBTztVQUNQLFFBQVEsRUFBQTtBQXRFNUI7UUEyRWdCLGtCQUFrQjtRQUNsQixjRWhGRTtRRmlGRiwwQkFBMEI7UUFDMUIsZUFBZTtRQUNmLGdCQUFnQixFQUFBO0FBL0VoQztRQW9Gb0IseUJDekZILEVBQUE7QURLakI7VUFzRndCLHNCQUFzQjtVQUN0Qix5QkM1RlAsRUFBQTtBREtqQjtRQTJGb0IseUJDaEdILEVBQUE7QURLakI7UUErRndCLHlCQ3BHUCxFQUFBO0FES2pCO1FBc0dvQix5QkMzR0gsRUFBQTtBREtqQjtVQXdHd0IsV0V2R1o7VUZ3R1ksZ0JBQWdCLEVBQUE7QUF6R3hDO1FBOEdvQix5QkNuSEgsRUFBQTtBRVNiO01ISko7UUFvSGdCLGlCQUF1RSxFQUFBO1FBcEh2RjtVQXdIb0IsU0FBb0UsRUFBQTtRQXhIeEY7VUE0SG9CLFlBL0hhO1VBZ0liLFdBaElhO1VBaUliLGNBQWMsRUFBQTtVQTlIbEM7WUFnSXdCLFlBQWdFO1lBQ2hFLFdBQStELEVBQUE7UUFqSXZGO1VBdUk0QixpQkFBaUIsRUFBQSxFQUNwQjtBRzlIckI7TUhWSjtRQWdKZ0IsaUJBQXVFLEVBQUE7UUFoSnZGO1VBb0pvQixTQUFvRSxFQUFBO1FBcEp4RjtVQXdKb0IsWUEzSnVCO1VBNEp2QixXQTVKdUI7VUE2SnZCLGNBQWMsRUFBQTtVQTFKbEM7WUE0SndCLFlBQWdFO1lBQ2hFLFdBQStELEVBQUE7UUE3SnZGO1VBbUs0QixpQkFBaUIsRUFBQSxFQUNwQjtBSW5LckI7RUFFUSxhQUxLO0VBTUwsWUFOSyxFQUFBO0FBU2I7RUFFUSxXQVpPO0VBYVAsVUFiTztFQWNQLGNBZE87RUFnQlAsc0JBQXNCLEVBQUE7QUFHOUI7RUFDSSxxQkFBcUI7RUFDckIsZUFBZTtFQUNmLG9CQUFvQjtFQUNwQixrQkFBa0I7RUFDbEIsZ0JBdkJTO0VBd0JULGdCQXhCUztFQXlCVCxpQkF6QlMsRUFBQTtBQ0ZiO0VBQ0ksd0JBQXdCO0VBQ3hCLGlDQUFnQztFQUNoQyx5TkFHc0Q7RUFDdEQsbUJBQW1CO0VBQ25CLGtCQUFrQixFQUFBO0FiZ1IxQjtFYTVRUSxtQ0FBbUM7RUFDbkMsd0JBQXdCO0VBQ3hCLDZCQUE2QjtFQUM3Qiw4QkFBOEI7RUFDOUIsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQixXQUFXO0VBQ1gsY0FBYztFQUNkLG1DQUFtQztFQUNuQyxrQ0FBa0MsRUFBQTtBYitRMUM7O0VhMVFRLG1DQUFtQztFQUNuQyw2QkFBNkI7RUFDN0IsOEJBQThCO0VBQzlCLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsV0FBVztFQUNYLGNBQWM7RUFDZCxtQ0FBbUM7RUFDbkMsa0NBQWtDLEVBQUE7QUFHcEM7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxjQUFjLEVBQUE7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LDBDQUFrQztjQUFsQyxrQ0FBa0M7TUFDbEMsU0FBUztNQUNULGtCQUFrQjtNQUNsQixrQkFBa0IsRUFBQTtBQUdwQjtFQUNFO0lBQ0UsK0JBQXVCO1lBQXZCLHVCQUF1QixFQUFBO0VBR3pCO0lBQ0UsaUNBQXlCO1lBQXpCLHlCQUF5QixFQUFBLEVBQUE7QUFON0I7RUFDRTtJQUNFLCtCQUF1QjtZQUF2Qix1QkFBdUIsRUFBQTtFQUd6QjtJQUNFLGlDQUF5QjtZQUF6Qix5QkFBeUIsRUFBQSxFQUFBO0FBSTdCO01BbkRKO1FBb0RNLGVBQWUsRUFBQSxFQVFsQjtBQUxDO01BdkRKO1FBeURVLFlBQVksRUFBQSxFQUNmIiwiZmlsZSI6InNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL2xvYWRpbmctc3Bpbm5lci9sb2FkaW5nLXNwaW5uZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuKiAgSGVscGVyIG1peGluIHRvIGNyZWF0ZSBhIGxpbmVhci1ncmFkaWVudFxyXG4qXHJcbiovXHJcbkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9ybGlzdCkge1xyXG4gICAgQGlmIG5vdCBpcy1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xyXG4gICAgICAgICRjb2xvcmxpc3Q6ICRkaXJlY3Rpb24sICRjb2xvcmxpc3Q7XHJcbiAgICAgICAgJGRpcmVjdGlvbjogMGRlZztcclxuICAgIH1cclxuICAgIGJhY2tncm91bmQ6IG50aChudGgoJGNvbG9ybGlzdCwgMSksIDEpO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVnYWN5LWRpcmVjdGlvbigkZGlyZWN0aW9uKSwgJGNvbG9ybGlzdCk7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9ybGlzdCk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBpcy1kaXJlY3Rpb24oJHZhbHVlKSB7XHJcbiAgICAkaXMta2V5d29yZDogaW5kZXgoKHRvIHRvcCwgdG8gdG9wIHJpZ2h0LCB0byByaWdodCB0b3AsIHRvIHJpZ2h0LCB0byBib3R0b20gcmlnaHQsIHRvIHJpZ2h0IGJvdHRvbSwgdG8gYm90dG9tLCB0byBib3R0b20gbGVmdCwgdG8gbGVmdCBib3R0b20sIHRvIGxlZnQsIHRvIGxlZnQgdG9wLCB0byB0b3AgbGVmdCksICR2YWx1ZSk7XHJcbiAgICAkaXMtYW5nbGU6IHR5cGUtb2YoJHZhbHVlKT09J251bWJlcicgYW5kIGluZGV4KCdkZWcnICdncmFkJyAndHVybicgJ3JhZCcsIHVuaXQoJHZhbHVlKSk7XHJcbiAgICBAcmV0dXJuICRpcy1rZXl3b3JkIG9yICRpcy1hbmdsZTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGxlZ2FjeS1kaXJlY3Rpb24oJHZhbHVlKSB7XHJcbiAgICBAaWYgaXMtZGlyZWN0aW9uKCR2YWx1ZSk9PWZhbHNlIHtcclxuICAgICAgICBAZXJyb3IgXCJDYW5ub3QgY29udmVydCBgI3skdmFsdWV9YCB0byBsZWdhY3kgc3ludGF4IGJlY2F1c2UgaXQgZG9lc24ndCBzZWVtIHRvIGJlIGEgZGlyZWN0aW9uLlwiO1xyXG4gICAgfVxyXG4gICAgJGNvbnZlcnNpb24tbWFwOiAoIHRvIHRvcDogYm90dG9tLCB0byB0b3AgcmlnaHQ6IGJvdHRvbSBsZWZ0LCB0byByaWdodCB0b3A6IGxlZnQgYm90dG9tLCB0byByaWdodDogbGVmdCwgdG8gYm90dG9tIHJpZ2h0OiB0b3AgbGVmdCwgdG8gcmlnaHQgYm90dG9tOiBsZWZ0IHRvcCwgdG8gYm90dG9tOiB0b3AsIHRvIGJvdHRvbSBsZWZ0OiB0b3AgcmlnaHQsIHRvIGxlZnQgYm90dG9tOiByaWdodCB0b3AsIHRvIGxlZnQ6IHJpZ2h0LCB0byBsZWZ0IHRvcDogcmlnaHQgYm90dG9tLCB0byB0b3AgbGVmdDogYm90dG9tIHJpZ2h0KTtcclxuICAgIEBpZiBtYXAtaGFzLWtleSgkY29udmVyc2lvbi1tYXAsICR2YWx1ZSkge1xyXG4gICAgICAgIEByZXR1cm4gbWFwLWdldCgkY29udmVyc2lvbi1tYXAsICR2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBAcmV0dXJuIDkwZGVnIC0gJHZhbHVlO1xyXG59IiwiLyoqXHJcbiogIEhlbHBlciBtaXhpbiB0byBjcmVhdGUgYSBsaW5lYXItZ3JhZGllbnRcclxuKlxyXG4qL1xuLypcclxuaHRtbCxcclxuYm9keSB7XHJcbiAgICBmb250LWZhbWlseTogJ0xpYnJlIEZyYW5rbGluJywgJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XHJcbiAgICAvLyBjb2xvcjogdGhlbWlmeSh0ZXh0KTtcclxufVxyXG5cclxuXHJcblxyXG5hIHtcclxuICAgIGNvbG9yOiB0aGVtaWZ5KGxpbmspO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLnJvdW5kLWltYWdlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxufVxyXG5cclxuXHJcbiovXG4uZmNvbnRhaW5lci1mbHVpZCxcbi5mY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmZjb250YWluZXItZmx1aWQge1xuICBwYWRkaW5nOiAwIDJyZW07IH1cblxuLmZyb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDEgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5mcm93LnJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4uZmlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG5cbi5yZXNldC1wYWRkaW5nIHtcbiAgcGFkZGluZzogMDsgfVxuXG4ucmVzZXQtbWFyZ2luIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi51ay1idG4ubm9uZSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnVrLWJ0bi5pY29uIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnVrLXNoYWRvdy0wIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi51ay1zaGFkb3ctMSB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4udWstc2hhZG93LTEtaGFsZiB7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDdweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDFweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4udWstc2hhZG93LTIge1xuICBib3gtc2hhZG93OiAwIDRweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi51ay1zaGFkb3ctMyB7XG4gIGJveC1zaGFkb3c6IDAgNnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCAxOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi51ay1zaGFkb3ctNCB7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4udWstc2hhZG93LTUge1xuICBib3gtc2hhZG93OiAwIDE2cHggMjRweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCA2cHggMzBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCA4cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4udWstbmF2IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIC51ay1uYXYgLnVrLW5hdi1pdGVtIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwcHg7IH1cbiAgICAudWstbmF2IC51ay1uYXYtaXRlbTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyB9XG5cbi51ay10b29sdGlwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI5MzU0MTtcbiAgY29sb3I6ICNGRkY7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbWF4LXdpZHRoOiAyODBweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgei1pbmRleDogMjsgfVxuICAudWstdG9vbHRpcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBib3JkZXI6IHNvbGlkIDZweCB0cmFuc3BhcmVudDsgfVxuICAudWstdG9vbHRpcC53aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICBjb2xvcjogIzI5MzU0MTsgfVxuICAudWstdG9vbHRpcC5ib3R0b206OmJlZm9yZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzI5MzU0MTtcbiAgICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgICB0b3A6IDA7IH1cbiAgLnVrLXRvb2x0aXAuYm90dG9tLndoaXRlOjpiZWZvcmUge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNGRkYgIWltcG9ydGFudDsgfVxuICAudWstdG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzI5MzU0MTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMTJweDtcbiAgICBib3R0b206IDA7IH1cbiAgLnVrLXRvb2x0aXAudG9wLndoaXRlOjpiZWZvcmUge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNGRkYgIWltcG9ydGFudDsgfVxuICAudWstdG9vbHRpcC5sZWZ0OjpiZWZvcmUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjMjkzNTQxO1xuICAgIG1hcmdpbi1yaWdodDogLTEycHg7XG4gICAgcmlnaHQ6IDA7IH1cbiAgLnVrLXRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMjkzNTQxO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTJweDtcbiAgICBsZWZ0OiAwOyB9XG5cbi51ay1sYWJlbC51ay10b29sdGlwLWhvc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNXB4OyB9XG5cbi51ay1zdGVwcGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10aXRsZSB7XG4gICAgY29sb3I6ICMyODM1NDE7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZy10b3A6IDdweDsgfVxuICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3Mtc3RlcC1ib2R5IHtcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctdG9wOiAyN3B4OyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmJlZm9yZSwgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzlDQ0NGO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogOC41cHg7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB6LWluZGV4OiAtMTsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDA7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiAwOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0M5Q0NDRjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgcGFkZGluZzogMCA0cHg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcCAudWstaWNvbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwOjpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXByb2dyZXNzLXRleHQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGNvbG9yOiAjNUY2ODcxO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuYWN0aXZlIC51ay1zdGVwLWljb24td3JhcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmFjdGl2ZSAudWstc3RlcC1pY29uLXdyYXA6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAycHggI0ZGRjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4MjU3OyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuYWN0aXZlOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4MjU3OyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuYWN0aXZlLndpcDo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4MjU3OyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuZG9uZSAudWstc3RlcC1pY29uLXdyYXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4MjU3OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5kb25lIC51ay1zdGVwLWljb24td3JhcCAudWstaWNvbiB7XG4gICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgZGlzcGxheTogaW5pdGlhbDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmRvbmU6OmJlZm9yZSwgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmRvbmU6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlODI1NzsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMnB4OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YmVmb3JlLCAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDExcHg7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcCB7XG4gICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgNnB4OyB9XG4gICAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogMjFweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMXB4OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmUgLnVrLXN0ZXAtaWNvbi13cmFwOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci13aWR0aDogM3B4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAge1xuICAgICAgICBwYWRkaW5nLXRvcDogNDJweDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmJlZm9yZSwgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjphZnRlciB7XG4gICAgICAgICAgdG9wOiAxNnB4OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXAge1xuICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDhweDsgfVxuICAgICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXA6OmJlZm9yZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMxcHg7XG4gICAgICAgICAgICB3aWR0aDogMzFweDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuYWN0aXZlIC51ay1zdGVwLWljb24td3JhcDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDRweDsgfSB9XG5cbi51ay1idG4uaWNvbiAudWstaWNvbiB7XG4gIGhlaWdodDogMS41ZW07XG4gIHdpZHRoOiAxLjVlbTsgfVxuXG4udWstYnRuIC51ay1pY29uIHtcbiAgaGVpZ2h0OiAxZW07XG4gIHdpZHRoOiAxZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi51ay1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIHN0cm9rZTogY3VycmVudENvbG9yO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIG1heC13aWR0aDogMS41ZW07XG4gIG1heC1oZWlnaHQ6IDEuNWVtOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJib2ZpLWljb25cIjtcbiAgc3JjOiB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi5lb3RcIik7XG4gIHNyYzogdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24uZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi9hc3NldHMvYm9maS1pY29uLnN2ZyNib2ZpLWljb25cIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuW2RhdGEtaWNvbl06YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiYm9maS1pY29uXCIgIWltcG9ydGFudDtcbiAgY29udGVudDogYXR0cihkYXRhLWljb24pO1xuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbltjbGFzc149XCJib2ZpLVwiXTpiZWZvcmUsXG5bY2xhc3MqPVwiIGJvZmktXCJdOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiICFpbXBvcnRhbnQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuLmJvZmktcmVjdXJyaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2MVwiOyB9XG5cbi5ib2ZpLWViaWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2N1wiOyB9XG5cbi5ib2ZpLWFkZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmZcIjsgfVxuXG4uYm9maS1hdG06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDcxXCI7IH1cblxuLmJvZmktYXV0b21hdGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3MlwiOyB9XG5cbi5ib2ZpLWJhbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDczXCI7IH1cblxuLmJvZmktYmFua2ZlZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc0XCI7IH1cblxuLmJvZmktZGF0ZXBpY2tlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmFcIjsgfVxuXG4uYm9maS1kZXBvc2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3N1wiOyB9XG5cbi5ib2ZpLWVkaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc4XCI7IH1cblxuLmJvZmktZmFxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3YVwiOyB9XG5cbi5ib2ZpLW1lc3NhZ2VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0MVwiOyB9XG5cbi5ib2ZpLW1lbnU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQzXCI7IH1cblxuLmJvZmktaW50ZXJlc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY1XCI7IH1cblxuLmJvZmktcGVuZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGNcIjsgfVxuXG4uYm9maS1waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGRcIjsgfVxuXG4uYm9maS1wcmludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGZcIjsgfVxuXG4uYm9maS1yZWZ1bmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDUyXCI7IH1cblxuLmJvZmktcmVtb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1M1wiOyB9XG5cbi5ib2ZpLXN1Y2Nlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU0XCI7IH1cblxuLmJvZmktc2VhcmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1NlwiOyB9XG5cbi5ib2ZpLXBhc3N3b3JkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2ZFwiOyB9XG5cbi5ib2ZpLXVzZXJuYW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3NVwiOyB9XG5cbi5ib2ZpLWdlYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY4XCI7IH1cblxuLmJvZmktY29udGFjdC1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0MlwiOyB9XG5cbi5ib2ZpLWZpbHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzZcIjsgfVxuXG4uYm9maS1kZWJpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjJcIjsgfVxuXG4uYm9maS1zdXBwb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2OVwiOyB9XG5cbi5ib2ZpLXVzZXItc2V0dGluZ3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDcwXCI7IH1cblxuLmJvZmktYWNjb3VudHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY0XCI7IH1cblxuLmJvZmktdHJhbnNmZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY2XCI7IH1cblxuLmJvZmktcGhvdG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc5XCI7IH1cblxuLmJvZmktY2hlY2stbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDZcIjsgfVxuXG4uYm9maS1pbmZvcm1hdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDlcIjsgfVxuXG4uYm9maS1jaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0YlwiOyB9XG5cbi5ib2ZpLWNhbmNlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGVcIjsgfVxuXG4uYm9maS1zZW5kLWljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU1XCI7IH1cblxuLmJvZmktd2FybmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNThcIjsgfVxuXG4uYm9maS11cGxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDVhXCI7IH1cblxuLmJvZmktdGh1bWJzdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDMwXCI7IH1cblxuLmJvZmktcGRmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0N1wiOyB9XG5cbi5ib2ZpLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0OFwiOyB9XG5cbi5ib2ZpLXN0YXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDM2XCI7IH1cblxuLmJvZmktY2FtZXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzMlwiOyB9XG5cbi5ib2ZpLWRlbGl2ZXJ5LW1ldGhvZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzRcIjsgfVxuXG4uYm9maS1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzdcIjsgfVxuXG4uYm9maS1lYmlsbC1wYXliaWxsczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzhcIjsgfVxuXG4uYm9maS1mbGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMlwiOyB9XG5cbi5ib2ZpLWFsZXJ0LWhpc3Rvcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI0XCI7IH1cblxuLmJvZmktbW9iaWxlZGVwb3NpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjhcIjsgfVxuXG4uYm9maS1vbmV0aW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyOVwiOyB9XG5cbi5ib2ZpLXBlcnNvbmFsLW1lc3NhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDJjXCI7IH1cblxuLmJvZmktdGV4dC1tZXNzYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0YVwiOyB9XG5cbi5ib2ZpLWV5ZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1MFwiOyB9XG5cbi5ib2ZpLWF0dGFjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTFcIjsgfVxuXG4uYm9maS1sb2dvdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZiXCI7IH1cblxuLmJvZmktY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ1XCI7IH1cblxuLmJvZmktZ2Vhci1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU3XCI7IH1cblxuLmJvZmktdGh1bWJzdXAtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1OVwiOyB9XG5cbi5ib2ZpLW1vZGFsLXNlbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZjXCI7IH1cblxuLmJvZmktYWRkLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ0XCI7IH1cblxuLmJvZmktZ3JvdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDMzXCI7IH1cblxuLmJvZmktaG9tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzVcIjsgfVxuXG4uYm9maS1wZXJzb25hbC1pbmZvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzOVwiOyB9XG5cbi5ib2ZpLXBlcnNvbi1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjFcIjsgfVxuXG4uYm9maS1wZXJzb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIzXCI7IH1cblxuLmJvZmktc2lnbmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyNVwiOyB9XG5cbi5ib2ZpLWRhdGVwaWNrZXItMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjZcIjsgfVxuXG4uYm9maS1yZWZ1bmQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjNcIjsgfVxuXG4uYm9maS1yZWN1cnJpbmctMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjdcIjsgfVxuXG4uYm9maS1tZXNzYWdlcy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyYVwiOyB9XG5cbi5ib2ZpLWZhcS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyYlwiOyB9XG5cbi5ib2ZpLWdlYXItMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMmRcIjsgfVxuXG4uYm9maS1yZW1vdmUtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMmVcIjsgfVxuXG4uYm9maS1yZWZ1bmQtMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMmZcIjsgfVxuXG4uYm9maS11c2VybmFtZS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzYVwiOyB9XG5cbi5ib2ZpLXNlYXJjaC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzYlwiOyB9XG5cbi5ib2ZpLXBhc3N3b3JkLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNjXCI7IH1cblxuLmJvZmktZGFzaGJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzZFwiOyB9XG5cbi5ib2ZpLWF0bS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzZVwiOyB9XG5cbi5ib2ZpLXBlbmRpbmctMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcM2ZcIjsgfVxuXG4uYm9maS1zdWNjZXNzLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQwXCI7IH1cblxuLmJvZmktcGhvbmUtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNWJcIjsgfVxuXG4uYm9maS1wcmludC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1ZFwiOyB9XG5cbi5ib2ZpLW1lbnUtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNWVcIjsgfVxuXG4uYm9maS1pbnRlcmVzdC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1ZlwiOyB9XG5cbi5ib2ZpLWljLWNvbnRhY3QtbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjBcIjsgfVxuXG4uYm9maS1kZXBvc2l0LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDdiXCI7IH1cblxuLmJvZmktYXV0b21hdGljLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDdjXCI7IH1cblxuLmJvZmktYXV0b21hdGljcGF5bWVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2RcIjsgfVxuXG4uYm9maS1iYW5rLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDdlXCI7IH1cblxuLmJvZmktYmFua2ZlZXMtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNWNcIjsgfVxuXG4uYm9maS1lZGl0LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDBcIjsgfVxuXG4uYm9maS0xNDk4MTk1NTkyLWljb24xNS04OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2ZVwiOyB9XG5cbi5ib2ZpLWFycm93LWNoZXZyb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDMxXCI7IH1cblxuLmNkay1vdmVybGF5LWNvbnRhaW5lcixcbi5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlciB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNkay1vdmVybGF5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMDsgfVxuXG4uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMDA7IH1cblxuLmNkay1vdmVybGF5LXBhbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB6LWluZGV4OiAxMDAwOyB9XG5cbi5jZGstb3ZlcmxheS1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtcbiAgb3BhY2l0eTogMDsgfVxuICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yODgpOyB9XG5cbi5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzay1ib3VuY2VkZWxheSB7XG4gIDAlLCA4MCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2stYm91bmNlZGVsYXkge1xuICAwJSwgODAlLCAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJpcHBsZSB7XG4gIDUlLFxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIHJpcHBsZSB7XG4gIDUlLFxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQC1vLWtleWZyYW1lcyByaXBwbGUge1xuICA1JSxcbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1JSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcmlwcGxlIHtcbiAgNSUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNSUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4udWstZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWluLWhlaWdodDogMThweDsgfVxuICAudWstZm9ybS1jb250cm9sX192YWx1ZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICBtYXgtd2lkdGg6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG1pbi1oZWlnaHQ6IDQ4cHg7IH1cbiAgLnVrLWZvcm0tY29udHJvbF9fYWRkb24ge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmFsZXJ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGhlaWdodDogNDZweDtcbiAgY29sb3I6IGJsYWNrO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmFsZXJ0IC5pY29uIHtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDsgfVxuICAuYWxlcnQgLmNsb3NlLWljb24ge1xuICAgIGZvbnQtc2l6ZTogNi4yMjg1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG4gIC5hbGVydCAuY2hpbGQtLWZlYXR1cmVkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEzcHg7XG4gICAgZmxleC1ncm93OiAxOyB9XG5cbi5sb2FkaW5nLXNjcmVlbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5OTk5OyB9XG4gIC5sb2FkaW5nLXNjcmVlbiAubG9hZGluZy1jb250YWluZXIge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdG9wOiA0MCU7IH1cbiAgICAubG9hZGluZy1zY3JlZW4gLmxvYWRpbmctY29udGFpbmVyIC5sb2FkaW5nLWxvZ28ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgLW8tdHJhbnNmb3JtOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgLW1zLXRyYW5zZm9ybTogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1icmFuZExvZ28pO1xuICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyOyB9XG4gICAgLmxvYWRpbmctc2NyZWVuIC5sb2FkaW5nLWNvbnRhaW5lciAubG9hZGVyIHtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNFOUVBRUM7XG4gICAgICAvKiBMaWdodCBncmV5ICovXG4gICAgICBib3JkZXItdG9wOiAzcHggc29saWQgIzFlMzg2MDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHdpZHRoOiA3OHB4O1xuICAgICAgaGVpZ2h0OiA3OHB4O1xuICAgICAgYW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMzlweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc1MHB4KSB7XG4gICAgICAubG9hZGluZy1zY3JlZW4gLmxvYWRpbmctY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgICAgIC5sb2FkaW5nLXNjcmVlbiAubG9hZGluZy1jb250YWluZXIgLmxvYWRpbmctbG9nbyB7XG4gICAgICAgIHdpZHRoOiAyMDBweDsgfSB9XG4iLCIvLyBAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUxpYnJlK0ZyYW5rbGluOjMwMCw0MDAsNTAwLDYwMCw3MDAnKTtcclxuQGltcG9ydCAnLi9fZm9udC5zY3NzJztcclxuQGltcG9ydCAnLi9fc3Itb25seS5zY3NzJztcclxuXHJcbkBtaXhpbiB1ay1nbG9iYWwoJHVrLXRoZW1lKSB7XHJcbiAgICAkZm9udC1jb25maWc6IG1hcC1nZXQoJHVrLXRoZW1lLCBmb250cyk7XHJcbiAgICAkZm9udC1mYW1pbGllczogbWFwLWdldCgkZm9udC1jb25maWcsIGZhbWlsaWVzKTtcclxuICAgICRmb250LXNpemVzOiBtYXAtZ2V0KCRmb250LWNvbmZpZywgc2l6ZXMpO1xyXG5cclxuICAgIEBlYWNoICRmb250LWZhbWlseSwgJHZhbHVlIGluICRmb250LWZhbWlsaWVzIHtcclxuICAgICAgICAkZm9udC11cmw6IG1hcC1nZXQoJHZhbHVlLCB1cmwpO1xyXG4gICAgICAgIEBpZiAkZm9udC11cmwge1xyXG4gICAgICAgICAgICBAaW1wb3J0IHVybCgkZm9udC11cmwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAkcHJpbWFyeS1mb250LWZhbWlsaXk6IG1hcC1nZXQoJGZvbnQtZmFtaWxpZXMsIHByaW1hcnkpO1xyXG5cclxuICAgIGh0bWwgeyBcclxuICAgICAgICBib2R5IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogbWFwLWdldCgkcHJpbWFyeS1mb250LWZhbWlsaXksIG5hbWUpLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcHJpbWFyeS1mb250LWZhbWlsaXksIGNvbG9yKTtcclxuICAgICAgICAgICAgQGNvbnRlbnRcclxuICAgICAgICB9XHJcbiAgICAgICAgaDEsXHJcbiAgICAgICAgaDIsXHJcbiAgICAgICAgaDMsXHJcbiAgICAgICAgaDQsXHJcbiAgICAgICAgaDUsXHJcbiAgICAgICAgaDYge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB1ay1mb250cygkZm9udC1zaXplcyk7XHJcbiAgICAgICAgLnNyLW9ubHl7IEBpbmNsdWRlIHNyLW9ubHkoKTsgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKlxyXG5odG1sLFxyXG5ib2R5IHtcclxuICAgIGZvbnQtZmFtaWx5OiAnTGlicmUgRnJhbmtsaW4nLCAnSGVsdmV0aWNhJywgc2Fucy1zZXJpZjtcclxuICAgIC8vIGNvbG9yOiB0aGVtaWZ5KHRleHQpO1xyXG59XHJcblxyXG5cclxuXHJcbmEge1xyXG4gICAgY29sb3I6IHRoZW1pZnkobGluayk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4ucm91bmQtaW1hZ2Uge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG59XHJcblxyXG5cclxuKi8iLCIkY29udGFpbmVyLXdpZHRoOihzbTo0OXJlbSwgbWQ6NjVyZW0sIGxnOjc2cmVtKTtcclxuLmZjb250YWluZXItZmx1aWQsXHJcbi5mY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4uZmNvbnRhaW5lci1mbHVpZCB7XHJcbiAgICBwYWRkaW5nOiAwIDJyZW07XHJcbn1cclxuXHJcbkBtaXhpbiBjb250YWluZXIoJGtleSkge1xyXG4gICAgQGlmKCRrZXk9PSdsZycpIHtcclxuICAgICAgICAuY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGNvbnRhaW5lci13aWR0aCwgJGtleSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYoJGtleT09J21kJykge1xyXG4gICAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkY29udGFpbmVyLXdpZHRoLCAka2V5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZigka2V5PT0nc20nKSB7XHJcbiAgICAgICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRjb250YWluZXItd2lkdGgsICRrZXkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5mcm93IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4OiAwIDEgYXV0bztcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAmLnJldmVyc2Uge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5maW5saW5lIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IH0iLCIucmVzZXQtcGFkZGluZ3tcclxuICAgIHBhZGRpbmc6MDtcclxufVxyXG4ucmVzZXQtbWFyZ2lue1xyXG4gICAgbWFyZ2luOjA7XHJcbn1cclxuLnVrLWJ0biB7XHJcbiAgICAmLm5vbmUge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAvL291dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgbWluLXdpZHRoOiAwO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgICYuaWNvbiB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gICIsIi8vIFotbGV2ZWxzXHJcbi4jeyRwcmVmaXh9LXNoYWRvdy0wIHtcclxuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTEge1xyXG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxufVxyXG4uI3skcHJlZml4fS1zaGFkb3ctMS1oYWxmIHtcclxuICBib3gtc2hhZG93OiAwIDNweCAzcHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA3cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDNweCAxcHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTIge1xyXG4gIGJveC1zaGFkb3c6IDAgNHB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTMge1xyXG4gIGJveC1zaGFkb3c6IDAgNnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCAxOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG59XHJcbi4jeyRwcmVmaXh9LXNoYWRvdy00IHtcclxuICBib3gtc2hhZG93OiAwIDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTUge1xyXG4gIGJveC1zaGFkb3c6IDAgMTZweCAyNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDZweCAzMHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDhweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG59IiwiLnVrLW5hdntcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHJcbiAgICAudWstbmF2LWl0ZW17XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMHB4O1xyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiJHRvb2x0aXAtaGVpZ2h0OiAyOHB4O1xyXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAjMjkzNTQxO1xyXG4kdG9vbHRpcC1wYWRkaW5nOiA1cHggMTBweDtcclxuJHRvb2x0aXAtYXJyb3c6IDZweDtcclxuXHJcbi51ay10b29sdGlwIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICBjb2xvcjogI0ZGRjtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIG1heC13aWR0aDogMjgwcHg7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xyXG4gICAgei1pbmRleDogMjtcclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGJvcmRlcjogc29saWQgJHRvb2x0aXAtYXJyb3cgdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi53aGl0ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcclxuICAgICAgICBjb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAmLmJvdHRvbSB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogKC0yICogJHRvb2x0aXAtYXJyb3cpO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYud2hpdGU6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6I0ZGRiAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnRvcCB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogKC0yICogJHRvb2x0aXAtYXJyb3cpO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYud2hpdGU6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICNGRkYgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5sZWZ0IHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAoLTIgKiAkdG9vbHRpcC1hcnJvdyk7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnJpZ2h0IHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAoLTIgKiAkdG9vbHRpcC1hcnJvdyk7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udWstbGFiZWwge1xyXG4gICAgJi51ay10b29sdGlwLWhvc3Qge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IDVweDtcclxuICAgIH1cclxufVxyXG4iLCIkdWstcHJvZ3Jlc3MtYmFyLWxhYmxlLXNwYWNlOiA3cHg7XHJcbiR1ay1wcm9ncmVzcy1iYXItbGluZS1oZWlnaHQ6IDNweDtcclxuJHJpcHBsZS1zaXplOiAoeHM6IDIwcHgsIHNtOiAyNXB4LCBtZDogMzVweCk7XHJcbiRyaXBwbGUtYm9yZGVyLXdpZHRoOiAycHg7XHJcblxyXG4udWstc3RlcHBlcntcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIC51ay1wcm9ncmVzcy10aXRsZSB7XHJcbiAgICAgICAgY29sb3I6IHRoZW1pZnkodGV4dCwgJHRoZW1lKTtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogN3B4O1xyXG4gICAgfVxyXG4gICAgLnVrLXByb2dyZXNzLXN0ZXAtYm9keXtcclxuICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC51ay1wcm9ncmVzcy10cmFjayB7XHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAgIC51ay1wcm9ncmVzcy1zdGVwIHtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3hzJykgKyAkdWstcHJvZ3Jlc3MtYmFyLWxhYmxlLXNwYWNlO1xyXG5cclxuICAgICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkoZ3JheSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogKG1hcC1nZXQoJHJpcHBsZS1zaXplLCAneHMnKSAtICR1ay1wcm9ncmVzcy1iYXItbGluZS1oZWlnaHQpIC8yO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkdWstcHJvZ3Jlc3MtYmFyLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7IGxlZnQ6IDA7IH1cclxuICAgICAgICAgICAgJjo6YWZ0ZXIgeyByaWdodDogMDsgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7ICY6OmJlZm9yZSB7IHdpZHRoOiAwOyB9fVxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQgeyAmOjphZnRlciB7IHdpZHRoOiAwOyB9fVxyXG5cclxuICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkoZ3JheSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAneHMnKTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3hzJyk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDRweDtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAudWstaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJHJpcHBsZS1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3hzJykgLSAoMiAqICRyaXBwbGUtYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLXNpemUsICd4cycpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnVrLXByb2dyZXNzLXRleHQge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHRoZW1pZnkoaW5hY3RpdmUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcdFxyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IHNvbGlkIDJweCAjRkZGO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLndpcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmRvbmV7XHJcbiAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgICAgICAudWstaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB0aGVtaWZ5KHdoaXRlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbml0aWFsO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgc20ge1xyXG4gICAgICAgICAgICAudWstcHJvZ3Jlc3Mtc3RlcCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdzbScpICsgJHVrLXByb2dyZXNzLWJhci1sYWJsZS1zcGFjZTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogKG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnc20nKSAtICR1ay1wcm9ncmVzcy1iYXItbGluZS1oZWlnaHQpIC8yO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3NtJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnc20nKTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDZweDtcclxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnc20nKSAtICgyICogJHJpcHBsZS1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdzbScpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZCB7XHJcbiAgICAgICAgICAgIC51ay1wcm9ncmVzcy1zdGVwIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJykgKyAkdWstcHJvZ3Jlc3MtYmFyLWxhYmxlLXNwYWNlO1xyXG5cclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IChtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJykgLSAkdWstcHJvZ3Jlc3MtYmFyLWxpbmUtaGVpZ2h0KSAvMjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdtZCcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3Jle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnbWQnKSAtICgyICogJHJpcHBsZS1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdtZCcpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiJHByaW1hcnk6ICMxZTgyNTcgIWRlZmF1bHQ7XHJcbiRzZWNvbmRhcnk6ICNGQUE3NEEgIWRlZmF1bHQ7XHJcbiRsaW5rOiAjMTE1M2I1ICFkZWZhdWx0O1xyXG4kdGV4dDogIzI4MzU0MSAhZGVmYXVsdDtcclxuJGdyYXk6ICNiZWMxYzUgIWRlZmF1bHQ7XHJcbiRpbmFjdGl2ZTogIzZjNzc4MSAhZGVmYXVsdDtcclxuJG11dGVkOiAjZWVlZmYyICFkZWZhdWx0O1xyXG4kbGlnaHQ6ICNmNGY1ZjcgIWRlZmF1bHQ7XHJcbiRlcnJvcjogI2NiMmQwZSAhZGVmYXVsdDtcclxuJHdhcm5pbmc6ICNlMzc5MzYgIWRlZmF1bHQ7XHJcbiRzdWNjZXNzOiAjMjI5ODZjICFkZWZhdWx0O1xyXG4kaW5mbzogIzZhYTVmMiAhZGVmYXVsdDtcclxuJGFjY2VudC0xOiAjNjhjYzlhICFkZWZhdWx0O1xyXG4kYWNjZW50LTI6ICRpbmZvICFkZWZhdWx0O1xyXG4kd2hpdGU6ICNmZmYgIWRlZmF1bHQ7XHJcblxyXG4kYnRuLWJhc2U6IChcclxuICBoZWlnaHQ6IDUycHgsXHJcbiAgd2lkdGg6IDE3NXB4LFxyXG4gIHBhZGRpbmc6IDE2cHggNDBweFxyXG4pO1xyXG5cclxuJGJ0bi1zaXplczogKGxnOihoZWlnaHQ6IDUycHgsIHBhZGRpbmc6IDE2cHggNjBweCkpICFkZWZhdWx0O1xyXG4gIFxyXG4kdGhlbWU6IChcclxuICAgIHByaW1hcnk6ICRwcmltYXJ5LFxyXG4gICAgc2Vjb25kYXJ5OiAkc2Vjb25kYXJ5LFxyXG4gICAgbGluazogJGxpbmssXHJcbiAgICB0ZXh0OiAkdGV4dCxcclxuICAgIGdyYXk6ICRncmF5LFxyXG4gICAgaW5hY3RpdmU6ICRpbmFjdGl2ZSxcclxuICAgIGxpZ2h0OiAkbGlnaHQsXHJcbiAgICBtdXRlZDogJG11dGVkLFxyXG4gICAgZXJyb3I6ICRlcnJvcixcclxuICAgIHdhcm5pbmc6ICR3YXJuaW5nLFxyXG4gICAgc3VjY2VzczogJHN1Y2Nlc3MsXHJcbiAgICBpbmZvIDogJGluZm8sXHJcbiAgICBhY2NlbnQtMTogJGFjY2VudC0xLFxyXG4gICAgYWNjZW50LTI6ICRhY2NlbnQtMixcclxuICAgIHdoaXRlOiAkd2hpdGVcclxuICApXHJcbiAgIWRlZmF1bHQ7XHJcbiRzaXplczogKFxyXG4gIHBob25lOlxyXG4gICAgKFxyXG4gICAgICAvLyBBcHByb3ZlZFxyXG4gICAgICBoMTooZm9udC1zaXplOiA1MnB4LCBsaW5lLWhlaWdodDogNThweCwgZm9udC13ZWlnaHQ6IDMwMCksXHJcbiAgICAgIGgyOihmb250LXNpemU6IDQycHgsIGxpbmUtaGVpZ2h0OiA1MHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgaDQ6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgcDooZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjRweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGxhYmVsOiAoZm9udC1zaXplOiAxNHB4LCBsaW5lLWhlaWdodDogMjBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIC8vIEVuZCBBcHByb3ZlZFxyXG4gICAgICBoMzooZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjRweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGJvZHk6KGZvbnQtc2l6ZTogMTVweCwgbGluZS1oZWlnaHQ6IDE4cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBzbWFsbDooZm9udC1zaXplOiAxNHB4LCBsaW5lLWhlaWdodDogMjBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICApLFxyXG4gIHRhYmxldDooXHJcbiAgICAgIC8vIEFwcHJvdmVkXHJcbiAgICAgIGgxOihmb250LXNpemU6IDYycHgsIGxpbmUtaGVpZ2h0OiA2OHB4LCBmb250LXdlaWdodDogMzAwKSxcclxuICAgICAgaDI6KGZvbnQtc2l6ZTogNTJweCwgbGluZS1oZWlnaHQ6IDYwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBoNDogKGZvbnQtc2l6ZTogMjBweCwgbGluZS1oZWlnaHQ6IDMwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBwOihmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgbGFiZWw6IChmb250LXNpemU6IDE0cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgLy8gRW5kIEFwcHJvdmVkXHJcbiAgICAgIGgzOihmb250LXNpemU6IDI2cHgsIGxpbmUtaGVpZ2h0OiAzMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgYm9keTooZm9udC1zaXplOiAxNXB4LCBsaW5lLWhlaWdodDogMjBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIHNtYWxsOihmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICksXHJcbiAgZGVza3RvcDooXHJcbiAgICAgIC8vIEFwcHJvdmVkXHJcbiAgICAgIGgxOiAoZm9udC1zaXplOiA3MnB4LCBsaW5lLWhlaWdodDogNzhweCwgZm9udC13ZWlnaHQ6IDMwMCksXHJcbiAgICAgIGgyOiAoZm9udC1zaXplOiA2MnB4LCBsaW5lLWhlaWdodDogNzBweCwgZm9udC13ZWlnaHQ6IDMwMCksXHJcbiAgICAgIGg0OiAoZm9udC1zaXplOiAyMHB4LCBsaW5lLWhlaWdodDogMzBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIHA6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyMnB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgbGFiZWw6IChmb250LXNpemU6IDE0cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNDAwKSxcclxuICAgICAgLy8gRW5kIEFwcHJvdmVkXHJcbiAgICAgIGgzOiAoZm9udC1zaXplOiAyNHB4LCBsaW5lLWhlaWdodDogMjhweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGJvZHk6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAxOHB4LCBmb250LXdlaWdodDogNDAwKSxcclxuICAgICAgc21hbGw6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNDAwKSxcclxuICAgIClcclxuKTtcclxuJGd1dHRlcjogMzBweDtcclxuXHJcblxyXG4vL0FOR1VMQVIgQ0RLIE9WRVJMQVkgVkFSSUFCTEVTXHJcbiRjZGstei1pbmRleC1vdmVybGF5LWNvbnRhaW5lcjogMTAwMDtcclxuJGNkay16LWluZGV4LW92ZXJsYXk6IDEwMDA7XHJcbiRjZGstei1pbmRleC1vdmVybGF5LWJhY2tkcm9wOiAxMDAwO1xyXG5cclxuLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYWxsIG9mIHRoZSBiYWNrZHJvcHNcclxuJGNkay1vdmVybGF5LWRhcmstYmFja2Ryb3AtYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI4OCk7XHJcblxyXG4vLyBEZWZhdWx0IGJhY2tkcm9wIGFuaW1hdGlvbiBpcyBiYXNlZCBvbiB0aGUgTWF0ZXJpYWwgRGVzaWduIHN3aWZ0LWVhc2Utb3V0LlxyXG4kYmFja2Ryb3AtYW5pbWF0aW9uLWR1cmF0aW9uOiA0MDBtcyAhZGVmYXVsdDtcclxuJGJhY2tkcm9wLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpICFkZWZhdWx0OyIsIi8vIEdyYXlzXHJcbiRpbmFjdGl2ZTogIzVGNjg3MTtcclxuJG1pZC1ncmF5OiAjOTQ5QUEwO1xyXG4kZ3JheTogI0M5Q0NDRjtcclxuJG11dGVkOiAjRTlFQUVDO1xyXG4kbGlnaHQ6ICNGNEY1RjU7XHJcbiR3aGl0ZTogI0ZGRjtcclxuLy8gSWxsdXN0cmF0aXZlIEljb25zXHJcbiRpbmZvOiAjNjQ5NUY2O1xyXG4kYWNjZW50LTE6ICNGRkY7XHJcbiRhY2NlbnQtMjogIzAwMDtcclxuLy8gQWxlcnRzXHJcbiRlcnJvcjogI2NiMmQwZTtcclxuJHdhcm5pbmc6ICNlMzc5MzY7XHJcbiRzdWNjZXNzOiAjMjI5ODZjO1xyXG4vLyBMaW5rc1xyXG4kbGluazogIzE3NkFDRjtcclxuJGxpbmstdmlzaXRlZDogIzU1MUE4QjsiLCIkYnJlYWtwb2ludHMgOiggeHM6NDgwcHgsIHNtOiA3NjhweCwgbWQ6OTkycHgsIGxnOiAxMjAwcHgpO1xyXG5cclxuQG1peGluIHhzIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBzbSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAnc20nKSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWQge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJ21kJykpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGxnIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICdsZycpKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuIiwiQGltcG9ydCAnLi9fZm9udC1pY29uLnNjc3MnO1xyXG5cclxuJGJ0bi1pY29uLXNpemU6IDFlbTtcclxuJGljb24tc2l6ZTogMS41ZW07XHJcblxyXG5AbWl4aW4gaWNvbnMge1xyXG4gICAgLnVrLWJ0bi5pY29ue1xyXG4gICAgICAgIC51ay1pY29ue1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRpY29uLXNpemU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkaWNvbi1zaXplO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC51ay1idG57XHJcbiAgICAgICAgLnVrLWljb257XHJcbiAgICAgICAgICAgIGhlaWdodDogJGJ0bi1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkYnRuLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkYnRuLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgLy9HZW5lcmFsXHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnVrLWljb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBzdHJva2Utd2lkdGg6IDA7XHJcbiAgICAgICAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XHJcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGljb24tc2l6ZTtcclxuICAgICAgICBtYXgtd2lkdGg6ICRpY29uLXNpemU7XHJcbiAgICAgICAgbWF4LWhlaWdodDogJGljb24tc2l6ZTtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgaWNvbnMoKTtcclxuQGluY2x1ZGUgZm9udEljb25zKCk7IiwiQG1peGluIGZvbnRJY29ucyB7XHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogXCJib2ZpLWljb25cIjtcclxuICAgICAgICBzcmM6dXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24uZW90XCIpO1xyXG4gICAgICAgIHNyYzp1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxyXG4gICAgICAgICAgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgICAgICAgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24uc3ZnI2JvZmktaWNvblwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7ICBcclxuICAgIH1cclxuXHJcbiAgICBbZGF0YS1pY29uXTpiZWZvcmUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLWljb24pO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgc3BlYWs6IG5vbmU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgW2NsYXNzXj1cImJvZmktXCJdOmJlZm9yZSxcclxuICAgICAgW2NsYXNzKj1cIiBib2ZpLVwiXTpiZWZvcmUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBzcGVhazogbm9uZTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAuYm9maS1yZWN1cnJpbmc6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1lYmlsbDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2N1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWFkZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2ZlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWF0bTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3MVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWF1dG9tYXRpYzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3MlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWJhbms6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1iYW5rZmVlczpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3NFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRhdGVwaWNrZXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kZXBvc2l0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDc3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZWRpdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3OFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWZhcTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3YVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW1lc3NhZ2VzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQxXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbWVudTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0M1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWludGVyZXN0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDY1XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGVuZGluZzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0Y1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBob25lOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDRkXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcHJpbnQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNGZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZWZ1bmQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZW1vdmU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zdWNjZXNzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDU0XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc2VhcmNoOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDU2XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGFzc3dvcmQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS11c2VybmFtZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3NVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWdlYXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjhcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jb250YWN0LWxpc3Q6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1maWx0ZXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kZWJpdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2MlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXN1cHBvcnQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjlcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS11c2VyLXNldHRpbmdzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDcwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYWNjb3VudHM6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS10cmFuc2ZlcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2NlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBob3RvOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDc5XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2hlY2stbWFyazpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0NlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWluZm9ybWF0aW9uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQ5XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2hhdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0YlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNhbmNlbDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0ZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXNlbmQtaWNvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1NVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXdhcm5pbmc6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNThcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS11cGxvYWQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS10aHVtYnN1cDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzMFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBkZjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0N1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNoZWNrOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQ4XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc3RhcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzNlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNhbWVyYTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzMlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRlbGl2ZXJ5LW1ldGhvZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzNFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRvd25sb2FkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDM3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZWJpbGwtcGF5YmlsbHM6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzhcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1mbGFnOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDIyXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYWxlcnQtaGlzdG9yeTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyNFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW1vYmlsZWRlcG9zaXQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjhcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1vbmV0aW1lOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDI5XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGVyc29uYWwtbWVzc2FnZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyY1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXRleHQtbWVzc2FnZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0YVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWV5ZS1vdXRsaW5lOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDUwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXR0YWNoOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDUxXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbG9nb3V0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDZiXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2xvc2U6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1nZWFyLWNpcmNsZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1N1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXRodW1ic3VwLWNpcmNsZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1OVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW1vZGFsLXNlbmQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hZGQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0NFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWdyb3VwOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDMzXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktaG9tZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzNVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBlcnNvbmFsLWluZm86YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzlcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZXJzb24tY2hlY2s6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZXJzb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zaWduZXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kYXRlcGlja2VyLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZWZ1bmQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2M1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXJlY3VycmluZy0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDI3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbWVzc2FnZXMtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyYVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWZhcS0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDJiXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZ2Vhci0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDJkXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcmVtb3ZlLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMmVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZWZ1bmQtMjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyZlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXVzZXJuYW1lLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcM2FcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zZWFyY2gtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzYlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBhc3N3b3JkLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcM2NcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kYXNoYm9hcmQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcM2RcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hdG0tMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBlbmRpbmctMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzZlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXN1Y2Nlc3MtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0MFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBob25lLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wcmludC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDVkXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbWVudS0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDVlXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktaW50ZXJlc3QtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1ZlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWljLWNvbnRhY3QtbGlzdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2MFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRlcG9zaXQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3YlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWF1dG9tYXRpYy0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDdjXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXV0b21hdGljcGF5bWVudDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3ZFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWJhbmstMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3ZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWJhbmtmZWVzLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1lZGl0LTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcZTAwMFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLTE0OTgxOTU1OTItaWNvbjE1LTg6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hcnJvdy1jaGV2cm9uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDMxXCI7XHJcbiAgICAgIH0gICAgICBcclxufSIsIi5jZGstb3ZlcmxheS1jb250YWluZXIsXHJcbi5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlciB7XHJcbiAgLy8gRGlzYWJsZSBldmVudHMgZnJvbSBiZWluZyBjYXB0dXJlZCBvbiB0aGUgb3ZlcmxheSBjb250YWluZXIuXHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gIC8vIFRoZSBjb250YWluZXIgc2hvdWxkIGJlIHRoZSBzaXplIG9mIHRoZSB2aWV3cG9ydC5cclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8vIFRoZSBvdmVybGF5LWNvbnRhaW5lciBpcyBhbiBpbnZpc2libGUgZWxlbWVudCB3aGljaCBjb250YWlucyBhbGwgaW5kaXZpZHVhbCBvdmVybGF5cy5cclxuLmNkay1vdmVybGF5LWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5LWNvbnRhaW5lcjtcclxufVxyXG5cclxuLy8gV2UgdXNlIGFuIGV4dHJhIHdyYXBwZXIgZWxlbWVudCBpbiBvcmRlciB0byB1c2UgbWFrZSB0aGUgb3ZlcmxheSBpdHNlbGYgYSBmbGV4IGl0ZW0uXHJcbi8vIFRoaXMgbWFrZXMgY2VudGVyaW5nIHRoZSBvdmVybGF5IGVhc3kgd2l0aG91dCBydW5uaW5nIGludG8gdGhlIHN1YnBpeGVsIHJlbmRlcmluZ1xyXG4vLyBwcm9ibGVtcyB0aWVkIHRvIHVzaW5nIGB0cmFuc2Zvcm1gIGFuZCB3aXRob3V0IGludGVyZmVyaW5nIHdpdGggdGhlIG90aGVyIHBvc2l0aW9uXHJcbi8vIHN0cmF0ZWdpZXMuXHJcbi5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXk7XHJcbn1cclxuXHJcbi8vIEEgc2luZ2xlIG92ZXJsYXkgcGFuZS5cclxuLmNkay1vdmVybGF5LXBhbmUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5O1xyXG59XHJcblxyXG4uY2RrLW92ZXJsYXktYmFja2Ryb3Age1xyXG4gIC8vIFRPRE8oamVsYm91cm4pOiByZXVzZSBzaWRlbmF2IGZ1bGxzY3JlZW4gbWl4aW4uXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuXHJcbiAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXktYmFja2Ryb3A7XHJcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRiYWNrZHJvcC1hbmltYXRpb24tZHVyYXRpb25cclxuICAgICRiYWNrZHJvcC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uO1xyXG4gIG9wYWNpdHk6IDA7XHJcblxyXG4gICYuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3Age1xyXG4gIGJhY2tncm91bmQ6ICRjZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wLWJhY2tncm91bmQ7XHJcbn1cclxuXHJcbi5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCB7XHJcbiAgLy8gTm90ZTogYXMgb2YgRmlyZWZveCA1NywgaGF2aW5nIHRoZSBiYWNrZHJvcCBiZSBgYmFja2dyb3VuZDogbm9uZWAgd2lsbCBwcmV2ZW50IGl0IGZyb21cclxuICAvLyBjYXB0dXJpbmcgdGhlIHVzZXIncyBtb3VzZSBzY3JvbGwgZXZlbnRzLiBTaW5jZSB3ZSBhbHNvIGNhbid0IHVzZSBzb21ldGhpbmcgbGlrZVxyXG4gIC8vIGByZ2JhKDAsIDAsIDAsIDApYCwgd2Ugd29yayBhcm91bmQgdGhlIGluY29uc2lzdGVuY3kgYnkgbm90IHNldHRpbmcgdGhlIGJhY2tncm91bmQgYXRcclxuICAvLyBhbGwgYW5kIHVzaW5nIGBvcGFjaXR5YCB0byBtYWtlIHRoZSBlbGVtZW50IHRyYW5zcGFyZW50LlxyXG4gICYsXHJcbiAgJi5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBVc2VkIHdoZW4gZGlzYWJsaW5nIGdsb2JhbCBzY3JvbGxpbmcuXHJcbi5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcblxyXG4gIC8vIE5lY2Vzc2FyeSBmb3IgdGhlIGNvbnRlbnQgbm90IHRvIGxvc2UgaXRzIHdpZHRoLiBOb3RlIHRoYXQgd2UncmUgdXNpbmcgMTAwJSwgaW5zdGVhZCBvZlxyXG4gIC8vIDEwMHZ3LCBiZWNhdXNlIDEwMHZ3IGluY2x1ZGVzIHRoZSB3aWR0aCBwbHVzIHRoZSBzY3JvbGxiYXIsIHdoZXJlYXMgMTAwJSBpcyB0aGUgd2lkdGhcclxuICAvLyB0aGF0IHRoZSBlbGVtZW50IGhhZCBiZWZvcmUgd2UgbWFkZSBpdCBgZml4ZWRgLlxyXG4gIHdpZHRoOiAxMDAlO1xyXG5cclxuICAvLyBOb3RlOiB0aGlzIHdpbGwgYWx3YXlzIGFkZCBhIHNjcm9sbGJhciB0byB3aGF0ZXZlciBlbGVtZW50IGl0IGlzIG9uLCB3aGljaCBjYW5cclxuICAvLyBwb3RlbnRpYWxseSByZXN1bHQgaW4gZG91YmxlIHNjcm9sbGJhcnMuIEl0IHNob3VsZG4ndCBiZSBhbiBpc3N1ZSwgYmVjYXVzZSB3ZSB3b24ndFxyXG4gIC8vIGJsb2NrIHNjcm9sbGluZyBvbiBhIHBhZ2UgdGhhdCBkb2Vzbid0IGhhdmUgYSBzY3JvbGxiYXIgaW4gdGhlIGZpcnN0IHBsYWNlLlxyXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcclxufVxyXG4iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMvX2FuaW1hdGlvbi5zY3NzJztcclxuQC13ZWJraXQta2V5ZnJhbWVzIHNrLWJvdW5jZWRlbGF5IHtcclxuICAgIDAlLCA4MCUsIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCkgfVxyXG4gICAgNDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMCkgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNrLWJvdW5jZWRlbGF5IHtcclxuICAgIDAlLCA4MCUsIDEwMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgfSA0MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wKTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHVrLWRvdC1sb2FkZXIoJHRoZW1lKSB7XHJcbiAgICAudWlraXQtZG90LWxvYWRlciB7XHJcbiAgICAgICAgdXNlci1zZWxlY3Q6bm9uZTsgICAgICAgICAgICBcclxuICAgICAgICAmLnVpa2l0LWlubGluZS1kb3QtbG9hZGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtYXJnaW46IDIwcHggYXV0bztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgPnNwYW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgd2lkdGg6IDE1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeSh3aGl0ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgdGhlbWlmeShwcmltYXJ5LCAkdGhlbWUpO1xyXG5cclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBhbmltYXRpb24oc2stYm91bmNlZGVsYXkgMS4ycyBpbmZpbml0ZSBlYXNlLWluLW91dCBib3RoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgPi5ib3VuY2UxIHtcclxuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4zMnM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4uYm91bmNlMiB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogLTAuMTZzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGUuLi4pIHtcclxuICAgICRtYXg6IGxlbmd0aCgkYW5pbWF0ZSk7XHJcbiAgICAkYW5pbWF0aW9uczogJyc7XHJcblxyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcclxuICAgICAgICAkYW5pbWF0aW9uczogI3skYW5pbWF0aW9ucyArIG50aCgkYW5pbWF0ZSwgJGkpfTtcclxuXHJcbiAgICAgICAgQGlmICRpIDwgJG1heCB7XHJcbiAgICAgICAgICAgICRhbmltYXRpb25zOiAjeyRhbmltYXRpb25zICsgJywgJ307XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYW5pbWF0aW9uOiAkYW5pbWF0aW9ucztcclxufVxyXG5cclxuQG1peGluIGtleWZyYW1lcygkYW5pbWF0aW9uTmFtZSkge1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxuICAgIEAtbW96LWtleWZyYW1lcyAjeyRhbmltYXRpb25OYW1lfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICBALW8ta2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxuICAgIEBrZXlmcmFtZXMgI3skYW5pbWF0aW9uTmFtZX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59IiwiQGltcG9ydCAnLi4vLi4vbWl4aW5zL2FuaW1hdGlvbi5zY3NzJztcclxuQGltcG9ydCAnLi4vLi4vZ2xvYmFsL19zci1vbmx5LnNjc3MnO1xyXG5cclxuJGlucHV0OiAoIHNpemU6IDIycHgsIG1hcmdpbi1yaWdodDogMTBweCk7XHJcbiRyaXBwbGU6ICggcG9zaXRpb246IDEwcHgsIHNpemU6IG1hcC1nZXQoJGlucHV0LCBzaXplKSAqIDMpO1xyXG5AaW5jbHVkZSBrZXlmcmFtZXMocmlwcGxlKSB7XHJcbiAgICA1JSxcclxuICAgIDEwMCUgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICA1JSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG5cclxuQG1peGluIHVrLXJhZGlvKCR0aGVtZSkge1xyXG4gICAgI3skcHJlZml4fS1yYWRpby1ncm91cCB7XHJcbiAgICAgICAgLiN7JHByZWZpeH0tcmFkaW8tZ3JvdXAge1xyXG4gICAgICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9cmFkaW9dIHtcclxuICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDEwcHg7ICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDsgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICRpbnB1dHMtY29uZmlnOiBtYXAtZ2V0KCR0aGVtZSwgaW5wdXRzKTtcclxuICAgICRjb25maWc6IG1hcC1nZXQoJGlucHV0cy1jb25maWcsIGlucHV0LWNoZWNrZWQpO1xyXG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeS1jb2xvcik7XHJcbiAgICBpbnB1dFt0eXBlPXJhZGlvXSB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3Itb25seSgpO1xyXG5cclxuICAgICAgICAmOmRpc2FibGVkK2xhYmVsOm5vdCg6Y2hlY2tlZCksICYuZGlzYWJsZWQrbGFiZWw6bm90KDpjaGVja2VkKSB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdGhlbWlmeShpbmFjdGl2ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICArbGFiZWwge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgLy8gbWFyZ2luOiAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IChtYXAtZ2V0KCRpbnB1dCwgc2l6ZSkgKyBtYXAtZ2V0KCRpbnB1dCwgbWFyZ2luLXJpZ2h0KSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogbWFwLWdldCgkaW5wdXQsIHNpemUpICsgMnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbWFwLWdldCgkaW5wdXQsIHNpemUpICsgMnB4O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGlucHV0LCBzaXplKTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkaW5wdXQsIHNpemUpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCBtYXAtZ2V0KCRpbnB1dCwgc2l6ZSkgdGhlbWlmeSh3aGl0ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRoZW1pZnkoaW5hY3RpdmUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAobWFwLWdldCgkaW5wdXQsIHNpemUpIC8gMik7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBtYXAtZ2V0KCRyaXBwbGUsIHBvc2l0aW9uKSAtIDFweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUsIHNpemUpO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUsIHNpemUpO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHByaW1hcnktY29sb3IsIDAuMSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwKTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIrbGFiZWwsICYuaG92ZXIrbGFiZWx7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Y2hlY2tlZCtsYWJlbCB7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA0cHggdGhlbWlmeSh3aGl0ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3IgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFuaW1hdGlvbihyaXBwbGUgMXMgbm9uZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIudWstZm9ybS1jb250cm9sIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS10YWJsZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBtaW4taGVpZ2h0OiAxOHB4O1xyXG5cclxuICAgICZfX3ZhbHVlIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgIG1heC13aWR0aDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgbWluLWhlaWdodDogNDhweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgJl9fYWRkb24ge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcbn0iLCIuYWxlcnQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nLXRvcDogMTVweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgaGVpZ2h0OiA0NnB4O1xyXG4gIGNvbG9yOiBibGFjaztcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBcclxuICAuaWNvbiB7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgbWFyZ2luLXRvcDogLTJweDtcclxuICB9XHJcbiAgXHJcbiAgLmNsb3NlLWljb257XHJcbiAgICBmb250LXNpemU6IDYuMjI4NXB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gIH1cclxuXHJcbiAgLmNoaWxkLS1mZWF0dXJlZCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEzcHg7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgfVxyXG59IiwiQGltcG9ydCBcIl92YXJpYWJsZXMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiX21peGlucy5zY3NzXCI7XHJcblxyXG4ubG9hZGluZy1zY3JlZW4ge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7XHJcbiAgbGVmdDogMDtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICB6LWluZGV4OiA5OTk5O1xyXG5cclxuICAubG9hZGluZy1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdG9wOiA0MCU7XHJcblxyXG4gICAgLmxvYWRpbmctbG9nbyB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcclxuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1icmFuZExvZ28pO1xyXG4gICAgICB3aWR0aDogMzIwcHg7XHJcbiAgICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAubG9hZGVyIHtcclxuICAgICAgYm9yZGVyOiAzcHggc29saWQgI0U5RUFFQztcclxuICAgICAgLyogTGlnaHQgZ3JleSAqL1xyXG4gICAgICBib3JkZXItdG9wOiAzcHggc29saWQgJHByaW1hcnktY29sb3I7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgd2lkdGg6IDc4cHg7XHJcbiAgICAgIGhlaWdodDogNzhweDtcclxuICAgICAgYW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICBtYXJnaW4tbGVmdDogLTM5cHg7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIHNwaW4ge1xyXG4gICAgICAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEobWF4LXdpZHRoOjc1MHB4KSB7XHJcbiAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEobWF4LXdpZHRoOiA0MDBweCkge1xyXG4gICAgICAubG9hZGluZy1sb2dvIHtcclxuICAgICAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gdHJhbnNpdGlvbigpIHtcclxuICAgIC1tb3otdHJhbnNmb3JtOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgLW8tdHJhbnNmb3JtOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgLW1zLXRyYW5zZm9ybTogYWxsIC4ycyBlYXNlLWluLW91dDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbkBtaXhpbiByb3RhdGUoJHZhbHVlKSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKCR2YWx1ZSk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKCR2YWx1ZSk7XHJcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgkdmFsdWUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKCR2YWx1ZSk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkdmFsdWUpO1xyXG59XHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIoJGNvbG9yKSB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgLyogQ2hyb21lL09wZXJhL1NhZmFyaSAqL1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIH1cclxuXHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOSsgKi9cclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICB9XHJcblxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBJRSAxMCsgKi9cclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICB9XHJcblxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOC0gKi9cclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2xhdGUoJHhWYWx1ZSwgJHlWYWx1ZSkge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeFZhbHVlLCAkeVZhbHVlKTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHhWYWx1ZSwgJHlWYWx1ZSk7XHJcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeFZhbHVlLCAkeVZhbHVlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeFZhbHVlLCAkeVZhbHVlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR4VmFsdWUsICR5VmFsdWUpO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNsYXRlLWNlbnRlcigpIHtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgtNTAlLCAwKTtcclxufVxyXG4iLCIkdWstYXhvcy1wcmltYXJ5LTcwMDogIzE0M0U2MTtcclxuJHVrLWF4b3MtcHJpbWFyeS1kZWZhdWx0OiAjMUUzODYwO1xyXG4kdWstYXhvcy1wcmltYXJ5LWhvdmVyOiAjMjg0ODg0O1xyXG5cclxuJHVrLWF4b3MtY29sb3JzOiAoXHJcbiAgMzAwOiAkdWstYXhvcy1wcmltYXJ5LWhvdmVyLFxyXG4gIDUwMDogJHVrLWF4b3MtcHJpbWFyeS1kZWZhdWx0LFxyXG4gIDcwMDogJHVrLWF4b3MtcHJpbWFyeS03MDAsXHJcbiAgLy8gQWx0ZXJuYXRlXHJcbiAgQTMwMDogI2ZmYjY2NCxcclxuICBBNTAwOiAjRkFBNzRBLFxyXG4gIEE3MDA6ICNGQUE3NEEsXHJcbiAgLy8gQ29udHJhc3RcclxuICBjb250cmFzdDogKFxyXG4gICAgMzAwOiAkdWstd2hpdGUsXHJcbiAgICA1MDA6ICR1ay13aGl0ZSxcclxuICAgIDcwMDogJHVrLXdoaXRlLFxyXG4gICAgLy8gQWx0ZXJuYXRlXHJcbiAgICBBMzAwOiAkdWstYXhvcy1wcmltYXJ5LWRlZmF1bHQsXHJcbiAgICBBNTAwOiAkdWstYXhvcy1wcmltYXJ5LWRlZmF1bHQsXHJcbiAgICBBNzAwOiAkdWstYXhvcy1wcmltYXJ5LWRlZmF1bHRcclxuICApXHJcbik7XHJcblxyXG4kdWstYXhvcy1wYWxldHRlczogKFxyXG4gIHByaW1hcnk6IHVrLXBhbGV0dGUoJHVrLWF4b3MtY29sb3JzLCAnc2Vjb25kYXJ5JyksXHJcbiAgc2Vjb25kYXJ5OiB1ay1wYWxldHRlKCR1ay1heG9zLWNvbG9ycywgJ3ByaW1hcnknLCBBNTAwLCBBMzAwLCBBNzAwKVxyXG4pO1xyXG5cclxuLy8gTWFpbiBDb2xvcnNcclxuJGF4b3MtcHJpbWFyeS1jb2xvcjogIzFFMzg2MDtcclxuJGF4b3Mtc2Vjb25kYXJ5LWNvbG9yOiAjRkFBNzRBO1xyXG4kdGV4dDogIzE0M0U2MTtcclxuLy8gQ29sb3JzIFNjaGVtZVxyXG4kcHJpbWFyeTogKFxyXG4gIG1haW46ICRheG9zLXByaW1hcnktY29sb3IsXHJcbiAgY29udHJhc3Q6ICR3aGl0ZSxcclxuICBob3ZlcjogIzI4NDg4NCxcclxuICBvcG9zaXRlOiAkYXhvcy1zZWNvbmRhcnktY29sb3IsXHJcbik7XHJcbiRzZWNvbmRhcnk6IChcclxuICBtYWluOiAkYXhvcy1zZWNvbmRhcnktY29sb3IsXHJcbiAgY29udHJhc3Q6ICRheG9zLXByaW1hcnktY29sb3IsXHJcbiAgaG92ZXI6ICNmZmI2NjQsXHJcbiAgb3Bvc2l0ZTogJGF4b3MtcHJpbWFyeS1jb2xvcixcclxuKTsiXX0= */\"","declare var environment: any;\r\nimport { Component } from '@angular/core';\r\nimport { BRAND_ID } from 'models/enums';\r\n\r\n@Component({\r\n selector: 'loading-spinner',\r\n templateUrl: './loading-spinner.component.html',\r\n styleUrls: ['./loading-spinner.component.scss']\r\n})\r\nexport class LoadingSpinnerComponent {\r\n\r\n get isUFB() { return environment.brandId === BRAND_ID.UFBDirect; }\r\n get logoURL() { return `assetsheader/logo${this.isUFB ? '-dark' : ''}.svg`; }\r\n\r\n constructor() { }\r\n}\r\n","module.exports = \"/**\\r\\n* Helper mixin to create a linear-gradient\\r\\n*\\r\\n*/\\n/*\\r\\nhtml,\\r\\nbody {\\r\\n font-family: 'Libre Franklin', 'Helvetica', sans-serif;\\r\\n // color: themify(text);\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\na {\\r\\n color: themify(link);\\r\\n cursor: pointer;\\r\\n text-decoration: none;\\r\\n -webkit-tap-highlight-color: transparent;\\r\\n}\\r\\n\\r\\n.round-image {\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n\\r\\n*/\\n.fcontainer-fluid,\\n.fcontainer {\\n margin: 0 auto; }\\n.fcontainer-fluid {\\n padding: 0 2rem; }\\n.frow {\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex: 0 1 auto;\\n flex: 0 1 auto;\\n -ms-flex-direction: row;\\n flex-direction: row;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap; }\\n.frow.reverse {\\n -ms-flex-direction: row-reverse;\\n flex-direction: row-reverse; }\\n.finline {\\n display: -ms-inline-flexbox;\\n display: inline-flex; }\\n.reset-padding {\\n padding: 0; }\\n.reset-margin {\\n margin: 0; }\\n.uk-btn.none {\\n border: none;\\n background-color: transparent;\\n text-transform: none;\\n min-width: 0;\\n min-height: 0;\\n padding: 0; }\\n.uk-btn.icon {\\n font-weight: 500;\\n font-size: 14px;\\n line-height: 16px;\\n font-weight: bold; }\\n.uk-shadow-0 {\\n box-shadow: none !important; }\\n.uk-shadow-1 {\\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); }\\n.uk-shadow-1-half {\\n box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2); }\\n.uk-shadow-2 {\\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-3 {\\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-4 {\\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.3); }\\n.uk-shadow-5 {\\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.3); }\\n.uk-nav {\\n padding-left: 0;\\n margin-bottom: 0;\\n list-style: none;\\n box-sizing: border-box; }\\n.uk-nav .uk-nav-item {\\n clear: both;\\n float: none;\\n display: inline-block;\\n margin: 0px; }\\n.uk-nav .uk-nav-item:hover {\\n background-color: #eee; }\\n.uk-tooltip {\\n background-color: #293541;\\n color: #FFF;\\n position: fixed;\\n max-width: 280px;\\n font-size: 14px;\\n padding: 5px 10px;\\n z-index: 2; }\\n.uk-tooltip::before {\\n content: '';\\n position: absolute;\\n display: inline-block;\\n height: 0;\\n width: 0;\\n border: solid 6px transparent; }\\n.uk-tooltip.white {\\n background-color: #FFF;\\n color: #293541; }\\n.uk-tooltip.bottom::before {\\n border-bottom-color: #293541;\\n margin-top: -12px;\\n top: 0; }\\n.uk-tooltip.bottom.white::before {\\n border-bottom-color: #FFF !important; }\\n.uk-tooltip.top::before {\\n border-top-color: #293541;\\n margin-bottom: -12px;\\n bottom: 0; }\\n.uk-tooltip.top.white::before {\\n border-top-color: #FFF !important; }\\n.uk-tooltip.left::before {\\n border-left-color: #293541;\\n margin-right: -12px;\\n right: 0; }\\n.uk-tooltip.right::before {\\n border-right-color: #293541;\\n margin-left: -12px;\\n left: 0; }\\n.uk-label.uk-tooltip-host {\\n position: relative;\\n top: 5px; }\\n.uk-stepper {\\n display: inline-block; }\\n.uk-stepper .uk-progress-title {\\n color: #283541;\\n font-size: 18px;\\n font-weight: 600;\\n padding-top: 7px; }\\n.uk-stepper .uk-progress-step-body {\\n padding-top: 8px;\\n padding-bottom: 20px;\\n display: block; }\\n.uk-stepper .uk-progress-track {\\n list-style-type: none;\\n table-layout: fixed;\\n display: table;\\n width: 100%;\\n margin: 0;\\n padding: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step {\\n display: table-cell;\\n position: relative;\\n text-align: center;\\n padding-top: 27px; }\\n.uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n content: '';\\n background-color: #C9CCCF;\\n position: absolute;\\n top: 8.5px;\\n height: 3px;\\n width: 50%;\\n z-index: -1; }\\n.uk-stepper .uk-progress-track .uk-progress-step::before {\\n left: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step::after {\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step:first-child::before {\\n width: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step:last-child::after {\\n width: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n background-color: #C9CCCF;\\n position: absolute;\\n border-radius: 50%;\\n display: block;\\n margin: 0 auto;\\n height: 20px;\\n width: 20px;\\n padding: 0 4px;\\n top: 0;\\n left: 0;\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap .uk-icon {\\n display: none; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n position: absolute;\\n border-radius: 50%;\\n margin: 0 auto;\\n margin-top: 2px;\\n height: 16px;\\n width: 16px;\\n content: '';\\n left: 0;\\n right: 0; }\\n.uk-stepper .uk-progress-track .uk-progress-step .uk-progress-text {\\n position: relative;\\n color: #5F6871;\\n text-transform: capitalize;\\n font-size: 14px;\\n font-weight: 600; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border: solid 2px #FFF;\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active::before {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.active.wip::after {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done .uk-step-icon-wrap {\\n background-color: #1e8257; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done .uk-step-icon-wrap .uk-icon {\\n color: #FFF;\\n display: initial; }\\n.uk-stepper .uk-progress-track .uk-progress-step.done::before, .uk-stepper .uk-progress-track .uk-progress-step.done::after {\\n background-color: #1e8257; }\\n@media only screen and (min-width: 768px) {\\n .uk-stepper .uk-progress-track .uk-progress-step {\\n padding-top: 32px; }\\n .uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n top: 11px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n height: 25px;\\n width: 25px;\\n padding: 0 6px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n height: 21px;\\n width: 21px; }\\n .uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border-width: 3px; } }\\n@media only screen and (min-width: 992px) {\\n .uk-stepper .uk-progress-track .uk-progress-step {\\n padding-top: 42px; }\\n .uk-stepper .uk-progress-track .uk-progress-step::before, .uk-stepper .uk-progress-track .uk-progress-step::after {\\n top: 16px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap {\\n height: 35px;\\n width: 35px;\\n padding: 0 8px; }\\n .uk-stepper .uk-progress-track .uk-progress-step .uk-step-icon-wrap::before {\\n height: 31px;\\n width: 31px; }\\n .uk-stepper .uk-progress-track .uk-progress-step.active .uk-step-icon-wrap::before {\\n border-width: 4px; } }\\n.uk-btn.icon .uk-icon {\\n height: 1.5em;\\n width: 1.5em; }\\n.uk-btn .uk-icon {\\n height: 1em;\\n width: 1em;\\n font-size: 1em;\\n vertical-align: middle; }\\n.uk-icon {\\n display: inline-block;\\n stroke-width: 0;\\n stroke: currentColor;\\n fill: currentColor;\\n font-size: 1.5em;\\n max-width: 1.5em;\\n max-height: 1.5em; }\\n@font-face {\\n font-family: \\\"bofi-icon\\\";\\n src: url(\\\"/assets/bofi-icon.eot\\\");\\n src: url(\\\"/assets/bofi-icon.eot?#iefix\\\") format(\\\"embedded-opentype\\\"), url(\\\"/assets/bofi-icon.woff\\\") format(\\\"woff\\\"), url(\\\"/assets/bofi-icon.ttf\\\") format(\\\"truetype\\\"), url(\\\"/assets/bofi-icon.svg#bofi-icon\\\") format(\\\"svg\\\");\\n font-weight: normal;\\n font-style: normal; }\\n[data-icon]:before {\\n font-family: \\\"bofi-icon\\\" !important;\\n content: attr(data-icon);\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n[class^=\\\"bofi-\\\"]:before,\\n[class*=\\\" bofi-\\\"]:before {\\n font-family: \\\"bofi-icon\\\" !important;\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n.bofi-recurring:before {\\n content: \\\"\\\\61\\\"; }\\n.bofi-ebill:before {\\n content: \\\"\\\\67\\\"; }\\n.bofi-add:before {\\n content: \\\"\\\\6f\\\"; }\\n.bofi-atm:before {\\n content: \\\"\\\\71\\\"; }\\n.bofi-automatic:before {\\n content: \\\"\\\\72\\\"; }\\n.bofi-bank:before {\\n content: \\\"\\\\73\\\"; }\\n.bofi-bankfees:before {\\n content: \\\"\\\\74\\\"; }\\n.bofi-datepicker:before {\\n content: \\\"\\\\6a\\\"; }\\n.bofi-deposit:before {\\n content: \\\"\\\\77\\\"; }\\n.bofi-edit:before {\\n content: \\\"\\\\78\\\"; }\\n.bofi-faq:before {\\n content: \\\"\\\\7a\\\"; }\\n.bofi-messages:before {\\n content: \\\"\\\\41\\\"; }\\n.bofi-menu:before {\\n content: \\\"\\\\43\\\"; }\\n.bofi-interest:before {\\n content: \\\"\\\\65\\\"; }\\n.bofi-pending:before {\\n content: \\\"\\\\4c\\\"; }\\n.bofi-phone:before {\\n content: \\\"\\\\4d\\\"; }\\n.bofi-print:before {\\n content: \\\"\\\\4f\\\"; }\\n.bofi-refund:before {\\n content: \\\"\\\\52\\\"; }\\n.bofi-remove:before {\\n content: \\\"\\\\53\\\"; }\\n.bofi-success:before {\\n content: \\\"\\\\54\\\"; }\\n.bofi-search:before {\\n content: \\\"\\\\56\\\"; }\\n.bofi-password:before {\\n content: \\\"\\\\6d\\\"; }\\n.bofi-username:before {\\n content: \\\"\\\\75\\\"; }\\n.bofi-gear:before {\\n content: \\\"\\\\68\\\"; }\\n.bofi-contact-list:before {\\n content: \\\"\\\\42\\\"; }\\n.bofi-filter:before {\\n content: \\\"\\\\76\\\"; }\\n.bofi-debit:before {\\n content: \\\"\\\\62\\\"; }\\n.bofi-support:before {\\n content: \\\"\\\\69\\\"; }\\n.bofi-user-settings:before {\\n content: \\\"\\\\70\\\"; }\\n.bofi-accounts:before {\\n content: \\\"\\\\64\\\"; }\\n.bofi-transfer:before {\\n content: \\\"\\\\66\\\"; }\\n.bofi-photo:before {\\n content: \\\"\\\\79\\\"; }\\n.bofi-check-mark:before {\\n content: \\\"\\\\46\\\"; }\\n.bofi-information:before {\\n content: \\\"\\\\49\\\"; }\\n.bofi-chat:before {\\n content: \\\"\\\\4b\\\"; }\\n.bofi-cancel:before {\\n content: \\\"\\\\4e\\\"; }\\n.bofi-send-icon:before {\\n content: \\\"\\\\55\\\"; }\\n.bofi-warning:before {\\n content: \\\"\\\\58\\\"; }\\n.bofi-upload:before {\\n content: \\\"\\\\5a\\\"; }\\n.bofi-thumbsup:before {\\n content: \\\"\\\\30\\\"; }\\n.bofi-pdf:before {\\n content: \\\"\\\\47\\\"; }\\n.bofi-check:before {\\n content: \\\"\\\\48\\\"; }\\n.bofi-star:before {\\n content: \\\"\\\\36\\\"; }\\n.bofi-camera:before {\\n content: \\\"\\\\32\\\"; }\\n.bofi-delivery-method:before {\\n content: \\\"\\\\34\\\"; }\\n.bofi-download:before {\\n content: \\\"\\\\37\\\"; }\\n.bofi-ebill-paybills:before {\\n content: \\\"\\\\38\\\"; }\\n.bofi-flag:before {\\n content: \\\"\\\\22\\\"; }\\n.bofi-alert-history:before {\\n content: \\\"\\\\24\\\"; }\\n.bofi-mobiledeposit:before {\\n content: \\\"\\\\28\\\"; }\\n.bofi-onetime:before {\\n content: \\\"\\\\29\\\"; }\\n.bofi-personal-message:before {\\n content: \\\"\\\\2c\\\"; }\\n.bofi-text-message:before {\\n content: \\\"\\\\4a\\\"; }\\n.bofi-eye-outline:before {\\n content: \\\"\\\\50\\\"; }\\n.bofi-attach:before {\\n content: \\\"\\\\51\\\"; }\\n.bofi-logout:before {\\n content: \\\"\\\\6b\\\"; }\\n.bofi-close:before {\\n content: \\\"\\\\45\\\"; }\\n.bofi-gear-circle:before {\\n content: \\\"\\\\57\\\"; }\\n.bofi-thumbsup-circle:before {\\n content: \\\"\\\\59\\\"; }\\n.bofi-modal-send:before {\\n content: \\\"\\\\6c\\\"; }\\n.bofi-add-1:before {\\n content: \\\"\\\\44\\\"; }\\n.bofi-group:before {\\n content: \\\"\\\\33\\\"; }\\n.bofi-home:before {\\n content: \\\"\\\\35\\\"; }\\n.bofi-personal-info:before {\\n content: \\\"\\\\39\\\"; }\\n.bofi-person-check:before {\\n content: \\\"\\\\21\\\"; }\\n.bofi-person:before {\\n content: \\\"\\\\23\\\"; }\\n.bofi-signer:before {\\n content: \\\"\\\\25\\\"; }\\n.bofi-datepicker-1:before {\\n content: \\\"\\\\26\\\"; }\\n.bofi-refund-1:before {\\n content: \\\"\\\\63\\\"; }\\n.bofi-recurring-1:before {\\n content: \\\"\\\\27\\\"; }\\n.bofi-messages-1:before {\\n content: \\\"\\\\2a\\\"; }\\n.bofi-faq-1:before {\\n content: \\\"\\\\2b\\\"; }\\n.bofi-gear-1:before {\\n content: \\\"\\\\2d\\\"; }\\n.bofi-remove-1:before {\\n content: \\\"\\\\2e\\\"; }\\n.bofi-refund-2:before {\\n content: \\\"\\\\2f\\\"; }\\n.bofi-username-1:before {\\n content: \\\"\\\\3a\\\"; }\\n.bofi-search-1:before {\\n content: \\\"\\\\3b\\\"; }\\n.bofi-password-1:before {\\n content: \\\"\\\\3c\\\"; }\\n.bofi-dashboard:before {\\n content: \\\"\\\\3d\\\"; }\\n.bofi-atm-1:before {\\n content: \\\"\\\\3e\\\"; }\\n.bofi-pending-1:before {\\n content: \\\"\\\\3f\\\"; }\\n.bofi-success-1:before {\\n content: \\\"\\\\40\\\"; }\\n.bofi-phone-1:before {\\n content: \\\"\\\\5b\\\"; }\\n.bofi-print-1:before {\\n content: \\\"\\\\5d\\\"; }\\n.bofi-menu-1:before {\\n content: \\\"\\\\5e\\\"; }\\n.bofi-interest-1:before {\\n content: \\\"\\\\5f\\\"; }\\n.bofi-ic-contact-list:before {\\n content: \\\"\\\\60\\\"; }\\n.bofi-deposit-1:before {\\n content: \\\"\\\\7b\\\"; }\\n.bofi-automatic-1:before {\\n content: \\\"\\\\7c\\\"; }\\n.bofi-automaticpayment:before {\\n content: \\\"\\\\7d\\\"; }\\n.bofi-bank-1:before {\\n content: \\\"\\\\7e\\\"; }\\n.bofi-bankfees-1:before {\\n content: \\\"\\\\5c\\\"; }\\n.bofi-edit-1:before {\\n content: \\\"\\\\e000\\\"; }\\n.bofi-1498195592-icon15-8:before {\\n content: \\\"\\\\6e\\\"; }\\n.bofi-arrow-chevron:before {\\n content: \\\"\\\\31\\\"; }\\n.cdk-overlay-container,\\n.cdk-global-overlay-wrapper {\\n pointer-events: none;\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: 100%; }\\n.cdk-overlay-container {\\n position: fixed;\\n z-index: 1000; }\\n.cdk-global-overlay-wrapper {\\n display: -ms-flexbox;\\n display: flex;\\n position: absolute;\\n z-index: 1000; }\\n.cdk-overlay-pane {\\n position: absolute;\\n pointer-events: auto;\\n box-sizing: border-box;\\n z-index: 1000; }\\n.cdk-overlay-backdrop {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n z-index: 1000;\\n pointer-events: auto;\\n -webkit-tap-highlight-color: transparent;\\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\\n opacity: 0; }\\n.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 1; }\\n.cdk-overlay-dark-backdrop {\\n background: rgba(0, 0, 0, 0.288); }\\n.cdk-overlay-transparent-backdrop, .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 0; }\\n.cdk-global-scrollblock {\\n position: fixed;\\n width: 100%;\\n overflow-y: scroll; }\\n@-webkit-keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0); }\\n 40% {\\n -webkit-transform: scale(1); } }\\n@keyframes sk-bouncedelay {\\n 0%, 80%, 100% {\\n -webkit-transform: scale(0);\\n transform: scale(0); }\\n 40% {\\n -webkit-transform: scale(1);\\n transform: scale(1); } }\\n@-webkit-keyframes ripple {\\n 5%,\\n 100% {\\n opacity: 0; }\\n 5% {\\n opacity: 1; } }\\n@keyframes ripple {\\n 5%,\\n 100% {\\n opacity: 0; }\\n 5% {\\n opacity: 1; } }\\n.uk-form-control {\\n display: inline-table;\\n cursor: pointer;\\n position: relative;\\n box-sizing: border-box;\\n min-height: 18px; }\\n.uk-form-control__value {\\n display: table-cell;\\n max-width: 0;\\n width: 100%;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n min-height: 48px; }\\n.uk-form-control__addon {\\n padding-left: 10px;\\n display: table-cell;\\n vertical-align: middle; }\\n.alert {\\n position: relative;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n margin-bottom: 20px;\\n margin-top: 20px;\\n border-radius: 0.25em;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: nowrap;\\n flex-wrap: nowrap;\\n height: 46px;\\n color: black;\\n font-size: 16px;\\n -ms-flex-align: center;\\n align-items: center; }\\n.alert .icon {\\n height: 20px;\\n width: 20px;\\n margin-left: 15px;\\n margin-top: -2px; }\\n.alert .close-icon {\\n font-size: 6.2285px;\\n margin-right: 15px; }\\n.alert .child--featured {\\n padding-left: 13px;\\n -ms-flex-positive: 1;\\n flex-grow: 1; }\\n:host {\\n position: absolute;\\n display: block;\\n width: 100%;\\n top: 0;\\n left: 0;\\n background-color: transparent; }\\n:host .progress-bar-item {\\n height: 6px;\\n border-radius: 8px;\\n background-color: #FAA74A;\\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5); }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL3Byb2dyZXNzLWJhci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXG1peGluc1xcaGVscGVyc1xcX2xpbmVhci1ncmFkaWVudC5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL3Byb2dyZXNzLWJhci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGdsb2JhbFxcX2dsb2JhbC5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcZ3JpZFxcX2NvbnRhaW5lci5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcZ3JpZFxcX3Jvdy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcdXRpbGl0aWVzXFxfcmVzZXRzLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9wcm9ncmVzcy1iYXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFx1dGlsaXRpZXNcXF9zaGFkb3cuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL3Byb2dyZXNzLWJhci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXG5hdnNcXF9iYXNlLW5hdnMuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL3Byb2dyZXNzLWJhci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXHRvb2x0aXBcXF90b29sdGlwLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9wcm9ncmVzcy1iYXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxzdGVwcGVyXFxfc3RlcHBlci5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcX3ZhcmlhYmxlcy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcYnJhbmRzXFxfY29sb3JzLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9wcm9ncmVzcy1iYXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxncmlkXFxfbWVkaWEtcXVlcmllcy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcaWNvbnNcXF9pY29ucy5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcaWNvbnNcXF9mb250LWljb24uc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL3Byb2dyZXNzLWJhci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXG92ZXJsYXlcXF9vdmVybGF5LnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9wcm9ncmVzcy1iYXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxsb2FkZXJzXFxfZG90LWxvYWRlci5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcbWl4aW5zXFxfYW5pbWF0aW9uLnNjc3MiLCJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9wcm9ncmVzcy1iYXIvRDpcXGFnZW50XFxfd29ya1xcMTYwXFxzXFxzcmNcXEVucm9sbG1lbnQuQ2xpZW50LldlYlxcYW5ndWxhci9ub2RlX21vZHVsZXNcXEB1aWtpdFxcY29yZVxcc3JjXFxjb21wb25lbnRzXFxyYWRpby1ncm91cFxcZWxlbWVudC5zY3NzIiwic3JjL2FwcC9sYXlvdXRzL2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvbm9kZV9tb2R1bGVzXFxAdWlraXRcXGNvcmVcXHNyY1xcY29tcG9uZW50c1xcZm9ybS1maWVsZHNcXF9mb3JtX2NvbnRyb2wuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL3Byb2dyZXNzLWJhci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGNvbXBvbmVudHNcXGFsZXJ0XFxfYWxlcnQuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL3Byb2dyZXNzLWJhci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL3NyY1xcYXBwXFxsYXlvdXRzXFxjb21wb25lbnRzXFxwcm9ncmVzcy1iYXJcXHByb2dyZXNzLWJhci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9jb21wb25lbnRzL3Byb2dyZXNzLWJhci9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL3NyY1xcc3R5bGVzXFxheG9zXFxfdmFyaWFibGVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztDQ0dDO0FDcUNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0RmQztBRXhCRDs7RUFFSSxjQUFjLEVBQUE7QUFHbEI7RUFDSSxlQUFlLEVBQUE7QUNQbkI7RUFDSSxvQkFBYTtFQUFiLGFBQWE7RUFDYixrQkFBYztNQUFkLGNBQWM7RUFDZCx1QkFBbUI7TUFBbkIsbUJBQW1CO0VBQ25CLG1CQUFlO01BQWYsZUFBZSxFQUFBO0FBSm5CO0lBTVEsK0JBQTJCO1FBQTNCLDJCQUEyQixFQUFBO0FBS25DO0VBQVcsMkJBQW9CO0VBQXBCLG9CQUFvQixFQUFBO0FDWC9CO0VBQ0ksVUFBUyxFQUFBO0FBRWI7RUFDSSxTQUFRLEVBQUE7QUFFWjtFQUVRLFlBQVk7RUFDWiw2QkFBNkI7RUFFN0Isb0JBQW9CO0VBQ3BCLFlBQVk7RUFDWixhQUFhO0VBQ2IsVUFBVSxFQUFBO0FBUmxCO0VBV1EsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsaUJBQWlCLEVBQUE7QUNuQnpCO0VBQ0UsMkJBQTJCLEVBQUE7QUFFN0I7RUFDRSwrR0FBK0csRUFBQTtBQUVqSDtFQUNFLCtHQUErRyxFQUFBO0FBRWpIO0VBQ0UsZ0hBQWdILEVBQUE7QUFFbEg7RUFDRSxpSEFBaUgsRUFBQTtBQUVuSDtFQUNFLHFIQUFxSCxFQUFBO0FBRXZIO0VBQ0UsdUhBQXVILEVBQUE7QUNwQnpIO0VBQ0ksZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsc0JBQXNCLEVBQUE7QUFKMUI7SUFPUSxXQUFXO0lBQ1gsV0FBVztJQUNYLHFCQUFxQjtJQUNyQixXQUFXLEVBQUE7QUFWbkI7TUFZWSxzQkFBc0IsRUFBQTtBQ1Bs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QTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMsRUFBQTtBQUVoQjtFQUNFLGNBQWMs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O01BQWpCLGlCQUFpQjtFQUNqQixZQUFZO0VBQ1osWUFBWTtFQUNaLGVBQWU7RUFDZixzQkFBbUI7TUFBbkIsbUJBQW1CLEVBQUE7QUFackI7SUFlSSxZQUFZO0lBQ1osV0FBVztJQUNYLGlCQUFpQjtJQUNqQixnQkFBZ0IsRUFBQTtBQWxCcEI7SUFzQkksbUJBQW1CO0lBQ25CLGtCQUFrQixFQUFBO0FBdkJ0QjtJQTJCSSxrQkFBa0I7SUFDbEIsb0JBQVk7UUFBWixZQUFZLEVBQUE7QUMzQmhCO0VBQ0ksa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxXQUFXO0VBQ1gsTUFBTTtFQUNOLE9BQU87RUFDUCw2QkM2RnNCLEVBQUE7QURuRzFCO0lBU1EsV0FBVztJQUNYLGtCQUFrQjtJQUNsQix5QkN5RmtCO0lEeEZsQiwwQ0FBdUMsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2xheW91dHMvY29tcG9uZW50cy9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiogIEhlbHBlciBtaXhpbiB0byBjcmVhdGUgYSBsaW5lYXItZ3JhZGllbnRcclxuKlxyXG4qL1xyXG5AbWl4aW4gbGluZWFyLWdyYWRpZW50KCRkaXJlY3Rpb24sICRjb2xvcmxpc3QpIHtcclxuICAgIEBpZiBub3QgaXMtZGlyZWN0aW9uKCRkaXJlY3Rpb24pIHtcclxuICAgICAgICAkY29sb3JsaXN0OiAkZGlyZWN0aW9uLCAkY29sb3JsaXN0O1xyXG4gICAgICAgICRkaXJlY3Rpb246IDBkZWc7XHJcbiAgICB9XHJcbiAgICBiYWNrZ3JvdW5kOiBudGgobnRoKCRjb2xvcmxpc3QsIDEpLCAxKTtcclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZ2FjeS1kaXJlY3Rpb24oJGRpcmVjdGlvbiksICRjb2xvcmxpc3QpO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRkaXJlY3Rpb24sICRjb2xvcmxpc3QpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gaXMtZGlyZWN0aW9uKCR2YWx1ZSkge1xyXG4gICAgJGlzLWtleXdvcmQ6IGluZGV4KCh0byB0b3AsIHRvIHRvcCByaWdodCwgdG8gcmlnaHQgdG9wLCB0byByaWdodCwgdG8gYm90dG9tIHJpZ2h0LCB0byByaWdodCBib3R0b20sIHRvIGJvdHRvbSwgdG8gYm90dG9tIGxlZnQsIHRvIGxlZnQgYm90dG9tLCB0byBsZWZ0LCB0byBsZWZ0IHRvcCwgdG8gdG9wIGxlZnQpLCAkdmFsdWUpO1xyXG4gICAgJGlzLWFuZ2xlOiB0eXBlLW9mKCR2YWx1ZSk9PSdudW1iZXInIGFuZCBpbmRleCgnZGVnJyAnZ3JhZCcgJ3R1cm4nICdyYWQnLCB1bml0KCR2YWx1ZSkpO1xyXG4gICAgQHJldHVybiAkaXMta2V5d29yZCBvciAkaXMtYW5nbGU7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBsZWdhY3ktZGlyZWN0aW9uKCR2YWx1ZSkge1xyXG4gICAgQGlmIGlzLWRpcmVjdGlvbigkdmFsdWUpPT1mYWxzZSB7XHJcbiAgICAgICAgQGVycm9yIFwiQ2Fubm90IGNvbnZlcnQgYCN7JHZhbHVlfWAgdG8gbGVnYWN5IHN5bnRheCBiZWNhdXNlIGl0IGRvZXNuJ3Qgc2VlbSB0byBiZSBhIGRpcmVjdGlvbi5cIjtcclxuICAgIH1cclxuICAgICRjb252ZXJzaW9uLW1hcDogKCB0byB0b3A6IGJvdHRvbSwgdG8gdG9wIHJpZ2h0OiBib3R0b20gbGVmdCwgdG8gcmlnaHQgdG9wOiBsZWZ0IGJvdHRvbSwgdG8gcmlnaHQ6IGxlZnQsIHRvIGJvdHRvbSByaWdodDogdG9wIGxlZnQsIHRvIHJpZ2h0IGJvdHRvbTogbGVmdCB0b3AsIHRvIGJvdHRvbTogdG9wLCB0byBib3R0b20gbGVmdDogdG9wIHJpZ2h0LCB0byBsZWZ0IGJvdHRvbTogcmlnaHQgdG9wLCB0byBsZWZ0OiByaWdodCwgdG8gbGVmdCB0b3A6IHJpZ2h0IGJvdHRvbSwgdG8gdG9wIGxlZnQ6IGJvdHRvbSByaWdodCk7XHJcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGNvbnZlcnNpb24tbWFwLCAkdmFsdWUpIHtcclxuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJGNvbnZlcnNpb24tbWFwLCAkdmFsdWUpO1xyXG4gICAgfVxyXG4gICAgQHJldHVybiA5MGRlZyAtICR2YWx1ZTtcclxufSIsIi8qKlxyXG4qICBIZWxwZXIgbWl4aW4gdG8gY3JlYXRlIGEgbGluZWFyLWdyYWRpZW50XHJcbipcclxuKi9cbi8qXHJcbmh0bWwsXHJcbmJvZHkge1xyXG4gICAgZm9udC1mYW1pbHk6ICdMaWJyZSBGcmFua2xpbicsICdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xyXG4gICAgLy8gY29sb3I6IHRoZW1pZnkodGV4dCk7XHJcbn1cclxuXHJcblxyXG5cclxuYSB7XHJcbiAgICBjb2xvcjogdGhlbWlmeShsaW5rKTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5yb3VuZC1pbWFnZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbn1cclxuXHJcblxyXG4qL1xuLmZjb250YWluZXItZmx1aWQsXG4uZmNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5mY29udGFpbmVyLWZsdWlkIHtcbiAgcGFkZGluZzogMCAycmVtOyB9XG5cbi5mcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAxIGF1dG87XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuZnJvdy5yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLmZpbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuXG4ucmVzZXQtcGFkZGluZyB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnJlc2V0LW1hcmdpbiB7XG4gIG1hcmdpbjogMDsgfVxuXG4udWstYnRuLm5vbmUge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICBtaW4taGVpZ2h0OiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi51ay1idG4uaWNvbiB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi51ay1zaGFkb3ctMCB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udWstc2hhZG93LTEge1xuICBib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLnVrLXNoYWRvdy0xLWhhbGYge1xuICBib3gtc2hhZG93OiAwIDNweCAzcHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA3cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDNweCAxcHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLnVrLXNoYWRvdy0yIHtcbiAgYm94LXNoYWRvdzogMCA0cHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4udWstc2hhZG93LTMge1xuICBib3gtc2hhZG93OiAwIDZweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggMThweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDVweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4udWstc2hhZG93LTQge1xuICBib3gtc2hhZG93OiAwIDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLnVrLXNoYWRvdy01IHtcbiAgYm94LXNoYWRvdzogMCAxNnB4IDI0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgNnB4IDMwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgOHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLnVrLW5hdiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAudWstbmF2IC51ay1uYXYtaXRlbSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMHB4OyB9XG4gICAgLnVrLW5hdiAudWstbmF2LWl0ZW06aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsgfVxuXG4udWstdG9vbHRpcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyOTM1NDE7XG4gIGNvbG9yOiAjRkZGO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG1heC13aWR0aDogMjgwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIHotaW5kZXg6IDI7IH1cbiAgLnVrLXRvb2x0aXA6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgYm9yZGVyOiBzb2xpZCA2cHggdHJhbnNwYXJlbnQ7IH1cbiAgLnVrLXRvb2x0aXAud2hpdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgY29sb3I6ICMyOTM1NDE7IH1cbiAgLnVrLXRvb2x0aXAuYm90dG9tOjpiZWZvcmUge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMyOTM1NDE7XG4gICAgbWFyZ2luLXRvcDogLTEycHg7XG4gICAgdG9wOiAwOyB9XG4gIC51ay10b29sdGlwLmJvdHRvbS53aGl0ZTo6YmVmb3JlIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7IH1cbiAgLnVrLXRvb2x0aXAudG9wOjpiZWZvcmUge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMyOTM1NDE7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEycHg7XG4gICAgYm90dG9tOiAwOyB9XG4gIC51ay10b29sdGlwLnRvcC53aGl0ZTo6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7IH1cbiAgLnVrLXRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogIzI5MzU0MTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMnB4O1xuICAgIHJpZ2h0OiAwOyB9XG4gIC51ay10b29sdGlwLnJpZ2h0OjpiZWZvcmUge1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzI5MzU0MTtcbiAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gICAgbGVmdDogMDsgfVxuXG4udWstbGFiZWwudWstdG9vbHRpcC1ob3N0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDVweDsgfVxuXG4udWstc3RlcHBlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdGl0bGUge1xuICAgIGNvbG9yOiAjMjgzNTQxO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmctdG9wOiA3cHg7IH1cbiAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXN0ZXAtYm9keSB7XG4gICAgcGFkZGluZy10b3A6IDhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLXRvcDogMjdweDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjpiZWZvcmUsIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0M5Q0NDRjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDguNXB4O1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgei1pbmRleDogLTE7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAwOyB9XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogMDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNDOUNDQ0Y7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgNHB4O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXAgLnVrLWljb24ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1zdGVwLWljb24td3JhcDo6YmVmb3JlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICByaWdodDogMDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIC51ay1wcm9ncmVzcy10ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogIzVGNjg3MTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmFjdGl2ZSAudWstc3RlcC1pY29uLXdyYXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4MjU3OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5hY3RpdmUgLnVrLXN0ZXAtaWNvbi13cmFwOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlcjogc29saWQgMnB4ICNGRkY7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlODI1NzsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmFjdGl2ZTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlODI1NzsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmFjdGl2ZS53aXA6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlODI1NzsgfVxuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmRvbmUgLnVrLXN0ZXAtaWNvbi13cmFwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlODI1NzsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuZG9uZSAudWstc3RlcC1pY29uLXdyYXAgLnVrLWljb24ge1xuICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgIGRpc3BsYXk6IGluaXRpYWw7IH1cbiAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5kb25lOjpiZWZvcmUsIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcC5kb25lOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTgyNTc7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAge1xuICAgICAgICBwYWRkaW5nLXRvcDogMzJweDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXA6OmJlZm9yZSwgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjphZnRlciB7XG4gICAgICAgICAgdG9wOiAxMXB4OyB9XG4gICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXAge1xuICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDZweDsgfVxuICAgICAgICAgIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcCAudWstc3RlcC1pY29uLXdyYXA6OmJlZm9yZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDIxcHg7XG4gICAgICAgICAgICB3aWR0aDogMjFweDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAuYWN0aXZlIC51ay1zdGVwLWljb24td3JhcDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDNweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDQycHg7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwOjpiZWZvcmUsIC51ay1zdGVwcGVyIC51ay1wcm9ncmVzcy10cmFjayAudWstcHJvZ3Jlc3Mtc3RlcDo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMTZweDsgfVxuICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcbiAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgcGFkZGluZzogMCA4cHg7IH1cbiAgICAgICAgICAudWstc3RlcHBlciAudWstcHJvZ3Jlc3MtdHJhY2sgLnVrLXByb2dyZXNzLXN0ZXAgLnVrLXN0ZXAtaWNvbi13cmFwOjpiZWZvcmUge1xuICAgICAgICAgICAgaGVpZ2h0OiAzMXB4O1xuICAgICAgICAgICAgd2lkdGg6IDMxcHg7IH1cbiAgICAgICAgLnVrLXN0ZXBwZXIgLnVrLXByb2dyZXNzLXRyYWNrIC51ay1wcm9ncmVzcy1zdGVwLmFjdGl2ZSAudWstc3RlcC1pY29uLXdyYXA6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiA0cHg7IH0gfVxuXG4udWstYnRuLmljb24gLnVrLWljb24ge1xuICBoZWlnaHQ6IDEuNWVtO1xuICB3aWR0aDogMS41ZW07IH1cblxuLnVrLWJ0biAudWstaWNvbiB7XG4gIGhlaWdodDogMWVtO1xuICB3aWR0aDogMWVtO1xuICBmb250LXNpemU6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4udWstaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICBmb250LXNpemU6IDEuNWVtO1xuICBtYXgtd2lkdGg6IDEuNWVtO1xuICBtYXgtaGVpZ2h0OiAxLjVlbTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiYm9maS1pY29uXCI7XG4gIHNyYzogdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24uZW90XCIpO1xuICBzcmM6IHVybChcIi9hc3NldHMvYm9maS1pY29uLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi9hc3NldHMvYm9maS1pY29uLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi5zdmcjYm9maS1pY29uXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbltkYXRhLWljb25dOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiICFpbXBvcnRhbnQ7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1pY29uKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5bY2xhc3NePVwiYm9maS1cIl06YmVmb3JlLFxuW2NsYXNzKj1cIiBib2ZpLVwiXTpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJib2ZpLWljb25cIiAhaW1wb3J0YW50O1xuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbi5ib2ZpLXJlY3VycmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjFcIjsgfVxuXG4uYm9maS1lYmlsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjdcIjsgfVxuXG4uYm9maS1hZGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZmXCI7IH1cblxuLmJvZmktYXRtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3MVwiOyB9XG5cbi5ib2ZpLWF1dG9tYXRpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzJcIjsgfVxuXG4uYm9maS1iYW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3M1wiOyB9XG5cbi5ib2ZpLWJhbmtmZWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3NFwiOyB9XG5cbi5ib2ZpLWRhdGVwaWNrZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZhXCI7IH1cblxuLmJvZmktZGVwb3NpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzdcIjsgfVxuXG4uYm9maS1lZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3OFwiOyB9XG5cbi5ib2ZpLWZhcTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2FcIjsgfVxuXG4uYm9maS1tZXNzYWdlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDFcIjsgfVxuXG4uYm9maS1tZW51OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0M1wiOyB9XG5cbi5ib2ZpLWludGVyZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2NVwiOyB9XG5cbi5ib2ZpLXBlbmRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRjXCI7IH1cblxuLmJvZmktcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRkXCI7IH1cblxuLmJvZmktcHJpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRmXCI7IH1cblxuLmJvZmktcmVmdW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1MlwiOyB9XG5cbi5ib2ZpLXJlbW92ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTNcIjsgfVxuXG4uYm9maS1zdWNjZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1NFwiOyB9XG5cbi5ib2ZpLXNlYXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTZcIjsgfVxuXG4uYm9maS1wYXNzd29yZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmRcIjsgfVxuXG4uYm9maS11c2VybmFtZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzVcIjsgfVxuXG4uYm9maS1nZWFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2OFwiOyB9XG5cbi5ib2ZpLWNvbnRhY3QtbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDJcIjsgfVxuXG4uYm9maS1maWx0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc2XCI7IH1cblxuLmJvZmktZGViaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDYyXCI7IH1cblxuLmJvZmktc3VwcG9ydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjlcIjsgfVxuXG4uYm9maS11c2VyLXNldHRpbmdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3MFwiOyB9XG5cbi5ib2ZpLWFjY291bnRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2NFwiOyB9XG5cbi5ib2ZpLXRyYW5zZmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2NlwiOyB9XG5cbi5ib2ZpLXBob3RvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3OVwiOyB9XG5cbi5ib2ZpLWNoZWNrLW1hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ2XCI7IH1cblxuLmJvZmktaW5mb3JtYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ5XCI7IH1cblxuLmJvZmktY2hhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGJcIjsgfVxuXG4uYm9maS1jYW5jZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRlXCI7IH1cblxuLmJvZmktc2VuZC1pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1NVwiOyB9XG5cbi5ib2ZpLXdhcm5pbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU4XCI7IH1cblxuLmJvZmktdXBsb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1YVwiOyB9XG5cbi5ib2ZpLXRodW1ic3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzMFwiOyB9XG5cbi5ib2ZpLXBkZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDdcIjsgfVxuXG4uYm9maS1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDhcIjsgfVxuXG4uYm9maS1zdGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzNlwiOyB9XG5cbi5ib2ZpLWNhbWVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzJcIjsgfVxuXG4uYm9maS1kZWxpdmVyeS1tZXRob2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDM0XCI7IH1cblxuLmJvZmktZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDM3XCI7IH1cblxuLmJvZmktZWJpbGwtcGF5YmlsbHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDM4XCI7IH1cblxuLmJvZmktZmxhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjJcIjsgfVxuXG4uYm9maS1hbGVydC1oaXN0b3J5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyNFwiOyB9XG5cbi5ib2ZpLW1vYmlsZWRlcG9zaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI4XCI7IH1cblxuLmJvZmktb25ldGltZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjlcIjsgfVxuXG4uYm9maS1wZXJzb25hbC1tZXNzYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyY1wiOyB9XG5cbi5ib2ZpLXRleHQtbWVzc2FnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGFcIjsgfVxuXG4uYm9maS1leWUtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTBcIjsgfVxuXG4uYm9maS1hdHRhY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDUxXCI7IH1cblxuLmJvZmktbG9nb3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2YlwiOyB9XG5cbi5ib2ZpLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0NVwiOyB9XG5cbi5ib2ZpLWdlYXItY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1N1wiOyB9XG5cbi5ib2ZpLXRodW1ic3VwLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTlcIjsgfVxuXG4uYm9maS1tb2RhbC1zZW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2Y1wiOyB9XG5cbi5ib2ZpLWFkZC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0NFwiOyB9XG5cbi5ib2ZpLWdyb3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzM1wiOyB9XG5cbi5ib2ZpLWhvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDM1XCI7IH1cblxuLmJvZmktcGVyc29uYWwtaW5mbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMzlcIjsgfVxuXG4uYm9maS1wZXJzb24tY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIxXCI7IH1cblxuLmJvZmktcGVyc29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyM1wiOyB9XG5cbi5ib2ZpLXNpZ25lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjVcIjsgfVxuXG4uYm9maS1kYXRlcGlja2VyLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI2XCI7IH1cblxuLmJvZmktcmVmdW5kLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDYzXCI7IH1cblxuLmJvZmktcmVjdXJyaW5nLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI3XCI7IH1cblxuLmJvZmktbWVzc2FnZXMtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMmFcIjsgfVxuXG4uYm9maS1mYXEtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMmJcIjsgfVxuXG4uYm9maS1nZWFyLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDJkXCI7IH1cblxuLmJvZmktcmVtb3ZlLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDJlXCI7IH1cblxuLmJvZmktcmVmdW5kLTI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDJmXCI7IH1cblxuLmJvZmktdXNlcm5hbWUtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcM2FcIjsgfVxuXG4uYm9maS1zZWFyY2gtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcM2JcIjsgfVxuXG4uYm9maS1wYXNzd29yZC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzY1wiOyB9XG5cbi5ib2ZpLWRhc2hib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcM2RcIjsgfVxuXG4uYm9maS1hdG0tMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcM2VcIjsgfVxuXG4uYm9maS1wZW5kaW5nLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDNmXCI7IH1cblxuLmJvZmktc3VjY2Vzcy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0MFwiOyB9XG5cbi5ib2ZpLXBob25lLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDViXCI7IH1cblxuLmJvZmktcHJpbnQtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNWRcIjsgfVxuXG4uYm9maS1tZW51LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDVlXCI7IH1cblxuLmJvZmktaW50ZXJlc3QtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNWZcIjsgfVxuXG4uYm9maS1pYy1jb250YWN0LWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDYwXCI7IH1cblxuLmJvZmktZGVwb3NpdC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3YlwiOyB9XG5cbi5ib2ZpLWF1dG9tYXRpYy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3Y1wiOyB9XG5cbi5ib2ZpLWF1dG9tYXRpY3BheW1lbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDdkXCI7IH1cblxuLmJvZmktYmFuay0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3ZVwiOyB9XG5cbi5ib2ZpLWJhbmtmZWVzLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDVjXCI7IH1cblxuLmJvZmktZWRpdC0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDAwXCI7IH1cblxuLmJvZmktMTQ5ODE5NTU5Mi1pY29uMTUtODpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmVcIjsgfVxuXG4uYm9maS1hcnJvdy1jaGV2cm9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwzMVwiOyB9XG5cbi5jZGstb3ZlcmxheS1jb250YWluZXIsXG4uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXIge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jZGstb3ZlcmxheS1jb250YWluZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDA7IH1cblxuLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDAwOyB9XG5cbi5jZGstb3ZlcmxheS1wYW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgei1pbmRleDogMTAwMDsgfVxuXG4uY2RrLW92ZXJsYXktYmFja2Ryb3Age1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTAwMDtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7XG4gIG9wYWNpdHk6IDA7IH1cbiAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3Age1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjg4KTsgfVxuXG4uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AsIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uY2RrLWdsb2JhbC1zY3JvbGxibG9jayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2stYm91bmNlZGVsYXkge1xuICAwJSwgODAlLCAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNrLWJvdW5jZWRlbGF5IHtcbiAgMCUsIDgwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByaXBwbGUge1xuICA1JSxcbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1JSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyByaXBwbGUge1xuICA1JSxcbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1JSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkAtby1rZXlmcmFtZXMgcmlwcGxlIHtcbiAgNSUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNSUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJpcHBsZSB7XG4gIDUlLFxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnVrLWZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGlubGluZS10YWJsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1pbi1oZWlnaHQ6IDE4cHg7IH1cbiAgLnVrLWZvcm0tY29udHJvbF9fdmFsdWUge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgbWF4LXdpZHRoOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBtaW4taGVpZ2h0OiA0OHB4OyB9XG4gIC51ay1mb3JtLWNvbnRyb2xfX2FkZG9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAwLjI1ZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBoZWlnaHQ6IDQ2cHg7XG4gIGNvbG9yOiBibGFjaztcbiAgZm9udC1zaXplOiAxNnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5hbGVydCAuaWNvbiB7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7IH1cbiAgLmFsZXJ0IC5jbG9zZS1pY29uIHtcbiAgICBmb250LXNpemU6IDYuMjI4NXB4O1xuICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuICAuYWxlcnQgLmNoaWxkLS1mZWF0dXJlZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxM3B4O1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuXG46aG9zdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIDpob3N0IC5wcm9ncmVzcy1iYXItaXRlbSB7XG4gICAgaGVpZ2h0OiA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGQUE3NEE7XG4gICAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4iLCIvLyBAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUxpYnJlK0ZyYW5rbGluOjMwMCw0MDAsNTAwLDYwMCw3MDAnKTtcclxuQGltcG9ydCAnLi9fZm9udC5zY3NzJztcclxuQGltcG9ydCAnLi9fc3Itb25seS5zY3NzJztcclxuXHJcbkBtaXhpbiB1ay1nbG9iYWwoJHVrLXRoZW1lKSB7XHJcbiAgICAkZm9udC1jb25maWc6IG1hcC1nZXQoJHVrLXRoZW1lLCBmb250cyk7XHJcbiAgICAkZm9udC1mYW1pbGllczogbWFwLWdldCgkZm9udC1jb25maWcsIGZhbWlsaWVzKTtcclxuICAgICRmb250LXNpemVzOiBtYXAtZ2V0KCRmb250LWNvbmZpZywgc2l6ZXMpO1xyXG5cclxuICAgIEBlYWNoICRmb250LWZhbWlseSwgJHZhbHVlIGluICRmb250LWZhbWlsaWVzIHtcclxuICAgICAgICAkZm9udC11cmw6IG1hcC1nZXQoJHZhbHVlLCB1cmwpO1xyXG4gICAgICAgIEBpZiAkZm9udC11cmwge1xyXG4gICAgICAgICAgICBAaW1wb3J0IHVybCgkZm9udC11cmwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAkcHJpbWFyeS1mb250LWZhbWlsaXk6IG1hcC1nZXQoJGZvbnQtZmFtaWxpZXMsIHByaW1hcnkpO1xyXG5cclxuICAgIGh0bWwgeyBcclxuICAgICAgICBib2R5IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogbWFwLWdldCgkcHJpbWFyeS1mb250LWZhbWlsaXksIG5hbWUpLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcHJpbWFyeS1mb250LWZhbWlsaXksIGNvbG9yKTtcclxuICAgICAgICAgICAgQGNvbnRlbnRcclxuICAgICAgICB9XHJcbiAgICAgICAgaDEsXHJcbiAgICAgICAgaDIsXHJcbiAgICAgICAgaDMsXHJcbiAgICAgICAgaDQsXHJcbiAgICAgICAgaDUsXHJcbiAgICAgICAgaDYge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB1ay1mb250cygkZm9udC1zaXplcyk7XHJcbiAgICAgICAgLnNyLW9ubHl7IEBpbmNsdWRlIHNyLW9ubHkoKTsgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKlxyXG5odG1sLFxyXG5ib2R5IHtcclxuICAgIGZvbnQtZmFtaWx5OiAnTGlicmUgRnJhbmtsaW4nLCAnSGVsdmV0aWNhJywgc2Fucy1zZXJpZjtcclxuICAgIC8vIGNvbG9yOiB0aGVtaWZ5KHRleHQpO1xyXG59XHJcblxyXG5cclxuXHJcbmEge1xyXG4gICAgY29sb3I6IHRoZW1pZnkobGluayk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4ucm91bmQtaW1hZ2Uge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG59XHJcblxyXG5cclxuKi8iLCIkY29udGFpbmVyLXdpZHRoOihzbTo0OXJlbSwgbWQ6NjVyZW0sIGxnOjc2cmVtKTtcclxuLmZjb250YWluZXItZmx1aWQsXHJcbi5mY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4uZmNvbnRhaW5lci1mbHVpZCB7XHJcbiAgICBwYWRkaW5nOiAwIDJyZW07XHJcbn1cclxuXHJcbkBtaXhpbiBjb250YWluZXIoJGtleSkge1xyXG4gICAgQGlmKCRrZXk9PSdsZycpIHtcclxuICAgICAgICAuY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGNvbnRhaW5lci13aWR0aCwgJGtleSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYoJGtleT09J21kJykge1xyXG4gICAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkY29udGFpbmVyLXdpZHRoLCAka2V5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZigka2V5PT0nc20nKSB7XHJcbiAgICAgICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRjb250YWluZXItd2lkdGgsICRrZXkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5mcm93IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4OiAwIDEgYXV0bztcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAmLnJldmVyc2Uge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5maW5saW5lIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IH0iLCIucmVzZXQtcGFkZGluZ3tcclxuICAgIHBhZGRpbmc6MDtcclxufVxyXG4ucmVzZXQtbWFyZ2lue1xyXG4gICAgbWFyZ2luOjA7XHJcbn1cclxuLnVrLWJ0biB7XHJcbiAgICAmLm5vbmUge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAvL291dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgbWluLXdpZHRoOiAwO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgICYuaWNvbiB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gICIsIi8vIFotbGV2ZWxzXHJcbi4jeyRwcmVmaXh9LXNoYWRvdy0wIHtcclxuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTEge1xyXG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxufVxyXG4uI3skcHJlZml4fS1zaGFkb3ctMS1oYWxmIHtcclxuICBib3gtc2hhZG93OiAwIDNweCAzcHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA3cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDNweCAxcHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTIge1xyXG4gIGJveC1zaGFkb3c6IDAgNHB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTMge1xyXG4gIGJveC1zaGFkb3c6IDAgNnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCAxOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG59XHJcbi4jeyRwcmVmaXh9LXNoYWRvdy00IHtcclxuICBib3gtc2hhZG93OiAwIDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbn1cclxuLiN7JHByZWZpeH0tc2hhZG93LTUge1xyXG4gIGJveC1zaGFkb3c6IDAgMTZweCAyNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDZweCAzMHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDhweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG59IiwiLnVrLW5hdntcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHJcbiAgICAudWstbmF2LWl0ZW17XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMHB4O1xyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiJHRvb2x0aXAtaGVpZ2h0OiAyOHB4O1xyXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAjMjkzNTQxO1xyXG4kdG9vbHRpcC1wYWRkaW5nOiA1cHggMTBweDtcclxuJHRvb2x0aXAtYXJyb3c6IDZweDtcclxuXHJcbi51ay10b29sdGlwIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICBjb2xvcjogI0ZGRjtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIG1heC13aWR0aDogMjgwcHg7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xyXG4gICAgei1pbmRleDogMjtcclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGJvcmRlcjogc29saWQgJHRvb2x0aXAtYXJyb3cgdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi53aGl0ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcclxuICAgICAgICBjb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAmLmJvdHRvbSB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogKC0yICogJHRvb2x0aXAtYXJyb3cpO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYud2hpdGU6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6I0ZGRiAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnRvcCB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogKC0yICogJHRvb2x0aXAtYXJyb3cpO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYud2hpdGU6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICNGRkYgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5sZWZ0IHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAoLTIgKiAkdG9vbHRpcC1hcnJvdyk7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnJpZ2h0IHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAoLTIgKiAkdG9vbHRpcC1hcnJvdyk7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udWstbGFiZWwge1xyXG4gICAgJi51ay10b29sdGlwLWhvc3Qge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IDVweDtcclxuICAgIH1cclxufVxyXG4iLCIkdWstcHJvZ3Jlc3MtYmFyLWxhYmxlLXNwYWNlOiA3cHg7XHJcbiR1ay1wcm9ncmVzcy1iYXItbGluZS1oZWlnaHQ6IDNweDtcclxuJHJpcHBsZS1zaXplOiAoeHM6IDIwcHgsIHNtOiAyNXB4LCBtZDogMzVweCk7XHJcbiRyaXBwbGUtYm9yZGVyLXdpZHRoOiAycHg7XHJcblxyXG4udWstc3RlcHBlcntcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIC51ay1wcm9ncmVzcy10aXRsZSB7XHJcbiAgICAgICAgY29sb3I6IHRoZW1pZnkodGV4dCwgJHRoZW1lKTtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogN3B4O1xyXG4gICAgfVxyXG4gICAgLnVrLXByb2dyZXNzLXN0ZXAtYm9keXtcclxuICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC51ay1wcm9ncmVzcy10cmFjayB7XHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAgIC51ay1wcm9ncmVzcy1zdGVwIHtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3hzJykgKyAkdWstcHJvZ3Jlc3MtYmFyLWxhYmxlLXNwYWNlO1xyXG5cclxuICAgICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkoZ3JheSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogKG1hcC1nZXQoJHJpcHBsZS1zaXplLCAneHMnKSAtICR1ay1wcm9ncmVzcy1iYXItbGluZS1oZWlnaHQpIC8yO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkdWstcHJvZ3Jlc3MtYmFyLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7IGxlZnQ6IDA7IH1cclxuICAgICAgICAgICAgJjo6YWZ0ZXIgeyByaWdodDogMDsgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7ICY6OmJlZm9yZSB7IHdpZHRoOiAwOyB9fVxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQgeyAmOjphZnRlciB7IHdpZHRoOiAwOyB9fVxyXG5cclxuICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkoZ3JheSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAneHMnKTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3hzJyk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDRweDtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAudWstaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJHJpcHBsZS1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3hzJykgLSAoMiAqICRyaXBwbGUtYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLXNpemUsICd4cycpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnVrLXByb2dyZXNzLXRleHQge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHRoZW1pZnkoaW5hY3RpdmUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcdFxyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IHNvbGlkIDJweCAjRkZGO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLndpcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmRvbmV7XHJcbiAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocHJpbWFyeSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgICAgICAudWstaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB0aGVtaWZ5KHdoaXRlLCAkdGhlbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbml0aWFsO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnksICR0aGVtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgc20ge1xyXG4gICAgICAgICAgICAudWstcHJvZ3Jlc3Mtc3RlcCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdzbScpICsgJHVrLXByb2dyZXNzLWJhci1sYWJsZS1zcGFjZTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogKG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnc20nKSAtICR1ay1wcm9ncmVzcy1iYXItbGluZS1oZWlnaHQpIC8yO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC51ay1zdGVwLWljb24td3JhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ3NtJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnc20nKTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDZweDtcclxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnc20nKSAtICgyICogJHJpcHBsZS1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdzbScpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZCB7XHJcbiAgICAgICAgICAgIC51ay1wcm9ncmVzcy1zdGVwIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJykgKyAkdWstcHJvZ3Jlc3MtYmFyLWxhYmxlLXNwYWNlO1xyXG5cclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IChtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJykgLSAkdWstcHJvZ3Jlc3MtYmFyLWxpbmUtaGVpZ2h0KSAvMjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAudWstc3RlcC1pY29uLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdtZCcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUtc2l6ZSwgJ21kJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3Jle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHJpcHBsZS1zaXplLCAnbWQnKSAtICgyICogJHJpcHBsZS1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkcmlwcGxlLXNpemUsICdtZCcpIC0gKDIgKiAkcmlwcGxlLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAgICAgLnVrLXN0ZXAtaWNvbi13cmFwIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiJHByaW1hcnk6ICMxZTgyNTcgIWRlZmF1bHQ7XHJcbiRzZWNvbmRhcnk6ICNGQUE3NEEgIWRlZmF1bHQ7XHJcbiRsaW5rOiAjMTE1M2I1ICFkZWZhdWx0O1xyXG4kdGV4dDogIzI4MzU0MSAhZGVmYXVsdDtcclxuJGdyYXk6ICNiZWMxYzUgIWRlZmF1bHQ7XHJcbiRpbmFjdGl2ZTogIzZjNzc4MSAhZGVmYXVsdDtcclxuJG11dGVkOiAjZWVlZmYyICFkZWZhdWx0O1xyXG4kbGlnaHQ6ICNmNGY1ZjcgIWRlZmF1bHQ7XHJcbiRlcnJvcjogI2NiMmQwZSAhZGVmYXVsdDtcclxuJHdhcm5pbmc6ICNlMzc5MzYgIWRlZmF1bHQ7XHJcbiRzdWNjZXNzOiAjMjI5ODZjICFkZWZhdWx0O1xyXG4kaW5mbzogIzZhYTVmMiAhZGVmYXVsdDtcclxuJGFjY2VudC0xOiAjNjhjYzlhICFkZWZhdWx0O1xyXG4kYWNjZW50LTI6ICRpbmZvICFkZWZhdWx0O1xyXG4kd2hpdGU6ICNmZmYgIWRlZmF1bHQ7XHJcblxyXG4kYnRuLWJhc2U6IChcclxuICBoZWlnaHQ6IDUycHgsXHJcbiAgd2lkdGg6IDE3NXB4LFxyXG4gIHBhZGRpbmc6IDE2cHggNDBweFxyXG4pO1xyXG5cclxuJGJ0bi1zaXplczogKGxnOihoZWlnaHQ6IDUycHgsIHBhZGRpbmc6IDE2cHggNjBweCkpICFkZWZhdWx0O1xyXG4gIFxyXG4kdGhlbWU6IChcclxuICAgIHByaW1hcnk6ICRwcmltYXJ5LFxyXG4gICAgc2Vjb25kYXJ5OiAkc2Vjb25kYXJ5LFxyXG4gICAgbGluazogJGxpbmssXHJcbiAgICB0ZXh0OiAkdGV4dCxcclxuICAgIGdyYXk6ICRncmF5LFxyXG4gICAgaW5hY3RpdmU6ICRpbmFjdGl2ZSxcclxuICAgIGxpZ2h0OiAkbGlnaHQsXHJcbiAgICBtdXRlZDogJG11dGVkLFxyXG4gICAgZXJyb3I6ICRlcnJvcixcclxuICAgIHdhcm5pbmc6ICR3YXJuaW5nLFxyXG4gICAgc3VjY2VzczogJHN1Y2Nlc3MsXHJcbiAgICBpbmZvIDogJGluZm8sXHJcbiAgICBhY2NlbnQtMTogJGFjY2VudC0xLFxyXG4gICAgYWNjZW50LTI6ICRhY2NlbnQtMixcclxuICAgIHdoaXRlOiAkd2hpdGVcclxuICApXHJcbiAgIWRlZmF1bHQ7XHJcbiRzaXplczogKFxyXG4gIHBob25lOlxyXG4gICAgKFxyXG4gICAgICAvLyBBcHByb3ZlZFxyXG4gICAgICBoMTooZm9udC1zaXplOiA1MnB4LCBsaW5lLWhlaWdodDogNThweCwgZm9udC13ZWlnaHQ6IDMwMCksXHJcbiAgICAgIGgyOihmb250LXNpemU6IDQycHgsIGxpbmUtaGVpZ2h0OiA1MHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgaDQ6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgcDooZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjRweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGxhYmVsOiAoZm9udC1zaXplOiAxNHB4LCBsaW5lLWhlaWdodDogMjBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIC8vIEVuZCBBcHByb3ZlZFxyXG4gICAgICBoMzooZm9udC1zaXplOiAxNnB4LCBsaW5lLWhlaWdodDogMjRweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGJvZHk6KGZvbnQtc2l6ZTogMTVweCwgbGluZS1oZWlnaHQ6IDE4cHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBzbWFsbDooZm9udC1zaXplOiAxNHB4LCBsaW5lLWhlaWdodDogMjBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICApLFxyXG4gIHRhYmxldDooXHJcbiAgICAgIC8vIEFwcHJvdmVkXHJcbiAgICAgIGgxOihmb250LXNpemU6IDYycHgsIGxpbmUtaGVpZ2h0OiA2OHB4LCBmb250LXdlaWdodDogMzAwKSxcclxuICAgICAgaDI6KGZvbnQtc2l6ZTogNTJweCwgbGluZS1oZWlnaHQ6IDYwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBoNDogKGZvbnQtc2l6ZTogMjBweCwgbGluZS1oZWlnaHQ6IDMwcHgsIGZvbnQtd2VpZ2h0OiA1MDApLFxyXG4gICAgICBwOihmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgbGFiZWw6IChmb250LXNpemU6IDE0cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgLy8gRW5kIEFwcHJvdmVkXHJcbiAgICAgIGgzOihmb250LXNpemU6IDI2cHgsIGxpbmUtaGVpZ2h0OiAzMHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgYm9keTooZm9udC1zaXplOiAxNXB4LCBsaW5lLWhlaWdodDogMjBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIHNtYWxsOihmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICksXHJcbiAgZGVza3RvcDooXHJcbiAgICAgIC8vIEFwcHJvdmVkXHJcbiAgICAgIGgxOiAoZm9udC1zaXplOiA3MnB4LCBsaW5lLWhlaWdodDogNzhweCwgZm9udC13ZWlnaHQ6IDMwMCksXHJcbiAgICAgIGgyOiAoZm9udC1zaXplOiA2MnB4LCBsaW5lLWhlaWdodDogNzBweCwgZm9udC13ZWlnaHQ6IDMwMCksXHJcbiAgICAgIGg0OiAoZm9udC1zaXplOiAyMHB4LCBsaW5lLWhlaWdodDogMzBweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIHA6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyMnB4LCBmb250LXdlaWdodDogNTAwKSxcclxuICAgICAgbGFiZWw6IChmb250LXNpemU6IDE0cHgsIGxpbmUtaGVpZ2h0OiAyMHB4LCBmb250LXdlaWdodDogNDAwKSxcclxuICAgICAgLy8gRW5kIEFwcHJvdmVkXHJcbiAgICAgIGgzOiAoZm9udC1zaXplOiAyNHB4LCBsaW5lLWhlaWdodDogMjhweCwgZm9udC13ZWlnaHQ6IDUwMCksXHJcbiAgICAgIGJvZHk6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAxOHB4LCBmb250LXdlaWdodDogNDAwKSxcclxuICAgICAgc21hbGw6IChmb250LXNpemU6IDE2cHgsIGxpbmUtaGVpZ2h0OiAyNHB4LCBmb250LXdlaWdodDogNDAwKSxcclxuICAgIClcclxuKTtcclxuJGd1dHRlcjogMzBweDtcclxuXHJcblxyXG4vL0FOR1VMQVIgQ0RLIE9WRVJMQVkgVkFSSUFCTEVTXHJcbiRjZGstei1pbmRleC1vdmVybGF5LWNvbnRhaW5lcjogMTAwMDtcclxuJGNkay16LWluZGV4LW92ZXJsYXk6IDEwMDA7XHJcbiRjZGstei1pbmRleC1vdmVybGF5LWJhY2tkcm9wOiAxMDAwO1xyXG5cclxuLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYWxsIG9mIHRoZSBiYWNrZHJvcHNcclxuJGNkay1vdmVybGF5LWRhcmstYmFja2Ryb3AtYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI4OCk7XHJcblxyXG4vLyBEZWZhdWx0IGJhY2tkcm9wIGFuaW1hdGlvbiBpcyBiYXNlZCBvbiB0aGUgTWF0ZXJpYWwgRGVzaWduIHN3aWZ0LWVhc2Utb3V0LlxyXG4kYmFja2Ryb3AtYW5pbWF0aW9uLWR1cmF0aW9uOiA0MDBtcyAhZGVmYXVsdDtcclxuJGJhY2tkcm9wLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpICFkZWZhdWx0OyIsIi8vIEdyYXlzXHJcbiRpbmFjdGl2ZTogIzVGNjg3MTtcclxuJG1pZC1ncmF5OiAjOTQ5QUEwO1xyXG4kZ3JheTogI0M5Q0NDRjtcclxuJG11dGVkOiAjRTlFQUVDO1xyXG4kbGlnaHQ6ICNGNEY1RjU7XHJcbiR3aGl0ZTogI0ZGRjtcclxuLy8gSWxsdXN0cmF0aXZlIEljb25zXHJcbiRpbmZvOiAjNjQ5NUY2O1xyXG4kYWNjZW50LTE6ICNGRkY7XHJcbiRhY2NlbnQtMjogIzAwMDtcclxuLy8gQWxlcnRzXHJcbiRlcnJvcjogI2NiMmQwZTtcclxuJHdhcm5pbmc6ICNlMzc5MzY7XHJcbiRzdWNjZXNzOiAjMjI5ODZjO1xyXG4vLyBMaW5rc1xyXG4kbGluazogIzE3NkFDRjtcclxuJGxpbmstdmlzaXRlZDogIzU1MUE4QjsiLCIkYnJlYWtwb2ludHMgOiggeHM6NDgwcHgsIHNtOiA3NjhweCwgbWQ6OTkycHgsIGxnOiAxMjAwcHgpO1xyXG5cclxuQG1peGluIHhzIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBzbSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAnc20nKSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWQge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJ21kJykpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGxnIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICdsZycpKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuIiwiQGltcG9ydCAnLi9fZm9udC1pY29uLnNjc3MnO1xyXG5cclxuJGJ0bi1pY29uLXNpemU6IDFlbTtcclxuJGljb24tc2l6ZTogMS41ZW07XHJcblxyXG5AbWl4aW4gaWNvbnMge1xyXG4gICAgLnVrLWJ0bi5pY29ue1xyXG4gICAgICAgIC51ay1pY29ue1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRpY29uLXNpemU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkaWNvbi1zaXplO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC51ay1idG57XHJcbiAgICAgICAgLnVrLWljb257XHJcbiAgICAgICAgICAgIGhlaWdodDogJGJ0bi1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkYnRuLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkYnRuLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgLy9HZW5lcmFsXHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnVrLWljb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBzdHJva2Utd2lkdGg6IDA7XHJcbiAgICAgICAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XHJcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGljb24tc2l6ZTtcclxuICAgICAgICBtYXgtd2lkdGg6ICRpY29uLXNpemU7XHJcbiAgICAgICAgbWF4LWhlaWdodDogJGljb24tc2l6ZTtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgaWNvbnMoKTtcclxuQGluY2x1ZGUgZm9udEljb25zKCk7IiwiQG1peGluIGZvbnRJY29ucyB7XHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogXCJib2ZpLWljb25cIjtcclxuICAgICAgICBzcmM6dXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24uZW90XCIpO1xyXG4gICAgICAgIHNyYzp1cmwoXCIvYXNzZXRzL2JvZmktaWNvbi5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxyXG4gICAgICAgICAgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgICAgICAgdXJsKFwiL2Fzc2V0cy9ib2ZpLWljb24uc3ZnI2JvZmktaWNvblwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7ICBcclxuICAgIH1cclxuXHJcbiAgICBbZGF0YS1pY29uXTpiZWZvcmUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLWljb24pO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgc3BlYWs6IG5vbmU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgW2NsYXNzXj1cImJvZmktXCJdOmJlZm9yZSxcclxuICAgICAgW2NsYXNzKj1cIiBib2ZpLVwiXTpiZWZvcmUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImJvZmktaWNvblwiICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBzcGVhazogbm9uZTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAuYm9maS1yZWN1cnJpbmc6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1lYmlsbDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2N1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWFkZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2ZlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWF0bTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3MVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWF1dG9tYXRpYzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3MlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWJhbms6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1iYW5rZmVlczpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3NFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRhdGVwaWNrZXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kZXBvc2l0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDc3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZWRpdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3OFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWZhcTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3YVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW1lc3NhZ2VzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQxXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbWVudTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0M1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWludGVyZXN0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDY1XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGVuZGluZzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0Y1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBob25lOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDRkXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcHJpbnQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNGZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZWZ1bmQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZW1vdmU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNTNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zdWNjZXNzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDU0XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc2VhcmNoOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDU2XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGFzc3dvcmQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS11c2VybmFtZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3NVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWdlYXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjhcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1jb250YWN0LWxpc3Q6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1maWx0ZXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNzZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kZWJpdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2MlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXN1cHBvcnQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjlcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS11c2VyLXNldHRpbmdzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDcwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYWNjb3VudHM6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNjRcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS10cmFuc2ZlcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2NlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBob3RvOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDc5XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2hlY2stbWFyazpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0NlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWluZm9ybWF0aW9uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQ5XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2hhdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0YlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNhbmNlbDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0ZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXNlbmQtaWNvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1NVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXdhcm5pbmc6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNThcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS11cGxvYWQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS10aHVtYnN1cDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzMFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBkZjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0N1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNoZWNrOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDQ4XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktc3RhcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzNlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWNhbWVyYTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzMlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRlbGl2ZXJ5LW1ldGhvZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzNFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRvd25sb2FkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDM3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZWJpbGwtcGF5YmlsbHM6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzhcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1mbGFnOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDIyXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYWxlcnQtaGlzdG9yeTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyNFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW1vYmlsZWRlcG9zaXQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjhcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1vbmV0aW1lOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDI5XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcGVyc29uYWwtbWVzc2FnZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyY1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXRleHQtbWVzc2FnZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0YVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWV5ZS1vdXRsaW5lOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDUwXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXR0YWNoOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDUxXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbG9nb3V0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDZiXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktY2xvc2U6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNDVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1nZWFyLWNpcmNsZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1N1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXRodW1ic3VwLWNpcmNsZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1OVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLW1vZGFsLXNlbmQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hZGQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0NFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWdyb3VwOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDMzXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktaG9tZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzNVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBlcnNvbmFsLWluZm86YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMzlcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZXJzb24tY2hlY2s6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjFcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wZXJzb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zaWduZXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kYXRlcGlja2VyLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjZcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZWZ1bmQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2M1wiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXJlY3VycmluZy0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDI3XCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbWVzc2FnZXMtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyYVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWZhcS0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDJiXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktZ2Vhci0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDJkXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktcmVtb3ZlLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMmVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1yZWZ1bmQtMjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyZlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXVzZXJuYW1lLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcM2FcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1zZWFyY2gtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzYlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBhc3N3b3JkLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcM2NcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1kYXNoYm9hcmQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcM2RcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hdG0tMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBlbmRpbmctMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwzZlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXN1Y2Nlc3MtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0MFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLXBob25lLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWJcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1wcmludC0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDVkXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktbWVudS0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDVlXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktaW50ZXJlc3QtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw1ZlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWljLWNvbnRhY3QtbGlzdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw2MFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWRlcG9zaXQtMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3YlwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWF1dG9tYXRpYy0xOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDdjXCI7XHJcbiAgICAgIH1cclxuICAgICAgLmJvZmktYXV0b21hdGljcGF5bWVudDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3ZFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWJhbmstMTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFw3ZVwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLWJhbmtmZWVzLTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNWNcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1lZGl0LTE6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcZTAwMFwiO1xyXG4gICAgICB9XHJcbiAgICAgIC5ib2ZpLTE0OTgxOTU1OTItaWNvbjE1LTg6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcNmVcIjtcclxuICAgICAgfVxyXG4gICAgICAuYm9maS1hcnJvdy1jaGV2cm9uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXDMxXCI7XHJcbiAgICAgIH0gICAgICBcclxufSIsIi5jZGstb3ZlcmxheS1jb250YWluZXIsXHJcbi5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlciB7XHJcbiAgLy8gRGlzYWJsZSBldmVudHMgZnJvbSBiZWluZyBjYXB0dXJlZCBvbiB0aGUgb3ZlcmxheSBjb250YWluZXIuXHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gIC8vIFRoZSBjb250YWluZXIgc2hvdWxkIGJlIHRoZSBzaXplIG9mIHRoZSB2aWV3cG9ydC5cclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8vIFRoZSBvdmVybGF5LWNvbnRhaW5lciBpcyBhbiBpbnZpc2libGUgZWxlbWVudCB3aGljaCBjb250YWlucyBhbGwgaW5kaXZpZHVhbCBvdmVybGF5cy5cclxuLmNkay1vdmVybGF5LWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5LWNvbnRhaW5lcjtcclxufVxyXG5cclxuLy8gV2UgdXNlIGFuIGV4dHJhIHdyYXBwZXIgZWxlbWVudCBpbiBvcmRlciB0byB1c2UgbWFrZSB0aGUgb3ZlcmxheSBpdHNlbGYgYSBmbGV4IGl0ZW0uXHJcbi8vIFRoaXMgbWFrZXMgY2VudGVyaW5nIHRoZSBvdmVybGF5IGVhc3kgd2l0aG91dCBydW5uaW5nIGludG8gdGhlIHN1YnBpeGVsIHJlbmRlcmluZ1xyXG4vLyBwcm9ibGVtcyB0aWVkIHRvIHVzaW5nIGB0cmFuc2Zvcm1gIGFuZCB3aXRob3V0IGludGVyZmVyaW5nIHdpdGggdGhlIG90aGVyIHBvc2l0aW9uXHJcbi8vIHN0cmF0ZWdpZXMuXHJcbi5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXk7XHJcbn1cclxuXHJcbi8vIEEgc2luZ2xlIG92ZXJsYXkgcGFuZS5cclxuLmNkay1vdmVybGF5LXBhbmUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5O1xyXG59XHJcblxyXG4uY2RrLW92ZXJsYXktYmFja2Ryb3Age1xyXG4gIC8vIFRPRE8oamVsYm91cm4pOiByZXVzZSBzaWRlbmF2IGZ1bGxzY3JlZW4gbWl4aW4uXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuXHJcbiAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXktYmFja2Ryb3A7XHJcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRiYWNrZHJvcC1hbmltYXRpb24tZHVyYXRpb25cclxuICAgICRiYWNrZHJvcC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uO1xyXG4gIG9wYWNpdHk6IDA7XHJcblxyXG4gICYuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3Age1xyXG4gIGJhY2tncm91bmQ6ICRjZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wLWJhY2tncm91bmQ7XHJcbn1cclxuXHJcbi5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCB7XHJcbiAgLy8gTm90ZTogYXMgb2YgRmlyZWZveCA1NywgaGF2aW5nIHRoZSBiYWNrZHJvcCBiZSBgYmFja2dyb3VuZDogbm9uZWAgd2lsbCBwcmV2ZW50IGl0IGZyb21cclxuICAvLyBjYXB0dXJpbmcgdGhlIHVzZXIncyBtb3VzZSBzY3JvbGwgZXZlbnRzLiBTaW5jZSB3ZSBhbHNvIGNhbid0IHVzZSBzb21ldGhpbmcgbGlrZVxyXG4gIC8vIGByZ2JhKDAsIDAsIDAsIDApYCwgd2Ugd29yayBhcm91bmQgdGhlIGluY29uc2lzdGVuY3kgYnkgbm90IHNldHRpbmcgdGhlIGJhY2tncm91bmQgYXRcclxuICAvLyBhbGwgYW5kIHVzaW5nIGBvcGFjaXR5YCB0byBtYWtlIHRoZSBlbGVtZW50IHRyYW5zcGFyZW50LlxyXG4gICYsXHJcbiAgJi5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBVc2VkIHdoZW4gZGlzYWJsaW5nIGdsb2JhbCBzY3JvbGxpbmcuXHJcbi5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcblxyXG4gIC8vIE5lY2Vzc2FyeSBmb3IgdGhlIGNvbnRlbnQgbm90IHRvIGxvc2UgaXRzIHdpZHRoLiBOb3RlIHRoYXQgd2UncmUgdXNpbmcgMTAwJSwgaW5zdGVhZCBvZlxyXG4gIC8vIDEwMHZ3LCBiZWNhdXNlIDEwMHZ3IGluY2x1ZGVzIHRoZSB3aWR0aCBwbHVzIHRoZSBzY3JvbGxiYXIsIHdoZXJlYXMgMTAwJSBpcyB0aGUgd2lkdGhcclxuICAvLyB0aGF0IHRoZSBlbGVtZW50IGhhZCBiZWZvcmUgd2UgbWFkZSBpdCBgZml4ZWRgLlxyXG4gIHdpZHRoOiAxMDAlO1xyXG5cclxuICAvLyBOb3RlOiB0aGlzIHdpbGwgYWx3YXlzIGFkZCBhIHNjcm9sbGJhciB0byB3aGF0ZXZlciBlbGVtZW50IGl0IGlzIG9uLCB3aGljaCBjYW5cclxuICAvLyBwb3RlbnRpYWxseSByZXN1bHQgaW4gZG91YmxlIHNjcm9sbGJhcnMuIEl0IHNob3VsZG4ndCBiZSBhbiBpc3N1ZSwgYmVjYXVzZSB3ZSB3b24ndFxyXG4gIC8vIGJsb2NrIHNjcm9sbGluZyBvbiBhIHBhZ2UgdGhhdCBkb2Vzbid0IGhhdmUgYSBzY3JvbGxiYXIgaW4gdGhlIGZpcnN0IHBsYWNlLlxyXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcclxufVxyXG4iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMvX2FuaW1hdGlvbi5zY3NzJztcclxuQC13ZWJraXQta2V5ZnJhbWVzIHNrLWJvdW5jZWRlbGF5IHtcclxuICAgIDAlLCA4MCUsIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCkgfVxyXG4gICAgNDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMCkgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNrLWJvdW5jZWRlbGF5IHtcclxuICAgIDAlLCA4MCUsIDEwMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgfSA0MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wKTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHVrLWRvdC1sb2FkZXIoJHRoZW1lKSB7XHJcbiAgICAudWlraXQtZG90LWxvYWRlciB7XHJcbiAgICAgICAgdXNlci1zZWxlY3Q6bm9uZTsgICAgICAgICAgICBcclxuICAgICAgICAmLnVpa2l0LWlubGluZS1kb3QtbG9hZGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtYXJnaW46IDIwcHggYXV0bztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgPnNwYW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgd2lkdGg6IDE1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeSh3aGl0ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgdGhlbWlmeShwcmltYXJ5LCAkdGhlbWUpO1xyXG5cclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBhbmltYXRpb24oc2stYm91bmNlZGVsYXkgMS4ycyBpbmZpbml0ZSBlYXNlLWluLW91dCBib3RoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgPi5ib3VuY2UxIHtcclxuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4zMnM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4uYm91bmNlMiB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogLTAuMTZzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGUuLi4pIHtcclxuICAgICRtYXg6IGxlbmd0aCgkYW5pbWF0ZSk7XHJcbiAgICAkYW5pbWF0aW9uczogJyc7XHJcblxyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcclxuICAgICAgICAkYW5pbWF0aW9uczogI3skYW5pbWF0aW9ucyArIG50aCgkYW5pbWF0ZSwgJGkpfTtcclxuXHJcbiAgICAgICAgQGlmICRpIDwgJG1heCB7XHJcbiAgICAgICAgICAgICRhbmltYXRpb25zOiAjeyRhbmltYXRpb25zICsgJywgJ307XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYW5pbWF0aW9uOiAkYW5pbWF0aW9ucztcclxufVxyXG5cclxuQG1peGluIGtleWZyYW1lcygkYW5pbWF0aW9uTmFtZSkge1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxuICAgIEAtbW96LWtleWZyYW1lcyAjeyRhbmltYXRpb25OYW1lfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICBALW8ta2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxuICAgIEBrZXlmcmFtZXMgI3skYW5pbWF0aW9uTmFtZX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59IiwiQGltcG9ydCAnLi4vLi4vbWl4aW5zL2FuaW1hdGlvbi5zY3NzJztcclxuQGltcG9ydCAnLi4vLi4vZ2xvYmFsL19zci1vbmx5LnNjc3MnO1xyXG5cclxuJGlucHV0OiAoIHNpemU6IDIycHgsIG1hcmdpbi1yaWdodDogMTBweCk7XHJcbiRyaXBwbGU6ICggcG9zaXRpb246IDEwcHgsIHNpemU6IG1hcC1nZXQoJGlucHV0LCBzaXplKSAqIDMpO1xyXG5AaW5jbHVkZSBrZXlmcmFtZXMocmlwcGxlKSB7XHJcbiAgICA1JSxcclxuICAgIDEwMCUgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICA1JSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG5cclxuQG1peGluIHVrLXJhZGlvKCR0aGVtZSkge1xyXG4gICAgI3skcHJlZml4fS1yYWRpby1ncm91cCB7XHJcbiAgICAgICAgLiN7JHByZWZpeH0tcmFkaW8tZ3JvdXAge1xyXG4gICAgICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9cmFkaW9dIHtcclxuICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDEwcHg7ICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDsgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICRpbnB1dHMtY29uZmlnOiBtYXAtZ2V0KCR0aGVtZSwgaW5wdXRzKTtcclxuICAgICRjb25maWc6IG1hcC1nZXQoJGlucHV0cy1jb25maWcsIGlucHV0LWNoZWNrZWQpO1xyXG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeS1jb2xvcik7XHJcbiAgICBpbnB1dFt0eXBlPXJhZGlvXSB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3Itb25seSgpO1xyXG5cclxuICAgICAgICAmOmRpc2FibGVkK2xhYmVsOm5vdCg6Y2hlY2tlZCksICYuZGlzYWJsZWQrbGFiZWw6bm90KDpjaGVja2VkKSB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdGhlbWlmeShpbmFjdGl2ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICArbGFiZWwge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgLy8gbWFyZ2luOiAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IChtYXAtZ2V0KCRpbnB1dCwgc2l6ZSkgKyBtYXAtZ2V0KCRpbnB1dCwgbWFyZ2luLXJpZ2h0KSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogbWFwLWdldCgkaW5wdXQsIHNpemUpICsgMnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbWFwLWdldCgkaW5wdXQsIHNpemUpICsgMnB4O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGlucHV0LCBzaXplKTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkaW5wdXQsIHNpemUpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCBtYXAtZ2V0KCRpbnB1dCwgc2l6ZSkgdGhlbWlmeSh3aGl0ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRoZW1pZnkoaW5hY3RpdmUsICR0aGVtZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAobWFwLWdldCgkaW5wdXQsIHNpemUpIC8gMik7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBtYXAtZ2V0KCRyaXBwbGUsIHBvc2l0aW9uKSAtIDFweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRyaXBwbGUsIHNpemUpO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRyaXBwbGUsIHNpemUpO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHByaW1hcnktY29sb3IsIDAuMSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwKTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIrbGFiZWwsICYuaG92ZXIrbGFiZWx7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Y2hlY2tlZCtsYWJlbCB7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA0cHggdGhlbWlmeSh3aGl0ZSwgJHRoZW1lKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3IgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFuaW1hdGlvbihyaXBwbGUgMXMgbm9uZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIudWstZm9ybS1jb250cm9sIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS10YWJsZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBtaW4taGVpZ2h0OiAxOHB4O1xyXG5cclxuICAgICZfX3ZhbHVlIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgIG1heC13aWR0aDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgbWluLWhlaWdodDogNDhweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgJl9fYWRkb24ge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcbn0iLCIuYWxlcnQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nLXRvcDogMTVweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgaGVpZ2h0OiA0NnB4O1xyXG4gIGNvbG9yOiBibGFjaztcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBcclxuICAuaWNvbiB7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgbWFyZ2luLXRvcDogLTJweDtcclxuICB9XHJcbiAgXHJcbiAgLmNsb3NlLWljb257XHJcbiAgICBmb250LXNpemU6IDYuMjI4NXB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gIH1cclxuXHJcbiAgLmNoaWxkLS1mZWF0dXJlZCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEzcHg7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgfVxyXG59IiwiQGltcG9ydCBcIl92YXJpYWJsZXMuc2Nzc1wiO1xyXG46aG9zdCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGdldCgkcHJvZ3Jlc3MtYmFyLCAnYmFja2dyb3VuZC1jb2xvcicsICdiYXNlJyk7XHJcbiAgICBcclxuICAgIC5wcm9ncmVzcy1iYXItaXRlbSB7XHJcbiAgICAgICAgaGVpZ2h0OiA2cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdldCgkcHJvZ3Jlc3MtYmFyLCAnYmFja2dyb3VuZC1jb2xvcicsICdwcm9ncmVzcycpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMCwwLDAsMC41KTtcclxuICAgIH1cclxufSIsIu+7v0BpbXBvcnQgXCJ+QHVpa2l0L2NvcmUvc3JjL3Vpa2l0LWNvcmVcIjtcclxuXHJcbiRkZWZhdWx0LXRoZW1lOiAkdWstYXhvcy10aGVtZTtcclxuLy8gQ29sb3JzXHJcbiRwcmltYXJ5LWNvbG9yOiB1ay1jb2xvcihnZXQoJGRlZmF1bHQtdGhlbWUsIHBhbGV0dGVzLCBwcmltYXJ5KSk7XHJcbiRzZWNvbmRhcnktY29sb3I6IHVrLWNvbG9yKGdldCgkZGVmYXVsdC10aGVtZSwgcGFsZXR0ZXMsIHNlY29uZGFyeSkpO1xyXG5cclxuLy9Gb250c1xyXG4kdWstcHJpbWFyeS1mb250LW5hbWU6IGdldCgkZGVmYXVsdC10aGVtZSwgZm9udHMsIGZhbWlsaWVzLCBwcmltYXJ5LCBuYW1lKTtcclxuJHVrLXNlY29uZGFyeS1mb250LW5hbWU6IGdldCgkZGVmYXVsdC10aGVtZSwgZm9udHMsIGZhbWlsaWVzLCBzZWNvbmRhcnksIG5hbWUpO1xyXG5cclxuJHRpdGxlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJG5vdGUtY29sb3I6ICNmZmY7XHJcbiRub3RlLWJhY2tncm91bmQ6ICNmZmY7XHJcbiRoZWFkZXItaGVpZ2h0OiA1MXB4O1xyXG4kaGVhZGVyLWhlaWdodC1kZXNrdG9wOiA4MHB4O1xyXG5cclxuJG1vZGFsOiAoXHJcbiAgICB0aXRsZTooXHJcbiAgICAgICAgY29sb3I6ICMxZTM4NjlcclxuICAgICksXHJcbiAgICBib2R5OihcclxuICAgICAgICBjb2xvcjogIzIyMlxyXG4gICAgKSxcclxuICAgIGljb246KFxyXG4gICAgICAgIGNvbG9yOiAjZmZmLFxyXG4gICAgICAgIHNpemU6IDgwcHhcclxuICAgIClcclxuKTtcclxuXHJcbiRiYW5uZXI6IChcclxuICAgIGFycm93OihcclxuICAgICAgICAgaW1hZ2U6IHVybCgnfi9hc3NldHMvaWNvbnMvYXJyb3ctcHJpbWFyeS5zdmcnKSxcclxuICAgICAgICAgbGVmdDogMCxcclxuICAgICAgICAgbGVmdC1tb2JpbGU6IDBcclxuICAgICksXHJcbiAgICBiYWNrZ3JvdW5kOihcclxuICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yLFxyXG4gICAgICAgICBkZXNrdG9wOihcclxuICAgICAgICAgICAgICBpbWFnZS11cmw6IHVybCgnfi9hc3NldHMvaW1hZ2VzL3RpdGxlLWJhbm5lci5wbmcnKSxcclxuICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdCxcclxuICAgICAgICAgICAgICBzaXplOiAxMDAlXHJcbiAgICAgICAgICksXHJcbiAgICAgICAgIG1vYmlsZTooXHJcbiAgICAgICAgICAgICAgaW1hZ2UtdXJsOiB1cmwoJ34vYXNzZXRzL2ltYWdlcy9tb2JpbGUtdGl0bGUtYmFubmVyLnBuZycpLFxyXG4gICAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0LFxyXG4gICAgICAgICAgICAgIHNpemU6IDEwMCUgYXV0b1xyXG4gICAgICAgICApLFxyXG4gICAgKSxcclxuICAgICB0aXRsZTooXHJcbiAgICAgICAgICB3ZWlnaHQ6IDUwMCxcclxuICAgICAgICAgIHdlaWdodC1tb2JpbGU6IDUwMFxyXG4gICAgICksXHJcbiAgICAgZm9udC1mYW1pbHk6ICR1ay1zZWNvbmRhcnktZm9udC1uYW1lLFxyXG4gICAgIHByb2R1Y3QtbGFiZWw6KFxyXG4gICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3IsXHJcbiAgICAgICAgICB3ZWlnaHQ6IDUwMFxyXG4gICAgIClcclxuKTtcclxuXHJcbiRoZWFkZXI6KFxyXG4gICAgIGxvZ286KFxyXG4gICAgICAgICAgaGVpZ2h0OiA0MHB4LFxyXG4gICAgICAgICAgaGVpZ2h0LW1vYmlsZTogMjBweFxyXG4gICAgICksXHJcbiAgICAgZm9udDooXHJcbiAgICAgICAgIGNvbG9yOiAjMUUzODYwLFxyXG4gICAgICAgICAgd2VpZ2h0OiA1MDAsXHJcbiAgICAgICAgICBzaXplOiAxNnB4XHJcbiAgICAgKSxcclxuICAgICBhbmltYXRpb246KFxyXG4gICAgICAgICAgcGhvbmUtc2l6ZTogMTQ4cHgsXHJcbiAgICAgICAgICBlbWFpbC1zaXplOiAzMzlweFxyXG4gICAgICksXHJcbiAgICAgYmFja2dyb3VuZDooXHJcbiAgICAgICAgY29sb3I6ICNGRkZGRkZcclxuICAgIClcclxuKTtcclxuXHJcbiRleGlzdGluZy1wYW5lbDooXHJcbiAgICAgdGFiOihcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3IsXHJcbiAgICAgICAgICBmb250LWNvbG9yLWhvdmVyOiAkcHJpbWFyeS1jb2xvclxyXG4gICAgIClcclxuKTtcclxuXHJcbiRwYW5lbC1yZXZpZXctc3VibWl0OihcclxuICB0aXRsZTogKFxyXG4gICAgZm9udC1mYW1pbHk6ICR1ay1zZWNvbmRhcnktZm9udC1uYW1lXHJcbiAgKSxcclxuICBhcnJvdzooXHJcbiAgICAgIGNvbG9yOiAzcHggc29saWQgJHNlY29uZGFyeS1jb2xvclxyXG4gICksXHJcbiAgZWRpdC1idXR0b246KFxyXG4gICAgICBjb2xvcjogJHByaW1hcnktY29sb3JcclxuICApXHJcbik7XHJcblxyXG4kcHJvZ3Jlc3MtYmFyOihcclxuICAgICBiYWNrZ3JvdW5kLWNvbG9yOihcclxuICAgICAgICAgYmFzZTogdHJhbnNwYXJlbnQsXHJcbiAgICAgICAgIHByb2dyZXNzOiAjRkFBNzRBXHJcbiAgICAgKVxyXG4pO1xyXG5cclxuJG5vdGUtYm94OihcclxuICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNUY1LFxyXG4gICAgIHRpdGxlOihcclxuICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcixcclxuICAgICAgICAgIHdlaWdodDogNjAwXHJcbiAgICAgKSxcclxuICAgICBkZXNjcmlwdGlvbjooXHJcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3JcclxuICAgICApXHJcbik7XHJcblxyXG4kc3RlcHMtY2lyY2xlOihcclxuICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGLFxyXG4gICAgIGNvbG9yLXRleHQ6ICRwcmltYXJ5LWNvbG9yLFxyXG4gICAgIGNvbXBsZXRlZDooXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcixcclxuICAgICAgICAgIGNvbG9yLXRleHQ6ICNGRkZGRkYsXHJcbiAgICAgKVxyXG4pO1xyXG5cclxuJGxvYWRpbmctc2NyZWVuOihcclxuICAgIGxvZ286IHVybCgnfi9hc3NldHMvaGVhZGVyL2xvZ28uc3ZnJyksXHJcbiAgICBzaXplOiBhdXRvXHJcbik7XHJcblxyXG4vL1RPRE8gbWF0Y2ggY29sb3JzXHJcbiJdfQ== */\"","import { Component, Input, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'axos-progress-bar',\r\n templateUrl: './progress-bar.component.html',\r\n styleUrls: ['./progress-bar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ProgressBarComponent {\r\n\r\n constructor() { }\r\n\r\n @Input() progress: number;\r\n\r\n get width() {\r\n return this.progress ? `${Math.floor(this.progress)}%` : '0';\r\n }\r\n\r\n}\r\n","import { Routes } from '@angular/router';\r\n// Module Routes\r\nimport {\r\n LANDING_PARENT_PATH,\r\n LANDING_PARENT_PATH_OLD\r\n} from 'app/landing/routing';\r\n\r\nimport { PRODUCTS_PARENT_PATH } from 'app/products/routing';\r\nimport { APPLICANT_INFORMATION_PARENT_PATH } from 'app/applicant-information/routing';\r\nimport { OUTCOME_PARENT_ROUTE } from 'app/outcome/constants';\r\nimport { DOCUMENTS_PARENT_ROUTE } from 'app/documents/constants';\r\nimport { DISCLOSURES_PARENT_PATH, CONFIRM_DISCLOSURES } from 'app/disclosures/routing';\r\nimport { AUTH_PARENT_ROUTE, AUTH_ROUTES } from 'app/auth/constants';\r\nimport { REVIEWSUBMIT_PARENT_ROUTE } from 'app/review-submit/route.constants';\r\nimport { RULES_PARENT_ROUTE } from 'app/rules/constants';\r\nimport { FEATURES_PARENT_PATH } from 'app/trading-features/routing/constants';\r\nimport { PROXY_PARENT_PATH } from 'app/proxy/routing/constants/routes';\r\nimport { MANAGE_PORTFOLIO_PARENT_PATH } from 'app/manage-portfolio/routing';\r\n\r\nexport const PUBLIC_APP_ROUTES: Routes = [\r\n //#region Redirects for Old Routes\r\n {\r\n path: 'welcome/login',\r\n redirectTo: `${AUTH_PARENT_ROUTE}/${AUTH_ROUTES.LOGIN}`\r\n },\r\n {\r\n path: 'welcome/createUserName/:guid',\r\n redirectTo: `${AUTH_PARENT_ROUTE}/${AUTH_ROUTES.CREATE_USER_NAME}`\r\n },\r\n {\r\n path: 'confirmDisclosures/:guid',\r\n redirectTo: `${DISCLOSURES_PARENT_PATH}/${CONFIRM_DISCLOSURES}`\r\n },\r\n {\r\n path: 'UnlockAccount/:unlockToken',\r\n redirectTo: `${AUTH_PARENT_ROUTE}/${AUTH_ROUTES.UNLOCKACCOUNT}`\r\n },\r\n //#endregion\r\n //#region Lazy Loading\r\n {\r\n path: LANDING_PARENT_PATH,\r\n loadChildren: () => import('app/landing/landing.module').then(m => m.LandingModule)\r\n },\r\n {\r\n path: AUTH_PARENT_ROUTE,\r\n loadChildren: () => import('app/auth/auth.module').then(m => m.AuthModule)\r\n },\r\n {\r\n path: PROXY_PARENT_PATH,\r\n loadChildren: () => import('app/proxy/proxy.module').then(m => m.ProxyModule)\r\n },\r\n //#endregion\r\n];\r\n\r\nexport const SECURE_APP_ROUTES: Routes = [\r\n //#region Lazy Loading\r\n {\r\n path: PRODUCTS_PARENT_PATH,\r\n loadChildren: () => import('app/products/products.module').then(m => m.ProductsModule)\r\n },\r\n {\r\n path: FEATURES_PARENT_PATH,\r\n loadChildren: () => import('app/trading-features/trading-features.module').then(m => m.TradingFeaturesModule)\r\n },\r\n {\r\n path: APPLICANT_INFORMATION_PARENT_PATH,\r\n loadChildren: () => import('app/applicant-information/applicant-information.module').then(m => m.ApplicantInformationModule)\r\n },\r\n {\r\n path: MANAGE_PORTFOLIO_PARENT_PATH,\r\n loadChildren: () => import('app/manage-portfolio/manage-portfolio.module').then(m=>m.ManagePortfolioModule)\r\n },\r\n {\r\n path: DISCLOSURES_PARENT_PATH,\r\n loadChildren: () => import('app/disclosures/disclosures.module').then(m => m.DisclosuresModule)\r\n },\r\n {\r\n path: OUTCOME_PARENT_ROUTE,\r\n loadChildren: () => import('app/outcome/outcome.module').then(m => m.OutcomeModule)\r\n },\r\n {\r\n path: DOCUMENTS_PARENT_ROUTE,\r\n loadChildren: () => import('app/documents/documents.module').then(m => m.DocumentsModule)\r\n },\r\n {\r\n path: RULES_PARENT_ROUTE,\r\n loadChildren: () => import('app/rules/rules.module').then(m => m.RulesModule)\r\n },\r\n {\r\n path: REVIEWSUBMIT_PARENT_ROUTE,\r\n loadChildren: () => import('app/review-submit/review-submit.module').then(m => m.ReviewSubmitModule)\r\n },\r\n //#endregion\r\n];\r\n","// Module Routes\r\nimport { BUSINESS_PARENT_PATH } from 'app/business-information/routing';\r\n\r\nimport { SECURE_APP_ROUTES } from './app-routes.constant';\r\n\r\nexport const APP_BUSINESS_ROUTES = [\r\n //#region Lazy Loading\r\n {\r\n path: BUSINESS_PARENT_PATH,\r\n loadChildren: () => import('app/business-information/business-information.module').then(m => m.BusinessInformationModule)\r\n },\r\n //#endregion\r\n ...SECURE_APP_ROUTES\r\n];\r\n","import { SECURE_APP_ROUTES } from './app-routes.constant';\r\n\r\nexport const APP_CONSUMER_SECURE_ROUTES = [\r\n //#region Lazy Loading\r\n {\r\n path: 'id',\r\n loadChildren: () => import('app/applicant-identification/applicant-identification.module').then(m => m.ApplicantIdentificationModule)\r\n },\r\n //#endregion\r\n ...SECURE_APP_ROUTES\r\n];\r\n","export * from './app-routes.constant';\r\nexport * from './business-routes.constant';\r\nexport * from './consumer-routes.constant';\r\n","declare var environment: any;\r\n\r\nimport { Component } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport {\r\n getHeaderIsMain,\r\n getBrandIsUFB,\r\n getMarketingSelectedProducts\r\n} from 'store/selectors';\r\n// Services\r\nimport { LoadingService } from 'app/core/services';\r\n\r\n@Component({\r\n selector: 'app-consumer-layout',\r\n templateUrl: './consumer-layout.component.html'\r\n})\r\nexport class ConsumerLayoutComponent {\r\n\r\n isMain$ = this.store$.select(getHeaderIsMain);\r\n loading$ = this.loadingService.loading$;\r\n isUFB$ = this.store$.select(getBrandIsUFB);\r\n showChatBot$ = this.store$\r\n .select(getMarketingSelectedProducts)\r\n .pipe(\r\n map(data => {\r\n if (!data || data.length == 0) {\r\n return false;\r\n }\r\n\r\n let validProduct = data.find((p: any) => p.productCode === 'MPO' || p.productCode === 'TRAD');\r\n let isValidInstance = environment.organizationId === 1;\r\n\r\n return !!validProduct && isValidInstance;\r\n })\r\n );\r\n\r\n constructor(\r\n private store$: Store,\r\n private loadingService: LoadingService,) { }\r\n}\r\n","declare var environment: any;\r\n\r\nimport { Component } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { getHeaderIsMain, getBrandIsUFB, getMarketingSelectedProducts } from 'store/selectors';\r\n// Services\r\nimport { LoadingService } from 'app/core/services';\r\n\r\n@Component({\r\n selector: 'app-consumer-mobile-layout',\r\n templateUrl: './consumer-mobile-layout.component.html'\r\n})\r\nexport class ConsumerMobileLayoutComponent {\r\n\r\n isMain$ = this.store$.select(getHeaderIsMain);\r\n loading$ = this.loadingService.loading$;\r\n isUFB$ = this.store$.select(getBrandIsUFB);\r\n showChatBot$ = this.store$\r\n .select(getMarketingSelectedProducts)\r\n .pipe(\r\n map(data => {\r\n if (!data || data.length == 0) {\r\n return false;\r\n }\r\n\r\n let validProduct = data.find((p: any) => p.productCode === 'MPO' || p.productCode === 'TRAD');\r\n let isValidInstance = !environment.applicationTypeName.startsWith('whitelabel');\r\n\r\n return !!validProduct && isValidInstance;\r\n })\r\n );\r\n\r\n constructor(\r\n private store$: Store,\r\n private loadingService: LoadingService,) { }\r\n}\r\n","export * from './consumer-layout/consumer-layout.component';\r\nexport * from './consumer-mobile-layout/consumer-mobile-layout.component';\r\n\r\nimport { ConsumerLayoutComponent } from './consumer-layout/consumer-layout.component';\r\nimport { ConsumerMobileLayoutComponent } from './consumer-mobile-layout/consumer-mobile-layout.component';\r\n\r\nexport const containers = [\r\n ConsumerLayoutComponent,\r\n ConsumerMobileLayoutComponent\r\n]","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\n// Enrollment modules\r\nimport { EnrollmentCommonModule } from 'app/enrollment-common/enrollment-common.module';\r\n// Components\r\nimport { containers } from './containers';\r\nimport { components, LayoutTemplateComponent } from './components';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n EnrollmentCommonModule\r\n ],\r\n declarations: [\r\n ...containers,\r\n ...components,\r\n ],\r\n exports: [\r\n ...containers,\r\n LayoutTemplateComponent\r\n ]\r\n})\r\nexport class LayoutModule { }\r\n","export * from './route.constants';","export const MANAGE_PORTFOLIO_PARENT_PATH = 'manage-portfolio';\r\n\r\nexport const MANAGE_PORTFOLIO_ROUTES: { [key: string] : string } = {\r\n INVESTMENT_GOALS: 'investment-goals',\r\n LARGE_PURCHASE: 'large-purchase',\r\n RETIREMENT_ACCOUNT_TYPE: 'retirement-account-type',\r\n TIME_HORIZON: 'time-horizon',\r\n RECOMMENDED: 'recommended',\r\n INVESTING_HISTORY: 'investing-history',\r\n RISK_QUESTIONS: 'risk-questions'\r\n}\r\n","export * from './constants';","module.exports = \".active {\\n background-color: #87ceeb42;\\n color: #2f5b88;\\n border: 1px solid #2f5b88 !important; }\\n\\n.editbtn {\\n background-color: transparent;\\n border: none;\\n color: #176ACF; }\\n\\n.add-box {\\n border: 1px solid #CCC;\\n border-radius: 5px;\\n width: 79%;\\n margin: 10px auto;\\n padding: 20px;\\n text-overflow: ellipsis;\\n cursor: pointer; }\\n\\n.add-box > span {\\n display: block; }\\n\\n.add-box .inner-heading {\\n font-size: .9rem;\\n font-weight: bold;\\n margin-bottom: 5px; }\\n\\n.add-box .inner-address {\\n font-size: .85rem;\\n font-weight: normal; }\\n\\n.error-style {\\n border-radius: 5px;\\n min-height: 90px;\\n width: 75%;\\n margin: 10px auto;\\n padding: 10px;\\n text-overflow: ellipsis;\\n font-size: 15px;\\n font-weight: 500; }\\n\\n::ng-deep .mat-dialog-container {\\n background: #fff;\\n color: rgba(0, 0, 0, 0.87); }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kYWxzL2NvbXBvbmVudHMvYWRkcmVzcy1wb3B1cC9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL3NyY1xcYXBwXFxtb2RhbHNcXGNvbXBvbmVudHNcXGFkZHJlc3MtcG9wdXBcXGFkZHJlc3MtcG9wdXAuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0U7RUFDSSwyQkFBMkI7RUFDM0IsY0FBYTtFQUNiLG9DQUFvQyxFQUFBOztBQUV4QztFQUNFLDZCQUE2QjtFQUM3QixZQUFZO0VBQ1osY0FBYyxFQUFBOztBQUVoQjtFQUNFLHNCQUFzQjtFQUN0QixrQkFBa0I7RUFDbEIsVUFBVTtFQUNWLGlCQUFpQjtFQUNqQixhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLGVBQWUsRUFBQTs7QUFFakI7RUFDRSxjQUFjLEVBQUE7O0FBRWhCO0VBQ0UsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixrQkFBa0IsRUFBQTs7QUFFcEI7RUFDRSxpQkFBaUI7RUFDakIsbUJBQW1CLEVBQUE7O0FBRXJCO0VBQ0Usa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixVQUFVO0VBQ1YsaUJBQWlCO0VBQ2pCLGFBQWE7RUFDYix1QkFBdUI7RUFDdkIsZUFBZTtFQUNmLGdCQUFnQixFQUFBOztBQUVsQjtFQUNBLGdCQUFpQjtFQUNqQiwwQkFBc0IsRUFBQSIsImZpbGUiOiJzcmMvYXBwL21vZGFscy9jb21wb25lbnRzL2FkZHJlc3MtcG9wdXAvYWRkcmVzcy1wb3B1cC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4gIC5hY3RpdmV7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4N2NlZWI0MjtcclxuICAgICAgY29sb3I6IzJmNWI4ODtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJmNWI4OCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAuZWRpdGJ0bntcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgY29sb3I6ICMxNzZBQ0Y7XHJcbiAgfVxyXG4gIC5hZGQtYm94e1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0NDQztcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIHdpZHRoOiA3OSU7XHJcbiAgICBtYXJnaW46IDEwcHggYXV0bztcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcbiAgLmFkZC1ib3ggPiBzcGFue1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG4gIC5hZGQtYm94IC5pbm5lci1oZWFkaW5nIHtcclxuICAgIGZvbnQtc2l6ZTogLjlyZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICB9XHJcbiAgLmFkZC1ib3ggLmlubmVyLWFkZHJlc3Mge1xyXG4gICAgZm9udC1zaXplOiAuODVyZW07XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIH1cclxuICAuZXJyb3Itc3R5bGV7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBtaW4taGVpZ2h0OiA5MHB4O1xyXG4gICAgd2lkdGg6IDc1JTtcclxuICAgIG1hcmdpbjogMTBweCBhdXRvO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICB9XHJcbiAgOjpuZy1kZWVwIC5tYXQtZGlhbG9nLWNvbnRhaW5lcntcclxuICBiYWNrZ3JvdW5kOiAjZmZmIDtcclxuICBjb2xvcjogcmdiYSgwLDAsMCwuODcpO1xyXG4gIH1cclxuXHJcbiJdfQ== */\"","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { BaseFormComponent } from 'app/core/components';\r\n// Modal\r\nimport { ModalEvents, UkModalService } from '@uikit/components/uk-modal';\r\nimport { Address, RecommendedAddress } from 'models';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n// NGRX store\r\nimport { ApplicationState, EnrollmentState, RecommendedApplicantAddressAction } from 'store';\r\nimport { Store } from '@ngrx/store';\r\nimport { ADDRESS_TYPE_NAME } from 'models/enums/address-type.enum';\r\nimport { getRecommendAddress, selectAddressInfoes, selectRecommendAddressInfoes } from 'store/selectors';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'axos-address-popup',\r\n templateUrl: './address-popup.component.html',\r\n styleUrls: ['./address-popup.component.scss']\r\n})\r\nexport class AddressPopupComponent extends BaseFormComponent
{\r\n address:any={};\r\n isRecommendAddress:boolean=true;\r\n recommendedAddress:RecommendedAddress;\r\n recommendedAddressFixedStreet:string;\r\n label:any;\r\n dynamicHeader:string;\r\n enteredData:any={};\r\n isBoxOne:boolean=true;\r\n isBoxTwo:boolean=false;\r\n\r\n constructor(protected modalService: UkModalService,\r\n private store$: Store,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) {\r\n super();\r\n \r\n this.store$.select(selectRecommendAddressInfoes).subscribe(response =>{\r\n if(response && Array.isArray(response) ){\r\n this.recommendedAddress = response[0];\r\n this.recommendedAddressFixedStreet = this.recommendedAddress.streetAddress2 ? \r\n (`${this.recommendedAddress.streetAddress2} ${this.recommendedAddress.streetAddress1}`) :\r\n this.recommendedAddress.streetAddress1;\r\n this.isRecommendAddress = true;\r\n \r\n }else{\r\n this.isRecommendAddress = false;\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.label=this.data.label;\r\n this.dynamicHeader = this.label ? `Which address should we use for ${this.label}?` : 'Which address should we use?';\r\n this.address = {...this.data};\r\n }\r\n //formating address\r\n setAddress(address?){\r\n\r\n let homeAddress={\r\n street:address.streetAddress1,\r\n street2:address.streetAddress2,\r\n zip:address.zip5,\r\n zipPlus4:address.zip4,\r\n city:address.city,\r\n state:address.state\r\n };\r\n return homeAddress;\r\n }\r\n// if choose recommended address\r\n onCorrectAddress() {\r\n if(this.isBoxOne){\r\n let homeAddress = this.setAddress(this.recommendedAddress)\r\n this.dialogRef.close(homeAddress);\r\n }else{\r\n this.onAddress();\r\n }\r\n \r\n }\r\n onAddress(){\r\n let homeAddress = this.setAddress(this.address);\r\n this.dialogRef.close(homeAddress)\r\n }\r\n \r\n onClose(){\r\n this.dialogRef.close(false);\r\n }\r\n //selecting box\r\n onClick(check:string){\r\n if(check ==='isBoxOne'){\r\n this.isBoxOne = true;\r\n this.isBoxTwo = false;\r\n }else{\r\n this.isBoxOne = false;\r\n this.isBoxTwo = true;\r\n }\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZGFscy9jb21wb25lbnRzL2FnZS1yZXN0cmljdGlvbi1wb3B1cC9hZ2UtcmVzdHJpY3Rpb24tcG9wdXAuY29tcG9uZW50LnNjc3MifQ== */\"","declare var environment: any;\r\n\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'axos-age-restriction-popup',\r\n templateUrl: './age-restriction-popup.component.html',\r\n styleUrls: ['./age-restriction-popup.component.scss']\r\n})\r\nexport class AgeRestrictionPopupComponent {\r\n\r\n minAge: number;\r\n changeDOB = false;\r\n marketingURL = environment.marketingURL;\r\n\r\n constructor() { }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZGFscy9jb21wb25lbnRzL2NhbmNlbC1hcHBsaWNhdGlvbi1wb3B1cC9jYW5jZWwtYXBwbGljYXRpb24tcG9wdXAuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ModalEvents, UkModalService } from '@uikit/components/uk-modal';\r\nimport { ApplicationService } from 'services';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { getApplication } from 'store/selectors';\r\n// RxJs\r\nimport { BaseDestroyComponent } from 'app/core/components';\r\nimport { OUTCOME_PARENT_ROUTE, OUTCOME_ROUTES } from 'app/outcome';\r\n\r\n@Component({\r\n selector: 'axos-cancel-application-popup',\r\n templateUrl: './cancel-application-popup.component.html',\r\n styleUrls: ['./cancel-application-popup.component.scss']\r\n})\r\nexport class CancelApplicationPopupComponent extends BaseDestroyComponent {\r\n\r\n applicationId: string;\r\n\r\n constructor(\r\n protected store$: Store,\r\n private router: Router,\r\n protected modalService: UkModalService,\r\n private applicationService: ApplicationService) {\r\n super();\r\n this.store$.select(getApplication)\r\n .subscribe(application => this.applicationId = application.applicationId);\r\n }\r\n\r\n cancelApplicationPopup() {\r\n this.modalService.closeModal(ModalEvents.close);\r\n }\r\n\r\n cancelApplication() {\r\n this.applicationService\r\n .cancelApplication(this.applicationId)\r\n .subscribe(() => {\r\n this.modalService.closeModal(ModalEvents.close);\r\n this.router.navigateByUrl(`${OUTCOME_PARENT_ROUTE}/${OUTCOME_ROUTES.CANCELED}`);\r\n });\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZGFscy9jb21wb25lbnRzL2NyZWRpdC1mcmVlemUtcG9wdXAvY3JlZGl0LWZyZWV6ZS1wb3B1cC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'axos-credit-freeze-popup',\r\n templateUrl: './credit-freeze-popup.component.html',\r\n styleUrls: ['./credit-freeze-popup.component.scss']\r\n})\r\nexport class CreditFreezePopupComponent {\r\n constructor() {}\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZGFscy9jb21wb25lbnRzL2RtZC1vdHAtbGluay9kbWQtb3RwLWxpbmsuY29tcG9uZW50LnNjc3MifQ== */\"","declare var environment: any;\r\nimport { Component } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'axos-dmd-otp-link',\r\n templateUrl: './dmd-otp-link.component.html',\r\n styleUrls: ['./dmd-otp-link.component.scss']\r\n})\r\nexport class DmdOtpLinkComponent {\r\n public dmdGuid: string;\r\n constructor(\r\n private currentRoute: ActivatedRoute,\r\n ) {}\r\n\r\n getUrlString(): string{\r\n if(environment.env !== 'local')\r\n return 'https://' + window.location.host + '/id/verify/' + this.currentRoute.snapshot.queryParams['dmdGuid'];\r\n return 'http://' + window.location.host + '/id/verify/' + this.currentRoute.snapshot.queryParams['dmdGuid'];\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZGFscy9jb21wb25lbnRzL2Zvb3Rlci1tb2RhbHMtcG9wdXAvZm9vdGVyLW1vZGFscy1wb3B1cC5jb21wb25lbnQuc2NzcyJ9 */\"","declare var environment: any;\r\n\r\nimport { Component } from '@angular/core';\r\nimport { UkModalService } from '@uikit/components/uk-modal';\r\n@Component({\r\n selector: 'axos-footer-modals-popup',\r\n templateUrl: './footer-modals-popup.component.html',\r\n styleUrls: ['./footer-modals-popup.component.scss']\r\n})\r\nexport class FooterModalsPopupComponent {\r\n redirectUrl: string;\r\n organizationName: string;\r\n constructor(protected modalService: UkModalService) {\r\n this.organizationName = environment.organizationName != 'axos' ? 'Axos' : environment.organizationDisplayName;\r\n }\r\n}\r\n","export * from './sms-popup/sms-popup.component';\r\nexport * from './missing-answers-popup/missing-answers-popup.component';\r\nexport * from './age-restriction-popup/age-restriction-popup.component';\r\nexport * from './dmd-otp-link/dmd-otp-link.component';\r\nexport * from './footer-modals-popup/footer-modals-popup.component';\r\nexport * from './session-time-out/session-time-out.component';\r\nexport * from './cancel-application-popup/cancel-application-popup.component';\r\nexport * from './credit-freeze-popup/credit-freeze-popup.component';\r\nexport * from './address-popup/address-popup.component';\r\n","module.exports = \".text-content {\\n max-height: 400px;\\n overflow-y: scroll;\\n padding: 20px 10px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kYWxzL2NvbXBvbmVudHMvbWlzc2luZy1hbnN3ZXJzLXBvcHVwL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvc3JjXFxhcHBcXG1vZGFsc1xcY29tcG9uZW50c1xcbWlzc2luZy1hbnN3ZXJzLXBvcHVwXFxtaXNzaW5nLWFuc3dlcnMtcG9wdXAuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLGtCQUFrQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvbW9kYWxzL2NvbXBvbmVudHMvbWlzc2luZy1hbnN3ZXJzLXBvcHVwL21pc3NpbmctYW5zd2Vycy1wb3B1cC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi50ZXh0LWNvbnRlbnQge1xyXG4gICAgbWF4LWhlaWdodDogNDAwcHg7XHJcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XHJcbn0iXX0= */\"","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'axos-missing-answers-popup',\r\n templateUrl: './missing-answers-popup.component.html',\r\n styleUrls: ['./missing-answers-popup.component.scss']\r\n})\r\nexport class MissingAnswersPopupComponent {\r\n\r\n constructor() { }\r\n}\r\n","// Ng\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n// RxJs\r\nimport { Subject, interval } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n// UI Kit\r\nimport { ModalEvents, UkModalService } from '@uikit/components/uk-modal';\r\nimport { AUTH_PARENT_ROUTE, AUTH_ROUTES } from 'app/auth';\r\nimport { addMinutes } from 'date-fns';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState, RefreshTokenAction } from 'store';\r\n\r\n@Component({\r\n selector: 'axos-session-time-out',\r\n templateUrl: './session-time-out.component.html'\r\n})\r\nexport class SessionTimeOutComponent implements OnInit {\r\n\r\n expirationTime = 30;\r\n protected timeoutStart$ = new Subject();\r\n\r\n constructor(\r\n private modalService: UkModalService,\r\n private router: Router,\r\n private store$: Store\r\n ) { }\r\n\r\n ngOnInit() {\r\n const timer = interval(1000).pipe(\r\n takeUntil(this.timeoutStart$)\r\n )\r\n .subscribe(() => {\r\n if (this.expirationTime == 0) {\r\n timer.unsubscribe();\r\n this.stopTimeOut();\r\n this.modalService.closeModal(ModalEvents.close);\r\n this.no();\r\n }\r\n else {\r\n this.expirationTime--;\r\n }\r\n });\r\n }\r\n\r\n yes() {\r\n this.stopTimeOut();\r\n this.store$.dispatch(new RefreshTokenAction(''));\r\n }\r\n\r\n no() {\r\n this.router.navigateByUrl(`${AUTH_PARENT_ROUTE}/${AUTH_ROUTES.SESSION_TIME_OUT}`)\r\n }\r\n\r\n private stopTimeOut() {\r\n this.timeoutStart$.next();\r\n this.timeoutStart$.complete();\r\n }\r\n}\r\n","module.exports = \".text-content {\\n padding: 20px 10px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kYWxzL2NvbXBvbmVudHMvc21zLXBvcHVwL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvc3JjXFxhcHBcXG1vZGFsc1xcY29tcG9uZW50c1xcc21zLXBvcHVwXFxzbXMtcG9wdXAuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxrQkFBa0IsRUFBQSIsImZpbGUiOiJzcmMvYXBwL21vZGFscy9jb21wb25lbnRzL3Ntcy1wb3B1cC9zbXMtcG9wdXAuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIudGV4dC1jb250ZW50IHtcclxuICAgIHBhZGRpbmc6IDIwcHggMTBweDtcclxufSJdfQ== */\"","import { Component } from '@angular/core';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { getBrandIsUFB } from 'store/selectors';\r\n\r\n@Component({\r\n selector: 'axos-sms-popup',\r\n templateUrl: './sms-popup.component.html',\r\n styleUrls: ['./sms-popup.component.scss']\r\n})\r\nexport class SmsPopupComponent {\r\n\r\n private pdfUrl: string = 'assets/disclosures/pdf/smsandmms.pdf';\r\n\r\n constructor(private store$: Store) { }\r\n\r\n isUFB$ = this.store$.select(getBrandIsUFB);\r\n\r\n printTerms(): any {\r\n window.open(this.pdfUrl);\r\n }\r\n}\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n// UI Kit\r\nimport { UkModalModule } from '@uikit/components/uk-modal';\r\nimport { UIKitIconsModule } from '@uikit/components/uk-icons';\r\nimport { NO_ERRORS_SCHEMA } from '@angular/core';\r\n// Enrollment Common\r\nimport { EnrollmentCommonModule } from 'app/enrollment-common/enrollment-common.module';\r\n// Components\r\n\r\n// Services\r\nimport { ApplicationService } from 'services';\r\n\r\nimport {\r\n SmsPopupComponent,\r\n AgeRestrictionPopupComponent,\r\n DmdOtpLinkComponent,\r\n MissingAnswersPopupComponent,\r\n FooterModalsPopupComponent,\r\n SessionTimeOutComponent,\r\n CancelApplicationPopupComponent,\r\n CreditFreezePopupComponent,\r\n AddressPopupComponent\r\n} from './components';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n UkModalModule,\r\n UIKitIconsModule,\r\n EnrollmentCommonModule\r\n ],\r\n declarations: [\r\n SmsPopupComponent,\r\n AgeRestrictionPopupComponent,\r\n MissingAnswersPopupComponent,\r\n DmdOtpLinkComponent,\r\n FooterModalsPopupComponent,\r\n CancelApplicationPopupComponent,\r\n SessionTimeOutComponent,\r\n CreditFreezePopupComponent,\r\n AddressPopupComponent\r\n ],\r\n entryComponents: [\r\n SmsPopupComponent,\r\n AgeRestrictionPopupComponent,\r\n MissingAnswersPopupComponent,\r\n CancelApplicationPopupComponent,\r\n DmdOtpLinkComponent,\r\n FooterModalsPopupComponent,\r\n SessionTimeOutComponent,\r\n CreditFreezePopupComponent,\r\n AddressPopupComponent\r\n ],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n providers: [ApplicationService]\r\n})\r\nexport class ModalsModule { }\r\n","export * from './route-names';","export const OUTCOME_PARENT_ROUTE = 'result';\r\n\r\nexport const OUTCOME_ROUTES = {\r\n SUBMITTED: 'submitted',\r\n REGISTER_ONLINE_BANKING: 'rob',\r\n DECLINED: 'declined', // DECLINED: 'declined/:applicationId',\r\n APPROVED: 'approved', // APPROVED: 'approved/:applicationId/:secondChance',\r\n INREVIEW: 'inreview',\r\n RETRY: 'retry',\r\n APPROVED_FAILURE: 'approved/pending',\r\n CANCELED: 'canceled',\r\n BOARDING_IN_PROGRESS: 'boarding',\r\n PENDING_ADDITIONAL_OWNER: 'pendingAdditionalOwner'\r\n};\r\n","export * from './constants';\r\n","export * from './storage-name.constants';\r\n","export const SELECTED_PRODUCTS_STORAGE_NAME = 'products';\r\nexport const SELECTED_VESTING_TYPE_STORAGE_NAME = 'vestingType';\r\nexport const ADVISOR_ID_STORAGE_NAME = 'AdvisorId';\r\n","export * from './route-paths.constants';","export const PRODUCTS_PARENT_PATH = 'vestingtype';\r\nexport const PRODUCTS_VESTING_TYPE_PATH = 'vesting';\r\nexport const PRODUCTS_NUMBER_TRUSTEES_PATH = 'trustees';\r\n","import { ModuleRouteConfig } from \"models/navigation\";\r\n\r\nexport const PROXY_PARENT_PATH = '';\r\nexport const PROXY_MODULE_PREFIX = 'proxy';\r\n\r\nexport const PROXY_ROUTES: { [key: string]: ModuleRouteConfig } = {\r\n LANDING: {\r\n name: `${PROXY_MODULE_PREFIX}_LANDING`,\r\n path: ''\r\n },\r\n SEARCH_USER: {\r\n name: `${PROXY_MODULE_PREFIX}_SEARCH_CUSTOMER`,\r\n path: 'searchcustomer'\r\n },\r\n PRODUCT_SELECTION: {\r\n name: `${PROXY_MODULE_PREFIX}_PRODCUCT_SELECTION`,\r\n path: 'productselection'\r\n },\r\n REGISTRATION: {\r\n name: `${PROXY_MODULE_PREFIX}_REGISTRATION`,\r\n path: 'registration'\r\n },\r\n CONTACT_INFO: {\r\n name: `${PROXY_MODULE_PREFIX}_CONTACT`,\r\n path: 'contact'\r\n },\r\n HANDOFF_SUCCESS: {\r\n name: `${PROXY_MODULE_PREFIX}_HANDOFF_SUCCESS`,\r\n path: 'handoffSuccess'\r\n }\r\n}","export const REVIEWSUBMIT_PARENT_ROUTE = 'reviewAndSubmit';\r\n\r\nexport const REVIEWSUBMIT_ROUTE = `:applicationId`;","export * from './route-names';","export const RULES_PARENT_ROUTE = 'review';\r\n\r\nexport const RULES_ROUTES = {\r\n // TODO: Fix later\r\n // Route doesn't contain Appliant Type to prevent confusion\r\n // ID_UPLOAD: `idupload/:${APPLICANT_TYPE_NAME_PARAM}`\r\n ID_UPLOAD: `idupload`,\r\n IDA_QUESTIONS: 'ida'\r\n}\r\n","module.exports = \".mailing-check-label {\\n margin: 0; }\\n @media only screen and (min-width: 768px) {\\n .mailing-check-label {\\n top: 1.5em; } }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkLWZvcm1zL2NvbXBvbmVudHMvYWRkcmVzcy1mb3JtL0Q6XFxhZ2VudFxcX3dvcmtcXDE2MFxcc1xcc3JjXFxFbnJvbGxtZW50LkNsaWVudC5XZWJcXGFuZ3VsYXIvc3JjXFxhcHBcXHNoYXJlZC1mb3Jtc1xcY29tcG9uZW50c1xcYWRkcmVzcy1mb3JtXFxhZGRyZXNzLWZvcm0uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC1mb3Jtcy9jb21wb25lbnRzL2FkZHJlc3MtZm9ybS9EOlxcYWdlbnRcXF93b3JrXFwxNjBcXHNcXHNyY1xcRW5yb2xsbWVudC5DbGllbnQuV2ViXFxhbmd1bGFyL25vZGVfbW9kdWxlc1xcQHVpa2l0XFxjb3JlXFxzcmNcXGdyaWRcXF9tZWRpYS1xdWVyaWVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFDSSxTQUFTLEVBQUE7RUNNVDtJRFBKO01BSVEsVUFBVSxFQUFBLEVBRWpCIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkLWZvcm1zL2NvbXBvbmVudHMvYWRkcmVzcy1mb3JtL2FkZHJlc3MtZm9ybS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJ19taXhpbnMuc2Nzcyc7XHJcblxyXG4ubWFpbGluZy1jaGVjay1sYWJlbCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBcclxuICAgIEBpbmNsdWRlIHNtIHtcclxuICAgICAgICB0b3A6IDEuNWVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4iLCIkYnJlYWtwb2ludHMgOiggeHM6NDgwcHgsIHNtOiA3NjhweCwgbWQ6OTkycHgsIGxnOiAxMjAwcHgpO1xyXG5cclxuQG1peGluIHhzIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBzbSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAnc20nKSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWQge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJ21kJykpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGxnIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICdsZycpKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuIl19 */\"","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { State } from 'models';\r\n\r\nimport { zipLeadingZeros } from 'app/core/utils';\r\nimport { EnrollmentState } from 'store';\r\nimport { Store } from '@ngrx/store';\r\nimport { getCurrentApplicantType } from 'store/selectors';\r\n\r\n@Component({\r\n selector: 'app-address-form',\r\n styleUrls: ['./address-form.component.scss'],\r\n templateUrl: './address-form.component.html'\r\n})\r\nexport class AddressFormComponent implements OnInit {\r\n currentApplicantType$ = this.store$.select(getCurrentApplicantType);\r\n\r\n @Input() form: FormGroup;\r\n @Input() addressName: string;\r\n @Input() states: State[];\r\n @Input() showMailingCheckbox: boolean = false;\r\n @Input() isAddressUniversal: boolean = false;\r\n @Output() onChangeSameAddress: EventEmitter = new EventEmitter();\r\n @Output() onChangeZipCode: EventEmitter = new EventEmitter();\r\n\r\n constructor(private store$: Store) { }\r\n\r\n ngOnInit(): void {\r\n if (this.form.get(\"zip\").value) {\r\n this.form.get(\"zip\").patchValue(zipLeadingZeros(this.form.get(\"zip\").value))\r\n }\r\n }\r\n\r\n onClickSameAddress() {\r\n this.onChangeSameAddress.emit();\r\n }\r\n onEndfocus(e){\r\n console.log(e)\r\n //sets cursor position at end of MaskedTextBox\r\n e.selectionStart=e.selectionEnd = e.maskedValue.length;\r\n }\r\n\r\n omitSpecialChar(event){\r\n var k; \r\n k = event.charCode; // k = event.keyCode; (Both can be used)\r\n return((k > 64 && k < 91) || (k > 96 && k < 123) || k == 8 || k == 32 || (k >= 48 && k <= 57)); \r\n }\r\n onClickZipCode(addressType){\r\n this.onChangeZipCode.emit(addressType);\r\n }\r\n}\r\n","export * from './address-form/address-form.component';\r\n","import { FormGroup, FormControl } from '@angular/forms';\r\n\r\nimport { ADDRESS_DEFAULT_VALIDATORS, INVEST_ADDRESS_DEFAULT_VALIDATORS } from './address.validators';\r\n\r\nimport { ZipService } from 'services';\r\nimport { ZipCodeAsyncValidator } from '../validators';\r\n\r\nexport function ADDRESS_FORM_CREATOR(): { [fieldName: string]: FormControl } {\r\n return GetAddressFormControl(ADDRESS_DEFAULT_VALIDATORS)\r\n}\r\n\r\nexport function INVEST_CUSTOM_ADDRESS_FORM_CREATOR(): { [fieldName: string]: FormControl } {\r\n return GetAddressFormControl(INVEST_ADDRESS_DEFAULT_VALIDATORS)\r\n}\r\n\r\nfunction GetAddressFormControl(addressDefaultValidators): { [fieldName: string]: FormControl } {\r\n return {\r\n street: new FormControl('', addressDefaultValidators.Street),\r\n street2: new FormControl('', addressDefaultValidators.Street2),\r\n zip: new FormControl('', {\r\n validators: addressDefaultValidators.Zip,\r\n updateOn: 'blur'\r\n }),\r\n city: new FormControl('', addressDefaultValidators.City),\r\n state: new FormControl('', addressDefaultValidators.State),\r\n isSameMailingAddress: new FormControl(true)\r\n } \r\n}\r\n\r\nexport function setZipCodeValidator(form: FormGroup, zipCodeService: ZipService, names = ['zip', 'city', 'state']) {\r\n console.log(form.value)\r\n form.get(names[0]).setAsyncValidators(\r\n ZipCodeAsyncValidator(\r\n zipCodeService,\r\n form.get(names[1]),\r\n form.get(names[2]),\r\n { ignoreZipCodeExists: true }\r\n ));\r\n}\r\n","import { Validators, FormControl } from '@angular/forms';\r\n\r\nexport const ADDRESS_DEFAULT_VALIDATORS = {\r\n Street: [\r\n Validators.required,\r\n TrimValidator,\r\n Validators.minLength(4),\r\n Validators.maxLength(30),\r\n ValidateOnlyNumbers,\r\n ValidateSpecialCharacters\r\n ],\r\n Street2: [\r\n ValidateSpecialCharacters,\r\n Validators.maxLength(30),\r\n ],\r\n Zip: [\r\n Validators.required,\r\n validateZipRange,\r\n Validators.pattern(/^[0-9-]*$/)\r\n ],\r\n City: [Validators.required],\r\n State: [Validators.required]\r\n}\r\n\r\nexport const INVEST_ADDRESS_DEFAULT_VALIDATORS = {\r\n Street: [\r\n Validators.required,\r\n TrimValidator,\r\n ValidateOnlyNumbers,\r\n Validators.minLength(4),\r\n Validators.maxLength(30),\r\n InvestValidateSpecialCharacters\r\n ],\r\n Street2: [\r\n Validators.maxLength(30),\r\n InvestValidateSpecialCharacters\r\n ],\r\n Zip: [\r\n Validators.required,\r\n validateZipRange,\r\n Validators.pattern(/^[0-9-]*$/)\r\n ],\r\n City: [\r\n Validators.required,\r\n InvestValidateCityCharacters\r\n ],\r\n State: [Validators.required]\r\n}\r\n\r\nexport function ValidateSpecialCharacters(c: FormControl) {\r\n const regex = /^[a-zA-Z0-9#\\/.\\-,\\s]*$/;\r\n return (regex.test(c.value) || c.value == '') ? null : {\r\n validateSpecialCharacters: {\r\n valid: false\r\n }\r\n };\r\n}\r\n\r\nexport function InvestValidateSpecialCharacters(c: FormControl) {\r\n const regex = /^[a-zA-Z0-9#\\/\\-\\s]*$/;\r\n return (regex.test(c.value)) ? null : {\r\n validateSpecialCharacters: {\r\n valid: false\r\n }\r\n };\r\n}\r\n\r\nexport function InvestValidateCityCharacters(c: FormControl) {\r\n const regex = /^[A-Za-z]+(?:[ '-][A-Za-z]+)*$/;\r\n return (regex.test(c.value)) ? null : {\r\n validateSpecialCharacters: {\r\n valid: false\r\n }\r\n };\r\n}\r\n\r\nexport function ValidateOnlyNumbers(c: FormControl) {\r\n let regex = /[\\d]/;\r\n return (regex.test(c.value)) ? null : {\r\n validateOnlyNumbers: {\r\n valid: false\r\n }\r\n };\r\n}\r\n\r\n\r\nexport function validateZipRange(c:FormControl){\r\n if(c && c.value){\r\n const checkLength = c.value.length;\r\n return (checkLength >= 6 && checkLength < 10) ? {validateZipRange:{valid:false}}: null;\r\n }\r\n}\r\n\r\nexport function TrimValidator(c: FormControl) {\r\n const value = c.value;\r\n if(value && typeof value == 'string') {\r\n return value.trim() === value ? null : {\r\n validateTrim : {\r\n valid: false\r\n }\r\n }\r\n }\r\n}","export * from './address.form';\r\nexport * from './address.validators';\r\n","export * from './constants';\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n// UI Kit\r\nimport { NgxMaskModule } from 'ngx-mask';\r\nimport { UIKitCommonModule } from '@uikit/components/common';\r\nimport { UkFormControlsModule } from '@uikit/components/uk-form-controls';\r\nimport { UkDropdownModule } from '@uikit/components/uk-dropdown';\r\n// Components\r\nimport { AddressFormComponent } from './components';\r\nimport { setRangeDirective } from 'app/enrollment-common/directives';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n // UI Kit\r\n UIKitCommonModule,\r\n UkFormControlsModule,\r\n UkDropdownModule,\r\n NgxMaskModule.forRoot(),\r\n ],\r\n declarations: [\r\n AddressFormComponent,\r\n setRangeDirective\r\n ],\r\n exports: [\r\n AddressFormComponent,\r\n setRangeDirective\r\n ]\r\n})\r\nexport class SharedFormsModule { }\r\n","export * from './zip-code.validator';","import { AbstractControl, AsyncValidatorFn, ValidationErrors } from '@angular/forms';\r\n// RxJs\r\nimport { Observable, of } from 'rxjs';\r\nimport { map, catchError } from 'rxjs/operators';\r\n// Services\r\nimport { ZipService } from 'services';\r\n\r\n/**\r\n * Returns validation errors regarding ZipCode, sets related City and State if the ZipCode was found or not in database\r\n * @param zipService Service with zipcode api utils\r\n * @param cityControl Form child control related to City Input\r\n * @param stateControl Form child control related to State Input\r\n * @param ignoreZipCodeExists If true then it ignores if ZipCode exists in database \r\n * @returns Validation Errors\r\n */\r\nexport function ZipCodeAsyncValidator(zipService: ZipService, cityControl: AbstractControl, stateControl: AbstractControl, options = { ignoreZipCodeExists: false }): AsyncValidatorFn {\r\n return (control: AbstractControl): Observable => {\r\n let { ignoreZipCodeExists } = options;\r\n let value;\r\n let validationError = ignoreZipCodeExists ? null : { zipNotFound: true };\r\n if(control.value && control.value.includes('-')){\r\n value = control.value.split('-')[0];\r\n }\r\n return zipService.get(value?value:control.value).pipe(\r\n map((zipInfo: any) => {\r\n cityControl.setValue(zipInfo.city);\r\n stateControl.setValue(zipInfo.stateCode);\r\n return zipInfo ? null : validationError;\r\n }),\r\n catchError(() => {\r\n cityControl.setValue('');\r\n stateControl.setValue('');\r\n return of(validationError);\r\n })\r\n );\r\n };\r\n}\r\n","export * from './route.constants';\r\n","import { ModuleRouteConfig } from \"models\";\r\n\r\nexport const FEATURES_PARENT_PATH = 'features';\r\n\r\nexport const FEATURES_ROUTES: { [key: string]: ModuleRouteConfig } = {\r\n ACCOUNT_FEATURES: {\r\n name: 'ACCOUNT_FEATURES',\r\n path: ''\r\n },\r\n OPTION_LEVELS: {\r\n name: 'OPTION_LEVELS',\r\n path: 'optionslevel'\r\n },\r\n}","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n","\r\ndeclare var environment: any;\r\ndeclare var client: any;\r\n// Use for Ng Material Animations\r\nimport 'hammerjs';\r\n// BOOTSTRAP\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { AppModule } from 'app.module';\r\nimport { GET_QUERY_PARAM, GET_URL_ENV } from 'app/core/utils';\r\nimport { BRAND_ID } from 'models/enums/brand.enum';\r\nimport { BASE_HREF } from 'models/navigation';\r\nimport { PLATFORM_CONFIG_TOKEN } from 'app/core/constants/injection-tokens';\r\n\r\nconst urlEnv = GET_URL_ENV();\r\nconst confFile = `config.${ urlEnv ? urlEnv : 'prod' }.json`;\r\n\r\n\r\nfetch(`/ip`)\r\n .then(response => response.json())\r\n .then(response => {\r\n client.setProperty('externalip', response['ip']);\r\n client.processDNA();\r\n });\r\n\r\n\r\nPromise.all([\r\n fetch(`settings`),\r\n fetch(`config/${confFile}`)\r\n])\r\n .then(([settings, response]) => Promise.all([settings.json(), response.json()]))\r\n .then(([settings, env]) => {\r\n const advisorId = GET_QUERY_PARAM('AdvisorID');\r\n if(advisorId && env.brandId === BRAND_ID.Axos) {\r\n env.brandId = BRAND_ID.AxosAdvisor;\r\n }\r\n const isPremierBrand = GET_QUERY_PARAM('Premier') !== '' && GET_QUERY_PARAM('Premier') === 'true';\r\n if (isPremierBrand) {\r\n if (env.brandId === BRAND_ID.NationWide) {\r\n env.brandId = BRAND_ID.NationwidePremier;\r\n }\r\n if (env.brandId === BRAND_ID.Axos) {\r\n env.brandId = BRAND_ID.AxosPremier;\r\n }\r\n }\r\n env.apiURLs.apigee = settings.apigeeApiUrl;\r\n\r\n environment = env;\r\n const apiUrl = environment.apiURLs[environment.api].replace('{apiDomain}', environment.apiDomain || 'axosbank');\r\n if (environment.production) { enableProdMode(); }\r\n\r\n bootstrapModule(apiUrl, window['base-href'] || 'axos');\r\n });\r\n\r\nfunction bootstrapModule(apiUrl:string, orgName:string) {\r\n fetch(`${apiUrl}api/organization/${orgName}?settings=true&configState=true`)\r\n .then(response => response.json())\r\n .then(org => {\r\n let baseHref: string;\r\n let marketingURL;\r\n if(org.isWhiteLabel && org.wlProduct && !(org.wlProduct.name.toLowerCase() == 'enr')) {\r\n bootstrapModule(apiUrl, 'axos');\r\n }\r\n else {\r\n environment.organizationDisplayName = org.displayName;\r\n environment.organizationId = org.organizationId;\r\n environment.organizationName = org.name;\r\n environment.isWhiteLabel = org.isWhiteLabel;\r\n environment.orgSettings = org.settings;\r\n environment.bizUnitId = org.parentOrganizationId;\r\n marketingURL = org.settings.find(m => m.name.toLowerCase() == 'marketingurl');\r\n environment.marketingURL =(marketingURL != undefined) && marketingURL.value;\r\n environment.isConfigurationUnderway = environment.isWhiteLabel && org.configState && org.configState.name.toLowerCase() !== 'live';\r\n environment.organizationPhone = org.phone;\r\n environment.organizationEmail = org.email;\r\n\r\n if (environment.isWhiteLabel) {\r\n baseHref = window['base-href'];\r\n if (!environment.isProxy) {\r\n environment.applicationTypeName = 'whitelabelTrading';\r\n }\r\n } else {\r\n baseHref = '/';\r\n }\r\n platformBrowserDynamic(\r\n [\r\n { provide: BASE_HREF, useValue: baseHref },\r\n { provide: PLATFORM_CONFIG_TOKEN, useValue: org }\r\n ]\r\n ).bootstrapModule(AppModule);\r\n }\r\n });\r\n}","import { INavigationItem } from './navigation/navigation-item.model';\r\nimport { AppProgressState } from './app-progress-state.model';\r\nimport { Applicant } from './applicant.model';\r\n\r\nexport class ApplicantNavigationItem implements INavigationItem {\r\n visible = false;\r\n canActivate() { return true; };\r\n constructor(public stepName: string, public state?: AppProgressState, public route?: string) { }\r\n}","// Model\r\nimport { ApplicantIdentification } from './applicant-identification.model';\r\nimport { IdentificationInfo } from './identification-info.model';\r\nimport { ApplicantType } from './applicant-type.model';\r\nimport { Address } from './address.model';\r\nimport { PhoneNumber } from './phone-number.model';\r\n// Enum\r\nimport { ADDRESS_TYPE_NAME, PHONE_TYPE, APPLICANT_TYPE, PHONE_TYPE_UNIVERSAL, APPLICANT_STATE, FLOW_STEPS, DOCUMENT_TYPE } from './enums';\r\n// Core\r\nimport {\r\n IS_SAME_ADDRESS,\r\n GET_ADDRESS_BY_TYPE,\r\n SET_ADDRESS_BY_TYPE,\r\n GET_PHONE_BY_TYPE,\r\n SET_PHONE_BY_TYPE\r\n} from 'app/core/utils';\r\nimport { PersonalInformationTrading, FinancialInformation, BeneficiariesInformation, Beneficiary } from './trading';\r\nimport { Person } from './trading/person.model';\r\nimport { Affiliation } from './trading/affiliation.model';\r\nimport { DocumentRequest } from 'app/documents/models';\r\nimport { WLApplicantIdentification } from './wl';\r\nimport { RecommendedAddress } from 'models';\r\n\r\nexport interface IApplicantRequest {\r\n ApplicantId?: number;\r\n ApplicationId?: number;\r\n FirstName?: string;\r\n MiddleName?: string;\r\n LastName?: string;\r\n SuffixId?: number;\r\n Occupation?: string;\r\n DOB?: Date | string;\r\n CitizenshipTypeId?: number;\r\n EmploymentTypeId?: number;\r\n SSN?: string;\r\n EmailPrimary?: string;\r\n TrustName?: string;\r\n}\r\n\r\nexport class Applicant {\r\n ApplicantId?: number;\r\n applicantId?: string;\r\n ApplicationId?: number;\r\n ApplicantType?: ApplicantType;\r\n isExisting?: boolean;\r\n\r\n // Workflow\r\n applicantStateName?: FLOW_STEPS;\r\n workflowSteps?: FLOW_STEPS[];\r\n\r\n addresses?: Address[];\r\n recommend?: RecommendedAddress[];\r\n ApplicantPhoneNumbers?: PhoneNumber[];\r\n ApplicantIdentifications?: ApplicantIdentification[];\r\n\r\n // Personal Information\r\n EmploymentTypeId?: number;\r\n FirstName?: string;\r\n MiddleName?: string = ''\r\n LastName?: string;\r\n SuffixId?: number;\r\n Occupation?: string;\r\n DOB?: Date | string;\r\n SSN?: string;\r\n ConfirmSSN?: string;\r\n CitizenshipTypeId?: number;\r\n\r\n IdVerificationMethodId?: number;\r\n\r\n IdentificationInfo?: IdentificationInfo;\r\n\r\n //WL Id Details\r\n applicantIdentification?: WLApplicantIdentification;\r\n //End WL Id Details\r\n\r\n AcceptTypeIDCert?: any;\r\n\r\n userName?: string;\r\n email?: string;\r\n confirmEmail?: string;\r\n password?: string;\r\n confirmPassword?: string;\r\n optForTextMessages?: boolean;\r\n advisorId?: any;\r\n advisorName?: string;\r\n shareInfo?: any;\r\n\r\n annualIncomeId?: string;\r\n totalNetWorthId?: string;\r\n liquidNetWorthId?: string;\r\n sourceOfFundsId?: string;\r\n taxBracketsId?: string;\r\n FinancialInformation?: FinancialInformation;\r\n\r\n //Trust Certifictation\r\n TrustName: string;\r\n TrustFormationDate?: Date | string;\r\n trustTaxPayerId: string;\r\n\r\n ContactMethodId?: number;\r\n PIN?: any;\r\n SecretWordHint?: string;\r\n EmployerName?: string;\r\n MaidenName?: string;\r\n\r\n // Business\r\n TaxpayerIDType?: string;\r\n MinSales?: number;\r\n MaxSales?: number;\r\n Description?: string;\r\n EmailPrimary?: string;\r\n EmailSecondary?: string;\r\n Website?: string;\r\n ExpectedDesposit?: number;\r\n OwnershipPercentage?: number;\r\n IncorporationState?: string;\r\n\r\n // Only for UI Use\r\n manualCapture?: boolean;\r\n selectedTaxpayerOption?: string;\r\n hasDifferentName?: boolean;\r\n AnnualSalesId?: number;\r\n\r\n // Should go in Application\r\n ReferralSourceId?: number;\r\n PromoCode?: string;\r\n\r\n // To be deprecated\r\n IsJointHomeAddressSameAsPrimaryHomeAddress?: string;\r\n IsMinorHomeAddressSameAsPrimaryHomeAddress?: string;\r\n Phone?: any; //Remove whe api is ready\r\n Email?: string;\r\n\r\n //PI for Universal applicants\r\n PersonalInformationUniversal?: PersonalInformationTrading;\r\n taxPayerId?: string;\r\n taxPayerType?: string;\r\n typeId?: APPLICANT_TYPE;\r\n person?: Person;\r\n affiliations?: Affiliation[];\r\n type?: string;\r\n phones?: PhoneNumber[];\r\n\r\n //PI for Beneficiaries in Review and Submit\r\n beneficiariesForm?: { beneficiaries: Beneficiary[], totalShare: number };\r\n contingentsForm?: { beneficiaries: Beneficiary[], totalShare: number };\r\n\r\n requestedDocuments?: DocumentRequest[];\r\n\r\n // #region Calculated Properties\r\n // Addresses\r\n get HomeAddressInfo() {\r\n return GET_ADDRESS_BY_TYPE(this, ADDRESS_TYPE_NAME.Current);\r\n }\r\n set HomeAddressInfo(value: Address) {\r\n this.addresses = SET_ADDRESS_BY_TYPE(this.addresses, value, ADDRESS_TYPE_NAME.Current);\r\n }\r\n get MailingAddressInfo() {\r\n return GET_ADDRESS_BY_TYPE(this, ADDRESS_TYPE_NAME.Mailing);\r\n }\r\n set MailingAddressInfo(value) {\r\n this.addresses = SET_ADDRESS_BY_TYPE(this.addresses, value, ADDRESS_TYPE_NAME.Mailing);\r\n }\r\n get IdentificationAddressInfo() {\r\n switch (this.IdentificationInfo.IdentificationAddressType) {\r\n case ADDRESS_TYPE_NAME.Current:\r\n return this.HomeAddressInfo;\r\n case ADDRESS_TYPE_NAME.Mailing:\r\n return this.MailingAddressInfo;\r\n }\r\n return GET_ADDRESS_BY_TYPE(this, ADDRESS_TYPE_NAME.Other);\r\n }\r\n set IdentificationAddressInfo(value) {\r\n this.addresses = SET_ADDRESS_BY_TYPE(this.addresses, value, ADDRESS_TYPE_NAME.Other);\r\n }\r\n\r\n get isMailingAddressSameAsHomeAddress() {\r\n return IS_SAME_ADDRESS(this.HomeAddressInfo, this.MailingAddressInfo)\r\n }\r\n // Phone Number\r\n get CellPhone() {\r\n return GET_PHONE_BY_TYPE(this, PHONE_TYPE_UNIVERSAL.Cell).number;\r\n }\r\n set CellPhone(value: string) {\r\n this.ApplicantPhoneNumbers = SET_PHONE_BY_TYPE(this.phones, { number: value }, PHONE_TYPE_UNIVERSAL.Cell);\r\n }\r\n get HomePhone() {\r\n return GET_PHONE_BY_TYPE(this, PHONE_TYPE_UNIVERSAL.Home).number;\r\n }\r\n get BusinessPhone() {\r\n return GET_PHONE_BY_TYPE(this, PHONE_TYPE_UNIVERSAL.Business).number;\r\n }\r\n get BusinessPhoneExtension() {\r\n return GET_PHONE_BY_TYPE(this, PHONE_TYPE_UNIVERSAL.Business).PhoneExtension;\r\n }\r\n\r\n get FullName() { return `${this.FirstName} ${this.MiddleName === null ? '' : this.MiddleName} ${this.LastName}`; }\r\n set FullName(value) { }\r\n\r\n get DisplayName() { return this.FullName; }\r\n set DisplayName(value) { }\r\n // #endregion\r\n}\r\n","export interface ChatBotSettings {\r\n BrandName: string;\r\n BaseUrl :string;\r\n ChannelEndpoint:string;\r\n Component: string;\r\n VerifyToken: string;\r\n WidgetChatBotUrl:string;\r\n }\r\n \r\n export class ChatbotBrandColorProperties {\r\n chatbotPrimary: string;\r\n chatbotSecondary: string;\r\n chatbotAccent: string;\r\n }\r\n \r\n export class ChatbotBrandColors {\r\n axos: ChatbotBrandColorProperties;\r\n nationwide: ChatbotBrandColorProperties;\r\n ufb: ChatbotBrandColorProperties;\r\n }\r\n \r\n export const brandColorConfigurations: ChatbotBrandColors = {\r\n axos: {\r\n chatbotPrimary: '#ffffff',\r\n chatbotSecondary: '#1e3860',\r\n chatbotAccent: '#faa74a',\r\n },\r\n nationwide: {\r\n chatbotPrimary: '#ffffff',\r\n chatbotSecondary: '#007d8a',\r\n chatbotAccent: '#faa74a',\r\n },\r\n ufb: {\r\n chatbotPrimary: '#ffffff',\r\n chatbotSecondary: '#323339',\r\n chatbotAccent: '#d67b50',\r\n },\r\n };","import { Disclosure } from './disclosure';\r\n\r\nexport class DisclosureList{\r\n id: number;\r\n allDisclosuresAccepted: boolean;\r\n doNotShareCreditPersonalInfo: boolean;\r\n doNotMarketPersonalInfo: boolean;\r\n doNotSharePersonalInfoNonAffiliates: boolean;\r\n disclosure: Disclosure[]; \r\n}","export class Disclosure{\r\n id: number;\r\n name?: string;\r\n title: string;\r\n subtitle: string;\r\n content: string;\r\n class: string;\r\n htmlUrl: string;\r\n htmlTemplate: any;\r\n pdf: string;\r\n template: any;\r\n isAccepted: boolean;\r\n [key: string]: any;\r\n}","export * from './disclosure';\r\nexport * from './disclosure-list';\r\nexport * from './disclosures-acceptance';\r\nexport * from './disclosures-request';\r\nexport * from './detail-disclosure.model';\r\nexport * from './ecm-disclosure.model';\r\nexport * from './ecm-disclosure-document.model';\r\n","export enum ACTION_TYPE {\r\n Save = 0,\r\n SaveAndExit = 1,\r\n Back = 2\r\n}\r\n","export enum ADDRESS_TYPE {\r\n Current = 1,\r\n\tPrior = 2,\r\n\tWork = 3,\r\n\tMailing = 4,\r\n\tOther = 5,\r\n\tBeneficiaryAddress = 6,\r\n\tMinor = 7,\r\n\tEmployer = 8\r\n}\r\n\r\nexport enum ADDRESS_TYPE_NAME {\r\n Current = 'current',\r\n\tPrior = 'prior',\r\n\tWork = 'work',\r\n\tMailing = 'mailing',\r\n\tOther = 'other',\r\n\tBeneficiaryAddress = 'beneficiaryaddress',\r\n\tMinor = 'minor',\r\n\tEmployer = 'employer',\r\n\tHomeAddress = 'HomeAddress'\r\n}","// export enum APPLICATION_STATUS_IDS {\r\n// \tApproved = 1,\r\n// \tCancelled = 2,\r\n// \tComplete = 3,\r\n// \tDeclined = 4,\r\n// \tIncomplete = 5,\r\n// \tInvalid = 6,\r\n// \tNotSubmitted = 7,\r\n// \tReview = 8,\r\n// \tSystemFailure = 9,\r\n// \tWaitingForCustomer = 10\r\n// }\r\n\r\nexport enum APPLICATION_STATUS {\r\n\tApproved = 'approved',\r\n\tCancelled = 'cancelled',\r\n\tComplete = 'complete',\r\n\tDeclined = 'declined',\r\n\tIncomplete = 'incomplete',\r\n\tInvalid = 'invalid',\r\n\tNotSubmitted = 'notsubmitted',\r\n\tInReview = 'inreview',\r\n\tSystemFailure = 'systemfailure',\r\n\tWaitingForCustomer = 'waitingforcustomer'\r\n}\r\n\r\n// export enum APPLICATION_STATUS {\r\n// Incomplete = 1,\r\n// Pending = 2,\r\n// Approved = 3,\r\n// Declined = 4,\r\n// Review = 5,\r\n// SubmittedToHost = 6,\r\n// \tDeclinedCredit = 7,\r\n// \tDeclinedVelocity = 8,\r\n// \tDeclinedDigitalResolve = 9,\r\n// \tDeclinedIntelligentSearchTech = 10,\r\n// \tDeclinedInternalWatchLists = 11,\r\n// \tNotSubmitted = 12,\r\n// \tPendingBankReview = 13,\r\n// WaitingForCustomer = 14,\r\n// \tSystemFailure = 15,\r\n// \tCancelled = 16,\r\n// \tComplete = 17,\r\n// \tReferred = 18,\r\n// \tWaitingForCustomerToSelectFunding = 19,\r\n// \tWaitingForCustomerToCompleteTaskList = 20,\r\n// ReferredWaitingonCustomer = 21\r\n// }\r\n\r\n// export enum APPLICATION_DECISION_STATUS_IDS {\r\n// \tApproved = 1 || 13,\r\n// \tDeclined = 2 || 14,\r\n// \tCancelled = 3 || 4 || 5 || 6 || 7,\r\n// \tInReview = 12\r\n// }\r\n\r\nexport enum APPLICATION_DECISION_STATUS{\r\n\tAutoApproved = 'autoapproved',\r\n\tAutoDeclined = 'autodeclined',\r\n\tCancelled = 'cancelled',\r\n\tCancelledByBankAfterApproval = 'cancelledbybankafterapproval',\r\n\tCancelledByBankBeforeApproval = 'cancelledbybankbeforeapproval',\r\n\tCancelledByCustomerAfterApproval = 'cancelledbycustomerafterapproval',\r\n\tCancelledByCustomerBeforeApproval = 'cancelledbycustomerbeforeapproval',\r\n\tCautionApproved = 'cautionapproved',\r\n\tExpiredNoResponseAfterApproval = 'expirednoresponseafterapproval',\r\n\tExpiredNoResponseBeforeApproval = 'expirednoresponsebeforeapproval',\r\n\tExpiredNoResponseBeforeSubmission = 'expirednoresponsebeforesubmission',\r\n\tInReview = 'inreview',\r\n\tManuallyApproved = 'manuallyapproved',\r\n\tManuallyDeclined = 'manuallydeclined',\r\n\tNotSubmitted = 'notsubmitted',\r\n\tApprovedAutoPendingPrincipalReview = 'approvedautopendingprincipalreview',\r\n\tApprovedAutoPrincipalApproved = 'approvedautoprincipalapproved',\r\n\tApprovedReviewPendingPrincipalReview = 'approvedreviewpendingprincipalreview',\r\n\tApprovedReviewPrincipalApproved = 'approvedreviewprincipalapproved'\r\n}\r\n\r\n// export enum APPLICATION_DECISION_STATUS {\r\n// NoDecision = 1,\r\n// \tApproved = 2,\r\n// \tDeclined = 3,\r\n// \tCancelled = 4\r\n// }\r\n\r\n// export enum APPLICATION_DECISION_REASON_IDS {\r\n// \tInReview = 1, \r\n// \tNotSubmitted = 2, \r\n// \tApprovedAuto = 3, \r\n// \tApprovedReview = 4, \r\n// \tCustomerReview = 5, \r\n// \tApprovedManually = 6,\r\n// \tDcoumentsRequested = 7,\r\n// \tDeclinedAuto = 8, \r\n// \tDeclinedReview = 9,\r\n// \tDeclinedManually = 10,\r\n// \tCancelled = 11, \r\n// \tBoardingError = 12,\r\n// \tSystemError = 13,\r\n// \tCancelledByCustomerBeforeApproval = 14, \r\n// \tCancelledByCustomerAfterApproval = 15, \r\n// \tCancelledByBankBeforeApproval = 16,\r\n// \tCancelledByBankAfterApproval = 17,\r\n// \tExpiredNoResponseBeforeApproval = 18,\r\n// \tExpiredNoResponseAfterApproval = 19,\r\n// \tExpiredNoResponseBeforeSubmission = 20,\r\n// \tExpiredNoResponseAfterReferral = 21,\r\n// }\r\n\r\nexport enum APPLICATION_DECISION_REASON {\r\n\tInReview = 'review', \r\n\tNotSubmitted = 'notsubmitted', \r\n\tApprovedAuto = 'approvedauto', \r\n\tApprovedReview = 'approvedreview', \r\n\tCustomerReview = 'customerreview', \r\n\tApprovedManually = 'approvedmanually',\r\n\tDocumentsRequested = 'documentsrequested',\r\n\tDeclinedAuto = 'declinedauto', \r\n\tDeclinedReview = 'declinedreview',\r\n\tDeclinedManually = 'declinedmanually',\r\n\tCancelled = 'cancelled', \r\n\tBoardingError = 'boardingerror',\r\n\tSystemError = 'systemerror',\r\n\tCancelledByCustomerBeforeApproval = 'cancelledbycustomerbeforeapproval', \r\n\tCancelledByCustomerAfterApproval = 'cancelledbycustomerafterapproval', \r\n\tCancelledByBankBeforeApproval = 'cancelledbybankbeforeapproval',\r\n\tCancelledByBankAfterApproval = 'cancelledbybankafterapproval',\r\n\tExpiredNoResponseBeforeApproval = 'expirednoresponsebeforeapproval',\r\n\tExpiredNoResponseAfterApproval = 'expirednoresponseafterapproval',\r\n\tExpiredNoResponseBeforeSubmission = 'expirednoresponsebeforesubmission',\r\n\tExpiredNoResponseAfterReferral = 'expirednoresponseafterreferral',\r\n}\r\n\r\n// export enum APPLICATION_DECISION_REASON {\r\n// \tInReview = 1,\r\n// \tApprovedAuto = 2,\r\n// \tManuallyApproved = 3,\r\n// \tDeclinedAuto = 4,\r\n// \tDeclinedAutoCredit = 5,\r\n// \tDeclinedReview = 6,\r\n// \tManuallyDeclinedCredit = 7,\r\n// \tReferredAuto = 8,\r\n// \tReferredReview = 9,\r\n// \tCancelled = 10,\r\n// \tReferredAutoAccepted = 11,\r\n// \tReferredReviewAccepted = 12,\r\n// \tNotSubmitted = 13,\r\n// \tReferredAutoNotAccepted = 14,\r\n// \tReferredReviewNotAccepted = 15,\r\n// \tCancelledByCustomerBeforeApproval = 16,\r\n// \tCancelledByCustomerAfterApproval = 17,\r\n// \tCancelledByBankBeforeApproval = 18,\r\n// \tCancelledByBankAfterApproval = 19,\r\n// \tExpiredNoResponseBeforeApproval = 20,\r\n// \tExpiredNoResponseAfterApproval = 21,\r\n// \tDeclinedAutoCreditFreeze = 22,\r\n// \tDeclinedReviewCreditFreeze = 23,\r\n// \tApprovedCaution = 24,\r\n// \tInCautionReview = 25,\r\n// \tDeclinedAutoNotReferred = 26,\r\n// \tExpiredByProxy = 27,\r\n// \tExpiredNoResponseBeforeSubmission = 28,\r\n// ExpiredNoResponseAfterReferral = 29\r\n// }\r\n","export * from './states';\r\nexport * from './application-state.enum';\r\nexport * from './source-types.enum';\r\n","export enum SOURCE_TYPES {\r\n oldNewEnroller = 1,\r\n oldExistingEnroller = 2,\r\n newEnroller = 12,\r\n existingEnroller = 13,\r\n ProxyINTNew = 6,\r\n ProxyINTExisting = 9,\r\n ProxyEXTNew = 10,\r\n ProxyEXTExisting = 11,\r\n ProxyTransferNew = 18,\r\n ProxyTransferExisting = 19\r\n}\r\n\r\nexport enum TRADING_CHANNEL_ID{\r\n newEnroller = 1,\r\n existingCustomer = 2,\r\n proxyNewEnroller = 3,\r\n proxyExistingCustomer = 4\r\n}\r\n","import { APPLICATION_STATE } from './states.enum';\r\n\r\nexport const DMD_STATES = [\r\n APPLICATION_STATE.IdVerificationMethod,\r\n APPLICATION_STATE.IdVerificationOtpValidation,\r\n APPLICATION_STATE.IdVerificationIdTypeSelection,\r\n APPLICATION_STATE.IdVerificationFrontId,\r\n APPLICATION_STATE.IdVerificationBackId,\r\n APPLICATION_STATE.IdVerificationSelfie,\r\n APPLICATION_STATE.IdVerificationReviewAndSubmit\r\n]\r\n","export enum FLOW_STEPS {\r\n // For me these don't make sense\r\n registrationPage = 'registrationPage',\r\n usernamePassword = 'usernamePassword',\r\n editInformation = '',\r\n NumberOfTrustees = 'numberOfTrustees',\r\n\r\n NotStarted = 'notStarted',\r\n AccountType = 'accountType',\r\n AccountFeature = 'accountFeature',\r\n OptionsLevel = 'optionsLevel',\r\n PersonalInformation = 'personalInformation',\r\n AddressInformation = 'addressInformation',\r\n AdditionalOwnerInformation = 'additionalOwnerInformation',\r\n FinancialInformation = 'financialInformation',\r\n InvestmentProfile = 'investmentProfile',\r\n IdDetails1 = 'idDetails1',\r\n IdDetails2 = 'idDetails2',\r\n //IdentificationUpload = 'identificationUpload',\r\n Beneficiaries = 'beneficiaries',\r\n ContingentBeneficiaries = 'contingentBeneficiary',\r\n TrustCertificate = 'trustCertificate',\r\n ReviewAndSubmit = 'reviewAndSubmit',\r\n ConfirmIdentity = 'confirmIdentity',\r\n Complete = 'complete',\r\n PendingDocumentReview = 'pendingDocumentReview',\r\n DocumentsRequested = 'documentsRequested',\r\n DocumentsReceived = 'documentsReceived',\r\n WaitingForSecondary = 'waitingForSecondary',\r\n TrustedContactProxy = 'trustedContact',\r\n investmentGoal = 'investmentGoal',\r\n investingHistory = 'investingHistory',\r\n recommendedPortfolio = 'recommendedPortfolio',\r\n portfolioReviewAndSubmit = 'portfolioReviewAndSubmit',\r\n // MP inner flow steps\r\n goalSelection = 'goalSelection',\r\n timeHorizon = 'timeHorizon',\r\n accountSelection = 'accountSelection',\r\n riskQuestions = 'riskQuestions'\r\n}\r\n","export * from './states.enum';\r\nexport * from './pip';\r\nexport * from './dmd-states';\r\nexport * from './flow-steps.enum';\r\n","export * from './primary';\r\nexport * from './joint';\r\nexport * from './teen';\r\nexport * from './minor';\r\nexport * from './trust';\r\nexport * from './joint';\r\n\r\n// import { PRIMARY_PIP_STATES, PRIMARY_PIP_TRADING_STATES } from './primary';\r\nimport { PRIMARY_PIP_TRADING_STATES, PRIMARY_PIP_ADDITIONAL_OWNER_STATES } from './primary';\r\nimport { JOINT_PIP_STATES, JOINT_PIP_TRADING_STATES } from './joint';\r\nimport { TEEN_PIP_STATES } from './teen';\r\nimport { MINOR_PIP_STATES } from './minor';\r\nimport { TRUST_PIP_STATES } from './trust';\r\n\r\nexport const PIP_STATES = [\r\n // ...PRIMARY_PIP_STATES,\r\n ...PRIMARY_PIP_TRADING_STATES,\r\n ...PRIMARY_PIP_ADDITIONAL_OWNER_STATES,\r\n ...JOINT_PIP_STATES,\r\n ...JOINT_PIP_TRADING_STATES,\r\n ...TEEN_PIP_STATES,\r\n ...MINOR_PIP_STATES,\r\n ...TRUST_PIP_STATES\r\n];\r\n","import { APPLICATION_STATE } from '../states.enum';\r\n\r\nexport const JOINT_PIP_STATES = [\r\n APPLICATION_STATE.PersonalInformationJoint,\r\n APPLICATION_STATE.ContactInformationJoint,\r\n APPLICATION_STATE.HomeAddressQuestionJoint,\r\n APPLICATION_STATE.HomeAddressInfoJoint,\r\n APPLICATION_STATE.MailingAddressQuestionJoint,\r\n APPLICATION_STATE.MailingAddressInfoJoint,\r\n APPLICATION_STATE.DobSSNInfoJoint,\r\n APPLICATION_STATE.IdTypeSelectionManualJoint,\r\n APPLICATION_STATE.IdInfoJoint,\r\n APPLICATION_STATE.IdAddressQuestionJoint,\r\n APPLICATION_STATE.IdAddressInfoJoint\r\n];\r\n\r\nexport const JOINT_PIP_TRADING_STATES = [\r\n APPLICATION_STATE.JointPersonalInformation,\r\n APPLICATION_STATE.AffiliationInformation,\r\n APPLICATION_STATE.HomeAddressQuestionJoint,\r\n APPLICATION_STATE.HomeAddressInfoJoint,\r\n APPLICATION_STATE.FinancialInformation,\r\n APPLICATION_STATE.InvestmentProfile\r\n];\r\n\r\n//Trading new states\r\n// export const JOINT_PIP_TRADING_STATES = [\r\n// APPLICATION_STATE.JointPersonalInformation,\r\n// APPLICATION_STATE.AffiliationInformation,\r\n// APPLICATION_STATE.JointAddressQuestion,\r\n// APPLICATION_STATE.JointAdressInformation\r\n// ];","import { APPLICATION_STATE } from '../states.enum';\r\n\r\nexport const MINOR_PIP_STATES = [\r\n APPLICATION_STATE.PersonalInformationMinor,\r\n APPLICATION_STATE.HomeAddressQuestionMinor,\r\n APPLICATION_STATE.HomeAddressInfoMinor,\r\n APPLICATION_STATE.DobSSNInfoMinor\r\n];\r\n","import { APPLICATION_STATE } from '../states.enum';\r\nimport { APPLICANT_INFORMATION_ROUTES } from 'app/applicant-information/routing';\r\n\r\n// export const PRIMARY_PIP_STATES = [\r\n// APPLICATION_STATE.PersonalInformationPrimary,\r\n// APPLICATION_STATE.HomeAddressInfoPrimary,\r\n// APPLICATION_STATE.MailingAddressQuestionPrimary,\r\n// APPLICATION_STATE.MailingAddressInfoPrimary,\r\n// APPLICATION_STATE.DobSSNInfoPrimary,\r\n// APPLICATION_STATE.IdTypeSelectionManualPrimary,\r\n// APPLICATION_STATE.IdInformationPrimary,\r\n// APPLICATION_STATE.IdAddressQuestionPrimary,\r\n// APPLICATION_STATE.IdAddressInfoPrimary\r\n// ]\r\n\r\nexport const PRIMARY_PIP_TRADING_STATES = [\r\n APPLICATION_STATE.PersonalInformation,\r\n APPLICATION_STATE.AddressInformation,\r\n APPLICATION_STATE.FinancialInformation,\r\n APPLICATION_STATE.InvestmentProfile,\r\n //APPLICATION_STATE.Beneficiaries,\r\n //APPLICATION_STATE.ContingentBeneficiaries\r\n]\r\n\r\nexport const PRIMARY_PIP_ADDITIONAL_OWNER_STATES = [\r\n APPLICATION_STATE.PersonalInformation,\r\n APPLICATION_STATE.AddressInformation,\r\n APPLICATION_STATE.AdditionalOwner,\r\n APPLICATION_STATE.FinancialInformation,\r\n APPLICATION_STATE.InvestmentProfile\r\n]\r\n\r\n\r\n//Trading new states\r\n// export const PRIMARY_PIP_TRADING_STATES = [\r\n// APPLICATION_STATE.PersonalInformation,\r\n// APPLICATION_STATE.AddressInformation,\r\n// APPLICATION_STATE.FinancialInformation,\r\n// APPLICATION_STATE.InvestmentProfile\r\n// ]","import { APPLICATION_STATE } from '../states.enum';\r\n\r\nexport const TEEN_PIP_STATES = [\r\n APPLICATION_STATE.PersonalInformationTeen,\r\n APPLICATION_STATE.ContactInformationTeen,\r\n APPLICATION_STATE.HomeAddressQuestionTeen,\r\n APPLICATION_STATE.HomeAddressInfoTeen,\r\n APPLICATION_STATE.MailingAddressQuestionTeen,\r\n APPLICATION_STATE.MailingAddressInfoTeen,\r\n APPLICATION_STATE.DobSSNInfoTeen\r\n];\r\n","import { APPLICATION_STATE } from '../states.enum';\r\n\r\nexport const TRUST_PIP_STATES = [\r\n APPLICATION_STATE.TrustInfo\r\n];\r\n\r\n//Trading new states\r\n// export const TRUST_PIP_STATES = [\r\n// APPLICATION_STATE.TrustInformation\r\n// ];","export enum APPLICATION_STATE {\r\n AccountType = 1,\r\n AccountFeature = 2,\r\n PersonalInformation = 3,\r\n AddressInformation = 4,\r\n AdditionalOwner = 5,\r\n FinancialInformation = 6,\r\n InvestmentProfile = 7,\r\n //Beneficiaries = 7,\r\n //ContingentBeneficiaries = 71,\r\n JointPersonalInformation = 8,\r\n AffiliationInformation = 9, //JointAboutInformation\r\n JointAddressQuestion = 10,\r\n JointAdressInformation = 11,\r\n JointFinancialInformation = 12,\r\n JointInvestmentProfile = 13,\r\n ReviewAndSubmit = 14,\r\n PendingAdditionalOwnerSubmit = 15,\r\n EditInformation = 160,\r\n InReview = 16,\r\n Declined = 17,\r\n Complete = 18,\r\n PendingDocumentReview = 19,\r\n DocumentsRequested = 20,\r\n BoardingError = 21,\r\n SystemError = 22,\r\n AccountNumberError = 23,\r\n OrderError = 24,\r\n BoardingInProgress = 25,\r\n DocumentsReceived = 26,\r\n VerifyYourIdentity = 28,\r\n PendingCompletionKBA = 16000,\r\n PendingBankReview = 17000,\r\n ResponseNeededFromCustomer = 18000,\r\n KBAStillToBeAnswered = 19000,\r\n PendingMitekUpload = 20000,\r\n WaitingForCustomerToLiftFreeze = 21000,\r\n PendingBusinessOlbRegistration = 23000,\r\n\r\n // InvestmentProfile = 70,\r\n Beneficiaries = 71,\r\n ContingentBeneficiaries = 72,\r\n\r\n //Old states to be removed\r\n products = 100,\r\n reviewAndSubmit = 400,\r\n CustomerRequestedCancellation = 500,\r\n Submitted = 700,\r\n DecisionComplete = 800,\r\n Funding = 900,\r\n Boarding = 1000,\r\n ReferredToSecondChance = 1200,\r\n Cancelled = 1300,\r\n PendingIDA = 1400,\r\n PendingApplicationReview = 1500,\r\n PendingContactInfoReview = 1700,\r\n TaskListPreBoarding = 1800,\r\n PingsSent = 1900,\r\n NetbankAcceptedProductSelection = 2000,\r\n KBAToBeRequested = 8400,\r\n ReferredFromAnotherBrand = 2700,\r\n TaskListPostBoarding = 2800,\r\n NetbankAcceptedDisclosures = 2900,\r\n PendingHRBApplicationReview = 3000,\r\n PendingHRBForeignAddress = 3100,\r\n PendingHRBAccountNumber = 3200,\r\n MitekUploadPage = 3400,\r\n PendingApplicationReviewRM = 3600,\r\n PendingApplicationReviewBSA = 3700,\r\n PendingApplicationReviewManager = 3800,\r\n UnassignedNewApplication = 3900,\r\n // #region DMD\r\n IdVerificationMethod = 4100,\r\n IdVerificationOtpValidation = 4200,\r\n IdVerificationIdTypeSelection = 4300,\r\n IdVerificationFrontId = 4400,\r\n IdVerificationBackId = 4500,\r\n IdVerificationSelfie = 4600,\r\n IdVerificationReviewAndSubmit = 4700,\r\n // #endregion\r\n WaitingforManagerApproval = 4800,\r\n ApprovedbyManager = 4900,\r\n RMNewApplications = 5000,\r\n // #region PIP\r\n // #region Primary\r\n PersonalInformationPrimary = 300,\r\n HomeAddressInfoPrimary = 5100,\r\n MailingAddressQuestionPrimary = 5200,\r\n MailingAddressInfoPrimary = 5300,\r\n DobSSNInfoPrimary = 5400,\r\n IdTypeSelectionManualPrimary = 5500,\r\n IdInformationPrimary = 5600,\r\n IdAddressQuestionPrimary = 5700,\r\n IdAddressInfoPrimary = 5800,\r\n IdHomeAddressQuestionPrmary = 5900,\r\n // #endregion\r\n // #region Joint\r\n PersonalInformationJoint = 6000,\r\n ContactInformationJoint = 6100,\r\n HomeAddressQuestionJoint = 6200,\r\n HomeAddressInfoJoint = 6300,\r\n MailingAddressQuestionJoint = 6400,\r\n MailingAddressInfoJoint = 6500,\r\n DobSSNInfoJoint = 6600,\r\n IdTypeSelectionManualJoint = 6700,\r\n IdInfoJoint = 6800,\r\n IdAddressQuestionJoint = 6900,\r\n IdAddressInfoJoint = 7000,\r\n IdHomeAddressQuestion = 7100,\r\n // #endregion\r\n // #region Minor\r\n PersonalInformationMinor = 7200,\r\n HomeAddressQuestionMinor = 7300,\r\n HomeAddressInfoMinor = 7400,\r\n DobSSNInfoMinor = 7500,\r\n // #endregion\r\n // #region Teen\r\n PersonalInformationTeen = 7600,\r\n ContactInformationTeen = 7700,\r\n HomeAddressQuestionTeen = 7800,\r\n HomeAddressInfoTeen = 7900,\r\n MailingAddressQuestionTeen = 8000,\r\n MailingAddressInfoTeen = 8100,\r\n DobSSNInfoTeen = 8200,\r\n // #endregion\r\n // #region Trust\r\n TrustInfo = 8300,\r\n // #endregion\r\n // #region Primary Trading\r\n //AccountFeatures = 8500,\r\n //PersonalInformationTradingPrimary = 8600,\r\n //HomeMailingAddress = 8700\r\n}\r\n// export enum APPLICATION_STATE {\r\n// AccountType = 1,\r\n// AccountFeature = 2,\r\n// PersonalInformation = 3,\r\n// AddressInformation = 4,\r\n// FinancialInformation = 5,\r\n// InvestmentProfile = 6,\r\n// JointPersonalInformation = 7,\r\n// AffiliationInformation = 8,\r\n// JointAddressQuestion = 9,\r\n// JointAdressInformation = 10,\r\n// TrustInformation = 11,\r\n// VerifyYourIdentity = 12,\r\n// DmdOTPValidation = 31,\r\n// DmdIDTypeSelection = 14,\r\n// DmdSelfie = 15,\r\n// DmdReviewAndSubmitPhotos = 16,\r\n// ReviewAndSubmit = 17,\r\n// Complete = 18,\r\n// BoardingError,\r\n// SystemError,\r\n// DocumentsRequested,\r\n// products = 100,\r\n// disclosures = 200,\r\n// reviewAndSubmit = 400,\r\n// CustomerRequestedCancellation = 500,\r\n// Submitted = 700,\r\n// DecisionComplete = 800,\r\n// Funding = 900,\r\n// Boarding = 1000,\r\n// ReferredToSecondChance = 1200,\r\n// Cancelled = 1300,\r\n// PendingIDA = 1400,\r\n// PendingApplicationReview = 1500,\r\n// PendingDocumentReview = 1600,\r\n// PendingContactInfoReview = 1700,\r\n// TaskListPreBoarding = 1800,\r\n// PingsSent = 1900,\r\n// NetbankAcceptedProductSelection = 2000,\r\n// AccountNumberError = 2300,\r\n// ResponseNeededFromCustomer = 2400,\r\n// PendingCompletionKBA = 2500,\r\n// KBAStillToBeAnswered = 2600,\r\n// KBAToBeRequested = 8400,\r\n// ReferredFromAnotherBrand = 2700,\r\n// TaskListPostBoarding = 2800,\r\n// NetbankAcceptedDisclosures = 2900,\r\n// PendingHRBApplicationReview = 3000,\r\n// PendingHRBForeignAddress = 3100,\r\n// PendingHRBAccountNumber = 3200,\r\n// PendingMitekUpload = 3300,\r\n// MitekUploadPage = 3400,\r\n// WaitingForCustomerToLiftFreeze = 3500,\r\n// PendingApplicationReviewRM = 3600,\r\n// PendingApplicationReviewBSA = 3700,\r\n// PendingApplicationReviewManager = 3800,\r\n// UnassignedNewApplication = 3900,\r\n// PendingBusinessOlbRegistration = 4000,\r\n// // #region DMD\r\n// IdVerificationMethod = 4100,\r\n// IdVerificationOtpValidation = 4200,\r\n// IdVerificationIdTypeSelection = 4300,\r\n// IdVerificationFrontId = 4400,\r\n// IdVerificationBackId = 4500,\r\n// IdVerificationSelfie = 4600,\r\n// IdVerificationReviewAndSubmit = 4700,\r\n// // #endregion\r\n// WaitingforManagerApproval = 4800,\r\n// ApprovedbyManager = 4900,\r\n// RMNewApplications = 5000,\r\n// // #region PIP\r\n// // #region Primary\r\n// PersonalInformationPrimary = 300,\r\n// HomeAddressInfoPrimary = 5100,\r\n// MailingAddressQuestionPrimary = 5200,\r\n// MailingAddressInfoPrimary = 5300,\r\n// DobSSNInfoPrimary = 5400,\r\n// IdTypeSelectionManualPrimary = 5500,\r\n// IdInformationPrimary = 5600,\r\n// IdAddressQuestionPrimary = 5700,\r\n// IdAddressInfoPrimary = 5800,\r\n// IdHomeAddressQuestionPrmary = 5900,\r\n// // #endregion\r\n// // #region Joint\r\n// PersonalInformationJoint = 6000,\r\n// ContactInformationJoint = 6100,\r\n// HomeAddressQuestionJoint = 6200,\r\n// HomeAddressInfoJoint = 6300,\r\n// MailingAddressQuestionJoint = 6400,\r\n// MailingAddressInfoJoint = 6500,\r\n// DobSSNInfoJoint = 6600,\r\n// IdTypeSelectionManualJoint = 6700,\r\n// IdInfoJoint = 6800,\r\n// IdAddressQuestionJoint = 6900,\r\n// IdAddressInfoJoint = 7000,\r\n// IdHomeAddressQuestion = 7100,\r\n// // #endregion\r\n// // #region Minor\r\n// PersonalInformationMinor = 7200,\r\n// HomeAddressQuestionMinor = 7300,\r\n// HomeAddressInfoMinor = 7400,\r\n// DobSSNInfoMinor = 7500,\r\n// // #endregion\r\n// // #region Teen\r\n// PersonalInformationTeen = 7600,\r\n// ContactInformationTeen = 7700,\r\n// HomeAddressQuestionTeen = 7800,\r\n// HomeAddressInfoTeen = 7900,\r\n// MailingAddressQuestionTeen = 8000,\r\n// MailingAddressInfoTeen = 8100,\r\n// DobSSNInfoTeen = 8200,\r\n// // #endregion\r\n// // #region Trust\r\n// TrustInfo = 8300,\r\n// // #endregion\r\n// // #region Primary Trading\r\n// //AccountFeatures = 8500,\r\n// //PersonalInformationTradingPrimary = 8600,\r\n// //HomeMailingAddress = 8700\r\n// }\r\n","export enum APPLICANT_STATE {\r\n NotStarted = 'notStarted',\r\n RegistrationPage = 'registrationPage',\r\n UserNamePassword = 'usernamePassword',\r\n AccountFeature = 'accountFeature',\r\n AccountType = 'accountType',\r\n AdditionalOwnerInformation = 'additionalOwnerInformation',\r\n PersonalInformation = 'personalInformation',\r\n AddressInformation = 'addressInformation',\r\n FinancialInformation = 'financialInformation',\r\n InvestmentProfile = 'investmentProfile',\r\n ConfirmIdentity = 'confirmIdentity',\r\n NumberOfTrustees = 'numberOfTrustees',\r\n ReviewAndSubmit = 'reviewAndSubmit',\r\n EditInformation = 'editInformation',\r\n PendingDocumentReview = 'pendingDocumentReview',\r\n DocumentsRequested = 'documentsRequested',\r\n DocumentsReceived = 'documentsReceived',\r\n Complete = 'complete',\r\n}\r\n","export enum APPLICANT_TYPE {\r\n Primary = 1,\r\n Joint = 2,\r\n Trust = 3,\r\n Minor = 4,\r\n Teen = 5,\r\n Business = 6\r\n}\r\n\r\nexport enum APPLICANT_TYPE_NAME {\r\n Primary = 'primary',\r\n Joint = 'secondary',\r\n Trust = 'trust',\r\n Minor = 'minor',\r\n Teen = 'teen',\r\n Business = 'business'\r\n}\r\n\r\nexport const APPLICANT_TYPE_TO_NAME = {\r\n [APPLICANT_TYPE.Primary]: APPLICANT_TYPE_NAME.Primary,\r\n [APPLICANT_TYPE.Joint]: APPLICANT_TYPE_NAME.Joint,\r\n [APPLICANT_TYPE.Minor]: APPLICANT_TYPE_NAME.Minor,\r\n [APPLICANT_TYPE.Trust]: APPLICANT_TYPE_NAME.Trust,\r\n [APPLICANT_TYPE.Teen]: APPLICANT_TYPE_NAME.Teen,\r\n [APPLICANT_TYPE.Business]: APPLICANT_TYPE_NAME.Business\r\n}\r\n\r\nexport const APPLICANT_TYPE_TO_ID = {\r\n [APPLICANT_TYPE_NAME.Primary]: APPLICANT_TYPE.Primary,\r\n [APPLICANT_TYPE_NAME.Joint]: APPLICANT_TYPE.Joint,\r\n [APPLICANT_TYPE_NAME.Minor]: APPLICANT_TYPE.Minor,\r\n [APPLICANT_TYPE_NAME.Trust]: APPLICANT_TYPE.Trust,\r\n [APPLICANT_TYPE_NAME.Teen]: APPLICANT_TYPE.Teen,\r\n [APPLICANT_TYPE_NAME.Business]: APPLICANT_TYPE.Business\r\n}\r\n\r\n","export enum APPLICATION_TYPE {\r\n New = 1,\r\n Existing = 2,\r\n ProxyNew = 3,\r\n ProxyExisting = 4\r\n}\r\n\r\nexport enum APPLICATION_TYPE_NAME {\r\n trading = 'trading',\r\n whitelabelTrading = 'whitelabelTrading',\r\n proxyTrading = 'proxyTrading',\r\n whitelabelTradingIRA = 'whitelabelTradingIRA'\r\n}\r\n\r\nexport enum APPLICATION_TYPE_FLOW {\r\n ConsumerDeposit = 'consumerDeposit',\r\n Sbb = 'sbb',\r\n Trading = 'trading',\r\n TradingIRA = 'tradingIRA',\r\n WhitelabelTrading = 'whitelabelTrading',\r\n WhitelabelTradingIRA = 'whitelabelTradingIRA',\r\n ProxyTrading = \"proxyTrading\",\r\n ProxyIRA = \"proxyIRA\",\r\n ManagedPortfolio = 'managedPortfolio',\r\n ManagedPortfolioGoal = 'managedPortfolioGoal'\r\n}\r\n\r\nexport enum APPLICATION_TYPE_FLOW_ID {\r\n ConsumerDeposit = 1,\r\n Sbb = 2,\r\n Trading = 3,\r\n TradingIRA = 4,\r\n WhitelabelTrading = 5,\r\n WhitelabelTradingIRA = 6,\r\n ProxyTrading = 7,\r\n ProxyIRA = 8,\r\n ManagedPortfolio = 9,\r\n ManagedPortfolioGoal = 10,\r\n Mobile = 11\r\n \r\n}","export enum BENEFICIARY_TYPE {\r\n Primary = 'primary',\r\n Contingent = 'contingent',\r\n Default = 'default'\r\n}","export enum BRAND_DISCLOSURES {\r\n\tEDisclosure = 1,\r\n\tTermsAndConditions = 2,\r\n\tPrivacyDisclosure = 3,\r\n\tSmsAndMmsDisclosure = 4\r\n}","export enum BRAND_ID {\r\n Axos = 1,\r\n UFBDirect = 2,\r\n AxosBetaTesters = 3,\r\n AxosAdvisor = 4,\r\n AxosSecondChance = 5,\r\n AxosBusinessBanking = 6,\r\n NationWideBusinessBanking = 7,\r\n NationwidePremier = 8,\r\n NationWide = 9,\r\n NationwideSecondChance = 10,\r\n AxosPremier = 11\r\n}\r\n\r\nexport enum BRAND_NAME{\r\n Axos = 'axos',\r\n UFBDirect = 'ufbdirect',\r\n AxosBetaTesters = 'axosbetatesters',\r\n AxosAdvisor = 'axosadvisor',\r\n AxosSecondChance = 'axossecondchance',\r\n AxosBusinessBanking = 'axosbusinessbanking',\r\n NationWideBusinessBanking = 'nationwidebusinessbanking',\r\n NationwidePremier = 'nationwidepremier',\r\n NationWide = 'nationwide',\r\n NationwideSecondChance = 'nationwidesecondchange',\r\n AxosPremier = 'axospremier'\r\n}\r\n\r\nexport enum BRAND_CONTEXT {\r\n All = 'all',\r\n Business = 'business',\r\n Consumer = 'consumer',\r\n}\r\n","export enum CITIZENSHIP_TYPE_ID {\r\n USCitizen = 1,\r\n ResdidentAlien = 2\r\n}\r\n\r\nexport enum CITIZENSHIP_NAME {\r\n USCitizen =\"U.S. Citizen\",\r\n ResdidentAlien = \"Resident Alien\"\r\n}\r\n\r\nexport const CITIZENSHIP_TYPE = {\r\n USCITIZEN: {\r\n id: CITIZENSHIP_TYPE_ID.USCitizen,\r\n name: CITIZENSHIP_NAME.USCitizen, \r\n },\r\n RESIDENTALIEN: {\r\n id: CITIZENSHIP_TYPE_ID.ResdidentAlien,\r\n name: CITIZENSHIP_NAME.ResdidentAlien, \r\n } \r\n}","export enum DECISION_NAME {\r\n YES = 'Yes',\r\n NO = 'No',\r\n}\r\n\r\nexport const DECISION = {\r\n YES: {\r\n key: DECISION_NAME.YES,\r\n name: DECISION_NAME.YES,\r\n },\r\n NO: {\r\n key: DECISION_NAME.NO,\r\n name: DECISION_NAME.NO\r\n }\r\n}","export enum DOCUMENT_TYPE {\r\n\tDriverLicense = 1,\r\n\tSocialSecurityCard = 2,\r\n\tUtilityBill = 3,\r\n\tTrustCertificate = 4,\r\n\tSignatureCard = 5,\r\n\teSignatureCard = 6,\r\n\tSignatureSample = 7,\r\n\tStateId = 8,\r\n\tSelfie = 9,\r\n\tPassport = 10\r\n}\r\n\r\nexport enum DOCUMENT_TYPE_NAME {\r\n\tidFront = 'ID Front',\r\n\tidBack = 'ID Back',\r\n\tsocialSecurityCard = 'Social Security Card',\r\n\tutilityBill = 'Utility Bill',\r\n\ttrustCertification = 'Trust Certification',\r\n\tthreeTwoOneZeroLetter = '3210 Letter',\r\n\tdriverslicense = \"driverslicense\",\r\n\tstateissuedid = \"stateissuedid\"\r\n}\r\n","export enum FEATURE_FLAG {\r\n IdDetails = 'Id_details'\r\n}","export enum ID_VERIFICATION_METHOD{\r\n Manual = 1,\r\n Mitek = 2\r\n}","import { BRAND_CONTEXT } from './brand.enum';\r\nimport { ADDRESS_TYPE_NAME } from './address-type.enum';\r\n\r\nexport enum IDENTIFICATION_TYPE_ID {\r\n Driver = 1,\r\n State = 2,\r\n MilitaryID = 3,\r\n ResidentAlien = 4,\r\n USPassport = 5,\r\n USPassportCard = 6,\r\n ForeignPassport = 7\r\n}\r\n\r\nexport enum IDENTIFICATION_TYPE_NAME {\r\n Driver = \"Driver's License\",\r\n State = 'State Identification',\r\n Passport = 'Passport'\r\n}\r\n\r\nexport enum IDENTIFICATION_ADDRESS_TYPE_NAME {\r\n Home = 'Home Address',\r\n Mailing = 'Mailing Address',\r\n Other = 'Other Address'\r\n}\r\nexport const IDENTIFICATION_TYPE = {\r\n DRIVER: {\r\n key: IDENTIFICATION_TYPE_ID.Driver,\r\n name: IDENTIFICATION_TYPE_NAME.Driver,\r\n abbr: '',\r\n context: BRAND_CONTEXT.All\r\n },\r\n STATE: {\r\n key: IDENTIFICATION_TYPE_ID.State,\r\n name: IDENTIFICATION_TYPE_NAME.State,\r\n abbr: 'State ID',\r\n context: BRAND_CONTEXT.All\r\n },\r\n PASSPORT: {\r\n key: IDENTIFICATION_TYPE_ID.ForeignPassport,\r\n name: IDENTIFICATION_TYPE_NAME.Passport,\r\n abbr: 'Passport',\r\n context: BRAND_CONTEXT.Business\r\n }\r\n}\r\n\r\nexport const IDENTIFICATION_ADDRESS_TYPE = {\r\n HOME: {\r\n key: ADDRESS_TYPE_NAME.Current,\r\n name: IDENTIFICATION_ADDRESS_TYPE_NAME.Home,\r\n abbr: ''\r\n },\r\n MAILING: {\r\n key: ADDRESS_TYPE_NAME.Mailing,\r\n name: IDENTIFICATION_ADDRESS_TYPE_NAME.Mailing,\r\n abbr: ''\r\n },\r\n OTHER: {\r\n key: ADDRESS_TYPE_NAME.Other,\r\n name: IDENTIFICATION_ADDRESS_TYPE_NAME.Other,\r\n abbr: ''\r\n },\r\n}","export * from './appliation';\r\nexport * from './identification-type.enum';\r\nexport * from './citizenship-type.enum';\r\nexport * from './applicant/applicant-type.enum';\r\nexport * from './applicant/applicant-state.enum';\r\nexport * from './action-type.enum';\r\nexport * from './phone-type.enum';\r\nexport * from './address-type.enum';\r\nexport * from './documet-types.enum';\r\nexport * from './vesting-types.enum';\r\nexport * from './decision.enum';\r\nexport * from './brand.enum';\r\nexport * from './brand-disclosures.enum';\r\nexport * from './navigation.enum';\r\nexport * from './review-submit-sections.enum';\r\nexport * from './beneficiary-type.enum';\r\nexport * from './investment-goals.enum';\r\nexport * from './feature-flag.enum';","export enum INVESTMENT_GOALS_ENUM {\r\n RainyDay = 'rainy_day',\r\n Retirement = 'retirement',\r\n Custom = 'custom',\r\n BuildWealth = 'build_wealth',\r\n}\r\n\r\nexport enum RETIREMENT_ACCOUNT_TYPE_ENUM {\r\n traditional_ira = 'traditional_ira',\r\n personal_investment_account = 'personal_investment_account',\r\n roth_ira = 'roth_ira'\r\n}\r\n\r\nexport enum RETIREMENT_ACCOUNT_TYPE_NAME {\r\n TraditionalIRA = 'Traditional IRA',\r\n PersonalInvestmentAccount = 'Personal Investment Account',\r\n RothIRA = 'Roth IRA'\r\n}\r\n\r\nexport const RETIREMENT_ACCOUNT_TYPE_TO_NAME = {\r\n [RETIREMENT_ACCOUNT_TYPE_ENUM.traditional_ira]: RETIREMENT_ACCOUNT_TYPE_NAME.TraditionalIRA,\r\n [RETIREMENT_ACCOUNT_TYPE_ENUM.personal_investment_account]: RETIREMENT_ACCOUNT_TYPE_NAME.PersonalInvestmentAccount,\r\n [RETIREMENT_ACCOUNT_TYPE_ENUM.roth_ira]: RETIREMENT_ACCOUNT_TYPE_NAME.RothIRA\r\n}","export enum NAVIGATION_DIRECTION {\r\n Foward = 1,\r\n Current = 0,\r\n Back = -1\r\n}","export enum PHONE_TYPE {\r\n Home = 1,\r\n\tBusiness = 2,\r\n\tCell = 3\r\n}\r\n\r\nexport enum PHONE_TYPE_UNIVERSAL {\r\n\tHome = 'home',\r\n\tWork = 'work',\r\n\tCell = 'cell',\r\n\tFax = 'fax',\r\n\tBusiness = 'business'\r\n}","export enum REVIEW_AND_SUBMIT_SECTION {\r\n None = '',\r\n PERSONAL_INFORMATION = 'PERSONAL_INFORMATION',\r\n ADDITIONAL_DETAILS = 'ADDITIONAL_DETAILS',\r\n PERSONAL_AFFILIATIONS = 'PERSONAL_AFFILIATIONS',\r\n ADDRESS_INFORMATION = 'ADDRESS_INFORMATION',\r\n FINANCIAL_INFORMATION = 'FINANCIAL_INFORMATION',\r\n INVESTMENT_PROFILE = 'INVESTMENT_PROFILE',\r\n INVESTMENT_EXPERIENCE = 'INVESTMENT_EXPERIENCE',\r\n BENEFICIARIES_INFORMATION = 'BENEFICIARIES_INFORMATION',\r\n BENEFICIARIES_CONTINGENT_INFORMATION = 'BENEFICIARIES_CONTINGENT_INFORMATION',\r\n TRUST_CERTIFICATION = 'TRUST_CERTIFICATION',\r\n ADDITIONAL_OWNER_INFORMATION = 'ADDITIONAL_OWNER_INFORMATION',\r\n PRIMARY_OWNER_INFORMATION = 'PRIMARY_OWNER_INFORMATION',\r\n INVESTMENT_GOAL_INFORMATION = 'INVESTMENT_GOAL_INFORMATION',\r\n TRUSTED_CONTACT_INFORMATION = 'TRUSTED_CONTACT_INFORMATION',\r\n ID_DETAILS = 'ID_DETAILS',\r\n}\r\n","export enum AFFILIATION_ID {\r\n DEALER = 'DEALER',\r\n SRO = 'SRO',\r\n ADVISOR = 'ADVISOR',\r\n REGULATOR = 'REGULATOR',\r\n NONE = 'NONE'\r\n}\r\n\r\nexport enum AFFILIATION_TYPE_NAME {\r\n FINRA = 'FINRA',\r\n MEMBER = 'MEMBER',\r\n POLITICALFIGURE = 'POLITICALFIGURE'\r\n}\r\n\r\nexport enum AFFILIATION_NAME {\r\n DEALER = 'FINRA or MSRB Member',\r\n SRO = 'FINRA or SRO Employee',\r\n ADVISOR = 'Investment Advisor',\r\n REGULATOR = 'State or Federal Regulator',\r\n NONE = 'None'\r\n}\r\n\r\nexport enum TITLES_ID {\r\n CEO = 'ceo',\r\n CFO = 'cfo',\r\n COO = 'coo',\r\n SHAREHOLDER = 'shareholder',\r\n OTHER = 'other',\r\n NONE = 'none'\r\n}\r\n\r\nexport enum TITLES_NAME {\r\n CEO = 'CEO',\r\n CFO = 'CFO',\r\n COO = 'COO',\r\n SHAREHOLDER = 'Shareholder',\r\n OTHER = 'Other',\r\n NONE = 'None'\r\n}\r\n\r\nexport const AFFILIATION_TO_ID = {\r\n [AFFILIATION_NAME.DEALER]: AFFILIATION_ID.DEALER,\r\n [AFFILIATION_NAME.SRO]: AFFILIATION_ID.SRO,\r\n [AFFILIATION_NAME.REGULATOR]: AFFILIATION_ID.REGULATOR,\r\n [AFFILIATION_NAME.NONE]: AFFILIATION_ID.NONE,\r\n}\r\n\r\nexport const TITLES_TO_ID = {\r\n [TITLES_NAME.CEO]: TITLES_ID.CEO,\r\n [TITLES_NAME.CFO]: TITLES_ID.CFO,\r\n [TITLES_NAME.COO]: TITLES_ID.COO,\r\n [TITLES_NAME.SHAREHOLDER]: TITLES_ID.SHAREHOLDER,\r\n [TITLES_NAME.OTHER]: TITLES_ID.OTHER,\r\n [TITLES_NAME.NONE]: TITLES_ID.NONE\r\n}\r\n\r\nexport const AFFILIATIONS = [\r\n {Code: AFFILIATION_ID.DEALER, Name: AFFILIATION_NAME.DEALER},\r\n {Code: AFFILIATION_ID.SRO, Name: AFFILIATION_NAME.SRO},\r\n {Code: AFFILIATION_ID.ADVISOR, Name: AFFILIATION_NAME.ADVISOR},\r\n {Code: AFFILIATION_ID.REGULATOR, Name: AFFILIATION_NAME.REGULATOR},\r\n {Code: AFFILIATION_ID.NONE, Name: AFFILIATION_NAME.NONE}\r\n]\r\n\r\nexport const TITLES = [\r\n { Code: TITLES_ID.CEO, Name: TITLES_NAME.CEO },\r\n { Code: TITLES_ID.CFO, Name: TITLES_NAME.CFO },\r\n { Code: TITLES_ID.COO, Name: TITLES_NAME.COO },\r\n { Code: TITLES_ID.SHAREHOLDER, Name: TITLES_NAME.SHAREHOLDER },\r\n { Code: TITLES_ID.OTHER, Name: TITLES_NAME.OTHER },\r\n { Code: TITLES_ID.NONE, Name: TITLES_NAME.NONE }\r\n]","export enum EMPLOYMENT_STATUS_ID {\r\n Employed = 'employed',\r\n SelfEmployed = 'selfemployed',\r\n Retired = 'retired',\r\n Homemaker = 'homemaker',\r\n Student = 'student',\r\n Unemployed = 'unemployed'\r\n}\r\n\r\nexport enum EMPLOYMENT_STATUS_NAME {\r\n Employed = 'Employed',\r\n SelfEmployed = 'Self Employed',\r\n Retired = 'Retired',\r\n Homemaker = 'Homemaker',\r\n Student = 'Student',\r\n Unemployed = 'Unemployed'\r\n}\r\n\r\nexport const EMPLOYMENT_TO_NAME = {\r\n [EMPLOYMENT_STATUS_ID.Employed]: EMPLOYMENT_STATUS_NAME.Employed,\r\n [EMPLOYMENT_STATUS_ID.SelfEmployed]: EMPLOYMENT_STATUS_NAME.SelfEmployed,\r\n [EMPLOYMENT_STATUS_ID.Retired]: EMPLOYMENT_STATUS_NAME.Retired,\r\n [EMPLOYMENT_STATUS_ID.Homemaker]: EMPLOYMENT_STATUS_NAME.Homemaker,\r\n [EMPLOYMENT_STATUS_ID.Student]: EMPLOYMENT_STATUS_NAME.Student,\r\n [EMPLOYMENT_STATUS_ID.Unemployed]: EMPLOYMENT_STATUS_NAME.Unemployed,\r\n}\r\n\r\nexport const EMPLOYMENT_TO_ID = {\r\n [EMPLOYMENT_STATUS_NAME.Employed]: EMPLOYMENT_STATUS_ID.Employed,\r\n [EMPLOYMENT_STATUS_NAME.SelfEmployed]: EMPLOYMENT_STATUS_ID.SelfEmployed,\r\n [EMPLOYMENT_STATUS_NAME.Retired]: EMPLOYMENT_STATUS_ID.Retired,\r\n [EMPLOYMENT_STATUS_NAME.Homemaker]: EMPLOYMENT_STATUS_ID.Homemaker,\r\n [EMPLOYMENT_STATUS_NAME.Student]: EMPLOYMENT_STATUS_ID.Student,\r\n [EMPLOYMENT_STATUS_NAME.Unemployed]: EMPLOYMENT_STATUS_ID.Unemployed,\r\n}\r\n\r\nexport const EMPLOYMENT_STATUS = [\r\n { id: EMPLOYMENT_STATUS_ID.Employed, name: EMPLOYMENT_STATUS_NAME.Employed },\r\n { id: EMPLOYMENT_STATUS_ID.SelfEmployed, name: EMPLOYMENT_STATUS_NAME.SelfEmployed },\r\n { id: EMPLOYMENT_STATUS_ID.Retired, name: EMPLOYMENT_STATUS_NAME.Retired },\r\n { id: EMPLOYMENT_STATUS_ID.Homemaker, name: EMPLOYMENT_STATUS_NAME.Homemaker },\r\n { id: EMPLOYMENT_STATUS_ID.Student, name: EMPLOYMENT_STATUS_NAME.Student },\r\n { id: EMPLOYMENT_STATUS_ID.Unemployed, name: EMPLOYMENT_STATUS_NAME.Unemployed }\r\n]","export enum MARITAL_STATUS_ID {\r\n Single = 'single',\r\n Married = 'married',\r\n Divorced = 'divorced',\r\n Widower = 'widower'\r\n}\r\n\r\nexport enum MARITAL_STATUS_NAME {\r\n Single = 'Single',\r\n Married = 'Married',\r\n Divorced = 'Divorced',\r\n Widower = 'Widower'\r\n}\r\n\r\nexport const MARITAL_TO_NAME = {\r\n [MARITAL_STATUS_ID.Single]: MARITAL_STATUS_NAME.Single,\r\n [MARITAL_STATUS_ID.Married]: MARITAL_STATUS_NAME.Married,\r\n [MARITAL_STATUS_ID.Divorced]: MARITAL_STATUS_NAME.Divorced,\r\n [MARITAL_STATUS_ID.Widower]: MARITAL_STATUS_NAME.Widower\r\n}\r\n\r\nexport const MARITAL_TO_ID = {\r\n [MARITAL_STATUS_NAME.Single]: MARITAL_STATUS_ID.Single,\r\n [MARITAL_STATUS_NAME.Married]: MARITAL_STATUS_ID.Married,\r\n [MARITAL_STATUS_NAME.Divorced]: MARITAL_STATUS_ID.Divorced,\r\n [MARITAL_STATUS_NAME.Widower]: MARITAL_STATUS_ID.Widower\r\n}\r\n\r\nexport const MARITAL_STATUS = [\r\n { id: MARITAL_STATUS_ID.Single, name: MARITAL_STATUS_NAME.Single },\r\n { id: MARITAL_STATUS_ID.Married, name: MARITAL_STATUS_NAME.Married },\r\n { id: MARITAL_STATUS_ID.Divorced, name: MARITAL_STATUS_NAME.Divorced },\r\n { id: MARITAL_STATUS_ID.Widower, name: MARITAL_STATUS_NAME.Widower }\r\n]","export enum OCCUPATION_NAME {\r\n None = 'none'\r\n}","export enum VESTING_TYPE_ID {\r\n None = 0,\r\n Individual = 1,\r\n Joint = 2,\r\n Trust = 3,\r\n UTMA = 4,\r\n Teen = 5,\r\n LLC = 6,\r\n Corporation = 7,\r\n SoleProprietorship = 8,\r\n GeneralPartnership = 9,\r\n LLP = 10\r\n}\r\n\r\nexport enum VESTING_TYPE_NAME {\r\n None = 0,\r\n Individual = 'individual',\r\n Joint = 'joint',\r\n Trust = 'trust',\r\n UTMA = 'UTMA',\r\n Teen = 'Teen',\r\n LLC = 'LLC',\r\n Corporation = 'Corporation',\r\n SoleProprietorship = 'Sole Proprietorship',\r\n GeneralPartnership = 'General Partnership',\r\n LLP = 'LLP'\r\n}","// Generic Catalogs\r\nexport * from './country.model';\r\nexport * from './state.model';\r\nexport * from './annual-sales.model';\r\n\r\n// Organized Models\r\nexport * from './auth';\r\nexport * from './products';\r\nexport * from './rules';\r\nexport * from './brand';\r\nexport * from './disclosures';\r\n// TODO: Remove navigation\r\nexport * from './navigation';\r\nexport * from './trading';\r\nexport * from './organization';\r\n\r\n//\r\nexport * from './mitek.model';\r\nexport * from './promo-code.model';\r\nexport * from './banner.model';\r\nexport * from './applicant-identification.model';\r\nexport * from './applicant-type.model';\r\nexport * from './applicant.model';\r\nexport * from './application.model';\r\nexport * from './document.model';\r\nexport * from './file-group-item.model';\r\nexport * from './identification-info.model';\r\nexport * from './account.model';\r\nexport * from './address.model';\r\nexport * from './recommended.model';\r\nexport * from './zip-code.model';\r\nexport * from './phone-number.model';\r\nexport * from './applicant-request.model';\r\nexport * from './user-prospect.model';\r\nexport * from './personal-information-response.model';\r\nexport * from './generic.model';\r\nexport * from './action-log-request.model';\r\nexport * from './trust-certificate.model';\r\nexport * from './manage-portfolio.model';\r\nexport * from './risk-question.model';\r\nexport * from './portfolio-risk-answer.model';\r\n// TODO: Review and Refactor if needed\r\nexport * from './current-applicant.model';\r\nexport * from './applicant-navigation.model';\r\nexport * from './app-progress-state.model';\r\nexport * from './device-profile.model';\r\nexport * from './trust-types.model';\r\nexport * from './feature-flag.model';","import { InjectionToken } from \"@angular/core\";\r\n\r\nexport let BASE_HREF = new InjectionToken('BASE_HREF');","export * from './module-route-config.model';\r\nexport * from './navigation-item.model';\r\nexport * from './module-flow.model';\r\nexport * from './base-href.model';\r\n","declare var environment: any\r\n\r\nimport { Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\n// RxJs\r\nimport { Observable, throwError } from 'rxjs';\r\n// Token\r\nimport { API_SUB_ROUTE, API_URL } from 'app/core/constants';\r\nimport { CacheService } from 'app/core/services/abstracts/cache.service';\r\nimport { LoadingService } from 'app/core/services/loading.service';\r\nimport { catchError, finalize, switchMap, tap } from 'rxjs/operators';\r\n// Core Utils\r\nimport { CREATE_UUID } from 'app/core/utils';\r\n\r\nexport abstract class BaseService extends CacheService {\r\n apiUrlSub: string = API_SUB_ROUTE.DEFAULT_SUB;\r\n constructor(\r\n @Inject(HttpClient) protected http: HttpClient,\r\n @Inject(LoadingService) private loadingService: LoadingService,\r\n @Inject(API_URL) protected baseUrl: string\r\n ) {\r\n super();\r\n if(environment.isProxy){this.apiUrlSub = this.apiUrlSub + API_SUB_ROUTE.PROXY_SUB}\r\n }\r\n\r\n protected cleanValue(value: string): string {\r\n return value ? value.replace(/-|\\)|\\(/g, '') : null;\r\n }\r\n\r\n protected _get(\r\n url: string,\r\n params?: HttpParams | { [param: string]: string | string[] },\r\n loadingListener = true,\r\n headers?: HttpHeaders | {\r\n [header: string]: string | string[];\r\n }\r\n ): Observable {\r\n const request = this.http.get(`${this.baseUrl}${this.buildRoute(url)}`, { params, headers });\r\n return loadingListener ? this.loadingListener(request) : request;\r\n }\r\n\r\n protected _getStringResponse(\r\n url: string,\r\n params?: HttpParams | { [param: string]: string | string[] },\r\n loadingListener = true\r\n ): Observable {\r\n const request = this.http.get(`${this.baseUrl}${this.buildRoute(url)}`, { params: params, responseType: 'text' as 'json' });\r\n return loadingListener ? this.loadingListener(request) : request;\r\n }\r\n\r\n protected _post(url: string, data?: any, loadingListener = true): Observable {\r\n const request = this.http.post(`${this.baseUrl}${this.buildRoute(url)}`, data);\r\n request.pipe(\r\n tap(resp => console.log(request, resp)));\r\n return loadingListener ? this.loadingListener(request) : request;\r\n }\r\n\r\n protected _postAndGetStringResponse(url: string, data: any, loadingListener = true): Observable {\r\n const request = this.http.post(`${this.baseUrl}${this.buildRoute(url)}`, data, {responseType: 'text' as 'json'});\r\n return loadingListener ? this.loadingListener(request) : request;\r\n }\r\n\r\n protected _put(url: string, data: any, loadingListener = true): Observable {\r\n const request = this.http.put(`${this.baseUrl}${this.buildRoute(url)}`, data);\r\n return loadingListener ? this.loadingListener(request) : request;\r\n }\r\n\r\n private loadingListener(request: Observable): Observable {\r\n const request_UUID = CREATE_UUID();\r\n this.loadingService.requestStart(request_UUID);\r\n return request.pipe(\r\n finalize(() => this.loadingService.requestStop(request_UUID)),\r\n catchError(err => {\r\n this.loadingService.requestStop(request_UUID);\r\n return throwError(err);\r\n }),\r\n );\r\n }\r\n\r\n protected _postWithParams(url: string, params: any, data?: any, loadingListener = true): Observable {\r\n const request = this.http.post(`${this.baseUrl}${this.buildRoute(url)}`, data, { params });\r\n request.pipe(\r\n tap(resp => console.log(request, resp)));\r\n return loadingListener ? this.loadingListener(request) : request;\r\n }\r\n\r\n public buildRoute(url): string{\r\n if(url.includes(API_SUB_ROUTE.GENERIC_SUB)){\r\n url = url.replace(API_SUB_ROUTE.GENERIC_SUB, '');\r\n return `${this.apiUrlSub}${url}`.replace(API_SUB_ROUTE.PROXY_SUB, '');\r\n }\r\n\r\n return `${this.apiUrlSub}/${url}`;\r\n }\r\n}\r\n","export * from './base.service';\r\n","import { Injectable } from '@angular/core';\r\n// Models\r\nimport { Address, RecommendedAddress } from 'models';\r\nimport { BaseService } from './abstracts';\r\nimport { of, Observable } from 'rxjs';\r\nimport { AxosResult } from 'models/enums/trading/axos-result.model';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class AddressService extends BaseService {\r\n updateApplicantAddress(applicantId: string, address: Address, skipHistory: boolean = false) {\r\n return this._postWithParams>(`applicantdetails/${applicantId}/address/`, {skipHistory}, address).pipe(map(res => res.data));\r\n //return of(address);\r\n }\r\n\r\n calculateMonthsAtAddress(homeAddressInfo: Address) {\r\n let monthsAtAddress = 0;\r\n\r\n const numberOfYearsAtAddress = homeAddressInfo.NumberOfYearsAtAddress;\r\n const numberOfMonthsAtAddress = homeAddressInfo.NumberOfMonthsAtAddress;\r\n\r\n if (numberOfYearsAtAddress != null && !isNaN(numberOfYearsAtAddress)) {\r\n monthsAtAddress = monthsAtAddress + (numberOfYearsAtAddress * 12);\r\n }\r\n\r\n if (numberOfMonthsAtAddress != null && !isNaN(numberOfMonthsAtAddress)) {\r\n monthsAtAddress = monthsAtAddress + numberOfMonthsAtAddress;\r\n }\r\n return monthsAtAddress;\r\n }\r\n\r\n getAddressInfoes(applicantId: string): Observable{\r\n return this._get>(`applicant/${applicantId}`).pipe(\r\n map((res) => res.data)\r\n );\r\n }\r\n\r\n getRecommendedAddress(address: RecommendedAddress) {\r\n return this._post(`generic/address/validate`, address)\r\n }\r\n\r\n private yearsAtAddress(months) { return Math.floor(months / 12); }\r\n private monthsAtAddress(months) { return months % 12; }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n// RxJs\r\nimport { of } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\n//\r\nimport { BaseService } from './abstracts';\r\n\r\n@Injectable()\r\nexport class AdvisorService extends BaseService {\r\n verifyAdvisorId(AdvisorId: string) {\r\n return super._get(`Advisors/${AdvisorId}`).pipe(\r\n map((res: any) => res.Data.PreferredName),\r\n catchError(() => of(null))\r\n );\r\n }\r\n}\r\n","declare var environment: any;\r\n\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n// Core\r\nimport { API_URL, PLATFORM_CONFIG_TOKEN } from 'app/core/constants';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { map, filter } from 'rxjs/operators';\r\nimport { Organization } from 'models';\r\nimport { EnrollmentState, GetOrganizationSuccessAction } from 'store';\r\nimport { Store } from '@ngrx/store';\r\nimport { APPLICATION_TYPE_NAME } from 'models/enums/application-type.enum';\r\n\r\n@Injectable()\r\nexport class AppSettingsService {\r\n private _organization = new BehaviorSubject(null);\r\n private readonly ORGANIZATION_SETTINGS$: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private store: Store,\r\n @Inject(API_URL) private baseUrl: string,\r\n @Inject(PLATFORM_CONFIG_TOKEN) public orgInj: any\r\n ) {\r\n this.ORGANIZATION_SETTINGS$.next(orgInj);\r\n }\r\n\r\n organization = () => {\r\n return this._organization.pipe(\r\n filter(organization => !!organization),\r\n map(organization => organization)\r\n );\r\n };\r\n\r\n settings = () => {\r\n return this._organization.pipe(\r\n filter(organization => !!organization),\r\n map(organization => organization.settings)\r\n );\r\n };\r\n\r\n getSettings() {\r\n this._organization.next(this.orgInj);\r\n return this.ORGANIZATION_SETTINGS$.asObservable().pipe(\r\n filter((payload) => !!payload),\r\n );\r\n }\r\n\r\n getFooter() {\r\n return this._organization.pipe(\r\n filter(organization => !!organization),\r\n map(settings => {\r\n const wlSettings = settings.settings;\r\n const footer = wlSettings.find(x => x.name === 'footer');\r\n return footer? footer.value : null;\r\n })\r\n );\r\n }\r\n\r\n isWHiteLabel(){\r\n return environment.applicationTypeName === APPLICATION_TYPE_NAME.whitelabelTrading \r\n || environment.applicationTypeName === APPLICATION_TYPE_NAME.whitelabelTradingIRA;\r\n }\r\n\r\n isProxy(){\r\n return environment.applicationTypeName === APPLICATION_TYPE_NAME.proxyTrading;\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n// RxJs\r\nimport { map } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\n// Core\r\nimport { LoadingService } from 'app/core/services';\r\nimport { API_URL } from 'app/core/constants';\r\n// Services\r\nimport { BaseService } from './abstracts';\r\n// Models\r\nimport {\r\n Applicant,\r\n PersonalInformationResponse,\r\n ApplicantRequest,\r\n PhoneNumber,\r\n IApplication,\r\n IApplicantRequest,\r\n IdentificationInfo,\r\n PersonalInformationTrading,\r\n IAuthToken,\r\n BeneficiariesInformation,\r\n TrustCertificate\r\n} from 'models';\r\nimport {\r\n APPLICATION_STATE,\r\n PHONE_TYPE\r\n} from 'models/enums';\r\n\r\nimport { ID_VERIFICATION_METHOD } from 'app/applicant-identification/enums';\r\nimport { APPLICANT_IDENTIFICATION_STORAGE_NAME } from 'app/applicant-identification/models';\r\nimport { PersonAbout } from 'models/trading/person-about.model';\r\nimport { Person, AdditionalPerson } from 'models/trading/person.model';\r\nimport { AxosResult } from 'models/enums/trading';\r\n\r\n@Injectable()\r\nexport class ApplicantInformationService extends BaseService {\r\n // api/consumer/personal/pip\r\n\r\n // TODO: remove everything related to store\r\n constructor(http: HttpClient, loadingService: LoadingService, @Inject(API_URL) baseUrl: string) {\r\n super(http, loadingService, baseUrl);\r\n }\r\n\r\n // #region New HTTP end-points\r\n getApplicant(applicantId: string) {\r\n return this._get>(`applicant/${applicantId}`)\r\n .pipe(\r\n map(result => Object.assign(new Applicant(), result.data))\r\n )\r\n }\r\n\r\n getAllApplicants(applicationId: string) {\r\n return this._get>(`applicant/application/${applicationId}`)\r\n .pipe(\r\n map(result => result.data)\r\n );\r\n }\r\n\r\n getApplicantExisting(applicantId: string) {\r\n return this._get>(`user/${applicantId}/existing`).pipe(map(result => result.data))\r\n }\r\n\r\n // updateApplicant(applicant: IApplicantRequest){\r\n // return this._post('consumer/personal/applicant',\r\n // {\r\n // ...applicant,\r\n // SSN: this.cleanData(applicant.SSN)\r\n // });\r\n // }\r\n\r\n updateApplicantIdentification(applicantId: string, identification: IdentificationInfo){\r\n return this._post(`consumer/personal/pip/${applicantId}/identification`, identification);\r\n }\r\n\r\n updateApplicantPhone(applicantId: string, phone: PhoneNumber) {\r\n phone = {\r\n ...phone,\r\n number: this.cleanValue(phone.number)\r\n }\r\n return this._post(`applicantDetails/${applicantId}/phone`, phone);\r\n }\r\n\r\n // #endregion\r\n //Universal Enrollment\r\n\r\n // saveApplicantPIUniversal(applicantId: number, personalInformationUniversal: PersonalInformationTrading){\r\n // return this._post(`consumer/personal/pip/${applicantId}/universal`, personalInformationUniversal)\r\n // }\r\n\r\n saveApplicantPIUniversal(person: Person, applicationId: string, applicantId: string, skipHistory: boolean = false){\r\n return this._postWithParams(`application/${applicationId}/applicant/${applicantId}/about`, {skipHistory}, person);\r\n }\r\n\r\n saveBasicInformation(applicantId: string, person: Person) {\r\n return this._post(`person/${applicantId}/basic`, person);\r\n }\r\n\r\n updateTaxpayerId(applicantId: string, taxPayerId: string) {\r\n return this._post(`generic/applicant/${applicantId}/taxPayerId/${taxPayerId.replace(/-/g, \"\")}`);\r\n }\r\n\r\n updateProxyTaxpayerId(applicationId: string, applicantId: string, taxPayerId: string) {\r\n return this._post(`generic/applicant/${applicationId}/${applicantId}/taxPayerId/${taxPayerId.replace(/-/g, \"\")}`);\r\n }\r\n\r\n saveAdditionalOwner(applicationId: string, applicantId: string, additionalPerson: AdditionalPerson, skipHistory: boolean = false) {\r\n return this._postWithParams(`application/${applicationId}/applicant/${applicantId}/saveadditional`, {skipHistory}, additionalPerson)\r\n .pipe(map((res) =>res));\r\n }\r\n\r\n // #endregion\r\n\r\n public getApplicantIdentificationMethod(applicantId: number): ID_VERIFICATION_METHOD {\r\n const allApplicantIdSessions: any = this.getCached(APPLICANT_IDENTIFICATION_STORAGE_NAME),\r\n applicantIdSession: any = allApplicantIdSessions.find(id => id.ApplicantId === applicantId);\r\n\r\n let verificationMethod: ID_VERIFICATION_METHOD = ID_VERIFICATION_METHOD.Manual;\r\n if (applicantIdSession) {\r\n verificationMethod = (applicantIdSession.VerificationMethod) ? applicantIdSession.VerificationMethod : ID_VERIFICATION_METHOD.Manual;\r\n }\r\n return verificationMethod;\r\n }\r\n\r\n private ToModel(application: any, applicants: Applicant[], newApplicationState: APPLICATION_STATE) {\r\n if(!application.Beneficiaries) {\r\n application.Beneficiaries = [];\r\n }\r\n const beneficiariesModel = application.Beneficiaries.map(beneficiary => {\r\n return {\r\n Ordinal: beneficiary.Ordinal,\r\n ApplicationId: beneficiary.ApplicantId,\r\n FirstName: beneficiary.FirstName,\r\n MiddleName: beneficiary.MiddleName,\r\n LastName: beneficiary.LastName,\r\n DOB: beneficiary.DOB,\r\n RelationshipId: beneficiary.RelationshipId,\r\n RelationshipName: beneficiary.RelationshipName,\r\n RelationshipOther: beneficiary.RelationshipOther,\r\n };\r\n });\r\n\r\n const applicantsModel: ApplicantRequest[] = applicants.map(applicant => {\r\n const ApplicantId = applicant.ApplicantId;\r\n const applicantPhoneNumbers: PhoneNumber[] = [\r\n {\r\n ApplicantId,\r\n PhoneTypeId: PHONE_TYPE.Business,\r\n PhoneNumber: this.cleanData(applicant.BusinessPhone),\r\n PhoneExtension: this.cleanData(applicant.BusinessPhoneExtension)\r\n },\r\n { PhoneTypeId: PHONE_TYPE.Home, ApplicantId, PhoneNumber: this.cleanData(applicant.HomePhone) },\r\n { PhoneTypeId: PHONE_TYPE.Cell, ApplicantId, PhoneNumber: this.cleanData(applicant.CellPhone) },\r\n ];\r\n\r\n return {\r\n ApplicantId: applicant.ApplicantId,\r\n ApplicationId: applicant.ApplicationId,\r\n ApplicantTypeId: applicant.ApplicantType.ApplicantTypeId,\r\n FirstName: applicant.FirstName,\r\n MiddleName: applicant.MiddleName,\r\n LastName: applicant.LastName,\r\n EmailPrimary: applicant.EmailPrimary,\r\n EmailSecondary: applicant.EmailSecondary,\r\n SuffixId: applicant.SuffixId,\r\n DOB: applicant.DOB,\r\n SSN: this.cleanData(applicant.SSN),\r\n ConfirmSSN: this.cleanData(applicant.ConfirmSSN),\r\n CitizenshipTypeId: applicant.CitizenshipTypeId,\r\n ContactMethodId: applicant.ContactMethodId,\r\n ApplicantPhoneNumbers: applicantPhoneNumbers,\r\n IdentificationTypeId: applicant.IdentificationInfo.IdentificationTypeId,\r\n DLNum: (applicant.IdentificationInfo.DLNum || '').replace(/[^0-9A-Za-z*]/g, ''),\r\n DLState: applicant.IdentificationInfo.DLState,\r\n DLIssued: applicant.IdentificationInfo.DLIssued,\r\n DLExpire: applicant.IdentificationInfo.DLExpire,\r\n IdentificationAddressId: null,\r\n EmploymentTypeId: applicant.EmploymentTypeId,\r\n MaidenName: applicant.MaidenName,\r\n PIN: applicant.PIN,\r\n SecretWordHint: applicant.SecretWordHint,\r\n EmployerName: applicant.EmployerName,\r\n Occupation: applicant.Occupation,\r\n TrustName: applicant.TrustName,\r\n Description: applicant.Description,\r\n TaxpayerIDType: applicant.TaxpayerIDType,\r\n MinSales: applicant.MinSales,\r\n MaxSales: applicant.MaxSales,\r\n OwnershipPercentage: applicant.OwnershipPercentage,\r\n IncorporationState: applicant.IncorporationState,\r\n Website: applicant.Website,\r\n };\r\n });\r\n\r\n\r\n const model = {\r\n Application: {\r\n ApplicationId: application.ApplicationId,\r\n ReferralSourceId: application.ReferralSourceId,\r\n ReferredBy: application.ReferredBy,\r\n PromoCode: application.PromoCode,\r\n UserProfileId: application.UserProfileId,\r\n IdentityUserId: application.IdentityUserId,\r\n Beneficiaries: beneficiariesModel,\r\n Accounts: application.Accounts\r\n },\r\n Applicants: applicantsModel,\r\n NewApplicationState: newApplicationState,\r\n // SkipValidation: (application.Action || enums.actionTypes.save) === enums.actionTypes.save ? false : true\r\n SkipValidation: true\r\n };\r\n return model;\r\n }\r\n\r\n private cleanData(value: string): string {\r\n return value ? value.replace(/-|\\)|\\(/g, '') : null;\r\n }\r\n\r\n // #region HTTPp\r\n get(applicationId: number) {\r\n return this._get(`v2/pip/${applicationId}`).pipe(\r\n map(data => {\r\n return {\r\n ...data,\r\n Applicants: data.Applicants.map(applicant => {\r\n if (!applicant.Description) { applicant.Description = ''; }\r\n const names = applicant.FirstName ? applicant.FirstName.split(/ |,/) : [];\r\n if (names.length > 1 && !applicant.MiddleName) {\r\n applicant.FirstName = names[0];\r\n applicant.MiddleName = names[names.length - 1][0];\r\n }\r\n return applicant;\r\n })\r\n };\r\n })\r\n );\r\n }\r\n\r\n // TODO: Posible risk since js don't have applicants (Review and Submit and PIP pages)\r\n update(application: IApplication, applicants: Applicant[], newApplicationState: APPLICATION_STATE) {\r\n const model = this.ToModel(application, applicants, newApplicationState);\r\n return this._put('v2/pip', model);\r\n }\r\n\r\n canApplicantChangeSecurityWord(applicantId) {\r\n return this._get(`Applicant/${applicantId}/SecurityWordChanged`);\r\n }\r\n\r\n canApplicantChangeMaidenName(applicationId) {\r\n return this._get(`Applicant/${applicationId}/MaidenNameChanged`);\r\n }\r\n // #endregion\r\n}\r\n","declare var environment: any;\r\n// Ng\r\nimport { Inject, Injectable } from '@angular/core';\r\n// Models\r\nimport { Account, IApplication, IApplicationRequest, IUser, ProductVestingType, Beneficiary, TrustCertificate, TrustTypes } from 'models';\r\nimport { APPLICATION_STATE, BENEFICIARY_TYPE } from 'models/enums';\r\n// RxJs\r\nimport { Observable, of } from 'rxjs';\r\n// Services\r\nimport { BaseService } from './abstracts';\r\nimport { map, switchMap } from 'rxjs/operators';\r\nimport { AxosResult } from 'models/enums/trading/axos-result.model';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { API_URL } from 'app/core/constants';\r\nimport { LoadingService } from 'app/core/services';\r\nimport { Store } from '@ngrx/store';\r\nimport { ClearApplicantsStateAction, ClearApplicationStateAction, ClearDisclosuresState, ClearProductState, clearProxyState, clearTradingState, clearWhiteLabelState, EnrollmentState } from 'store';\r\nimport { getApplicationId } from 'store/selectors';\r\nimport { clearWorkflowState } from 'store/workflows/workflow.store';\r\nimport { CLEAR_CACHE } from 'app/core/utils';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\n@Injectable()\r\nexport class ApplicationService extends BaseService {\r\n // postTerms() this method has been move to disclosures service\r\n // confirmDisclosures() this method has been move to disclosures service\r\n\r\n isTrad = environment.applicationTypeName === 'trading';\r\n\r\n constructor(\r\n http: HttpClient,\r\n loadingService: LoadingService,\r\n @Inject(API_URL) baseUrl: string,\r\n private store$: Store,\r\n private cookieService: CookieService\r\n ) {\r\n super(http, loadingService, baseUrl);\r\n }\r\n\r\n createApplication(request: IApplicationRequest) {\r\n return this._post>('generic/application/existing', request).pipe(map(x => x.data));\r\n }\r\n\r\n getApplication(applicationId: string): Observable {\r\n return this._get>(`application/${applicationId}`).pipe(map(x => x.data));\r\n }\r\n\r\n getApplicationByToken(createNew?: boolean, productCodes?: string[], sso?: boolean, applicationTypeName?: string, utmCodes?: any[]) {\r\n applicationTypeName = applicationTypeName || environment.applicationTypeName;\r\n let route = `generic/application/?bootstrap=${createNew}&applicationTypeName=${applicationTypeName}&productCodes=${productCodes}&organizationId=${environment.organizationId}&organization=${environment.organizationName}`;\r\n\r\n if (sso) {\r\n route = `${route}&sso=true`;\r\n }\r\n if (utmCodes && utmCodes.length > 0)\r\n {\r\n const codes = utmCodes.map(x => `${x.code}=${x.value}`);\r\n route += `&utmCodes=${codes.join(',')}`;\r\n }\r\n\r\n return this._get>(route).pipe(map(x => x.data));\r\n }\r\n\r\n updatePromoCode(PromoCode: string) {\r\n return this._post(`consumer/application/promoCode`, { PromoCode });\r\n }\r\n\r\n getConfirmationNumber(applicationId: string): Observable {\r\n return this._get>(`generic/application/${applicationId}/confirmation`).pipe(map(res => res.data));\r\n }\r\n\r\n getApplicationState() {\r\n return this._get('consumer/application/State');\r\n }\r\n\r\n getAccounts(applicationId?: string) {\r\n let headers = applicationId ? {'x-ax-applicationId' : applicationId} : null;\r\n return this._get>('accounts', null, true, headers)\r\n .pipe(map(({ data }) => data));\r\n }\r\n\r\n getUserApplicationData() {\r\n return this._get('Applications');\r\n }\r\n\r\n get(applicationId: string): Observable {\r\n return this._get(`v2/Application/${applicationId}`);\r\n }\r\n\r\n getApplicationAndDocumentsRequest(applicationId: string) {\r\n return this._get(`v2/Applications/${applicationId}`);\r\n }\r\n\r\n getApprovedApplication(applicationId: string) {\r\n return this._get(`v2/ApprovedApplication/${applicationId}`);\r\n }\r\n\r\n getCurrentApplicationState(): Observable {\r\n return this._get('v2/Application/State');\r\n }\r\n\r\n getAllByUsername(username: string) {\r\n return this._get(`v2/Application/Proxy/${username}`);\r\n }\r\n\r\n getExperianApplicants(applicationId: string) {\r\n return this._get(`v2/applications/getExperianApplicants/${applicationId}`);\r\n }\r\n\r\n getApplicantsMitekDocuments(applicationId: string) {\r\n return this._get(`v2/applicantMitekDocuments/${applicationId}`);\r\n }\r\n\r\n failedApplication(email: string) {\r\n return this._get('Application/IsApplicationDeclined', { email });\r\n }\r\n\r\n failedApplicationByUsername(userName: string) {\r\n return this._get('Application/IsApplicationDeclinedByUsername', { userName });\r\n }\r\n\r\n create(userProfile: any) {\r\n return this._post('v2/Application', userProfile);\r\n }\r\n\r\n setState(stateId: APPLICATION_STATE) {\r\n return of(true);\r\n // return this._post(`consumer/application/State`, stateId);\r\n }\r\n\r\n resetApplication(applicationId: string) {\r\n return this._post(`Applications/UpdateResetApplication/${applicationId}`);\r\n }\r\n\r\n // board(applicationId: string, rulesResult: any): Observable {\r\n // rulesResult.ApplicationId = applicationId;\r\n // return this._post('v2/Applications/Board', rulesResult);\r\n // }\r\n\r\n board(connectionId?: string): Observable {\r\n return this._post>('application/board', { connectionId }).pipe(\r\n map(res => {\r\n return res.data;\r\n })\r\n )\r\n }\r\n\r\n routeToCorrectUrl(applicationId: string, currentRoute: any, isRetry = false) {\r\n //Fix proxy issue\r\n if (currentRoute.url) {\r\n currentRoute = currentRoute.url;\r\n }\r\n const payload = {\r\n CurrentRoute: currentRoute,\r\n ApplicationId: applicationId\r\n };\r\n return this._post(`Applications/CorrectStateRoute/${isRetry}`, payload);\r\n }\r\n\r\n routeToApplicationState(userName: boolean, isRetry = false) {\r\n const payload = { userName };\r\n return this._post(`Applications/StateRoute/${isRetry}`, payload);\r\n }\r\n\r\n updateApplicationStatusAndState(\r\n ApplicationId: string,\r\n ApplicationStatusId: string,\r\n ApplicationStateId: number,\r\n ApplicationDecisionReasonId: string,\r\n ApplicationDecisionStatusId: string = '') {\r\n return this._put(`Applications/UpdateApplicationStatusAndState`, {\r\n ApplicationId,\r\n ApplicationStatusId,\r\n ApplicationStateId,\r\n ApplicationDecisionStatusId,\r\n ApplicationDecisionReasonId\r\n });\r\n }\r\n\r\n cancelApplication(applicationId: string) {\r\n return this._put(`v2/Applications/CancelByCustomer/${applicationId}`, {});\r\n }\r\n\r\n createApplicationForAnExistingUser(brandId: number) {\r\n return this._post(`v2/Customer/Existing/Add/${brandId}`);\r\n }\r\n\r\n checkInFlight(brandId: number) {\r\n return this._get(`Applications/InflightApplication/${brandId}`);\r\n }\r\n\r\n cancelInflight(brandId: number) {\r\n return this._put('v2/Applications/CancelInflight', brandId);\r\n }\r\n\r\n cancelCreateNew(\r\n applicationId: string,\r\n productVestingType: ProductVestingType\r\n ) {\r\n return this._post(\r\n `v2/Customer/CancelExisting/${applicationId}/createNew`,\r\n productVestingType\r\n );\r\n }\r\n\r\n saveBeneficiaries(beneficiariesInformation: Beneficiary[], beneficiarieType: BENEFICIARY_TYPE, stepsToSkip?: any, skipHistory?: boolean) {\r\n let beneficiaryType = beneficiarieType === BENEFICIARY_TYPE.Contingent ? `contingents` : `beneficiaries`;\r\n if (environment.isProxy) {\r\n return this.store$.select(getApplicationId).pipe(\r\n switchMap(applicationId => {\r\n let route = `${beneficiaryType}/application/${applicationId}`;\r\n if (skipHistory){\r\n route = `${beneficiaryType}/application/${applicationId}?skipHistory=${skipHistory}`;\r\n } else {\r\n if (stepsToSkip != null) {\r\n route = `${beneficiaryType}/application/${applicationId}?stepsToSkip=${stepsToSkip}`;\r\n }\r\n }\r\n return this._post>(route, beneficiariesInformation).pipe(\r\n map((res) => res.data)\r\n );\r\n })\r\n );\r\n }\r\n else {\r\n let route = `${beneficiaryType}`;\r\n if(skipHistory){\r\n route = `${beneficiaryType}?skipHistory=${skipHistory}`\r\n }else{\r\n if (stepsToSkip != null){\r\n route = `${beneficiaryType}?stepsToSkip=${stepsToSkip}`;\r\n } \r\n }\r\n return this._post>(route, beneficiariesInformation).pipe(map((res) => res.data));\r\n }\r\n }\r\n\r\n getBeneficiaries(typeName: string): Observable {\r\n if (environment.isProxy) {\r\n return this.store$.select(getApplicationId).pipe(\r\n switchMap(applicationId => {\r\n return this._get>(`beneficiaries/application/${applicationId}?beneficiaryTypeName=${typeName}`).pipe(map(res => {\r\n return res.data;\r\n }));\r\n })\r\n );\r\n }\r\n else {\r\n return this._get>(`beneficiaries?beneficiaryTypeName=${typeName}`).pipe(map(res => {\r\n return res.data;\r\n }))\r\n }\r\n }\r\n\r\n declinedBeneficiariesSelection(beneficiarieType: BENEFICIARY_TYPE, applicationId: string, applicantId: string, declinedBeneficiaries: boolean, isProxy: boolean){\r\n let type = beneficiarieType === BENEFICIARY_TYPE.Contingent ? `contingents` : `beneficiaries`;\r\n let route = `${type}/disclosure`;\r\n if(isProxy){\r\n route = `${route}/application/${applicationId}?beneficiaryDeclined=${declinedBeneficiaries}`\r\n }else{\r\n route = `${route}/${applicantId}?beneficiaryDeclined=${declinedBeneficiaries}`;\r\n }\r\n return this._post(route).pipe(\r\n map(response => response.success)\r\n )\r\n } \r\n\r\n saveTrustCertificate(applicationId: string, trustCertificate: TrustCertificate, skipHistory: boolean = false) {\r\n return this._postWithParams(`application/${applicationId}/trustcertificate`, { skipHistory }, trustCertificate);\r\n }\r\n\r\n getTrustCertificate(applicationId: string): Observable {\r\n return this._get>(`application/${applicationId}/trustcertificate`).pipe(map(res => {\r\n return res.data;\r\n }))\r\n }\r\n\r\n getTrustTypes(){\r\n return this._get>('generic/trustcertificate/trusttypes').pipe(map(response => {\r\n return response;\r\n }))\r\n }\r\n\r\n clearCache(){\r\n if(!environment.isProxy){\r\n this.cookieService.delete('XSRF-TOKEN');\r\n }\r\n\r\n CLEAR_CACHE();\r\n this.store$.dispatch(new ClearApplicantsStateAction());\r\n this.store$.dispatch(new ClearApplicationStateAction());\r\n this.store$.dispatch(new ClearDisclosuresState());\r\n this.store$.dispatch(clearTradingState());\r\n this.store$.dispatch(clearProxyState());\r\n this.store$.dispatch(clearWhiteLabelState());\r\n this.store$.dispatch(clearWorkflowState());\r\n }\r\n\r\n //TODO create cancel service\r\n\r\n //TODO create \"create application for existing user\"\r\n\r\n /*\r\n function cancelByUser(applicationId) {\r\n return apiRestangular\r\n .all('Applications')\r\n .one('Cancel', applicationId)\r\n .one('', 1)\r\n .post('');\r\n }\r\n\r\n function cancelByUserOnMitekPage(applicationId) {\r\n return apiRestangular\r\n .one('v2/Applications/CancelByCustomer', applicationId)\r\n .customPUT({});\r\n }\r\n\r\n function cancel(applicationId) {\r\n return apiRestangular\r\n .one('v2/Applications/Cancel', applicationId)\r\n .customPUT(undefined, undefined, undefined, {});\r\n }\r\n\r\n function addComments(applicationId, comment) {\r\n return apiRestangular\r\n .all('v2/Applications')\r\n .one('Comments', applicationId)\r\n .post('', { comment: comment });\r\n }\r\n */\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from './abstracts/base.service';\r\nimport { AuditLogRequest } from 'models';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuditLogService extends BaseService {\r\n\r\n logAction(message: string, applicationApplicantType: string, eventContextTypeId: number) {\r\n const request: AuditLogRequest = {\r\n eventContextTypeId,\r\n message,\r\n applicationApplicantType,\r\n level: 1\r\n };\r\n return this._post('auditLog/action', request);\r\n }\r\n}\r\n","// Environment\r\ndeclare var environment: any;\r\n// Ng\r\nimport { Injectable } from \"@angular/core\";\r\n// Vendor\r\nimport { addSeconds } from \"date-fns\";\r\nimport { IUser, IUserLead, IAuthToken, IOtpChallengeInfo, ISignInData, IValidateOtpData, IChallengeOtpData, IOtpNoUser, IValidateOtpNoRequest, IValidateOtpRequest, IUserLeadResponse } from \"models\";\r\nimport { Observable } from \"rxjs/internal/Observable\";\r\n// RxJs\r\nimport { map, tap } from \"rxjs/operators\";\r\n// Services\r\nimport { BaseService } from \"services/abstracts\";\r\nimport { AxosResult } from 'models/enums/trading/axos-result.model';\r\n\r\n\r\n@Injectable()\r\nexport class AuthService extends BaseService {\r\n\r\n //#region Ajax Calls\r\n getSSOErrorMessage() {\r\n return this._get(\"authentication/sso-error\");\r\n }\r\n\r\n validateExistingCustomer() {\r\n return this._get>(\r\n \"authentication/existingCustomer\",\r\n undefined,\r\n false\r\n );\r\n }\r\n\r\n signIn(data: ISignInData) {\r\n return this._post>(data.IsExisting ? 'Authentication/SignIn?isExisting=true' : \"Authentication/SignIn\", data)\r\n .pipe(map(token => {\r\n return this.setExpiresDate(token.data)\r\n })\r\n );\r\n }\r\n\r\n refreshToken(RefreshToken: string, sso = false) {\r\n return this._post>(\r\n \"authentication/refreshToken?sso=\" + sso,\r\n { RefreshToken },\r\n false\r\n ).pipe(map(token => this.setExpiresDate(token.data)));\r\n }\r\n\r\n refreshTokenByUrl(ssoToken: string) {\r\n return this._post>(\r\n `authentication/refreshToken?token=${ssoToken}&sso=true`,\r\n {},\r\n false\r\n ).pipe(map(token => this.setExpiresDate(token.data)));\r\n }\r\n\r\n proxyRefreshToken() {\r\n return this._post>(\r\n \"auth/refreshtoken\",\r\n null,\r\n false\r\n ).pipe(map(token => this.setExpiresDate(token.data)));\r\n }\r\n\r\n getUser() {\r\n return this._get>(\"User\")\r\n .pipe(map(response => response.data));\r\n }\r\n\r\n\r\n private setExpiresDate(token: IAuthToken) {\r\n const maximumExpirationInSeconds = 1800;\r\n token.expires_in =\r\n token.expires_in < maximumExpirationInSeconds\r\n ? token.expires_in\r\n : maximumExpirationInSeconds;\r\n if (!token.expires_date) {\r\n token.expires_date = addSeconds(new Date(), token.expires_in || 1799);\r\n }\r\n return token;\r\n }\r\n\r\n requestMultifactorOtp(request: IChallengeOtpData): Observable {\r\n return this._post>(`Authentication/GetOtp?organizationName=${environment.organizationName}`, request)\r\n .pipe(map(response => response.data));\r\n }\r\n\r\n evaluateOtpCode(request: IValidateOtpData) {\r\n return this._post>(\"Authentication/ValidateOtp\", request)\r\n .pipe(map(response => response.data));\r\n }\r\n\r\n evaluateNoUserOtp(request: IValidateOtpNoRequest){\r\n return this._post>(`Authentication/ValidateOtpNoUser`, request)\r\n .pipe(map(response => response.data))\r\n }\r\n\r\n getSecurityQuestions(resetPasswordToken) {\r\n const route = resetPasswordToken\r\n ? `Authentication/security/questions/${resetPasswordToken}`\r\n : \"Authentication/security/questions\";\r\n return this._get>(route)\r\n .pipe(map(response => response.data));\r\n }\r\n\r\n saveSecurityQuestions(questions, resetPasswordToken) {\r\n const route = resetPasswordToken\r\n ? `Authentication/security/questions/${resetPasswordToken}`\r\n : \"Authentication/security/questions\";\r\n return this._post>(route, questions)\r\n .pipe(map(response => response.data));\r\n }\r\n\r\n resetExistingCustomerTaskStates() {\r\n return this._post(\"TaskList/ResetTaskStates\");\r\n }\r\n\r\n createExistingCustomer(brandId, productVesting) {\r\n return this._post(\r\n `v2/Customer/Existing/Add/${brandId}`,\r\n productVesting\r\n );\r\n }\r\n getRandomSecurityQuestion(token) {\r\n return this._get>(`Authentication/security/questions/random/${token}`)\r\n .pipe(map(response => response.data));\r\n }\r\n\r\n verifySecurityQuestionAnswer(username, questions) {\r\n username = encodeURIComponent(username);\r\n return this._post(\r\n `Authentication/security/questions/answer?username=${username}`,\r\n questions)\r\n .pipe(map(response => response.data))\r\n }\r\n\r\n validateResetPasswordLink(idToken, usernameToken?) {\r\n let route = `User/ValidateResetPasswordLink/${idToken}`;\r\n if (usernameToken)\r\n route = `${route}/${usernameToken}`;\r\n return this._get>(route)\r\n .pipe(map(resp => resp.data));\r\n }\r\n\r\n changePassword(userAccount, idToken, usernameToken?) {\r\n let route = `User/ChangePassword/${idToken}`;\r\n if (usernameToken)\r\n route = `${route}/${usernameToken}`;\r\n route = `${route}?organizationName=${environment.organizationName}`;\r\n return this._post>(route, userAccount)\r\n .pipe(map(response => response.data));\r\n }\r\n\r\n checkGuidvalid(guid) {\r\n return this._get(`User/Verify/${guid}`);\r\n }\r\n\r\n // verifyExistingCustomer(taxPayerId: string) {\r\n // return this._get>(`user/verifyExistingCustomer?taxPayerId=${taxPayerId}`)\r\n // .pipe(map(response => response.data));\r\n // }\r\n\r\n verifyExistingCustomer(lead: IUserLead, guid?: string) {\r\n let route = `generic/user/verifyExistingCustomer`;\r\n if (guid)\r\n route = `${route}?token=${guid}`;\r\n return this._post>(route, lead)\r\n .pipe(map(response => response.data));\r\n }\r\n\r\n verifyLoginCreated(lead: IUserLead, guid?: string) {\r\n let route = `generic/user/verifyLoginCreated`;\r\n if (guid)\r\n route = `${route}?token=${guid}`;\r\n return this._post>(route, lead)\r\n .pipe(map(response => response.data));\r\n }\r\n\r\n registerLead(leadUser: IUserLead) {\r\n return this._post('generic/Lead', leadUser).pipe(\r\n map(({ data }) => data)\r\n );\r\n }\r\n\r\n updateLead(leadUser: IUserLead) {\r\n return this._post('generic/Lead/updateLead', leadUser).pipe(\r\n map(({ data }) => data)\r\n );\r\n }\r\n\r\n otpNoUser(otpNoUser: IOtpNoUser) {\r\n return this._post(`Authentication/getOtpNoUser`, otpNoUser).pipe(\r\n map((data) => data)\r\n )\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpParams } from '@angular/common/http';\r\n// Services\r\nimport { BaseService } from './abstracts';\r\n// Models\r\nimport { Brand, ChatSettings } from 'models';\r\nimport { BRAND_DISCLOSURES } from 'models/enums';\r\nimport { of } from 'rxjs/internal/observable/of';\r\nimport { ChatBotSettings } from 'models/brand/chatbot-settings.model';\r\n\r\n@Injectable()\r\nexport class BrandService extends BaseService {\r\n get(brandName: string) {\r\n return this._get(`generic/branch/${brandName}`);\r\n }\r\n\r\n getBrand(brandName: string) {\r\n return this._get(`generic/branch/${brandName}`);\r\n }\r\n\r\n validatePromoCode(brandId: string, promoCode: string){\r\n return this._get(`consumer/brand/${brandId}/PromoCode/${promoCode}/Valid`, null, false);\r\n }\r\n\r\n getUdbLoginUrl(brandName: string) {\r\n const params = new HttpParams().set('brandName', brandName);\r\n return this._get('UDBLoginUrl', params);\r\n }\r\n\r\n getEnrollmentUrl(brandId: number) {\r\n return this._get(`EnrollmentUrl/${brandId}`);\r\n }\r\n\r\n getUdbUrl() {\r\n return this._get('UDB');\r\n }\r\n\r\n getLiveChatSettings(brandId: string) {\r\n return this._get(`v2/Brand/liveAgentInfo/${brandId}`);\r\n }\r\n\r\n getChatBotSettings(brandId: number) {\r\n return this._get(`generic/branch/chatbot/${brandId}`);\r\n }\r\n\r\n getDisclosure(brandId: number, brandDisclosure: BRAND_DISCLOSURES) {\r\n return this._get(`Disclosures/${brandDisclosure}/Brand/${brandId}`);\r\n }\r\n\r\n getLogo(brandId: string){\r\n return of('assets/header/logo.svg');\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\nimport { AuthServicesModule } from 'app/auth/auth-services.module';\r\n// Vendors\r\nimport { CookieService } from 'ngx-cookie-service';\r\n// Services\r\nimport {\r\n AddressService,\r\n ApplicantInformationService,\r\n ApplicationService,\r\n AuthService,\r\n BrandService,\r\n WebsiteService,\r\n GenericCatalogsService,\r\n ProductSelectionService,\r\n ProductsService,\r\n RegisterExistingCostumerService,\r\n RulesService,\r\n QuestionnaireService,\r\n DisclosuresService,\r\n UserProspectService,\r\n UserProspectMockService,\r\n TradingService,\r\n ApplicationInformationService,\r\n UserService,\r\n OrganizationService,\r\n FeatureFlagService,\r\n PdfService\r\n} from './';\r\nimport { CustomerService } from './proxy';\r\nimport { WhiteLabelService } from './wl/white-label.service';\r\n\r\n@NgModule({\r\n imports: [\r\n HttpClientModule,\r\n AuthServicesModule\r\n ],\r\n declarations: [ ],\r\n exports: [ AuthServicesModule ],\r\n providers: [\r\n AuthService,\r\n ApplicationService,\r\n ApplicantInformationService,\r\n AddressService,\r\n RulesService,\r\n QuestionnaireService,\r\n GenericCatalogsService,\r\n BrandService,\r\n WebsiteService,\r\n ProductsService,\r\n AddressService,\r\n UserService,\r\n UserProspectService,\r\n RegisterExistingCostumerService,\r\n ProductSelectionService,\r\n DisclosuresService,\r\n UserProspectMockService,\r\n // Revisit\r\n CookieService,\r\n TradingService,\r\n ApplicationInformationService,\r\n OrganizationService,\r\n CustomerService,\r\n WhiteLabelService,\r\n FeatureFlagService,\r\n PdfService\r\n ]\r\n})\r\nexport class DataServiceModule { }\r\n","declare var environment: any;\r\n\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { CONSUMER_DISCLOSURE_LIST, BUSINESS_DISCLOSURE_LIST } from 'app/disclosures/mocks';\r\n// Services\r\nimport { BaseService } from './abstracts';\r\n// Models\r\nimport { DisclosuresRequest, DisclosureList, DisclosuresSaveRequest } from 'models';\r\nimport { BRAND_CONTEXT } from 'models/enums';\r\n\r\n@Injectable()\r\nexport class DisclosuresService extends BaseService {\r\n postTerms(request: DisclosuresRequest) {\r\n return this._post('v2/pip/Terms', request);\r\n }\r\n\r\n confirmDisclosures(applicationId: number) {\r\n return this._post(`v2/Disclosures/Accept/${applicationId}`);\r\n }\r\n\r\n save(request: DisclosuresSaveRequest) {\r\n return this._post('v2/Disclosures', request);\r\n }\r\n\r\n get(): DisclosureList {\r\n return environment.brandContext === BRAND_CONTEXT.Business ?\r\n BUSINESS_DISCLOSURE_LIST : CONSUMER_DISCLOSURE_LIST;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AxosResult } from 'models/enums/trading';\r\nimport { map } from 'rxjs/operators';\r\nimport { BaseService } from './abstracts';\r\n\r\n@Injectable()\r\nexport class FeatureFlagService extends BaseService {\r\n private _features = {\r\n proxy: true,\r\n landing: true,\r\n enableTrustVestingType: false\r\n }\r\n\r\n get features(){\r\n return this._features;\r\n }\r\n\r\n getStatus(featureName: string) {\r\n return this._get>(`generic/featureflag?feature=${featureName}`)\r\n .pipe(\r\n map(result => result.data)\r\n );\r\n }\r\n \r\n}\r\n","import { Injectable } from '@angular/core';\r\n// Models\r\nimport { AnnualSales, Country, State, IGenericItem, FinancialInformationCatalog, BeneficiariesCatalog, Beneficiary } from 'models';\r\nimport { TAX_BRACKETS } from './mocks/mock-data/financial-information.mock';\r\n\r\nimport { BaseService } from './abstracts';\r\n\r\nimport { of, Observable } from 'rxjs';\r\nimport { CatalogItem } from 'models/trading/catalog-item.model';\r\nimport { AxosResult } from 'models/enums/trading';\r\n\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class GenericCatalogsService extends BaseService {\r\n getAnnualSalesRange() { return super._get(`v2/AnnualSales`); }\r\n\r\n getCountries() { return super._get('generic/common/country'); }\r\n\r\n getStates() { return super._get('generic/common/states/us'); }\r\n\r\n getOccupations() { return super._get(`generic/common/occupation`); }\r\n\r\n getCompanyTitles() { return super._get(`generic/catalog/companyTitle`); }\r\n\r\n getAffiliations() { return super._get(`generic/trading/catalog/tradingSecuritiesPersonalAffiliation`); }\r\n\r\n getFinancialCatalogInfo(): Observable {\r\n return this._get('generic/trading/catalog/financial');\r\n }\r\n\r\n getBeneficiariesCatalogInfo(): Observable { return this._get>('generic/beneficiaries/relationships').pipe(map((res) => res.data));}\r\n}\r\n","// Ng\r\nimport { Injectable } from '@angular/core';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\n// Services\r\nimport { BaseService } from '../abstracts';\r\nimport { map } from 'rxjs/operators';\r\nimport { AxosResult } from 'models/enums/trading/axos-result.model';\r\nimport { FLOW_STEPS } from 'models/enums';\r\ndeclare var environment: any;\r\n\r\nexport interface AxosWorkflow {\r\n lastStep: FLOW_STEPS;\r\n nextStep: FLOW_STEPS;\r\n workflowName: string;\r\n steps: {\r\n name: FLOW_STEPS,\r\n subWorkflowName: string;\r\n }[];\r\n}\r\n\r\n@Injectable()\r\nexport class ApplicationFlowService extends BaseService {\r\n\r\n getFlow(appId: string, applicantType?: string): Observable {\r\n // Add Applicant Type\r\n let params = '';\r\n if(applicantType) {\r\n params = `?applicantType=${applicantType}`;\r\n }\r\n return super._get>(`workflow/application/${appId}${params}`)\r\n .pipe(map(({ data }) => data));\r\n }\r\n\r\n getSubflow(workflowName: string, applicationId: string, applicantType: string): Observable {\r\n let params = '';\r\n if (applicantType) {\r\n params = `?applicantType=${applicantType}`;\r\n }\r\n if (environment.isProxy) {\r\n return super._get>(`workflow/${workflowName}/application/${applicationId}${params}`)\r\n .pipe(map(({ data }) => data));\r\n }\r\n else {\r\n return super._get>(`workflow?workflowName=${workflowName}&applicantType=${applicantType}`)\r\n .pipe(map(({ data }) => data));\r\n }\r\n }\r\n\r\n goBack(appId: string, applicantType: string): Observable {\r\n return super._get>(`generic/workflow/application/${appId}/back?applicantType=${applicantType}`)\r\n .pipe(map(({ data }) => data));\r\n }\r\n}\r\n","import { Injectable, Inject } from \"@angular/core\";\r\nimport { Observable, Subject, interval, of } from \"rxjs\";\r\nimport { switchMap, map, tap, takeWhile, catchError } from \"rxjs/operators\";\r\nimport { HttpClient, HttpErrorResponse } from \"@angular/common/http\";\r\nimport { AxosResult } from \"models/enums/trading\";\r\nimport { API_URL } from \"app/core/constants\";\r\n//Services\r\nimport { BaseService } from \"../abstracts/base.service\";\r\nimport { LoadingService } from \"app/core/services/loading.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { LANDING_ROUTES } from \"app/landing/routing\";\r\nimport { EnrollmentState, BoardInProgressComplete, BoardApplicationFailAction } from \"store\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { BOARDING_RESULT } from \"store/constants\";\r\nimport { OUTCOME_PARENT_ROUTE, OUTCOME_ROUTES } from 'app/outcome';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BoardingSignalService extends BaseService {\r\n private _boardingResult$: Subject = new Subject();\r\n private _connectionId$: Subject = new Subject();\r\n private retries: number = 0;\r\n loginToken: any;\r\n\r\n get connectionId$() {\r\n return this._connectionId$.asObservable();\r\n }\r\n\r\n get boardingResult$() {\r\n return this._boardingResult$.asObservable();\r\n }\r\n\r\n constructor(\r\n http: HttpClient,\r\n loadingService: LoadingService,\r\n @Inject(API_URL) baseUrl: string,\r\n private router: Router,\r\n private store$: Store\r\n ) {\r\n super(http, loadingService, baseUrl);\r\n }\r\n\r\n public listenToBoarding() {\r\n\r\n const MAX_NUMBER_OF_RETRIES = 15;\r\n\r\n const poolingSubscription$ = interval(15000).pipe(\r\n switchMap(() => {\r\n return this._get>('application/board/ping', null, false)\r\n .pipe(\r\n map(res => res.data),\r\n tap(state => {\r\n this.retries++;\r\n if (state == \"approved\" || state == \"not_approved\") {\r\n return state;\r\n }\r\n\r\n if (this.retries >= MAX_NUMBER_OF_RETRIES) {\r\n console.warn(`Application reached MAX_NUMBER_OF_RETRIES ${MAX_NUMBER_OF_RETRIES}`);\r\n this.router.navigateByUrl(`${OUTCOME_PARENT_ROUTE}/${OUTCOME_ROUTES.APPROVED_FAILURE}`);\r\n state = \"not_approved\";\r\n }\r\n return state;\r\n })\r\n )\r\n }\r\n ));\r\n\r\n poolingSubscription$.pipe(takeWhile(reducer => reducer != \"approved\" && reducer != \"not_approved\", true)).subscribe((data) => {\r\n if (data == \"approved\") {\r\n this.store$.dispatch(new BoardInProgressComplete(BOARDING_RESULT.COMPLETED))\r\n }\r\n\r\n if (data == \"not_approved\") {\r\n this.router.navigateByUrl(`${OUTCOME_PARENT_ROUTE}/${OUTCOME_ROUTES.APPROVED_FAILURE}`);\r\n }\r\n });\r\n }\r\n\r\n board(): Observable {\r\n return this._post>('application/board', { connectionId: \"NA\" }, false)\r\n .pipe(\r\n map(res => res.data),\r\n tap(status => {\r\n if (status === 'in_progress') {\r\n this.listenToBoarding();\r\n }\r\n if (status === 'completed') {\r\n return of(BOARDING_RESULT.COMPLETED)\r\n }\r\n }),\r\n catchError((error: HttpErrorResponse) => {\r\n const errorMessage = error.error ? error.error.errorMessage : \"Board Application Error\";\r\n return of(BOARDING_RESULT.BOARDING_ERROR);\r\n })\r\n )\r\n }\r\n}\r\n","export * from './boarding-signal.service';\r\nexport * from './application-flow.service';\r\n","export * from './abstracts';\r\nexport * from './auth.service';\r\nexport * from './user.service';\r\nexport * from './user-prospect.service';\r\nexport * from './generic-catalogs.service';\r\nexport * from './address.service';\r\nexport * from './applicant-information.service';\r\nexport * from './product.selection.service';\r\nexport * from './application.service';\r\nexport * from './brand.service';\r\nexport * from './website.service';\r\nexport * from './zip.service';\r\nexport * from './advisor.service';\r\nexport * from './disclosures.service';\r\nexport * from './products.service';\r\nexport * from './register-existing-costumer.service';\r\nexport * from './rules.service';\r\nexport * from './questionnaire.service';\r\nexport * from './mocks/user-prospect-mock.service';\r\nexport * from './trading.service';\r\nexport * from './audit-log.service';\r\nexport * from './organization.service';\r\nexport * from './feature-flag.service';\r\n// Universal Enrollment services\r\nexport * from './universal';\r\n// Http\r\nexport * from './http';\r\nexport * from './feature-flag.service';\r\nexport * from './pdf.service';\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { of, Observable } from 'rxjs';\r\n\r\nimport { IUserProspect } from 'models';\r\nimport { BaseService } from 'services/abstracts';\r\n\r\n@Injectable()\r\nexport class UserProspectMockService extends BaseService {\r\n\r\n create(user: IUserProspect): Observable {\r\n return of(user);\r\n }\r\n}\r\n","declare var environment: any;\r\nimport { Injectable } from '@angular/core';\r\n// Services\r\nimport { BaseService } from './abstracts';\r\n// Models\r\nimport { Broker, Organization } from 'models';\r\nimport { map } from 'rxjs/operators';\r\nimport { AxosResult } from 'models/enums/trading';\r\n\r\n@Injectable()\r\nexport class OrganizationService extends BaseService {\r\n get(organizationName: String, settings: boolean = false) {\r\n return this._get(`organization/${organizationName}?settings=${settings}`);\r\n }\r\n\r\n getBrokerInformation(token: string) {\r\n const organizationName = environment.organizationName || 'axos';\r\n return this._get>(`organization/${organizationName}/broker/${token}`).pipe(\r\n map(result => {\r\n return result.data ? result.data : false;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { jsPDF } from 'jspdf';\r\nimport html2canvas from 'html2canvas';\r\n\r\n@Injectable()\r\nexport class PdfService {\r\n\r\n public createPDF(data: HTMLElement):void { \r\n html2canvas(data).then(canvas => { \r\n let fileWidth = 208;\r\n var pageHeight = 295;\r\n let fileHeight = canvas.height * fileWidth / canvas.width; \r\n const FILEURI = canvas.toDataURL('image/png')\r\n let PDF = new jsPDF('p', 'mm', 'a4', true);\r\n let position = 0;\r\n let heightLeft = fileHeight - pageHeight;\r\n\r\n PDF.addImage(FILEURI, 'PNG', 0, position, fileWidth, fileHeight, 'FAST'); \r\n\r\n while(heightLeft >= 0){\r\n position = heightLeft - fileHeight;\r\n PDF.addPage();\r\n PDF.addImage(FILEURI, 'PNG', 0, position, fileWidth, fileHeight, 'FAST');\r\n heightLeft -= pageHeight;\r\n }\r\n var date = new Date();\r\n PDF.save(`application_${date.getMonth() + 1}-${date.getDate()}-${date.getFullYear()}.pdf`);\r\n }); \r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n// Services\r\nimport { BaseService } from './abstracts';\r\n// Models\r\nimport { ISimpleProduct } from 'models';\r\nimport { AxosResult } from 'models/enums/trading';\r\nimport { of, Observable } from 'rxjs';\r\n\r\nimport { map } from \"rxjs/operators\";\r\n\r\n@Injectable()\r\nexport class ProductSelectionService extends BaseService {\r\n\r\n getProductsByCode(productCodes: string[]) {\r\n return this._get>('products', { productCodes }).pipe(map(res => res.data));\r\n }\r\n\r\n getProductsFromApplication() {\r\n return this._get>(`products/selected`).pipe(map(res => res.data));\r\n }\r\n getProductsByUserIdentityGuId(userIdentityId: string) {\r\n return this._get>('products/UserProduct/'+userIdentityId).pipe(map(res => res.data));\r\n }\r\n}\r\n","declare var environment: any;\r\nimport { Injectable } from '@angular/core';\r\n// Services\r\nimport { BaseService } from './abstracts';\r\nimport { ProductSelectionRequest, VestingType } from 'models';\r\n\r\n@Injectable()\r\nexport class ProductsService extends BaseService {\r\n\r\n get(applicationId: number) {\r\n return this._get(`v2/applications/productSelection/${applicationId}`);\r\n }\r\n\r\n post(productSelection: ProductSelectionRequest) {\r\n return this._post(`v2/applications/productSelection/${productSelection.ApplicationId}`, productSelection);\r\n }\r\n\r\n UpdateOrderedCards(products) {\r\n return this._put('v2/applications/UpdateOrderedCards', products);\r\n }\r\n\r\n getVestings() {\r\n return this._get('v2/vesting');\r\n }\r\n\r\n saveVesting(productSelection: ProductSelectionRequest) {\r\n return this._post('v2/vesting', productSelection);\r\n }\r\n\r\n getByOrganization(applicationTypeName){\r\n const organization = environment.organizationName || 'axos';\r\n return this._get(`generic/products/organization/${organization}/applicationType/${applicationTypeName}`);\r\n }\r\n}\r\n","declare var environment: any;\r\n\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { of, Observable } from 'rxjs';\r\nimport { Customer, ContactInformation, ExistingCustomerRequest } from 'models/proxy';\r\nimport { BaseService } from 'services';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { BrowserTypeService, LoadingService } from 'app/core/services';\r\nimport { API_URL } from 'app/core/constants';\r\nimport { map } from 'rxjs/operators';\r\n\r\ndeclare var environment: any;\r\ndeclare var client: any;\r\n\r\n@Injectable()\r\nexport class CustomerService extends BaseService {\r\n\r\n constructor(\r\n http: HttpClient,\r\n loadingService: LoadingService,\r\n private browserService: BrowserTypeService,\r\n @Inject(API_URL) baseUrl: string\r\n ) {\r\n super(http, loadingService, baseUrl);\r\n }\r\n\r\n search(search: string): Observable{\r\n return this._post(`existing/search`, {\r\n value: search,\r\n organizationName: environment.organizationName || 'axos',\r\n organizationId: environment.organizationId || 1,\r\n max: 100\r\n })\r\n .pipe(\r\n map(response => {\r\n if(response.success && response.data){\r\n return response.data;\r\n }\r\n return [];\r\n })\r\n )\r\n }\r\n\r\n getAll(): Observable{\r\n return this._get(`existing/all/${environment.organizationName}`)\r\n .pipe(\r\n map(response => {\r\n if(response.success && response.data){\r\n return response.data;\r\n }\r\n return [];\r\n })\r\n )\r\n }\r\n\r\n getDetails(identityId:string): Observable{\r\n return this._get(`existing/${environment.organizationName}/${identityId}`)\r\n .pipe(\r\n map(response => response.data)\r\n );\r\n }\r\n\r\n saveContact(applicantId: string, contact: ContactInformation, skipHistory: boolean = false){\r\n const requestBody = contact? [contact] : [];\r\n return this._post(`contact/${applicantId}?skipHistory=${skipHistory}`, requestBody).pipe(\r\n map(response => response)\r\n );\r\n }\r\n\r\n registerExistingCustomer(existingCustomerRequest: ExistingCustomerRequest) {\r\n const browser = this.browserService.getBrowserAndDeviceInfo();\r\n const request =\r\n {\r\n ipAddress: client.getProperty('externalip'),\r\n userAgent: browser.userAgent,\r\n identityId: existingCustomerRequest.identityId,\r\n applicationRequest: {\r\n productCodes: existingCustomerRequest.productCodes,\r\n organizationName: environment.organizationName,\r\n organizationId: environment.organizationId,\r\n branchId: environment.brandId,\r\n applicationTypeId: existingCustomerRequest.applicationTypeId,\r\n applicationTypeName: existingCustomerRequest.applicationTypeName,\r\n channelId: environment.channelId,\r\n repCode: existingCustomerRequest.repCode\r\n }\r\n\r\n };\r\n\r\n return this._post('existing', request);\r\n }\r\n\r\n handOff(applicationId: string){\r\n return this._get(`application/${applicationId}/handoff`).pipe(\r\n map(response => response)\r\n );\r\n }\r\n\r\n}\r\n","export * from './customer.service';","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n// Services\r\nimport { BaseService } from './abstracts';\r\nimport { LoadingService } from 'app/core/services';\r\n\r\nimport { API_URL } from 'app/core/constants';\r\nimport { IdaResult } from 'models/rules';\r\n\r\n@Injectable()\r\nexport class QuestionnaireService extends BaseService {\r\n constructor(\r\n http: HttpClient,\r\n @Inject(API_URL) apiURL: string,\r\n loadingService: LoadingService) {\r\n super(http, loadingService, apiURL);\r\n }\r\n\r\n getIdaQuestions$(applicationId, isRetry) {\r\n return this._post(`v2/applications/initiateIda/${applicationId}/${isRetry}`);\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { BaseService } from './abstracts';\r\nimport { HttpClient } from '@angular/common/http';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { LoadingService } from 'app/core/services';\r\nimport { API_URL } from 'app/core/constants';\r\nimport { IUserRequest, IUser } from 'models';\r\n\r\n@Injectable()\r\nexport class RegisterExistingCostumerService extends BaseService {\r\n\r\n constructor(\r\n http: HttpClient,\r\n @Inject(API_URL) apiURL: string,\r\n loadingService: LoadingService) {\r\n super(http, loadingService, apiURL);\r\n }\r\n\r\n get(cif, brandName) {\r\n return this._get(`v2/Customer/Existing/Info/{brandName}/{cif}`);\r\n }\r\n\r\n getCif() {\r\n return this._get('v2/Customer/Existing/Cif');\r\n }\r\n\r\n verify(ssn, model, brandName) {\r\n var body = {\r\n phoneNumberLastDigits: model.phoneNumberLastDigits,\r\n accountNumber: model.accountNumber,\r\n balance: model.balance,\r\n brand: brandName\r\n }\r\n return this._get(`v2/customer/existing/verify/{ssn.replace(/-/g, '')}`, body);\r\n }\r\n\r\n create(brandId, productVesting) {\r\n return this._post(`v2/Customer/Existing/Add/${brandId}`, productVesting);\r\n }\r\n\r\n createProxy(customerInformation) {\r\n return this._post('v2/Customer/Existing/Add', customerInformation);\r\n }\r\n\r\n getCustomerInformation(customerInformation) {\r\n return this._post('ExistingCustomer/GetCustomerInformation', customerInformation);\r\n }\r\n\r\n registerCustomerInIdv1(customerInformation: IUserRequest): Observable {\r\n return this._post('v2/Customer/Existing/Register', customerInformation).pipe(\r\n map((userLookup: any) => {\r\n const user: IUser = {\r\n ApplicationId: null,\r\n ApplicationStatusId: null,\r\n BrandId: null,\r\n AdvisorId: null,\r\n VestingTypeId: null,\r\n UserName: userLookup.FirstName,\r\n FirstName: userLookup.FirstName,\r\n LastName: userLookup.LastName,\r\n Email: userLookup.Email,\r\n PhoneNumber: userLookup.HomePhone,\r\n CIF: userLookup.CIF,\r\n }\r\n return user;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\n// Core\r\nimport { LoadingService } from 'app/core/services';\r\nimport { API_URL } from 'app/core/constants';\r\n// Models\r\nimport { IAuthToken } from 'models';\r\nimport {\r\n IdaResult,\r\n RulesResult,\r\n IdaUserQuestionnaireAnswers,\r\n ApplicantTypesMitek,\r\n IRulesDataResponse\r\n} from 'models/rules';\r\nimport { BaseService } from './abstracts';\r\n\r\n// RxJs\r\nimport { map } from \"rxjs/operators\";\r\nimport { AxosResult } from 'models/enums/trading';\r\n\r\n@Injectable()\r\nexport class RulesService extends BaseService {\r\n\r\n constructor(\r\n http: HttpClient,\r\n @Inject(API_URL) apiURL: string,\r\n loadingService: LoadingService) {\r\n super(http, loadingService, apiURL);\r\n }\r\n\r\n runMitekRules(applicationId: string): Observable {\r\n return this._post(`v2/applications/runMitekRules/${applicationId}`);\r\n }\r\n\r\n getApplicantsMitekDocuments(applicationId: string): Observable {\r\n return this._get(`v2/applicantMitekDocuments/${applicationId}`);\r\n }\r\n\r\n parser(applicationId: string): Observable {\r\n return this._get(`rulesetlog/application/${applicationId}`);\r\n }\r\n\r\n validateApplication(applicationId: string): Observable {\r\n return this._post>(`application/${applicationId}/validate`).pipe(\r\n map(res => res.data)\r\n );\r\n }\r\n\r\n getIdaQuestions(applicationId: string, isRetry): Observable {\r\n return this._post(`v2/applications/initiateIda/${applicationId}/${isRetry}`);\r\n }\r\n\r\n resumeRules(applicationId: string, answers?: IdaUserQuestionnaireAnswers[]): Observable {\r\n return this._post(`v2/applications/runResumeRules/${applicationId}`, answers);\r\n }\r\n\r\n updateToPendingKBA(applicationId) {\r\n return this._put(`v2/Applications/KBA/Pending/${applicationId}`, {});\r\n }\r\n\r\n updateToPendingBankReviewXMLHttp(applicationId: string, token: IAuthToken) {\r\n var xmlhttp = new XMLHttpRequest();\r\n xmlhttp.open('PUT', `${this.baseUrl}/api/v2/Applications/KBA/PendingBankReview/${applicationId}`, false);//the false is for making the call synchronous\r\n this.XML_Http_Request(xmlhttp, token);\r\n }\r\n\r\n updateToPendingKBAXMLHttp(applicationId: string, token: IAuthToken) {\r\n var xmlhttp = new XMLHttpRequest();\r\n //the false is for making the call synchronous\r\n xmlhttp.open('PUT', `${this.baseUrl}/api/v2/Applications/KBA/Pending/${applicationId}`, false);\r\n this.XML_Http_Request(xmlhttp, token);\r\n }\r\n\r\n private XML_Http_Request(xmlhttp: XMLHttpRequest, token: IAuthToken) {\r\n xmlhttp.setRequestHeader('Content-type', 'application/json');\r\n xmlhttp.setRequestHeader('Authorization', 'Bearer ' + token.access_token);\r\n xmlhttp.onreadystatechange = state_change;\r\n xmlhttp.send();\r\n function state_change() {\r\n //Request finished and response is ready\r\n if (xmlhttp.readyState === 4) {\r\n console.log(xmlhttp.status === 200 ? xmlhttp.responseText : this.xmlhttp);\r\n }\r\n }\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\n// Services\r\nimport { BaseService } from './abstracts';\r\nimport { AccountFeature, Feature } from 'models/trading/account-feature.model';\r\nimport { of, Observable } from 'rxjs';\r\n// RxJs\r\nimport { map } from \"rxjs/operators\";\r\nimport { PersonalInformationTrading } from 'models/trading/personal-information.model';\r\nimport { EMPLOYMENT_STATUS_ID } from 'models/enums/trading/employment-status.enum';\r\nimport { IInvestmentProfile } from 'models/trading/investment-profile.model';\r\nimport { EXPERIENCE_LEVEL_NAME } from 'models/enums/trading/investment.enum';\r\nimport { MARITAL_STATUS_ID } from 'models/enums/trading/marital-status.enum';\r\nimport { AxosResult } from 'models/enums/trading/axos-result.model';\r\nimport { FinancialInformation } from 'models';\r\nimport { PersonAbout } from 'models/trading/person-about.model';\r\nimport { Person } from 'models/trading/person.model';\r\n\r\n@Injectable()\r\nexport class TradingService extends BaseService {\r\n\r\n saveAccountFeature(features: string[], applicationId: string) {\r\n return this._post(`application/${applicationId}/features`, features);\r\n }\r\n\r\n savePesonalInformation(personalInformation: PersonalInformationTrading) {\r\n // return this._post(`personal/pip/${applicantId}/personalInformation`, personalInformation);\r\n return of(personalInformation);\r\n }\r\n\r\n getInvestmentProfile(applicationId: string): Observable {\r\n return this._get>(`application/${applicationId}/trading/investmentprofile`).pipe(map((res) => {\r\n const investmentData = {\r\n overallInvestmentExperience: res.data.overallInvestmentExperience.name,\r\n investmentObjective: res.data.investmentObjective.name,\r\n timeHorizon: res.data.timeHorizon.name,\r\n riskTolerance: res.data.riskTolerance.name,\r\n dividendInstructions: res.data.dividendInstructions.name,\r\n cashSweepProgram: res.data.cashSweepProgram != null ? res.data.cashSweepProgram : '',\r\n tradingExperiences: res.data.tradingExperiences\r\n }\r\n return investmentData\r\n }));\r\n }\r\n\r\n getAccountFeature(applicationId: string): Observable {\r\n return this._get>(`application/${applicationId}/features`).pipe(map((res) => {\r\n return ({ TradingFeatures: res.data })\r\n }));\r\n }\r\n\r\n getFeatures(): Observable {\r\n return this._get>('generic/account/trading/features').pipe(map((res) => res.data));\r\n }\r\n\r\n getFeaturesByApplication(applicationId: string): Observable {\r\n return this._get>(`generic/account/trading/features/${applicationId}`)\r\n .pipe(map(res => res.data));\r\n }\r\n\r\n saveFinancialInformation(information: FinancialInformation, applicationId: string, skipHistory: boolean = false) {\r\n return this._postWithParams(`application/${applicationId}/trading/financialinformation`, {skipHistory}, information);\r\n }\r\n\r\n getPersonalInformation(applicantId: string): Observable {\r\n return this._get(`person/${applicantId}/basic`);\r\n }\r\n\r\n getFinancialInformation(applicantId: string): Observable {\r\n return this._get>(`application/${applicantId}/trading/financialinformation`)\r\n .pipe(map((res) => res.data));\r\n }\r\n\r\n saveInvestmentProfile(investmentProfileInfo: IInvestmentProfile, applicationId: string, skipHistory: boolean = false): Observable {\r\n return this._postWithParams>(`application/${applicationId}/trading/investmentprofile`, {skipHistory}, investmentProfileInfo)\r\n .pipe(map(res => res.data));\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { Country, IInvestmentObjetive, IGenericItem, Applicant, IApplicantRequest, IdentificationInfo, PhoneNumber, PersonalInformationTrading, ApplicantRequest, PersonalInformationResponse, IApplication, IAuthToken } from 'models';\r\nimport {\r\n getCountries,\r\n selectInvestmentObjetives,\r\n getFinancialCatalogInformation,\r\n getOccupations\r\n} from 'store/selectors';\r\n\r\n// RxJs\r\nimport { map, take } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\n//Services\r\nimport { BaseService } from 'services/abstracts';\r\nimport { HttpClient } from '@angular/common/http';\r\n//Core\r\nimport { LoadingService } from 'app/core/services';\r\nimport { API_URL } from 'app/core/constants';\r\nimport { ID_VERIFICATION_METHOD } from 'models/enums/id-verification-method.enum';\r\nimport { APPLICANT_IDENTIFICATION_STORAGE_NAME } from 'app/applicant-identification/models';\r\nimport { PHONE_TYPE, APPLICATION_STATE } from 'models/enums';\r\nimport { CatalogItem } from 'models/trading/catalog-item.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApplicationInformationService extends BaseService {\r\n countries: Country[];\r\n investmentObjectives: IInvestmentObjetive[];\r\n annualIncomes: CatalogItem[];\r\n totalNetWorths: CatalogItem[];\r\n liquidNetWorths: CatalogItem[];\r\n sourceOfFunds: CatalogItem[];\r\n taxBrackets: CatalogItem[];\r\n occupations: CatalogItem[];\r\n\r\n constructor(\r\n private store$: Store,\r\n http: HttpClient,\r\n loadingService: LoadingService,\r\n @Inject(API_URL) baseUrl: string) {\r\n super(http, loadingService, baseUrl);\r\n this.store$.select(getCountries).pipe(take(1)).subscribe(items => this.countries = items);\r\n this.store$.select(getOccupations).pipe(take(1)).subscribe(occ => this.occupations = occ);\r\n this.store$.select(getFinancialCatalogInformation).pipe(take(1)).subscribe(information => {\r\n this.annualIncomes = information.annualIncomes;\r\n this.totalNetWorths = information.totalNetWorths;\r\n this.sourceOfFunds = information.sourceOfFunds;\r\n this.liquidNetWorths = information.liquidNetWorths;\r\n this.taxBrackets = information.taxBrackets;\r\n });\r\n\r\n this.store$.select(selectInvestmentObjetives).pipe(take(1)).subscribe(items => this.investmentObjectives = items);\r\n }\r\n\r\n getCountryName(code: string) {\r\n const country = this.countries.find(country => country.code === code);\r\n return country ? country.displayName : \"United States of America\"\r\n }\r\n\r\n getAnnualIncome(id: string) {\r\n return this.annualIncomes.find(item => item.name === id).displayName;\r\n }\r\n\r\n getTotalNetWorth(id: string) {\r\n return this.totalNetWorths.find(item => item.name === id).displayName;\r\n }\r\n\r\n getLiquidNetWorth(id: string) {\r\n return this.liquidNetWorths.find(item => item.name === id).displayName;\r\n }\r\n\r\n getSourceOfFunds(id: string) {\r\n return this.sourceOfFunds.find(item => item.name === id).displayName;\r\n }\r\n\r\n getTaxBrackets(id: string) {\r\n return this.taxBrackets.find(item => item.name === id).displayName;\r\n }\r\n\r\n getInvestmentObjective(id: string) {\r\n const objective = this.investmentObjectives.find(objective => objective.name === id);\r\n return objective ? objective.displayName : '';\r\n }\r\n\r\n getOccupation(id: string) {\r\n return this.occupations.find(occ => (occ.name === id || occ.displayName === id)).displayName;\r\n }\r\n\r\n // #region New HTTP end-points\r\n\r\n getApplicant(token: IAuthToken) {\r\n return this._get(`GetApplicant/${token}`)\r\n .pipe(\r\n map(applicant => Object.assign(new Applicant(), applicant))\r\n )\r\n }\r\n\r\n getApplication(applicationId: string) {\r\n return this._get(`application/${applicationId}`);\r\n }\r\n\r\n // getApplicantById(applicantId: number){\r\n // return this._get(`GetApplicant/${token}`)\r\n // .pipe(\r\n // map(applicant => Object.assign(new Applicant(), applicant))\r\n // )\r\n // }\r\n\r\n\r\n // getApplicant(applicantId: number) {\r\n // return this._get(`consumer/personal/applicant/${applicantId}`)\r\n // .pipe(\r\n // map(applicant => Object.assign(new Applicant(), applicant))\r\n // )\r\n // }\r\n\r\n // getAllApplicants() {\r\n // return this._get('consumer/personal/applicant')\r\n // .pipe(\r\n // map(applicants => applicants.map(applicant => Object.assign(new Applicant(), applicant)))\r\n // );\r\n // }\r\n\r\n // updateApplicant(applicant: IApplicantRequest) {\r\n // return this._post('consumer/personal/applicant',\r\n // {\r\n // ...applicant,\r\n // SSN: this.cleanData(applicant.SSN)\r\n // });\r\n // }\r\n\r\n updateApplicantIdentification(applicantId: number, identification: IdentificationInfo) {\r\n return this._post(`consumer/personal/pip/${applicantId}/identification`, identification);\r\n }\r\n\r\n updateApplicantPhone(applicantId: number, phone: PhoneNumber) {\r\n phone = {\r\n ...phone,\r\n PhoneNumber: this.cleanValue(phone.PhoneNumber)\r\n }\r\n return this._post(`consumer/personal/pip/${applicantId}/phone`, phone);\r\n }\r\n\r\n saveApplicantPIUniversal(PersonalInformationUniversal: PersonalInformationTrading) {\r\n return of(PersonalInformationUniversal)\r\n }\r\n\r\n public getApplicantIdentificationMethod(applicantId: number): ID_VERIFICATION_METHOD {\r\n const allApplicantIdSessions: any = this.getCached(APPLICANT_IDENTIFICATION_STORAGE_NAME),\r\n applicantIdSession: any = allApplicantIdSessions.find(id => id.ApplicantId === applicantId);\r\n\r\n let verificationMethod: ID_VERIFICATION_METHOD = ID_VERIFICATION_METHOD.Manual;\r\n if (applicantIdSession) {\r\n verificationMethod = (applicantIdSession.VerificationMethod) ? applicantIdSession.VerificationMethod : ID_VERIFICATION_METHOD.Manual;\r\n }\r\n return verificationMethod;\r\n }\r\n\r\n private ToModel(application: any, applicants: Applicant[], newApplicationState: APPLICATION_STATE) {\r\n if (!application.Beneficiaries) {\r\n application.Beneficiaries = [];\r\n }\r\n const beneficiariesModel = application.Beneficiaries.map(beneficiary => {\r\n return {\r\n Ordinal: beneficiary.Ordinal,\r\n ApplicationId: beneficiary.ApplicantId,\r\n FirstName: beneficiary.FirstName,\r\n MiddleName: beneficiary.MiddleName,\r\n LastName: beneficiary.LastName,\r\n DOB: beneficiary.DOB,\r\n RelationshipId: beneficiary.RelationshipId,\r\n RelationshipName: beneficiary.RelationshipName,\r\n RelationshipOther: beneficiary.RelationshipOther,\r\n };\r\n });\r\n\r\n const applicantsModel: ApplicantRequest[] = applicants.map(applicant => {\r\n const ApplicantId = applicant.ApplicantId;\r\n const applicantPhoneNumbers: PhoneNumber[] = [\r\n {\r\n ApplicantId,\r\n PhoneTypeId: PHONE_TYPE.Business,\r\n PhoneNumber: this.cleanData(applicant.BusinessPhone),\r\n PhoneExtension: this.cleanData(applicant.BusinessPhoneExtension)\r\n },\r\n { PhoneTypeId: PHONE_TYPE.Home, ApplicantId, PhoneNumber: this.cleanData(applicant.HomePhone) },\r\n { PhoneTypeId: PHONE_TYPE.Cell, ApplicantId, PhoneNumber: this.cleanData(applicant.CellPhone) },\r\n ];\r\n\r\n return {\r\n ApplicantId: applicant.ApplicantId,\r\n ApplicationId: applicant.ApplicationId,\r\n ApplicantTypeId: applicant.ApplicantType.ApplicantTypeId,\r\n FirstName: applicant.FirstName,\r\n MiddleName: applicant.MiddleName,\r\n LastName: applicant.LastName,\r\n EmailPrimary: applicant.EmailPrimary,\r\n EmailSecondary: applicant.EmailSecondary,\r\n SuffixId: applicant.SuffixId,\r\n DOB: applicant.DOB,\r\n SSN: this.cleanData(applicant.SSN),\r\n ConfirmSSN: this.cleanData(applicant.ConfirmSSN),\r\n CitizenshipTypeId: applicant.CitizenshipTypeId,\r\n ContactMethodId: applicant.ContactMethodId,\r\n ApplicantPhoneNumbers: applicantPhoneNumbers,\r\n IdentificationTypeId: applicant.IdentificationInfo.IdentificationTypeId,\r\n DLNum: (applicant.IdentificationInfo.DLNum || '').replace(/[^0-9A-Za-z*]/g, ''),\r\n DLState: applicant.IdentificationInfo.DLState,\r\n DLIssued: applicant.IdentificationInfo.DLIssued,\r\n DLExpire: applicant.IdentificationInfo.DLExpire,\r\n IdentificationAddressId: null,\r\n EmploymentTypeId: applicant.EmploymentTypeId,\r\n MaidenName: applicant.MaidenName,\r\n PIN: applicant.PIN,\r\n SecretWordHint: applicant.SecretWordHint,\r\n EmployerName: applicant.EmployerName,\r\n Occupation: applicant.Occupation,\r\n TrustName: applicant.TrustName,\r\n Description: applicant.Description,\r\n TaxpayerIDType: applicant.TaxpayerIDType,\r\n MinSales: applicant.MinSales,\r\n MaxSales: applicant.MaxSales,\r\n OwnershipPercentage: applicant.OwnershipPercentage,\r\n IncorporationState: applicant.IncorporationState,\r\n Website: applicant.Website,\r\n };\r\n });\r\n\r\n\r\n const model = {\r\n Application: {\r\n ApplicationId: application.ApplicationId,\r\n ReferralSourceId: application.ReferralSourceId,\r\n ReferredBy: application.ReferredBy,\r\n PromoCode: application.PromoCode,\r\n UserProfileId: application.UserProfileId,\r\n IdentityUserId: application.IdentityUserId,\r\n Beneficiaries: beneficiariesModel,\r\n Accounts: application.Accounts\r\n },\r\n Applicants: applicantsModel,\r\n NewApplicationState: newApplicationState,\r\n // SkipValidation: (application.Action || enums.actionTypes.save) === enums.actionTypes.save ? false : true\r\n SkipValidation: true\r\n };\r\n return model;\r\n }\r\n\r\n private cleanData(value: string): string {\r\n return value ? value.replace(/-|\\)|\\(/g, '') : null;\r\n }\r\n\r\n // #region HTTPp\r\n get(applicationId: number) {\r\n return this._get(`v2/pip/${applicationId}`).pipe(\r\n map(data => {\r\n return {\r\n ...data,\r\n Applicants: data.Applicants.map(applicant => {\r\n if (!applicant.Description) { applicant.Description = ''; }\r\n const names = applicant.FirstName ? applicant.FirstName.split(/ |,/) : [];\r\n if (names.length > 1 && !applicant.MiddleName) {\r\n applicant.FirstName = names[0];\r\n applicant.MiddleName = names[names.length - 1][0];\r\n }\r\n return applicant;\r\n })\r\n };\r\n })\r\n );\r\n }\r\n\r\n // #endregion\r\n\r\n // TODO: Posible risk since js don't have applicants (Review and Submit and PIP pages)\r\n update(application: IApplication, applicants: Applicant[], newApplicationState: APPLICATION_STATE) {\r\n const model = this.ToModel(application, applicants, newApplicationState);\r\n return this._put('v2/pip', model);\r\n }\r\n\r\n // canApplicantChangeSecurityWord(applicantId) {\r\n // return this._get(`Applicant/${applicantId}/SecurityWordChanged`);\r\n // }\r\n\r\n // canApplicantChangeMaidenName(applicationId) {\r\n // return this._get(`Applicant/${applicationId}/MaidenNameChanged`);\r\n // }\r\n // #endregion\r\n}\r\n","declare var environment: any;\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseService } from '../abstracts';\r\nimport { of, Observable } from 'rxjs';\r\nimport { DisclosuresRequest, DisclosuresSaveRequest, DisclosureList, ApplicationSummary, DetailDisclosure, ECMDisclosure, ECMDisclosureDocument } from 'models';\r\nimport { BRAND_CONTEXT } from 'models/enums';\r\nimport { BUSINESS_DISCLOSURE_LIST, CONSUMER_DISCLOSURE_LIST } from 'app/disclosures/mocks';\r\n\r\nimport { map } from \"rxjs/operators\";\r\nimport { AxosResult } from 'models/enums/trading/axos-result.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DisclosuresUniversalService extends BaseService {\r\n getDetailDisclosures(applicationId: string): Observable {\r\n return this._get(`disclosure/${applicationId}`).pipe(map((res) => res));\r\n }\r\n\r\n getAxosClearingDisclosures(): Observable {\r\n return this._get(`disclosure/axosclearing/organization/${environment.organizationName}`).pipe(\r\n map((res) => res.data));\r\n }\r\n\r\n getElectronicDisclosure(): Observable {\r\n return this._get(`disclosure/eDisclosure/${environment.organizationId}`);\r\n }\r\n\r\n getInitialDisclosures(): Observable {\r\n return this._get(`disclosure/initialDisclosures/${environment.organizationId}`);\r\n }\r\n\r\n getApplicationDisclosure(name: string): Observable {\r\n return this._get>(`application/disclosure/${name}/${environment.organizationId}`).pipe(\r\n map(result => result.data)\r\n );\r\n }\r\n\r\n getApplicationApplicantDisclosure(name: string): Observable {\r\n return this._get>(`application/disclosures/${name}/${environment.organizationId}`).pipe(\r\n map(result => result.data)\r\n );\r\n }\r\n\r\n saveDisclosures(appId: string, applicantId: string, summary: ApplicationSummary) {\r\n return this._post(`application/${appId}/applicant/${applicantId}/summary`, summary);\r\n }\r\n\r\n getDisclosuresCatalog(): Observable {\r\n return this._get(`disclosure/detail/${environment.organizationId}`).pipe(map((res) => res));\r\n }\r\n\r\n updateDisclosure(applicationId: string, disclosure: DetailDisclosure) {\r\n return this._post(`disclosure/update/${applicationId}`, disclosure);\r\n }\r\n\r\n saveApplicantDisclosures(applicationId: string, disclosures: DetailDisclosure[]) {\r\n return this._post(`disclosure/save/${applicationId}`, disclosures);\r\n }\r\n\r\n postTerms(request: DisclosuresRequest) {\r\n return this._post('v2/pip/Terms', request);\r\n }\r\n\r\n confirmDisclosures(applicationId: string) {\r\n return this._post(`v2/Disclosures/Accept/${applicationId}`);\r\n }\r\n\r\n save(request: DisclosuresSaveRequest) {\r\n return this._post('v2/Disclosures', request);\r\n }\r\n\r\n getECMDisclosures(applicationId: string): Observable> {\r\n return this._get(`disclosure/ecm/${applicationId}`);\r\n }\r\n\r\n getECMDisclosureDocument(documentId: string): Observable> {\r\n return this._get(`disclosure/ecm/document/${documentId}`);\r\n }\r\n\r\n getECMDisclosureDocumentByDisclosureId(disclosureId: string): Observable> {\r\n return this._get(`disclosure/ecm/disclosure/${disclosureId}`);\r\n }\r\n\r\n // get(): DisclosureList {\r\n // return environment.brandContext === BRAND_CONTEXT.Business ?\r\n // BUSINESS_DISCLOSURE_LIST : CONSUMER_DISCLOSURE_LIST;\r\n // }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from '../abstracts';\r\nimport { of } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IdentityVerificationService extends BaseService {\r\n skipVerification(applicantId: number, desicion: boolean) {\r\n // return this._post(`skipVerification`, { 'ApplicantId': applicantId, 'desicion': desicion});\r\n return of(desicion);\r\n }\r\n}\r\n","export * from './investment-profile.service';\r\nexport * from './identity-verification.service';\r\nexport * from './disclosures-universal.service';\r\nexport * from './application-information.service';\r\nexport * from './vesting-type.service';\r\nexport * from './proxy.service';\r\nexport * from './managed-portfolio.service';\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from 'services/abstracts/base.service';\r\nimport { of, BehaviorSubject, Observable } from 'rxjs';\r\nimport { map } from \"rxjs/operators\";\r\n\r\nimport { INVESTMENT_OBJETIVES } from 'services/mocks/mock-data/investment-objetives.mock';\r\nimport { AxosResult } from 'models/enums/trading/axos-result.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InvestmentProfileService extends BaseService {\r\n private level = new BehaviorSubject('');\r\n currentLevel = this.level.asObservable();\r\n\r\n changeLevel(level: string) {\r\n this.level.next(level);\r\n }\r\n\r\n getInvestmentObjetives(): Observable {\r\n //return of(INVESTMENT_OBJETIVES);\r\n return this._get(`generic/trading/catalog/investmentprofile`);\r\n }\r\n}\r\n","import { DatePipe } from '@angular/common';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n// NgRx\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { getApplicationId, getCurrentApplicant } from 'store/selectors';\r\n// DateFns\r\nimport {\r\n parse,\r\n addYears,\r\n addMonths,\r\n differenceInYears,\r\n} from 'date-fns';\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { map, tap, withLatestFrom } from 'rxjs/operators';\r\n\r\nimport { LoadingService } from 'app/core/services';\r\nimport { AxosResult } from 'models/enums/trading';\r\nimport { BaseService } from 'services/abstracts';\r\nimport { GET_CACHE, SET_CACHE } from 'app/core/utils';\r\nimport {\r\n RiskQuestion,\r\n GoalsKeyValue,\r\n PortfolioRiskAnswer,\r\n ManagePortfolioStorageModel,\r\n SaveAnswerModel,\r\n} from 'models';\r\nimport { API_URL } from 'app/core/constants';\r\nimport { INVESTMENT_GOALS_ENUM, NAVIGATION_DIRECTION } from 'models/enums';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ManagedPortfolioService extends BaseService {\r\n goalsData: any[];\r\n riskQuestions: RiskQuestion[];\r\n riskAnswers: PortfolioRiskAnswer[];\r\n investmentGoalsInformation: any;\r\n datePipe = new DatePipe('en-US');\r\n managePortfolioInformation: ManagePortfolioStorageModel = {\r\n investment_goals: {\r\n selectedGoal: '',\r\n selections: []\r\n },\r\n investment_experience: ''\r\n };\r\n\r\n questionsDirection: NAVIGATION_DIRECTION = NAVIGATION_DIRECTION.Back;\r\n applicantData$ = this.store$.select(getCurrentApplicant)\r\n .pipe(\r\n withLatestFrom(this.store$.select(getApplicationId)),\r\n map(([{ person }, appId]) => ({\r\n appId,\r\n age: person.age,\r\n DOB: person.birthDate,\r\n annual_income: 10000, // TODO: Check where is located\r\n }),\r\n ));\r\n\r\n constructor(\r\n private store$: Store,\r\n http: HttpClient,\r\n @Inject(API_URL) apiURL: string,\r\n loadingService: LoadingService) {\r\n super(http, loadingService, apiURL);\r\n this.managePortfolioInformation = this.getCached('manage_portolfio_storage') || {};\r\n }\r\n\r\n GetGoals(birthDate: Date, income: number): Observable> {\r\n const date = this.datePipe.transform(birthDate, 'yyyy-MM-dd');\r\n income = (income === undefined) ? 0 : income;\r\n return this._get>(`managedPortfolio/goals?birthDate=${date}&income=${income}`).pipe(\r\n tap(result => this.goalsData = result.data)\r\n );\r\n }\r\n\r\n setMainGoal(key: string, value: string){\r\n this.managePortfolioInformation = {\r\n ...this.managePortfolioInformation,\r\n investment_goals :{\r\n ...this.managePortfolioInformation.investment_goals,\r\n selectedGoal: value\r\n }\r\n }\r\n this.setLocal({ ...this.managePortfolioInformation });\r\n }\r\n\r\n resetGoalFields(): void {\r\n let { investment_goals } = this.managePortfolioInformation;\r\n investment_goals = {\r\n ...investment_goals,\r\n selections: []\r\n };\r\n this.managePortfolioInformation.investment_goals = investment_goals;\r\n this.setLocal({ ...this.managePortfolioInformation });\r\n }\r\n\r\n setGoalField(key: string, value: string) {\r\n let { investment_goals } = this.managePortfolioInformation;\r\n const selections = investment_goals.selections || [];\r\n investment_goals = {\r\n ...investment_goals,\r\n selections: [\r\n ...selections\r\n .filter(item => item.key !== key),\r\n { key, value, fieldType: '' },\r\n ],\r\n };\r\n this.managePortfolioInformation.investment_goals = investment_goals;\r\n this.setLocal({ ...this.managePortfolioInformation });\r\n }\r\n\r\n formGoalsObject() {\r\n const { investment_goals } = this.managePortfolioInformation;\r\n let obj: any = {};\r\n if(investment_goals && investment_goals.selections) {\r\n investment_goals.selections\r\n .forEach(({ key, value }) =>\r\n obj = { ...obj, [key]: value });\r\n }\r\n return obj;\r\n }\r\n\r\n getGoalField(key: string): GoalsKeyValue {\r\n const { investment_goals } = this.managePortfolioInformation;\r\n if(!investment_goals.selections) {\r\n return;\r\n }\r\n return investment_goals.selections.find(f => f.key === key);\r\n }\r\n\r\n buildGoals(DOB?: Date): { targetDate: Date, targetAmount: number } {\r\n const goal = this.managePortfolioInformation.investment_goals.selectedGoal;\r\n let targetDate = new Date();\r\n let targetAmount = 0;\r\n const {\r\n target_date,\r\n target_amount,\r\n months_to_goal,\r\n retirement_age,\r\n spend_per_year,\r\n } = this.formGoalsObject();\r\n if(target_amount) {\r\n // TODO: Have a more elegant way to transform to number\r\n targetAmount = +target_amount.replace(/,/g, '');\r\n }\r\n switch(goal) {\r\n case INVESTMENT_GOALS_ENUM.Retirement:\r\n const targetAge = +retirement_age;\r\n const age = differenceInYears(new Date(), DOB);\r\n targetDate = addYears(DOB, targetAge);\r\n targetAmount = +spend_per_year.replace(/,/g, '') * (targetAge - age);\r\n break;\r\n case INVESTMENT_GOALS_ENUM.BuildWealth:\r\n targetDate = addYears(targetDate, 10);\r\n targetAmount = 12500;\r\n break;\r\n case INVESTMENT_GOALS_ENUM.RainyDay:\r\n targetDate = addMonths(targetDate, +months_to_goal);\r\n break;\r\n case INVESTMENT_GOALS_ENUM.Custom:\r\n targetDate = parse(target_date);\r\n break;\r\n }\r\n return { targetAmount, targetDate };\r\n }\r\n\r\n setLocal(information: ManagePortfolioStorageModel){\r\n SET_CACHE(information, 'manage_portolfio_storage', true);\r\n }\r\n\r\n GetStorage(name: string){\r\n return GET_CACHE(name);\r\n }\r\n\r\n saveGoals(applicationId: string){\r\n return this._post>(`managedPortfolio/goals/${applicationId}`, {\r\n ...this.managePortfolioInformation.investment_goals,\r\n available_milestones: this.goalsData.map(x => x.dto)\r\n });\r\n }\r\n\r\n getRiskQuestions(experienceLevel?: string) {\r\n const level = experienceLevel || this.managePortfolioInformation.investment_experience;\r\n return this._get>(`managedPortfolio/questions/${level}`).pipe(map(({ data }) => {\r\n this.riskQuestions = data;\r\n return data;\r\n }));\r\n }\r\n\r\n getRiskAnswers(applicationId: string) {\r\n return this._get(`managedPortfolio/answers/${applicationId}`).pipe(map(({ data }) => {\r\n this.riskAnswers = data;\r\n return data;\r\n }));\r\n }\r\n\r\n saveRiskScore(applicationId: string, recommended: string, selected: string) {\r\n return this._post(`managedPortfolio/riskScore/${applicationId}`, {\r\n riskScore: selected,\r\n recommendedRiskScore: recommended,\r\n });\r\n }\r\n\r\n saveAnswers(applicationId: string, saveAnswersInformation: SaveAnswerModel) {\r\n return this._post(`managedPortfolio/answers/${applicationId}`, saveAnswersInformation).pipe(tap(() => this.riskAnswers = saveAnswersInformation.answers));\r\n }\r\n\r\n getInvestmentGoals(applicationId: string){\r\n return this._get(`managedPortfolio/${applicationId}`).pipe(map(({data}) => {\r\n this.investmentGoalsInformation = data ? data : [];\r\n if(this.managePortfolioInformation == undefined || this.managePortfolioInformation.investment_experience == undefined){\r\n this.managePortfolioInformation = {\r\n investment_goals: {\r\n selectedGoal: data ? data[\"selectedGoal\"] : null,\r\n selections: data ? data[\"selections\"] : null\r\n },\r\n investment_experience: data && data.productValue ? data.productValue.investing_level : null\r\n };\r\n this.setLocal(this.managePortfolioInformation);\r\n }\r\n return data ? data : [];\r\n }))\r\n }\r\n}\r\n","declare var environment: any;\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseService } from 'services/abstracts';\r\nimport { map } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProxyService extends BaseService {\r\n\r\n checkProxyAccess(): Observable {\r\n const organization = environment.organizationName || 'axos';\r\n return this._get(`auth/access/${organization}`).pipe(\r\n map(({ success }) => success)\r\n );\r\n }\r\n\r\n handoffApplication(applicationId: string) {\r\n return this._post(`api/proxy/application/${applicationId}/handoff`).pipe(\r\n map(({ success }) => success)\r\n );\r\n }\r\n\r\n repCodes(){\r\n return this._get(`user/repcodes`);\r\n }\r\n\r\n verifyUserAccessToApplication(applicationId: string): Observable {\r\n return this._get(`application/${applicationId}/verifyUserAccess`).pipe(\r\n map(({ success }) => success)\r\n );\r\n }\r\n\r\n setProxyDeclinedTrustedSelection(applicantId: string, declinedTrusted: boolean){\r\n return this._post(\r\n `contact/disclosure/${applicantId}?trustedDeclined=${declinedTrusted}`).pipe(\r\n map(response => response.success)\r\n )\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\n\r\nimport { BaseService } from 'services/abstracts';\r\nimport { SelectedVestingType, VestingType, Applicant, Organization, Brand } from 'models';\r\nimport { Observable } from 'rxjs';\r\nimport { AxosResult } from 'models/enums/trading/axos-result.model';\r\nimport { map, switchMap } from 'rxjs/operators';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { API_URL } from 'app/core/constants';\r\nimport { LoadingService, BrowserTypeService } from 'app/core/services';\r\nimport { EnrollmentState } from 'store';\r\nimport { Store } from '@ngrx/store';\r\nimport { getApplicationId } from 'store/selectors';\r\n\r\ndeclare var environment: any;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class VestingTypeService extends BaseService {\r\n\r\n getVestingTypes(organizationId: string, brandName: string, applicationTypeName: string): Observable {\r\n organizationId = environment.organizationId;\r\n return this._get>(`generic/vestingtype/application/organization/${organizationId}/branch/${brandName}/applicationType/${applicationTypeName}`).pipe(map(response => response.data));\r\n }\r\n\r\n saveVestingType(selectedVestingType: SelectedVestingType) {\r\n return this._post>(`vestingType`, selectedVestingType)\r\n .pipe(\r\n map(wrappedResponse => wrappedResponse.data)\r\n );\r\n }\r\n}\r\n","declare var environment: any;\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseService } from './abstracts';\r\nimport { IUserProspect } from 'models';\r\n\r\n@Injectable()\r\nexport class UserProspectService extends BaseService {\r\n\r\n create(user: IUserProspect) {\r\n return this._post('consumer/userprospect', this.prepareData(user), false);\r\n }\r\n\r\n update(user: IUserProspect) {\r\n return this._put('consumer/userprospect', this.prepareData(user), false);\r\n }\r\n\r\n private prepareData(data: IUserProspect): IUserProspect {\r\n return {\r\n ...data,\r\n BrandId: environment.brandId,\r\n Phone: data.Phone ? data.Phone.replace(/-|\\)|\\(|\\s/g, '') : ''\r\n }\r\n }\r\n}\r\n","declare var environment: any;\r\n// Ng\r\nimport { Injectable } from '@angular/core';\r\n// RxJs\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n// Models\r\nimport { IAuthToken, ILeadRequest } from 'models';\r\n// RxJs\r\nimport { map } from 'rxjs/operators';\r\n\r\n\r\nimport { UserNameRequest } from 'models/auth';\r\nimport { BaseService } from 'services/abstracts';\r\nimport { APPLICATION_TYPE_FLOW } from 'models/enums/application-type.enum';\r\n@Injectable()\r\nexport class UserService extends BaseService {\r\n\r\n private _siteCoreData = new BehaviorSubject(null);\r\n siteCoreData$: Observable = this._siteCoreData.asObservable();\r\n organizationName = environment.organizationName;\r\n\r\n create(user: ILeadRequest, guid?: string, applicationTypeName?: APPLICATION_TYPE_FLOW) {\r\n let route = `application/register`;\r\n if (guid) {\r\n route = `${route}?secondaryInvite=${guid}`; \r\n }\r\n return this._post(route, {...user, applicationTypeName: applicationTypeName}).pipe(\r\n map(({ data, metadata }) => {\r\n return { data, metadata }\r\n })\r\n );\r\n }\r\n\r\n updateSiteCoreData(data) {\r\n this._siteCoreData.next(data);\r\n }\r\n\r\n verifyUserName(username: string) {\r\n username = encodeURIComponent(username);\r\n return this._get<{ isUserNameAvailable: boolean }>(`user/userNameAvailability?username=${username}`, null, false);\r\n }\r\n forgotPassword(username: string) {\r\n username = encodeURIComponent(username);\r\n return this._get(`user/ForgotPassword?username=${username}&organizationName=${this.organizationName}`);\r\n }\r\n\r\n forgotUserName(email) {\r\n email = encodeURIComponent(email);\r\n return this._get(`user/ForgotUserName?email=${email}&organizationName=${this.organizationName}`);\r\n }\r\n\r\n createUserNameForIdv1User(userInfo: UserNameRequest) {\r\n return this._put('user/UpdateUserNamePassword', userInfo);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\n// Services\r\nimport { BaseService } from \"./abstracts\";\r\nimport { Website } from \"models/website.model\";\r\n\r\n@Injectable()\r\nexport class WebsiteService extends BaseService {\r\n getWebsite(websiteName: string) {\r\n return this._get(`Website/${websiteName}`);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { ContactInformation } from 'models/proxy';\r\nimport { OptionLevel } from 'models/wl';\r\nimport { map } from 'rxjs/operators';\r\nimport { BaseService } from 'services';\r\n\r\ndeclare var environment: any;\r\n\r\n@Injectable()\r\nexport class WhiteLabelService extends BaseService {\r\n organization = environment.organizationName;\r\n\r\n getOptionLevels(){\r\n return this._get(`generic/organization/${this.organization}/optionslevels`).pipe(\r\n map(({ data }) => data)\r\n );\r\n }\r\n\r\n setOptionLevel(option: OptionLevel, appId: string){\r\n return this._post(\r\n `application/${appId}/features/requestedlevel`,\r\n {feature: 'options', requestedLevel: option? option.id: null }\r\n ).pipe(\r\n map(response => response.success)\r\n );\r\n }\r\n\r\n getSelectedOptionLevel(appId: string){\r\n return this._get(`application/${appId}/features/options/requestedlevel`).pipe(\r\n map(({ data }) => data)\r\n );\r\n }\r\n\r\n setTrustedContact(applicantId: string, contact: ContactInformation, skipHistory: boolean = false){\r\n const requestBody = contact ? [contact] : [];\r\n return this._post(\r\n `contact/${applicantId}?skipHistory=${skipHistory}`, requestBody).pipe(\r\n map(response => response)\r\n );\r\n }\r\n\r\n setDeclinedTrustedSelection(applicantId: string, declinedTrusted: boolean){\r\n return this._post(\r\n `contact/disclosure/${applicantId}?trustedDeclined=${declinedTrusted}`).pipe(\r\n map(response => response.success)\r\n )\r\n }\r\n\r\n getTrustedContact(applicantId: string, contactTypeName: string = \"relative\"){\r\n return this._get(`generic/contact/${applicantId}?contactTypeName=${contactTypeName}`).pipe(\r\n map(({ data }) => data)\r\n );\r\n }\r\n}","import { Injectable } from '@angular/core';\r\n// Services\r\nimport { BaseService } from './abstracts';\r\n// Models\r\nimport { ZipCode } from 'models';\r\n@Injectable()\r\nexport class ZipService extends BaseService {\r\n get(zipCode) { \r\n console.log(zipCode)\r\n return super._get(`generic/common/zip/${zipCode}`, null, false); \r\n }\r\n}","import { Action } from '@ngrx/store';\r\nimport { DocumentRequest } from 'app/documents/models';\r\n// Models\r\nimport { Applicant, Address, IApplicantRequest, IdentificationInfo, PhoneNumber, PersonalInformationTrading, IApplicationRequest, BeneficiariesInformation, IdentificationDetailsInfo, WLIdentificationDetailsInfo, RecommendedAddress } from 'models';\r\nimport { APPLICANT_TYPE_NAME, PHONE_TYPE, ADDRESS_TYPE_NAME } from 'models/enums';\r\nimport { Person, AdditionalPerson } from 'models/trading/person.model';\r\nimport { IdDetails } from 'models/wl/id-details.model';\r\n\r\nexport interface IUpdateApplicantAction {\r\n shouldNavigate: boolean;\r\n}\r\n\r\nexport enum APPLICANTS_ACTION_TYPES {\r\n // Applicants\r\n LOAD_ALL_APPLICANTS = '[Applicants] Load All',\r\n LOAD_ALL_APPLICANTS_FAIL = '[Applicants] Load All fail',\r\n LOAD_ALL_APPLICANTS_SUCCESS = '[Applicants] Load All success',\r\n\r\n LOAD_APPLICANT = '[Applicants] Load Single',\r\n LOAD_APPLICANT_FAIL = '[Applicants] Load Single fail',\r\n LOAD_APPLICANT_SUCCESS = '[Applicants] Load Single success',\r\n\r\n SAVE_APPLICANT_IDENTIFICATION = '[Applicants] Save identifcation info',\r\n SAVE_APPLICANT_IDENTIFICATION_FAIL = '[Applicants] Save identifcation info fail',\r\n SAVE_APPLICANT_IDENTIFICATION_SUCCCESS = '[Applicants] Save identifcation info success',\r\n\r\n RECOMMENDED_APPLICANT_ADDRESS = '[Applicants] Recommended address',\r\n RECOMMENDED_APPLICANT_ADDRESS_SUCCESSS = '[Applicants] Recommended address success',\r\n RECOMMENDED_APPLICANT_ADDRESS_FAIL = '[Applicants] Recommended address fail',\r\n SAVE_APPLICANT_ADDRESS = '[Applicants] Save address',\r\n SAVE_APPLICANT_ADDRESS_FAIL = '[Applicants] Save address fail',\r\n SAVE_APPLICANT_ADDRESS_SUCCCESS = '[Applicants] Save address success',\r\n\r\n SAVE_APPLICANT_PHONE = '[Applicants] Save phone',\r\n SAVE_APPLICANT_PHONE_FAIL = '[Applicants] Save phone fail',\r\n SAVE_APPLICANT_PHONE_SUCCCESS = '[Applicants] Save phone success',\r\n\r\n UPDATE_APPLICANT = '[Applicants] Update',\r\n UPDATE_APPLICANT_FAIL = '[Applicants] Update fail',\r\n UPDATE_APPLICANT_SUCCESS = '[Applicants] Update success',\r\n\r\n SET_CURRENT_APPLICANT_TYPE = '[Applicants] Set current applicant type',\r\n\r\n SAVE_PI_UNIVERSAL = '[Applicants] Save Personal Information Universal',\r\n SAVE_PI_UNIVERSAL_SUCCESS = '[Applicants] Save Personal Information Universal success',\r\n SAVE_PI_UNIVERSAL_FAIL = '[Applicants] Save Personal Information Universal fail',\r\n\r\n LOAD_PERSONAL_INFORMATION_SUCCESS = '[Applicants] Load Personal Information success',\r\n\r\n GET_ADDRESS_INFOES = '[Applicants] Get Address Infoes',\r\n GET_ADDRESS_INFOES_SUCCESS = '[Applicants] Get Address Infoes Success',\r\n GET_ADDRESS_INFOES_FAIL = '[Applicants] Get Address Infoes Fail',\r\n\r\n SAVE_BASIC_INFORMATION = '[Applicants] Save basic information',\r\n SAVE_BASIC_INFORMATION_SUCCESS = '[Applicants] Save basic information success',\r\n\r\n UPDATE_TAX_PAYER_ID = '[Applicants] Update applicant taxPayerId',\r\n UPDATE_TAX_PAYER_ID_SUCCESS = '[Applicants] Update applicant taxPayerId success',\r\n\r\n UPDATE_PROXY_TAX_PAYER_ID = '[Applicants] Update proxy applicant taxPayerId',\r\n UPDATE_PROXY_TAX_PAYER_ID_SUCCESS = '[Applicants] Update proxy applicant taxPayerId success',\r\n\r\n SAVE_ADDITIONAL_OWNER_INFO = '[Applicant] Save additional owner',\r\n SAVE_ADDITIONAL_OWNER_INFO_SUCCESS = '[Applicant] Save additional owner success',\r\n SAVE_ADDITIONAL_OWNER_INFO_FAIL = '[Applicant] Save additional owner fail',\r\n\r\n UPDATE_ADDITIONAL_OWNER_INFO_SUCCESS = '[Applicant] Update additional owner success',\r\n UPDATE_ADDITIONAL_OWNER_INFO_FAIL = '[Applicant] Update additional owner fail',\r\n\r\n GET_REQUESTED_DOCUMENTS = '[Applicant] Get requested documents',\r\n GET_REQUESTED_DOCUMENTS_SUCCESS = '[Applicant] Get requested documents success',\r\n GET_REQUESTED_DOCUMENTS_FAIL = '[Applicant] Get requested documents fail',\r\n\r\n SAVE_IDENTIFICATION_DETAILS = '[Applicant] Save identification details',\r\n SAVE_IDENTIFICATION_DETAILS_SUCCESS = '[Applicant] Save identification details success',\r\n SAVE_IDENTIFICATION_DETAILS_FAIL = '[Applicant] Save identification details fail',\r\n\r\n SAVE_ID_DETAILS_PAGE_2 = '[Applicant] Save identification details page 2',\r\n SAVE_ID_DETAILS_PAGE_2_SUCCESS = '[Applicant] Save identification details page 2 success',\r\n SAVE_ID_DETAILS_PAGE_2_FAIL = '[Applicant] Save identification details page 2 fail',\r\n\r\n GET_APPLICANT_EXISTING = '[Applicant] Get Applicant Existing',\r\n GET_APPLICANT_EXISTING_SUCCESS = '[Applicant] Get Applicant Existing success ',\r\n GET_APPLICANT_EXISTING_FAIL = '[Applicant] Get Applicant Existing fail ',\r\n\r\n CLEAR_STATE = '[Applicants] Clear State'\r\n}\r\n\r\nexport class SetCurrentApplicantTypeAction implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.SET_CURRENT_APPLICANT_TYPE;\r\n constructor(public applicantType: APPLICANT_TYPE_NAME) { }\r\n}\r\n\r\nexport class LoadApplicantAction implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.LOAD_APPLICANT;\r\n constructor(public applicantId: string, public setAsCurrent = false) { }\r\n}\r\n\r\nexport class LoadApplicantSuccessAction implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.LOAD_APPLICANT_SUCCESS;\r\n constructor(public applicant: Applicant, public setAsCurrent = false) { }\r\n}\r\n\r\nexport class LoadAllApplicantsAction implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.LOAD_ALL_APPLICANTS;\r\n constructor() { }\r\n}\r\n\r\nexport class LoadAllApplicantsSuccessAction implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.LOAD_ALL_APPLICANTS_SUCCESS;\r\n constructor(public applicants: Applicant[]) { }\r\n}\r\n\r\nexport class RecommendedApplicantAddressAction implements Action, IUpdateApplicantAction {\r\n readonly type = APPLICANTS_ACTION_TYPES.RECOMMENDED_APPLICANT_ADDRESS;\r\n constructor(public recaddress: RecommendedAddress, public shouldNavigate = false, public skipHistory: boolean) { }\r\n}\r\n\r\nexport class RecommendedApplicantAddressSuccessAction implements Action, IUpdateApplicantAction {\r\n readonly type = APPLICANTS_ACTION_TYPES.RECOMMENDED_APPLICANT_ADDRESS_SUCCESSS;\r\n constructor(public recaddress: RecommendedAddress, public applicantId: string, public shouldNavigate = true, public skipHistory: boolean) { }\r\n}\r\n\r\nexport class RecommendedApplicantAddressFailAction implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.RECOMMENDED_APPLICANT_ADDRESS_FAIL;\r\n constructor(public error: string) { }\r\n}\r\n\r\nexport class SaveApplicantAddressAction implements Action, IUpdateApplicantAction {\r\n readonly type = APPLICANTS_ACTION_TYPES.SAVE_APPLICANT_ADDRESS;\r\n constructor(public address: Address, public addressType: ADDRESS_TYPE_NAME, public shouldNavigate = true, public skipHistory: boolean) { }\r\n}\r\n\r\nexport class SaveApplicantAddressSuccessAction implements Action, IUpdateApplicantAction {\r\n readonly type = APPLICANTS_ACTION_TYPES.SAVE_APPLICANT_ADDRESS_SUCCCESS;\r\n constructor(public address: Address, public applicantId: string, public shouldNavigate = true, public skipHistory: boolean) { }\r\n}\r\n\r\nexport class SaveApplicantAddressFailAction implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.SAVE_APPLICANT_ADDRESS_FAIL;\r\n constructor(public error: string) { }\r\n}\r\n\r\nexport class SaveApplicantPhoneAction implements Action, IUpdateApplicantAction {\r\n readonly type = APPLICANTS_ACTION_TYPES.SAVE_APPLICANT_PHONE;\r\n constructor(public phone: PhoneNumber, public phoneType: PHONE_TYPE, public shouldNavigate = true) { }\r\n}\r\n\r\nexport class SaveApplicantPhoneSuccessAction implements Action, IUpdateApplicantAction {\r\n readonly type = APPLICANTS_ACTION_TYPES.SAVE_APPLICANT_PHONE_SUCCCESS;\r\n constructor(public phone: PhoneNumber, public applicantId: string, public shouldNavigate = true) { }\r\n}\r\n\r\nexport class SaveApplicantIdentificationInfosAction implements Action, IUpdateApplicantAction {\r\n readonly type = APPLICANTS_ACTION_TYPES.SAVE_APPLICANT_IDENTIFICATION;\r\n constructor(public identification: IdentificationInfo, public shouldNavigate = true) { }\r\n}\r\n\r\nexport class SaveApplicantIdentificationInfoSuccessAction implements Action, IUpdateApplicantAction {\r\n readonly type = APPLICANTS_ACTION_TYPES.SAVE_APPLICANT_IDENTIFICATION_SUCCCESS;\r\n constructor(public identification: IdentificationInfo, public applicantId: string, public shouldNavigate = true) { }\r\n}\r\n\r\nexport class UpdateApplicantAction implements Action, IUpdateApplicantAction {\r\n readonly type = APPLICANTS_ACTION_TYPES.UPDATE_APPLICANT;\r\n constructor(public applicant: Applicant, public shouldNavigate = true) { }\r\n}\r\n\r\nexport class UpdateApplicantSuccessAction implements Action, IUpdateApplicantAction {\r\n readonly type = APPLICANTS_ACTION_TYPES.UPDATE_APPLICANT_SUCCESS;\r\n constructor(public applicant: IApplicantRequest, public applicantId: string, public shouldNavigate = true) { }\r\n}\r\n\r\nexport class SavePIUniversalAction implements Action, IUpdateApplicantAction {\r\n readonly type = APPLICANTS_ACTION_TYPES.SAVE_PI_UNIVERSAL;\r\n constructor(public Person: Person, public applicantId: string, public shouldNavigate = true, public skipHistory: boolean) { }\r\n}\r\n\r\nexport class SavePIUniversalSuccessAction implements Action, IUpdateApplicantAction {\r\n readonly type = APPLICANTS_ACTION_TYPES.SAVE_PI_UNIVERSAL_SUCCESS;\r\n constructor(public person: Person, public applicantId: string, public shouldNavigate = true, public skipHistory: boolean) { }\r\n}\r\n\r\nexport class SavePIUniversalFailAction implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.SAVE_PI_UNIVERSAL_FAIL;\r\n constructor(public error: string) { }\r\n}\r\n\r\nexport class LoadPersonalInformationSuccessAction implements Action, IUpdateApplicantAction {\r\n readonly type = APPLICANTS_ACTION_TYPES.LOAD_PERSONAL_INFORMATION_SUCCESS;\r\n constructor(public person: Person, public applicantId: string, public shouldNavigate = true) { }\r\n}\r\n\r\nexport class GetAddressInfoesAction implements Action, IUpdateApplicantAction {\r\n readonly type = APPLICANTS_ACTION_TYPES.GET_ADDRESS_INFOES;\r\n constructor(public applicantId: string, public shouldNavigate = true) { }\r\n}\r\n\r\nexport class GetAddressInfoesSuccessAction implements Action, IUpdateApplicantAction {\r\n readonly type = APPLICANTS_ACTION_TYPES.GET_ADDRESS_INFOES_SUCCESS;\r\n constructor(public AdressInfoes: Address[], public applicantId: string, public shouldNavigate = true) { }\r\n}\r\n\r\nexport class GetAddressInfoesFailAction implements Action, IUpdateApplicantAction {\r\n readonly type = APPLICANTS_ACTION_TYPES.GET_ADDRESS_INFOES_FAIL;\r\n constructor(public applicantId: string, public shouldNavigate = true) { }\r\n}\r\n\r\nexport class SaveBasicInformationAction implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.SAVE_BASIC_INFORMATION;\r\n constructor(public applicantId: string, public person: Person) { }\r\n}\r\n\r\nexport class SaveBasicInformationActionSuccess implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.SAVE_BASIC_INFORMATION_SUCCESS;\r\n constructor(public applicantId: string, public person: Person) { }\r\n}\r\n\r\nexport class UpdateApplicantTaxPayerIdAction implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.UPDATE_TAX_PAYER_ID;\r\n constructor(public applicantId: string, public taxPayerId: string) { }\r\n}\r\n\r\nexport class UpdateProxyApplicantTaxPayerIdAction implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.UPDATE_PROXY_TAX_PAYER_ID;\r\n constructor(public applicationId: string, public applicantId: string, public taxPayerId: string) { }\r\n}\r\n\r\nexport class UpdateApplicantTaxPayerIdActionSuccess implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.UPDATE_TAX_PAYER_ID_SUCCESS;\r\n constructor(public applicantId: string, public taxPayerId: string) { }\r\n}\r\n\r\nexport class UpdateProxyApplicantTaxPayerIdActionSuccess implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.UPDATE_PROXY_TAX_PAYER_ID_SUCCESS;\r\n constructor(public applicationId: string, public applicantId: string, public taxPayerId: string) { }\r\n}\r\n\r\nexport class SaveAdditionalOwnerAction implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.SAVE_ADDITIONAL_OWNER_INFO;\r\n constructor(public additionalPerson: AdditionalPerson, public updateAdditional = false, public skipHistory: boolean) { }\r\n}\r\n\r\nexport class SaveAdditionalOwnerSuccessAction implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.SAVE_ADDITIONAL_OWNER_INFO_SUCCESS;\r\n constructor(public applicantId: string, public additionalPerson: AdditionalPerson, public shouldNavigate = true) { }\r\n}\r\n\r\nexport class SaveAdditionalOwnerFailAction implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.SAVE_ADDITIONAL_OWNER_INFO_FAIL;\r\n constructor() { }\r\n}\r\n\r\nexport class UpdateAdditionalOwnerSuccessAction implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.UPDATE_ADDITIONAL_OWNER_INFO_SUCCESS;\r\n constructor(public applicantId: string, public additionalPerson: AdditionalPerson) { }\r\n}\r\n\r\nexport class UpdateAdditionalOwnerFailAction implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.UPDATE_ADDITIONAL_OWNER_INFO_FAIL;\r\n constructor() { }\r\n}\r\n\r\nexport class GetRequestedDocumentsAction implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.GET_REQUESTED_DOCUMENTS;\r\n constructor(public applicationId: string) { }\r\n}\r\n\r\nexport class GetRequestedDocumentsSuccessAction implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.GET_REQUESTED_DOCUMENTS_SUCCESS;\r\n constructor(public applicantId: string, public requestedDocuments: DocumentRequest[]) { }\r\n}\r\n\r\nexport class GetRequestedDocumentsFailAction implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.GET_REQUESTED_DOCUMENTS_FAIL;\r\n constructor() { }\r\n}\r\n\r\nexport class SaveIdentificationDetailsAction implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.SAVE_IDENTIFICATION_DETAILS;\r\n constructor(public identificationDetailsInfo: WLIdentificationDetailsInfo, public skipHistory: boolean) { }\r\n}\r\n\r\nexport class SaveIdentificationDetailsSuccessAction implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.SAVE_IDENTIFICATION_DETAILS_SUCCESS;\r\n constructor(public applicantId: string, public identificationDetailsInfo: any, public shouldNavigate = true) { }\r\n}\r\n\r\nexport class SaveIdentificationDetailsFailAction implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.SAVE_IDENTIFICATION_DETAILS_FAIL;\r\n constructor(){}\r\n}\r\nexport class ClearApplicantsStateAction implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.CLEAR_STATE;\r\n constructor() { }\r\n}\r\n\r\nexport class GetApplicantExisting implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.GET_APPLICANT_EXISTING;\r\n constructor(public applicantId?: string) { }\r\n}\r\n\r\nexport class GetApplicantExistingSuccessAction implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.GET_APPLICANT_EXISTING_SUCCESS;\r\n constructor(public applicantId: string, public isExisting: boolean) { }\r\n}\r\n\r\nexport class GetApplicantExistingFailAction implements Action {\r\n readonly type = APPLICANTS_ACTION_TYPES.GET_APPLICANT_EXISTING_FAIL;\r\n constructor() { }\r\n}\r\n\r\nexport class SaveIdDetailsPage2 implements Action{\r\n readonly type = APPLICANTS_ACTION_TYPES.SAVE_ID_DETAILS_PAGE_2;\r\n constructor(public idDetails: IdDetails, public skipHistory: boolean) { }\r\n}\r\n\r\nexport class SaveIdDetailsPage2Success implements Action{\r\n readonly type = APPLICANTS_ACTION_TYPES.SAVE_ID_DETAILS_PAGE_2_SUCCESS;\r\n constructor(public applicantId: string, public idDetails: IdDetails) { }\r\n}\r\n\r\nexport class SaveIdDetailsPage2Fail implements Action{\r\n readonly type = APPLICANTS_ACTION_TYPES.SAVE_ID_DETAILS_PAGE_2_FAIL;\r\n constructor(public error: string) { }\r\n}\r\n\r\nexport type ApplicantsAction = SetCurrentApplicantTypeAction |\r\n LoadAllApplicantsAction | LoadAllApplicantsSuccessAction |\r\n LoadApplicantAction | LoadApplicantSuccessAction |\r\n SaveApplicantAddressAction | SaveApplicantAddressSuccessAction | SaveApplicantAddressFailAction |\r\n SaveApplicantPhoneAction | SaveApplicantPhoneSuccessAction |\r\n SaveApplicantIdentificationInfosAction | SaveApplicantIdentificationInfoSuccessAction |\r\n UpdateApplicantAction | UpdateApplicantSuccessAction |\r\n SavePIUniversalAction | SavePIUniversalSuccessAction | SavePIUniversalFailAction |\r\n LoadPersonalInformationSuccessAction | GetAddressInfoesAction |\r\n GetAddressInfoesSuccessAction | GetAddressInfoesFailAction |\r\n SaveBasicInformationAction | SaveBasicInformationActionSuccess |\r\n UpdateApplicantTaxPayerIdAction | UpdateProxyApplicantTaxPayerIdAction |\r\n UpdateApplicantTaxPayerIdActionSuccess | UpdateProxyApplicantTaxPayerIdActionSuccess |\r\n SaveAdditionalOwnerAction | SaveAdditionalOwnerSuccessAction | SaveAdditionalOwnerFailAction |\r\n UpdateAdditionalOwnerSuccessAction | UpdateAdditionalOwnerFailAction |\r\n GetRequestedDocumentsAction | GetRequestedDocumentsSuccessAction | GetRequestedDocumentsFailAction |\r\n SaveIdentificationDetailsAction | SaveIdentificationDetailsSuccessAction | SaveIdentificationDetailsFailAction |\r\n SaveIdDetailsPage2 | SaveIdDetailsPage2Success | SaveIdDetailsPage2Fail |\r\n GetApplicantExisting | GetApplicantExistingSuccessAction | GetApplicantExistingFailAction |\r\n ClearApplicantsStateAction | RecommendedApplicantAddressAction | RecommendedApplicantAddressFailAction | RecommendedApplicantAddressSuccessAction;\r\n","import { Action } from '@ngrx/store';\r\n// Models\r\nimport { Account, ApplicationStatus, IApplication, Applicant, IApplicantMetadata, BeneficiariesInformation, Beneficiary, TrustCertificate, TrustTypes } from 'models';\r\nimport { APPLICATION_STATE, SOURCE_TYPES, BENEFICIARY_TYPE } from 'models/enums';\r\n\r\nexport enum APPLICATION_ACTION_TYPES {\r\n CREATE_APPLICATION = '[Application] Create',\r\n CREATE_APPLICATION_FAIL = '[Application] Create fail',\r\n CREATE_APPLICATION_SUCCESS = '[Application] Create success',\r\n\r\n LOAD_APPLICATION = '[Application] Load',\r\n LOAD_APPLICATION_FAIL = '[Application] Load fail',\r\n LOAD_APPLICATION_SUCCESS = '[Application] Load success',\r\n\r\n SET_APPLICATION_APPLICANTS = '[Application] Set application applicants',\r\n\r\n LOAD_APPLICATION_BY_TOKEN = '[Application] Load by token',\r\n LOAD_APPLICATION_BY_TOKEN_FAIL = '[Application] Load by token fail',\r\n LOAD_APPLICATION_BY_TOKEN_SUCCESS = '[Application] Load by token success',\r\n\r\n LOAD_ACCOUNTS = '[Application] Load Accounts',\r\n LOAD_ACCOUNTS_FAIL = '[Application] Load Accounts fail',\r\n LOAD_ACCOUNTS_SUCCESS = '[Application] Load Accounts success',\r\n\r\n SET_STATE = '[Application] Set State',\r\n SET_STATE_FAIL = '[Application] Set State fail',\r\n SET_STATE_SUCCESS = '[Application] Set State success',\r\n\r\n CANCEL_APPLICATION = '[Application] Cancel',\r\n CANCEL_APPLICATION_FAIL = '[Application] Cancel fail',\r\n CANCEL_APPLICATION_SUCCESS = '[Application] Cancel success',\r\n\r\n UPDATE_PROMO_CODE = '[Application] Update Promo Code',\r\n UPDATE_PROMO_CODE_FAIL = '[Application] Update Promo Code fail',\r\n UPDATE_PROMO_CODE_SUCCESS = '[Application] Update Promo Code success',\r\n\r\n CORRECT_ROUTE = '[Application] Correct Route',\r\n\r\n CHECK_INFLIGHT_APPLICATION = '[Application] Check in-flight application',\r\n CHECK_INFLIGHT_APPLICATION_REDIRECT = '[Application] Check in-flight application redirect',\r\n\r\n UPDATE_LOCAL_APPLICATION_STATE = '[Application] Update local application state',\r\n\r\n GET_CONFIRMATION_NUMBER = '[Application] Get confirmation number',\r\n GET_CONFIRMATION_NUMBER_SUCCESS = '[Application] Get confirmation number success',\r\n GET_CONFIRMATION_NUMBER_FAIL = '[Application] Get confirmation number fail',\r\n\r\n SET_APPLICANTS_META = '[Application] Set Applicants meta',\r\n SET_VESTING_TYPE_SUCCESS = '[Application] Set vesting type success',\r\n\r\n SAVE_BENEFICIARIES = '[Applicant] Save beneficiaries',\r\n SAVE_BENEFICIARIES_SUCCESS = '[Applicant] Save beneficiaries success',\r\n SAVE_BENEFICIARIES_FAIL = '[Applicant] Save beneficiaries fail',\r\n\r\n DECLINED_BENEFICIARIES = '[Applicant] Declined beneficiaries',\r\n\r\n SAVE_BENEFICIARIES_CONTINGENT_SUCCESS = '[Applicant] Save beneficiaries contingent success',\r\n SAVE_BENEFICIARIES_CONTINGENT_FAIL = '[Applicant] Save beneficiaries contingent fail',\r\n\r\n SKIP_BENEFICIARIES = '[Applicant] Skip beneficiaries',\r\n SKIP_BENEFICIARIES_SUCCESS = '[Applicant] Skip beneficiaries success',\r\n SKIP_BENEFICIARIES_FAIL = '[Applicant] Skip beneficiaries fail',\r\n\r\n SKIP_BENEFICIARIES_CONTINGENT_SUCCESS = '[Applicant] Skip beneficiaries contingent success',\r\n\r\n GET_BENEFICIARIES_INFORMATION = '[Application] Get beneficiaries information',\r\n GET_BENEFICIARIES_INFORMATION_SUCCESS = '[Application] Get beneficiaries information success',\r\n GET_BENEFICIARIES_INFORMATION_FAIL = '[Application] Get beneficiaries information fail',\r\n\r\n GET_BENEFICIARIES_CONTINGENT_INFORMATION = '[Application] Get beneficiaries contingent information',\r\n GET_BENEFICIARIES_CONTINGENT_INFORMATION_SUCCESS = '[Application] Get beneficiaries contingent information success',\r\n GET_BENEFICIARIES_CONTINGENT_INFORMATION_FAIL = '[Application] Get beneficiaries contingent information fail',\r\n\r\n SAVE_TRUST_CERTIFICATE = '[Application] Save trust certificate',\r\n SAVE_TRUST_CERTIFICATE_SUCCESS = '[Application] Save trust certificate success',\r\n\r\n GET_TRUST_CERTIFICATE_INFORMATION = '[Application] Get trust certificate information',\r\n GET_TRUST_CERTIFICATE_INFORMATION_SUCCESS = '[Application] Get trust certificate information success',\r\n GET_TRUST_CERTIFICATE_INFORMATION_FAIL = '[Application] Get trust certirficate information fail',\r\n\r\n REDIRECTO_TO_GENERAL_ERROR_PAGE = '[Application] Redirecto to general error page',\r\n\r\n GET_TRUST_TYPES = '[Application] Get trust types',\r\n GET_TRUST_TYPES_SUCCESS = '[Application] Get trust types success',\r\n GET_TRUST_TYPES_FAIL = '[Application] Get trust types fail',\r\n\r\n GET_SELECTE_TRUST_TYPE = '[Application] Get selected trust type',\r\n GET_SELECTE_TRUST_TYPE_SUCCESS = '[Application] Get selected trust type success',\r\n GET_SELECTE_TRUST_TYPE_FAIL = '[Application] Get selected trust type fail',\r\n\r\n CLEAR_STATE = '[Application] Clear State'\r\n}\r\n\r\nexport class SetApplicationStateAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.SET_STATE;\r\n constructor(public state: APPLICATION_STATE) { }\r\n}\r\n\r\nexport class SetApplicationStateSuccessAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.SET_STATE_SUCCESS;\r\n constructor(public state: APPLICATION_STATE) { }\r\n}\r\n\r\nexport class LoadAccountsAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.LOAD_ACCOUNTS;\r\n constructor() { }\r\n}\r\n\r\nexport class LoadAccountsSuccessAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.LOAD_ACCOUNTS_SUCCESS;\r\n constructor(public accounts: Account[]) { }\r\n}\r\n\r\nexport class LoadAccountsFailAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.LOAD_ACCOUNTS_FAIL;\r\n}\r\n\r\nexport class LoadApplicationAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.LOAD_APPLICATION;\r\n constructor(public applicationId?: string) { }\r\n}\r\n\r\nexport class LoadApplicationSuccessAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.LOAD_APPLICATION_SUCCESS;\r\n constructor(public application: IApplication) { }\r\n}\r\n\r\nexport class SetApplicationApplicants implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.SET_APPLICATION_APPLICANTS;\r\n constructor(public applicants: Applicant[]) { }\r\n}\r\nexport class LoadApplicationByTokenAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.LOAD_APPLICATION_BY_TOKEN;\r\n constructor(public createNew: boolean = false, public sso?: boolean) { }\r\n}\r\n\r\nexport class LoadApplicationByTokenSuccessAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.LOAD_APPLICATION_BY_TOKEN_SUCCESS;\r\n constructor(public application: IApplication) { }\r\n}\r\n\r\nexport class CreateApplicationAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.CREATE_APPLICATION;\r\n constructor(public sourceTypeId: SOURCE_TYPES, public textMessageAllowed: boolean = false, public shareInfo?: boolean) { }\r\n}\r\n\r\nexport class CreateApplicationSuccessAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.CREATE_APPLICATION_SUCCESS;\r\n constructor() { }\r\n}\r\n\r\nexport class CreateApplicationFailAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.CREATE_APPLICATION_FAIL;\r\n constructor(error: string) { }\r\n}\r\n\r\nexport class UpdatePromocodeAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.UPDATE_PROMO_CODE;\r\n constructor(public promoCode: string) { }\r\n}\r\n\r\nexport class UpdatePromoCodeSuccessAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.UPDATE_PROMO_CODE_SUCCESS;\r\n constructor(public promoCode: string) { }\r\n}\r\n\r\nexport class CancelApplicationAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.CANCEL_APPLICATION;\r\n\r\n}\r\n\r\nexport class CancelApplicationSuccessAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.CANCEL_APPLICATION_SUCCESS;\r\n\r\n}\r\n\r\nexport class CancelApplicationFailAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.CANCEL_APPLICATION_FAIL;\r\n\r\n}\r\n\r\nexport class CheckInFlightApplicationAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.CHECK_INFLIGHT_APPLICATION;\r\n}\r\n\r\nexport class CheckInFlightApplicationRedirectAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.CHECK_INFLIGHT_APPLICATION_REDIRECT;\r\n constructor(public path: string) { }\r\n}\r\n\r\nexport class CorrectApplicationRouteAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.CORRECT_ROUTE;\r\n}\r\n\r\nexport class UpdateLocalApplicationState implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.UPDATE_LOCAL_APPLICATION_STATE;\r\n constructor(public state: ApplicationStatus) { }\r\n}\r\n\r\nexport class GetConfirmationNumberAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.GET_CONFIRMATION_NUMBER;\r\n}\r\n\r\nexport class GetConfirmationNumberSuccessAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.GET_CONFIRMATION_NUMBER_SUCCESS;\r\n constructor(public confirmationNumber: string) { }\r\n}\r\n\r\nexport class SetVestingTypeSuccessAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.SET_VESTING_TYPE_SUCCESS;\r\n constructor(public vestingTypeName: string, public applicants: IApplicantMetadata[]) { }\r\n}\r\n\r\nexport class SetApplicantsMeta implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.SET_APPLICANTS_META;\r\n constructor(public applicants: IApplicantMetadata[]) { }\r\n}\r\n\r\nexport class SaveBeneficiariesAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.SAVE_BENEFICIARIES;\r\n constructor(public beneficiariesInformation: Beneficiary[],\r\n public beneficiariesType: BENEFICIARY_TYPE,\r\n public stepsToSkip: any = null,\r\n public skipHistory: boolean = false) {}\r\n}\r\n\r\nexport class SaveBeneficiariesSuccessAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.SAVE_BENEFICIARIES_SUCCESS;\r\n constructor(public beneficiariesInformation: Beneficiary[]) {}\r\n}\r\n\r\nexport class SaveBeneficiariesFailAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.SAVE_BENEFICIARIES_FAIL;\r\n constructor() {}\r\n}\r\n\r\nexport class SaveBeneficiariesContingentSuccessAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.SAVE_BENEFICIARIES_CONTINGENT_SUCCESS;\r\n constructor(public beneficiariesInformation: Beneficiary[]) {}\r\n}\r\n\r\nexport class SaveBeneficiariesContingentFailAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.SAVE_BENEFICIARIES_CONTINGENT_FAIL;\r\n constructor() {}\r\n}\r\n\r\nexport class SkipBeneficiariesAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.SKIP_BENEFICIARIES;\r\n constructor(\r\n public beneficiariesInformation: Beneficiary[],\r\n public beneficiariesType: BENEFICIARY_TYPE,\r\n public stepsToSkip: any = null,\r\n ) {}\r\n}\r\n\r\nexport class SkipBeneficiariesSuccessAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.SKIP_BENEFICIARIES_SUCCESS;\r\n constructor(public beneficiariesInformation: Beneficiary[]) {}\r\n}\r\n\r\nexport class SkipBeneficiariesFailAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.SKIP_BENEFICIARIES_FAIL;\r\n constructor() {}\r\n}\r\n\r\nexport class SkipBeneficiariesContingentSuccessAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.SKIP_BENEFICIARIES_CONTINGENT_SUCCESS;\r\n constructor(public beneficiariesInformation: Beneficiary[]) {}\r\n}\r\n\r\nexport class DeclinedBeneficiaries implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.DECLINED_BENEFICIARIES;\r\n constructor(\r\n public declinedBeneficiaries: boolean,\r\n public isProxy: boolean,\r\n public beneficiariesInformation: Beneficiary[],\r\n public beneficiariesType: BENEFICIARY_TYPE,\r\n public stepsToSkip: any = null,\r\n ) {}\r\n}\r\n\r\nexport class GetBeneficiariesInformationAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.GET_BENEFICIARIES_INFORMATION;\r\n constructor(public typeName: string) {}\r\n}\r\n\r\nexport class GetBeneficiariesInformationSuccessAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.GET_BENEFICIARIES_INFORMATION_SUCCESS;\r\n constructor(public beneficiaries: Beneficiary[]) { }\r\n}\r\n\r\nexport class GetBeneficiariesInformationFailAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.GET_BENEFICIARIES_INFORMATION_FAIL;\r\n constructor() {}\r\n}\r\n\r\nexport class GetBeneficiariesContingentInformationAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.GET_BENEFICIARIES_CONTINGENT_INFORMATION;\r\n constructor() {}\r\n}\r\n\r\nexport class GetBeneficiariesContingentInformationSuccessAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.GET_BENEFICIARIES_CONTINGENT_INFORMATION_SUCCESS;\r\n constructor(public beneficiaries: Beneficiary[]) { }\r\n}\r\n\r\nexport class GetBeneficiariesContingentInformationFailAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.GET_BENEFICIARIES_CONTINGENT_INFORMATION_FAIL;\r\n constructor() {}\r\n}\r\n\r\nexport class SaveTrustCertificateAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.SAVE_TRUST_CERTIFICATE;\r\n constructor(public applicationId: string, public certificate: TrustCertificate, public shouldNavigate = true, public skipHistory: boolean) { }\r\n}\r\n\r\nexport class SaveTrustCertificateSuccessAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.SAVE_TRUST_CERTIFICATE_SUCCESS;\r\n constructor(public certificate: TrustCertificate, public shouldNavigate = true, public skipHistory: boolean) { }\r\n}\r\n\r\nexport class GetTrustCertificateInformationAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.GET_TRUST_CERTIFICATE_INFORMATION;\r\n constructor(public applicationId: string) { }\r\n}\r\n\r\nexport class GetTrustCertificateInformationSuccessAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.GET_TRUST_CERTIFICATE_INFORMATION_SUCCESS;\r\n constructor(public certificate: TrustCertificate) { }\r\n}\r\n\r\nexport class GetTrustCertificateInformationFailAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.GET_TRUST_CERTIFICATE_INFORMATION_FAIL;\r\n constructor() { }\r\n}\r\n\r\nexport class RedirectToGeneralErrorPage implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.REDIRECTO_TO_GENERAL_ERROR_PAGE;\r\n constructor() { }\r\n}\r\n\r\nexport class GetTrustTypesAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.GET_TRUST_TYPES;\r\n constructor() { }\r\n}\r\n\r\nexport class GetTrustTypesSuccessAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.GET_TRUST_TYPES_SUCCESS;\r\n constructor(public trustTypes: TrustTypes[]) { }\r\n}\r\n\r\nexport class GetTrustTypesFailAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.GET_TRUST_TYPES_FAIL;\r\n constructor() { }\r\n}\r\n\r\nexport class ClearApplicationStateAction implements Action {\r\n readonly type = APPLICATION_ACTION_TYPES.CLEAR_STATE;\r\n constructor() { }\r\n}\r\n\r\n// export class GetSelectedTrustTypeAction implements Action {\r\n// readonly type = APPLICATION_ACTION_TYPES.GET_TRUST_TYPES;\r\n// constructor(public ) { }\r\n// }\r\n\r\n// export class GetSelectedTrustTypeSuccessAction implements Action {\r\n// readonly type = APPLICATION_ACTION_TYPES.GET_TRUST_TYPES_SUCCESS;\r\n// constructor(public trustTypes: string[]) { }\r\n// }\r\n\r\n// export class GetSelectedTrustTypeFailAction implements Action {\r\n// readonly type = APPLICATION_ACTION_TYPES.GET_TRUST_TYPES_FAIL;\r\n// constructor() { }\r\n// }\r\n\r\nexport type ApplicationAction =\r\n LoadApplicationAction | LoadApplicationSuccessAction |\r\n LoadApplicationByTokenAction | LoadApplicationByTokenSuccessAction |\r\n CreateApplicationAction | CreateApplicationSuccessAction | CreateApplicationFailAction |\r\n SetApplicationApplicants | LoadAccountsAction | LoadAccountsSuccessAction | LoadAccountsFailAction |\r\n SetApplicationStateAction | SetApplicationStateSuccessAction |\r\n UpdatePromocodeAction | UpdatePromoCodeSuccessAction |\r\n CancelApplicationAction | CancelApplicationSuccessAction | CancelApplicationFailAction |\r\n CheckInFlightApplicationAction | CheckInFlightApplicationRedirectAction |\r\n UpdateLocalApplicationState | CorrectApplicationRouteAction |\r\n GetConfirmationNumberAction | GetConfirmationNumberSuccessAction | SetVestingTypeSuccessAction | SetApplicantsMeta |\r\n SaveBeneficiariesAction | SaveBeneficiariesSuccessAction | SaveBeneficiariesFailAction | DeclinedBeneficiaries |\r\n SaveBeneficiariesContingentSuccessAction | SaveBeneficiariesContingentFailAction |\r\n SkipBeneficiariesAction | SkipBeneficiariesSuccessAction | SkipBeneficiariesFailAction | SkipBeneficiariesContingentSuccessAction |\r\n GetBeneficiariesInformationAction | GetBeneficiariesInformationSuccessAction | GetBeneficiariesInformationFailAction |\r\n GetBeneficiariesContingentInformationAction | GetBeneficiariesContingentInformationSuccessAction | GetBeneficiariesContingentInformationFailAction |\r\n SaveTrustCertificateAction | SaveTrustCertificateSuccessAction |\r\n GetTrustCertificateInformationAction | GetTrustCertificateInformationSuccessAction | GetTrustCertificateInformationFailAction | RedirectToGeneralErrorPage |\r\n GetTrustTypesAction | GetTrustTypesSuccessAction | GetTrustTypesFailAction |\r\n ClearApplicationStateAction;\r\n","import { Action } from '@ngrx/store';\r\nimport { IAuthToken, IChallengeInfo, IExistingUser, IOtpChallengeInfo, ISignInRequest, IUser, IUserRequest, UserNameRequest, IChallengeOtpRequest } from 'models/auth';\r\nimport { IValidateOtpRequest } from 'models/auth/validate-otp-request.model';\r\nimport { IUserLead, ILeadRequest, IUserLeadResponse } from 'models';\r\nimport { SOURCE_TYPES } from 'models/enums';\r\n\r\n\r\nexport enum USER_ACTION_TYPES {\r\n LOGIN = '[Auth] Login',\r\n LOGIN_FAIL = '[Auth] Login fail',\r\n LOGIN_SUCCESS = '[Auth] Login success',\r\n COOKIE_LOGIN = '[Auth] Cookie login',\r\n COOKIE_LOGIN_FAIL = '[Auth] Cookie login fail',\r\n COOKIE_LOGIN_SUCCESS = '[Auth] Cookie login success',\r\n\r\n TOKEN_LOGIN = '[Auth] Token login',\r\n TOKEN_LOGIN_FAIL = '[Auth] Token login fail',\r\n TOKEN_LOGIN_SUCCESS = '[Auth] Token login success',\r\n\r\n GET_USER = '[Auth] Get user',\r\n GET_USER_FAIL = '[Auth] Get user fail',\r\n GET_USER_SUCCESS = '[Auth] Get user success',\r\n\r\n CREATE_USER = '[Auth] Create user',\r\n CREATE_USER_FAIL = '[Auth] Create user fail',\r\n CREATE_USER_SUCCESS = '[Auth] Create user success',\r\n\r\n CREATE_PROXY_USER = '[Auth] Create proxy user',\r\n CREATE_PROXY_USER_FAIL = '[Auth] Create proxy user fail',\r\n CREATE_PROXY_USER_SUCCESS = '[Auth] Create proxy user success',\r\n\r\n CREATE_LEAD = '[Auth] Create lead',\r\n CREATE_LEAD_FAIL = '[Auth] Create lead fail',\r\n CREATE_LEAD_SUCCESS = '[Auth] Create lead success',\r\n\r\n UPDATE_LEAD = '[Auth] Update lead',\r\n UPDATE_LEAD_FAIL = '[Auth] Update lead fail',\r\n UPDATE_LEAD_SUCCESS = '[Auth] Update lead success',\r\n\r\n REGISTER_EXISTING_USER = '[Auth] Create existing user',\r\n REGISTER_EXISTING_USER_SUCCESS = '[Auth] Create existing user success',\r\n REGISTER_EXISTING_USER_FAIL = '[Auth] Create existing user fail',\r\n\r\n REFRESH_TOKEN = '[Auth] Refresh token',\r\n REFRESH_TOKEN_FAIL = '[Auth] Refresh token fail',\r\n REFRESH_TOKEN_SUCCESS = '[Auth] Refresh token success',\r\n\r\n REQUEST_MULTIFACTOR_OTP = '[Auth] Request multifactor otp',\r\n REQUEST_MULTIFACTOR_OTP_SUCCESS = '[Auth] Request multifactor otp success',\r\n REQUEST_MULTIFACTOR_OTP_FAIL = '[Auth] Request multifactor otp fail',\r\n\r\n REQUEST_MULTIFACTOR_NoUser_OTP = '[Auth] Request multifactor otp No user',\r\n REQUEST_MULTIFACTOR_NoUser_OTP_SUCCESS = '[Auth] Request multifactor otp success No user',\r\n REQUEST_MULTIFACTOR_NoUser_OTP_FAIL = '[Auth] Request multifactor otp fail No user',\r\n\r\n VALIDATE_OTP_CODE = '[Auth] Validate OTP code',\r\n VALIDATE_OTP_CODE_SUCCESS = '[Auth] Validate OTP code success',\r\n VALIDATE_OTP_CODE_FAIL = '[Auth] Validate OTP code fail',\r\n\r\n VALIDATE_EXISTING_CUSTOMER = '[Auth] Validate existing customer',\r\n VALIDATE_EXISTING_CUSTOMER_SUCCESS = '[Auth] Validate existing customer success',\r\n VALIDATE_EXISTING_CUSTOMER_FAIL = '[Auth] Validate existing customer fail',\r\n\r\n GET_ENROLLMENT_URL = '[Auth] Get enrollment url',\r\n GET_ENROLLMENT_URL_SUCCESS = '[Auth] Get enrollment url success',\r\n GET_ENROLLMENT_URL_FAIL = '[Auth] Get enrollment url fail',\r\n\r\n GET_SECURITY_QUESTIONS = '[Auth] Get security questions',\r\n GET_SECURITY_QUESTIONS_SUCCESS = '[Auth] Get security questions success',\r\n GET_SECURITY_QUESTIONS_FAIL = '[Auth] Get security questions fail',\r\n\r\n SAVE_SECURITY_QUESTIONS = '[Auth] Save security questions',\r\n SAVE_SECURITY_QUESTIONS_SUCCESS = '[Auth] Save security question success',\r\n SAVE_SECURITY_QUESTIONS_FAIL = '[Auth] Save security questions fail',\r\n\r\n RESET_TASKS_STATES = '[Auth] Reset existing customer tasks states',\r\n RESET_TASKS_STATES_SUCCESS = '[Auth] Reset tasks states success',\r\n RESET_TASKS_STATES_FAIL = '[Auth] Reset tasks states fail',\r\n\r\n CREATE = '[Auth] Create',\r\n CREATE_SUCCESS = '[Auth] Createsuccess',\r\n CREATE_FAIL = '[Auth] Create fail',\r\n\r\n REDIRECT_OTP = '[Auth] Redirect OTP',\r\n REDIRECT_SECURITY_QUESTIONS = '[Auth] Redirect Security Questions',\r\n CLEAR_ERROR = '[Auth] Clear error',\r\n FORGOT_PASSWORD = '[Auth] Forgot password',\r\n FORGOT_PASSWORD_SUCCESS = '[Auth] Forgot password success',\r\n FORGOT_PASSWORD_FAIL = '[Auth] Forgot password fail',\r\n FORGOT_USERNAME = '[Auth] Forgot username',\r\n FORGOT_USERNAME_SUCCESS = '[Auth] Forgot username success',\r\n FORGOT_USERNAME_FAIL = '[Auth] Forgot username fail',\r\n SHOW_LOGIN = '[Auth] Show Login',\r\n GET_RANDOM_SECURITY_QUESTION = '[Auth] Get random securyty question',\r\n GET_RANDOM_SECURITY_QUESTION_FAIL = '[Auth] Get random securyty question fail',\r\n GET_RANDOM_SECURITY_QUESTION_SUCCESS = '[Auth] Get random securyty question success',\r\n VERIFY_SECURITY_QUESTION_ANSWER = '[Auth] Verify security question answer',\r\n VERIFY_SECURITY_QUESTION_ANSWER_SUCCESS = '[Auth] Verify security question answer success',\r\n VERIFY_SECURITY_QUESTION_ANSWER_FAIL = '[Auth] Verify security question answer fail',\r\n VALIDATE_RESET_PASSWORD = '[Auth] Validate reset password',\r\n VALIDATE_RESET_PASSWORD_FAIL = '[Auth] Validate reset password fail',\r\n VALIDATE_RESET_PASSWORD_SUCCESS = '[Auth] Validate reset password success',\r\n CHANGE_PASSWORD = '[Auth] Change password',\r\n CHANGE_PASSWORD_FAIL = '[Auth] Change password fail',\r\n CHANGE_PASSWORD_SUCCESS = '[Auth] Change password success',\r\n LOGOUT = '[Auth] Logout',\r\n CREATE_USER_NAME = '[Auth] Create user name',\r\n CREATE_USER_NAME_SUCCESS = '[Auth] Create user name success',\r\n CREATE_USER_NAME_FAIL = '[Auth] Create user name fail',\r\n\r\n CHECK_GUID_VALID = '[Auth] Check guid valid',\r\n CHECK_GUID_VALID_SUCCESS = '[Auth] Check guid valid success',\r\n CHECK_GUID_VALID_FAIL = '[Auth] Check guid valid fail',\r\n\r\n CHECK_APP_VALID = '[Auth] Check App validity',\r\n CHECK_APP_VALID_SUCCESS = '[Auth] Check App validity success',\r\n CHECK_APP_VALID_FAIL = '[Auth] Check App validity fail',\r\n\r\n VERIFY_EXISTING_CUSTOMER = '[Auth] Verify existing customer',\r\n VERIFY_EXISTING_CUSTOMER_FAIL = '[Auth] Verify existing customer fail',\r\n\r\n VALIDATE_USER_EXIST = '[User] Validate existing customer',\r\n VALIDATE_USER_EXIST_SUCCESS = '[User] Validate existing customer success',\r\n VALIDATE_USER_EXIST_FAIL = '[User] Validate existing customer fail',\r\n\r\n SET_GUID = '[Auth] Set guid',\r\n SET_GUID_SUCCESS = '[Auth] Set guid success',\r\n SET_GUID_FAIL = '[Auth] Set guid fail'\r\n}\r\n\r\ninterface IApplicationOptions {\r\n sourceTypeId: SOURCE_TYPES,\r\n textMessageAllowed: boolean,\r\n shareInfo?: boolean\r\n }\r\n\r\nexport class CreateUserAction implements Action {\r\n readonly type = USER_ACTION_TYPES.CREATE_USER;\r\n constructor(public user: ILeadRequest, public electronicDisclosure = false) { }\r\n}\r\n\r\nexport class CreateUserSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.CREATE_USER_SUCCESS;\r\n constructor(public applicationId: string) { }\r\n}\r\n\r\nexport class CreateUserFailAction implements Action {\r\n readonly type = USER_ACTION_TYPES.CREATE_USER_FAIL;\r\n constructor(public error: string) { }\r\n}\r\n\r\nexport class CreateProxyUserAction implements Action {\r\n readonly type = USER_ACTION_TYPES.CREATE_PROXY_USER;\r\n constructor(public user: ILeadRequest, public electronicDisclosure = false) { }\r\n}\r\n\r\nexport class CreateProxyUserSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.CREATE_PROXY_USER_SUCCESS;\r\n constructor(public applicationId: string) { }\r\n}\r\n\r\nexport class CreateLeadAction implements Action {\r\n readonly type = USER_ACTION_TYPES.CREATE_LEAD;\r\n constructor(public userLead: IUserLead) { }\r\n}\r\n\r\nexport class CreateLeadSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.CREATE_LEAD_SUCCESS;\r\n constructor(public userLeadResponse: IUserLeadResponse) { }\r\n}\r\n\r\nexport class CreateLeadFailAction implements Action {\r\n readonly type = USER_ACTION_TYPES.CREATE_LEAD_FAIL;\r\n constructor(public error: string) { }\r\n}\r\n\r\nexport class UpdateLeadAction implements Action {\r\n readonly type = USER_ACTION_TYPES.UPDATE_LEAD;\r\n constructor(public userLead: IUserLead) { }\r\n}\r\n\r\nexport class UpdateLeadSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.UPDATE_LEAD_SUCCESS;\r\n constructor(public userLeadResponse: IUserLeadResponse) { }\r\n}\r\n\r\nexport class UpdateLeadFailAction implements Action {\r\n readonly type = USER_ACTION_TYPES.UPDATE_LEAD_FAIL;\r\n constructor(public error: string) { }\r\n}\r\n\r\nexport class CreateUserNameAction implements Action {\r\n readonly type = USER_ACTION_TYPES.CREATE_USER_NAME;\r\n constructor(public user: UserNameRequest) { }\r\n}\r\n\r\nexport class CreateUserNameSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.CREATE_USER_NAME_SUCCESS;\r\n constructor() { }\r\n}\r\n\r\nexport class CreateUserNameFailAction implements Action {\r\n readonly type = USER_ACTION_TYPES.CREATE_USER_NAME_FAIL;\r\n constructor(public error: string) { }\r\n}\r\n\r\nexport class RegisterExistingUserAction implements Action{\r\n readonly type = USER_ACTION_TYPES.REGISTER_EXISTING_USER;\r\n constructor(public user: IUserRequest){ }\r\n}\r\n\r\nexport class RegisterExistingUserSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.REGISTER_EXISTING_USER_SUCCESS;\r\n constructor(public user: IUser) { }\r\n}\r\n\r\nexport class RegisterExistingUserFailAction implements Action{\r\n readonly type = USER_ACTION_TYPES.REGISTER_EXISTING_USER_FAIL;\r\n constructor(public error: string){}\r\n}\r\n\r\nexport class GetUserFailAction implements Action {\r\n readonly type = USER_ACTION_TYPES.GET_USER_FAIL;\r\n constructor(public error: string) { }\r\n}\r\n\r\nexport class LoginAction implements Action {\r\n readonly type = USER_ACTION_TYPES.LOGIN;\r\n constructor(public request: ISignInRequest) { }\r\n}\r\n\r\nexport class LoginSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.LOGIN_SUCCESS;\r\n // TODO:\r\n constructor(public token: IAuthToken, public username: string = '', public isExisting: boolean = false) { }\r\n}\r\n\r\nexport class LoginFailAction implements Action {\r\n readonly type = USER_ACTION_TYPES.LOGIN_FAIL;\r\n // TODO:\r\n constructor(public error: string) { }\r\n}\r\n\r\nexport class CookieLoginAction implements Action {\r\n readonly type = USER_ACTION_TYPES.COOKIE_LOGIN;\r\n constructor() { }\r\n}\r\n\r\nexport class CookieLoginSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.COOKIE_LOGIN_SUCCESS;\r\n constructor(public token: IAuthToken) { }\r\n}\r\n\r\nexport class CookieLoginFailAction implements Action {\r\n readonly type = USER_ACTION_TYPES.COOKIE_LOGIN_FAIL;\r\n constructor() { }\r\n}\r\n\r\nexport class TokenLoginAction implements Action {\r\n readonly type = USER_ACTION_TYPES.TOKEN_LOGIN;\r\n constructor(public token: string) { }\r\n}\r\n\r\nexport class TokenLoginFailAction implements Action {\r\n readonly type = USER_ACTION_TYPES.TOKEN_LOGIN_FAIL;\r\n constructor() { }\r\n}\r\n\r\nexport class TokenLoginSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.TOKEN_LOGIN_SUCCESS;\r\n constructor(public token: IAuthToken) { }\r\n}\r\n\r\nexport class GetUserAction implements Action {\r\n readonly type = USER_ACTION_TYPES.GET_USER;\r\n constructor(public loadApplication: boolean = true) { }\r\n}\r\n\r\nexport class GetUserSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.GET_USER_SUCCESS;\r\n constructor(public user: IUser) { }\r\n}\r\n\r\nexport class RefreshTokenAction implements Action {\r\n readonly type = USER_ACTION_TYPES.REFRESH_TOKEN;\r\n constructor(public refreshToken: string) { }\r\n}\r\n\r\nexport class RefreshTokenSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.REFRESH_TOKEN_SUCCESS;\r\n constructor(public token: IAuthToken) { }\r\n}\r\nexport class RefreshTokenFailAction implements Action {\r\n readonly type = USER_ACTION_TYPES.REFRESH_TOKEN_FAIL;\r\n}\r\n\r\nexport class RequestMultifactorOTPAction implements Action {\r\n readonly type = USER_ACTION_TYPES.REQUEST_MULTIFACTOR_OTP;\r\n constructor(public request: IChallengeOtpRequest) { }\r\n}\r\n\r\nexport class RequestMultifactorNoUserOTPAction implements Action {\r\n readonly type = USER_ACTION_TYPES.REQUEST_MULTIFACTOR_NoUser_OTP;\r\n constructor(public request: string) { }\r\n}\r\nexport class RequestMultifactorOTPSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.REQUEST_MULTIFACTOR_OTP_SUCCESS;\r\n constructor(public response: IOtpChallengeInfo) { }\r\n}\r\n\r\nexport class RequestMultifactorNoUserOTPSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.REQUEST_MULTIFACTOR_NoUser_OTP_SUCCESS;\r\n constructor(public response: any) { }\r\n}\r\n\r\nexport class RequestMultifactorOTPFailAction implements Action {\r\n readonly type = USER_ACTION_TYPES.REQUEST_MULTIFACTOR_OTP_FAIL;\r\n constructor(public error: string) { }\r\n}\r\n\r\nexport class ValidateOTPCodeAction implements Action {\r\n readonly type = USER_ACTION_TYPES.VALIDATE_OTP_CODE;\r\n constructor(public request: IValidateOtpRequest) { }\r\n}\r\n\r\nexport class ValidateOTPCodeSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.VALIDATE_OTP_CODE_SUCCESS;\r\n constructor(public token: IAuthToken) { }\r\n}\r\n\r\nexport class ValidateOTPCodeFailAction implements Action {\r\n readonly type = USER_ACTION_TYPES.VALIDATE_OTP_CODE_FAIL;\r\n constructor(public error: string) { }\r\n}\r\n\r\nexport class ValidateExistingCustomerAction implements Action {\r\n readonly type = USER_ACTION_TYPES.VALIDATE_EXISTING_CUSTOMER;\r\n}\r\n\r\nexport class ValidateExistingCustomerSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.VALIDATE_EXISTING_CUSTOMER_SUCCESS;\r\n constructor(public user: IExistingUser) { }\r\n}\r\n\r\nexport class ValidateExistingCustomerFailAction implements Action {\r\n readonly type = USER_ACTION_TYPES.VALIDATE_EXISTING_CUSTOMER_FAIL;\r\n constructor(public user: IExistingUser) { }\r\n}\r\n\r\nexport class GetEnrollmentUrlAction implements Action {\r\n readonly type = USER_ACTION_TYPES.GET_ENROLLMENT_URL;\r\n constructor(public brandId: number) { }\r\n}\r\n\r\nexport class GetEnrollmentUrlSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.GET_ENROLLMENT_URL_SUCCESS;\r\n constructor(public user: IExistingUser) { }\r\n}\r\n\r\nexport class GetEnrollmentUrlFailAction implements Action {\r\n readonly type = USER_ACTION_TYPES.GET_ENROLLMENT_URL_FAIL;\r\n}\r\n\r\nexport class GetSecurityQuestionsAction implements Action {\r\n readonly type = USER_ACTION_TYPES.GET_SECURITY_QUESTIONS\r\n constructor(public resetPasswordToken: boolean) { }\r\n}\r\nexport class GetSecurityQuestionsSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.GET_SECURITY_QUESTIONS_SUCCESS\r\n constructor(public questions: any) { }\r\n}\r\n\r\nexport class GetSecurityQuestionsFailAction implements Action {\r\n readonly type = USER_ACTION_TYPES.GET_SECURITY_QUESTIONS_FAIL\r\n constructor(public error: string) { }\r\n}\r\n\r\nexport class SaveSecurityQuestionsAction implements Action {\r\n readonly type = USER_ACTION_TYPES.SAVE_SECURITY_QUESTIONS\r\n constructor(public questions: any, public resetPasswordToken: boolean) { }\r\n}\r\n\r\nexport class SaveSecurityQuestionsSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.SAVE_SECURITY_QUESTIONS_SUCCESS\r\n constructor(public response) { }\r\n}\r\n\r\nexport class SaveSecurityQuestionsFailAction implements Action {\r\n readonly type = USER_ACTION_TYPES.SAVE_SECURITY_QUESTIONS_FAIL\r\n constructor(public error: string) { }\r\n}\r\n\r\nexport class ResetTasksStatesAction implements Action {\r\n readonly type = USER_ACTION_TYPES.RESET_TASKS_STATES\r\n constructor(public user: IUser) { }\r\n}\r\n\r\nexport class ResetTasksStatesSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.RESET_TASKS_STATES_SUCCESS\r\n constructor() { }\r\n}\r\n\r\nexport class ResetTasksStatesFailAction implements Action {\r\n readonly type = USER_ACTION_TYPES.RESET_TASKS_STATES_FAIL\r\n constructor(public error: string) { }\r\n}\r\n\r\nexport class CreateAction implements Action {\r\n readonly type = USER_ACTION_TYPES.CREATE\r\n constructor(public user: IUser) { }\r\n}\r\n\r\nexport class CreateSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.CREATE_SUCCESS\r\n constructor(public applicantId: number,) { }\r\n}\r\n\r\nexport class CreateFailAction implements Action {\r\n readonly type = USER_ACTION_TYPES.CREATE_FAIL\r\n constructor(error: string) { }\r\n}\r\n\r\nexport class RedirectOTPAction implements Action {\r\n readonly type = USER_ACTION_TYPES.REDIRECT_OTP\r\n constructor(public challengeInfo: IChallengeInfo) { }\r\n}\r\nexport class RedirectSecurityQuestionsAction implements Action {\r\n readonly type = USER_ACTION_TYPES.REDIRECT_SECURITY_QUESTIONS\r\n constructor() { }\r\n}\r\n\r\n\r\nexport class ClearErrorAction implements Action {\r\n readonly type = USER_ACTION_TYPES.CLEAR_ERROR\r\n constructor() { }\r\n}\r\n\r\nexport class ForgotPasswordAction implements Action {\r\n readonly type = USER_ACTION_TYPES.FORGOT_PASSWORD\r\n constructor(public username: string, public resend: boolean = false) {\r\n }\r\n}\r\nexport class ForgotPasswordSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.FORGOT_PASSWORD_SUCCESS\r\n constructor(public resend: boolean = false) {\r\n }\r\n}\r\nexport class ForgotPasswordFailAction implements Action {\r\n readonly type = USER_ACTION_TYPES.FORGOT_PASSWORD_FAIL\r\n constructor(public error: string) {\r\n }\r\n}\r\n\r\nexport class ForgotUsernameAction implements Action {\r\n readonly type = USER_ACTION_TYPES.FORGOT_USERNAME\r\n constructor(public email: string, public resend: boolean = false) {\r\n }\r\n}\r\nexport class ForgotUsernameSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.FORGOT_USERNAME_SUCCESS\r\n constructor(public resend: boolean = false) {\r\n }\r\n}\r\nexport class ForgotUsernameFailAction implements Action {\r\n readonly type = USER_ACTION_TYPES.FORGOT_USERNAME_FAIL\r\n constructor(public error: string) {\r\n }\r\n}\r\n\r\nexport class ShowLoginAction implements Action {\r\n readonly type = USER_ACTION_TYPES.SHOW_LOGIN\r\n constructor(public show: boolean) { }\r\n}\r\n\r\nexport class GetRandomSecurityQuestionAction implements Action {\r\n readonly type = USER_ACTION_TYPES.GET_RANDOM_SECURITY_QUESTION\r\n constructor(public token: any) { }\r\n}\r\n\r\nexport class GetRandomSecurityQuestionSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.GET_RANDOM_SECURITY_QUESTION_SUCCESS\r\n constructor(public response:any) { }\r\n}\r\n\r\nexport class GetRandomSecurityQuestionFailAction implements Action {\r\n readonly type = USER_ACTION_TYPES.GET_RANDOM_SECURITY_QUESTION_FAIL\r\n constructor(public error: string) { }\r\n}\r\n\r\nexport class VerifySecurityQuestionAnswerAction implements Action {\r\n readonly type = USER_ACTION_TYPES.VERIFY_SECURITY_QUESTION_ANSWER\r\n constructor(public questions:any) { }\r\n}\r\n\r\nexport class VerifySecurityQuestionAnswerSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.VERIFY_SECURITY_QUESTION_ANSWER_SUCCESS\r\n constructor(public response:any) { }\r\n}\r\nexport class VerifySecurityQuestionAnswerFailAction implements Action {\r\n readonly type = USER_ACTION_TYPES.VERIFY_SECURITY_QUESTION_ANSWER_FAIL\r\n constructor(public error:string) { }\r\n}\r\nexport class ValidateResetPasswordAction implements Action {\r\n readonly type = USER_ACTION_TYPES.VALIDATE_RESET_PASSWORD\r\n constructor(public idToken:any, public usernameToken?:any) { }\r\n}\r\nexport class ValidateResetPasswordSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.VALIDATE_RESET_PASSWORD_SUCCESS\r\n constructor(public response:any) { }\r\n}\r\nexport class ValidateResetPasswordFailAction implements Action {\r\n readonly type = USER_ACTION_TYPES.VALIDATE_RESET_PASSWORD_FAIL\r\n constructor(public error:string) { }\r\n}\r\nexport class ChangePasswordAction implements Action {\r\n readonly type = USER_ACTION_TYPES.CHANGE_PASSWORD\r\n constructor(public password:string, public unlockTocken:any,public usernameToken?:any) { }\r\n}\r\nexport class ChangePasswordSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.CHANGE_PASSWORD_SUCCESS\r\n constructor() { }\r\n}\r\nexport class ChangePasswordFailAction implements Action {\r\n readonly type = USER_ACTION_TYPES.CHANGE_PASSWORD_FAIL\r\n constructor(public error:string) { }\r\n}\r\n\r\nexport class Logout implements Action{\r\n readonly type = USER_ACTION_TYPES.LOGOUT;\r\n constructor(){}\r\n}\r\n\r\nexport class CheckGuidValidAction implements Action{\r\n readonly type = USER_ACTION_TYPES.CHECK_GUID_VALID;\r\n constructor(public guid: any){}\r\n}\r\n\r\nexport class CheckGuidValidSuccessAction implements Action{\r\n readonly type = USER_ACTION_TYPES.CHECK_GUID_VALID_SUCCESS;\r\n constructor(public response: any){}\r\n}\r\n\r\nexport class CheckGuidValidFailAction implements Action{\r\n readonly type = USER_ACTION_TYPES.CHECK_GUID_VALID_FAIL;\r\n constructor(public error: string){}\r\n}\r\n\r\nexport class CheckAppValidityAction implements Action{\r\n readonly type = USER_ACTION_TYPES.CHECK_APP_VALID;\r\n constructor(public guid: any){}\r\n}\r\n\r\nexport class CheckAppValiditySuccessAction implements Action{\r\n readonly type = USER_ACTION_TYPES.CHECK_APP_VALID_SUCCESS;\r\n constructor(public response: any){}\r\n}\r\n\r\nexport class CheckAppValidityFailAction implements Action{\r\n readonly type = USER_ACTION_TYPES.CHECK_APP_VALID_FAIL;\r\n constructor(public error: string){}\r\n}\r\n\r\nexport class VerifyExistingCustomerAction implements Action {\r\n readonly type = USER_ACTION_TYPES.VERIFY_EXISTING_CUSTOMER;\r\n constructor(public lead: IUserLead) { }\r\n}\r\n\r\nexport class VerifyExistingCustomerFailAction implements Action {\r\n readonly type = USER_ACTION_TYPES.VERIFY_EXISTING_CUSTOMER_FAIL;\r\n constructor(public error: string) { }\r\n}\r\n\r\nexport class ValidateUserExistAction implements Action {\r\n readonly type = USER_ACTION_TYPES.VALIDATE_USER_EXIST;\r\n constructor(public user: ILeadRequest, public applicationOptions: IApplicationOptions) { }\r\n}\r\n\r\nexport class ValidateUserExistSuccessAction implements Action {\r\n readonly type = USER_ACTION_TYPES.VALIDATE_USER_EXIST_SUCCESS;\r\n constructor(public user: ILeadRequest, public applicationOptions: IApplicationOptions, public redirectToLogin: boolean, public userState: number) { }\r\n}\r\n\r\nexport class ValidateUserExistFailAction implements Action {\r\n readonly type = USER_ACTION_TYPES.VALIDATE_USER_EXIST_FAIL;\r\n constructor(public user: ILeadRequest, public applicationOptions: IApplicationOptions, public shouldCreate: boolean, public errorMessage?: string) { }\r\n}\r\n\r\nexport class SetGuidAction implements Action {\r\n readonly type = USER_ACTION_TYPES.SET_GUID;\r\n constructor(public guid: string){}\r\n}\r\n\r\nexport type AuthAction =\r\n LoginAction | LoginSuccessAction | LoginFailAction | CookieLoginAction | CookieLoginSuccessAction |\r\n CookieLoginFailAction | TokenLoginAction | TokenLoginSuccessAction | TokenLoginFailAction |\r\n GetUserAction | GetUserSuccessAction | GetUserFailAction |\r\n RefreshTokenAction | RefreshTokenSuccessAction | RefreshTokenFailAction |\r\n CreateUserAction | CreateUserFailAction |CreateUserSuccessAction | RedirectOTPAction |\r\n RequestMultifactorOTPAction | RequestMultifactorOTPSuccessAction | RequestMultifactorOTPFailAction |\r\n ValidateOTPCodeAction | ValidateOTPCodeSuccessAction | ValidateOTPCodeFailAction |\r\n GetSecurityQuestionsSuccessAction | SaveSecurityQuestionsAction | SaveSecurityQuestionsSuccessAction | SaveSecurityQuestionsFailAction |\r\n GetEnrollmentUrlAction | GetEnrollmentUrlSuccessAction | GetEnrollmentUrlFailAction |\r\n ValidateExistingCustomerSuccessAction | ValidateExistingCustomerFailAction | CreateSuccessAction |\r\n ClearErrorAction | ForgotPasswordSuccessAction | ForgotPasswordFailAction | ForgotUsernameSuccessAction |\r\n ForgotUsernameFailAction | ShowLoginAction | VerifySecurityQuestionAnswerSuccessAction |\r\n GetRandomSecurityQuestionSuccessAction | GetRandomSecurityQuestionFailAction | ValidateResetPasswordFailAction |\r\n RegisterExistingUserAction | RegisterExistingUserSuccessAction | RegisterExistingUserFailAction |\r\n ClearErrorAction | Logout | ValidateResetPasswordSuccessAction| VerifySecurityQuestionAnswerFailAction |\r\n ChangePasswordFailAction | CreateUserNameAction | CreateUserNameSuccessAction | CreateUserNameFailAction |\r\n CheckGuidValidAction | CheckGuidValidSuccessAction | CheckGuidValidFailAction | \r\n CheckAppValidityAction | CheckAppValiditySuccessAction | CheckAppValidityFailAction | \r\n CreateLeadAction | CreateLeadSuccessAction | CreateLeadFailAction |\r\n UpdateLeadAction | UpdateLeadSuccessAction | UpdateLeadFailAction |\r\n VerifyExistingCustomerAction | VerifyExistingCustomerFailAction |\r\n ValidateUserExistAction | ValidateUserExistSuccessAction | ValidateUserExistFailAction |\r\n SetGuidAction | CreateProxyUserAction | CreateProxyUserSuccessAction | RequestMultifactorNoUserOTPAction |\r\n RequestMultifactorNoUserOTPSuccessAction;\r\n","import { Action } from '@ngrx/store';\r\nimport { IBanner } from 'models';\r\n\r\nexport enum BANNER_ACTION_TYPES {\r\n UPDATE_BANNER = '[Banner] Update',\r\n UPDATE_SUB_BANNER = '[Banner] Update SubBanner',\r\n UPDATE_PRODUCTS = '[Banner] Update Products',\r\n UPDATE_PROGRESS = '[Banner] Update Progress',\r\n UPDATE_PAGE_TITLE = '[Banner] Update Page Title',\r\n SHOW_PRODUCTS = '[Banner] Show Products',\r\n SHOW_APPLICANT_TITLE = '[Banner] Show Applicant Title'\r\n}\r\n\r\nexport class UpdateBannerAction implements Action {\r\n readonly type = BANNER_ACTION_TYPES.UPDATE_BANNER;\r\n constructor(public banner: IBanner) { }\r\n}\r\n\r\nexport class UpdateSubBannerAction implements Action {\r\n readonly type = BANNER_ACTION_TYPES.UPDATE_SUB_BANNER;\r\n constructor(public show: boolean, public label?: string, public title?: string) { }\r\n}\r\n\r\nexport class UpdatePageTitleAction implements Action {\r\n readonly type = BANNER_ACTION_TYPES.UPDATE_PAGE_TITLE;\r\n constructor(public title: string) { }\r\n}\r\n\r\nexport class UpdateProgressAction implements Action {\r\n readonly type = BANNER_ACTION_TYPES.UPDATE_PROGRESS;\r\n constructor(public progress: number, public show: boolean = true) { }\r\n}\r\n\r\nexport class ShowApplicantTitleAction implements Action {\r\n readonly type = BANNER_ACTION_TYPES.SHOW_APPLICANT_TITLE;\r\n constructor(public show: boolean) { }\r\n}\r\n\r\nexport type BannerAction = UpdateBannerAction | UpdateSubBannerAction | UpdateProgressAction | UpdatePageTitleAction | ShowApplicantTitleAction;\r\n","import { Action } from '@ngrx/store';\r\n// Models\r\nimport { Brand, ChatSettings } from 'models';\r\nimport { ChatBotSettings } from 'models/brand/chatbot-settings.model';\r\n\r\nexport enum BRAND_ACTION_TYPES {\r\n GET_BRAND = '[Brand] Get',\r\n GET_BRAND_SUCCESS = '[Brand] Get success',\r\n GET_BRAND_FAIL = '[Brand] Get fail',\r\n GET_CHAT_SETTINGS = '[Brand] Get Chat Settings',\r\n GET_CHAT_SETTINGS_SUCCESS = '[Brand] Get Chat Settings success',\r\n GET_CHAT_SETTINGS_FAIL = '[Brand] Get Chat Settings fail',\r\n GET_CHAT_BOT_SETTINGS = '[Brand] Get ChatBot Settings',\r\n GET_CHAT_BOT_SETTINGS_SUCCESS = '[Brand] Get ChatBot Settings success',\r\n GET_CHAT_BOT_SETTINGS_FAIL = '[Brand] Get ChatBot Settings fail',\r\n GET_BRAND_LOGO = '[Brand] Get brand logo',\r\n GET_BRAND_LOGO_SUCCESS = '[Brand] Get brand logo success',\r\n GET_BRAND_LOGO_FAIL = '[Brand] [Brand] Get brand logo fail',\r\n}\r\n\r\nexport class GetBrandAction implements Action {\r\n readonly type = BRAND_ACTION_TYPES.GET_BRAND;\r\n constructor(public brandName: string) { }\r\n}\r\n\r\nexport class GetBrandSuccessAction implements Action {\r\n readonly type = BRAND_ACTION_TYPES.GET_BRAND_SUCCESS;\r\n constructor(public data: Brand) { }\r\n}\r\n\r\nexport class GetChatSettingsAction implements Action {\r\n readonly type = BRAND_ACTION_TYPES.GET_CHAT_SETTINGS;\r\n constructor(public brandName: string) { }\r\n}\r\n\r\nexport class GetChatSettingsSuccessAction implements Action {\r\n readonly type = BRAND_ACTION_TYPES.GET_CHAT_SETTINGS_SUCCESS;\r\n constructor(public data: ChatSettings) { }\r\n}\r\n\r\n\r\nexport class GetChatSettingsFailAction implements Action {\r\n readonly type = BRAND_ACTION_TYPES.GET_CHAT_SETTINGS_FAIL;\r\n}\r\n\r\nexport class GetChatBotSettingsAction implements Action {\r\n readonly type = BRAND_ACTION_TYPES.GET_CHAT_BOT_SETTINGS;\r\n constructor(public brandId: number) { }\r\n}\r\n\r\nexport class GetChatBotSettingsSuccessAction implements Action {\r\n readonly type = BRAND_ACTION_TYPES.GET_CHAT_BOT_SETTINGS_SUCCESS;\r\n constructor(public data: ChatBotSettings) { }\r\n}\r\n\r\nexport class GetChatBotSettingsFailAction implements Action {\r\n readonly type = BRAND_ACTION_TYPES.GET_CHAT_BOT_SETTINGS_FAIL;\r\n}\r\n\r\nexport class GetBrandLogoAction implements Action {\r\n readonly type = BRAND_ACTION_TYPES.GET_BRAND_LOGO;\r\n constructor(public brandName: string) { }\r\n}\r\n\r\nexport class GetBrandLogoSuccessAction implements Action {\r\n readonly type = BRAND_ACTION_TYPES.GET_BRAND_LOGO_SUCCESS;\r\n constructor(public data: string) { }\r\n}\r\n\r\nexport type BrandAction = GetBrandAction | GetBrandSuccessAction |\r\n GetChatSettingsAction | GetChatSettingsFailAction | GetChatSettingsSuccessAction |\r\n GetBrandLogoAction | GetBrandLogoSuccessAction | GetChatBotSettingsAction | \r\n GetChatBotSettingsSuccessAction | GetChatBotSettingsFailAction;\r\n","import { createAction, props } from \"@ngrx/store\";\r\nimport { Broker } from \"models\";\r\n\r\nexport const getBrokerInformation = createAction(\r\n '[Broker] Get Broker Information',\r\n props<{ guid: string }>()\r\n)\r\n\r\nexport const getBrokerInformationSuccess = createAction(\r\n '[Broker] Get Broker Information success',\r\n props<{ broker: Broker }>()\r\n)\r\n\r\nexport const getBrokerInformationFail = createAction(\r\n '[Broker] Get Broker Information fail'\r\n)\r\n","import { Action } from '@ngrx/store';\r\n// Models\r\nimport { State, Country, AnnualSales, IGenericItem, FinancialInformationCatalog, BeneficiariesCatalog } from 'models';\r\nimport { CatalogItem } from 'models/trading/catalog-item.model';\r\n\r\nexport enum CATALOGS_ACTION_TYPES {\r\n GET_STATES = '[Catalogs] Get States',\r\n GET_STATES_SUCCESS = '[Catalogs] Get States success',\r\n GET_STATES_FAIL = '[Catalogs] Get States fail',\r\n GET_COUNTRIES = '[Catalogs] Get Countries',\r\n GET_COUNTRIES_SUCCESS = '[Catalogs] Get Countries success',\r\n GET_COUNTRIES_FAIL = '[Catalogs] Get Countries fail',\r\n GET_OCUPATIONS = '[Catalogs] Get Ocupations',\r\n GET_OCUPATIONS_SUCCESS = '[Catalogs] Get Ocupations success',\r\n GET_COMPANY_TITLES = '[Catalogs] Get Company titles',\r\n GET_COMPANY_TITLES_SUCCESS = '[Catalogs] Get Company titles success',\r\n GET_AFFILIATIONS = '[Catalogs] Get Affiliations',\r\n GET_AFFILIATIONS_SUCCESS = '[Catalogs] Get Affiliations success',\r\n GET_OCUPATIONS_FAIL = '[Catalogs] Get Ocupations fail',\r\n GET_ANNUAL_SALES = '[Catalogs] Get Annual Sales',\r\n GET_ANNUAL_SALES_SUCCESS = '[Catalogs] Get Annual Sales success',\r\n GET_ANNUAL_SALES_FAIL = '[Catalogs] Get Annual Sales fail',\r\n GET_FINANCIAL_CATALOG_INFORMATION = '[Catalogs] Get Financial information',\r\n GET_FINANCIAL_CATALOG_INFORMATION_SUCCESS = '[Catalogs] Get Financial information success',\r\n\r\n GET_BENEFICIARIES_CATALOG = '[Catalogs] Get Beneficiaries Catalog',\r\n GET_BENEFICIARIES_CATALOG_SUCCESS = '[Catalogs] Get Beneficiaries Catalog success'\r\n}\r\n\r\nexport class GetStatesAction implements Action {\r\n readonly type = CATALOGS_ACTION_TYPES.GET_STATES;\r\n}\r\n\r\nexport class GetStatesSuccessAction implements Action {\r\n readonly type = CATALOGS_ACTION_TYPES.GET_STATES_SUCCESS;\r\n constructor(public data: State[]) { }\r\n}\r\n\r\nexport class GetCountriesAction implements Action {\r\n readonly type = CATALOGS_ACTION_TYPES.GET_COUNTRIES;\r\n}\r\n\r\nexport class GetCountriesSuccessAction implements Action {\r\n readonly type = CATALOGS_ACTION_TYPES.GET_COUNTRIES_SUCCESS;\r\n constructor(public data: Country[]) { }\r\n}\r\n\r\nexport class GetOcupationsAction implements Action {\r\n readonly type = CATALOGS_ACTION_TYPES.GET_OCUPATIONS;\r\n}\r\n\r\nexport class GetOcupationsSuccessAction implements Action {\r\n readonly type = CATALOGS_ACTION_TYPES.GET_OCUPATIONS_SUCCESS;\r\n constructor(public data: CatalogItem[]) { }\r\n}\r\n\r\nexport class GetCompanyTitlesAction implements Action {\r\n readonly type = CATALOGS_ACTION_TYPES.GET_COMPANY_TITLES;\r\n}\r\n\r\nexport class GetCompanyTitlesSuccessAction implements Action {\r\n readonly type = CATALOGS_ACTION_TYPES.GET_COMPANY_TITLES_SUCCESS;\r\n constructor(public data: CatalogItem[]) { }\r\n}\r\n\r\nexport class GetAffiliationsAction implements Action {\r\n readonly type = CATALOGS_ACTION_TYPES.GET_AFFILIATIONS;\r\n}\r\n\r\nexport class GetAffiliationsSuccessAction implements Action {\r\n readonly type = CATALOGS_ACTION_TYPES.GET_AFFILIATIONS_SUCCESS;\r\n constructor(public data: CatalogItem[]) { }\r\n}\r\n\r\nexport class GetAnnualSalesAction implements Action {\r\n readonly type = CATALOGS_ACTION_TYPES.GET_ANNUAL_SALES;\r\n}\r\n\r\nexport class GetAnnualSalesSuccessAction implements Action {\r\n readonly type = CATALOGS_ACTION_TYPES.GET_ANNUAL_SALES_SUCCESS;\r\n constructor(public data: AnnualSales[]) { }\r\n}\r\n\r\nexport class GetFinancialCatalogInformationAction implements Action {\r\n readonly type = CATALOGS_ACTION_TYPES.GET_FINANCIAL_CATALOG_INFORMATION;\r\n}\r\n\r\nexport class GetFinancialCatalogInformationSuccessAction implements Action {\r\n readonly type = CATALOGS_ACTION_TYPES.GET_FINANCIAL_CATALOG_INFORMATION_SUCCESS;\r\n constructor(public data: FinancialInformationCatalog) {}\r\n}\r\n\r\nexport class GetBeneficiariesCatalogAction implements Action {\r\n readonly type = CATALOGS_ACTION_TYPES.GET_BENEFICIARIES_CATALOG;\r\n}\r\n\r\nexport class GetBeneficiariesCatalogSuccessAction implements Action {\r\n readonly type = CATALOGS_ACTION_TYPES.GET_BENEFICIARIES_CATALOG_SUCCESS;\r\n constructor(public data: CatalogItem[]) {}\r\n}\r\n\r\nexport type CatalogsAction = GetStatesAction | GetStatesSuccessAction |\r\n GetCountriesAction | GetCountriesSuccessAction | GetOcupationsAction |\r\n GetOcupationsSuccessAction | GetAnnualSalesAction | GetCompanyTitlesAction |\r\n GetAffiliationsAction | GetAffiliationsSuccessAction |\r\n GetCompanyTitlesSuccessAction | GetAnnualSalesSuccessAction |\r\n GetFinancialCatalogInformationAction | GetFinancialCatalogInformationSuccessAction |\r\n GetBeneficiariesCatalogAction | GetBeneficiariesCatalogSuccessAction;\r\n","import { Action } from '@ngrx/store';\r\nimport { DisclosuresRequest, DisclosuresSaveRequest, DetailDisclosure, ECMDisclosure, ECMDisclosureDocument } from 'models';\r\n\r\nexport enum DISCLOSURES_ACTION_TYPES {\r\n GET_DETAIL_DISCLOSURES = '[Disclosures] Get detail disclosures',\r\n GET_DETAIL_DISCLOSURES_SUCCESS = '[Disclosures] Get detail disclosures success',\r\n\r\n GET_AXOS_CLEARING_DISCLOSURES = '[Disclosures] Get AxosClearing disclosures',\r\n GET_AXOS_CLEARING_DISCLOSURES_SUCCESS = '[Disclosures] Get AxosClearing disclosures success',\r\n\r\n POST_TERMS = '[Disclosures] Post Terms',\r\n POST_TERMS_SUCCESS = '[Disclosures] Post Terms success',\r\n POST_TERMS_FAIL = '[Disclosures] Post Terms fail',\r\n\r\n CONFIRM = '[Disclosures] Confirm',\r\n CONFIRM_SUCCESS = '[Disclosures] Confirm success',\r\n CONFIRM_FAIL = '[Disclosures] Confirm fail',\r\n\r\n SAVE = '[Disclosures] Save',\r\n SAVE_SUCCESS = '[Disclosures] Save success',\r\n SAVE_FAIL = '[Disclosures] Save fail',\r\n\r\n GET_ELECTRONIC_DISCLOSURE = '[Disclosures] Get electronic disclosure',\r\n GET_ELECTRONIC_DISCLOSURE_SUCCESS = '[Disclosures] Get electronic disclosure success',\r\n\r\n GET_AXOS_INVEST_DISCLOSURE = '[Disclosures] Get axos invest disclosure',\r\n GET_AXOS_INVEST_DISCLOSURE_SUCCESS = '[Disclosures] Get axosinvest disclosure success',\r\n\r\n GET_TAXPAYER_DISCLOSURE = '[Disclosures] Get taxpayer disclosure',\r\n GET_TAXPAYER_DISCLOSURE_SUCCESS = '[Disclosures] Get taxpayer disclosure success',\r\n\r\n\r\n GET_INITIAL_DISCLOSURES = '[Disclosures] Get initial disclosures',\r\n GET_INITIAL_DISCLOSURES_SUCCESS = '[Disclosures] Get initial disclosures success',\r\n\r\n UPDATE_ELECTRONIC_DISCLOSURE = '[Disclosures] Update electronic disclosure',\r\n\r\n UPDATE_INITIAL_DISCLOSURE = '[Disclosures] Update initial disclosure',\r\n\r\n UPDATE_DISCLOSURE = '[Disclosures] Update disclosure',\r\n UPDATE_DISCLOSURE_SUCCESS = '[Disclosures] Update disclosure success',\r\n\r\n SAVE_APPLICANT_DISCLOSURES = '[Disclosures] Save applicant disclosures',\r\n SAVE_APPLICANT_DISCLOSURES_SUCCESS = '[Disclosures] Save applicant disclosures success',\r\n\r\n GET_DISCLOSURES_CATALOG = '[Disclosures] Get disclosures catalog',\r\n GET_DISCLOSURES_CATALOG_SUCCESS = '[Disclosures] Get disclosures catalog success',\r\n\r\n GET_ECM_DISCLOSURES = '[Disclosures] Get ECM disclosures',\r\n GET_ECM_DISCLOSURES_SUCCESS = '[Disclosures] Get ECM disclosures success',\r\n GET_ECM_DISCLOSURE_DOCUMENT = '[Disclosures] Get ECM disclosure document',\r\n GET_ECM_DISCLOSURE_DOCUMENT_SUCCESS = '[Disclosures] Get ECM disclosure document success',\r\n OPEN_ECM_DISCLOSURE_DOCUMENT = '[Disclosures] Open ECM disclosure document',\r\n GET_AND_OPEN_ECM_DISCLOSURE_DOCUMENT = '[Disclosures] Get and open ECM disclosure document',\r\n GET_ECM_DISCLOSURE_DOCUMENT_BY_DISCLOSURE = '[Disclosures] Get ECM disclosure document by disclosure',\r\n GET_ECM_DISCLOSURE_DOCUMENT_BY_DISCLOSURE_SUCCESS = '[Disclosures] Get ECM disclosure document by disclosure success',\r\n\r\n SET_CASH_SWEEP_DISCLOSURES = '[Disclosures] Set cash sweep disclosures',\r\n\r\n CLEAR_STATE = '[Disclosures] Clear State'\r\n}\r\n\r\nexport class GetElectronicDisclosureAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.GET_ELECTRONIC_DISCLOSURE;\r\n}\r\n\r\nexport class GetElectronicDisclosureSuccessAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.GET_ELECTRONIC_DISCLOSURE_SUCCESS;\r\n constructor(public disclosure: DetailDisclosure) { }\r\n}\r\n\r\nexport class GetInitialDisclosuresAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.GET_INITIAL_DISCLOSURES;\r\n}\r\n\r\nexport class GetInitialDisclosuresSuccessAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.GET_INITIAL_DISCLOSURES_SUCCESS;\r\n constructor(public disclosures: DetailDisclosure[]) { }\r\n}\r\n\r\nexport class GetAxosInvestDisclosureAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.GET_AXOS_INVEST_DISCLOSURE;\r\n}\r\n\r\nexport class GetAxosInvestDisclosureSuccessAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.GET_AXOS_INVEST_DISCLOSURE_SUCCESS;\r\n constructor(public disclosure: DetailDisclosure) { }\r\n}\r\n\r\nexport class GetTaxPayerDisclosureAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.GET_TAXPAYER_DISCLOSURE;\r\n}\r\n\r\nexport class GetTaxPayerDisclosureSuccessAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.GET_TAXPAYER_DISCLOSURE_SUCCESS;\r\n constructor(public disclosure: DetailDisclosure) { }\r\n}\r\n\r\nexport class GetDetailDisclosuresAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.GET_DETAIL_DISCLOSURES;\r\n}\r\n\r\nexport class GetDetailDisclosuresSuccessAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.GET_DETAIL_DISCLOSURES_SUCCESS;\r\n constructor(public disclosures: DetailDisclosure[]) { }\r\n}\r\n\r\nexport class GetAxosClearingDisclosuresAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.GET_AXOS_CLEARING_DISCLOSURES;\r\n}\r\n\r\nexport class GetAxosClearingDisclosuresSuccessAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.GET_AXOS_CLEARING_DISCLOSURES_SUCCESS;\r\n constructor(public disclosures: DetailDisclosure[]) { }\r\n}\r\n\r\nexport class PostTermsAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.POST_TERMS;\r\n constructor(public request: DisclosuresRequest) { }\r\n}\r\n\r\nexport class PostTermsSuccessAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.POST_TERMS_SUCCESS;\r\n}\r\n\r\nexport class ConfirmDisclosuresAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.CONFIRM;\r\n}\r\n\r\nexport class ConfirmDisclosuresSuccessAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.CONFIRM_SUCCESS;\r\n}\r\n\r\nexport class SaveDisclosuresAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.SAVE;\r\n constructor(public request: DisclosuresSaveRequest) { }\r\n}\r\n\r\nexport class SaveDisclosuresSuccessAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.SAVE_SUCCESS;\r\n}\r\n\r\nexport class UpdateElectronicDisclosure implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.UPDATE_ELECTRONIC_DISCLOSURE;\r\n constructor(public accepted: boolean) { }\r\n}\r\n\r\nexport class UpdateInitialDisclosureAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.UPDATE_INITIAL_DISCLOSURE;\r\n constructor(public name: string, public accepted: boolean) { }\r\n}\r\n\r\nexport class UpdateDisclosuresAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.UPDATE_DISCLOSURE;\r\n constructor(public disclosure: DetailDisclosure) { }\r\n}\r\n\r\nexport class UpdateDisclosuresSuccessAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.UPDATE_DISCLOSURE_SUCCESS;\r\n}\r\n\r\nexport class SaveApplicantDisclosuresAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.SAVE_APPLICANT_DISCLOSURES;\r\n constructor(public disclosures: DetailDisclosure[]) { }\r\n}\r\n\r\nexport class SaveApplicantDisclosuresSuccessAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.SAVE_APPLICANT_DISCLOSURES_SUCCESS;\r\n}\r\n\r\nexport class GetDisclosuresCatalogAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.GET_DISCLOSURES_CATALOG;\r\n}\r\n\r\nexport class GetDisclosuresCatalogSuccessAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.GET_DISCLOSURES_CATALOG_SUCCESS;\r\n constructor(public disclosures: DetailDisclosure[]) { }\r\n}\r\n\r\nexport class GetECMDisclosuresAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.GET_ECM_DISCLOSURES;\r\n}\r\n\r\nexport class GetECMDisclosuresSuccessAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.GET_ECM_DISCLOSURES_SUCCESS;\r\n constructor(public disclosures: ECMDisclosure[]) { }\r\n}\r\n\r\nexport class GetECMDisclosureDocumentAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.GET_ECM_DISCLOSURE_DOCUMENT;\r\n constructor(public documentId: string) { }\r\n}\r\n\r\nexport class GetECMDisclosureDocumentSuccessAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.GET_ECM_DISCLOSURE_DOCUMENT_SUCCESS;\r\n constructor(public disclosure: ECMDisclosureDocument) { }\r\n}\r\n\r\nexport class OpenECMDisclosureAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.OPEN_ECM_DISCLOSURE_DOCUMENT;\r\n constructor(public disclosureName: string) { }\r\n}\r\n\r\nexport class GetAndOpenECMDisclosureDocumentAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.GET_AND_OPEN_ECM_DISCLOSURE_DOCUMENT;\r\n constructor(public documentId: string) { }\r\n}\r\n\r\nexport class SetCashSweepDisclosures implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.SET_CASH_SWEEP_DISCLOSURES;\r\n constructor(public disclosure: DetailDisclosure) { }\r\n}\r\n\r\nexport class GetECMDisclosureDocumentByDisclosureAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.GET_ECM_DISCLOSURE_DOCUMENT_BY_DISCLOSURE;\r\n constructor(public disclosureId: string) { }\r\n}\r\n\r\nexport class GetECMDisclosureDocumentByDisclosureSuccessAction implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.GET_ECM_DISCLOSURE_DOCUMENT_BY_DISCLOSURE_SUCCESS;\r\n constructor(public disclosure: ECMDisclosureDocument) { }\r\n}\r\n\r\nexport class ClearDisclosuresState implements Action {\r\n readonly type = DISCLOSURES_ACTION_TYPES.CLEAR_STATE;\r\n constructor() { }\r\n}\r\n\r\nexport type DisclosuresAction = PostTermsAction | PostTermsSuccessAction |\r\n ConfirmDisclosuresAction | ConfirmDisclosuresSuccessAction |\r\n SaveDisclosuresAction | SaveDisclosuresSuccessAction |\r\n SaveApplicantDisclosuresAction | SaveApplicantDisclosuresSuccessAction |\r\n GetDetailDisclosuresAction | GetDetailDisclosuresSuccessAction |\r\n GetAxosClearingDisclosuresAction | GetAxosClearingDisclosuresSuccessAction |\r\n GetElectronicDisclosureAction | GetElectronicDisclosureSuccessAction |\r\n UpdateElectronicDisclosure | UpdateInitialDisclosureAction |\r\n GetInitialDisclosuresAction | GetInitialDisclosuresSuccessAction |\r\n UpdateDisclosuresAction | UpdateDisclosuresSuccessAction |\r\n GetDisclosuresCatalogAction | GetDisclosuresCatalogSuccessAction |\r\n GetECMDisclosuresAction | GetECMDisclosuresSuccessAction |\r\n GetAxosInvestDisclosureSuccessAction | GetAxosInvestDisclosureAction |\r\n GetTaxPayerDisclosureAction | GetTaxPayerDisclosureSuccessAction |\r\n GetECMDisclosureDocumentAction | GetECMDisclosureDocumentSuccessAction |\r\n OpenECMDisclosureAction |\r\n SetCashSweepDisclosures |\r\n GetAndOpenECMDisclosureDocumentAction |\r\n GetECMDisclosureDocumentByDisclosureAction | GetECMDisclosureDocumentByDisclosureSuccessAction |\r\n ClearDisclosuresState;\r\n","import { Action } from \"@ngrx/store\";\r\n\r\nexport enum FEATURES_ACTION_TYPES {\r\n GET_FEATURE_STATUS = '[Features] Get feature status',\r\n GET_FEATURE_STATUS_SUCCESS = '[Features] Get feature status success',\r\n GET_FEATURE_STATUS_FAIL = '[Features] Get feature status fail'\r\n}\r\n\r\nexport class GetFeatureStatusAction implements Action {\r\n readonly type = FEATURES_ACTION_TYPES.GET_FEATURE_STATUS;\r\n constructor(public featureName: string) { }\r\n }\r\n \r\n export class GetFeatureStatusSuccessAction implements Action {\r\n readonly type = FEATURES_ACTION_TYPES.GET_FEATURE_STATUS_SUCCESS;\r\n constructor(public featureName: string, public isEnabled: boolean) { }\r\n }\r\n\r\n export class GetFeatureStatusFailAction implements Action {\r\n readonly type = FEATURES_ACTION_TYPES.GET_FEATURE_STATUS_FAIL;\r\n constructor(public error: string) {}\r\n}\r\n\r\nexport type FeaturesAction = GetFeatureStatusAction | GetFeatureStatusSuccessAction | GetFeatureStatusFailAction;","export * from './auth.action';\r\nexport * from './application.action';\r\nexport * from './applicants.action';\r\nexport * from './brand.action';\r\nexport * from './banner.action';\r\nexport * from './catalogs.action';\r\nexport * from './products.action';\r\nexport * from './layout.action';\r\nexport * from './rules.action';\r\nexport * from './disclosures.action';\r\nexport * from './trading.action';\r\nexport * from './organization.action';\r\nexport * from './landing.action';\r\nexport * from './proxy.actions';\r\nexport * from './broker.actions';\r\nexport * from './white-label.actions';\r\nexport * from './pdf.actions';\r\nexport * from './features.action';\r\n","import { createAction, props } from '@ngrx/store';\r\n\r\nexport const SetLandingIsExistingAction = createAction('[Landing] Set existing',\r\n props<{ isExisting: boolean; }>());\r\n","import { Action } from \"@ngrx/store\";\r\n\r\nexport enum LAYOUT_ACTION_TYPES{\r\n SET_MOBILE_LAYOUT = '[Layout] Set Mobile Layout',\r\n SET_MOBILE_LAYOUT_SUCCESS = '[Layout] Set Mobile Layout Success',\r\n SET_MOBILE_LAYOUT_FAIL = '[Layout] Set Mobile Layout Fail'\r\n}\r\n\r\nexport class SetMobileLayout implements Action{\r\n readonly type = LAYOUT_ACTION_TYPES.SET_MOBILE_LAYOUT;\r\n constructor(){ }\r\n}\r\n\r\nexport class SetMobileLayoutSuccess implements Action{\r\n readonly type = LAYOUT_ACTION_TYPES.SET_MOBILE_LAYOUT_SUCCESS;\r\n constructor(public isMobile: boolean){}\r\n}\r\n\r\nexport class SetMobileLayoutFail implements Action{\r\n readonly type = LAYOUT_ACTION_TYPES.SET_MOBILE_LAYOUT_FAIL;\r\n}\r\n\r\nexport type LayoutAction = SetMobileLayout |\r\nSetMobileLayoutSuccess | SetMobileLayoutFail;","import { Action } from '@ngrx/store';\r\n// Models\r\nimport { Organization } from 'models';\r\n\r\nexport enum ORGANIZATION_ACTION_TYPES {\r\n GET_ORGANIZATION = '[Organization] Get organization',\r\n GET_ORGANIZATION_SUCCESS = '[Organization] Get organization success',\r\n GET_ORGANIZATION_FAIL = '[Organization] Get organization fail'\r\n}\r\n\r\nexport class GetOrganizationAction implements Action {\r\n readonly type = ORGANIZATION_ACTION_TYPES.GET_ORGANIZATION;\r\n constructor(public organizationName: string, public settings: boolean = false) { }\r\n}\r\n\r\nexport class GetOrganizationSuccessAction implements Action {\r\n readonly type = ORGANIZATION_ACTION_TYPES.GET_ORGANIZATION_SUCCESS;\r\n constructor(public data: Organization) { }\r\n}\r\n\r\nexport class GetOrganizationFailAction implements Action {\r\n readonly type = ORGANIZATION_ACTION_TYPES.GET_ORGANIZATION_FAIL;\r\n constructor(public error: string) {}\r\n}\r\n\r\nexport type OrganizationAction = GetOrganizationAction | GetOrganizationSuccessAction | GetOrganizationFailAction;","import { createAction, props } from \"@ngrx/store\";\r\n\r\nexport const createPDF = createAction(\r\n '[PDF] Create PDF',\r\n props<{data: HTMLElement}>()\r\n);","import { Action } from '@ngrx/store';\r\nimport { ISimpleProduct, VestingType } from 'models';\r\nimport { VESTING_TYPE_ID } from 'models/enums';\r\n\r\nexport enum PRODUCTS_ACTION_TYPES {\r\n GET = '[Products] Get',\r\n GET_FAIL = '[Products] Get fail',\r\n GET_SUCCESS = '[Products] Get success',\r\n\r\n GET_VESTINGS = '[Products] Get vestings',\r\n GET_VESTINGS_FAIL = '[Products] Get vestings fail',\r\n GET_VESTINGS_SUCCESS = '[Products] Get vestings success',\r\n\r\n SET_VESTING_TYPE = '[Products] Set Vesting type',\r\n SET_VESTING_TYPE_FAIL = '[Products] Set Vesting type fail',\r\n\r\n SET_PRODUCT_SELECTION = '[Products] Set Selection',\r\n SET_PRODUCT_SELECTION_FAIL = '[Products] Set Selection fail',\r\n SET_PRODUCT_SELECTION_SUCCESS = '[Products] Set Selection success',\r\n\r\n UPDATE_PRODUCT_SELECTION = '[Products] Update Selection',\r\n UPDATE_PRODUCT_SELECTION_FAIL = '[Products] Update Selection fail',\r\n UPDATE_PRODUCT_SELECTION_SUCCESS = '[Products] Update Selection success',\r\n\r\n REDIRECTO_PRODUCT_SELECTION = '[Products] Redirecto product selection',\r\n\r\n SET_IRA_FLAG = '[Product] Set IRA flag',\r\n\r\n GET_PROXY_PRODUCTS = '[Product] Get products by organization',\r\n GET_PROXY_PRODUCTS_SUCCESS = '[Product] Get products by organization success',\r\n CLEAR_PROXY_PRODUCTS = '[Product] Clear proxy product',\r\n SET_PROXY_PRODUCT_SUCCESS = '[Product] Set proxy product success',\r\n\r\n GET_PRODUCTS_BY_ORGANIZATION = '[Products] Get products by organization',\r\n GET_PRODUCTS_BY_ORGANIZATION_SUCCESS = '[Products] Get products by organization success',\r\n GET_PRODUCTS_BY_ORGAIZATION_FAIL = '[Products] Get products by organization fail',\r\n\r\n CLEAR_STATE = '[Products] Clear State'\r\n}\r\n\r\nexport class GetVestingsAction implements Action {\r\n readonly type = PRODUCTS_ACTION_TYPES.GET_VESTINGS;\r\n constructor() { }\r\n}\r\n\r\nexport class GetVestingsSuccessAction implements Action {\r\n readonly type = PRODUCTS_ACTION_TYPES.GET_VESTINGS_SUCCESS;\r\n constructor(public vestings: VestingType[]) { }\r\n}\r\n\r\nexport class SetVestingTypeAction implements Action {\r\n readonly type = PRODUCTS_ACTION_TYPES.SET_VESTING_TYPE;\r\n constructor(public vestingTypeName: string, public numberOfApplicants: number) { }\r\n}\r\n\r\nexport class SetVestingTypeFailAction implements Action {\r\n readonly type = PRODUCTS_ACTION_TYPES.SET_VESTING_TYPE_FAIL;\r\n constructor(public error: string) { }\r\n}\r\n\r\nexport class GetProductsAction implements Action {\r\n readonly type = PRODUCTS_ACTION_TYPES.GET;\r\n constructor() { }\r\n}\r\n\r\nexport class GetProductsSuccessAction implements Action {\r\n readonly type = PRODUCTS_ACTION_TYPES.GET_SUCCESS;\r\n constructor(public products: ISimpleProduct[]) { }\r\n}\r\n\r\nexport class SetProductsSelectionAction implements Action {\r\n readonly type = PRODUCTS_ACTION_TYPES.SET_PRODUCT_SELECTION;\r\n constructor(public productCodes: string[],\r\n public vestingType: VESTING_TYPE_ID = VESTING_TYPE_ID.Individual,\r\n public advisorId: string = '') { }\r\n}\r\n\r\nexport class SetProductsSelectionSuccessAction implements Action {\r\n readonly type = PRODUCTS_ACTION_TYPES.SET_PRODUCT_SELECTION_SUCCESS;\r\n constructor(public products: ISimpleProduct[]) { }\r\n}\r\n\r\nexport class SetProductsSelectionFailAction implements Action {\r\n readonly type = PRODUCTS_ACTION_TYPES.SET_PRODUCT_SELECTION_FAIL;\r\n constructor(public products: ISimpleProduct[]) { }\r\n}\r\n\r\nexport class UpdateProductSelectionAction implements Action {\r\n readonly type = PRODUCTS_ACTION_TYPES.UPDATE_PRODUCT_SELECTION;\r\n constructor(public product: ISimpleProduct) { }\r\n}\r\n\r\nexport class UpdateProductSelectionSuccessAction implements Action {\r\n readonly type = PRODUCTS_ACTION_TYPES.UPDATE_PRODUCT_SELECTION_SUCCESS;\r\n constructor(public products: ISimpleProduct[]) { }\r\n}\r\n\r\nexport class RedirecProductSelectionAction implements Action {\r\n readonly type = PRODUCTS_ACTION_TYPES.REDIRECTO_PRODUCT_SELECTION;\r\n constructor() { }\r\n}\r\n\r\n\r\nexport class SetIRAFlag implements Action{\r\n readonly type = PRODUCTS_ACTION_TYPES.SET_IRA_FLAG;\r\n constructor(public isIRA: boolean) { }\r\n}\r\n\r\nexport class GetProxyProductsAction{\r\n readonly type = PRODUCTS_ACTION_TYPES.GET_PROXY_PRODUCTS;\r\n constructor(public applicationTypeName: string) { }\r\n}\r\n\r\nexport class GetProxyProductsSuccesAction{\r\n readonly type = PRODUCTS_ACTION_TYPES.GET_PROXY_PRODUCTS_SUCCESS;\r\n constructor(public products: ISimpleProduct[]) { }\r\n}\r\n\r\nexport class ClearProxyProducts{\r\n readonly type = PRODUCTS_ACTION_TYPES.CLEAR_PROXY_PRODUCTS;\r\n constructor(public product: string) { }\r\n}\r\n\r\nexport class SetProxyProductSuccess{\r\n readonly type = PRODUCTS_ACTION_TYPES.SET_PROXY_PRODUCT_SUCCESS;\r\n constructor(public products: ISimpleProduct[]) { }\r\n}\r\n\r\nexport class GetProductsByOrganizationAction{\r\n readonly type = PRODUCTS_ACTION_TYPES.GET_PRODUCTS_BY_ORGANIZATION;\r\n constructor(public applicationTypeName: string) { }\r\n}\r\n\r\n\r\nexport class GetProductsByOrganizationSuccesAction{\r\n readonly type = PRODUCTS_ACTION_TYPES.GET_PRODUCTS_BY_ORGANIZATION_SUCCESS;\r\n constructor(public products: ISimpleProduct[]) { }\r\n}\r\n\r\nexport class ClearProductState{\r\n readonly type = PRODUCTS_ACTION_TYPES.CLEAR_STATE;\r\n constructor() { }\r\n}\r\n\r\nexport type ProductsAction =\r\n GetProductsAction | GetProductsSuccessAction |\r\n GetVestingsAction | GetVestingsSuccessAction |\r\n SetVestingTypeAction | SetVestingTypeFailAction |\r\n SetProductsSelectionAction | SetProductsSelectionSuccessAction | SetProductsSelectionFailAction | SetIRAFlag |\r\n UpdateProductSelectionAction | UpdateProductSelectionSuccessAction | RedirecProductSelectionAction |\r\n GetProxyProductsAction | GetProxyProductsSuccesAction | GetProductsByOrganizationAction | GetProductsByOrganizationSuccesAction | \r\n ClearProxyProducts | SetProxyProductSuccess |\r\n ClearProductState;\r\n","import { createAction, props } from \"@ngrx/store\";\r\nimport { ISimpleProduct } from \"models\";\r\nimport { Customer, ContactInformation, CustomerRequest, RepCode } from \"models/proxy\";\r\n\r\nexport const setCustomer = createAction(\r\n '[Proxy] Set customer',\r\n props<{ customer: Customer }>()\r\n);\r\n\r\nexport const setCustomerSuccess = createAction(\r\n '[Proxy] Set customer success',\r\n props<{ customer: Customer }>()\r\n);\r\n\r\nexport const clearCustomer = createAction(\r\n '[Proxy] Clear customer'\r\n);\r\n\r\nexport const getCustomers = createAction(\r\n '[Proxy] Get customer'\r\n);\r\n\r\nexport const getCustomersSuccess = createAction(\r\n '[Proxy] Get customer success',\r\n props<{ customers: Customer[] }>()\r\n);\r\n\r\nexport const getCustomersFail = createAction(\r\n '[Proxy] Get customer fail'\r\n);\r\n\r\nexport const searchCustomers = createAction(\r\n '[Proxy] Search customer',\r\n props<{search: string}>()\r\n);\r\n\r\nexport const searchCustomersSuccess = createAction(\r\n '[Proxy] Search customer success',\r\n props<{ customers: Customer[] }>()\r\n);\r\n\r\nexport const searchCustomersFail = createAction(\r\n '[Proxy] Search customer fail'\r\n);\r\n\r\nexport const clearCustomers = createAction(\r\n '[Proxy] Clear customers'\r\n);\r\n\r\nexport const setProduct = createAction(\r\n '[Proxy] Set product',\r\n props<{ products: ISimpleProduct[] }>()\r\n);\r\n\r\nexport const saveContact = createAction(\r\n '[Proxy] Save contact',\r\n props<{\r\n applicantId: string,\r\n contact: ContactInformation,\r\n skipHistory?: boolean\r\n }>()\r\n);\r\n\r\nexport const saveContactSucces = createAction(\r\n '[Proxy] Save contact success',\r\n props<{ contact: ContactInformation }>()\r\n);\r\n\r\nexport const saveContactFail = createAction(\r\n '[Proxy] Save contact fail'\r\n);\r\n\r\nexport const registerExisitingCustomer = createAction(\r\n '[Proxy] Register existing customer',\r\n props<{ customer: Customer }>()\r\n);\r\n\r\nexport const handOff = createAction(\r\n '[Proxy] Hand Off',\r\n props<{ applicationId: string }>()\r\n);\r\n\r\nexport const handOffSuccess = createAction(\r\n '[Proxy] Hand Off success'\r\n);\r\n\r\nexport const getRepCodes = createAction(\r\n '[Proxy] Get Rep Codes'\r\n)\r\n\r\nexport const getRepCodesSuccess = createAction(\r\n '[Proxy] Get Rep Codes success',\r\n props<{ repCodes: RepCode[] }>()\r\n)\r\n\r\nexport const getRepCodesFail = createAction(\r\n '[Proxy] Get Rep Codes fail'\r\n)\r\n\r\nexport const setRepCode = createAction(\r\n '[Proxy] Set Rep Code',\r\n props<{ repCode: string }>()\r\n);\r\n\r\nexport const clearProxyState = createAction(\r\n '[Proxy] Clear State'\r\n);\r\n\r\nexport const setProxyDeclinedTrustedSelection = createAction(\r\n '[Proxy] Set declined trusted selection',\r\n props<{ applicantId: string, declinedTrustedFlag: boolean, trustedDeclined?: any}>()\r\n);\r\n","import { Action } from '@ngrx/store';\r\n// Models\r\nimport {\r\n ApplicationStatus,\r\n IdaUserQuestionnaireAnswers,\r\n ApplicantIdaQuestionSessionValues } from 'models/rules';\r\nimport { APPLICANT_TYPE } from 'models/enums';\r\nimport { AxosResult } from 'models/enums/trading';\r\n\r\nexport enum RULES_ACTION_TYPES {\r\n VALIDATE_APPLICATION = '[Application] Validate',\r\n VALIDATE_APPLICATION_FAIL = '[Application] Validate fail',\r\n VALIDATE_APPLICATION_SUCCESS = '[Application] Validate success',\r\n\r\n BOARD_APPLICATION = '[Application] Board',\r\n BOARD_APPLICATION_FAIL = '[Application] Board fail',\r\n BOARD_APPLICATION_SUCCESS = '[Application] Board success',\r\n\r\n BOARD_IN_MITEK = '[Application] Board in Mitek',\r\n BOARD_IN_MITEK_FAIL = '[Application] Board in Mitek fail',\r\n BOARD_IN_MITEK_SUCCESS = '[Application] Board in Mitek success',\r\n\r\n RESUME_RULES = '[Application] Resume Rules',\r\n RESUME_RULES_FAIL = '[Application] Resume Rules fail',\r\n RESUME_RULES_SUCCESS = '[Application] Resume Rules success',\r\n\r\n UPDATE_PENDING_BANK_REVIEW = '[Application] Update Pending Bank Review',\r\n UPDATE_PENDING_BANK_REVIEW_FAIL = '[Application] Update Pending Bank Review fail',\r\n UPDATE_PENDING_BANK_REVIEW_SUCCESS = '[Application] Update Pending Bank Review success',\r\n\r\n UPDATE_PENDING_KBA = '[Application] Update Pending KBA',\r\n UPDATE_PENDING_KBA_FAIL = '[Application] Update Pending KBA fail',\r\n UPDATE_PENDING_KBA_SUCCESS = '[Application] Update Pending KBA success',\r\n\r\n GET_IDA_QUESTIONS = '[Application] Get IDA questions',\r\n GET_IDA_QUESTIONS_FAIL = '[Application] Get IDA questions fail',\r\n GET_IDA_QUESTIONS_SUCCESS = '[Application] Get IDA questions success',\r\n\r\n GET_PENDING_ID_VERIFICATION_APPLICANTS = '[Application] Get Pending ID Verification Applicants',\r\n GET_PENDING_ID_VERIFICATION_APPLICANTS_FAIL = '[Application] Get Pending ID Verification Applicants fail',\r\n GET_PENDING_ID_VERIFICATION_APPLICANTS_SUCCESS = '[Application] Get Pending ID Verification Applicants success',\r\n\r\n PARSE_APPLICATION = '[Application] Parse Rules Response',\r\n PARSE_APPLICATION_FAIL = '[Application] Parse Rules Response fail',\r\n PARSE_APPLICATION_SUCCESS = '[Application] Parse Rules Response success',\r\n\r\n SET_CONNECTION_ID = '[Application] Set Connection Id on Boarding',\r\n\r\n SET_BOARDING_HUB = '[Application] Set boardind hub',\r\n SET_BOARDING_HUB_SUCCESS = '[Application] Set boardind hub success',\r\n SET_BOARDING_HUB_FAIL = '[Application] Set boardind hub fail',\r\n\r\n BOARD_INPROGRESS_COMPLETE = '[Application] Board in progress complete'\r\n}\r\n\r\nexport class ValidateApplicationAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.VALIDATE_APPLICATION;\r\n constructor() { }\r\n}\r\n\r\nexport class ValidateApplicationSuccessAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.VALIDATE_APPLICATION_SUCCESS;\r\n constructor(public state: ApplicationStatus){}\r\n}\r\n\r\nexport class ValidateApplicationFailAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.VALIDATE_APPLICATION_FAIL;\r\n constructor(error: string) { }\r\n}\r\n\r\nexport class ResumeRulesAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.RESUME_RULES;\r\n constructor(public questionnaire?: IdaUserQuestionnaireAnswers[]) { }\r\n}\r\n\r\nexport class ResumeRulesSuccessAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.RESUME_RULES_SUCCESS;\r\n constructor(public state: ApplicationStatus){}\r\n}\r\n\r\nexport class ResumeRulesFailAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.RESUME_RULES_FAIL;\r\n}\r\n\r\nexport class BoardApplicationAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.BOARD_APPLICATION;\r\n constructor(public connectionId?: string){}\r\n}\r\n\r\nexport class BoardApplicationSuccessAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.BOARD_APPLICATION_SUCCESS;\r\n constructor(public status: string) { }\r\n}\r\n\r\nexport class BoardApplicationFailAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.BOARD_APPLICATION_FAIL;\r\n constructor(error: string) { }\r\n}\r\n\r\nexport class BoardInMitekAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.BOARD_IN_MITEK;\r\n}\r\n\r\nexport class BoardInMitekSuccessAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.BOARD_IN_MITEK_SUCCESS;\r\n constructor(public state: ApplicationStatus) { }\r\n}\r\n\r\nexport class BoardInMitekFailAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.BOARD_IN_MITEK_FAIL;\r\n}\r\n\r\nexport class UpdatePendingBankReviewAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.UPDATE_PENDING_BANK_REVIEW;\r\n constructor() { }\r\n}\r\n\r\nexport class UpdatePendingBankReviewSuccessAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.UPDATE_PENDING_BANK_REVIEW_SUCCESS;\r\n constructor() { }\r\n}\r\n\r\nexport class UpdatePendingBankReviewFailAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.UPDATE_PENDING_BANK_REVIEW_FAIL;\r\n constructor() { }\r\n}\r\n\r\nexport class UpdatePendingKBAAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.UPDATE_PENDING_KBA;\r\n constructor() { }\r\n}\r\n\r\nexport class UpdatePendingKBASuccessAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.UPDATE_PENDING_KBA_SUCCESS;\r\n constructor() { }\r\n}\r\n\r\nexport class UpdatePendingKBAFailAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.UPDATE_PENDING_KBA_FAIL;\r\n constructor() { }\r\n}\r\n\r\nexport class GetIDAQuestionsAction implements Action{\r\n readonly type = RULES_ACTION_TYPES.GET_IDA_QUESTIONS;\r\n constructor(public isRetry: boolean = false) { }\r\n}\r\n\r\nexport class GetIDAQuestionsFailAction implements Action{\r\n readonly type = RULES_ACTION_TYPES.GET_IDA_QUESTIONS_FAIL;\r\n constructor(public isRetry: boolean = false) { }\r\n}\r\n\r\nexport class GetIDAQuestionsSuccessAction implements Action{\r\n readonly type = RULES_ACTION_TYPES.GET_IDA_QUESTIONS_SUCCESS;\r\n constructor(public state: ApplicationStatus, public IdaQuestions: ApplicantIdaQuestionSessionValues[]) {}\r\n}\r\n\r\nexport class GetPendingIDVerificationApplicantsAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.GET_PENDING_ID_VERIFICATION_APPLICANTS;\r\n}\r\n\r\nexport class GetPendingIDVerificationApplicantsSuccessAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.GET_PENDING_ID_VERIFICATION_APPLICANTS_SUCCESS;\r\n constructor(public applicants: APPLICANT_TYPE[]) {}\r\n}\r\n\r\nexport class ParserApplicationAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.PARSE_APPLICATION;\r\n}\r\n\r\nexport class ParserApplicationSuccessAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.PARSE_APPLICATION_SUCCESS;\r\n}\r\n\r\nexport class ParserApplicationFailAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.PARSE_APPLICATION_FAIL;\r\n}\r\n\r\nexport class SetConnectionIdAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.SET_CONNECTION_ID;\r\n constructor(public connectionId: string){}\r\n}\r\n\r\nexport class SetBoardingHubAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.SET_BOARDING_HUB;\r\n}\r\n\r\nexport class SetBoardingHubSuccessAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.SET_BOARDING_HUB_SUCCESS;\r\n}\r\n\r\nexport class SetBoardingHubFailAction implements Action {\r\n readonly type = RULES_ACTION_TYPES.SET_BOARDING_HUB_FAIL;\r\n}\r\n\r\nexport class BoardInProgressComplete implements Action {\r\n readonly type = RULES_ACTION_TYPES.BOARD_INPROGRESS_COMPLETE;\r\n constructor(public status: string){}\r\n}\r\n\r\nexport type RulesAction =\r\n ValidateApplicationAction | ValidateApplicationSuccessAction | ValidateApplicationFailAction |\r\n ResumeRulesAction | ResumeRulesSuccessAction | ResumeRulesFailAction |\r\n BoardApplicationAction | BoardApplicationSuccessAction | BoardApplicationFailAction |\r\n BoardInMitekAction | BoardInMitekSuccessAction | BoardInMitekFailAction |\r\n UpdatePendingKBAAction | UpdatePendingKBASuccessAction | UpdatePendingKBAFailAction |\r\n UpdatePendingBankReviewAction | UpdatePendingBankReviewSuccessAction | UpdatePendingBankReviewFailAction |\r\n GetPendingIDVerificationApplicantsAction | GetPendingIDVerificationApplicantsSuccessAction |\r\n GetIDAQuestionsAction | GetIDAQuestionsSuccessAction | GetIDAQuestionsFailAction |\r\n ParserApplicationAction | ParserApplicationSuccessAction | ParserApplicationFailAction | SetConnectionIdAction |\r\n SetBoardingHubAction | SetBoardingHubSuccessAction | SetBoardingHubFailAction | BoardInProgressComplete;\r\n","import { createAction, props } from \"@ngrx/store\";\r\nimport { AccountFeature, Feature } from \"models/trading/account-feature.model\";\r\nimport { PersonalInformationTrading } from \"models/trading/personal-information.model\";\r\nimport { IInvestmentProfile } from \"models/trading/investment-profile.model\";\r\nimport { IInvestmentObjetive, ApplicationSummary, FinancialInformation } from \"models\";\r\nimport { Person } from 'models/trading/person.model';\r\n\r\n\r\nexport const setAccountFeature = createAction(\r\n '[Trading] Set account feature',\r\n props<{ feature: AccountFeature }>()\r\n);\r\n\r\nexport const setAccountFeatureSuccess = createAction(\r\n '[Trading] Set account feature success',\r\n props<{feature: AccountFeature}>()\r\n);\r\n\r\nexport const setAccountFeatureFail = createAction(\r\n '[Trading] Set account feature fail',\r\n props<{ error: string }>()\r\n);\r\n\r\nexport const setPersonalInformation = createAction(\r\n '[Trading] Set personal information',\r\n props<{ personalInformation: PersonalInformationTrading }>()\r\n);\r\n\r\nexport const setPersonalInformationSuccess = createAction(\r\n '[Trading] Set personal information success',\r\n (personalInformation: PersonalInformationTrading, shouldNavigate: boolean = true) => ({ personalInformation, shouldNavigate })\r\n);\r\n\r\nexport const setPersonalInformationFail = createAction('[Trading] Set personal information fail');\r\n\r\nexport const saveInvestmentProfile = createAction(\r\n '[Trading] Save investment profile',\r\n props<{investmentProfile: IInvestmentProfile, skipHistory: boolean}>()\r\n);\r\n\r\nexport const saveInvestmentProfileSuccess = createAction(\r\n '[Trading] Save investment profile success',\r\n (investmentProfile: IInvestmentProfile, shouldNavigate: boolean = true) => ({ investmentProfile, shouldNavigate })\r\n);\r\n\r\nexport const saveInvestmentProfileFail = createAction(\r\n '[Trading] Save investment profile fail',\r\n props<{ error: string }>()\r\n);\r\n\r\nexport const getInvestmentObjetives = createAction('[Trading] Get investment objetives');\r\n\r\nexport const getInvestmentObjetivesActionSuccess = createAction(\r\n '[Trading] Get investment objetives success',\r\n props<{objetives: IInvestmentObjetive[]}>()\r\n);\r\n\r\nexport const getInvestmentObjetivesActionFail = createAction('[Trading] Get investment objetives fail');\r\n\r\nexport const getAccountFeature = createAction('[Trading] Get account feature');\r\n\r\nexport const getAccountFeatureSuccess = createAction(\r\n '[Trading] Get account feature success',\r\n props<{accountFeature: AccountFeature}>()\r\n);\r\n\r\nexport const getFeatures = createAction('[Trading] Get features catalog');\r\n\r\nexport const getFeaturesSuccess = createAction(\r\n '[Trading] Get feature catalog success',\r\n props<{features: Feature[]}>()\r\n);\r\n\r\nexport const getPersonalInformation = createAction(\r\n '[Trading] Get all personal information',\r\n props<{applicantId: string}>()\r\n);\r\n\r\nexport const getAllPersonalInformationSuccess = createAction(\r\n '[Trading] Get all personal information success',\r\n props<{person: Person}>()\r\n);\r\n\r\nexport const getInvestmentProfile = createAction('[Trading] Get investment profile');\r\n\r\nexport const getInvestmentProfileSuccess = createAction(\r\n '[Trading] Get investment profile success',\r\n props<{profile: IInvestmentProfile}>()\r\n);\r\n\r\nexport const setSkipVerification = createAction(\r\n '[Trading] Set skip verification',\r\n (applicantId: number, desicion: boolean, navigate: boolean = false) => ({ applicantId, desicion, navigate })\r\n);\r\n\r\nexport const setSkipVerificationSuccess = createAction(\r\n '[Trading] Set skip verification success',\r\n props<{desicion: boolean}>()\r\n);\r\n\r\nexport const saveTradingDisclosures = createAction(\r\n '[Trading] Save disclosures',\r\n props<{appId: string, applicantId: string, summary: ApplicationSummary}>()\r\n);\r\n\r\nexport const saveTradingDisclosuresSuccess = createAction('[Trading] Save disclosures success');\r\n\r\nexport const saveTradingDisclosuresFail = createAction(\r\n '[Trading] Save disclosures fail',\r\n props<{error: string}>()\r\n);\r\n\r\nexport const saveFinancialInformation = createAction(\r\n '[Trading] Save financial information',\r\n props<{information: FinancialInformation, applicationId: string, skipHistory: boolean}>()\r\n);\r\n\r\nexport const saveFinancialInformationSuccess = createAction(\r\n '[Trading] Save financial information success',\r\n (information: FinancialInformation, shouldNavigate: boolean = true) => ({information, shouldNavigate})\r\n);\r\n\r\nexport const saveFinancialInformationFail = createAction(\r\n '[Trading] Save financial information fail',\r\n props<{error: string}>()\r\n);\r\n\r\nexport const getFinancialInformation = createAction('[Trading] Get financial information');\r\n\r\nexport const getFinancialInformationSuccess = createAction(\r\n '[Trading] Get financial information success',\r\n props<{information: FinancialInformation}>()\r\n);\r\n\r\nexport const logAction = createAction(\r\n '[Trading] Log action',\r\n (message: string, applicantType: string = 'primary') => ({message, applicantType})\r\n);\r\n\r\nexport const clearTradingState = createAction('[Trading] Clear State');\r\n","import { createAction, props } from \"@ngrx/store\";\r\nimport { ContactInformation } from \"models/proxy\";\r\nimport { OptionLevel } from \"models/wl\";\r\n\r\nexport const getOptionLevels = createAction(\r\n '[WL] Get Option Levels'\r\n);\r\n\r\nexport const getOptionLevelsSuccess = createAction(\r\n '[WL] Get Option Levels Success',\r\n props<{ optionLevels: OptionLevel[] }>()\r\n);\r\n\r\nexport const getOptionLevelsFail = createAction(\r\n '[WL] Get Option Levels Fail',\r\n props<{error: string}>()\r\n);\r\n\r\nexport const setOptionLevel = createAction(\r\n '[WL] Set Option Level',\r\n props<{ optionLevel: OptionLevel }>()\r\n);\r\n\r\nexport const setOptionLevelSuccess = createAction(\r\n '[WL] Set Option Level Success',\r\n props<{ optionLevel: OptionLevel }>()\r\n);\r\n\r\nexport const setOptionLevelFail = createAction(\r\n '[WL] Set Option Level Fail',\r\n props<{ error: string }>()\r\n);\r\n\r\nexport const getSelectedOptionLevel = createAction(\r\n '[WL] Get Selected Option Level'\r\n);\r\n\r\nexport const getSelectedOptionLevelSucces = createAction(\r\n '[WL] Get Selected Option Level Succes',\r\n props<{ optionLevel: OptionLevel }>()\r\n);\r\n\r\nexport const getSelectedOptionLevelFail = createAction(\r\n '[WL] Get Selected Option Level Fail',\r\n props<{ error: string }>()\r\n);\r\n\r\nexport const setTrustedContact = createAction(\r\n '[WL] Set Trusted Contact',\r\n props<{ applicantId: string, trustedContact: ContactInformation, skipHistory?: boolean }>()\r\n);\r\n\r\nexport const setTrustedContactSuccess = createAction(\r\n '[WL] Set Trusted Contact Success',\r\n props<{ trustedContact: ContactInformation }>()\r\n);\r\n\r\nexport const setTrustedContactFail = createAction(\r\n '[WL] Set Trusted Contact Fail',\r\n props<{ error: string }>()\r\n);\r\n\r\nexport const setDeclinedTrustedSelection = createAction(\r\n '[WL] Set declined trusted selection',\r\n props<{ applicantId: string, declinedTrusted: boolean, isProxy?: boolean, trustedContact:any}>()\r\n)\r\n\r\nexport const getTrustedContact = createAction(\r\n '[WL] Get Trusted Contact',\r\n props<{ applicantId: string }>()\r\n);\r\n\r\nexport const getTrustedContactSucces = createAction(\r\n '[WL] Get Trusted Contact Success',\r\n props<{ trustedContact: ContactInformation }>()\r\n);\r\n\r\nexport const getTrustedContactFail = createAction(\r\n '[WL] Get Trusted Contact Fail',\r\n props<{ error: string }>()\r\n);\r\n\r\nexport const clearWhiteLabelState = createAction(\r\n '[WL] Clear State'\r\n);","export const BOARDING_RESULT = {\r\n IN_PROGRESS: 'in_progress',\r\n STARTED: \"started\",\r\n COMPLETED: 'completed',\r\n BOARDING_ERROR: 'boarding_error'\r\n}","export const FEATURE_NAMES = {\r\n Applicants: 'applicants',\r\n Application: 'application',\r\n Brand: 'brand',\r\n Auth: 'auth',\r\n Banner: 'banner',\r\n Catalogs: 'catalogs',\r\n Disclosures: 'disclosures',\r\n Products: 'products',\r\n Layout: 'layout',\r\n Router: 'router',\r\n Trading: 'trading',\r\n Organization: 'organization',\r\n Landing: 'landing',\r\n Proxy: 'proxy',\r\n Broker: 'broker',\r\n WhiteLabel: 'whiteLabel',\r\n Identification: 'identification',\r\n FeatureFlags: 'featureFlags'\r\n};\r\n","export * from './features-names';\r\nexport * from './boarding-results';\r\nexport * from './products';","export const PRODUCTS = {\r\n MPO: 'MPO',\r\n TRAD: 'TRAD',\r\n};","// Ng\r\nimport { Injectable } from '@angular/core';\r\n// RxJs\r\nimport { switchMap, map, withLatestFrom, concatMap, take, catchError, tap } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport {\r\n getApplicationId,\r\n getCurrentApplicantId,\r\n getCurrentApplicant,\r\n getApplicantsMetadata,\r\n getCurrentApplicantType,\r\n //getUserProspect,\r\n getApplicants,\r\n getUserLead,\r\n getCountries,\r\n getApplicantByType\r\n} from 'store/selectors';\r\n// NgRx Effects\r\nimport { Effect, Actions, ofType } from '@ngrx/effects';\r\n// Services\r\nimport {\r\n ApplicantInformationService,\r\n AddressService\r\n} from 'services';\r\n// Models\r\nimport { Applicant, Address, PhoneNumber, IApplicantMetadata, TrustCertificate, RecommendedAddress } from 'models';\r\n// Actions\r\nimport * as applicationActions from '../actions/application.action';\r\nimport * as applicantsActions from '../actions/applicants.action';\r\nimport { MARITAL_STATUS_ID, MARITAL_STATUS_NAME, MARITAL_TO_NAME, MARITAL_TO_ID } from 'models/enums/trading/marital-status.enum';\r\nimport { EMPLOYMENT_STATUS_ID, EMPLOYMENT_TO_ID, EMPLOYMENT_TO_NAME } from 'models/enums/trading/employment-status.enum';\r\nimport { Affiliation, AffiliationName } from 'models/trading/affiliation.model';\r\nimport { TITLES_NAME, AFFILIATION_ID } from 'models/enums/trading/affiliations.enum';\r\nimport { OCCUPATION_NAME } from 'models/enums/trading/occupation.enum';\r\nimport { ADDRESS_TYPE_NAME, APPLICANT_TYPE_NAME } from 'models/enums';\r\nimport { setWorkflowStep, setWorkflow } from 'store/workflows';\r\nimport { APPLICANT_TYPE_TO_NAME } from 'models/enums/applicant/applicant-type.enum';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { of } from 'rxjs';\r\nimport { TitleCasePipe } from '@angular/common';\r\nimport { DocumentRequest, DocumentRequestService } from 'app/documents';\r\nimport { IdentificationUploadService } from 'app/enrollment-common';\r\n\r\n@Injectable()\r\nexport class ApplicantsEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private store$: Store,\r\n private addressService: AddressService,\r\n private applicantInformationService: ApplicantInformationService,\r\n private identificationUploadService: IdentificationUploadService,\r\n public titleCasePipe: TitleCasePipe,\r\n private documentService: DocumentRequestService) { }\r\n\r\n private applicationId$ = this.store$.select(getApplicationId);\r\n\r\n @Effect()\r\n afterApplicationLoaded$ = this.actions$.pipe(\r\n ofType(\r\n applicationActions.APPLICATION_ACTION_TYPES.LOAD_APPLICATION_SUCCESS,\r\n applicationActions.APPLICATION_ACTION_TYPES.LOAD_APPLICATION_BY_TOKEN_SUCCESS),\r\n map(({ application }) => {\r\n return new applicantsActions.SetCurrentApplicantTypeAction(\r\n APPLICANT_TYPE_TO_NAME[application['applicantTypeId']] || APPLICANT_TYPE_NAME.Primary\r\n );\r\n }));\r\n\r\n LoadApplicationSuccessAction\r\n\r\n @Effect()\r\n loadAllApplicants$ = this.actions$.pipe(\r\n ofType(applicantsActions.APPLICANTS_ACTION_TYPES.LOAD_ALL_APPLICANTS),\r\n withLatestFrom(this.applicationId$, this.store$.select(getCountries)),\r\n switchMap(data => {\r\n const applicationId = data[1];\r\n const states = data[2];\r\n return this.applicantInformationService.getAllApplicants(applicationId)\r\n .pipe(\r\n map((applicants: Applicant[]) => {\r\n applicants = applicants.map(applicant => {\r\n applicant.type = applicant.type.toLowerCase();\r\n applicant.affiliations = applicant.affiliations.map(affiliation => {\r\n affiliation.affiliationTypeName = (affiliation.affiliationTypeName as AffiliationName).name;\r\n affiliation.companyTitleName = (affiliation.companyTitleName as AffiliationName).name;\r\n return affiliation;\r\n });\r\n applicant.person.affiliations = applicant.affiliations || [];\r\n applicant.person.maritalStatus = MARITAL_TO_ID[applicant.person.maritalStatus];\r\n applicant.person.employment.employmentType = EMPLOYMENT_TO_ID[applicant.person.employment.employmentType];\r\n const Applicants: IApplicantMetadata[] = applicants.map((app) => {\r\n return {\r\n applicantId: app.applicantId,\r\n type: app.type\r\n }\r\n });\r\n applicant.addresses.forEach((element)=>{\r\n if(element.zipPlus4 && element.zipPlus4 !=''){\r\n if(!element.zip.includes('-')){\r\n element.zip = `${element.zip}-${element.zipPlus4}`;\r\n }\r\n }\r\n });\r\n applicant.addresses = applicant.addresses.map((address) => {\r\n return {\r\n ...address,\r\n street: this.titleCasePipe.transform(address.street),\r\n street2: this.titleCasePipe.transform(address.street2),\r\n city: this.titleCasePipe.transform(address.city)\r\n }\r\n });\r\n this.store$.dispatch(new applicationActions.SetApplicantsMeta(Applicants));\r\n return applicant;\r\n });\r\n return new applicantsActions.LoadAllApplicantsSuccessAction(applicants);\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n loadApplicant$ = this.actions$.pipe(\r\n ofType(applicantsActions.APPLICANTS_ACTION_TYPES.LOAD_APPLICANT),\r\n withLatestFrom(this.store$.select(getCountries)),\r\n concatMap(data => {\r\n const action = data[0];\r\n const states = data[1];\r\n return this.applicantInformationService.getApplicant(action.applicantId)\r\n .pipe(\r\n map(response => {\r\n response.type = response.type.toLowerCase();\r\n response.affiliations = response.affiliations.map(affiliation => {\r\n affiliation.affiliationTypeName = (affiliation.affiliationTypeName as AffiliationName).name;\r\n affiliation.companyTitleName = (affiliation.companyTitleName as AffiliationName).name;\r\n return affiliation;\r\n });\r\n response.person.affiliations = response.affiliations;\r\n response.person.maritalStatus = MARITAL_TO_ID[response.person.maritalStatus];\r\n response.person.employment ? response.person.employment.employmentType = EMPLOYMENT_TO_ID[response.person.employment.employmentType] : '';\r\n return new applicantsActions.LoadApplicantSuccessAction(response, action.setAsCurrent);\r\n })\r\n );\r\n })\r\n );\r\n\r\n /*\r\n @Effect()\r\n loadApplicantSuccess$ = this.actions$.pipe(\r\n ofType(applicantsActions.APPLICANTS_ACTION_TYPES.LOAD_APPLICANT_SUCCESS),\r\n map(({ applicant }) => setWorkflow({\r\n workflow: (applicant).workflowSteps,\r\n state: (applicant).applicantStateName,\r\n })));\r\n */\r\n\r\n // @Effect()\r\n // updateApplicant$ = this.actions$.pipe(\r\n // ofType(applicantsActions.APPLICANTS_ACTION_TYPES.UPDATE_APPLICANT),\r\n // switchMap((action: applicantsActions.UpdateApplicantAction) => {\r\n // const applicant = action.applicant;\r\n // return this.applicantInformationService.updateApplicant({\r\n // ApplicantId: applicant.ApplicantId,\r\n // FirstName: applicant.FirstName,\r\n // MiddleName: applicant.MiddleName,\r\n // LastName: applicant.LastName,\r\n // SuffixId: applicant.SuffixId,\r\n // Occupation: applicant.Occupation,\r\n // DOB: applicant.DOB,\r\n // CitizenshipTypeId: applicant.CitizenshipTypeId,\r\n // EmploymentTypeId: applicant.EmploymentTypeId,\r\n // SSN: applicant.SSN,\r\n // EmailPrimary: applicant.EmailPrimary,\r\n // TrustName: applicant.TrustName\r\n // }).pipe(map(response => new applicantsActions.UpdateApplicantSuccessAction(response, applicant.applicantId, action.shouldNavigate)))\r\n // })\r\n // );\r\n\r\n @Effect()\r\n saveApplicantAddress$ = this.actions$.pipe(\r\n ofType(applicantsActions.APPLICANTS_ACTION_TYPES.SAVE_APPLICANT_ADDRESS),\r\n withLatestFrom(this.store$.select(getCurrentApplicantId)),\r\n concatMap(data => {\r\n const action = data[0];\r\n const currentApplicantId = data[1];\r\n\r\n const address: Address = {\r\n ...action.address,\r\n applicantId: currentApplicantId,\r\n addressType: action.addressType\r\n };\r\n return this.addressService.updateApplicantAddress(currentApplicantId, address, action.skipHistory)\r\n .pipe(\r\n map(() => new applicantsActions.SaveApplicantAddressSuccessAction(address, currentApplicantId, action.shouldNavigate, action.skipHistory)),\r\n catchError((error: HttpErrorResponse) => {\r\n const errorMessage = error.error ? error.error.Message : \"Save Address Error\";\r\n return of(new applicantsActions.SaveApplicantAddressFailAction(errorMessage))\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n saveApplicantAddressFail$ = this.actions$.pipe(\r\n ofType(applicantsActions.APPLICANTS_ACTION_TYPES.SAVE_APPLICANT_ADDRESS_FAIL),\r\n tap(() => {\r\n return of(this.store$.dispatch(new applicationActions.RedirectToGeneralErrorPage()))\r\n })\r\n );\r\n\r\n /***** Address Side Effect *****/\r\n\r\n @Effect()\r\n recommendedApplicantAddress$ = this.actions$.pipe(\r\n ofType(applicantsActions.APPLICANTS_ACTION_TYPES.RECOMMENDED_APPLICANT_ADDRESS),\r\n withLatestFrom(this.store$.select(getCurrentApplicantId)),\r\n concatMap(data => {\r\n const action = data[0];\r\n const currentApplicantId = data[1];\r\n\r\n const address: RecommendedAddress = {\r\n ...action.recaddress,\r\n };\r\n return this.addressService.getRecommendedAddress(address)\r\n .pipe(\r\n map(response => new applicantsActions.RecommendedApplicantAddressSuccessAction(response, currentApplicantId, action.shouldNavigate, action.skipHistory)),\r\n catchError((error: HttpErrorResponse) => {\r\n const errorMessage = error.error ? error.error.Message : \"Recommended Address Error\";\r\n return of(new applicantsActions.RecommendedApplicantAddressFailAction(errorMessage))\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n recommendApplicantAddressFail$ = this.actions$.pipe(\r\n ofType(applicantsActions.APPLICANTS_ACTION_TYPES.RECOMMENDED_APPLICANT_ADDRESS_FAIL),\r\n tap(() => {\r\n return of(this.store$.dispatch(new applicationActions.RedirectToGeneralErrorPage()))\r\n })\r\n );\r\n\r\n /***** USPS Side Effect *****/\r\n\r\n @Effect()\r\n saveApplicantPhone$ = this.actions$.pipe(\r\n ofType(applicantsActions.APPLICANTS_ACTION_TYPES.SAVE_APPLICANT_PHONE),\r\n withLatestFrom(this.store$.select(getCurrentApplicantId)),\r\n concatMap(data => {\r\n const action = data[0];\r\n const currentApplicantId = data[1];\r\n\r\n const phone: PhoneNumber = {\r\n ...action.phone,\r\n PhoneTypeId: action.phoneType,\r\n applicantId: currentApplicantId\r\n };\r\n return this.applicantInformationService.updateApplicantPhone(currentApplicantId, phone)\r\n .pipe(\r\n map(response => new applicantsActions.SaveApplicantPhoneSuccessAction(response, currentApplicantId, action.shouldNavigate))\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n saveApplicantIdentificationInfo$ = this.actions$.pipe(\r\n ofType(applicantsActions.APPLICANTS_ACTION_TYPES.SAVE_APPLICANT_IDENTIFICATION),\r\n withLatestFrom(this.store$.select(getCurrentApplicantId)),\r\n switchMap(data => {\r\n const action = data[0];\r\n const currentApplicantId = data[1];\r\n\r\n return this.applicantInformationService.updateApplicantIdentification(currentApplicantId, action.identification)\r\n .pipe(\r\n map(response => new applicantsActions.SaveApplicantIdentificationInfoSuccessAction(response, currentApplicantId, action.shouldNavigate))\r\n );\r\n })\r\n );\r\n\r\n // @Effect()\r\n // saveApplicantPIUniversal$ = this.actions$.pipe(\r\n // ofType(applicantsActions.APPLICANTS_ACTION_TYPES.SAVE_PI_UNIVERSAL),\r\n // withLatestFrom(this.store$.select(getCurrentApplicantId)),\r\n // switchMap(data => {\r\n // const action = data[0];\r\n // const currentApplicantId = data[1]\r\n // return this.applicantInformationService.saveApplicantPIUniversal(currentApplicantId, action.personalInformationUniversal)\r\n // .pipe(\r\n // map(response => new applicantsActions.SavePIUniversalSuccessAction(response, currentApplicantId, action.shouldNavigate))\r\n // );\r\n // })\r\n // );\r\n\r\n @Effect()\r\n getAddressInfoes = this.actions$.pipe(\r\n ofType(applicantsActions.APPLICANTS_ACTION_TYPES.GET_ADDRESS_INFOES),\r\n switchMap((action: applicantsActions.GetAddressInfoesAction) => {\r\n const applicantId = action.applicantId;\r\n return this.addressService.getAddressInfoes(applicantId).pipe(\r\n map(res => {\r\n const addresses: Address[] = res.addresses;\r\n return new applicantsActions.GetAddressInfoesSuccessAction(addresses, applicantId)\r\n })\r\n )\r\n })\r\n )\r\n\r\n @Effect()\r\n saveApplicantPIUniversal = this.actions$.pipe(\r\n ofType(applicantsActions.APPLICANTS_ACTION_TYPES.SAVE_PI_UNIVERSAL),\r\n withLatestFrom(\r\n this.store$.select(getApplicationId),\r\n this.store$.select(getCurrentApplicantId)\r\n ),\r\n switchMap(data => {\r\n const action = data[0];\r\n const applicationId = data[1];\r\n const applicantId = data[2];\r\n const person = action.Person;\r\n // Need to review this because it is different in the API\r\n person.citizenship = person.citizenship || 'usresident';\r\n person.country = person.country;\r\n person.maritalStatus = person.maritalStatus || 'None';\r\n person.occupation = person.occupation || OCCUPATION_NAME.None;\r\n person.dependents = person.dependents || 0;\r\n person.employment.yearsEmployed = person.employment.yearsEmployed || 0;\r\n if (person.employment.employmentType === EMPLOYMENT_STATUS_ID.Employed) {\r\n person.employment.address.addressType = ADDRESS_TYPE_NAME.Work;\r\n }\r\n person.affiliations = person.affiliations || [];\r\n const affiliations = person.affiliations;\r\n if (affiliations.length > 0) {\r\n for (const affiliation of affiliations) {\r\n affiliation.companyTitleName = affiliation.companyTitleName || TITLES_NAME.NONE;\r\n affiliation.affiliationTypeName = affiliation.affiliationTypeName || AFFILIATION_ID.NONE;\r\n }\r\n }\r\n return this.applicantInformationService.saveApplicantPIUniversal(action.Person, applicationId, applicantId, action.skipHistory).pipe(\r\n map(() => {\r\n return new applicantsActions.SavePIUniversalSuccessAction(person, applicantId, action.shouldNavigate, action.skipHistory)\r\n }),\r\n catchError((error: HttpErrorResponse) => {\r\n const errorMessage = error.error ? error.error.Message : \"Save Applicant Information Error\";\r\n return of(new applicantsActions.SavePIUniversalFailAction(errorMessage))\r\n })\r\n )\r\n })\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n saveApplicantPIUniversalFail$ = this.actions$.pipe(\r\n ofType(applicantsActions.APPLICANTS_ACTION_TYPES.SAVE_PI_UNIVERSAL_FAIL),\r\n tap(() => {\r\n return of(this.store$.dispatch(new applicationActions.RedirectToGeneralErrorPage()))\r\n })\r\n )\r\n\r\n @Effect({ dispatch: false })\r\n setCurrentapplicant$ = this.actions$.pipe(\r\n ofType(applicantsActions.APPLICANTS_ACTION_TYPES.SET_CURRENT_APPLICANT_TYPE),\r\n withLatestFrom(\r\n this.store$.select(getApplicantsMetadata),\r\n this.store$.select(getCurrentApplicantType)\r\n ),\r\n map(data => {\r\n const action = data[0];\r\n const applicantType = action.applicantType;\r\n const metadata = data[1];\r\n const currentApplicantType = data[2];\r\n if (currentApplicantType !== applicantType) {\r\n // TODO: Add option to dispatch Action only if needed\r\n const mApplicant = metadata.find(applicant => applicant.type === applicantType);\r\n this.store$.dispatch(new applicantsActions.LoadApplicantAction(mApplicant.applicantId));\r\n }\r\n })\r\n )\r\n\r\n @Effect()\r\n saveBasicInformation$ = this.actions$.pipe(\r\n ofType(applicantsActions.APPLICANTS_ACTION_TYPES.SAVE_BASIC_INFORMATION),\r\n switchMap((action: applicantsActions.SaveBasicInformationAction) => {\r\n action.person.dependents ? action.person.dependents : action.person.dependents = 0;\r\n return this.applicantInformationService.saveBasicInformation(action.applicantId, action.person).pipe(\r\n map(() => new applicantsActions.SaveBasicInformationActionSuccess(action.applicantId, action.person))\r\n )\r\n })\r\n );\r\n\r\n @Effect()\r\n updateTaxpayerId$ = this.actions$.pipe(\r\n ofType(applicantsActions.APPLICANTS_ACTION_TYPES.UPDATE_TAX_PAYER_ID),\r\n switchMap((action: applicantsActions.UpdateApplicantTaxPayerIdAction) => {\r\n return this.applicantInformationService.updateTaxpayerId(action.applicantId, action.taxPayerId).pipe(\r\n map(() => new applicantsActions.UpdateApplicantTaxPayerIdActionSuccess(action.applicantId, action.taxPayerId))\r\n )\r\n })\r\n );\r\n\r\n @Effect()\r\n updateProxyTaxpayerId$ = this.actions$.pipe(\r\n ofType(applicantsActions.APPLICANTS_ACTION_TYPES.UPDATE_PROXY_TAX_PAYER_ID),\r\n switchMap((action: applicantsActions.UpdateProxyApplicantTaxPayerIdAction) => {\r\n return this.applicantInformationService.updateProxyTaxpayerId(action.applicationId, action.applicantId, action.taxPayerId).pipe(\r\n map(() => new applicantsActions.UpdateProxyApplicantTaxPayerIdActionSuccess(action.applicationId, action.applicantId, action.taxPayerId))\r\n )\r\n })\r\n );\r\n\r\n @Effect()\r\n saveAdditionalOwner$ = this.actions$.pipe(\r\n ofType(applicantsActions.APPLICANTS_ACTION_TYPES.SAVE_ADDITIONAL_OWNER_INFO),\r\n withLatestFrom(\r\n this.store$.select(getApplicantByType(APPLICANT_TYPE_NAME.Joint)),\r\n this.applicationId$,\r\n ),\r\n switchMap((data) => {\r\n const action = data[0];\r\n const applicantId = data[1].applicantId;\r\n const applicationId = data[2];\r\n return this.applicantInformationService.saveAdditionalOwner(applicationId, applicantId, action.additionalPerson, action.skipHistory).pipe(\r\n map(() => {\r\n return action.updateAdditional ?\r\n new applicantsActions.UpdateAdditionalOwnerSuccessAction(applicantId, action.additionalPerson) :\r\n new applicantsActions.SaveAdditionalOwnerSuccessAction(applicantId, action.additionalPerson)\r\n })\r\n )\r\n })\r\n );\r\n\r\n @Effect()\r\n getRequestedDocuments$ = this.actions$.pipe(\r\n ofType(applicantsActions.APPLICANTS_ACTION_TYPES.GET_REQUESTED_DOCUMENTS),\r\n withLatestFrom(\r\n this.store$.select(getCurrentApplicantId),\r\n this.store$.select(getApplicationId)\r\n ),\r\n switchMap((data) => {\r\n const action = data[0];\r\n const applicantId = data[1];\r\n const applicationId = data[2];\r\n return this.documentService.getRequestedDocuments(applicationId).pipe(\r\n map((response: DocumentRequest[]) => new applicantsActions.GetRequestedDocumentsSuccessAction(applicantId, response))\r\n );\r\n }),\r\n catchError((error) => {\r\n return of(new applicantsActions.GetRequestedDocumentsFailAction());\r\n })\r\n );\r\n\r\n @Effect()\r\n saveIdentificationDetailsInfo$ = this.actions$.pipe(\r\n ofType(applicantsActions.APPLICANTS_ACTION_TYPES.SAVE_IDENTIFICATION_DETAILS),\r\n withLatestFrom(\r\n this.store$.select(getCurrentApplicantId),\r\n this.store$.select(getApplicationId)\r\n ),\r\n switchMap((data) => {\r\n const action = data[0];\r\n const applicantId = data[1];\r\n const applicationId = data[2];\r\n\r\n return this.identificationUploadService.saveIdentificationDetailsInfo(applicantId, action.identificationDetailsInfo, applicationId, action.skipHistory).pipe(\r\n map(() => {\r\n return new applicantsActions.SaveIdentificationDetailsSuccessAction(applicantId, action.identificationDetailsInfo)\r\n })\r\n )\r\n }),\r\n catchError((error) => {\r\n return of(new applicantsActions.SaveIdentificationDetailsFailAction())\r\n })\r\n )\r\n\r\n @Effect()\r\n saveIdDetailsPage2$ = this.actions$.pipe(\r\n ofType(applicantsActions.APPLICANTS_ACTION_TYPES.SAVE_ID_DETAILS_PAGE_2),\r\n withLatestFrom(\r\n this.store$.select(getCurrentApplicantId),\r\n ),\r\n switchMap((data) => {\r\n const action = data[0];\r\n const applicantId = data[1];\r\n\r\n return this.identificationUploadService.saveIdDetailsPage2(applicantId, action.idDetails, action.skipHistory).pipe(\r\n map(response => {\r\n if (response.success) {\r\n return new applicantsActions.SaveIdDetailsPage2Success(applicantId, action.idDetails);\r\n }\r\n return new applicantsActions.SaveIdDetailsPage2Success(applicantId, null);\r\n }),\r\n catchError(error => of(new applicantsActions.SaveIdDetailsPage2Fail(error)))\r\n )\r\n }),\r\n catchError((error) => {\r\n return of(new applicantsActions.SaveIdDetailsPage2Fail(error))\r\n })\r\n );\r\n\r\n @Effect()\r\n getApplicantExisting$ = this.actions$.pipe(\r\n ofType(applicantsActions.APPLICANTS_ACTION_TYPES.GET_APPLICANT_EXISTING),\r\n withLatestFrom(\r\n this.store$.select(getCurrentApplicantId)\r\n ),\r\n switchMap(([ac, applicantId]) => {\r\n let action: applicantsActions.GetApplicantExisting = ac;\r\n let _applicantId = action.applicantId ? action.applicantId : applicantId;\r\n return this.applicantInformationService.getApplicantExisting(_applicantId).pipe(\r\n map((response) => {\r\n return new applicantsActions.GetApplicantExistingSuccessAction(_applicantId, response.existingCustomer)\r\n })\r\n )\r\n }),\r\n catchError((error) => {\r\n return of(new applicantsActions.GetApplicantExistingFailAction());\r\n })\r\n );\r\n\r\n //this catch the load of All Applicants to set the isExisting flag per applicant\r\n @Effect({ dispatch: false })\r\n loadAllApplicantsSuccess$ = this.actions$.pipe(\r\n ofType(applicantsActions.APPLICANTS_ACTION_TYPES.LOAD_ALL_APPLICANTS_SUCCESS),\r\n withLatestFrom(\r\n this.store$.select(getCurrentApplicantId)\r\n ),\r\n map(([ac, applicantId]) => {\r\n let action: applicantsActions.LoadAllApplicantsSuccessAction = ac;\r\n this.store$.dispatch(new applicantsActions.GetApplicantExisting(applicantId));\r\n })\r\n )\r\n}\r\n","declare var environment: any;\r\n// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n// RxJs\r\nimport { of, iif } from 'rxjs';\r\nimport { switchMap, map, withLatestFrom, filter, first, catchError, tap, mergeMap } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState, GetBeneficiariesInformationSuccessAction } from 'store';\r\nimport { fetchWorkflow } from 'store/workflows';\r\nimport {\r\n getUserApplicationId,\r\n getMarketingSelectedProducts,\r\n getBrand,\r\n getApplication,\r\n getAdvisorId,\r\n getSelectedVestingTypeId,\r\n getCurrentApplicantType,\r\n getDmdEnabled,\r\n getToken,\r\n getApplicationId,\r\n getApplicationStateId,\r\n getIRAFlag,\r\n getIsManagedPortfolio,\r\n getPrimaryApplicant,\r\n getCurrentApplicantId\r\n} from 'store/selectors';\r\n// NgRx Effects\r\nimport { Effect, Actions, ofType } from '@ngrx/effects';\r\n// Services\r\nimport { ApplicationService } from 'services';\r\nimport { StateRouteService, UtmCodeService } from 'app/core/services';\r\n// Models\r\nimport { SOURCE_TYPES, BRAND_ID, APPLICATION_STATE, BENEFICIARY_TYPE } from 'models/enums';\r\n// Actions\r\nimport * as applicationActions from '../actions/application.action';\r\nimport * as applicantsAction from '../actions/applicants.action';\r\nimport * as rulesActions from '../actions/rules.action';\r\nimport * as authActions from '../actions/auth.action';\r\nimport * as productsActions from '../actions/products.action';\r\n// Route constants\r\nimport { AUTH_PARENT_ROUTE, AUTH_ROUTES } from 'app/auth/constants/route-names';\r\nimport { SET_CACHE } from 'app/core/utils';\r\nimport { IApplication, TrustCertificate } from 'models';\r\nimport { APPLICATION_TYPE, APPLICATION_TYPE_FLOW } from 'models/enums/application-type.enum';\r\nimport { OUTCOME_PARENT_ROUTE, OUTCOME_ROUTES } from 'app/outcome/constants';\r\nimport { LANDING_ROUTES } from 'app/landing/routing';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Injectable()\r\nexport class ApplicationEffects {\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private store$: Store,\r\n private applicationService: ApplicationService,\r\n private stateRouteService: StateRouteService,\r\n private utmCodeService: UtmCodeService,\r\n private router: Router) { }\r\n\r\n @Effect()\r\n loadApplication$ = this.actions$.pipe(\r\n ofType(applicationActions.APPLICATION_ACTION_TYPES.LOAD_APPLICATION),\r\n // switchMap(() => this.applicationId$.pipe(first())),\r\n switchMap((action: applicationActions.LoadApplicationAction) => {\r\n return this.applicationService.getApplication(action.applicationId).pipe(\r\n map((response: IApplication) => {\r\n response.Applicants = response.applicants.reduce((acc, item) => {\r\n acc.push({ ApplicantId: item.applicantId })\r\n return acc;\r\n }, []);\r\n const IRAProduct = response.productCodes.find(p => p == 'RIRA' || p == 'TIRA');\r\n this.store$.dispatch(new productsActions.SetIRAFlag(!!IRAProduct));\r\n // this.store$.dispatch(new applicantsAction.LoadAllApplicantsSuccessAction(response.applicants));\r\n return new applicationActions.LoadApplicationSuccessAction(response);\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n loadApplicationByToken$ = this.actions$.pipe(\r\n ofType(applicationActions.APPLICATION_ACTION_TYPES.LOAD_APPLICATION_BY_TOKEN),\r\n withLatestFrom(\r\n this.store$.select(getMarketingSelectedProducts),\r\n this.store$.select(getIsManagedPortfolio),\r\n this.store$.select(getIRAFlag)\r\n ),\r\n switchMap(([application, products, isManagedPortfolio, isIRA]) => {\r\n const action: applicationActions.LoadApplicationByTokenAction = application;\r\n const productCodes = products.map(x => x.productCode);\r\n\r\n let applicationTypeName = APPLICATION_TYPE_FLOW.Trading;\r\n let isIRAProduct = productCodes.find(x => x.toLowerCase() === 'tira' || x.toLowerCase() === 'rira');\r\n\r\n if (isIRA || isIRAProduct) {\r\n if (environment.applicationTypeName == APPLICATION_TYPE_FLOW.Trading) { applicationTypeName = APPLICATION_TYPE_FLOW.TradingIRA }\r\n if (environment.applicationTypeName == APPLICATION_TYPE_FLOW.WhitelabelTrading) { applicationTypeName = APPLICATION_TYPE_FLOW.WhitelabelTradingIRA }\r\n if (environment.applicationTypeName == APPLICATION_TYPE_FLOW.ProxyTrading) { applicationTypeName = APPLICATION_TYPE_FLOW.ProxyIRA }\r\n } else if (isManagedPortfolio) {\r\n applicationTypeName = APPLICATION_TYPE_FLOW.ManagedPortfolio;\r\n } else {\r\n applicationTypeName = environment.applicationTypeName;\r\n }\r\n\r\n const utmCodes = this.utmCodeService.getUTMCampaignCodes();\r\n\r\n return this.applicationService.getApplicationByToken(action.createNew, productCodes, action.sso, applicationTypeName, utmCodes).pipe(\r\n map((res: IApplication) => {\r\n if (res.createNewApplication) {\r\n return new applicationActions.CreateApplicationAction(SOURCE_TYPES.existingEnroller);\r\n } else {\r\n res.Applicants = res.applicants.reduce((acc, item) => {\r\n acc.push({ ApplicantId: item.applicantId })\r\n return acc;\r\n }, []);\r\n //for proxy\r\n const IRAProduct = res.productCodes.find(p => p == 'RIRA' || p == 'TIRA');\r\n \r\n this.store$.dispatch(new productsActions.SetIRAFlag(!!IRAProduct));\r\n this.store$.dispatch(new applicationActions.SetApplicationApplicants(res.applicants));\r\n this.store$.dispatch(new productsActions.SetProductsSelectionAction(res.productCodes));\r\n return new applicationActions.LoadApplicationByTokenSuccessAction(res);\r\n }\r\n })\r\n );\r\n })\r\n )\r\n\r\n @Effect({ dispatch: false })\r\n loadApplicationByTokenSuccess$ = this.actions$.pipe(\r\n ofType(applicationActions.APPLICATION_ACTION_TYPES.LOAD_APPLICATION_BY_TOKEN_SUCCESS),\r\n tap(() => {\r\n return [\r\n this.store$.dispatch(new applicantsAction.LoadAllApplicantsAction()),\r\n this.store$.dispatch(new applicationActions.GetConfirmationNumberAction())\r\n ];\r\n })\r\n )\r\n\r\n /*\r\n @Effect({ dispatch: false })\r\n loadApplicationSucceed$ =this.actions$.pipe(\r\n ofType(applicationActions.APPLICATION_ACTION_TYPES.LOAD_APPLICATION_SUCCESS),\r\n withLatestFrom(\r\n this.store$.select(getToken),\r\n this.store$.select(getUser)\r\n ),\r\n tap(data => {\r\n const action: applicationActions.LoadApplicationSuccessAction = data[0],\r\n { Version, Brand, ApplicationId } = action.application,\r\n env = environment.env,\r\n token = data[1],\r\n user = data[2];\r\n if(Version === 'A' && Brand.Id === BRAND_ID.UFBDirect) {\r\n let domain = 'enrollment.ufbdirect.com';\r\n SET_CACHE(user, 'user')\r\n if(env !== 'prod') {\r\n domain = `enrollment.${env}.ufbdirect.com`;\r\n }\r\n const redirectTo = `https://${domain}/welcome`;\r\n console.log('Redirect to old UFB:', redirectTo);\r\n // window.location.href = redirectTo;\r\n }\r\n })\r\n );\r\n */\r\n\r\n @Effect()\r\n loadAccounts$ = this.actions$.pipe(\r\n ofType(applicationActions.APPLICATION_ACTION_TYPES.LOAD_ACCOUNTS),\r\n withLatestFrom(this.store$.select(getApplicationId)),\r\n switchMap(([_, applicationId]) => {\r\n return this.applicationService.getAccounts(applicationId).pipe(\r\n map(response => new applicationActions.LoadAccountsSuccessAction(response))\r\n );\r\n }),\r\n catchError((error) => {\r\n return of(new applicationActions.LoadAccountsFailAction());\r\n }),\r\n );\r\n\r\n @Effect()\r\n createApplication$ = this.actions$.pipe(\r\n ofType(applicationActions.APPLICATION_ACTION_TYPES.CREATE_APPLICATION),\r\n withLatestFrom(\r\n this.store$.select(getMarketingSelectedProducts),\r\n this.store$.select(getIRAFlag),\r\n this.store$.select(getIsManagedPortfolio)\r\n // this.store$.select(getSelectedVestingTypeId),\r\n // this.store$.select(getAdvisorId)\r\n ),\r\n switchMap(data => {\r\n const action: applicationActions.CreateApplicationAction = data[0];\r\n const ProductCodes = data[1].map(products => products.productCode);\r\n const isIRA: boolean = data[2];\r\n const isManagedPortfolio: boolean = data[3];\r\n let applicationTypeName: APPLICATION_TYPE_FLOW = APPLICATION_TYPE_FLOW.Trading;\r\n let isIRAProduct = ProductCodes.find(x => x.toLowerCase() === 'tira' || x.toLowerCase() === 'rira');\r\n\r\n if (isIRA || isIRAProduct) {\r\n if (environment.applicationTypeName == APPLICATION_TYPE_FLOW.Trading) { applicationTypeName = APPLICATION_TYPE_FLOW.TradingIRA }\r\n if (environment.applicationTypeName == APPLICATION_TYPE_FLOW.WhitelabelTrading) { applicationTypeName = APPLICATION_TYPE_FLOW.WhitelabelTradingIRA }\r\n if (environment.applicationTypeName == APPLICATION_TYPE_FLOW.ProxyTrading) { applicationTypeName = APPLICATION_TYPE_FLOW.ProxyIRA }\r\n } else if (isManagedPortfolio) {\r\n applicationTypeName = APPLICATION_TYPE_FLOW.ManagedPortfolio;\r\n } else {\r\n applicationTypeName = environment.applicationTypeName;\r\n }\r\n // VestingTypeId = data[2],\r\n // AdvisorId = data[3];\r\n var utmCodes = this.utmCodeService.getUTMCampaignCodes();\r\n return this.applicationService.createApplication({\r\n // SourceTypeId: action.sourceTypeId,\r\n // TextMessageAllowed: action.textMessageAllowed,\r\n // ShareInfo: action.shareInfo,\r\n // AdvisorId,\r\n UtmCodes: utmCodes,\r\n ProductCodes,\r\n organizationName: environment.organizationName,\r\n organizationId: environment.organizationId,\r\n BranchId: 1,\r\n ApplicationTypeId: APPLICATION_TYPE.Existing,\r\n applicationTypeName: applicationTypeName\r\n // VestingTypeId\r\n });\r\n }),\r\n switchMap(response => [\r\n new applicationActions.CreateApplicationSuccessAction(),\r\n new authActions.GetUserSuccessAction(response)\r\n ])\r\n );\r\n\r\n @Effect()\r\n updatePromoCode$ = this.actions$.pipe(\r\n ofType(applicationActions.APPLICATION_ACTION_TYPES.UPDATE_PROMO_CODE),\r\n switchMap((action: applicationActions.UpdatePromocodeAction) => {\r\n return this.applicationService.updatePromoCode(action.promoCode).pipe(\r\n map(response => new applicationActions.UpdatePromoCodeSuccessAction(response.PromoCode))\r\n )\r\n })\r\n );\r\n\r\n @Effect()\r\n setState$ = this.actions$.pipe(\r\n ofType(applicationActions.APPLICATION_ACTION_TYPES.SET_STATE),\r\n switchMap((action: applicationActions.SetApplicationStateAction) => {\r\n return this.applicationService.setState(action.state).pipe(\r\n map(() => new applicationActions.SetApplicationStateSuccessAction(action.state))\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n fetchApplicationFlow$ = this.actions$.pipe(\r\n ofType(\r\n applicationActions.APPLICATION_ACTION_TYPES.LOAD_APPLICATION_SUCCESS,\r\n applicationActions.APPLICATION_ACTION_TYPES.LOAD_APPLICATION_BY_TOKEN_SUCCESS,\r\n applicationActions.APPLICATION_ACTION_TYPES.SET_VESTING_TYPE_SUCCESS,\r\n ),\r\n withLatestFrom(this.store$.select(getApplication)),\r\n map(([action, { applicationId }]) => fetchWorkflow({ applicationId })),\r\n );\r\n\r\n /*\r\n @Effect({ dispatch: false })\r\n correctApplicationRoute$ = this.actions$.pipe(\r\n ofType(\r\n applicationActions.APPLICATION_ACTION_TYPES.LOAD_APPLICATION_SUCCESS,\r\n applicationActions.APPLICATION_ACTION_TYPES.LOAD_APPLICATION_BY_TOKEN_SUCCESS,\r\n applicationActions.APPLICATION_ACTION_TYPES.SET_STATE_SUCCESS,\r\n applicationActions.APPLICATION_ACTION_TYPES.CORRECT_ROUTE,\r\n rulesActions.RULES_ACTION_TYPES.VALIDATE_APPLICATION_SUCCESS,\r\n rulesActions.RULES_ACTION_TYPES.RESUME_RULES_SUCCESS,\r\n rulesActions.RULES_ACTION_TYPES.GET_IDA_QUESTIONS_SUCCESS,\r\n rulesActions.RULES_ACTION_TYPES.BOARD_IN_MITEK_SUCCESS\r\n ),\r\n withLatestFrom(\r\n this.store$.select(getApplication),\r\n this.store$.select(getCurrentApplicantType),\r\n this.store$.select(getMarketingSelectedProducts),\r\n this.store$.select(getDmdEnabled)\r\n ), tap(data => {\r\n const application = data[1], applicantTypeId = data[2], mProds = data[3], dmdEnabled = data[4];\r\n this.stateRouteService.correctRoute(application, applicantTypeId, mProds, dmdEnabled);\r\n })\r\n );\r\n */\r\n\r\n @Effect()\r\n cancelApplication$ = this.actions$.pipe(\r\n ofType(applicationActions.APPLICATION_ACTION_TYPES.CANCEL_APPLICATION),\r\n withLatestFrom(this.store$.select(getBrand)),\r\n switchMap(data => {\r\n const action = data[0];\r\n const brand = data[1];\r\n return this.applicationService.cancelInflight(brand.id).pipe(\r\n map(() => new applicationActions.CancelApplicationSuccessAction())\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n checkInFlight$ = this.actions$.pipe(\r\n ofType(applicationActions.APPLICATION_ACTION_TYPES.CHECK_INFLIGHT_APPLICATION),\r\n switchMap(() => {\r\n return this.applicationService.checkInFlight(environment.brandId).pipe(\r\n map(() => {\r\n return new applicationActions.CheckInFlightApplicationRedirectAction(`${AUTH_PARENT_ROUTE}/${AUTH_ROUTES.INPROGRESS}`)\r\n }),\r\n catchError((error) => {\r\n return iif(() => error.status == 404,\r\n of(new applicationActions.CreateApplicationAction(SOURCE_TYPES.existingEnroller))\r\n .pipe(\r\n tap(() => this.stateRouteService.checkForInProgress = false)\r\n ),\r\n of(new applicationActions.CheckInFlightApplicationRedirectAction(`${AUTH_PARENT_ROUTE}/${AUTH_ROUTES.EXISTINGLOGIN}`))\r\n );\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n createApplicationSuccess$ = this.actions$.pipe(\r\n ofType(applicationActions.APPLICATION_ACTION_TYPES.CREATE_APPLICATION_SUCCESS),\r\n switchMap(() => of(new applicationActions.LoadApplicationByTokenAction()))\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n getInFlightRedirect$ = this.actions$.pipe(\r\n ofType(applicationActions.APPLICATION_ACTION_TYPES.CHECK_INFLIGHT_APPLICATION_REDIRECT),\r\n switchMap((action: applicationActions.CheckInFlightApplicationRedirectAction) => this.router.navigate([action.path]))\r\n );\r\n\r\n @Effect()\r\n getConfirmationNumber$ = this.actions$.pipe(\r\n ofType(applicationActions.APPLICATION_ACTION_TYPES.GET_CONFIRMATION_NUMBER),\r\n withLatestFrom(this.store$.select(getApplicationId)),\r\n switchMap(data => {\r\n const action = data[0],\r\n applicationId = data[1];\r\n return this.applicationService.getConfirmationNumber(applicationId).pipe(\r\n map(res => {\r\n return new applicationActions.GetConfirmationNumberSuccessAction(res)\r\n })\r\n )\r\n })\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n saveBeneficiaries$ = this.actions$.pipe(\r\n ofType(applicationActions.APPLICATION_ACTION_TYPES.SAVE_BENEFICIARIES),\r\n mergeMap((action: applicationActions.SaveBeneficiariesAction) => {\r\n return this.applicationService.saveBeneficiaries(action.beneficiariesInformation, action.beneficiariesType, action.stepsToSkip, action.skipHistory).pipe(\r\n tap((response: any) => {\r\n const datePipe = new DatePipe('en-US');\r\n const _data = response.map((ben) => ({\r\n ...ben,\r\n birthDate: datePipe.transform(ben.birthDate, 'MM/dd/yyyy')//date format\r\n }));\r\n if (action.beneficiariesType === BENEFICIARY_TYPE.Contingent) {\r\n this.store$.dispatch(new applicationActions.SaveBeneficiariesContingentSuccessAction(_data));\r\n } else {\r\n this.store$.dispatch(new applicationActions.SaveBeneficiariesSuccessAction(_data));\r\n }\r\n })\r\n )\r\n })\r\n );\r\n\r\n @Effect()\r\n skipBeneficiaries$ = this.actions$.pipe(\r\n ofType(applicationActions.APPLICATION_ACTION_TYPES.SKIP_BENEFICIARIES),\r\n switchMap((action: applicationActions.SkipBeneficiariesAction) => {\r\n return this.applicationService.saveBeneficiaries(action.beneficiariesInformation, action.beneficiariesType, action.stepsToSkip).pipe(\r\n map(() => {\r\n if (action.beneficiariesType === BENEFICIARY_TYPE.Contingent) {\r\n return new applicationActions.SkipBeneficiariesContingentSuccessAction(action.beneficiariesInformation);\r\n } else {\r\n return new applicationActions.SkipBeneficiariesSuccessAction(action.beneficiariesInformation);\r\n }\r\n })\r\n )\r\n })\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n declinedBeneficiaries$ = this.actions$.pipe(\r\n ofType(applicationActions.APPLICATION_ACTION_TYPES.DECLINED_BENEFICIARIES),\r\n withLatestFrom(\r\n this.store$.select(getApplicationId),\r\n this.store$.select(getCurrentApplicantId)\r\n ),\r\n mergeMap(([ac, applicationId, applicantId]) => {\r\n let action: applicationActions.DeclinedBeneficiaries = ac;\r\n return this.applicationService.declinedBeneficiariesSelection(action.beneficiariesType, applicationId, applicantId, action.declinedBeneficiaries, action.isProxy).pipe(\r\n tap(() => {\r\n this.store$.dispatch(new applicationActions.SkipBeneficiariesAction([], action.beneficiariesType, action.stepsToSkip));\r\n })\r\n )\r\n })\r\n )\r\n\r\n @Effect({ dispatch: false })\r\n getBeneficiaries$ = this.actions$.pipe(\r\n ofType(applicationActions.APPLICATION_ACTION_TYPES.GET_BENEFICIARIES_INFORMATION),\r\n withLatestFrom(\r\n this.store$.select(getApplicationStateId)\r\n ),\r\n mergeMap((data) => {\r\n const action = data[0],\r\n applicationStateId = data[1];\r\n return this.applicationService.getBeneficiaries(action.typeName).pipe(\r\n tap((beneficiaries) => {\r\n if (action.typeName === BENEFICIARY_TYPE.Primary)\r\n this.store$.dispatch(new applicationActions.GetBeneficiariesInformationSuccessAction(beneficiaries));\r\n if (action.typeName === BENEFICIARY_TYPE.Contingent)\r\n this.store$.dispatch(new applicationActions.GetBeneficiariesContingentInformationSuccessAction(beneficiaries))\r\n })\r\n )\r\n })\r\n );\r\n\r\n @Effect()\r\n saveTrustCertificate$ = this.actions$.pipe(\r\n ofType(applicationActions.APPLICATION_ACTION_TYPES.SAVE_TRUST_CERTIFICATE),\r\n switchMap((action: applicationActions.SaveTrustCertificateAction) => {\r\n return this.applicationService.saveTrustCertificate(action.applicationId, action.certificate, action.skipHistory).pipe(\r\n map((response: any) => {\r\n if(environment.isProxy) {\r\n return new applicationActions.SaveTrustCertificateSuccessAction(response.data.data, action.shouldNavigate, action.skipHistory)\r\n }\r\n return new applicationActions.SaveTrustCertificateSuccessAction(response.data, action.shouldNavigate, action.skipHistory)\r\n })\r\n )\r\n })\r\n );\r\n\r\n @Effect()\r\n getTrustCertificate$ = this.actions$.pipe(\r\n ofType(applicationActions.APPLICATION_ACTION_TYPES.GET_TRUST_CERTIFICATE_INFORMATION),\r\n switchMap((action: applicationActions.GetTrustCertificateInformationAction) => {\r\n return this.applicationService.getTrustCertificate(action.applicationId).pipe(\r\n map((response: TrustCertificate) => new applicationActions.GetTrustCertificateInformationSuccessAction(response))\r\n );\r\n })\r\n );\r\n\r\n @Effect({dispatch: false})\r\n redirectoToGeneralErrorPage$ = this.actions$.pipe(\r\n ofType(applicationActions.APPLICATION_ACTION_TYPES.REDIRECTO_TO_GENERAL_ERROR_PAGE),\r\n tap(() => this.router.navigateByUrl(LANDING_ROUTES.ERROR.path))\r\n );\r\n\r\n @Effect()\r\n getTrustTypes$ = this.actions$.pipe(\r\n ofType(applicationActions.APPLICATION_ACTION_TYPES.GET_TRUST_TYPES),\r\n switchMap((action: applicationActions.GetTrustTypesAction) => {\r\n return this.applicationService.getTrustTypes().pipe(\r\n map(response => new applicationActions.GetTrustTypesSuccessAction(response.data)),\r\n catchError(() => of(new applicationActions.GetTrustTypesFailAction()))\r\n );\r\n })\r\n );\r\n\r\n // @Effect({dispatch: false})\r\n // getBeneficiariesContingent$ = this.actions$.pipe(\r\n // ofType( applicationActions.APPLICATION_ACTION_TYPES.GET_BENEFICIARIES_CONTINGENT_INFORMATION),\r\n // withLatestFrom(\r\n // this.store$.select(getApplicationId)\r\n // ),\r\n // switchMap(() => {\r\n // return this.applicationService.getBeneficiaries().pipe(\r\n // tap((beneficiaries) => {\r\n // this.store$.dispatch(new applicationActions.GetBeneficiariesContingentInformationSuccessAction(beneficiaries))\r\n // })\r\n // )\r\n // })\r\n // )\r\n}\r\n","declare var environment: any;\r\ndeclare var client: any;\r\n//Ng\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n// RxJs\r\nimport { of, throwError } from 'rxjs';\r\nimport { catchError, map, switchMap, tap, withLatestFrom, filter, concatMap } from 'rxjs/operators';\r\n// NgRx\r\nimport { Actions, Effect, ofType } from \"@ngrx/effects\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { EnrollmentState } from \"store\";\r\nimport { UpdateBannerAction, } from \"store/actions\";\r\nimport { getIsExisting, getUserName, getChallengeInfo, getOtpChallengeInfo, getMarketingSelectedProducts, getSelectedVestingTypeId, getGuid, getIRAFlag, getApplicationId, getIsManagedPortfolio, getUserPhone, getNoOtpCode, getUserNoOtp, getUserLead } from \"store/selectors\";\r\nimport * as applicationAction from \"../actions/application.action\";\r\nimport * as applicantsAction from \"../actions/applicants.action\";\r\nimport * as userActions from \"../actions/auth.action\";\r\nimport { getElectronicDisclosure, getInitialDisclosures } from 'store/selectors/disclosure.selectors';\r\n// Auth\r\nimport { AuthHandlerService } from 'app/auth/services';\r\nimport { AUTH_PARENT_ROUTE, AUTH_ROUTES, PHONE_NUMBER, Validation_TimeOut, otpTimeoutMessage, systemError } from 'app/auth/constants';\r\n// Models\r\nimport { IExistingUser, ISignInData, ISignInRequest, IClientDeviceInfo, IChallengeInfo, IValidateOtpData, IOtpChallengeInfo, IAuthToken, IChallengeOtpData, IValidateOtpNoRequest, IValidateOtpRequest } from \"models/auth\";\r\nimport { SOURCE_TYPES, BRAND_ID } from \"models/enums\";\r\n// Services\r\nimport { UserService, AuthService, BrandService, RegisterExistingCostumerService, UserProspectMockService } from \"services\";\r\nimport { StateRouteService, UtmCodeService } from \"app/core/services\";\r\nimport { AppSettingsService } from 'services/app-settings.service';\r\n// Vendor\r\nimport { CookieService } from \"ngx-cookie-service\";\r\n// UI Kit\r\nimport { UkHandlerService } from '@uikit/components';\r\nimport { IOtpNoUser, IUserLead, IUserLeadResponse } from 'models';\r\nimport { LANDING_ROUTES, LANDING_PARENT_PATH } from 'app/landing/routing';\r\nimport { APPLICATION_TYPE_FLOW } from 'models/enums/application-type.enum';\r\nimport { DISCLOSURE_NAMES } from 'app/disclosures/constants/disclosure-names.constanst';\r\nimport { SET_CACHE } from 'app/core/utils';\r\n\r\nimport { TOKEN_STORAGE_NAME } from 'app/auth/constants';\r\nimport { PROXY_ROUTES } from 'app/proxy/routing/constants/routes';\r\n\r\n\r\n@Injectable()\r\nexport class AuthEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private authService: AuthService,\r\n private userProspectMockService: UserProspectMockService,\r\n private userService: UserService,\r\n private authHandlerService: AuthHandlerService,\r\n private cookieService: CookieService,\r\n private brandService: BrandService,\r\n private router: Router,\r\n private stateRouteService: StateRouteService,\r\n private store$: Store,\r\n private registerExistingUserService: RegisterExistingCostumerService,\r\n private ukHandlerService: UkHandlerService,\r\n private utmCodeService: UtmCodeService,\r\n private appSettingsService: AppSettingsService\r\n ) { }\r\n\r\n @Effect()\r\n createUser$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.CREATE_USER),\r\n withLatestFrom(\r\n this.store$.select(getMarketingSelectedProducts),\r\n // this.store$.select(getSelectedVestingTypeId),\r\n this.store$.select(getElectronicDisclosure),\r\n this.store$.select(getGuid),\r\n this.store$.select(getIRAFlag),\r\n this.store$.select(getInitialDisclosures),\r\n this.store$.select(getIsManagedPortfolio),\r\n ),\r\n switchMap(([action, products, eDisclosure, guid, isIRA, initDisclosures, isManagedPortfolio]) => {\r\n if (action.electronicDisclosure) {\r\n const disclosures = [eDisclosure];\r\n const user = action.user;\r\n user.disclosures = disclosures;\r\n }\r\n action.user.productCodes = products.map(x => x.productCode);\r\n var utmCodes = this.utmCodeService.getUTMCampaignCodes();\r\n let applicationTypeName: APPLICATION_TYPE_FLOW = APPLICATION_TYPE_FLOW.Trading;\r\n let isIRAProduct = products.find(x => x.productCode.toLowerCase() == 'tira' || x.productCode.toLowerCase() == 'rira');\r\n\r\n if (isIRA || isIRAProduct) {\r\n if (environment.applicationTypeName == APPLICATION_TYPE_FLOW.Trading) { applicationTypeName = APPLICATION_TYPE_FLOW.TradingIRA }\r\n if (environment.applicationTypeName == APPLICATION_TYPE_FLOW.WhitelabelTrading) { applicationTypeName = APPLICATION_TYPE_FLOW.WhitelabelTradingIRA }\r\n if (environment.applicationTypeName == APPLICATION_TYPE_FLOW.ProxyTrading) { applicationTypeName = APPLICATION_TYPE_FLOW.ProxyIRA }\r\n } else if (isManagedPortfolio) {\r\n applicationTypeName = APPLICATION_TYPE_FLOW.ManagedPortfolio;\r\n } else {\r\n applicationTypeName = environment.applicationTypeName;\r\n }\r\n\r\n if (!environment.isProxy) {\r\n const tinCertification = initDisclosures\r\n .find(x => x.name == DISCLOSURE_NAMES.TIN_CERTIFICATION);\r\n tinCertification.accepted = true;\r\n action.user.disclosures.push(tinCertification);\r\n }\r\n\r\n if (!this.appSettingsService.isWHiteLabel() && !environment.isProxy) {\r\n const communicationsOptIn = initDisclosures\r\n .find(x => x.name == DISCLOSURE_NAMES.COMMUNICATIONS_OPT_IN);\r\n communicationsOptIn.accepted = true;\r\n action.user.disclosures.push(communicationsOptIn);\r\n }\r\n\r\n action.user.UtmCodes = utmCodes;\r\n\r\n return this.userService.create(action.user, guid ? guid : null, applicationTypeName).pipe(\r\n map(response => {\r\n if (!environment.isProxy) {\r\n this.authHandlerService.setToken(response.data);\r\n }\r\n return new userActions.CreateUserSuccessAction(response.metadata.applicationId);\r\n }),\r\n catchError((error: HttpErrorResponse) => {\r\n const errorMessage = error.error ? error.error.Message : \"Register Error\";\r\n return of(new userActions.CreateUserFailAction(errorMessage));\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n createSuccessUser$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.CREATE_USER_SUCCESS),\r\n /*withLatestFrom(\r\n this.store$.select(getApplicantId),\r\n ),*/\r\n switchMap((data: userActions.CreateUserSuccessAction) => {\r\n // const action = data[0],\r\n // applicantId = data[1];\r\n return of(\r\n new applicationAction.LoadApplicationAction(data.applicationId),\r\n //new applicationAction.LoadPersonAction(applicantId)\r\n )\r\n }\r\n )\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n createUserFail$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.CREATE_USER_FAIL),\r\n tap(() => {\r\n return of(this.store$.dispatch(new applicationAction.RedirectToGeneralErrorPage()))\r\n })\r\n );\r\n\r\n // @Effect()\r\n // createSuccessUser$ = this.actions$.pipe(\r\n // ofType(userActions.USER_ACTION_TYPES.CREATE_USER_SUCCESS),\r\n // switchMap((action: userActions.CreateUserSuccessAction) => {\r\n // return this.applicationInformationService.getApplication(action.applicationId).pipe(\r\n // map(response => {\r\n // console.log(response)\r\n // debugger;\r\n // return [\r\n // new applicationAction.LoadApplicationAction(),\r\n // //new applicantsAction.LoadApplicantAction(response.ApplicantId)\r\n // ]\r\n // })\r\n // );\r\n // // return this.applicationInformationService.getApplicant(action.token).pipe(\r\n // // map(response => {\r\n // // return [\r\n // // new applicantsAction.LoadApplicantAction(response.ApplicantId),\r\n // // new applicationAction.LoadApplicationAction()\r\n // // ]\r\n // // })\r\n // // )\r\n // // debugger;\r\n // // return [\r\n // // new applicantsAction.LoadApplicantAction(action.token.applicationId),\r\n // // new applicationAction.LoadApplicationAction()\r\n // // ]\r\n // })\r\n // );\r\n\r\n // @Effect()\r\n // createLead$ = this.actions$.pipe(\r\n // ofType(userActions.USER_ACTION_TYPES.CREATE_LEAD),\r\n // switchMap((action: userActions.CreateLeadAction) => {\r\n // return this.userProspectMockService.create(action.userProspect).pipe(\r\n // map((userProspect) => {\r\n // return new userActions.CreateLeadSuccessAction(userProspect);\r\n // }),\r\n // catchError((error: HttpErrorResponse) => {\r\n // const errorMessage = error.error\r\n // ? error.error.Message\r\n // : \"Create User Prospect Error\";\r\n // return of(\r\n // new userActions.CreateLeadFailAction(errorMessage)\r\n // );\r\n // })\r\n // )\r\n // })\r\n // );\r\n\r\n @Effect({ dispatch: false })\r\n verifyExistingCustomer$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.VERIFY_EXISTING_CUSTOMER),\r\n withLatestFrom(this.store$.select(getGuid)),\r\n tap((data) => {\r\n const action = data[0],\r\n guid: string = data[1];\r\n this.authService.verifyExistingCustomer(action.lead, guid ? guid : null).pipe(\r\n tap(existing => {\r\n if (existing) {\r\n if (!environment.isProxy) {\r\n this.router.navigateByUrl(`${AUTH_PARENT_ROUTE}/${AUTH_ROUTES.EXISTINGLOGIN}`);\r\n }\r\n else {\r\n alert(\"This user is an existing customer. Use Existing customer flow.\")\r\n this.router.navigateByUrl(`${PROXY_ROUTES.SEARCH_USER.path}`);\r\n }\r\n } else {\r\n if (guid == null || guid == \"\") {\r\n this.store$.dispatch(new userActions.CreateLeadAction(action.lead));\r\n } else {\r\n this.authService.verifyLoginCreated(action.lead, guid).subscribe(\r\n result => {\r\n if(result) {\r\n this.router.navigateByUrl(`${AUTH_PARENT_ROUTE}/${AUTH_ROUTES.EXISTINGLOGIN}`);\r\n } else {\r\n this.router.navigateByUrl(LANDING_ROUTES.CREATE_USER.path);\r\n }\r\n }, error => {\r\n const errorMessage = error.error ? error.error.errorMessage : \"Confirm Identity Error\";\r\n return throwError(new userActions.VerifyExistingCustomerFailAction(errorMessage));\r\n }\r\n );\r\n }\r\n }\r\n }),\r\n catchError((error: HttpErrorResponse) => {\r\n const errorMessage = error.error ? error.error.errorMessage : \"Confirm Identity Error\";\r\n return throwError(new userActions.VerifyExistingCustomerFailAction(errorMessage));\r\n })\r\n ).subscribe({\r\n error: (error: userActions.VerifyExistingCustomerFailAction) => this.store$.dispatch(error)\r\n });\r\n })\r\n );\r\n\r\n // @Effect({dispatch: false})\r\n // verifyExistingCustomerFailAction$ = this.actions$.pipe(\r\n // ofType(userActions.USER_ACTION_TYPES.VERIFY_EXISTING_CUSTOMER_FAIL),\r\n // tap(() => {\r\n // return of(\r\n // this.store$.dispatch(new applicationAction.RedirectToGeneralErrorPage())\r\n // )\r\n // })\r\n // );\r\n\r\n @Effect()\r\n createLead$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.CREATE_LEAD),\r\n switchMap((action: userActions.CreateLeadAction) => {\r\n return this.authService.registerLead(action.userLead).pipe(\r\n map((leadResponse: IUserLeadResponse) => new userActions.CreateLeadSuccessAction(leadResponse)),\r\n catchError((error: HttpErrorResponse) => {\r\n const errorMessage = error.error\r\n ? error.error.Message\r\n : \"Create User Prospect Error\";\r\n return of(\r\n new userActions.CreateLeadFailAction(errorMessage)\r\n );\r\n })\r\n )\r\n })\r\n );\r\n\r\n @Effect()\r\n updateLead$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.UPDATE_LEAD),\r\n switchMap((action: userActions.UpdateLeadAction) => {\r\n return this.authService.updateLead(action.userLead).pipe(\r\n map((leadResponse: IUserLeadResponse) => new userActions.UpdateLeadSuccessAction(leadResponse)),\r\n catchError((error: HttpErrorResponse) => {\r\n const errorMessage = error.error\r\n ? error.error.Message\r\n : \"Create User Prospect Error\";\r\n return of(\r\n new userActions.UpdateLeadFailAction(errorMessage)\r\n );\r\n })\r\n )\r\n })\r\n );\r\n\r\n @Effect()\r\n RegisterExistingUser$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.REGISTER_EXISTING_USER),\r\n switchMap((action: userActions.RegisterExistingUserAction) => {\r\n return this.registerExistingUserService\r\n .registerCustomerInIdv1(action.user)\r\n .pipe(\r\n switchMap(user => {\r\n const userSignIn: ISignInRequest = {\r\n email: action.user.Email,\r\n password: action.user.Password,\r\n isExisting: false\r\n };\r\n return [\r\n new userActions.RegisterExistingUserSuccessAction(user),\r\n new userActions.LoginAction(userSignIn)\r\n ];\r\n }),\r\n catchError((error: HttpErrorResponse) => {\r\n const errorMessage = error.error\r\n ? error.error.Message\r\n : \"Register Existing User Error\";\r\n return of(\r\n new userActions.RegisterExistingUserFailAction(errorMessage)\r\n );\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n createUserName$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.CREATE_USER_NAME),\r\n switchMap((action: userActions.CreateUserNameAction) => {\r\n return this.userService.createUserNameForIdv1User(action.user).pipe(\r\n switchMap(response => {\r\n const userSignIn: ISignInRequest = {\r\n email: action.user.UserName,\r\n password: action.user.Password,\r\n isExisting: false\r\n };\r\n return [\r\n new userActions.CreateUserNameSuccessAction(),\r\n new userActions.LoginAction(userSignIn)\r\n ];\r\n }),\r\n catchError((error: HttpErrorResponse) => {\r\n const errorMessage = error.error\r\n ? error.error.Message\r\n : \"Create Username Error\";\r\n return of(new userActions.CreateUserNameFailAction(errorMessage));\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n cookieLogin = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.COOKIE_LOGIN),\r\n withLatestFrom(\r\n this.store$.select(getApplicationId)\r\n ),\r\n switchMap(data => {\r\n const action: userActions.CookieLoginAction = data[0],\r\n application = data[1];\r\n const sso = application == null ? true : false;\r\n const authCookie = this.cookieService.get('XSRF-TOKEN');\r\n return this.authService.refreshToken(authCookie, true).pipe(\r\n map(token => {\r\n this.authHandlerService.setToken(token);\r\n return (\r\n new userActions.CookieLoginSuccessAction(token),\r\n new userActions.ValidateExistingCustomerAction(),\r\n new applicationAction.LoadApplicationByTokenAction(true, sso)\r\n );\r\n }),\r\n catchError(() => {\r\n return of(new userActions.CookieLoginFailAction());\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n cookieLoginSucess = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.COOKIE_LOGIN_SUCCESS),\r\n tap(() => {\r\n this.ukHandlerService.initialize();\r\n })\r\n );\r\n\r\n @Effect()\r\n tokenLogin = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.TOKEN_LOGIN),\r\n withLatestFrom(\r\n this.store$.select(getApplicationId)\r\n ),\r\n switchMap(data => {\r\n const action: userActions.TokenLoginAction = data[0],\r\n application = data[1];\r\n const sso = application == null ? true : false;\r\n return this.authService.refreshTokenByUrl(action.token).pipe(\r\n map(token => {\r\n return (\r\n new userActions.TokenLoginSuccessAction(token),\r\n new userActions.ValidateExistingCustomerAction(),\r\n new applicationAction.LoadApplicationByTokenAction(true, true)\r\n );\r\n }),\r\n catchError(() => {\r\n return of(new userActions.TokenLoginFailAction());\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n tokenLoginSuccess = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.TOKEN_LOGIN_SUCCESS),\r\n tap(() => {\r\n this.ukHandlerService.initialize();\r\n })\r\n );\r\n\r\n @Effect()\r\n refreshToken$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.REFRESH_TOKEN),\r\n switchMap((action: userActions.RefreshTokenAction) => {\r\n return this.authService.refreshToken(action.refreshToken).pipe(\r\n map(token => {\r\n // this.authHandlerService.setToken(token);\r\n return new userActions.RefreshTokenSuccessAction(token);\r\n }),\r\n catchError(() => {\r\n return of(new userActions.RefreshTokenFailAction());\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n refreshTokenSuccess$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.REFRESH_TOKEN_SUCCESS),\r\n tap(() => {\r\n this.ukHandlerService.isTokenUpdated();\r\n })\r\n );\r\n\r\n @Effect()\r\n getUser$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.GET_USER),\r\n switchMap((action: userActions.GetUserAction) =>\r\n this.authService.getUser().pipe(\r\n map(user => {\r\n if (this.router.routerState.snapshot.url == '/auth/login' && user.CIF != null)\r\n this.stateRouteService.checkForInProgress = true;\r\n return { user, action };\r\n })\r\n )\r\n ),\r\n switchMap(data => {\r\n let extraActions = [];\r\n if (data.action.loadApplication) {\r\n extraActions = [new applicationAction.LoadApplicationByTokenAction()];\r\n }\r\n return [new userActions.GetUserSuccessAction(data.user), ...extraActions];\r\n })\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n getUserSuccess$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.GET_USER_SUCCESS),\r\n filter((action: userActions.GetUserSuccessAction) => !!action.user),\r\n tap((action: userActions.GetUserSuccessAction) => {\r\n this.ukHandlerService.initialize();\r\n const { ExperimentVariantId, BrandId } = action.user,\r\n env = environment.env;\r\n if (BrandId === BRAND_ID.UFBDirect && ExperimentVariantId === 1) {\r\n let domain = 'enrollment.ufbdirect.com';\r\n if (!environment.production) {\r\n domain = `enrollment.${env}.ufbdirect.com`;\r\n }\r\n const redirectTo = `https://${domain}?auth=true`;\r\n window.location.href = redirectTo;\r\n }\r\n })\r\n );\r\n\r\n @Effect()\r\n login$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.LOGIN),\r\n switchMap((action: userActions.LoginAction) => {\r\n const deviceInfo = this.getDeviceInfo();\r\n const data: ISignInData = {\r\n UserName: action.request.email,\r\n Password: action.request.password,\r\n DeviceId: deviceInfo.DeviceId,\r\n DeviceSignature: deviceInfo.DeviceSignature,\r\n BrandId: environment.brandId,\r\n IsExisting: action.request.isExisting\r\n };\r\n return this.authService.signIn(data).pipe(\r\n map(token => {\r\n this.authHandlerService.setToken(token);\r\n // return new applicationAction.LoadApplicationByTokenAction();\r\n return new userActions.LoginSuccessAction(\r\n token,\r\n data.UserName,\r\n action.request.isExisting\r\n );\r\n }),\r\n catchError((err: HttpErrorResponse) => {\r\n const error = err.error ? err.error.errorMessage : \"Login Error\";\r\n return of(new userActions.LoginFailAction(error));\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n loginSuccess$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.LOGIN_SUCCESS),\r\n withLatestFrom(this.store$.select(getIsExisting)),\r\n map((data) => {\r\n const action: any = data[0];\r\n const isExisting = data[1];\r\n this.stateRouteService.checkForInProgress = false;\r\n return action.token.challengeInfo\r\n ? new userActions.RedirectOTPAction(action.token.challengeInfo)\r\n : isExisting\r\n ? new applicationAction.CreateApplicationAction(SOURCE_TYPES.existingEnroller)\r\n : new userActions.GetUserAction();\r\n })\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n redirectOTP$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.REDIRECT_OTP),\r\n tap(() =>\r\n this.router.navigateByUrl(`${AUTH_PARENT_ROUTE}/${AUTH_ROUTES.OTP}`)\r\n )\r\n );\r\n @Effect()\r\n requestMultifactorOTPNOUser$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.REQUEST_MULTIFACTOR_NoUser_OTP),\r\n withLatestFrom(this.store$.select(getUserPhone)),\r\n switchMap(data=>{\r\n const action:userActions.RequestMultifactorNoUserOTPAction=data[0]\r\n const request : IOtpNoUser={\r\n PhoneNumber:action.request\r\n }\r\n\r\n return this.authService.otpNoUser(request).pipe(\r\n map(response=>{\r\n this.router.navigateByUrl(`${AUTH_PARENT_ROUTE}/${AUTH_ROUTES.OTP}`);\r\n const response1:any={\r\n data:response,\r\n PhoneNumber:action.request\r\n }\r\n SET_CACHE(action.request,PHONE_NUMBER)\r\n\r\n return new userActions.RequestMultifactorNoUserOTPSuccessAction(response1);\r\n }),\r\n catchError(e => {\r\n const otpTimeout = otpTimeoutMessage\r\n var error = e.error.errorMessage ? e.error.errorMessage : systemError;\r\n error = error == Validation_TimeOut ? otpTimeout : error;\r\n return of(new userActions.RequestMultifactorOTPFailAction(error));\r\n })\r\n )\r\n })\r\n )\r\n\r\n ;\r\n\r\n @Effect()\r\n requestMultifactorOTP$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.REQUEST_MULTIFACTOR_OTP),\r\n withLatestFrom(this.store$.select(getOtpChallengeInfo)),\r\n switchMap(data => {\r\n const action: userActions.RequestMultifactorOTPAction = data[0];\r\n const otpChallengeInfo: IOtpChallengeInfo = data[1];\r\n\r\n const request: IChallengeOtpData = {\r\n challengeToken: otpChallengeInfo.authenticationToken,\r\n ...action.request,\r\n };\r\n\r\n return this.authService.requestMultifactorOtp(request).pipe(\r\n map(response => {\r\n return new userActions.RequestMultifactorOTPSuccessAction(response);\r\n }),\r\n catchError(e => {\r\n const optTimeout = 'Your validation request has expired. Please attempt to log in again.';\r\n var error = e.error.errorMessage ? e.error.errorMessage : \"System error\";\r\n error = error == 'OTP Validation Request has timed out. Please try login in again.' ? optTimeout : error;\r\n return of(new userActions.RequestMultifactorOTPFailAction(error));\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n validateOTPCode$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.VALIDATE_OTP_CODE),\r\n withLatestFrom(\r\n this.store$.select(getChallengeInfo),\r\n this.store$.select(getOtpChallengeInfo),\r\n this.store$.select(getIsExisting)\r\n ),\r\n switchMap(data => {\r\n const action: userActions.ValidateOTPCodeAction = data[0];\r\n const challengeInfo: IChallengeInfo = data[1];\r\n const otpChallengeInfo: IOtpChallengeInfo = data[2];\r\n if (action.request.rememberDevice) {\r\n client.setDID(challengeInfo.DeviceId);\r\n }\r\n\r\n delete otpChallengeInfo.otp;\r\n\r\n const request: IValidateOtpData = {\r\n authenticationToken: otpChallengeInfo.authenticationToken ? otpChallengeInfo.authenticationToken : challengeInfo.challengeToken,\r\n DeviceId: challengeInfo.DeviceId,\r\n ...action.request,\r\n ...challengeInfo\r\n };\r\n\r\n return this.authService.evaluateOtpCode(request).pipe(\r\n map((token: IAuthToken) => {\r\n SET_CACHE(token, TOKEN_STORAGE_NAME);\r\n if (token.hasSecurityQuestions && token.access_token) {\r\n return new userActions.GetUserAction();\r\n } else {\r\n return new userActions.ValidateOTPCodeSuccessAction(token);\r\n }\r\n }),\r\n catchError(e => {\r\n const error = e.error.errorMessage ? 'Your validation request has expired. Please attempt to log in again.' : \"System error\";\r\n return of(new userActions.ValidateOTPCodeFailAction(error));\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n validateOTPCodeSuccess$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.VALIDATE_OTP_CODE_SUCCESS),\r\n tap(() => {\r\n this.router.navigateByUrl(\r\n `${AUTH_PARENT_ROUTE}/${AUTH_ROUTES.SECURITYQUESTIONS}`\r\n );\r\n }\r\n )\r\n );\r\n\r\n @Effect()\r\n getSecurityQuestions$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.GET_SECURITY_QUESTIONS),\r\n switchMap((action: userActions.GetSecurityQuestionsAction) => {\r\n return this.authService\r\n .getSecurityQuestions(action.resetPasswordToken)\r\n .pipe(\r\n switchMap((response: any) => {\r\n return [\r\n new userActions.GetUserAction(false),\r\n new userActions.GetSecurityQuestionsSuccessAction(response)\r\n ];\r\n }),\r\n catchError(e => {\r\n return of(\r\n new userActions.GetSecurityQuestionsFailAction(\r\n \"Security Questions error\"\r\n )\r\n );\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n saveSecurityQuestions$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.SAVE_SECURITY_QUESTIONS),\r\n switchMap((action: userActions.SaveSecurityQuestionsAction) => {\r\n return this.authService\r\n .saveSecurityQuestions(action.questions, action.resetPasswordToken)\r\n .pipe(\r\n map((response: any) => {\r\n return new userActions.SaveSecurityQuestionsSuccessAction(response);\r\n }),\r\n catchError(e => {\r\n return of(\r\n new userActions.SaveSecurityQuestionsFailAction(e.error.Message)\r\n );\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n saveSecurityQuestionsSuccess$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.SAVE_SECURITY_QUESTIONS_SUCCESS),\r\n withLatestFrom(this.store$.select(getIsExisting)),\r\n map(data => {\r\n // const isExisting = data[1];\r\n // return isExisting ?\r\n // new applicationAction.CreateApplicationAction(SOURCE_TYPES.existingEnroller) :\r\n //userActions.GetUserAction() will trigger loadApplicationByToken$ that enpoint will validate\r\n //if the current user has a not completed application and if he does, we will create a new one\r\n return new userActions.GetUserAction();\r\n })\r\n );\r\n\r\n @Effect()\r\n resetTasksStates$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.RESET_TASKS_STATES),\r\n switchMap((action: userActions.ResetTasksStatesAction) => {\r\n return this.authService.resetExistingCustomerTaskStates().pipe(\r\n map(response => {\r\n return new userActions.ResetTasksStatesSuccessAction();\r\n }),\r\n catchError((e: any) => {\r\n return of(\r\n new userActions.ResetTasksStatesFailAction(\r\n \"Fail Reset tasks states\"\r\n )\r\n );\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n validateExistingCustomer$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.VALIDATE_EXISTING_CUSTOMER),\r\n switchMap(() => {\r\n return this.authService.validateExistingCustomer().pipe(\r\n map(result => {\r\n const user: IExistingUser = { brandId: result.data };\r\n return new userActions.ValidateExistingCustomerSuccessAction(user);\r\n }),\r\n catchError(() => {\r\n const user: IExistingUser = { brandId: undefined };\r\n return of(new userActions.ValidateExistingCustomerFailAction(user));\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n getEnrollmentUrl$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.GET_ENROLLMENT_URL),\r\n switchMap((action: userActions.GetEnrollmentUrlAction) => {\r\n return this.brandService.getEnrollmentUrl(action.brandId).pipe(\r\n map((response: string) => {\r\n const user: IExistingUser = { enrollmentUrl: response };\r\n return new userActions.GetEnrollmentUrlSuccessAction(user);\r\n }),\r\n catchError(() => {\r\n return of(new userActions.GetEnrollmentUrlFailAction());\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n forgotPassword$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.FORGOT_PASSWORD),\r\n switchMap((action: userActions.ForgotPasswordAction) => {\r\n return this.userService.forgotPassword(action.username).pipe(\r\n map(response => {\r\n return new userActions.ForgotPasswordSuccessAction(action.resend);\r\n }),\r\n catchError((e: any) => {\r\n return of(\r\n new userActions.ForgotPasswordFailAction(\"Forgot Password Failed\")\r\n );\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n forgotUsername$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.FORGOT_USERNAME),\r\n switchMap((action: userActions.ForgotUsernameAction) => {\r\n return this.userService.forgotUserName(action.email).pipe(\r\n map(response => {\r\n return new userActions.ForgotUsernameSuccessAction(action.resend);\r\n }),\r\n catchError((e: any) => {\r\n return of(\r\n new userActions.ForgotUsernameFailAction(\"Forgot Username Failed\")\r\n );\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n validateResetPassword$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.VALIDATE_RESET_PASSWORD),\r\n switchMap((action: userActions.ValidateResetPasswordAction) => {\r\n return this.authService.validateResetPasswordLink(action.idToken, action.usernameToken).pipe(\r\n switchMap((response: any) => {\r\n const isUserTriggeredReset = response.userName != null;\r\n return isUserTriggeredReset ? [\r\n new userActions.ValidateResetPasswordSuccessAction(response),\r\n new userActions.GetRandomSecurityQuestionAction(\r\n response.userIdToken\r\n ),\r\n new UpdateBannerAction({ title: \"Security Question\" })\r\n ] : [\r\n new userActions.ValidateResetPasswordSuccessAction(response),\r\n new UpdateBannerAction({ title: \"Enter New Password\" })\r\n ];\r\n }),\r\n catchError((e: any) => {\r\n const error = e.error\r\n ? e.error.ErrorMessage\r\n ? e.error.ErrorMessage\r\n : e.error.Message\r\n : \"Validate Reset Password failed\";\r\n return of(new userActions.ValidateResetPasswordFailAction(error));\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n getRandomSecurityQuestion$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.GET_RANDOM_SECURITY_QUESTION),\r\n switchMap((action: userActions.GetRandomSecurityQuestionAction) => {\r\n return this.authService.getRandomSecurityQuestion(action.token).pipe(\r\n map((response: any) => {\r\n return new userActions.GetRandomSecurityQuestionSuccessAction(\r\n response\r\n );\r\n }),\r\n catchError((response: any) => {\r\n const error = response.error\r\n ? response.error.stepMessage\r\n ? response.error.stepMessage\r\n : \"There was an unexpected error trying to obtain your security question.\"\r\n : \"Get Security Question Failed\";\r\n return of(new userActions.GetRandomSecurityQuestionFailAction(error));\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n verifySecurityQuestion$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.VERIFY_SECURITY_QUESTION_ANSWER),\r\n withLatestFrom(this.store$.select(getUserName)),\r\n switchMap(data => {\r\n const action: any = data[0];\r\n const userName = data[1];\r\n return this.authService\r\n .verifySecurityQuestionAnswer(userName, action.questions)\r\n .pipe(\r\n switchMap(response => {\r\n return [\r\n new userActions.VerifySecurityQuestionAnswerSuccessAction(\r\n response\r\n ),\r\n new UpdateBannerAction({ title: \"Enter New Password\" })\r\n ];\r\n }),\r\n catchError(e => {\r\n const error = e.error\r\n ? e.error.errorMessage\r\n : \"Verify Security question fail\";\r\n return of(\r\n new userActions.VerifySecurityQuestionAnswerFailAction(error)\r\n );\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n changePassword$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.CHANGE_PASSWORD),\r\n withLatestFrom(\r\n this.store$.select(getUserName)\r\n ),\r\n switchMap(data => {\r\n const action: any = data[0];\r\n const model = {\r\n Password: action.password\r\n };\r\n\r\n return this.authService.changePassword(model, action.unlockTocken, action.usernameToken).pipe(\r\n switchMap(response => {\r\n const action: any = data[0];\r\n const userName: any = data[1];\r\n const request: ISignInRequest = {\r\n password: action.password,\r\n email: userName,\r\n registrationDate: null,\r\n isExisting: false\r\n };\r\n return [\r\n new userActions.ChangePasswordSuccessAction(),\r\n new userActions.LoginAction(request)\r\n ];\r\n }),\r\n catchError(e => {\r\n const error = e.error\r\n ? e.error.errorMessage\r\n ? e.error.errorMessage\r\n : e.error.message\r\n : \"Change Password fail\";\r\n return of(new userActions.ChangePasswordFailAction(error));\r\n })\r\n );\r\n })\r\n );\r\n\r\n\r\n @Effect()\r\n checkValidGuid$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.CHECK_GUID_VALID),\r\n switchMap((action: userActions.CheckGuidValidAction) => {\r\n return this.authService.checkGuidvalid(action.guid).pipe(\r\n map((response: any) => {\r\n var isExisting = response.data ? true : false;\r\n return new userActions.CheckGuidValidSuccessAction(isExisting)\r\n }),\r\n catchError(e => {\r\n const error =\r\n e.error ?\r\n e.error.guid\r\n ? e.error.guid\r\n : 'Check Valid Guid Failed'\r\n : 'Check Valid Guid Failed'\r\n return of(new userActions.CheckGuidValidFailAction(error))\r\n })\r\n )\r\n })\r\n );\r\n\r\n @Effect()\r\n checkAppValidity$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.CHECK_APP_VALID),\r\n switchMap((action: userActions.CheckAppValidityAction) => {\r\n return this.authService.checkGuidvalid(action.guid).pipe(\r\n map((response: any) => {\r\n var isExisting = response.data ? true : false;\r\n return new userActions.CheckAppValiditySuccessAction(isExisting)\r\n }),\r\n catchError(e => {\r\n const error =\r\n e.error ?\r\n e.error.guid\r\n ? e.error.guid\r\n : 'Check Valid App Failed'\r\n : 'Check Valid App Failed'\r\n return of(new userActions.CheckAppValidityFailAction(error))\r\n })\r\n )\r\n })\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n guidValidFail$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.CHECK_GUID_VALID_FAIL),\r\n tap(() =>\r\n this.router.navigateByUrl(\r\n `${AUTH_PARENT_ROUTE}/${AUTH_ROUTES.LINK_EXPIRED}`\r\n )\r\n )\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n appValidityFail$ = this.actions$.pipe(\r\n ofType(userActions.USER_ACTION_TYPES.CHECK_APP_VALID_FAIL),\r\n tap(() =>\r\n this.router.navigateByUrl(\r\n `${AUTH_PARENT_ROUTE}/${AUTH_ROUTES.LINK_EXPIRED}`\r\n )\r\n )\r\n );\r\n\r\n //Check for Existing Customer\r\n // @Effect()\r\n // validateUserExist$ = this.actions$.pipe(\r\n // ofType(userActions.USER_ACTION_TYPES.VALIDATE_USER_EXIST),\r\n // concatMap((action: userActions.ValidateUserExistAction) => {\r\n // return this.userService.exists(action.user).pipe(\r\n // map((respond) => {\r\n // if(respond.UserProspectId) {\r\n // action.user.UserProspectId = respond.UserProspectId;\r\n // }\r\n // return new userActions.ValidateUserExistSuccessAction(action.user, action.applicationOptions, respond.RedirectToLogin, respond.UserState);\r\n // }),\r\n // catchError((error: HttpErrorResponse) => {\r\n // const shouldCreate = error.status === 404;\r\n // return of(new userActions.ValidateUserExistFailAction(action.user, action.applicationOptions, shouldCreate, shouldCreate? null : error.error.Message));\r\n // })\r\n // )\r\n // })\r\n // );\r\n\r\n // @Effect({ dispatch: false })\r\n // validateUserExistSuccess$ = this.actions$.pipe(\r\n // ofType(userActions.USER_ACTION_TYPES.VALIDATE_USER_EXIST_SUCCESS),\r\n // tap((action: userActions.ValidateUserExistSuccessAction) => {\r\n // if(action.redirectToLogin) {\r\n // this.router.navigateByUrl(`${AUTH_PARENT_ROUTE}/${AUTH_ROUTES.LOGIN}`);\r\n // } else {\r\n // this.store$.dispatch(new userActions.CreateUserAction(action.user));\r\n // }\r\n // })\r\n // );\r\n\r\n // @Effect({ dispatch: false })\r\n // validateUserExistFail$ = this.actions$.pipe(\r\n // ofType(userActions.USER_ACTION_TYPES.VALIDATE_USER_EXIST_FAIL),\r\n // tap((action: userActions.ValidateUserExistFailAction) => {\r\n // if(action.shouldCreate) {\r\n // this.store$.dispatch(new userActions.CreateUserAction(action.user));\r\n // }\r\n // })\r\n // );\r\n\r\n private getDeviceInfo(): IClientDeviceInfo {\r\n client.processDNA();\r\n const deviceInfo: IClientDeviceInfo = {\r\n DeviceSignature: client.getDNA().replace(/\\s/g, ''),\r\n DeviceId: client.getDID()\r\n };\r\n return deviceInfo;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n// RxJs\r\nimport { switchMap, map, catchError } from 'rxjs/operators';\r\n// NgRx Effects\r\nimport { Effect, Actions, ofType } from '@ngrx/effects';\r\n// Services\r\nimport { BrandService } from 'services';\r\n// Models\r\nimport { Brand, ChatSettings } from 'models';\r\n// Actions\r\nimport * as brandActions from '../actions/brand.action';\r\nimport { of } from 'rxjs';\r\nimport { ChatBotSettings } from 'models/brand/chatbot-settings.model';\r\n\r\n@Injectable()\r\nexport class BrandEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private brandService: BrandService) { }\r\n\r\n @Effect()\r\n getBrand$ = this.actions$.pipe(\r\n ofType(brandActions.BRAND_ACTION_TYPES.GET_BRAND),\r\n switchMap((action: brandActions.GetBrandAction) => {\r\n return this.brandService.getBrand(action.brandName)\r\n .pipe(\r\n map((response: Brand) => new brandActions.GetBrandSuccessAction(response))\r\n );\r\n })\r\n );\r\n\r\n // @Effect()\r\n // getChatSettings$ = this.actions$.pipe(\r\n // ofType(brandActions.BRAND_ACTION_TYPES.GET_CHAT_SETTINGS),\r\n // switchMap((action: brandActions.GetChatSettingsAction) => {\r\n // return this.brandService.getLiveChatSettings(action.brandName)\r\n // .pipe(\r\n // map((response: ChatSettings) => new brandActions.GetChatSettingsSuccessAction(response)),\r\n // catchError(() => of(new brandActions.GetChatSettingsFailAction()))\r\n // );\r\n // })\r\n // );\r\n\r\n @Effect()\r\n getChatBotSettings$ = this.actions$.pipe(\r\n ofType(brandActions.BRAND_ACTION_TYPES.GET_CHAT_BOT_SETTINGS),\r\n switchMap((action: brandActions.GetChatBotSettingsAction) => {\r\n return this.brandService.getChatBotSettings(action.brandId)\r\n .pipe(\r\n map((response: ChatBotSettings) => \r\n new brandActions.GetChatBotSettingsSuccessAction(response)\r\n ),\r\n catchError(() => \r\n of(new brandActions.GetChatBotSettingsFailAction())\r\n )\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n getBrandLogo$ = this.actions$.pipe(\r\n ofType(brandActions.BRAND_ACTION_TYPES.GET_BRAND_LOGO),\r\n switchMap((action: brandActions.GetBrandAction) => {\r\n return this.brandService.getLogo(action.brandName)\r\n .pipe(\r\n map((response: string) => new brandActions.GetBrandLogoSuccessAction(response))\r\n );\r\n })\r\n );\r\n}\r\n","import { Injectable } from '@angular/core';\r\n// RxJs\r\nimport { switchMap, map, concatMap } from 'rxjs/operators';\r\n// NgRx Effects\r\nimport { Effect, Actions, ofType } from '@ngrx/effects';\r\n// Services\r\nimport { GenericCatalogsService } from 'services';\r\n// Models\r\nimport { State, AnnualSales, Country, FinancialInformationCatalog, BeneficiariesCatalog } from 'models';\r\n// Actions\r\nimport * as catalogsActions from '../actions/catalogs.action';\r\nimport { CatalogItem } from 'models/trading/catalog-item.model';\r\n\r\n@Injectable()\r\nexport class GenericCatalogsEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private catalogsService: GenericCatalogsService) { }\r\n\r\n @Effect()\r\n getStates$ = this.actions$.pipe(\r\n ofType(catalogsActions.CATALOGS_ACTION_TYPES.GET_STATES),\r\n switchMap(() => {\r\n return this.catalogsService.getStates()\r\n .pipe(\r\n map((response: State[]) => new catalogsActions.GetStatesSuccessAction(response))\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n getCountries$ = this.actions$.pipe(\r\n ofType(catalogsActions.CATALOGS_ACTION_TYPES.GET_COUNTRIES),\r\n concatMap(() => {\r\n return this.catalogsService.getCountries()\r\n .pipe(\r\n map((response: Country[]) => new catalogsActions.GetCountriesSuccessAction(response))\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n getOccupations$ = this.actions$.pipe(\r\n ofType(catalogsActions.CATALOGS_ACTION_TYPES.GET_OCUPATIONS),\r\n switchMap(() => {\r\n return this.catalogsService.getOccupations()\r\n .pipe(\r\n map((response: CatalogItem[]) => new catalogsActions.GetOcupationsSuccessAction(response))\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n getAffiliations$ = this.actions$.pipe(\r\n ofType(catalogsActions.CATALOGS_ACTION_TYPES.GET_AFFILIATIONS),\r\n switchMap(() => {\r\n return this.catalogsService.getAffiliations()\r\n .pipe(\r\n map((response: CatalogItem[]) => {\r\n return new catalogsActions.GetAffiliationsSuccessAction(response.filter(res => res.name != \"none\"))\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n getCompanyTitles$ = this.actions$.pipe(\r\n ofType(catalogsActions.CATALOGS_ACTION_TYPES.GET_COMPANY_TITLES),\r\n switchMap(() => {\r\n return this.catalogsService.getCompanyTitles()\r\n .pipe(\r\n map((response: CatalogItem[]) => new catalogsActions.GetCompanyTitlesSuccessAction(response.filter(res => res.name != \"none\")))\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n getAnnualSales$ = this.actions$.pipe(\r\n ofType(catalogsActions.CATALOGS_ACTION_TYPES.GET_ANNUAL_SALES),\r\n switchMap(() => {\r\n return this.catalogsService.getAnnualSalesRange()\r\n .pipe(\r\n map((response: AnnualSales[]) => new catalogsActions.GetAnnualSalesSuccessAction(response))\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n getFinancialInformation$ = this.actions$.pipe(\r\n ofType(catalogsActions.CATALOGS_ACTION_TYPES.GET_FINANCIAL_CATALOG_INFORMATION),\r\n switchMap(() => {\r\n return this.catalogsService.getFinancialCatalogInfo()\r\n .pipe(\r\n map((response: FinancialInformationCatalog) => new catalogsActions.GetFinancialCatalogInformationSuccessAction(response))\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n getRelationShipsInformation$ = this.actions$.pipe(\r\n ofType(catalogsActions.CATALOGS_ACTION_TYPES.GET_BENEFICIARIES_CATALOG),\r\n switchMap(() => {\r\n return this.catalogsService.getBeneficiariesCatalogInfo()\r\n .pipe(\r\n map((response: CatalogItem[]) => new catalogsActions.GetBeneficiariesCatalogSuccessAction(response))\r\n );\r\n })\r\n );\r\n}\r\n","import { Injectable } from '@angular/core';\r\n// RxJs\r\nimport { switchMap, map, filter, first, withLatestFrom, concatMap, tap } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { getUserApplicationId, getApplicationId, getOrganization } from 'store/selectors';\r\n// NgRx Effects\r\nimport { Effect, Actions, ofType } from '@ngrx/effects';\r\n// Services\r\nimport { DisclosuresService, DisclosuresUniversalService } from 'services';\r\n// Actions\r\nimport * as disclosuresActions from '../actions/disclosures.action';\r\nimport * as rulesActions from '../actions/rules.action';\r\nimport { getECMDisclosureDocuments } from 'store/selectors/disclosure.selectors';\r\n\r\nimport { saveAs } from 'file-saver';\r\n\r\n@Injectable()\r\nexport class DisclosuresEffects {\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private store$: Store,\r\n private disclosuresService: DisclosuresService,\r\n private disclosuresUniversalService: DisclosuresUniversalService) { }\r\n\r\n private applicationId$ = this.store$.select(getUserApplicationId)\r\n .pipe(filter(applicationId => !!applicationId));\r\n\r\n @Effect()\r\n getDetailDisclosures$ = this.actions$.pipe(\r\n ofType(disclosuresActions.DISCLOSURES_ACTION_TYPES.GET_DETAIL_DISCLOSURES),\r\n withLatestFrom(this.store$.select(getApplicationId)),\r\n concatMap(data => {\r\n return this.disclosuresUniversalService.getAxosClearingDisclosures().pipe(map(() => data));\r\n }),\r\n concatMap(data => {\r\n const applicationId = data[1];\r\n return this.disclosuresUniversalService.getDetailDisclosures(applicationId).pipe(\r\n map(disclosures => new disclosuresActions.GetDetailDisclosuresSuccessAction(disclosures)));\r\n })\r\n );\r\n\r\n @Effect()\r\n getAxosInvestDisclosures$ = this.actions$.pipe(\r\n ofType(disclosuresActions.DISCLOSURES_ACTION_TYPES.GET_AXOS_INVEST_DISCLOSURE),\r\n withLatestFrom(this.store$.select(getApplicationId)),\r\n concatMap(data => {\r\n const applicationId = data[1];\r\n return this.disclosuresUniversalService.getApplicationApplicantDisclosure(\"AxosInvestElectronicAgreement\").pipe(\r\n map(disclosure => new disclosuresActions.GetAxosInvestDisclosureSuccessAction(disclosure)));\r\n })\r\n );\r\n\r\n @Effect()\r\n getTaxPayerDisclosures$ = this.actions$.pipe(\r\n ofType(disclosuresActions.DISCLOSURES_ACTION_TYPES.GET_TAXPAYER_DISCLOSURE),\r\n withLatestFrom(this.store$.select(getApplicationId)),\r\n concatMap(data => {\r\n const applicationId = data[1];\r\n return this.disclosuresUniversalService.getApplicationApplicantDisclosure(\"TaxpayerIdentificationNumberCertification\").pipe(\r\n map(disclosure => new disclosuresActions.GetTaxPayerDisclosureSuccessAction(disclosure)));\r\n })\r\n );\r\n\r\n @Effect()\r\n getAxosClearingDisclosures$ = this.actions$.pipe(\r\n ofType(disclosuresActions.DISCLOSURES_ACTION_TYPES.GET_AXOS_CLEARING_DISCLOSURES),\r\n switchMap(() => {\r\n return this.disclosuresUniversalService.getAxosClearingDisclosures().pipe(\r\n map(disclosures => new disclosuresActions.GetAxosClearingDisclosuresSuccessAction(disclosures)))\r\n })\r\n );\r\n\r\n @Effect()\r\n getElectronicDisclosure$ = this.actions$.pipe(\r\n ofType(disclosuresActions.DISCLOSURES_ACTION_TYPES.GET_ELECTRONIC_DISCLOSURE),\r\n switchMap(() => {\r\n return this.disclosuresUniversalService.getElectronicDisclosure().pipe(\r\n map(disclosure => new disclosuresActions.GetElectronicDisclosureSuccessAction(disclosure))\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n getinitialDisclosures$ = this.actions$.pipe(\r\n ofType(disclosuresActions.DISCLOSURES_ACTION_TYPES.GET_INITIAL_DISCLOSURES),\r\n switchMap(() => {\r\n return this.disclosuresUniversalService.getInitialDisclosures().pipe(\r\n map(disclosures => new disclosuresActions.GetInitialDisclosuresSuccessAction(disclosures))\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n save$ = this.actions$.pipe(\r\n ofType(disclosuresActions.DISCLOSURES_ACTION_TYPES.SAVE),\r\n withLatestFrom(this.applicationId$),\r\n switchMap(data => {\r\n const action = data[0],\r\n applicationId = data[1];\r\n action.request.applicationId = applicationId;\r\n return this.disclosuresService.save(action.request);\r\n }),\r\n switchMap(() => [\r\n new disclosuresActions.SaveDisclosuresSuccessAction(),\r\n new rulesActions.ValidateApplicationAction()\r\n ])\r\n );\r\n\r\n @Effect()\r\n confirm$ = this.actions$.pipe(\r\n ofType(disclosuresActions.DISCLOSURES_ACTION_TYPES.CONFIRM),\r\n switchMap(() => this.applicationId$.pipe(first())),\r\n switchMap(applicationId => {\r\n return this.disclosuresService.confirmDisclosures(+applicationId).pipe(\r\n map(() => new disclosuresActions.ConfirmDisclosuresSuccessAction()));\r\n })\r\n );\r\n\r\n @Effect()\r\n postTerms$ = this.actions$.pipe(\r\n ofType(disclosuresActions.DISCLOSURES_ACTION_TYPES.POST_TERMS),\r\n switchMap((action: disclosuresActions.PostTermsAction) => {\r\n return this.disclosuresService.postTerms(action.request).pipe(\r\n map(() => new disclosuresActions.PostTermsSuccessAction()));\r\n })\r\n );\r\n\r\n @Effect()\r\n getDisclosuresCatalog$ = this.actions$.pipe(\r\n ofType(disclosuresActions.DISCLOSURES_ACTION_TYPES.GET_DISCLOSURES_CATALOG),\r\n switchMap(() => {\r\n return this.disclosuresUniversalService.getDisclosuresCatalog().pipe(\r\n map(disclosures => new disclosuresActions.GetDisclosuresCatalogSuccessAction(disclosures)));\r\n })\r\n );\r\n\r\n @Effect()\r\n updateDisclosure$ = this.actions$.pipe(\r\n ofType(disclosuresActions.DISCLOSURES_ACTION_TYPES.UPDATE_DISCLOSURE),\r\n withLatestFrom(this.store$.select(getApplicationId)),\r\n concatMap(data => {\r\n const action = data[0],\r\n applicationId = data[1];\r\n return this.disclosuresUniversalService.updateDisclosure(applicationId, action.disclosure).pipe(\r\n map(() => new disclosuresActions.UpdateDisclosuresSuccessAction()));\r\n })\r\n );\r\n\r\n @Effect()\r\n saveApplicantDisclosures$ = this.actions$.pipe(\r\n ofType(disclosuresActions.DISCLOSURES_ACTION_TYPES.SAVE_APPLICANT_DISCLOSURES),\r\n withLatestFrom(this.store$.select(getApplicationId)),\r\n concatMap(data => {\r\n const action = data[0],\r\n applicationId = data[1];\r\n return this.disclosuresUniversalService.saveApplicantDisclosures(applicationId, action.disclosures).pipe(\r\n map(() => new disclosuresActions.UpdateDisclosuresSuccessAction()));\r\n })\r\n );\r\n\r\n @Effect()\r\n getECMDisclosures$ = this.actions$.pipe(\r\n ofType(disclosuresActions.DISCLOSURES_ACTION_TYPES.GET_ECM_DISCLOSURES),\r\n withLatestFrom(this.store$.select(getApplicationId)),\r\n switchMap(data => {\r\n const action = data[0],\r\n applicationId = data[1];\r\n return this.disclosuresUniversalService.getECMDisclosures(applicationId).pipe(\r\n map(disclosures => new disclosuresActions.GetECMDisclosuresSuccessAction(disclosures.data)));\r\n })\r\n );\r\n\r\n @Effect()\r\n getAndOpenECMDisclosureDocument$ = this.actions$.pipe(\r\n ofType(disclosuresActions.DISCLOSURES_ACTION_TYPES.GET_AND_OPEN_ECM_DISCLOSURE_DOCUMENT),\r\n switchMap((action: disclosuresActions.GetECMDisclosureDocumentAction) => {\r\n return this.disclosuresUniversalService.getECMDisclosureDocument(action.documentId);\r\n }),\r\n switchMap(result => [\r\n new disclosuresActions.GetECMDisclosureDocumentSuccessAction(result.data),\r\n new disclosuresActions.OpenECMDisclosureAction(result.data.disclosureName)\r\n ])\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n openECMDisclosureDocument$ = this.actions$.pipe(\r\n ofType(disclosuresActions.DISCLOSURES_ACTION_TYPES.OPEN_ECM_DISCLOSURE_DOCUMENT),\r\n withLatestFrom(this.store$.select(getECMDisclosureDocuments)),\r\n tap(data => {\r\n const action = data[0],\r\n documents = data[1];\r\n const document = documents.find(x => x.disclosureName == action.disclosureName);\r\n const byteCharacters = atob(document.base64File);\r\n const byteNumbers = new Array(byteCharacters.length);\r\n for (let i = 0; i < byteCharacters.length; i++) {\r\n byteNumbers[i] = byteCharacters.charCodeAt(i);\r\n }\r\n const byteArray = new Uint8Array(byteNumbers);\r\n const file = new Blob([byteArray], { type: 'application/pdf;base64' });\r\n saveAs(file, document.documentName);\r\n })\r\n );\r\n\r\n @Effect()\r\n getECMDisclosureDocument$ = this.actions$.pipe(\r\n ofType(disclosuresActions.DISCLOSURES_ACTION_TYPES.GET_ECM_DISCLOSURE_DOCUMENT),\r\n switchMap((action: disclosuresActions.GetECMDisclosureDocumentAction) => {\r\n return this.disclosuresUniversalService.getECMDisclosureDocument(action.documentId);\r\n }),\r\n map(result => \r\n new disclosuresActions.GetECMDisclosureDocumentSuccessAction(result.data)\r\n )\r\n );\r\n\r\n @Effect()\r\n getECMDisclosureDocumentByDisclosure$ = this.actions$.pipe(\r\n ofType(disclosuresActions.DISCLOSURES_ACTION_TYPES.GET_ECM_DISCLOSURE_DOCUMENT_BY_DISCLOSURE),\r\n switchMap((action: disclosuresActions.GetECMDisclosureDocumentByDisclosureAction) => {\r\n return this.disclosuresUniversalService.getECMDisclosureDocumentByDisclosureId(action.disclosureId);\r\n }),\r\n map(disclosureDocument => \r\n new disclosuresActions.GetECMDisclosureDocumentByDisclosureSuccessAction(disclosureDocument.data)\r\n )\r\n );\r\n}\r\n","import { Injectable } from \"@angular/core\"\r\nimport { Actions, Effect, ofType, } from \"@ngrx/effects\"\r\nimport { Store } from \"@ngrx/store\"\r\nimport { FeatureFlag } from \"models\"\r\nimport { of } from \"rxjs\"\r\nimport { catchError, map, switchMap } from \"rxjs/operators\"\r\nimport { FeatureFlagService } from \"services\"\r\nimport { EnrollmentState } from \"store\"\r\n// Actions\r\nimport * as featuresActions from '../actions/features.action';\r\n\r\n@Injectable()\r\nexport class FeatureFlagsEffects {\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private featureFlagService: FeatureFlagService,\r\n private store$: Store,\r\n ){}\r\n\r\n @Effect()\r\n get$ = this.actions$.pipe(\r\n ofType(featuresActions.FEATURES_ACTION_TYPES.GET_FEATURE_STATUS),\r\n switchMap((action: featuresActions.GetFeatureStatusAction) => {\r\n return this.featureFlagService.getStatus(action.featureName)\r\n .pipe(\r\n map((response: boolean) => new featuresActions.GetFeatureStatusSuccessAction(action.featureName, response)),\r\n catchError(err => of(new featuresActions.GetFeatureStatusFailAction(err)))\r\n );\r\n })\r\n );\r\n}","export * from './auth.effects';\r\nexport * from './applicants.effects';\r\nexport * from './application.effects';\r\nexport * from './brand.effects';\r\nexport * from './products.effects';\r\nexport * from './catalogs.effects';\r\nexport * from './rules.effects';\r\nexport * from './disclosures.effects';\r\nexport * from './organization.effects';\r\n\r\nimport { AuthEffects } from './auth.effects';\r\nimport { ApplicantsEffects } from './applicants.effects';\r\nimport { BrandEffects } from './brand.effects';\r\nimport { ProductsEffects } from './products.effects';\r\nimport { GenericCatalogsEffects } from './catalogs.effects';\r\nimport { ApplicationEffects } from './application.effects';\r\nimport { DisclosuresEffects } from './disclosures.effects';\r\nimport { LayoutEffects } from './layout.effects';\r\nimport { RulesEffects } from './rules.effects';\r\nimport { RouteEffects } from './route.effects';\r\nimport { TradingEffects } from './trading.effects';\r\nimport { OrganizationEffects } from './organization.effects';\r\nimport { EnrollmentWorkflowEffects } from '../workflows'\r\nimport { ProxyEffects } from './proxy.effects';\r\nimport { WhiteLabelEffects } from './white-label.effects';\r\nimport { PdfEffects } from './pdf.effects';\r\nimport { FeatureFlagsEffects } from './feature-flags.effects';\r\n\r\nexport const effects = [\r\n ApplicantsEffects,\r\n ApplicationEffects,\r\n AuthEffects,\r\n BrandEffects,\r\n ProductsEffects,\r\n GenericCatalogsEffects,\r\n DisclosuresEffects,\r\n LayoutEffects,\r\n RulesEffects,\r\n RouteEffects,\r\n TradingEffects,\r\n OrganizationEffects,\r\n EnrollmentWorkflowEffects,\r\n ProxyEffects,\r\n WhiteLabelEffects,\r\n PdfEffects,\r\n FeatureFlagsEffects\r\n]\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Actions, ofType, Effect } from \"@ngrx/effects\";\r\nimport { BrowserTypeService } from \"app/core/services\";\r\n// RxJs\r\nimport { map, catchError } from \"rxjs/operators\";\r\nimport { of } from \"rxjs\";\r\n\r\n//Actions\r\nimport * as layoutActions from '../actions/layout.action';\r\n\r\n@Injectable()\r\nexport class LayoutEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private browserTypeService: BrowserTypeService) { }\r\n\r\n @Effect()\r\n setMobileLayout$ = this.actions$.pipe(\r\n ofType(layoutActions.LAYOUT_ACTION_TYPES.SET_MOBILE_LAYOUT),\r\n map((action: layoutActions.SetMobileLayout) => {\r\n return new layoutActions.SetMobileLayoutSuccess(this.browserTypeService.isBrowserOnMobileDevice())\r\n }),\r\n catchError(() => {\r\n return of(new layoutActions.SetMobileLayoutFail);\r\n })\r\n );\r\n}\r\n","import { Injectable } from '@angular/core';\r\n// RxJs\r\nimport { switchMap, map, catchError } from 'rxjs/operators';\r\n// NgRx Effects\r\nimport { Effect, Actions, ofType, createEffect } from '@ngrx/effects';\r\n// Services\r\nimport { OrganizationService } from 'services';\r\n// Models\r\nimport { Broker, Organization } from 'models';\r\n// Actions\r\nimport * as organizationActions from '../actions/organization.action';\r\nimport * as brokerActions from '../actions/broker.actions';\r\nimport { of } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class OrganizationEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private organizationService: OrganizationService) { }\r\n\r\n @Effect()\r\n get$ = this.actions$.pipe(\r\n ofType(organizationActions.ORGANIZATION_ACTION_TYPES.GET_ORGANIZATION),\r\n switchMap((action: organizationActions.GetOrganizationAction) => {\r\n return this.organizationService.get(action.organizationName, action.settings)\r\n .pipe(\r\n map((response: Organization) => new organizationActions.GetOrganizationSuccessAction(response)),\r\n catchError(err => of(new organizationActions.GetOrganizationFailAction(err)))\r\n );\r\n })\r\n );\r\n\r\n getBrokerInformation$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(brokerActions.getBrokerInformation),\r\n switchMap((data) => {\r\n return this.organizationService.getBrokerInformation(data.guid).pipe(\r\n map((response: Broker) => brokerActions.getBrokerInformationSuccess({ broker: response })),\r\n catchError(() => of(brokerActions.getBrokerInformationFail()))\r\n )\r\n })\r\n )\r\n );\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\r\nimport { tap } from \"rxjs/operators\";\r\nimport { PdfService } from \"services\";\r\nimport * as pdfActions from '../actions/pdf.actions';\r\n\r\n@Injectable()\r\nexport class PdfEffects{\r\n constructor(\r\n private action$: Actions,\r\n private pdfService: PdfService\r\n ){}\r\n\r\n createPdf$ = createEffect(() =>\r\n this.action$.pipe(\r\n ofType(pdfActions.createPDF),\r\n tap(action => {\r\n this.pdfService.createPDF(action.data);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n}","// Environment\r\ndeclare var environment: any;\r\n// Ng\r\nimport { Injectable } from '@angular/core';\r\n// RxJs\r\nimport { of, Observable } from 'rxjs';\r\nimport { switchMap, map, withLatestFrom, catchError, tap } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState, LoadApplicantAction, SetApplicationApplicants } from 'store';\r\nimport { getMarketingSelectedProducts, getApplication, shouldNavigateToDMD, getUser, getOrganizationDisplayNameOnly, getBrand, getBrandName } from 'store/selectors';\r\n// NgRx Effects\r\nimport { Effect, Actions, ofType } from '@ngrx/effects';\r\n// Services\r\nimport { ProductsService, ProductSelectionService, VestingTypeService } from 'services';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n// Models\r\n// Actions\r\nimport * as productsActions from '../actions/products.action';\r\nimport * as bannerActions from '../actions/banner.action';\r\nimport * as applicationActions from '../actions/application.action';\r\nimport * as applicantActions from '../actions/applicants.action';\r\nimport { APPLICATION_STATE } from 'models/enums';\r\nimport { ISimpleProduct, SelectedVestingType, Applicant, IApplicantMetadata } from 'models';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class ProductsEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private store$: Store,\r\n private cookieService: CookieService,\r\n private productsService: ProductsService,\r\n private vestingTypeService: VestingTypeService,\r\n private router: Router,\r\n private productSelectionService: ProductSelectionService) { }\r\n\r\n @Effect()\r\n getSelectedProducts$ = this.actions$.pipe(\r\n ofType(productsActions.PRODUCTS_ACTION_TYPES.GET),\r\n switchMap(() => {\r\n return this.productSelectionService.getProductsFromApplication()\r\n .pipe(\r\n switchMap(products => {\r\n const IRAProduct = products.find(p => p.productCode == 'RIRA' || p.productCode == 'TIRA');\r\n return [\r\n new productsActions.SetIRAFlag(!!IRAProduct),\r\n new productsActions.GetProductsSuccessAction(products)\r\n ]\r\n }));\r\n })\r\n );\r\n\r\n @Effect()\r\n getVestingTypes$ = this.actions$.pipe(\r\n ofType(productsActions.PRODUCTS_ACTION_TYPES.GET_VESTINGS),\r\n withLatestFrom(\r\n this.store$.select(getBrand)\r\n ),\r\n switchMap(([action, brand]) => {\r\n return this.vestingTypeService.getVestingTypes(environment.organizationId, brand.name, environment.applicationTypeName)\r\n .pipe(\r\n map(response => new productsActions.GetVestingsSuccessAction(response))\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n setVestingType$ = this.actions$.pipe(\r\n ofType(productsActions.PRODUCTS_ACTION_TYPES.SET_VESTING_TYPE),\r\n withLatestFrom(\r\n this.store$.select(getApplication),\r\n this.store$.select(shouldNavigateToDMD),\r\n this.store$.select(getMarketingSelectedProducts)\r\n ),\r\n switchMap(data => {\r\n const action = data[0],\r\n application = data[1],\r\n dmdFlow = data[2],\r\n products = data[3];\r\n var isAxosUniversal = !!environment.isAxosUniversal;\r\n //TODO get is axos trading flow set variable\r\n\r\n const vestingType: SelectedVestingType = {\r\n id: application.applicationId,\r\n numberOfApplicants: action.numberOfApplicants,\r\n vestingTypeName: action.vestingTypeName\r\n };\r\n return this.vestingTypeService.saveVestingType(vestingType)\r\n .pipe(\r\n map((applicants: Applicant[]) => {\r\n let Applicants: IApplicantMetadata[] = applicants.map((app) => {\r\n return {\r\n applicantId: app.applicantId, \r\n type: app.type\r\n }\r\n });\r\n //Set applicants in store (applicants>applicants, application>applicants, application>Applicants)\r\n this.store$.dispatch(new SetApplicationApplicants(applicants));\r\n this.store$.dispatch(new applicantActions.LoadAllApplicantsAction());\r\n this.store$.dispatch(new applicationActions.SetVestingTypeSuccessAction(vestingType.vestingTypeName, Applicants));\r\n return new applicationActions.SetApplicationStateAction(APPLICATION_STATE.AccountFeature);\r\n }),\r\n catchError((error: HttpErrorResponse) => {\r\n const errorMessage = error.error ? error.error.Message : \"Set Vesting Type Error\";\r\n return of(new productsActions.SetVestingTypeFailAction(errorMessage))\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect({dispatch: false})\r\n setVestingTypeFail$ = this.actions$.pipe(\r\n ofType(productsActions.PRODUCTS_ACTION_TYPES.SET_VESTING_TYPE_FAIL),\r\n tap(() => {\r\n return of(this.store$.dispatch(new applicationActions.RedirectToGeneralErrorPage()))\r\n })\r\n );\r\n\r\n @Effect()\r\n setProductsSelection$ = this.actions$.pipe(\r\n ofType(productsActions.PRODUCTS_ACTION_TYPES.SET_PRODUCT_SELECTION),\r\n withLatestFrom(\r\n this.store$.select(getMarketingSelectedProducts)\r\n ),\r\n switchMap(data => {\r\n const action = data[0],\r\n storeProductCode = (data[1] || []).map(product => product.productCode);\r\n \r\n let productCodeObservable: Observable;\r\n let userIdentityId;\r\n if (window.location.pathname.indexOf('/auth/ResetPassword/') > -1) {//reset password url\r\n userIdentityId = window.location.pathname.replace('/auth/ResetPassword/', '');\r\n }\r\n if (action.productCodes) {\r\n productCodeObservable = of(action.productCodes);\r\n } else if (userIdentityId !== undefined) {\r\n productCodeObservable = this.productSelectionService.getProductsByUserIdentityGuId(userIdentityId).pipe(\r\n map((response: any) => response as string[])\r\n );\r\n } else {\r\n productCodeObservable = of(storeProductCode);\r\n }\r\n return productCodeObservable.pipe(\r\n switchMap(productCode => {\r\n const request: Observable = !productCode || productCode.length <= 0 ?\r\n this.productSelectionService.getProductsFromApplication() :\r\n this.productSelectionService.getProductsByCode(productCode);\r\n // Not needed right now, but might be for a refactor\r\n if(!productCode || productCode.length == 0){\r\n return of(new productsActions.SetProductsSelectionFailAction([]))\r\n }\r\n const hasCookie = !!this.cookieService.get('XSRF-TOKEN');\r\n return request.pipe(\r\n switchMap(products => {\r\n // TODO: This rutine should be an utility\r\n let productsName = '';\r\n const productsLabel = `Product${products.length <= 1 ? '' : 's'}`;\r\n products.forEach((prod, index, array) => {\r\n productsName = `${productsName}${prod.displayName}${!Object.is(array.length - 1, index) ? ', ' : ''}`;\r\n });\r\n const IRAProduct = products.find(p => p.productCode == 'RIRA' || p.productCode == 'TIRA');\r\n return [\r\n new productsActions.SetIRAFlag(!!IRAProduct),\r\n new bannerActions.UpdateSubBannerAction(true, productsLabel, productsName),\r\n new productsActions.SetProductsSelectionSuccessAction(products),\r\n ]\r\n }),\r\n catchError(err => of(new productsActions.SetProductsSelectionFailAction([])))\r\n );\r\n }));\r\n })\r\n );\r\n\r\n // @Effect({dispatch: false})\r\n // setProductSelectionFail$ = this.actions$.pipe(\r\n // ofType(productsActions.PRODUCTS_ACTION_TYPES.SET_PRODUCT_SELECTION_FAIL),\r\n // tap((data) => {\r\n // this.store$.dispatch(new productsActions.RedirecProductSelectionAction());\r\n // })\r\n // );\r\n\r\n @Effect({dispatch: false})\r\n updateProductSelection$ = this.actions$.pipe(\r\n ofType(productsActions.PRODUCTS_ACTION_TYPES.UPDATE_PRODUCT_SELECTION),\r\n tap((data) => {\r\n const action = data;\r\n const IRAProduct: boolean = action.product.productCode == 'RIRA' || action.product.productCode == 'TIRA';\r\n let products: ISimpleProduct[] = [];\r\n products.push(action.product);\r\n this.store$.dispatch(new productsActions.SetIRAFlag(IRAProduct));\r\n this.store$.dispatch(new bannerActions.UpdateSubBannerAction(true, 'Prooduct', action.product.displayName));\r\n this.store$.dispatch(new productsActions.UpdateProductSelectionSuccessAction(products));\r\n this.router.navigateByUrl('/registration');\r\n })\r\n );\r\n\r\n @Effect({dispatch: false})\r\n redirectProductSelection$ = this.actions$.pipe(\r\n ofType(productsActions.PRODUCTS_ACTION_TYPES.REDIRECTO_PRODUCT_SELECTION),\r\n tap((data) => {\r\n console.log('Redirecto to product page');\r\n //this.router.navigateByUrl('/productAccount');\r\n })\r\n );\r\n\r\n // @Effect()\r\n // getProductsByOrganization$ = this.actions$.pipe(\r\n // ofType(productsActions.PRODUCTS_ACTION_TYPES.GET_PROXY_PRODUCTS),\r\n // switchMap(data => {\r\n // const action = data;\r\n // return this.productsService.getByOrganization(action.applicationTypeName)\r\n // .pipe(\r\n // map(response => new productsActions.GetProxyProductsSuccesAction(response.data))\r\n // );\r\n // })\r\n // );\r\n\r\n @Effect()\r\n getProductsByOrganization$ = this.actions$.pipe(\r\n ofType(productsActions.PRODUCTS_ACTION_TYPES.GET_PRODUCTS_BY_ORGANIZATION),\r\n switchMap(data => {\r\n const action = data;\r\n return this.productsService.getByOrganization(action.applicationTypeName)\r\n .pipe(\r\n map((response) => {\r\n if(environment.isProxy){\r\n return new productsActions.GetProxyProductsSuccesAction(response.data)\r\n }\r\n return new productsActions.GetProductsByOrganizationSuccesAction(response.data)\r\n })\r\n );\r\n })\r\n );\r\n}\r\n","declare var environment: any;\r\n\r\nimport { Injectable } from \"@angular/core\";\r\nimport { createEffect, Actions, ofType } from \"@ngrx/effects\";\r\nimport { CustomerService } from \"services/proxy\";\r\nimport * as proxyActions from '../actions/proxy.actions';\r\nimport { switchMap, map, catchError, tap, withLatestFrom } from \"rxjs/operators\";\r\nimport { of } from \"rxjs\";\r\nimport { Router } from \"@angular/router\";\r\nimport { PROXY_PARENT_PATH, PROXY_ROUTES } from \"app/proxy/routing/constants/routes\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { EnrollmentState } from \"store/states\";\r\nimport * as proxySelectors from '../selectors/proxy.selectors';\r\nimport * as productsActions from '../actions/products.action';\r\nimport * as applicationAction from \"../actions/application.action\";\r\nimport { SetProductsSelectionSuccessAction } from \"store/actions\";\r\nimport { getIRAFlag, getMarketingSelectedProducts, selectedRepCode } from \"store/selectors\";\r\nimport { APPLICATION_TYPE, APPLICATION_TYPE_FLOW, APPLICATION_TYPE_FLOW_ID } from \"models/enums/application-type.enum\";\r\nimport { ProxyService } from \"services\";\r\n\r\n\r\n@Injectable()\r\nexport class ProxyEffects {\r\n\r\n proxyRoutes = PROXY_ROUTES;\r\n\r\n constructor(\r\n private action$: Actions,\r\n private customerService: CustomerService,\r\n private router: Router,\r\n private store: Store,\r\n private proxyService: ProxyService\r\n ) { }\r\n\r\n searchCustomer$ = createEffect(() =>\r\n this.action$.pipe(\r\n ofType(proxyActions.searchCustomers),\r\n switchMap(data => {\r\n return this.customerService.search(data.search).pipe(\r\n map(response => response.length > 0 ? proxyActions.searchCustomersSuccess({customers: response}) : proxyActions.clearCustomer()),\r\n catchError(() => of(proxyActions.searchCustomersFail()))\r\n )\r\n })\r\n ),\r\n );\r\n\r\n getCustomer$ = createEffect(() =>\r\n this.action$.pipe(\r\n ofType(proxyActions.getCustomers),\r\n switchMap(() => {\r\n return this.customerService.getAll().pipe(\r\n map(response => response.length > 0 ? proxyActions.searchCustomersSuccess({customers: response}) : proxyActions.clearCustomer()),\r\n catchError(() => of(proxyActions.getCustomersFail()))\r\n )\r\n })\r\n ),\r\n );\r\n \r\n // setCustomer$ = createEffect(() =>\r\n // this.action$.pipe(\r\n // ofType(proxyActions.setCustomer),\r\n // tap(data => {\r\n // this.store.dispatch(proxyActions.setCustomerSuccess({ customer: data.customer }));\r\n // this.store.dispatch(proxyActions.clearCustomers());\r\n // this.router.navigateByUrl(`${PROXY_PARENT_PATH}/${this.proxyRoutes.PRODUCT_SELECTION.path}`);\r\n // })\r\n // ),\r\n // { dispatch: false }\r\n // );\r\n\r\n setCustomer$ = createEffect(() =>\r\n this.action$.pipe(\r\n ofType(proxyActions.setCustomer),\r\n switchMap(data => {\r\n console.log(data);\r\n return this.customerService.getDetails(data.customer.identityId).pipe(\r\n tap(customer => {\r\n console.log(customer);\r\n if(customer) {\r\n this.store.dispatch(proxyActions.setCustomerSuccess({ customer: customer }));\r\n this.router.navigateByUrl(`${PROXY_PARENT_PATH}/${this.proxyRoutes.PRODUCT_SELECTION.path}`);\r\n }\r\n }\r\n ))\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n setProduct$ = createEffect(() =>\r\n this.action$.pipe(\r\n ofType(proxyActions.setProduct),\r\n withLatestFrom(this.store.select(proxySelectors.getSelectedCustomer)),\r\n tap(data => {\r\n const products = data[0].products;\r\n const customer = data[1];\r\n\r\n const IRAProduct = products.find(p => p.productCode == 'RIRA' || p.productCode == 'TIRA');\r\n\r\n this.store.dispatch( new SetProductsSelectionSuccessAction(products));\r\n this.store.dispatch(new productsActions.SetIRAFlag(!!IRAProduct));\r\n\r\n if(customer){\r\n this.store.dispatch(proxyActions.registerExisitingCustomer({customer: customer}));\r\n }\r\n else{\r\n this.router.navigateByUrl('/registration');\r\n }\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n saveContact$ = createEffect(() =>\r\n this.action$.pipe(\r\n ofType(proxyActions.saveContact),\r\n switchMap(data => {\r\n return this.customerService.saveContact(data.applicantId, data.contact, data.skipHistory).pipe(\r\n\r\n map(response => {\r\n //service should return trustedDeclined value\r\n const contact = response.data.data[0] ? response.data.data[0] : null;\r\n if(response.success){\r\n return proxyActions.saveContactSucces({ contact: contact });\r\n }\r\n else{\r\n return proxyActions.saveContactFail();\r\n }\r\n }),\r\n catchError(() => of(proxyActions.saveContactFail()))\r\n )\r\n })\r\n ),\r\n );\r\n\r\n saveContactSuccess$ = createEffect(() =>\r\n this.action$.pipe(\r\n ofType(proxyActions.saveContactSucces),\r\n tap(() =>{\r\n //TBD\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n registerExistingCustomer$ = createEffect(() =>\r\n this.action$.pipe(\r\n ofType(proxyActions.registerExisitingCustomer),\r\n withLatestFrom(\r\n this.store.select(getMarketingSelectedProducts), \r\n this.store.select(getIRAFlag),\r\n this.store.select(selectedRepCode)\r\n ),\r\n switchMap(data =>{\r\n const productCodes = data[1].map(x => x.productCode);\r\n const isIRA: boolean = !!data[2];\r\n const isIRAProduct = productCodes.find(x => x.toLowerCase() == 'tira' || x.toLowerCase() == 'rira');\r\n\r\n const existingCustomerRequest = {\r\n identityId: data[0].customer.identityId, \r\n productCodes: productCodes, \r\n applicationTypeId: isIRA || isIRAProduct ? APPLICATION_TYPE_FLOW_ID.ProxyIRA : environment.applicationTypeId, \r\n applicationTypeName: isIRA || isIRAProduct ? APPLICATION_TYPE_FLOW.ProxyIRA : environment.applicationTypeName,\r\n repCode: data[3]\r\n };\r\n \r\n return this.customerService.registerExistingCustomer(existingCustomerRequest).pipe(\r\n map(response =>{\r\n return new applicationAction.LoadApplicationAction(response.data);\r\n })\r\n );\r\n })\r\n )\r\n );\r\n\r\n handOff$ = createEffect(() =>\r\n this.action$.pipe(\r\n ofType(proxyActions.handOff),\r\n switchMap(data => {\r\n return this.customerService.handOff(data.applicationId).pipe(\r\n map(response => {\r\n if(response.code === 200 && response.success){\r\n return proxyActions.handOffSuccess();\r\n }\r\n })\r\n );\r\n })\r\n )\r\n );\r\n\r\n handOffSuccess$ = createEffect(() =>\r\n this.action$.pipe(\r\n ofType(proxyActions.handOff),\r\n tap(( )=> {\r\n this.router.navigateByUrl('/handoffSuccess');\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n getRepCodes$ = createEffect(() =>\r\n this.action$.pipe(\r\n ofType(proxyActions.getRepCodes),\r\n switchMap(() => {\r\n return this.proxyService.repCodes().pipe(\r\n map(response => {\r\n if(response.success){\r\n return proxyActions.getRepCodesSuccess({ repCodes: response.data });\r\n }\r\n else{\r\n return proxyActions.getRepCodesFail();\r\n }\r\n }),\r\n catchError(() => of(proxyActions.getRepCodesFail()))\r\n )\r\n })\r\n ),\r\n );\r\n\r\n setProxyDeclinedTrustedSelection$ = createEffect(() => \r\n this.action$.pipe(\r\n ofType(proxyActions.setProxyDeclinedTrustedSelection),\r\n switchMap(data => {\r\n return this.proxyService.setProxyDeclinedTrustedSelection(data.applicantId, data.declinedTrustedFlag).pipe(\r\n map(response => {\r\n let applicantId = data.applicantId;\r\n return proxyActions.saveContact({applicantId: applicantId, contact: data.trustedDeclined, skipHistory: false});\r\n }),\r\n //catchError(error => of(whiteLabelActions))\r\n )\r\n })\r\n )\r\n );\r\n}\r\n","// Ng\r\nimport { Injectable } from '@angular/core';\r\n// RxJs\r\nimport { tap } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { RouterNavigatedAction, ROUTER_NAVIGATED } from '@ngrx/router-store';\r\nimport { EnrollmentState } from 'store';\r\n// NgRx Effects\r\nimport { Effect, Actions, ofType } from '@ngrx/effects';\r\n// Actions\r\nimport * as bannerActions from '../actions/banner.action';\r\nimport { APPLICATION_TYPE_NAME } from 'models/enums/application-type.enum';\r\n\r\ndeclare var environment: any;\r\n\r\n@Injectable()\r\nexport class RouteEffects {\r\n\r\n constructor(private actions$: Actions,\r\n private store$: Store) { }\r\n\r\n @Effect({ dispatch: false })\r\n routeNavigated$ = this.actions$.pipe(\r\n ofType(ROUTER_NAVIGATED),\r\n tap((action: RouterNavigatedAction) => {\r\n const data: any = action.payload.routerState['data'],\r\n banner = data.banner,\r\n subBanner = data.subBanner,\r\n pageTitle = data.pageTitle,\r\n progress = data.progress,\r\n isWLOrProxy = environment.applicationTypeName === APPLICATION_TYPE_NAME.whitelabelTrading || environment.applicationTypeName === APPLICATION_TYPE_NAME.proxyTrading;\r\n\r\n if(banner) { this.store$.dispatch(new bannerActions.UpdateBannerAction(banner)); }\r\n if(pageTitle) { this.store$.dispatch(new bannerActions.UpdatePageTitleAction(pageTitle)); }\r\n if(progress) { this.store$.dispatch(new bannerActions.UpdateProgressAction(progress.value, !isWLOrProxy)); }\r\n if(subBanner) { this.store$.dispatch(new bannerActions.UpdateSubBannerAction(subBanner.show)); }\r\n\r\n window.scrollTo(0, 0);\r\n })\r\n );\r\n}\r\n","// Ng\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n// RxJs\r\nimport { of } from 'rxjs';\r\nimport { switchMap, map, withLatestFrom, filter, catchError, tap } from 'rxjs/operators';\r\n// NgRx Store\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from 'store';\r\nimport { LoadAccountsAction } from 'store/actions';\r\nimport { getToken, getApplicationId, getConnectionId, getApplicationVestingTypeId, getApplicationVestingTypeName, getIsManagedPortfolio } from 'store/selectors';\r\n// NgRx Effects\r\nimport { Effect, Actions, ofType } from '@ngrx/effects';\r\n// Services\r\nimport { ApplicationService, RulesService, QuestionnaireService, BoardingSignalService, ManagedPortfolioService, AuthService } from 'services';\r\n// Actions\r\nimport * as rulesActions from '../actions/rules.action';\r\nimport * as applicantsActions from '../actions/applicants.action';\r\nimport * as applicationActions from '../actions/application.action';\r\n// Models\r\nimport { ApplicationStatus, RulesApplicationStatus } from 'models/rules';\r\nimport { APPLICATION_DECISION_STATUS, APPLICATION_STATE, APPLICATION_STATUS, APPLICANT_TYPE_TO_NAME, VESTING_TYPE_NAME } from 'models/enums';\r\n// Routes Paths\r\nimport { OUTCOME_PARENT_ROUTE, OUTCOME_ROUTES } from 'app/outcome';\r\nimport { LANDING_ROUTES } from 'app/landing/routing';\r\nimport { BOARDING_RESULT } from 'store/constants';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { AuthHandlerService, TOKEN_STORAGE_NAME } from 'app/auth';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { IAuthToken } from 'models';\r\nimport { GET_CACHE } from 'app/core/utils';\r\nimport { FlowNavigationService } from 'app/core/services';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class RulesEffects {\r\n\r\n private errorPage = 'systemError';\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private store$: Store,\r\n private router: Router,\r\n private rulesService: RulesService,\r\n public boardingSignalService: BoardingSignalService,\r\n private appliationService: ApplicationService,\r\n private questionnaireSerice: QuestionnaireService,\r\n private portfolioService: ManagedPortfolioService,\r\n private cookieService: CookieService,\r\n private authService: AuthService,\r\n private authHandlerService: AuthHandlerService,\r\n private flowService: FlowNavigationService) { }\r\n\r\n private applicationId$ = this.store$.select(getApplicationId)\r\n .pipe(filter(applicationId => !!applicationId));\r\n private vestingType$ = this.store$.select(getApplicationVestingTypeName);\r\n\r\n private getIsManagedPortfolios$ = this.store$.select(getIsManagedPortfolio);\r\n\r\n @Effect()\r\n validateApplication$ = this.actions$.pipe(\r\n ofType(rulesActions.RULES_ACTION_TYPES.VALIDATE_APPLICATION),\r\n withLatestFrom(this.applicationId$),\r\n switchMap(data => {\r\n const applicationId = data[1];\r\n return this.rulesService.validateApplication(applicationId).pipe(\r\n //tap(() => this.store$.dispatch(new rulesActions.ParserApplicationAction())),\r\n map(response => {\r\n if (response.status === APPLICATION_STATUS.SystemFailure) {\r\n this.router.navigateByUrl('systemError');\r\n }\r\n return new rulesActions.ValidateApplicationSuccessAction(response['data']);\r\n }),\r\n catchError((error: HttpErrorResponse) => {\r\n const errorMessage = error.error ? error.error.Message : \"Validate Application Error\";\r\n return of(new rulesActions.ValidateApplicationFailAction(errorMessage))\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n validateApplicationFail$ = this.actions$.pipe(\r\n ofType(rulesActions.RULES_ACTION_TYPES.VALIDATE_APPLICATION_FAIL),\r\n tap(() => {\r\n return of(new applicationActions.RedirectToGeneralErrorPage())\r\n })\r\n );\r\n\r\n @Effect()\r\n resumeRules$ = this.actions$.pipe(\r\n ofType(rulesActions.RULES_ACTION_TYPES.RESUME_RULES),\r\n withLatestFrom(this.applicationId$),\r\n switchMap(data => {\r\n const action = data[0],\r\n applicationId = data[1];\r\n return this.rulesService.resumeRules(applicationId, action.questionnaire).pipe(\r\n map(response => new rulesActions.ResumeRulesSuccessAction(\r\n this.ApplicationStatusMapper(response.rulesResult.ApplicationStatusValues)\r\n )),\r\n catchError(err => of(new rulesActions.ResumeRulesFailAction()))\r\n );\r\n })\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n boardApplication$ = this.actions$.pipe(\r\n ofType(rulesActions.RULES_ACTION_TYPES.BOARD_APPLICATION),\r\n switchMap((action: rulesActions.BoardApplicationAction) => {\r\n return this.boardingSignalService.board().pipe(\r\n tap(res => {\r\n switch (res) {\r\n case BOARDING_RESULT.COMPLETED:\r\n this.store$.dispatch(new rulesActions.BoardInProgressComplete(res));\r\n break;\r\n case BOARDING_RESULT.IN_PROGRESS:\r\n this.router.navigateByUrl(`${OUTCOME_PARENT_ROUTE}/${OUTCOME_ROUTES.BOARDING_IN_PROGRESS}`);\r\n break;\r\n case BOARDING_RESULT.STARTED:\r\n case BOARDING_RESULT.BOARDING_ERROR:\r\n this.router.navigateByUrl(`${OUTCOME_PARENT_ROUTE}/${OUTCOME_ROUTES.APPROVED_FAILURE}`);\r\n break;\r\n }\r\n }),\r\n catchError((error: HttpErrorResponse) => {\r\n const errorMessage = error.error ? error.error.Message : \"Board Application Error\";\r\n return of(new rulesActions.BoardApplicationFailAction(errorMessage))\r\n })\r\n )\r\n })\r\n );\r\n\r\n @Effect()\r\n boardInProgressComplete$ = this.actions$.pipe(\r\n ofType(rulesActions.RULES_ACTION_TYPES.BOARD_INPROGRESS_COMPLETE),\r\n switchMap((action: rulesActions.BoardInProgressComplete) => {\r\n return of(new rulesActions.BoardApplicationSuccessAction(action.status))\r\n })\r\n )\r\n\r\n @Effect({ dispatch: false })\r\n boardApplicationSuccess$ = this.actions$.pipe(\r\n ofType(rulesActions.RULES_ACTION_TYPES.BOARD_APPLICATION_SUCCESS),\r\n withLatestFrom(this.getIsManagedPortfolios$),\r\n tap(([action, isManagedPortfolio]) => {\r\n if (action['status'] === BOARDING_RESULT.COMPLETED) {\r\n let url = `${OUTCOME_PARENT_ROUTE}/${OUTCOME_ROUTES.APPROVED}`;\r\n if (isManagedPortfolio) {\r\n url = `${OUTCOME_PARENT_ROUTE}/t/approved`;\r\n }\r\n this.router.navigateByUrl(url)\r\n }\r\n })\r\n );\r\n\r\n @Effect()\r\n boardAplicationFail$ = this.actions$.pipe(\r\n ofType(rulesActions.RULES_ACTION_TYPES.BOARD_APPLICATION_FAIL),\r\n tap(() => {\r\n return of(new applicationActions.RedirectToGeneralErrorPage())\r\n })\r\n );\r\n\r\n @Effect()\r\n boardInMitek$ = this.actions$.pipe(\r\n ofType(rulesActions.RULES_ACTION_TYPES.BOARD_IN_MITEK),\r\n withLatestFrom(this.applicationId$),\r\n switchMap(data => {\r\n const applicationId = data[1];\r\n return this.rulesService.runMitekRules(applicationId).pipe(\r\n tap(() => this.store$.dispatch(new rulesActions.ParserApplicationAction())),\r\n map(response => new rulesActions.BoardInMitekSuccessAction(\r\n this.ApplicationStatusMapper(response.rulesResult.ApplicationStatusValues)\r\n )),\r\n catchError(err => of(new rulesActions.BoardInMitekFailAction()))\r\n );\r\n })\r\n );\r\n\r\n // @Effect({ dispatch: false })\r\n // boardApplicationSuccess$ = this.actions$.pipe(\r\n // ofType(rulesActions.RULES_ACTION_TYPES.BOARD_APPLICATION_SUCCESS),\r\n // tap((action: rulesActions.BoardApplicationSuccessAction) => {\r\n // if (action.wasBorded) {\r\n // this.store$.dispatch(new LoadAccountsAction())\r\n // this.router.navigateByUrl(`${OUTCOME_PARENT_ROUTE}/${OUTCOME_ROUTES.APPROVED}`)\r\n // }\r\n // })\r\n // )\r\n\r\n @Effect({ dispatch: false })\r\n validateFail$ = this.actions$.pipe(\r\n ofType(\r\n rulesActions.RULES_ACTION_TYPES.VALIDATE_APPLICATION_FAIL,\r\n ),\r\n withLatestFrom(this.vestingType$),\r\n tap(([_, vestingType]) => {\r\n this.router.navigateByUrl(vestingType.toLowerCase() === VESTING_TYPE_NAME.Individual ?\r\n `${OUTCOME_PARENT_ROUTE}/${OUTCOME_ROUTES.APPROVED_FAILURE}` :\r\n `systemError`);\r\n })\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n approveFail$ = this.actions$.pipe(\r\n ofType(\r\n rulesActions.RULES_ACTION_TYPES.BOARD_APPLICATION_FAIL,\r\n rulesActions.RULES_ACTION_TYPES.RESUME_RULES_FAIL,\r\n applicationActions.APPLICATION_ACTION_TYPES.LOAD_ACCOUNTS_FAIL,\r\n ),\r\n tap(() => {\r\n this.router.navigateByUrl(`${OUTCOME_PARENT_ROUTE}/${OUTCOME_ROUTES.APPROVED_FAILURE}`);\r\n })\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n evaluateDecision$ = this.actions$.pipe(\r\n ofType(\r\n rulesActions.RULES_ACTION_TYPES.VALIDATE_APPLICATION_SUCCESS,\r\n rulesActions.RULES_ACTION_TYPES.RESUME_RULES_SUCCESS\r\n ),\r\n tap(action => {\r\n const state = action['state'];\r\n this.store$.dispatch(new applicationActions.GetConfirmationNumberAction());\r\n if (state && (state.decisionStatus === APPLICATION_DECISION_STATUS.AutoApproved ||\r\n state.decisionStatus === APPLICATION_DECISION_STATUS.ManuallyApproved ||\r\n state.decisionStatus === APPLICATION_DECISION_STATUS.ApprovedAutoPendingPrincipalReview)) {\r\n this.store$.dispatch(new rulesActions.BoardApplicationAction());\r\n } else {\r\n this.flowService.navigateToState(state.stateId, state.decisionStatus)\r\n }\r\n })\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n pendingKBA$ = this.actions$.pipe(\r\n ofType(rulesActions.RULES_ACTION_TYPES.UPDATE_PENDING_KBA),\r\n withLatestFrom(this.applicationId$, this.store$.select(getToken)),\r\n tap(data => {\r\n const applicationId = data[1], token = data[2];\r\n this.rulesService.updateToPendingKBAXMLHttp(applicationId, token);\r\n })\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n pendingBankReview$ = this.actions$.pipe(\r\n ofType(rulesActions.RULES_ACTION_TYPES.UPDATE_PENDING_BANK_REVIEW),\r\n withLatestFrom(this.applicationId$, this.store$.select(getToken)),\r\n tap(data => {\r\n const applicationId = data[1], token = data[2];\r\n this.rulesService.updateToPendingBankReviewXMLHttp(applicationId, token);\r\n })\r\n );\r\n\r\n @Effect()\r\n getIDAQuestions$ = this.actions$.pipe(\r\n ofType(rulesActions.RULES_ACTION_TYPES.GET_IDA_QUESTIONS),\r\n withLatestFrom(this.applicationId$),\r\n switchMap(data => {\r\n const action = data[0],\r\n applicationId = data[1];\r\n\r\n return this.questionnaireSerice.getIdaQuestions$(applicationId, action.isRetry).pipe(\r\n map(response => new rulesActions.GetIDAQuestionsSuccessAction(\r\n this.ApplicationStatusMapper(response.initiateIdaResponse.ApplicationStatusValues),\r\n response.initiateIdaResponse.IdaQuestionValues\r\n )),\r\n catchError(() => of(new rulesActions.GetIDAQuestionsFailAction()))\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n getIDAQuestionsFail$ = this.actions$.pipe(\r\n ofType(rulesActions.RULES_ACTION_TYPES.GET_IDA_QUESTIONS_FAIL),\r\n map(() => new applicationActions.SetApplicationStateAction(APPLICATION_STATE.PendingCompletionKBA))\r\n );\r\n\r\n @Effect()\r\n getPendingApplicantsIDVerification$ = this.actions$.pipe(\r\n ofType(rulesActions.RULES_ACTION_TYPES.GET_PENDING_ID_VERIFICATION_APPLICANTS),\r\n withLatestFrom(this.applicationId$),\r\n switchMap(data => {\r\n const applicationId = data[1];\r\n return this.rulesService.getApplicantsMitekDocuments(applicationId);\r\n }),\r\n switchMap(response => [\r\n response.applicants.length > 0 ?\r\n new applicantsActions.SetCurrentApplicantTypeAction(APPLICANT_TYPE_TO_NAME[response.applicants[0].applicantTypeId]) :\r\n new rulesActions.BoardInMitekAction(),\r\n new rulesActions.GetPendingIDVerificationApplicantsSuccessAction(\r\n response.applicants.map(applicant => applicant.applicantTypeId)\r\n ),\r\n ])\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n parserApplication$ = this.actions$.pipe(\r\n ofType(rulesActions.RULES_ACTION_TYPES.PARSE_APPLICATION),\r\n withLatestFrom(this.applicationId$),\r\n switchMap(data => {\r\n const applicationId = data[1];\r\n return this.rulesService.parser(applicationId);\r\n })\r\n );\r\n\r\n ApplicationStatusMapper(status: RulesApplicationStatus): ApplicationStatus {\r\n return {\r\n stateId: status.ApplicationState,\r\n status: status.ApplicationStatus,\r\n decisionReason: status.DecisionReason,\r\n decisionStatus: status.DecisionStatus\r\n }\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Actions, ofType, createEffect } from \"@ngrx/effects\";\r\nimport * as tradingActions from '../actions/trading.action';\r\nimport { switchMap, withLatestFrom, map, catchError, take, tap } from \"rxjs/operators\";\r\nimport { TradingService } from \"services/trading.service\";\r\nimport { of } from \"rxjs\";\r\nimport { InvestmentProfileService, IdentityVerificationService, DisclosuresUniversalService, AuditLogService } from \"services\";\r\nimport { getApplicationId, getUserApplicationId } from \"store/selectors\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { EnrollmentState } from \"store\";\r\nimport { APPLICATION_STATE } from \"models/enums\";\r\nimport * as applicationActions from '../actions/application.action';\r\nimport { ValidateApplicationAction, LoadPersonalInformationSuccessAction, GetDetailDisclosuresAction } from \"store/actions\";\r\nimport { IInvestmentObjetive, IInvestmentProfile } from \"models\";\r\nimport { GET_VALUES_FROM_CATALOG } from \"app/core/utils\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\n\r\ndeclare var environment: any;\r\n\r\n@Injectable()\r\nexport class TradingEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private store$: Store,\r\n private identityVerificationService: IdentityVerificationService,\r\n private tradingService: TradingService,\r\n private disclosuresService: DisclosuresUniversalService,\r\n private investmentProfileService: InvestmentProfileService,\r\n private logsService: AuditLogService) { }\r\n\r\n setAccountFeature$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(tradingActions.setAccountFeature),\r\n withLatestFrom(\r\n this.store$.select(getApplicationId)\r\n ),\r\n switchMap(data => {\r\n const action = data[0];\r\n const applicationId = data[1];\r\n const featureList: string[] = action.feature.TradingFeatures.map(feature => feature.name);\r\n return this.tradingService.saveAccountFeature(featureList, applicationId).pipe(\r\n map(feature => {\r\n if (!environment.isProxy) {\r\n this.store$.dispatch(new GetDetailDisclosuresAction());\r\n }\r\n return tradingActions.setAccountFeatureSuccess({ feature: action.feature })\r\n }),\r\n catchError((error: HttpErrorResponse) => {\r\n const errorMessage = error.error ? error.error.Message : \"Save Account Features Error\";\r\n return of(tradingActions.setAccountFeatureFail(errorMessage))\r\n })\r\n )\r\n })\r\n )\r\n );\r\n \r\n setAccountFeatureFail$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(tradingActions.setAccountFeatureFail),\r\n tap(() => {\r\n return of(this.store$.dispatch(new applicationActions.RedirectToGeneralErrorPage()))\r\n }),\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n saveFinancialInformation$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(tradingActions.saveFinancialInformation),\r\n switchMap(data => {\r\n return this.tradingService.saveFinancialInformation(data.information, data.applicationId, data.skipHistory).pipe(\r\n map(() => tradingActions.saveFinancialInformationSuccess(data.information)),\r\n catchError((error: HttpErrorResponse) => {\r\n const errorMessage = error.error ? error.error.Message : \"Save Financial Information Error\";\r\n return of(tradingActions.saveFinancialInformationFail(errorMessage))\r\n })\r\n )\r\n })\r\n )\r\n );\r\n\r\n saveFinancialInformationFail$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(tradingActions.saveFinancialInformationFail),\r\n tap(() => {\r\n return of(this.store$.dispatch(new applicationActions.RedirectToGeneralErrorPage()))\r\n }),\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updateApplicant$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(tradingActions.setPersonalInformation),\r\n switchMap(action => {\r\n const personalInformation = action.personalInformation;\r\n return this.tradingService.savePesonalInformation(personalInformation).pipe(map(response => {\r\n return tradingActions.setPersonalInformationSuccess(response)\r\n }))\r\n })\r\n )\r\n );\r\n\r\n saveInvestmentProfile$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(tradingActions.saveInvestmentProfile),\r\n withLatestFrom(\r\n this.store$.select(getApplicationId)\r\n ),\r\n switchMap(data => {\r\n const action = data[0];\r\n const applicationId = data[1];\r\n\r\n return this.tradingService.saveInvestmentProfile(action.investmentProfile, applicationId, action.skipHistory).pipe(\r\n map((res) => {\r\n const investment = res;\r\n const investemntAdvanced = investment.tradingExperiences ? investment.tradingExperiences : [];\r\n const investmentProfileInformation: IInvestmentProfile = {\r\n overallInvestmentExperience: investment.overallInvestmentExperience,\r\n investmentObjective: investment.investmentObjective,\r\n timeHorizon: investment.timeHorizon,\r\n riskTolerance: investment.riskTolerance,\r\n dividendInstructions: investment.dividendInstructions,\r\n tradingExperiences: investemntAdvanced\r\n }\r\n return tradingActions.saveInvestmentProfileSuccess(investmentProfileInformation)\r\n }),\r\n catchError((error: HttpErrorResponse) => {\r\n const errorMessage = error.error ? error.error.Message : \"Save Investment Profile Error\";\r\n return of(tradingActions.saveInvestmentProfileFail(errorMessage))\r\n })\r\n )\r\n })\r\n )\r\n );\r\n\r\n saveInvestmentProfileFail$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(tradingActions.saveInvestmentProfileFail),\r\n tap(() => {\r\n return of(this.store$.dispatch(new applicationActions.RedirectToGeneralErrorPage()))\r\n }),\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n getFinancialInformation$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(tradingActions.getFinancialInformation),\r\n withLatestFrom(\r\n this.store$.select(getApplicationId)\r\n ),\r\n switchMap((data) => {\r\n const applicationId = data[1];\r\n return this.tradingService.getFinancialInformation(applicationId).pipe(\r\n map(information =>\r\n tradingActions.getFinancialInformationSuccess({ information: GET_VALUES_FROM_CATALOG(information) })\r\n ))\r\n })\r\n )\r\n );\r\n\r\n // @Effect()\r\n // checkTradingDmd$ = this.actions$.pipe(\r\n // ofType(tradingActions.TRADING_ACTION_TYPES.SAVE_INVESTMENT_PROFILE_SUCCESS),\r\n // withLatestFrom(\r\n // this.store$.select(shouldNavigateToDMD)\r\n // ),\r\n // map(([action, dmdFlow]) => dmdFlow ? new applicationActions.SetApplicationStateAction(APPLICATION_STATE.IdVerificationMethod):\r\n // new applicationActions.SetApplicationStateAction(APPLICATION_STATE.reviewAndSubmit))\r\n // );\r\n\r\n getInvestmentObjetives$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(tradingActions.getInvestmentObjetives),\r\n switchMap(() => {\r\n return this.investmentProfileService.getInvestmentObjetives().pipe(map(objetives => {\r\n const investmentObjective: IInvestmentObjetive[] = objetives.investmentObjectives;\r\n return tradingActions.getInvestmentObjetivesActionSuccess({ objetives: investmentObjective })\r\n }\r\n ))\r\n })\r\n )\r\n );\r\n\r\n getAccountFeature$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(tradingActions.getAccountFeature),\r\n withLatestFrom(\r\n this.store$.select(getApplicationId)\r\n ),\r\n switchMap((data) => {\r\n const applicationId = data[1];\r\n return this.tradingService.getAccountFeature(applicationId).pipe(\r\n map(accountFeature => {\r\n return tradingActions.getAccountFeatureSuccess({ accountFeature })\r\n }\r\n ))\r\n })\r\n )\r\n );\r\n\r\n getFeatures$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(tradingActions.getFeatures),\r\n withLatestFrom(\r\n this.store$.select(getApplicationId)\r\n ),\r\n switchMap((data) => {\r\n if (environment.isProxy) {\r\n /*\r\n Due that getFeatures endpoint get application info based on user's claims\r\n we call getFeaturesByApplication endpoint just for proxy to solve this issue\r\n */\r\n const applicationId = data[1];\r\n return this.tradingService.getFeaturesByApplication(applicationId).pipe(\r\n map(features => tradingActions.getFeaturesSuccess({ features }))\r\n );\r\n }\r\n\r\n return this.tradingService.getFeatures().pipe(\r\n map(features => tradingActions.getFeaturesSuccess({ features }))\r\n );\r\n })\r\n )\r\n );\r\n\r\n getAllPersonalInformation$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(tradingActions.getPersonalInformation),\r\n tap(action => {\r\n this.tradingService.getPersonalInformation(action.applicantId).pipe(map(person => {\r\n this.store$.dispatch(new LoadPersonalInformationSuccessAction(person, action.applicantId, false));\r\n })).subscribe();\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n getInvestmentProfile$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(tradingActions.getInvestmentProfile),\r\n withLatestFrom(\r\n this.store$.select(getApplicationId)\r\n ),\r\n switchMap((data) => {\r\n const applicationId = data[1];\r\n return this.tradingService.getInvestmentProfile(applicationId).pipe(\r\n map(profile => {\r\n profile.tradingExperiences = profile.tradingExperiences.map(e => {\r\n e.experience = e.experience.toLocaleLowerCase();\r\n return e;\r\n });\r\n return tradingActions.getInvestmentProfileSuccess({ profile })\r\n }\r\n ))\r\n })\r\n )\r\n );\r\n\r\n skipVerification$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(tradingActions.setSkipVerification),\r\n switchMap(action => {\r\n return this.identityVerificationService.skipVerification(action.applicantId, action.desicion).pipe(\r\n map((desicion) => {\r\n if (action.navigate) {\r\n this.store$.dispatch(new applicationActions.SetApplicationStateAction(APPLICATION_STATE.ReviewAndSubmit));\r\n //Trading new states\r\n //this.store$.dispatch(new applicationActions.SetApplicationStateAction(APPLICATION_STATE.ReviewAndSubmit));\r\n }\r\n\r\n return tradingActions.setSkipVerificationSuccess({ desicion })\r\n })\r\n );\r\n })\r\n )\r\n );\r\n\r\n saveDisclosures$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(tradingActions.saveTradingDisclosures),\r\n switchMap(action => {\r\n return this.disclosuresService.saveDisclosures(action.appId, action.applicantId, action.summary).pipe(\r\n map(() => tradingActions.saveTradingDisclosuresSuccess()),\r\n catchError((error: HttpErrorResponse) => {\r\n const errorMessage = error.error ? error.error.Message : \"Save Disclosures Error\";\r\n return of(tradingActions.saveTradingDisclosuresFail(errorMessage))\r\n })\r\n );\r\n })\r\n )\r\n );\r\n\r\n saveDisclosuresSuccess$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(tradingActions.saveTradingDisclosuresSuccess),\r\n map(() => new ValidateApplicationAction())\r\n )\r\n );\r\n\r\n saveDisclosuresFail$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(tradingActions.saveTradingDisclosuresFail),\r\n tap(() => {\r\n return of(this.store$.dispatch(new applicationActions.RedirectToGeneralErrorPage()))\r\n }),\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n logAction$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(tradingActions.logAction),\r\n tap(action => {\r\n this.logsService.logAction(action.message, action.applicantType, 6).subscribe();\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { of } from \"rxjs\";\r\nimport { catchError, map, switchMap, tap, withLatestFrom } from \"rxjs/operators\";\r\nimport { WhiteLabelService } from \"services/wl/white-label.service\";\r\nimport { EnrollmentState } from \"store\";\r\nimport * as whiteLabelActions from '../actions/white-label.actions'\r\nimport * as applicationActions from '../actions/application.action';\r\nimport * as proxyActions from '../actions/proxy.actions';\r\nimport { getApplicationId } from \"store/selectors\";\r\n\r\n@Injectable()\r\nexport class WhiteLabelEffects {\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private whiteLabelService: WhiteLabelService,\r\n private store$: Store,\r\n ){}\r\n\r\n getOptionLevels$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(whiteLabelActions.getOptionLevels),\r\n switchMap(() => {\r\n return this.whiteLabelService.getOptionLevels().pipe(\r\n map(response => whiteLabelActions.getOptionLevelsSuccess({ optionLevels: response })),\r\n catchError(error => of(whiteLabelActions.getOptionLevelsFail({ error: error})))\r\n )\r\n })\r\n )\r\n )\r\n\r\n getOptionLevelsFail$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(whiteLabelActions.getOptionLevelsFail),\r\n tap(() => {\r\n return of(this.store$.dispatch(new applicationActions.RedirectToGeneralErrorPage()))\r\n }),\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n setOptionLevel$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(whiteLabelActions.setOptionLevel),\r\n withLatestFrom(this.store$.select(getApplicationId)),\r\n switchMap(data => {\r\n return this.whiteLabelService.setOptionLevel(data[0].optionLevel, data[1]).pipe(\r\n map(response => {\r\n if(response){\r\n return whiteLabelActions.setOptionLevelSuccess({ optionLevel: data[0].optionLevel })\r\n }\r\n else{\r\n return whiteLabelActions.setOptionLevelSuccess({ optionLevel: data[0].optionLevel })\r\n }\r\n }),\r\n catchError(error => of(whiteLabelActions.setOptionLevelFail({ error: error})))\r\n )\r\n })\r\n )\r\n )\r\n\r\n setOptionLevelFail$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(whiteLabelActions.setOptionLevelFail),\r\n tap(() => {\r\n return of(this.store$.dispatch(new applicationActions.RedirectToGeneralErrorPage()))\r\n }),\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n getSelectedOptionLevel$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(whiteLabelActions.getSelectedOptionLevel),\r\n withLatestFrom(this.store$.select(getApplicationId)),\r\n switchMap(data => {\r\n return this.whiteLabelService.getSelectedOptionLevel(data[1]).pipe(\r\n map(response => {\r\n if (response) {\r\n return whiteLabelActions.getSelectedOptionLevelSucces({ optionLevel: response.requestedLevel})\r\n }\r\n else {\r\n return whiteLabelActions.getSelectedOptionLevelFail({ error: 'Error' })\r\n }\r\n }),\r\n catchError(error => of(whiteLabelActions.getSelectedOptionLevelFail({ error: error })))\r\n )\r\n })\r\n )\r\n );\r\n\r\n setTrustedContact$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(whiteLabelActions.setTrustedContact),\r\n switchMap(data => {\r\n return this.whiteLabelService.setTrustedContact(data.applicantId, data.trustedContact, data.skipHistory).pipe(\r\n map(response => {\r\n if(response) {\r\n const trustedContact = response.data ? response.data[0] : null;\r\n return whiteLabelActions.setTrustedContactSuccess({trustedContact: trustedContact});\r\n }\r\n }),\r\n catchError(error => of(whiteLabelActions.setTrustedContactFail({ error: error})))\r\n )\r\n })\r\n )\r\n )\r\n\r\n setTrustedContactFail$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(whiteLabelActions.setTrustedContactFail),\r\n tap(() => {\r\n return of(this.store$.dispatch(new applicationActions.RedirectToGeneralErrorPage()))\r\n }),\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n getTrustedContact$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(whiteLabelActions.getTrustedContact),\r\n switchMap(data =>{\r\n return this.whiteLabelService.getTrustedContact(data.applicantId).pipe(\r\n map(response => {\r\n if(response && response.length){\r\n const trustedContact = response? response[0]:null;\r\n return whiteLabelActions.setTrustedContactSuccess({trustedContact: trustedContact});\r\n } \r\n return whiteLabelActions.setTrustedContactSuccess({trustedContact: null});\r\n }),\r\n catchError(error => of(whiteLabelActions.setTrustedContactFail({ error: error})))\r\n )\r\n })\r\n )\r\n );\r\n\r\n setDeclinedTrustedSelection$ = createEffect(() => \r\n this.actions$.pipe(\r\n ofType(whiteLabelActions.setDeclinedTrustedSelection),\r\n switchMap(data => {\r\n return this.whiteLabelService.setDeclinedTrustedSelection(data.applicantId, data.declinedTrusted).pipe(\r\n map(response => {\r\n let applicantId = data.applicantId;\r\n if(data.isProxy){\r\n return proxyActions.saveContact({applicantId: applicantId, contact: null, skipHistory: false});\r\n }\r\n return whiteLabelActions.setTrustedContact({applicantId: applicantId, trustedContact: data.trustedContact, skipHistory: false});\r\n }),\r\n //catchError(error => of(whiteLabelActions))\r\n )\r\n })\r\n )\r\n );\r\n}","export * from './states';\r\nexport * from './actions';\r\nexport {\r\n selectWorkflow,\r\n selectWorkflowState,\r\n fetchWorkflow,\r\n setWorkflow,\r\n setWorkflowStep,\r\n} from './workflows';\r\n","import { Applicant, Address, IdentificationInfo, PhoneNumber, RecommendedAddress } from 'models';\r\nimport { APPLICANT_TYPE_NAME, PHONE_TYPE_UNIVERSAL, APPLICANT_TYPE_TO_NAME, APPLICANT_TYPE_TO_ID } from 'models/enums';\r\n\r\nimport { ApplicantsState } from '../states';\r\nimport * as fromActions from '../actions/applicants.action';\r\nimport { SET_ADDRESS_BY_TYPE, SET_PHONE_BY_TYPE, SET_RECOMMEND_ADDRESS_BY_TYPE } from 'app/core/utils';\r\n\r\nexport const initialState: ApplicantsState = {\r\n applicants: [],\r\n currentApplicantType: APPLICANT_TYPE_NAME.Primary,\r\n loaded: false,\r\n loading: false\r\n}\r\n\r\nfunction UPDATE_APPLICANT(applicants: Applicant[], applicantId: string, newData: any): Applicant[] {\r\n let applicant: Applicant = applicants.find(applicant => applicant.applicantId === applicantId);\r\n applicant = Object.assign({}, applicant, { ...newData });\r\n applicants = [\r\n ...applicants.filter(applicant => applicant.applicantId !== applicantId),\r\n applicant\r\n ];\r\n return applicants.sort((a, b) => a.applicantId > b.applicantId ? 1 : -1)\r\n}\r\n\r\nfunction UPDATE_STORE_APPLICANT(applicants: Applicant[], applicantId: string, newData: any): Applicant[] {\r\n const applicant: Applicant = applicants.find(applicant => applicant.applicantId === applicantId);\r\n const newApplicant = { ...applicant, ...newData };\r\n const newApplicants = [\r\n ...applicants.filter(applicant => applicant.applicantId !== applicantId),\r\n newApplicant\r\n ];\r\n return newApplicants.sort((a, b) => APPLICANT_TYPE_TO_ID[a.type] > APPLICANT_TYPE_TO_ID[b.type] ? 1 : -1)\r\n}\r\n\r\nexport function reducer(\r\n state = initialState,\r\n action: fromActions.ApplicantsAction\r\n): ApplicantsState {\r\n switch (action.type) {\r\n case fromActions.APPLICANTS_ACTION_TYPES.LOAD_APPLICANT:\r\n case fromActions.APPLICANTS_ACTION_TYPES.LOAD_ALL_APPLICANTS: {\r\n return { ...state, loading: true };\r\n }\r\n case fromActions.APPLICANTS_ACTION_TYPES.SET_CURRENT_APPLICANT_TYPE: {\r\n return { ...state, currentApplicantType: action.applicantType };\r\n }\r\n // case fromActions.APPLICANTS_ACTION_TYPES.UPDATE_APPLICANT_SUCCES:\r\n case fromActions.APPLICANTS_ACTION_TYPES.LOAD_APPLICANT_SUCCESS: {\r\n const newApplicants = [\r\n ...state.applicants.filter(applicant => applicant.applicantId !== action.applicant.applicantId),\r\n action.applicant\r\n ];\r\n\r\n return {\r\n ...state,\r\n loading: false,\r\n currentApplicantType: action.setAsCurrent ? APPLICANT_TYPE_NAME[action.applicant.type] : state.currentApplicantType,\r\n applicants: newApplicants.sort((a, b) => a.applicantId > b.applicantId ? 1 : -1)\r\n };\r\n }\r\n case fromActions.APPLICANTS_ACTION_TYPES.LOAD_ALL_APPLICANTS_SUCCESS: {\r\n return {\r\n ...state,\r\n loaded: true,\r\n loading: false,\r\n applicants: action.applicants\r\n };\r\n }\r\n case fromActions.APPLICANTS_ACTION_TYPES.SAVE_APPLICANT_PHONE_SUCCCESS: {\r\n const newPhone: PhoneNumber = action.phone;\r\n let applicant: Applicant = state.applicants.find(applicant => applicant.applicantId === action.applicantId);\r\n return {\r\n ...state,\r\n applicants: UPDATE_APPLICANT(state.applicants, action.applicantId, {\r\n phones: SET_PHONE_BY_TYPE(applicant.phones, newPhone, PHONE_TYPE_UNIVERSAL[newPhone.phoneType])\r\n })\r\n }\r\n }\r\n case fromActions.APPLICANTS_ACTION_TYPES.SAVE_APPLICANT_ADDRESS_SUCCCESS: {\r\n const newAddress: Address = action.address;\r\n let applicant: Applicant = state.applicants.find(applicant => applicant.applicantId === action.applicantId);\r\n let addressInfoes: Address[] = applicant.addresses ? applicant.addresses : [newAddress];\r\n return {\r\n ...state,\r\n applicants: UPDATE_STORE_APPLICANT(state.applicants, action.applicantId, {\r\n addresses: SET_ADDRESS_BY_TYPE(addressInfoes, newAddress, newAddress.addressType)\r\n })\r\n }\r\n }\r\n case fromActions.APPLICANTS_ACTION_TYPES.RECOMMENDED_APPLICANT_ADDRESS_SUCCESSS: {\r\n const newAddress: RecommendedAddress = action.recaddress;\r\n let applicant: Applicant = state.applicants.find(applicant => applicant.applicantId === action.applicantId);\r\n let addressInfoes: RecommendedAddress[] = applicant.recommend ? applicant.recommend : [newAddress];\r\n return {\r\n ...state,\r\n applicants: UPDATE_STORE_APPLICANT(state.applicants, action.applicantId, {\r\n recommend: SET_RECOMMEND_ADDRESS_BY_TYPE(addressInfoes, newAddress)\r\n })\r\n }\r\n }\r\n case fromActions.APPLICANTS_ACTION_TYPES.SAVE_APPLICANT_IDENTIFICATION_SUCCCESS: {\r\n const newIdentification: IdentificationInfo = action.identification;\r\n let applicant: Applicant = state.applicants.find(applicant => applicant.applicantId === action.applicantId);\r\n return {\r\n ...state,\r\n applicants: UPDATE_APPLICANT(state.applicants, action.applicantId, {\r\n IdentificationInfo: {\r\n ...applicant.IdentificationInfo,\r\n ...newIdentification\r\n }\r\n })\r\n }\r\n }\r\n case fromActions.APPLICANTS_ACTION_TYPES.GET_ADDRESS_INFOES: {\r\n return {\r\n ...state,\r\n loaded: false,\r\n loading: true\r\n };\r\n }\r\n case fromActions.APPLICANTS_ACTION_TYPES.GET_ADDRESS_INFOES_SUCCESS: {\r\n return {\r\n ...state,\r\n applicants: UPDATE_STORE_APPLICANT(state.applicants, action.applicantId, {\r\n addresses: action.AdressInfoes\r\n }),\r\n loaded: true,\r\n loading: false\r\n }\r\n }\r\n case fromActions.APPLICANTS_ACTION_TYPES.LOAD_PERSONAL_INFORMATION_SUCCESS:\r\n case fromActions.APPLICANTS_ACTION_TYPES.SAVE_PI_UNIVERSAL_SUCCESS:\r\n case fromActions.APPLICANTS_ACTION_TYPES.SAVE_BASIC_INFORMATION_SUCCESS: {\r\n return {\r\n ...state,\r\n applicants: UPDATE_STORE_APPLICANT(state.applicants, action.applicantId, {\r\n person: action.person\r\n })\r\n }\r\n }\r\n case fromActions.APPLICANTS_ACTION_TYPES.SAVE_ADDITIONAL_OWNER_INFO_SUCCESS:\r\n case fromActions.APPLICANTS_ACTION_TYPES.UPDATE_ADDITIONAL_OWNER_INFO_SUCCESS: {\r\n return {\r\n ...state,\r\n applicants: UPDATE_STORE_APPLICANT(state.applicants, action.applicantId, {\r\n person: action.additionalPerson\r\n })\r\n }\r\n }\r\n case fromActions.APPLICANTS_ACTION_TYPES.UPDATE_TAX_PAYER_ID_SUCCESS: {\r\n return {\r\n ...state,\r\n applicants: UPDATE_STORE_APPLICANT(state.applicants, action.applicantId, {\r\n taxPayerId: action.taxPayerId\r\n })\r\n };\r\n }\r\n case fromActions.APPLICANTS_ACTION_TYPES.GET_ADDRESS_INFOES_SUCCESS: {\r\n return {\r\n ...state,\r\n applicants: UPDATE_APPLICANT(state.applicants, action.applicantId, {\r\n addresses: action.AdressInfoes\r\n })\r\n }\r\n }\r\n case fromActions.APPLICANTS_ACTION_TYPES.GET_REQUESTED_DOCUMENTS_SUCCESS: {\r\n return {\r\n ...state,\r\n applicants: UPDATE_APPLICANT(state.applicants, action.applicantId, {\r\n requestedDocuments: action.requestedDocuments\r\n })\r\n }\r\n }\r\n case fromActions.APPLICANTS_ACTION_TYPES.GET_APPLICANT_EXISTING_SUCCESS: {\r\n return {\r\n ...state,\r\n applicants: UPDATE_APPLICANT(state.applicants, action.applicantId, {\r\n isExisting: action.isExisting\r\n })\r\n }\r\n }\r\n case fromActions.APPLICANTS_ACTION_TYPES.GET_ADDRESS_INFOES_SUCCESS: {\r\n return {\r\n ...state,\r\n applicants: UPDATE_APPLICANT(state.applicants, action.applicantId, {\r\n addresses: action.AdressInfoes\r\n })\r\n }\r\n }\r\n case fromActions.APPLICANTS_ACTION_TYPES.GET_REQUESTED_DOCUMENTS_SUCCESS: {\r\n return {\r\n ...state,\r\n applicants: UPDATE_APPLICANT(state.applicants, action.applicantId, {\r\n requestedDocuments: action.requestedDocuments\r\n })\r\n }\r\n }\r\n case fromActions.APPLICANTS_ACTION_TYPES.SAVE_IDENTIFICATION_DETAILS_SUCCESS: {\r\n return {\r\n ...state,\r\n applicants: UPDATE_APPLICANT(state.applicants, action.applicantId, {\r\n applicantIdentification: { ...state.applicants.find(x => x.applicantId === action.applicantId).applicantIdentification, ...action.identificationDetailsInfo }\r\n })\r\n }\r\n }\r\n case fromActions.APPLICANTS_ACTION_TYPES.GET_APPLICANT_EXISTING_SUCCESS: {\r\n return {\r\n ...state,\r\n applicants: UPDATE_APPLICANT(state.applicants, action.applicantId, {\r\n isExisting: action.isExisting\r\n })\r\n }\r\n }\r\n case fromActions.APPLICANTS_ACTION_TYPES.CLEAR_STATE: {\r\n return {\r\n ...initialState\r\n }\r\n }\r\n case fromActions.APPLICANTS_ACTION_TYPES.SAVE_ID_DETAILS_PAGE_2_SUCCESS: {\r\n return {\r\n ...state,\r\n applicants: UPDATE_APPLICANT(state.applicants, action.applicantId, {\r\n applicantIdentification: { ...state.applicants.find(x => x.applicantId === action.applicantId).applicantIdentification, ...action.idDetails }\r\n })\r\n }\r\n }\r\n }\r\n return state;\r\n}\r\n","import { ApplicationState } from '../states';\r\nimport * as fromActions from '../actions/application.action';\r\nimport * as fromRulesActions from '../actions/rules.action';\r\nimport { IApplication } from 'models';\r\nimport { VESTING_TYPE_ID, VESTING_TYPE_NAME, SOURCE_TYPES } from 'models/enums';\r\n\r\nexport const emptyApplication: IApplication = {\r\n applicationId: null,\r\n ConfirmationNumber: null,\r\n created: null,\r\n submittedDate: null,\r\n createNewApplication: false,\r\n applicationTypeName: null,\r\n vestingType: { Id: VESTING_TYPE_ID.Individual, Name: VESTING_TYPE_NAME.Individual },\r\n ApplicationState: {\r\n PriorApplicationStateId: null,\r\n stateId: null,\r\n status: null,\r\n decisionReason: null,\r\n decisionStatus: null\r\n },\r\n SourceType: {\r\n SourceTypeId: SOURCE_TYPES.newEnroller,\r\n SourceName: ''\r\n },\r\n Brand: { Id: null, Name: null },\r\n Accounts: [],\r\n Applicants: [],\r\n PromoCode: null,\r\n beneficiariesIinformation: [],\r\n beneficiariesContingentIinformation: []\r\n};\r\n\r\nexport const initialState: ApplicationState = {\r\n application: { ...emptyApplication },\r\n accounts: null,\r\n loaded: false,\r\n loading: false,\r\n trustTypes: []\r\n}\r\n\r\nexport function reducer(\r\n state = initialState,\r\n action: fromActions.ApplicationAction | fromRulesActions.RulesAction\r\n): ApplicationState {\r\n switch (action.type) {\r\n case fromActions.APPLICATION_ACTION_TYPES.CREATE_APPLICATION:\r\n case fromActions.APPLICATION_ACTION_TYPES.LOAD_APPLICATION:\r\n case fromActions.APPLICATION_ACTION_TYPES.LOAD_APPLICATION_BY_TOKEN:\r\n case fromActions.APPLICATION_ACTION_TYPES.LOAD_ACCOUNTS: {\r\n return { ...state, loading: true };\r\n }\r\n case fromActions.APPLICATION_ACTION_TYPES.CREATE_APPLICATION_SUCCESS: {\r\n return { ...state, loading: false };\r\n }\r\n case fromActions.APPLICATION_ACTION_TYPES.UPDATE_PROMO_CODE_SUCCESS: {\r\n return {\r\n ...state,\r\n application: {\r\n ...state.application,\r\n PromoCode: action.promoCode\r\n }\r\n };\r\n }\r\n case fromActions.APPLICATION_ACTION_TYPES.LOAD_APPLICATION_SUCCESS:\r\n case fromActions.APPLICATION_ACTION_TYPES.LOAD_APPLICATION_BY_TOKEN_SUCCESS: {\r\n return {\r\n ...state,\r\n loaded: true,\r\n loading: false,\r\n application: { ...action.application }\r\n };\r\n }\r\n case fromActions.APPLICATION_ACTION_TYPES.LOAD_ACCOUNTS_FAIL: {\r\n return {\r\n ...state,\r\n loading: false,\r\n accounts: [],\r\n };\r\n }\r\n case fromActions.APPLICATION_ACTION_TYPES.LOAD_ACCOUNTS_SUCCESS: {\r\n return {\r\n ...state,\r\n loading: false,\r\n accounts: action.accounts\r\n };\r\n }\r\n case fromActions.APPLICATION_ACTION_TYPES.SET_STATE_SUCCESS: {\r\n const ApplicationState = {\r\n ...state.application.ApplicationState,\r\n stateId: action.state,\r\n PriorApplicationStateId: state.application.stateId\r\n };\r\n const application = state.application;\r\n application.stateId = action.state;\r\n\r\n return {\r\n ...state,\r\n application: {\r\n ...application,\r\n ApplicationState\r\n }\r\n };\r\n }\r\n case fromActions.APPLICATION_ACTION_TYPES.CANCEL_APPLICATION_SUCCESS: {\r\n return {\r\n ...state,\r\n application: { ...emptyApplication },\r\n loaded: false,\r\n loading: false\r\n };\r\n }\r\n case fromActions.APPLICATION_ACTION_TYPES.SET_APPLICATION_APPLICANTS: {\r\n return {\r\n ...state,\r\n application: {\r\n ...state.application,\r\n applicants: action.applicants\r\n }\r\n };\r\n }\r\n case fromActions.APPLICATION_ACTION_TYPES.SET_APPLICANTS_META: {\r\n return {\r\n ...state,\r\n application: {\r\n ...state.application,\r\n Applicants: action.applicants\r\n }\r\n }\r\n }\r\n // TODO: Move all this to Rules reducer\r\n case fromRulesActions.RULES_ACTION_TYPES.RESUME_RULES_SUCCESS:\r\n case fromRulesActions.RULES_ACTION_TYPES.BOARD_IN_MITEK_SUCCESS:\r\n case fromRulesActions.RULES_ACTION_TYPES.VALIDATE_APPLICATION_SUCCESS:\r\n case fromActions.APPLICATION_ACTION_TYPES.UPDATE_LOCAL_APPLICATION_STATE: {\r\n const ApplicationState = {\r\n ...state.application.ApplicationState,\r\n ...action.state,\r\n PriorApplicationStateId: state.application.stateId\r\n };\r\n return {\r\n ...state,\r\n application: {\r\n ...state.application,\r\n stateId: ApplicationState.stateId,\r\n decisionReason: ApplicationState.decisionReason,\r\n decisionStatus: ApplicationState.decisionStatus,\r\n ApplicationState\r\n }\r\n };\r\n }\r\n case fromRulesActions.RULES_ACTION_TYPES.GET_IDA_QUESTIONS_SUCCESS: {\r\n const ApplicationState = {\r\n ...state.application.ApplicationState,\r\n ...action.state,\r\n PriorApplicationStateId: state.application.stateId\r\n };\r\n return {\r\n ...state,\r\n application: { ...state.application, ApplicationState },\r\n idaQuestions: [...action.IdaQuestions]\r\n };\r\n }\r\n case fromRulesActions.RULES_ACTION_TYPES.GET_PENDING_ID_VERIFICATION_APPLICANTS_SUCCESS: {\r\n return {\r\n ...state,\r\n pendingIDVerificationApplicants: [...action.applicants]\r\n };\r\n }\r\n case fromActions.APPLICATION_ACTION_TYPES.GET_CONFIRMATION_NUMBER_SUCCESS: {\r\n return {\r\n ...state,\r\n application: {\r\n ...state.application,\r\n confirmationNumber: action.confirmationNumber\r\n }\r\n }\r\n }\r\n case fromRulesActions.RULES_ACTION_TYPES.SET_CONNECTION_ID: {\r\n return {\r\n ...state,\r\n application: {\r\n ...state.application,\r\n connectionId: action.connectionId\r\n }\r\n }\r\n }\r\n case fromActions.APPLICATION_ACTION_TYPES.SET_VESTING_TYPE_SUCCESS: {\r\n return {\r\n ...state,\r\n application: {\r\n ...state.application,\r\n Applicants: action.applicants,\r\n vestingTypeName: action.vestingTypeName\r\n }\r\n }\r\n }\r\n case fromActions.APPLICATION_ACTION_TYPES.SET_APPLICANTS_META: {\r\n return {\r\n ...state,\r\n application: {\r\n ...state.application,\r\n Applicants: action.applicants\r\n }\r\n }\r\n }\r\n case fromActions.APPLICATION_ACTION_TYPES.SAVE_BENEFICIARIES_SUCCESS:\r\n case fromActions.APPLICATION_ACTION_TYPES.SKIP_BENEFICIARIES_SUCCESS: {\r\n return{\r\n ...state,\r\n application: {\r\n ...state.application,\r\n beneficiariesIinformation: action.beneficiariesInformation\r\n }\r\n }\r\n }\r\n case fromActions.APPLICATION_ACTION_TYPES.SAVE_BENEFICIARIES_CONTINGENT_SUCCESS: {\r\n return{\r\n ...state,\r\n application: {\r\n ...state.application,\r\n beneficiariesContingentIinformation: action.beneficiariesInformation\r\n }\r\n }\r\n }\r\n case fromActions.APPLICATION_ACTION_TYPES.GET_BENEFICIARIES_INFORMATION_SUCCESS:\r\n return{\r\n ...state,\r\n application: {\r\n ...state.application,\r\n beneficiariesIinformation: action.beneficiaries\r\n }\r\n }\r\n case fromActions.APPLICATION_ACTION_TYPES.GET_BENEFICIARIES_CONTINGENT_INFORMATION_SUCCESS:\r\n return{\r\n ...state,\r\n application: {\r\n ...state.application,\r\n beneficiariesContingentIinformation: action.beneficiaries\r\n }\r\n }\r\n case fromActions.APPLICATION_ACTION_TYPES.SAVE_TRUST_CERTIFICATE_SUCCESS: {\r\n return {\r\n ...state,\r\n application: {\r\n ...state.application,\r\n trustCertificateInformation: action.certificate\r\n }\r\n }\r\n }\r\n case fromActions.APPLICATION_ACTION_TYPES.GET_TRUST_CERTIFICATE_INFORMATION_SUCCESS:\r\n return {\r\n ...state,\r\n application: {\r\n ...state.application,\r\n trustCertificateInformation: action.certificate\r\n }\r\n }\r\n case fromActions.APPLICATION_ACTION_TYPES.GET_TRUST_TYPES_SUCCESS: {\r\n return {\r\n ...state,\r\n trustTypes: action.trustTypes\r\n }\r\n }\r\n case fromActions.APPLICATION_ACTION_TYPES.GET_TRUST_TYPES_FAIL: {\r\n return {\r\n ...state,\r\n trustTypes: []\r\n }\r\n }\r\n case fromActions.APPLICATION_ACTION_TYPES.CLEAR_STATE: {\r\n return {\r\n ...initialState\r\n }\r\n }\r\n }\r\n return state;\r\n}\r\n","import { TOKEN_STORAGE_NAME, USER_STORAGE_NAME } from \"app/auth/constants\";\r\nimport { GET_CACHE } from \"app/core/utils\";\r\nimport * as fromActions from \"../actions/auth.action\";\r\nimport { AuthState } from \"../states\";\r\nimport { IOtpChallengeInfo } from \"models/auth/auth.models\";\r\nimport { IUserLead, PhoneLead, PhoneLeadResponse } from \"models\";\r\n\r\n\r\nexport const initialState: AuthState = {\r\n user: null, //GET_CACHE(USER_STORAGE_NAME)\r\n //userProspect: null,\r\n userLead: null,\r\n userLeadResponse: null,\r\n token: null, //GET_CACHE(TOKEN_STORAGE_NAME)\r\n deviceInfo: null,\r\n otpChallengeInfo: null,\r\n phoneNumber: null,\r\n NoOtp: null,\r\n challengeInfo: null,\r\n existingUser: null,\r\n loggedIn: false,\r\n loading: false,\r\n error: \"\",\r\n securityQuestions: null,\r\n isExisting: false,\r\n showRecoverySent: false,\r\n userIdToken: null,\r\n userNameToken: null,\r\n displayQuestion: false,\r\n displayLoginPage: false,\r\n question: {},\r\n stepTitle: \"\",\r\n guid: \"\"\r\n};\r\n\r\nexport function reducer(\r\n state = initialState,\r\n action: fromActions.AuthAction\r\n): AuthState {\r\n switch (action.type) {\r\n case fromActions.USER_ACTION_TYPES.REGISTER_EXISTING_USER_SUCCESS:\r\n case fromActions.USER_ACTION_TYPES.GET_USER_SUCCESS: {\r\n const user = state.user ? { ...state.user, ...action.user } : action.user;\r\n return { ...state, user };\r\n }\r\n case fromActions.USER_ACTION_TYPES.GET_USER_FAIL: {\r\n return { ...state };\r\n }\r\n case fromActions.USER_ACTION_TYPES.LOGIN: {\r\n return { ...state, loading: true };\r\n }\r\n case fromActions.USER_ACTION_TYPES.LOGIN_SUCCESS: {\r\n const UserName = action.username;\r\n const user = { ...state.user, UserName };\r\n return {\r\n ...state,\r\n token: action.token,\r\n loggedIn: true,\r\n error: \"\",\r\n isExisting: action.isExisting,\r\n loading: false,\r\n user\r\n };\r\n }\r\n case fromActions.USER_ACTION_TYPES.REGISTER_EXISTING_USER_FAIL:\r\n case fromActions.USER_ACTION_TYPES.LOGIN_FAIL: {\r\n return {\r\n ...state,\r\n token: null,\r\n loading: false,\r\n error: action.error\r\n };\r\n }\r\n case fromActions.USER_ACTION_TYPES.TOKEN_LOGIN_SUCCESS:\r\n case fromActions.USER_ACTION_TYPES.COOKIE_LOGIN_SUCCESS: {\r\n return {\r\n ...state,\r\n token: action.token,\r\n error: \"\",\r\n loggedIn: true\r\n };\r\n }\r\n case fromActions.USER_ACTION_TYPES.TOKEN_LOGIN_FAIL:\r\n case fromActions.USER_ACTION_TYPES.COOKIE_LOGIN_FAIL: {\r\n return {\r\n ...state,\r\n token: null,\r\n loading: false\r\n };\r\n }\r\n case fromActions.USER_ACTION_TYPES.CREATE_USER_SUCCESS: {\r\n return { ...state };\r\n }\r\n case fromActions.USER_ACTION_TYPES.CREATE_USER_FAIL: {\r\n return { ...state };\r\n }\r\n case fromActions.USER_ACTION_TYPES.REFRESH_TOKEN: {\r\n return { ...state, loading: true };\r\n }\r\n case fromActions.USER_ACTION_TYPES.REFRESH_TOKEN_SUCCESS: {\r\n return { ...state, token: action.token, loading: false };\r\n }\r\n case fromActions.USER_ACTION_TYPES.REFRESH_TOKEN_FAIL: {\r\n return { ...state, token: null, loading: false };\r\n }\r\n case fromActions.USER_ACTION_TYPES.REDIRECT_OTP: {\r\n const otpChallengeInfo: IOtpChallengeInfo = {\r\n authenticationToken: action.challengeInfo.challengeToken,\r\n otp: null\r\n }\r\n return {\r\n ...state,\r\n loading: true,\r\n challengeInfo: action.challengeInfo,\r\n otpChallengeInfo\r\n };\r\n }\r\n case fromActions.USER_ACTION_TYPES.REQUEST_MULTIFACTOR_NoUser_OTP_SUCCESS: {\r\n return {\r\n ...state, loading: false,\r\n NoOtp:action.response.data.data,\r\n phoneNumber:action.response.PhoneNumber\r\n };\r\n }\r\n case fromActions.USER_ACTION_TYPES.REQUEST_MULTIFACTOR_OTP_SUCCESS: {\r\n return {\r\n ...state,\r\n loading: false,\r\n otpChallengeInfo: action.response,\r\n error: \"\"\r\n };\r\n }\r\n case fromActions.USER_ACTION_TYPES.REQUEST_MULTIFACTOR_OTP_FAIL: {\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n }\r\n case fromActions.USER_ACTION_TYPES.VALIDATE_OTP_CODE_SUCCESS: {\r\n return {\r\n ...state,\r\n token: action.token,\r\n error: \"\"\r\n };\r\n }\r\n case fromActions.USER_ACTION_TYPES.VALIDATE_OTP_CODE_FAIL: {\r\n return {\r\n ...state,\r\n error: action.error\r\n };\r\n }\r\n case fromActions.USER_ACTION_TYPES.VALIDATE_EXISTING_CUSTOMER_SUCCESS: {\r\n const user = state.existingUser\r\n ? { ...state.existingUser, ...action.user }\r\n : action.user;\r\n return { ...state, existingUser: user, loading: false };\r\n }\r\n case fromActions.USER_ACTION_TYPES.GET_ENROLLMENT_URL_SUCCESS: {\r\n const user = state.existingUser\r\n ? { ...state.existingUser, ...action.user }\r\n : action.user;\r\n return { ...state, existingUser: user, loading: false };\r\n }\r\n case fromActions.USER_ACTION_TYPES.GET_SECURITY_QUESTIONS_SUCCESS: {\r\n return { ...state, securityQuestions: action.questions };\r\n }\r\n case fromActions.USER_ACTION_TYPES.SAVE_SECURITY_QUESTIONS_FAIL: {\r\n return { ...state, error: action.error };\r\n }\r\n case fromActions.USER_ACTION_TYPES.VALIDATE_EXISTING_CUSTOMER_FAIL: {\r\n const user = state.existingUser\r\n ? { ...state.existingUser, ...action.user }\r\n : action.user;\r\n return { ...state, existingUser: user, loading: false };\r\n }\r\n case fromActions.USER_ACTION_TYPES.CLEAR_ERROR: {\r\n return { ...state, error: \"\" };\r\n }\r\n case fromActions.USER_ACTION_TYPES.FORGOT_PASSWORD_SUCCESS: {\r\n return { ...state, showRecoverySent: true };\r\n }\r\n case fromActions.USER_ACTION_TYPES.FORGOT_PASSWORD_FAIL: {\r\n return { ...state, showRecoverySent: false };\r\n }\r\n case fromActions.USER_ACTION_TYPES.FORGOT_USERNAME_SUCCESS: {\r\n return { ...state, showRecoverySent: true };\r\n }\r\n case fromActions.USER_ACTION_TYPES.FORGOT_USERNAME_FAIL: {\r\n return { ...state, showRecoverySent: false };\r\n }\r\n case fromActions.USER_ACTION_TYPES.SHOW_LOGIN: {\r\n return { ...state, showRecoverySent: !action.show };\r\n }\r\n case fromActions.USER_ACTION_TYPES\r\n .VERIFY_SECURITY_QUESTION_ANSWER_SUCCESS: {\r\n const stepTitle = action.response;\r\n return { ...state, displayQuestion: false, stepTitle, error: \"\" };\r\n }\r\n case fromActions.USER_ACTION_TYPES.GET_RANDOM_SECURITY_QUESTION_SUCCESS: {\r\n const question = action.response[0];\r\n const stepTitle = \"For your protection before resetting your password, please answer one of your security questions.\";\r\n return {\r\n ...state,\r\n error: \"\",\r\n displayQuestion: true,\r\n question,\r\n stepTitle,\r\n displayLoginPage: false\r\n };\r\n }\r\n case fromActions.USER_ACTION_TYPES.GET_RANDOM_SECURITY_QUESTION_FAIL: {\r\n const error = action.error;\r\n return {\r\n ...state,\r\n error,\r\n displayQuestion: false,\r\n displayLoginPage: true\r\n };\r\n }\r\n case fromActions.USER_ACTION_TYPES.VERIFY_SECURITY_QUESTION_ANSWER_FAIL: {\r\n const error = action.error;\r\n return {\r\n ...state,\r\n displayQuestion: true,\r\n error\r\n };\r\n }\r\n case fromActions.USER_ACTION_TYPES.CHANGE_PASSWORD_FAIL:\r\n case fromActions.USER_ACTION_TYPES.VALIDATE_RESET_PASSWORD_FAIL: {\r\n const error = action.error;\r\n return { ...state, error };\r\n }\r\n case fromActions.USER_ACTION_TYPES.VALIDATE_RESET_PASSWORD_SUCCESS: {\r\n const displayQuestion = action.response.userName != null;\r\n const userIdToken = displayQuestion ? action.response.userIdToken : null;\r\n const userNameToken = displayQuestion ? action.response.userNameToken : null;\r\n const UserName = displayQuestion ? action.response.userName : action.response;\r\n const user = { ...state.user, UserName };\r\n\r\n return { ...state, userIdToken, user, userNameToken, displayQuestion };\r\n }\r\n case fromActions.USER_ACTION_TYPES.CREATE_LEAD_SUCCESS: {\r\n let phones: PhoneLead[];\r\n if(action.userLeadResponse.phones && action.userLeadResponse.phones.length > 0){\r\n phones = [\r\n {\r\n Number: action.userLeadResponse.phones[0].number,\r\n PhoneType: action.userLeadResponse.phones[0].phoneType\r\n }\r\n ];\r\n }\r\n\r\n const userLead: IUserLead = {\r\n leadId: action.userLeadResponse.leadId,\r\n FirstName: action.userLeadResponse.firstName,\r\n LastName: action.userLeadResponse.lastName,\r\n MiddleInitial: action.userLeadResponse.middleInitial,\r\n Suffix: action.userLeadResponse.suffix,\r\n DateTime: action.userLeadResponse.dateTime,\r\n SSN: action.userLeadResponse.ssn,\r\n Email: action.userLeadResponse.email,\r\n Phones: phones,\r\n ReceiveTextMessageAlerts: action.userLeadResponse.receiveTextMessageAlerts,\r\n RepCode: action.userLeadResponse.repCode\r\n };\r\n\r\n return { ...state, userLead: userLead, userLeadResponse: action.userLeadResponse };\r\n }\r\n case fromActions.USER_ACTION_TYPES.UPDATE_LEAD_SUCCESS: {\r\n let phones: PhoneLead[];\r\n if(action.userLeadResponse.phones && action.userLeadResponse.phones.length > 0){\r\n phones = [\r\n {\r\n Number: action.userLeadResponse.phones[0].number,\r\n PhoneType: action.userLeadResponse.phones[0].phoneType\r\n }\r\n ];\r\n }\r\n\r\n const userLead: IUserLead = {\r\n leadId: action.userLeadResponse.leadId,\r\n FirstName: action.userLeadResponse.firstName,\r\n LastName: action.userLeadResponse.lastName,\r\n MiddleInitial: action.userLeadResponse.middleInitial,\r\n Suffix: action.userLeadResponse.suffix,\r\n DateTime: action.userLeadResponse.dateTime,\r\n SSN: action.userLeadResponse.ssn,\r\n Email: action.userLeadResponse.email,\r\n Phones: phones,\r\n ReceiveTextMessageAlerts: action.userLeadResponse.receiveTextMessageAlerts,\r\n RepCode: action.userLeadResponse.repCode\r\n };\r\n\r\n return { ...state, userLead: userLead, userLeadResponse: action.userLeadResponse };\r\n }\r\n case fromActions.USER_ACTION_TYPES.CREATE_LEAD_FAIL: {\r\n return { ...state, userLead: null, error: action.error }\r\n }\r\n case fromActions.USER_ACTION_TYPES.SET_GUID: {\r\n return { ...state, guid: action.guid}\r\n }\r\n case fromActions.USER_ACTION_TYPES.CHECK_GUID_VALID_SUCCESS: {\r\n return { ...state, isExisting: action.response,}\r\n }\r\n case fromActions.USER_ACTION_TYPES.CHECK_APP_VALID_SUCCESS: {\r\n return { ...state, isExisting: action.response,}\r\n }\r\n case fromActions.USER_ACTION_TYPES.VERIFY_EXISTING_CUSTOMER_FAIL: {\r\n return { ...state, error: action.error }\r\n }\r\n case fromActions.USER_ACTION_TYPES.CLEAR_ERROR: {\r\n return { ...state, error: \"\" }\r\n }\r\n }\r\n return state;\r\n}\r\n\r\n","import { IBanner } from 'models';\r\nimport { BannerState } from '../states';\r\nimport * as fromActions from '../actions/banner.action';\r\nimport { GET_BRAND_TITLE } from 'app/core/utils';\r\n\r\nconst defaultBanner: IBanner = {\r\n isMain: false,\r\n showIcon: false,\r\n showProducts: false,\r\n subTitle: []\r\n}\r\n\r\nexport const initialState: BannerState = {\r\n pageTitle: GET_BRAND_TITLE(),\r\n isMobile: false,\r\n banner: {\r\n title: '',\r\n headerIcon: '',\r\n ...defaultBanner\r\n },\r\n subBanner: {\r\n show: false,\r\n title: '',\r\n label: ''\r\n },\r\n progress: {\r\n show: false,\r\n value: 0\r\n },\r\n // Applicant Title\r\n showApplicantTitle: false\r\n}\r\n\r\nexport function reducer(\r\n state = initialState,\r\n action: fromActions.BannerAction\r\n): BannerState {\r\n switch(action.type) {\r\n case fromActions.BANNER_ACTION_TYPES.UPDATE_BANNER: {\r\n return {\r\n ...state,\r\n banner: {\r\n ...state.banner,\r\n ...defaultBanner,\r\n ...action.banner\r\n }\r\n };\r\n }\r\n case fromActions.BANNER_ACTION_TYPES.UPDATE_SUB_BANNER: {\r\n return {\r\n ...state,\r\n subBanner: {\r\n show: action.show,\r\n label: action.label,\r\n title: action.title,\r\n }\r\n };\r\n }\r\n case fromActions.BANNER_ACTION_TYPES.UPDATE_PAGE_TITLE: {\r\n return { ...state, pageTitle: action.title };\r\n }\r\n case fromActions.BANNER_ACTION_TYPES.UPDATE_PROGRESS: {\r\n return {\r\n ...state,\r\n progress: {\r\n show: action.show,\r\n value: action.progress\r\n }\r\n };\r\n }\r\n case fromActions.BANNER_ACTION_TYPES.SHOW_APPLICANT_TITLE: {\r\n return {\r\n ...state,\r\n showApplicantTitle: action.show\r\n };\r\n }\r\n }\r\n return state;\r\n}\r\n","import { BrandState } from '../states';\r\nimport * as fromActions from '../actions/brand.action';\r\nimport { BrandEffects } from 'store/effects';\r\n\r\nexport const initialState: BrandState = {\r\n brand: null,\r\n chatSettings: null,\r\n chatBotSettings: null,\r\n loaded: false,\r\n loading: false\r\n}\r\n\r\nexport function reducer(\r\n state = initialState,\r\n action: fromActions.BrandAction\r\n): BrandState {\r\n switch(action.type) {\r\n case fromActions.BRAND_ACTION_TYPES.GET_BRAND: {\r\n return { ...state, loading: true };\r\n }\r\n case fromActions.BRAND_ACTION_TYPES.GET_BRAND_SUCCESS: {\r\n return { ...state,\r\n loaded: true,\r\n loading: false,\r\n brand: action.data\r\n };\r\n }\r\n case fromActions.BRAND_ACTION_TYPES.GET_CHAT_SETTINGS_SUCCESS: {\r\n return { ...state, chatSettings: action.data };\r\n }\r\n case fromActions.BRAND_ACTION_TYPES.GET_BRAND_LOGO_SUCCESS: {\r\n return { ...state, brand: { \r\n ...state.brand,\r\n logo: action.data \r\n } \r\n };\r\n }\r\n case fromActions.BRAND_ACTION_TYPES.GET_CHAT_SETTINGS_FAIL: {\r\n return { ...state, chatSettings: {\r\n BrandName: '',\r\n IsActive: false,\r\n ButtonId: '',\r\n DeploymentId: '',\r\n DeploymentUrl: '',\r\n LoginButtonId: '',\r\n OrgId: '',\r\n Url: ''\r\n } };\r\n }\r\n case fromActions.BRAND_ACTION_TYPES.GET_CHAT_BOT_SETTINGS_SUCCESS: {\r\n var settings = action.data;\r\n\r\n return ({ ...state, \r\n chatBotSettings: {\r\n BrandName: settings[\"brandName\"],\r\n BaseUrl: settings[\"baseUrl\"],\r\n ChannelEndpoint: settings[\"channelEndpoint\"],\r\n Component: settings[\"component\"],\r\n VerifyToken: settings[\"verifyToken\"],\r\n WidgetChatBotUrl: settings[\"widgetChatBotUrl\"]\r\n } \r\n });\r\n }\r\n case fromActions.BRAND_ACTION_TYPES.GET_CHAT_BOT_SETTINGS_FAIL: {\r\n return {\r\n ...state,\r\n chatBotSettings: {\r\n BrandName: '',\r\n BaseUrl: '',\r\n ChannelEndpoint: '',\r\n Component: '',\r\n VerifyToken: '',\r\n WidgetChatBotUrl: ''\r\n }\r\n };\r\n }\r\n }\r\n return state;\r\n}\r\n","import { BrokerState } from \"store/states/broker.state\";\r\nimport { createReducer, on, Action } from \"@ngrx/store\";\r\nimport * as fromActions from '../actions/broker.actions';\r\n\r\nexport const initialState: BrokerState = {\r\n broker: null\r\n}\r\n\r\nexport const brokerReducer = createReducer(\r\n initialState,\r\n on(\r\n fromActions.getBrokerInformation, state => ({ ...state, broker: null })\r\n ),\r\n on(\r\n fromActions.getBrokerInformationSuccess, (state, { broker }) => ({ ...state, broker: broker })\r\n ),\r\n on(\r\n fromActions.getBrokerInformationFail, state => ({ ...state, broker: null })\r\n )\r\n)\r\n\r\nexport function reducer(state: BrokerState | undefined, action: Action){\r\n return brokerReducer(state, action);\r\n}\r\n","import { CatalogsState } from '../states';\r\nimport * as fromActions from '../actions/catalogs.action';\r\n\r\nconst initialCatalogState = {\r\n loaded: false,\r\n loading: false,\r\n data: []\r\n}\r\n\r\nexport const initialState: CatalogsState = {\r\n occupations: { ...initialCatalogState },\r\n companyTitles: { ...initialCatalogState },\r\n affiliations: { ...initialCatalogState },\r\n states: { ...initialCatalogState },\r\n countries: { ...initialCatalogState },\r\n annualSales: { ...initialCatalogState },\r\n financialInformation: null,\r\n relationShips: { ...initialCatalogState }\r\n}\r\n\r\nexport function reducer(\r\n state = initialState,\r\n action: fromActions.CatalogsAction\r\n): CatalogsState {\r\n switch(action.type) {\r\n // States\r\n case fromActions.CATALOGS_ACTION_TYPES.GET_STATES: {\r\n return {\r\n ...state,\r\n states: {\r\n ...state.states,\r\n loading: true\r\n }\r\n };\r\n }\r\n case fromActions.CATALOGS_ACTION_TYPES.GET_STATES_SUCCESS: {\r\n return {\r\n ...state,\r\n states: {\r\n loaded: true,\r\n loading: false,\r\n data: action.data\r\n }\r\n };\r\n }\r\n // Countries\r\n case fromActions.CATALOGS_ACTION_TYPES.GET_COUNTRIES: {\r\n return {\r\n ...state,\r\n countries: {\r\n ...state.countries,\r\n loading: true\r\n }\r\n };\r\n }\r\n case fromActions.CATALOGS_ACTION_TYPES.GET_COUNTRIES_SUCCESS: {\r\n return {\r\n ...state,\r\n countries: {\r\n loaded: true,\r\n loading: false,\r\n data: action.data\r\n }\r\n };\r\n }\r\n // Occupations\r\n case fromActions.CATALOGS_ACTION_TYPES.GET_OCUPATIONS: {\r\n return {\r\n ...state,\r\n occupations: {\r\n ...state.occupations,\r\n loading: true\r\n }\r\n };\r\n }\r\n case fromActions.CATALOGS_ACTION_TYPES.GET_OCUPATIONS_SUCCESS: {\r\n return {\r\n ...state,\r\n occupations: {\r\n loaded: true,\r\n loading: false,\r\n data: action.data\r\n }\r\n };\r\n }\r\n case fromActions.CATALOGS_ACTION_TYPES.GET_AFFILIATIONS: {\r\n return {\r\n ...state,\r\n affiliations: {\r\n ...state.affiliations,\r\n loading: true\r\n }\r\n };\r\n }\r\n case fromActions.CATALOGS_ACTION_TYPES.GET_AFFILIATIONS_SUCCESS: {\r\n return {\r\n ...state,\r\n affiliations: {\r\n loaded: true,\r\n loading: false,\r\n data: action.data\r\n }\r\n };\r\n }\r\n case fromActions.CATALOGS_ACTION_TYPES.GET_COMPANY_TITLES: {\r\n return {\r\n ...state,\r\n companyTitles: {\r\n ...state.companyTitles,\r\n loading: true\r\n }\r\n };\r\n }\r\n case fromActions.CATALOGS_ACTION_TYPES.GET_COMPANY_TITLES_SUCCESS: {\r\n return {\r\n ...state,\r\n companyTitles: {\r\n loaded: true,\r\n loading: false,\r\n data: action.data\r\n }\r\n };\r\n }\r\n // Annual Sales\r\n case fromActions.CATALOGS_ACTION_TYPES.GET_ANNUAL_SALES: {\r\n return {\r\n ...state,\r\n annualSales: {\r\n ...state.annualSales,\r\n loading: true\r\n }\r\n };\r\n }\r\n case fromActions.CATALOGS_ACTION_TYPES.GET_ANNUAL_SALES_SUCCESS: {\r\n return {\r\n ...state,\r\n annualSales: {\r\n loaded: true,\r\n loading: false,\r\n data: action.data\r\n }\r\n };\r\n }\r\n case fromActions.CATALOGS_ACTION_TYPES.GET_FINANCIAL_CATALOG_INFORMATION_SUCCESS: {\r\n return { ...state, financialInformation: action.data }\r\n }\r\n case fromActions.CATALOGS_ACTION_TYPES.GET_BENEFICIARIES_CATALOG_SUCCESS: {\r\n return { \r\n ...state, \r\n relationShips:{\r\n loaded: true,\r\n loading: false,\r\n data: action.data\r\n } \r\n }\r\n }\r\n }\r\n return state;\r\n}\r\n","import { DisclosureState } from 'store/states/disclosure.state';\r\nimport * as fromActions from '../actions/disclosures.action';\r\n\r\nexport const initialState: DisclosureState = {\r\n electronicDisclosure: null,\r\n initialDisclosures: null, \r\n detailDisclosures: null,\r\n disclosuresCatalog: null,\r\n axosClearingDisclosures: null,\r\n ecmDisclosures: null,\r\n ecmDisclosureDocuments: null,\r\n cashSweepDisclosures: null\r\n}\r\n\r\nexport function reducer(\r\n state = initialState,\r\n action: fromActions.DisclosuresAction\r\n): DisclosureState {\r\n switch (action.type) {\r\n case fromActions.DISCLOSURES_ACTION_TYPES.GET_DETAIL_DISCLOSURES_SUCCESS: {\r\n return { ...state, detailDisclosures: action.disclosures };\r\n }\r\n case fromActions.DISCLOSURES_ACTION_TYPES.GET_DISCLOSURES_CATALOG_SUCCESS: {\r\n return { ...state, disclosuresCatalog: action.disclosures };\r\n }\r\n case fromActions.DISCLOSURES_ACTION_TYPES.GET_AXOS_CLEARING_DISCLOSURES_SUCCESS: {\r\n return { ...state, axosClearingDisclosures: action.disclosures };\r\n }\r\n case fromActions.DISCLOSURES_ACTION_TYPES.GET_ELECTRONIC_DISCLOSURE_SUCCESS: {\r\n return { ...state, electronicDisclosure: action.disclosure };\r\n }\r\n case fromActions.DISCLOSURES_ACTION_TYPES.GET_INITIAL_DISCLOSURES_SUCCESS: {\r\n return { ...state, initialDisclosures: action.disclosures };\r\n }\r\n case fromActions.DISCLOSURES_ACTION_TYPES.UPDATE_ELECTRONIC_DISCLOSURE: {\r\n const electronicDisclosure = state.electronicDisclosure;\r\n electronicDisclosure.accepted = action.accepted;\r\n return { ...state, electronicDisclosure };\r\n }\r\n case fromActions.DISCLOSURES_ACTION_TYPES.GET_ECM_DISCLOSURES_SUCCESS: {\r\n return { ...state, ecmDisclosures: action.disclosures };\r\n }\r\n case fromActions.DISCLOSURES_ACTION_TYPES.GET_AXOS_INVEST_DISCLOSURE_SUCCESS: {\r\n return { ...state, electronicDisclosure: action.disclosure };\r\n }\r\n case fromActions.DISCLOSURES_ACTION_TYPES.GET_TAXPAYER_DISCLOSURE_SUCCESS: {\r\n const initialDisclosures = state.initialDisclosures;\r\n const currentDisclosure = initialDisclosures.find(x => x.name == action.disclosure.name);\r\n currentDisclosure.accepted = action.disclosure.accepted;\r\n return { ...state, initialDisclosures };\r\n }\r\n case fromActions.DISCLOSURES_ACTION_TYPES.GET_ECM_DISCLOSURE_DOCUMENT_SUCCESS:\r\n case fromActions.DISCLOSURES_ACTION_TYPES.GET_ECM_DISCLOSURE_DOCUMENT_BY_DISCLOSURE_SUCCESS: {\r\n const documents = state.ecmDisclosureDocuments ? state.ecmDisclosureDocuments : [];\r\n const found = documents.find(x => x.disclosureName == action.disclosure.disclosureName);\r\n\r\n if (!found) {\r\n documents.push(action.disclosure);\r\n }\r\n\r\n return { ...state, ecmDisclosureDocuments: documents };\r\n }\r\n case fromActions.DISCLOSURES_ACTION_TYPES.UPDATE_INITIAL_DISCLOSURE: {\r\n if (state.initialDisclosures) {\r\n const initialDisclosures = state.initialDisclosures;\r\n\r\n const currentDisclosure = initialDisclosures.find(x => x.name == action.name);\r\n currentDisclosure.accepted = action.accepted;\r\n\r\n return { ...state, initialDisclosures };\r\n }\r\n\r\n return state;\r\n }\r\n case fromActions.DISCLOSURES_ACTION_TYPES.SET_CASH_SWEEP_DISCLOSURES: {\r\n return { ...state, cashSweepDisclosures: action.disclosure };\r\n }\r\n case fromActions.DISCLOSURES_ACTION_TYPES.CLEAR_STATE: {\r\n return { ...initialState };\r\n }\r\n }\r\n\r\n return state;\r\n};\r\n","import { OrganizationState } from '../states';\r\nimport * as fromActions from '../actions/features.action';\r\nimport { FeatureFlag } from 'models';\r\nimport { FeatureFlagsState } from 'store/states/feature-flags.state';\r\nimport { FeatureFlagsEffects } from 'store/effects/feature-flags.effects';\r\n\r\nexport const initialState: FeatureFlagsState = {\r\n featureFlags : null\r\n}\r\n\r\nexport function reducer(\r\n state = initialState,\r\n action: fromActions.FeaturesAction\r\n ): FeatureFlagsState {\r\n switch(action.type) {\r\n case fromActions.FEATURES_ACTION_TYPES.GET_FEATURE_STATUS: {\r\n return { ...state }\r\n }\r\n case fromActions.FEATURES_ACTION_TYPES.GET_FEATURE_STATUS_SUCCESS: {\r\n const featureFlags = state && state.featureFlags ? state.featureFlags.filter(x => x.name != action.featureName) : [];\r\n return { \r\n ...state,\r\n featureFlags: [ ...featureFlags, { name: action.featureName, isEnabled: action.isEnabled} ]\r\n }\r\n }\r\n case fromActions.FEATURES_ACTION_TYPES.GET_FEATURE_STATUS_FAIL: {\r\n return { \r\n ...state, \r\n featureFlags: [ ...state.featureFlags ]\r\n } \r\n } \r\n }\r\n return state;\r\n}","import { ActionReducerMap } from '@ngrx/store';\r\n\r\nimport { EnrollmentState } from '../states';\r\n// Reducers\r\nimport * as fromRouter from '@ngrx/router-store';\r\nimport * as fromAuth from './auth.reducer';\r\nimport * as fromApplicants from './applicants.reducer';\r\nimport * as fromApplication from './application.reducer';\r\nimport * as fromBrand from './brand.reducer';\r\nimport * as fromBanner from './banner.reducer';\r\nimport * as fromCatalogs from './catalogs.reducer';\r\nimport * as fromProducts from './products.reducer';\r\nimport * as fromLayout from './layout.reducer';\r\nimport * as fromTrading from './trading.reducer';\r\nimport * as fromDisclosures from './disclosure.reducer';\r\nimport * as fromOrganization from './organization.reducer';\r\nimport * as fromLanding from './landing.reducer';\r\nimport * as fromWorkflows from '../workflows';\r\nimport * as fromProxy from './proxy.reducer';\r\nimport * as fromBroker from './broker.reducer';\r\nimport * as fromWhiteLabel from './white-label.reducer';\r\nimport * as fromFeatureFlags from './features.reducer';\r\n\r\nexport const reducers: ActionReducerMap = {\r\n applicants: fromApplicants.reducer,\r\n application: fromApplication.reducer,\r\n auth: fromAuth.reducer,\r\n brand: fromBrand.reducer,\r\n banner: fromBanner.reducer,\r\n catalogs: fromCatalogs.reducer,\r\n disclosures: fromDisclosures.reducer,\r\n products: fromProducts.reducer,\r\n layout: fromLayout.reducer,\r\n router: fromRouter.routerReducer,\r\n trading: fromTrading.reducer,\r\n organization: fromOrganization.reducer,\r\n landing: fromLanding.reducer,\r\n EnrollmentWorkflows: fromWorkflows.reducer,\r\n proxy: fromProxy.reducer,\r\n broker: fromBroker.reducer,\r\n whiteLabel: fromWhiteLabel.reducer,\r\n featureFlags: fromFeatureFlags.reducer\r\n}\r\n","import { createReducer, on } from '@ngrx/store';\r\nimport { LandingState } from '../states';\r\nimport * as fromActions from '../actions/landing.action';\r\n\r\nexport const reducer = createReducer({\r\n isExisting: false\r\n },\r\n on(fromActions.SetLandingIsExistingAction, (state, { isExisting }) => ({\r\n ...state,\r\n isExisting,\r\n })),\r\n);","import { LayoutState } from '../states';\r\nimport * as fromActions from '../actions/layout.action';\r\n\r\nexport const initialState: LayoutState = {\r\n isMobile: false\r\n}\r\n\r\nexport function reducer(\r\n state = initialState,\r\n action: fromActions.LayoutAction\r\n): LayoutState{\r\n switch(action.type){\r\n case fromActions.LAYOUT_ACTION_TYPES.SET_MOBILE_LAYOUT: {\r\n return { ...state };\r\n }\r\n case fromActions.LAYOUT_ACTION_TYPES.SET_MOBILE_LAYOUT_SUCCESS: {\r\n return { ...state, isMobile: action.isMobile }\r\n }\r\n }\r\n return state;\r\n}\r\n","import { OrganizationState } from '../states';\r\nimport * as fromActions from '../actions/organization.action';\r\n\r\nexport const initialState: OrganizationState = {\r\n organization : null\r\n}\r\n\r\nexport function reducer(\r\n state = initialState,\r\n action: fromActions.OrganizationAction\r\n ): OrganizationState {\r\n switch(action.type) {\r\n case fromActions.ORGANIZATION_ACTION_TYPES.GET_ORGANIZATION: {\r\n return { ...state };\r\n }\r\n case fromActions.ORGANIZATION_ACTION_TYPES.GET_ORGANIZATION_SUCCESS: {\r\n return { ...state,\r\n organization: action.data\r\n };\r\n }\r\n case fromActions.ORGANIZATION_ACTION_TYPES.GET_ORGANIZATION_FAIL: {\r\n return { ...state, \r\n organization: {\r\n organizationId: '',\r\n name: '',\r\n displayName: '',\r\n email: '',\r\n phone: '',\r\n settings: null,\r\n url: '',\r\n isWhiteLabel: false\r\n }}; \r\n } \r\n }\r\n return state;\r\n }\r\n","import { GET_CACHE, SET_CACHE } from 'app/core/utils';\r\nimport {\r\n SELECTED_PRODUCTS_STORAGE_NAME,\r\n SELECTED_VESTING_TYPE_STORAGE_NAME,\r\n ADVISOR_ID_STORAGE_NAME\r\n} from 'app/products/constants';\r\n\r\nimport { ProductsState } from '../states';\r\nimport * as fromActions from '../actions/products.action';\r\n\r\nexport const initialState: ProductsState = {\r\n marketingProductsValidated: false,\r\n marketingSelectedProducts: GET_CACHE(SELECTED_PRODUCTS_STORAGE_NAME) || [],\r\n marketingSelectedVestingType: GET_CACHE(SELECTED_VESTING_TYPE_STORAGE_NAME),\r\n marketingAdvisorId: GET_CACHE(ADVISOR_ID_STORAGE_NAME),\r\n selectedProducts: [],\r\n vestingTypes: [],\r\n productsSettings: {\r\n directDeposit: false,\r\n isVestingEnabled: false\r\n },\r\n proxyProducts: [],\r\n proxySelectedProducts: []\r\n}\r\n\r\nexport function reducer(\r\n state = initialState,\r\n action: fromActions.ProductsAction\r\n): ProductsState {\r\n switch(action.type) {\r\n case fromActions.PRODUCTS_ACTION_TYPES.GET_VESTINGS_SUCCESS: {\r\n return { ...state, vestingTypes: action.vestings };\r\n }\r\n case fromActions.PRODUCTS_ACTION_TYPES.GET_SUCCESS: {\r\n return {\r\n ...state,\r\n selectedProducts: action.products\r\n };\r\n }\r\n case fromActions.PRODUCTS_ACTION_TYPES.SET_PRODUCT_SELECTION: {\r\n SET_CACHE(action.vestingType, SELECTED_VESTING_TYPE_STORAGE_NAME);\r\n SET_CACHE(action.advisorId, ADVISOR_ID_STORAGE_NAME);\r\n return {\r\n ...state,\r\n marketingSelectedVestingType: action.vestingType,\r\n marketingAdvisorId: action.advisorId\r\n };\r\n }\r\n case fromActions.PRODUCTS_ACTION_TYPES.SET_PRODUCT_SELECTION_FAIL:\r\n case fromActions.PRODUCTS_ACTION_TYPES.SET_PRODUCT_SELECTION_SUCCESS: {\r\n SET_CACHE(action.products, SELECTED_PRODUCTS_STORAGE_NAME);\r\n return {\r\n ...state,\r\n marketingSelectedProducts: action.products,\r\n marketingProductsValidated: true\r\n };\r\n }\r\n case fromActions.PRODUCTS_ACTION_TYPES.UPDATE_PRODUCT_SELECTION_SUCCESS: {\r\n SET_CACHE(action.products, SELECTED_PRODUCTS_STORAGE_NAME);\r\n return{\r\n ...state,\r\n marketingSelectedProducts: action.products,\r\n marketingProductsValidated: true\r\n }\r\n }\r\n case fromActions.PRODUCTS_ACTION_TYPES.SET_IRA_FLAG: {\r\n return {\r\n ...state,\r\n IRAFlag: action.isIRA\r\n }\r\n }\r\n case fromActions.PRODUCTS_ACTION_TYPES.SET_PROXY_PRODUCT_SUCCESS: {\r\n return {\r\n ...state,\r\n proxySelectedProducts: action.products\r\n }\r\n }\r\n case fromActions.PRODUCTS_ACTION_TYPES.GET_PROXY_PRODUCTS_SUCCESS: {\r\n return {\r\n ...state,\r\n proxyProducts: action.products\r\n }\r\n }\r\n case fromActions.PRODUCTS_ACTION_TYPES.GET_PRODUCTS_BY_ORGANIZATION_SUCCESS: {\r\n return {\r\n ...state,\r\n organizationProducts: action.products\r\n }\r\n }\r\n case fromActions.PRODUCTS_ACTION_TYPES.CLEAR_STATE: {\r\n return {\r\n ...initialState\r\n }\r\n }\r\n /*\r\n case fromActions.APPLICATION_ACTION_TYPES.SET_VESTING_TYPE_SUCCESS: {\r\n const VestingType = { Id: action.vestingType, Name: '' };\r\n return {\r\n ...state,\r\n application: { ...state.application, VestingType: VestingType }\r\n };\r\n }\r\n */\r\n }\r\n return state;\r\n}\r\n","import { ProxyState } from \"store/states/proxy.state\";\r\nimport { createReducer, on, Action } from \"@ngrx/store\";\r\nimport * as fromActions from '../actions/proxy.actions';\r\n\r\nexport const initialState: ProxyState = {\r\n customerSelected: null,\r\n customers: [],\r\n trustedContact: null,\r\n repCodes: [],\r\n selectedRepCode: null, \r\n}\r\n\r\nexport const proxyReducer = createReducer(\r\n initialState,\r\n on(\r\n fromActions.setCustomerSuccess, (state, { customer }) => ({ ...state, customerSelected: customer })\r\n ),\r\n on(\r\n fromActions.clearCustomer, state => ({ ...state, customerSelected: null })\r\n ),\r\n on(\r\n fromActions.searchCustomersSuccess, (state, { customers }) => ({ ...state, customers: customers })\r\n ),\r\n on(\r\n fromActions.getCustomersSuccess, (state, { customers }) => ({ ...state, customers: customers })\r\n ),\r\n on(\r\n fromActions.searchCustomersFail,\r\n fromActions.getCustomersFail,\r\n fromActions.clearCustomers,\r\n state => ({ ...state, customers: [] })\r\n ),\r\n on(\r\n fromActions.saveContactSucces, (state, { contact }) => ({ ...state, trustedContact: contact })\r\n ),\r\n on(\r\n fromActions.getRepCodesSuccess, (state, { repCodes }) => ({ ...state, repCodes: repCodes })\r\n ),\r\n on(\r\n fromActions.getRepCodesFail, state => ({ ...state, repCodes: [] })\r\n ),\r\n on(\r\n fromActions.setRepCode, (state, { repCode }) => ({ ...state, selectedRepCode: repCode })\r\n ),\r\n on(\r\n fromActions.clearProxyState, () => ({ ...initialState })\r\n ),\r\n on(\r\n fromActions.setProxyDeclinedTrustedSelection, \r\n (state, { declinedTrustedFlag }) => ({...state, declinedTrustedContact: declinedTrustedFlag, trustedContact: declinedTrustedFlag ? null : state.trustedContact})\r\n ),\r\n)\r\n\r\nexport function reducer(state: ProxyState | undefined, action: Action){\r\n return proxyReducer(state, action);\r\n}","import { TradingState } from \"store/states/trading.state\";\r\nimport * as fromActions from '../actions/trading.action';\r\nimport { createReducer, on, Action } from \"@ngrx/store\";\r\n\r\nexport const initialState: TradingState = {\r\n accountFeature: null,\r\n financialInformation: null,\r\n features: [],\r\n personalInformation: [],\r\n investmentProfile: null,\r\n investmentObjetives: null,\r\n skipVerification: false\r\n}\r\n\r\nconst tradingReducer = createReducer(\r\n initialState,\r\n on(fromActions.setAccountFeatureSuccess, (state, { feature }) => {\r\n const newFeature = feature;\r\n newFeature.TradingFeatures = newFeature.TradingFeatures || [];\r\n return {...state, accountFeature: feature}\r\n }),\r\n on(fromActions.setPersonalInformationSuccess, (state, { personalInformation }) => ({\r\n ...state,\r\n personalInformation: [\r\n ...state.personalInformation.filter(information => information.ApplicantId != personalInformation.ApplicantId),\r\n personalInformation\r\n ]\r\n })),\r\n on(fromActions.saveInvestmentProfileSuccess, (state, { investmentProfile }) => ({\r\n ...state,\r\n investmentProfile: investmentProfile\r\n })),\r\n on(fromActions.getInvestmentObjetivesActionSuccess, (state, { objetives }) => ({\r\n ...state,\r\n investmentObjetives: objetives\r\n })),\r\n on(fromActions.getInvestmentObjetivesActionFail, state => ({\r\n ...state,\r\n investmentObjetives: null\r\n })),\r\n on(fromActions.getAccountFeatureSuccess, (state, { accountFeature }) => ({\r\n ...state,\r\n accountFeature: accountFeature\r\n })),\r\n on(fromActions.getFeaturesSuccess, (state, { features }) => ({\r\n ...state,\r\n features: features\r\n })),\r\n // on(fromActions.getAllPersonalInformationSuccess, (state, { person: information }) => ({\r\n // ...state,\r\n // personalInformation: information\r\n // })),\r\n on(fromActions.saveFinancialInformationSuccess, (state, { information }) => ({\r\n ...state,\r\n financialInformation: { ...information }\r\n })),\r\n on(fromActions.getFinancialInformationSuccess, (state, { information }) => ({\r\n ...state,\r\n financialInformation: information\r\n })),\r\n on(fromActions.getInvestmentProfileSuccess, (state, { profile }) => ({\r\n ...state,\r\n investmentProfile: profile\r\n })),\r\n on(fromActions.setSkipVerificationSuccess, (state, { desicion }) => ({\r\n ...state,\r\n skipVerification: desicion\r\n })),\r\n on(fromActions.clearTradingState, () => ({\r\n ...initialState\r\n }))\r\n);\r\n\r\nexport function reducer(state: TradingState | undefined, action: Action) {\r\n return tradingReducer(state, action);\r\n}\r\n","import { Action, createReducer, on } from \"@ngrx/store\";\r\nimport { WhiteLabelState } from \"store/states/white-label.state\";\r\nimport * as fromActions from '../actions/white-label.actions';\r\n\r\nexport const initialState: WhiteLabelState = {\r\n optionLevels: [],\r\n optionLevel: null,\r\n trustedContact: null,\r\n declinedTrustedContact: false\r\n};\r\n\r\nexport const whiteLabelReducer = createReducer(\r\n initialState,\r\n on(\r\n fromActions.getOptionLevelsSuccess, (state, { optionLevels }) => ({...state, optionLevels: optionLevels })\r\n ),\r\n on(\r\n fromActions.getOptionLevelsFail, (state) => ({...state, optionLevels: [] })\r\n ),\r\n on(\r\n fromActions.setOptionLevelSuccess,\r\n fromActions.getSelectedOptionLevelSucces, \r\n (state, { optionLevel }) => ({...state, optionLevel: optionLevel })\r\n ),\r\n on(\r\n fromActions.setOptionLevelFail, (state) => ({...state, optionLevel: null })\r\n ),\r\n on(\r\n fromActions.setTrustedContactSuccess, (state, { trustedContact }) => ({...state, trustedContact: trustedContact})\r\n ),\r\n on(\r\n fromActions.setTrustedContactFail, (state) => ({...state, trustedContact: null})\r\n ),\r\n on(\r\n fromActions.setDeclinedTrustedSelection, \r\n (state, { declinedTrusted }) => ({...state, declinedTrustedContact: declinedTrusted})\r\n ),\r\n on(\r\n fromActions.clearWhiteLabelState, () => ({...initialState})\r\n )\r\n);\r\n\r\nexport function reducer(state: WhiteLabelState | undefined, action: Action){\r\n return whiteLabelReducer(state, action);\r\n}","import { RouterStateSnapshot } from '@angular/router';\r\nimport { RouterStateSerializer } from '@ngrx/router-store';\r\nimport { RouterStateUrl } from './states';\r\n\r\nexport class EnrollmentSerializer implements RouterStateSerializer {\r\n serialize(routerState: RouterStateSnapshot) {\r\n let route = routerState.root;\r\n while(route.firstChild) {\r\n route = route.firstChild;\r\n }\r\n const { url, root: { queryParams } } = routerState;\r\n const { params, data } = route;\r\n\r\n return { url, data, params, queryParams }\r\n }\r\n}\r\n","import { createSelector } from '@ngrx/store';\r\n\r\nimport { Applicant } from 'models';\r\nimport { ADDRESS_TYPE_NAME } from 'models/enums';\r\n// Selectors\r\nimport { getApplicants, getCurrentApplicant, getPrimaryApplicant } from './applicants.selectors';\r\n// Core\r\nimport { GET_ADDRESS_BY_TYPE, GET_RECOMMEND_ADDRESS_BY_TYPE } from 'app/core/utils';\r\n\r\nexport const getCurrentApplicantAddress = (addressType: ADDRESS_TYPE_NAME) => {\r\n return createSelector(\r\n getCurrentApplicant,\r\n (applicant: Applicant) => GET_ADDRESS_BY_TYPE(applicant, addressType)\r\n );\r\n}\r\n\r\nexport const getRecommendAddress = (addressType: ADDRESS_TYPE_NAME) => {\r\n return createSelector(\r\n getCurrentApplicant,\r\n (applicant: Applicant) => GET_ADDRESS_BY_TYPE(applicant, addressType)\r\n );\r\n}\r\n\r\nexport const selectAddressInfoes = createSelector(\r\n getCurrentApplicant,\r\n (applicant: Applicant) => applicant.addresses\r\n)\r\nexport const selectRecommendAddressInfoes = createSelector(\r\n getCurrentApplicant,\r\n (applicant: Applicant) => applicant.recommend\r\n)\r\n\r\nexport const getCurrentApplicantHomeAddress = createSelector(\r\n getCurrentApplicant,\r\n (applicant: Applicant) => applicant.HomeAddressInfo\r\n);\r\n\r\nexport const getCurrentApplicantMailingAddress = createSelector(\r\n getCurrentApplicant,\r\n (applicant: Applicant) => applicant.MailingAddressInfo\r\n);\r\n\r\nexport const getCurrentApplicantIDAddress = createSelector(\r\n getCurrentApplicant,\r\n (applicant: Applicant) => applicant.IdentificationAddressInfo\r\n);\r\n\r\nexport const getPrimaryApplicantHomeAddress = createSelector(\r\n getPrimaryApplicant,\r\n (applicant: Applicant) => applicant.HomeAddressInfo\r\n);\r\n\r\nexport const getPrimaryApplicantMailingAddress = createSelector(\r\n getPrimaryApplicant,\r\n (applicant: Applicant) => applicant.MailingAddressInfo\r\n);\r\n\r\nexport const getPrimaryApplicantIDAddress = createSelector(\r\n getPrimaryApplicant,\r\n (applicant: Applicant) => applicant.IdentificationAddressInfo\r\n);\r\n","import {\r\n createSelector,\r\n createFeatureSelector\r\n} from '@ngrx/store';\r\n// Models\r\nimport { APPLICANT_TYPE, VESTING_TYPE_ID, NAVIGATION_DIRECTION, BRAND_ID, SOURCE_TYPES, APPLICANT_TYPE_TO_NAME, APPLICANT_TYPE_NAME } from 'models/enums';\r\n// Utils\r\nimport { Applicant, IApplicantMetadata, IApplication } from 'models';\r\nimport { GET_APPLICANT_TITLE, GET_APPLICANT_POSSESSIVE } from 'app/core/utils';\r\n\r\nimport { ApplicantsState } from '../states';\r\nimport { FEATURE_NAMES } from '../constants';\r\n\r\nimport { getApplicantsMetadata, getApplication, getApplicationVestingTypeId } from './application.selector';\r\nimport { getDmdEnabled } from './brand.selectors';\r\nimport { Person } from 'models/trading/person.model';\r\n\r\nexport const getApplicantsState = createFeatureSelector(FEATURE_NAMES.Applicants);\r\n\r\nexport const getApplicantsLoading = createSelector(\r\n getApplicantsState, (state: ApplicantsState) => state.loading\r\n);\r\n\r\nexport const getApplicants = createSelector(\r\n getApplicantsState, (state: ApplicantsState) => state.applicants\r\n);\r\n\r\n// #region Applicant Types\r\nexport function getApplicantByType(type: APPLICANT_TYPE_NAME) {\r\n return createSelector(\r\n getApplicants, applicants => applicants.find(applicant => applicant.type == type)\r\n );\r\n}\r\n\r\nexport const getPrimaryApplicant = getApplicantByType(APPLICANT_TYPE_NAME.Primary);\r\n\r\nexport const getJointApplicant = getApplicantByType(APPLICANT_TYPE_NAME.Joint);\r\n\r\nexport const getTeenApplicant = getApplicantByType(APPLICANT_TYPE_NAME.Teen);\r\n\r\nexport const getMinorApplicant = getApplicantByType(APPLICANT_TYPE_NAME.Minor);\r\n\r\nexport const getTrustApplicant = getApplicantByType(APPLICANT_TYPE_NAME.Trust);\r\n\r\nexport const getBusinessApplicant = getApplicantByType(APPLICANT_TYPE_NAME.Business);\r\n// #endregion\r\n\r\nexport const getApplicantsLoaded = createSelector(\r\n getApplicantsState,\r\n (state: ApplicantsState) => state.loaded\r\n);\r\n\r\n// #region Current Applicant\r\nexport const getCurrentApplicantType = createSelector(\r\n getApplicantsState,\r\n (state: ApplicantsState) => state.currentApplicantType\r\n);\r\n\r\n// export const getApplicantId = createSelector(\r\n// getApplication,\r\n// (state: ApplicantsState) => state.\r\n// );\r\n\r\nexport const getNumberOfApplicants = createSelector(\r\ngetApplicantsState,\r\n(state: ApplicantsState) => state.applicants.length\r\n);\r\n\r\nexport const getCurrentApplicantOrder = createSelector(\r\ngetApplicantsState,\r\ngetNumberOfApplicants,\r\n(state: ApplicantsState, nApplicants: number) => {\r\n // TODO: Add Busines logic\r\n switch(state.currentApplicantType) {\r\n case APPLICANT_TYPE_NAME.Primary:\r\n return 0;\r\n case APPLICANT_TYPE_NAME.Joint:\r\n case APPLICANT_TYPE_NAME.Minor:\r\n case APPLICANT_TYPE_NAME.Teen:\r\n return 1;\r\n case APPLICANT_TYPE_NAME.Trust:\r\n return nApplicants - 1;\r\n }\r\n}\r\n);\r\n\r\nexport const getCurrentApplicant = createSelector(\r\ngetApplicants,\r\ngetCurrentApplicantType,\r\n(applicants: Applicant[], applicantType: APPLICANT_TYPE_NAME) => {\r\n return applicants.find(applicant => applicant.type.toLowerCase() == applicantType)\r\n}\r\n);\r\n\r\nexport const getCurrentApplicantFullName = createSelector(\r\ngetCurrentApplicant,\r\n(applicant: Applicant) => applicant ? applicant.FirstName + ' ' + applicant.LastName : null\r\n);\r\n\r\nexport const getCurrentApplicantId = createSelector(\r\n getCurrentApplicant, (applicant: Applicant) => applicant ? applicant.applicantId : null\r\n)\r\n\r\nexport const getCurrentApplicantExisting = createSelector(\r\n getCurrentApplicant, (applicant: Applicant) => applicant ? applicant.isExisting : null\r\n)\r\n\r\nexport const selectPersonalInformation = createSelector(\r\ngetCurrentApplicant,\r\n(applicant: Applicant) => applicant ? applicant.person : null\r\n);\r\n\r\nexport const selectCurrentApplicantDOB = createSelector(\r\nselectPersonalInformation,\r\n(person: Person) => person ? person.birthDate : null\r\n);\r\n\r\n// TODO: Check why Is not taking latest value\r\n/*\r\nexport const getCurrentApplicantIdentificationInfo = createSelector(\r\n getCurrentApplicant, (applicant: Applicant) => applicant ? applicant.IdentificationInfo : null\r\n)\r\n*/\r\n\r\nexport function getNextPrevApplicantByType(direction: NAVIGATION_DIRECTION) {\r\n return createSelector(\r\n getCurrentApplicant,\r\n getApplicantsMetadata,\r\n (currentApplicant: Applicant, applicants: IApplicantMetadata[]) => {\r\n const idx = applicants.findIndex(applicant => applicant.ApplicantId === currentApplicant.ApplicantId);\r\n const newIdx = idx + (direction === NAVIGATION_DIRECTION.Foward ? 1 : -1);\r\n return newIdx < applicants.length && newIdx >= 0 ? applicants[newIdx].ApplicantType.ApplicantTypeId : null;\r\n });\r\n}\r\n// #endregion\r\n\r\n// #region Current Applicant Title\r\nexport const getShowApplicantTitle = createSelector(\r\n getApplicants,\r\n (applicants: Applicant[]) => applicants.length > 1\r\n);\r\n\r\nexport function getCurrentApplicantTitle(\r\n possessive = false,\r\n prefix = false,\r\n yourself = false,\r\n ignoreTeenOrMinor = false) {\r\n return createSelector(\r\n getCurrentApplicant,\r\n getApplicationVestingTypeId,\r\n (applicant: Applicant, vestingType: VESTING_TYPE_ID) => {\r\n return applicant ?\r\n GET_APPLICANT_TITLE(vestingType, applicant, ignoreTeenOrMinor, possessive, prefix, yourself) :\r\n '';\r\n }\r\n );\r\n}\r\n\r\nexport const getCurrentApplicanPossesiveTitle = createSelector(\r\n getCurrentApplicant,\r\n getApplicationVestingTypeId,\r\n (applicant: Applicant, vestingType: VESTING_TYPE_ID) => GET_APPLICANT_POSSESSIVE(vestingType, applicant)\r\n);\r\n// #endregion\r\n\r\n// #region DMD Decisions\r\nexport const currentApplicantCanDoDMD = createSelector(\r\ngetCurrentApplicant, getApplication,\r\n(currentApplicant: Applicant, application: IApplication) => {\r\n return currentApplicant && ((\r\n currentApplicant.type === APPLICANT_TYPE_NAME.Primary &&\r\n application.SourceType.SourceTypeId !== SOURCE_TYPES.existingEnroller\r\n ) || currentApplicant.type === APPLICANT_TYPE_NAME.Joint);\r\n}\r\n);\r\n\r\nexport const shouldNavigateToDMD = createSelector(getCurrentApplicant, (currentApplicant: Applicant) => false);\r\n\r\n// export const shouldNavigateToDMD = createSelector(\r\n// currentApplicantCanDoDMD, getApplication, getDmdEnabled,\r\n// (currentApplicantDMD: boolean, application: IApplication, dmdEnabled) => {\r\n// return dmdEnabled && application.Brand.Id !== BRAND_ID.AxosAdvisor && currentApplicantDMD;\r\n// }\r\n// );\r\n// #endregion\r\n\r\n\r\nexport const getApplicantRequestedDocuments = createSelector(\r\ngetCurrentApplicant,\r\n(applicant: Applicant) => applicant ? applicant.requestedDocuments : null\r\n);\r\n\r\nexport const selectCurrentApplicantSSN = createSelector(\r\n getCurrentApplicant,\r\n (applicant: Applicant) => applicant ? applicant.taxPayerId : null\r\n);\r\n\r\nexport const selectCurrentApplicantEmail = createSelector(\r\n selectPersonalInformation,\r\n (person: Person) => person ? person.email : null \r\n);\r\n\r\nexport const selectIdDetails = createSelector(\r\n getCurrentApplicant,\r\n (applicant: Applicant) => applicant ? applicant.applicantIdentification : null\r\n);","import {\r\n createSelector,\r\n createFeatureSelector\r\n} from '@ngrx/store';\r\n// Models\r\nimport { IApplication, ApplicationStatus } from 'models';\r\n\r\nimport { ApplicationState } from '../states';\r\nimport { FEATURE_NAMES } from '../constants';\r\nimport { VESTING_TYPE_NAME } from 'models/enums';\r\nimport { GET_CACHE } from '@uikit/components';\r\nimport { PROXY_APPLICATION_ID } from 'app/auth/constants';\r\ndeclare var environment: any;\r\n\r\nexport const getApplicationState = createFeatureSelector(FEATURE_NAMES.Application);\r\n\r\nexport const getApplicationLoading = createSelector(\r\n getApplicationState,\r\n (state: ApplicationState) => state.loading\r\n);\r\n\r\nexport const getApplicationLoaded = createSelector(\r\n getApplicationState,\r\n (state: ApplicationState) => state.loaded\r\n);\r\n\r\nexport const getApplication = createSelector(\r\n getApplicationState,\r\n (state: ApplicationState) => state.application\r\n);\r\n\r\nexport const getAccounts = createSelector(\r\n getApplicationState,\r\n (state: ApplicationState) => state.accounts\r\n);\r\n\r\nexport const getApplicationId = createSelector(\r\n getApplication,\r\n (application: IApplication) => (!!environment.isProxy && application.applicationId == null) ? GET_CACHE(PROXY_APPLICATION_ID) : application.applicationId\r\n);\r\n\r\nexport const getApplicationPublicId = createSelector(\r\n getApplication,\r\n (application: IApplication) => application.applicationId\r\n);\r\n\r\nexport const getApplicationStates = createSelector(\r\n getApplication,\r\n (application: IApplication) => !application ? null :\r\n application.ApplicationState || {\r\n status: application.status,\r\n stateId: application.stateId,\r\n decisionStatus: application.decisionStatus,\r\n decisionReason: application.decisionReason,\r\n }\r\n);\r\n\r\nexport const getApplicationStateId = createSelector(\r\n getApplication,\r\n (application: IApplication) => application ? application.stateId : null\r\n);\r\n\r\nexport const getPriorApplicationStateId = createSelector(\r\n getApplicationStates,\r\n (states: ApplicationStatus) => states ? states.PriorApplicationStateId : null\r\n);\r\n\r\nexport const getApplicationVestingTypeName = createSelector(\r\n getApplication,\r\n (application: IApplication) => application.vestingTypeName ? application.vestingTypeName : null\r\n);\r\n\r\nexport const getApplicationVestingTypeId = createSelector(\r\n getApplication,\r\n (application: IApplication) => application.vestingTypeId ? application.vestingTypeId : null\r\n);\r\n\r\nexport const getApplicantsMetadata = createSelector(\r\n getApplication,\r\n (application: IApplication) => application.Applicants\r\n);\r\n\r\nexport const getIDAQuestions = createSelector(\r\n getApplicationState,\r\n (state: ApplicationState) => state.idaQuestions\r\n);\r\n\r\nexport const getPendingVerificationApplicants = createSelector(\r\n getApplicationState,\r\n (state: ApplicationState) => state.pendingIDVerificationApplicants\r\n);\r\n\r\nexport const getConnectionId = createSelector(\r\n getApplication,\r\n (application: IApplication) => application.connectionId\r\n)\r\n\r\nexport const selectBeneficiariesInformation = createSelector(\r\n getApplicationState,\r\n (state: ApplicationState) => state.application.beneficiariesIinformation || null\r\n)\r\n\r\nexport const selectBeneficiariesContingentInformation = createSelector(\r\n getApplicationState,\r\n (state: ApplicationState) => state.application.beneficiariesContingentIinformation\r\n)\r\n\r\nexport const getTrustCertificateInformation = createSelector(\r\n getApplicationState,\r\n (state: ApplicationState) => state.application.trustCertificateInformation\r\n)\r\n\r\nexport const getApplicationTypeName = createSelector(\r\n getApplicationState,\r\n (state: ApplicationState) => state.application.applicationTypeName\r\n);\r\n\r\nexport const getTrustTypes = createSelector(\r\n getApplicationState,\r\n (state: ApplicationState) => state.trustTypes\r\n);\r\n\r\nexport const getApplicationProducts = createSelector(\r\n getApplicationState,\r\n (state: ApplicationState) => state.application.productNames\r\n);\r\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { IExistingUser, IUser, IUserLead } from 'models';\r\nimport { FEATURE_NAMES } from '../constants';\r\nimport { AuthState } from '../states';\r\n\r\n\r\n\r\nexport const getAuthState = createFeatureSelector(FEATURE_NAMES.Auth);\r\n\r\nexport const getAuthLoading = createSelector(\r\n getAuthState, (state: AuthState) => state.loading\r\n);\r\n\r\nexport const getUser = createSelector(\r\n getAuthState, (state: AuthState) => state.user\r\n);\r\n\r\n// export const getUserProspect = createSelector(\r\n// getAuthState, (state: AuthState) => state.userProspect\r\n// );\r\n\r\nexport const getUserLead = createSelector(\r\n getAuthState, (state: AuthState) => state.userLead\r\n);\r\n\r\nexport const getUserLeadResponse = createSelector(\r\n getAuthState, (state: AuthState) => state.userLeadResponse\r\n);\r\n\r\nexport const getUserLeadId = createSelector(\r\n getUserLead, (userLead: IUserLead) => userLead ? userLead.leadId : null\r\n);\r\n\r\nexport const getExistingUser = createSelector(\r\n getAuthState, (state: AuthState) => state.existingUser\r\n);\r\n\r\nexport const getUserName = createSelector(\r\n getUser, (user: IUser) => user ? user.UserName : null\r\n);\r\n\r\nexport const getUserEmail = createSelector(\r\n getUser, (user: IUser) => user ? user.Email : null\r\n);\r\n\r\nexport const getUserPhone = createSelector(\r\n getUser, (user: IUser) => user ? user.PhoneNumber ? user.PhoneNumber : '' : null\r\n);\r\n\r\nexport const getUserApplicationId = createSelector(\r\n getUser, (user: IUser) => user ? user.ApplicationId : null\r\n);\r\n\r\n// export const getUserApplicationId = createSelector(\r\n// getUserLead, (user: IUserLead) => user ? user.leadId : null\r\n// );\r\n\r\nexport const getExisintgEnrollmentUrl = createSelector(\r\n getExistingUser, (user: IExistingUser) => user ? user.enrollmentUrl : null\r\n);\r\n\r\nexport const getExistingCustomerBrandId = createSelector(\r\n getExistingUser, (user: IExistingUser) => user ? user.brandId : null\r\n);\r\n\r\nexport const getToken = createSelector(\r\n getAuthState, (state: AuthState) => state.token\r\n);\r\n\r\nexport const getUserLoggedIn = createSelector(\r\n getAuthState, (state: AuthState) => state.loggedIn\r\n);\r\n\r\nexport const getLoginError = createSelector(\r\n getAuthState, (state:AuthState) => state.error\r\n);\r\n\r\nexport const getVerificationError = createSelector(\r\n getAuthState, (state:AuthState) => state.error\r\n);\r\n\r\nexport const getChallengeInfo = createSelector(\r\n getAuthState, (state:AuthState) => state.challengeInfo\r\n);\r\n\r\nexport const getHasSecurityQuestions = createSelector(\r\n getAuthState, (state:AuthState) => state.token.hasSecurityQuestions\r\n);\r\n\r\nexport const getOtpChallengeInfo = createSelector(\r\n getAuthState, (state:AuthState) => state.otpChallengeInfo\r\n);\r\n\r\nexport const getUserNoOtp = createSelector(\r\n getAuthState, (state:AuthState) => state.NoOtp\r\n)\r\nexport const getOtpCode = createSelector(\r\n getAuthState, (state: AuthState) => state.otpChallengeInfo.otp\r\n)\r\n\r\nexport const getNoOtpCode = createSelector(\r\n getAuthState, (state: AuthState) => state.NoOtp.otp\r\n )\r\n\r\n export const getNoPhoneNumber = createSelector(\r\n getAuthState, (state: AuthState) => state.phoneNumber\r\n )\r\n\r\nexport const getSecurityQuestions = createSelector(\r\n getAuthState, (state:AuthState) => state.securityQuestions\r\n)\r\n\r\nexport const getIsExisting=createSelector(\r\n getAuthState,(state:AuthState)=>state.isExisting\r\n)\r\n\r\nexport const getUserIdToken=createSelector(\r\n getAuthState,(state:AuthState)=>state.userIdToken\r\n)\r\n\r\nexport const getUserNameToken=createSelector(\r\n getAuthState,(state:AuthState)=>state.userNameToken\r\n)\r\n\r\nexport const getShowRecoverySent=createSelector(\r\n getAuthState,(state:AuthState)=>state.showRecoverySent\r\n)\r\n\r\nexport const getDisplayLoginPage=createSelector(\r\n getAuthState,(state:AuthState)=>state.displayLoginPage\r\n)\r\n\r\nexport const getDisplayQuestion=createSelector(\r\n getAuthState,(state:AuthState)=>state.displayQuestion\r\n)\r\n\r\nexport const getRandomQuestion=createSelector(\r\n getAuthState,(state:AuthState)=>state.question\r\n)\r\n\r\nexport const getStepTitle=createSelector(\r\n getAuthState,(state:AuthState)=>state.stepTitle\r\n)\r\n\r\nexport const getGuid = createSelector(\r\n getAuthState,\r\n (state: AuthState) => state.guid\r\n)\r\n\r\n\r\n\r\n\r\n","import {\r\n createSelector,\r\n createFeatureSelector\r\n} from '@ngrx/store';\r\n\r\nimport { BannerState } from '../states';\r\nimport { FEATURE_NAMES } from '../constants';\r\n\r\nexport const getRouterState = createFeatureSelector(FEATURE_NAMES.Router);\r\nexport const getBannerState = createFeatureSelector(FEATURE_NAMES.Banner);\r\n\r\nexport const getPageTitle = createSelector(\r\n getBannerState, (state: BannerState) => state.pageTitle\r\n);\r\n\r\nexport const getBanner = createSelector(\r\n getBannerState, (state: BannerState) => state.banner\r\n);\r\n\r\nexport const getSubBanner = createSelector(\r\n getBannerState, (state: BannerState) => state.subBanner\r\n);\r\n\r\nexport const getProgress = createSelector(\r\n getBannerState, (state: BannerState) => state.progress\r\n);\r\n\r\nexport const getHeaderIsMain = createSelector(\r\n getBanner, banner => banner.isMain\r\n);\r\n\r\nexport const getBannerIsExisting = createSelector(\r\n getBanner, banner => banner.isExisting\r\n);\r\n\r\n","import {\r\n createSelector,\r\n createFeatureSelector\r\n} from '@ngrx/store';\r\n\r\nimport { Brand } from 'models';\r\n\r\nimport { BrandState } from '../states';\r\nimport { FEATURE_NAMES } from '../constants';\r\nimport { BRAND_NAME } from 'models/enums';\r\n\r\nexport const getBrandState = createFeatureSelector(FEATURE_NAMES.Brand);\r\n\r\nexport const getBrand = createSelector(\r\n getBrandState, (state: BrandState) => state.brand\r\n);\r\n\r\nexport const getChatSettings = createSelector(\r\n getBrandState, (state: BrandState) => state.chatSettings\r\n);\r\n\r\nexport const getChatBotSettings = createSelector(\r\n getBrandState, (state: BrandState) => state.chatBotSettings\r\n);\r\n\r\nexport const getBrandLoaded = createSelector(\r\n getBrandState, (state: BrandState) => state.loaded\r\n);\r\n\r\nexport const getBrandLoading = createSelector(\r\n getBrandState, (state: BrandState) => state.loading\r\n);\r\n\r\nexport const getForceDmd = createSelector(\r\n getBrand, (brand: Brand) => brand ? brand.forceDmd : false\r\n);\r\n\r\nexport const getDmdEnabled = createSelector(\r\n getBrand, (brand: Brand) => brand ? brand.dmdEnabled : true\r\n);\r\n\r\nexport const getBrandName = createSelector(\r\n getBrand, (brand: Brand) => brand ? brand.name : ''\r\n);\r\n\r\nexport const getBrandId = createSelector(\r\n getBrand, (brand: Brand) => brand ? brand.id : null\r\n);\r\n\r\nexport const getBrandIsUFB = createSelector(\r\n getBrandName, (brandId: string) => brandId ?\r\n brandId === BRAND_NAME.UFBDirect :\r\n false\r\n);\r\n\r\nexport const getBrandIsAxos = createSelector(\r\n getBrandName, (brandId: string) => brandId ?\r\n brandId === BRAND_NAME.Axos || brandId === BRAND_NAME.AxosBusinessBanking || brandId === BRAND_NAME.AxosSecondChance :\r\n false\r\n);\r\n\r\nexport const getBrandIsNationwide = createSelector(\r\n getBrandName, (brandId: string) => brandId ?\r\n brandId === BRAND_NAME.NationWide || brandId === BRAND_NAME.NationWideBusinessBanking :\r\n false\r\n);\r\n\r\nexport const getBrandPhone = createSelector(\r\n getBrand, (brand: Brand) => brand ? brand.phone : ''\r\n);\r\n\r\nexport const getBrandEmail = createSelector(\r\n getBrand, (brand: Brand) => brand ? brand.email : ''\r\n);\r\n\r\nexport const getBrandLogo = createSelector(\r\n getBrand, (brand: Brand) => brand ? brand.logo : ''\r\n);\r\n","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\r\nimport { FEATURE_NAMES } from \"store/constants\";\r\nimport { BrokerState } from \"store/states/broker.state\";\r\n\r\nexport const getBokerState = createFeatureSelector(FEATURE_NAMES.Broker);\r\n\r\nexport const getBroker = createSelector(\r\n getBokerState,\r\n (state: BrokerState) => state.broker\r\n);\r\n\r\nexport const getBrokerName = createSelector(\r\n getBokerState,\r\n (state: BrokerState) => state.broker ? state.broker.name : ''\r\n);\r\n\r\nexport const getBrokerPhone = createSelector(\r\n getBokerState,\r\n (state: BrokerState) => state.broker ? state.broker.phone : ''\r\n);\r\n\r\nexport const getBrokerEmail = createSelector(\r\n getBokerState,\r\n (state: BrokerState) => state.broker ? state.broker.email : ''\r\n);\r\n\r\nexport const getBrokerOrganization = createSelector(\r\n getBokerState,\r\n (state: BrokerState) => state.broker ? state.broker.organizationName : ''\r\n);\r\n","\r\nimport {\r\n createSelector,\r\n createFeatureSelector\r\n} from '@ngrx/store';\r\n\r\nimport { CatalogsState, BaseCatalogState } from '../states';\r\nimport { FEATURE_NAMES } from '../constants';\r\n\r\nimport { State, Country, AnnualSales } from 'models';\r\nimport { CatalogItem } from 'models/trading/catalog-item.model';\r\n\r\nconst statesToExclude = []\r\n// Exlude States should be only for Business\r\n// ['AE', 'AA', 'AP', 'AS', 'FM', 'GU', 'MH', 'MP', 'PR', 'PW', 'VI'];\r\n\r\nexport const getCatalogsState = createFeatureSelector(FEATURE_NAMES.Catalogs);\r\n\r\n// States\r\nexport const getStatesState = createSelector(\r\n getCatalogsState, (state: CatalogsState) => state.states\r\n);\r\n\r\nexport const getAllStates = createSelector(\r\n getStatesState, (state: BaseCatalogState) => state.data\r\n);\r\n\r\nexport const getStates = createSelector(\r\n getStatesState, (state: BaseCatalogState) => state.data.filter(state => !statesToExclude.includes(state.Abbr))\r\n);\r\n\r\nexport const getStatesLoaded = createSelector(\r\n getStatesState, (state: BaseCatalogState) => state.loaded\r\n);\r\n\r\n// Affiliations\r\nexport const getAffiliations = createSelector(\r\n getCatalogsState, (state: CatalogsState) => state.affiliations.data\r\n);\r\n\r\nexport const getAffiliationsLoaded = createSelector(\r\n getCatalogsState, (state: CatalogsState) => state.affiliations.loaded\r\n);\r\n\r\n// Company Titles\r\nexport const getCompanyTitles = createSelector(\r\n getCatalogsState, (state: CatalogsState) => state.companyTitles.data\r\n);\r\n\r\nexport const getCompanyTitlesLoaded = createSelector(\r\n getCatalogsState, (state: CatalogsState) => state.companyTitles.loaded\r\n);\r\n\r\n// Countries\r\nexport const getCountriesState = createSelector(\r\n getCatalogsState, (state: CatalogsState) => state.countries\r\n);\r\n\r\nexport const getCountries = createSelector(\r\n getCountriesState, (state: BaseCatalogState) => state.data\r\n);\r\n\r\nexport const getCountriesLoading = createSelector(\r\n getCountriesState, (state: BaseCatalogState) => state.loading\r\n);\r\n\r\nexport const getCountriesLoaded = createSelector(\r\n getCountriesState, (state: BaseCatalogState) => state.loaded\r\n);\r\n\r\n// Ocupations\r\nexport const getOccupationsState = createSelector(\r\n getCatalogsState, (state: CatalogsState) => state.occupations\r\n);\r\n\r\nexport const getOccupations = createSelector(\r\n getOccupationsState, (state: BaseCatalogState) => state.data\r\n);\r\n\r\nexport const getOccupationsLoaded = createSelector(\r\n getOccupationsState, (state: BaseCatalogState) => state.loaded\r\n);\r\n\r\n// Annual Sales\r\nexport const geAnnualSalesState = createSelector(\r\n getCatalogsState, (state: CatalogsState) => state.annualSales\r\n);\r\n\r\nexport const getAnnualSales = createSelector(\r\n geAnnualSalesState, (state: BaseCatalogState) => state.data\r\n);\r\n\r\nexport const getAnnualSalesLoaded = createSelector(\r\n geAnnualSalesState, (state: BaseCatalogState) => state.loaded\r\n);\r\n\r\n// Financial Information\r\nexport const getFinancialCatalogInformation = createSelector(\r\n getCatalogsState, (state: CatalogsState) => state.financialInformation\r\n);\r\n\r\n//Beneficiaries Information\r\nexport const getRelationShips = createSelector(\r\n getCatalogsState, (state: CatalogsState) => state.relationShips.data\r\n);\r\n\r\nexport const getRelationShipsLoaded = createSelector(\r\n getCatalogsState, (state: CatalogsState) => state.relationShips.loaded\r\n);\r\n","import {\r\n createSelector,\r\n createFeatureSelector\r\n} from '@ngrx/store';\r\n\r\nimport { FEATURE_NAMES } from 'store/constants';\r\nimport { DisclosureState } from 'store/states/disclosure.state';\r\n\r\nexport const getDisclosureState = createFeatureSelector(FEATURE_NAMES.Disclosures);\r\n\r\nexport const getDetailDisclosures = createSelector(\r\n getDisclosureState, (state: DisclosureState) => state.detailDisclosures ? state.detailDisclosures : null\r\n);\r\n\r\nexport const getAxosClearingDisclosures = createSelector(\r\n getDisclosureState,\r\n (state: DisclosureState) => state.axosClearingDisclosures ? state.axosClearingDisclosures : null\r\n);\r\n\r\nexport const getElectronicDisclosure = createSelector(\r\n getDisclosureState,\r\n (state: DisclosureState) => state.electronicDisclosure\r\n);\r\n\r\nexport const getAxosInvestDisclosure = createSelector(\r\n getDisclosureState,\r\n (state: DisclosureState) => state.electronicDisclosure\r\n);\r\nexport const getTaxPayerDisclosure = createSelector(\r\n getDisclosureState,\r\n (state: DisclosureState) => state.initialDisclosures\r\n);\r\n\r\nexport const getInitialDisclosures = createSelector(\r\n getDisclosureState,\r\n (state: DisclosureState) => state.initialDisclosures\r\n);\r\n\r\nexport const getDisclosuresCatalog = createSelector(\r\n getDisclosureState,\r\n (state: DisclosureState) => state.disclosuresCatalog ? state.disclosuresCatalog : null\r\n);\r\n\r\nexport const getECMDisclosures = createSelector(\r\n getDisclosureState,\r\n (state: DisclosureState) => state.ecmDisclosures ? state.ecmDisclosures : null\r\n);\r\n\r\nexport const getECMDisclosureDocuments = createSelector(\r\n getDisclosureState,\r\n (state: DisclosureState) => state.ecmDisclosureDocuments ? state.ecmDisclosureDocuments : []\r\n);\r\n\r\nexport const getCashSweepDisclosures = createSelector(\r\n getDisclosureState,\r\n (state: DisclosureState) => state.cashSweepDisclosures ? state.cashSweepDisclosures : null\r\n);\r\n","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\r\nimport { FEATURE_FLAG } from \"models/enums\";\r\nimport { FEATURE_NAMES } from \"store/constants\";\r\nimport { FeatureFlagsState } from \"store/states/feature-flags.state\";\r\n\r\nexport const getFeatureFlagsState = createFeatureSelector(FEATURE_NAMES.FeatureFlags);\r\n\r\nexport const getFeatureFlags = createSelector(\r\n getFeatureFlagsState, (state: FeatureFlagsState) => state ? state.featureFlags : null\r\n);\r\n\r\nexport const getIdDetailsFeatureFlag = createSelector(\r\n getFeatureFlagsState, (state: FeatureFlagsState) => state ? state.featureFlags.find(x => x.name == FEATURE_FLAG.IdDetails) : null\r\n);\r\n","export * from './applicants.selectors';\r\nexport * from './applicants-address.selectors';\r\nexport * from './application.selector';\r\nexport * from './catalogs.selectors';\r\nexport * from './brand.selectors';\r\nexport * from './auth.selectors';\r\nexport * from './banner.selectors';\r\nexport * from './products.selectors';\r\nexport * from './layout.selector';\r\nexport * from './trading.selector';\r\nexport * from './organization.selector';\r\nexport * from './landing.selector';\r\nexport * from './proxy.selectors';\r\nexport * from './broker.selectors';\r\nexport * from './white-label.selector';\r\nexport * from './feature-flags.selectors';\r\n","import {\r\n createSelector,\r\n createFeatureSelector\r\n} from '@ngrx/store';\r\n\r\nimport { LandingState } from '../states';\r\nimport { FEATURE_NAMES } from '../constants';\r\n\r\n\r\nexport const getLandingState = createFeatureSelector(FEATURE_NAMES.Landing);\r\n\r\nexport const getLandingIsExisting = createSelector(\r\n getLandingState,\r\n (state: LandingState) => state.isExisting\r\n);\r\n","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\r\nimport { FEATURE_NAMES } from \"store/constants\";\r\nimport { LayoutState } from \"store/states\";\r\n\r\nexport const getLayoutState = createFeatureSelector(FEATURE_NAMES.Layout);\r\n\r\nexport const getMobileLayout = createSelector(\r\n getLayoutState, (state: LayoutState) => {\r\n return state.isMobile\r\n }\r\n);","import {\r\n createSelector,\r\n createFeatureSelector\r\n} from '@ngrx/store';\r\n\r\nimport { OrganizationState } from '../states';\r\nimport { FEATURE_NAMES } from '../constants';\r\n\r\nexport const getOrganizationState = createFeatureSelector(FEATURE_NAMES.Organization);\r\n\r\nexport const getOrganization = createSelector(\r\n getOrganizationState, (state: OrganizationState) => state.organization\r\n);\r\n\r\nexport const getOrganizationEmail = createSelector(\r\n getOrganizationState, (state: OrganizationState) => state.organization ? state.organization.email : ''\r\n);\r\n\r\nexport const getOrganizationPhone = createSelector(\r\n getOrganizationState, (state: OrganizationState) => state.organization ? state.organization.phone : ''\r\n);\r\n\r\nexport const getOrganizationDisplayNameOnly = createSelector(\r\n getOrganizationState, (state: OrganizationState) => state.organization ? state.organization.displayName: ''\r\n)\r\n\r\nexport const getOrganizationDisplayName = createSelector(\r\n getOrganizationState, (state: OrganizationState) => state.organization ? state.organization.displayName + ' | Enroll' : ''\r\n)","import {\r\n createSelector,\r\n createFeatureSelector\r\n} from '@ngrx/store';\r\n\r\nimport { ProductsState } from '../states';\r\nimport { FEATURE_NAMES, PRODUCTS } from '../constants';\r\nimport { ISimpleProduct } from 'models';\r\n\r\nexport const getProductsState = createFeatureSelector(FEATURE_NAMES.Products);\r\n\r\nexport const getVestingTypes = createSelector(\r\n getProductsState, (state: ProductsState) => state.vestingTypes\r\n);\r\n\r\nexport const getMarketingProductsValidated= createSelector(\r\n getProductsState, (state: ProductsState) => state.marketingProductsValidated\r\n);\r\n\r\nexport const getMarketingSelectedProducts = createSelector(\r\n getProductsState, (state: ProductsState) => state.marketingSelectedProducts\r\n);\r\n\r\nexport const getSelectedProducts = createSelector(\r\n getProductsState, (state: ProductsState) => state.selectedProducts\r\n);\r\n\r\nexport const getSelectedVestingTypeId = createSelector(\r\n getProductsState, (state: ProductsState) => state.marketingSelectedVestingType\r\n);\r\n\r\nexport const getAdvisorId = createSelector(\r\n getProductsState, (state: ProductsState) => state.marketingAdvisorId\r\n);\r\n\r\nexport const getIRAFlag = createSelector(\r\n getProductsState, (state: ProductsState) => state.IRAFlag\r\n);\r\n\r\nexport const getProxyProducts = createSelector(\r\n getProductsState, (state: ProductsState) => state.proxyProducts\r\n);\r\n\r\nexport const getProxySelectedProducts = createSelector(\r\n getProductsState, (state: ProductsState) => state.proxySelectedProducts\r\n);\r\n\r\nexport const getOrganizationProducts = createSelector(\r\n getProductsState, (state: ProductsState) => state.organizationProducts\r\n);\r\n\r\nexport const getIsManagedPortfolio = createSelector(\r\n getProductsState, (state: ProductsState) => state.marketingSelectedProducts.some(x => x.productCode == 'MPO')\r\n);\r\n\r\nexport const getIsManagedPortfolioOrSelfDirectedTrading = createSelector(\r\n getProductsState, (state: ProductsState) => state.marketingSelectedProducts.some(x => [PRODUCTS.MPO, PRODUCTS.TRAD].includes(x.productCode))\r\n);\r\n","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\r\nimport { FEATURE_NAMES } from \"store/constants\";\r\nimport { ProxyState } from \"store/states/proxy.state\";\r\n\r\n\r\nexport const getProxyState = createFeatureSelector(FEATURE_NAMES.Proxy);\r\n\r\nexport const getSelectedCustomer = createSelector(\r\n getProxyState,\r\n (state: ProxyState) => state.customerSelected\r\n);\r\n\r\nexport const customers = createSelector(\r\n getProxyState,\r\n (state: ProxyState) => state.customers\r\n);\r\n\r\nexport const repCodes = createSelector(\r\n getProxyState,\r\n (state: ProxyState) => state.repCodes\r\n);\r\n\r\nexport const selectedRepCode = createSelector(\r\n getProxyState,\r\n (state: ProxyState) => state.selectedRepCode\r\n);\r\n\r\nexport const selectTrustedContactProxy = createSelector(\r\n getProxyState,\r\n (state: ProxyState) => state.trustedContact ? state.trustedContact : null\r\n);\r\n\r\nexport const selectProxyDeclinedTrustedDecision = createSelector(\r\n getProxyState,\r\n (state: ProxyState) => state.declinedTrustedContact\r\n);","import { createSelector, createFeatureSelector } from \"@ngrx/store\";\r\nimport { TradingState } from \"store/states/trading.state\";\r\nimport { FEATURE_NAMES } from \"store/constants\";\r\nimport { Feature, AccountFeature } from \"models\";\r\n\r\nexport const selectTradingState = createFeatureSelector(FEATURE_NAMES.Trading);\r\n\r\nexport const selectAccountFeature = createSelector(\r\n selectTradingState, (state: TradingState) => state ? state.accountFeature : null\r\n);\r\n\r\nexport const selectAccountSelectedFeatures = createSelector(\r\n selectTradingState,\r\n (state: TradingState) => state.accountFeature ? state.accountFeature.TradingFeatures : []\r\n);\r\n\r\nexport const selectFinancialInformation = createSelector(\r\n selectTradingState,\r\n (state: TradingState) => state.financialInformation\r\n);\r\n\r\nexport const selectFeatures = createSelector(\r\n selectTradingState, (state: TradingState) => state ? state.features: null\r\n)\r\n\r\nexport const selectFeatureList = createSelector(\r\n selectTradingState,\r\n selectAccountFeature, (features: Feature[]) => features\r\n);\r\n\r\nexport const selectInvestmentObjetives = createSelector(\r\n selectTradingState, (state: TradingState) => state.investmentObjetives ? state.investmentObjetives : null\r\n);\r\n\r\nexport const selectInvestmentProfile = createSelector(\r\n selectTradingState, (state: TradingState) => state.investmentProfile\r\n);\r\n\r\nexport const selectSkipVerifiction = createSelector(\r\n selectTradingState, (state: TradingState) => state.skipVerification\r\n);\r\n","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\r\nimport { FEATURE_NAMES } from \"store/constants\";\r\nimport { WhiteLabelState } from \"store/states/white-label.state\";\r\n\r\nexport const selectWLState = createFeatureSelector(FEATURE_NAMES.WhiteLabel);\r\n\r\nexport const selectOptionLevels = createSelector(\r\n selectWLState, \r\n (state: WhiteLabelState) => state.optionLevels? state.optionLevels: []\r\n);\r\n\r\nexport const selectOptionLevel = createSelector(\r\n selectWLState, \r\n (state: WhiteLabelState) => state.optionLevel? state.optionLevel: null\r\n);\r\n\r\nexport const selectTrustedContactWl = createSelector(\r\n selectWLState,\r\n (state: WhiteLabelState) => state.trustedContact ? state.trustedContact : null\r\n)","import { environment } from 'environments/environment';\r\n// Ng\r\nimport { NgModule } from '@angular/core';\r\nimport { EffectsModule } from '@ngrx/effects';\r\n// NgRx\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { StoreDevtoolsModule } from '@ngrx/store-devtools';\r\nimport { StoreRouterConnectingModule, NavigationActionTiming } from '@ngrx/router-store';\r\n// Services\r\nimport { ApplicationFlowService } from 'services/http';\r\nimport { DataServiceModule } from 'services/data-services.module';\r\nimport { StateRouteService, UtmCodeService } from 'app/core/services';\r\n\r\nimport { effects } from './effects';\r\nimport { reducers } from './reducers';\r\nimport { EnrollmentSerializer } from './route-serializer';\r\n\r\nlet importModules = [\r\n DataServiceModule,\r\n StoreModule.forRoot(reducers),\r\n EffectsModule.forRoot(effects),\r\n StoreRouterConnectingModule.forRoot({\r\n serializer: EnrollmentSerializer,\r\n navigationActionTiming: NavigationActionTiming.PostActivation\r\n })\r\n];\r\n\r\nif(!environment.production) {\r\n importModules = [\r\n ...importModules,\r\n StoreDevtoolsModule.instrument({ maxAge: 500 })\r\n ]\r\n}\r\n\r\n@NgModule({\r\n imports: importModules,\r\n providers: [\r\n ApplicationFlowService,\r\n StateRouteService,\r\n // Revisit\r\n UtmCodeService,\r\n ],\r\n declarations: []\r\n})\r\nexport class EnrollmentStoreModule { }\r\n","export {\r\n reducer,\r\n EnrollmentWorkflowState,\r\n selectWorkflow,\r\n selectWorkflowState,\r\n moveBack,\r\n setWorkflow,\r\n fetchWorkflow,\r\n setWorkflowStep,\r\n} from './workflow.store';\r\nexport {\r\n EnrollmentWorkflowEffects,\r\n} from './workflow.effects';\r\n","\r\nimport { Injectable } from '@angular/core';\r\n// NgRx\r\nimport { Actions, ofType, createEffect } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { EnrollmentState } from '../states';\r\nimport { getApplicationId, getApplicationStates, getApplication, getIsManagedPortfolio } from '../selectors';\r\nimport { fetchWorkflow, setWorkflow, setWorkflowStep, moveBack, selectWorkflowInitialized } from './workflow.store';\r\n// RxJs\r\nimport { switchMap, map, tap, withLatestFrom, filter, first } from 'rxjs/operators';\r\n// Models & Enums\r\nimport { FLOW_STEPS, APPLICATION_DECISION_STATUS, APPLICATION_STATE, APPLICANT_TYPE_TO_NAME, APPLICANT_TYPE_NAME } from 'models/enums';\r\n// Services\r\nimport { ApplicationFlowService } from 'services/http/application-flow.service';\r\nimport { FlowNavigationService } from 'app/core/services/flow-navigation.service';\r\nimport { RULES_ACTION_TYPES, APPLICATION_ACTION_TYPES } from '../actions';\r\n\r\n@Injectable()\r\nexport class EnrollmentWorkflowEffects {\r\n\r\n appId$ = this.store$.select(getApplicationId);\r\n applicationStates$ = this.store$.select(getApplicationStates);\r\n isManagePortfolio$ = this.store$.select(getIsManagedPortfolio);\r\n initialized$ = this.store$.select(selectWorkflowInitialized);\r\n currentApplicantType$ = this.store$.select(getApplication)\r\n .pipe(map(app => APPLICANT_TYPE_TO_NAME[app.applicantTypeId] || APPLICANT_TYPE_NAME.Primary));\r\n\r\n constructor(private actions$: Actions,\r\n private store$: Store,\r\n private flowService: FlowNavigationService,\r\n private service: ApplicationFlowService) { }\r\n\r\n // TODO: Get State and decision\r\n stepNotComplete(\r\n step: FLOW_STEPS,\r\n state: APPLICATION_STATE,\r\n decision: APPLICATION_DECISION_STATUS) {\r\n if(step !== FLOW_STEPS.Complete) {\r\n return true;\r\n }\r\n this.flowService.navigateToState(state, decision);\r\n return false;\r\n }\r\n\r\n fetchWorkflow$ = createEffect(() => this.actions$.pipe(\r\n ofType(fetchWorkflow),\r\n withLatestFrom(this.appId$, this.currentApplicantType$),\r\n switchMap(([{ applicationId }, appId, applicantType]) =>\r\n this.service.getFlow(applicationId || appId, applicantType)),\r\n map(workflow =>\r\n setWorkflow(workflow)),\r\n ));\r\n\r\n setWorkflow$ = createEffect(() => this.actions$.pipe(\r\n ofType(setWorkflow),\r\n withLatestFrom(this.applicationStates$, this.appId$, this.currentApplicantType$, this.initialized$,this.isManagePortfolio$),\r\n tap(([{ steps, lastStep, nextStep }, { stateId, decisionStatus }, appId, applicantType, initialized, isMP]) => {\r\n let currentStep = initialized ? nextStep : lastStep;\r\n if(this.flowService.hasSubFlow(steps, lastStep)) {\r\n currentStep = lastStep;\r\n }\r\n if(currentStep === FLOW_STEPS.Complete) {\r\n this.flowService.isMP = isMP;\r\n this.flowService.navigateToState(stateId, decisionStatus);\r\n return;\r\n }\r\n this.flowService.initialize(steps, appId, applicantType, currentStep, stateId, decisionStatus);\r\n }),\r\n ), { dispatch: false });\r\n\r\n setStep$ = createEffect(() => this.actions$.pipe(\r\n ofType(setWorkflowStep),\r\n withLatestFrom(this.applicationStates$, this.appId$, this.currentApplicantType$),\r\n filter(([{ step, lastStep }, { stateId, decisionStatus }]) =>\r\n // TODO:\r\n this.stepNotComplete(step, stateId, decisionStatus)),\r\n tap(([{ step, lastStep }, states, appId, applicantType]) =>\r\n this.flowService.setState(step, appId, applicantType)),\r\n ), { dispatch: false });\r\n\r\n stateRedirect$ = createEffect(() => this.actions$.pipe(\r\n ofType(\r\n RULES_ACTION_TYPES.VALIDATE_APPLICATION_SUCCESS,\r\n APPLICATION_ACTION_TYPES.CORRECT_ROUTE),\r\n withLatestFrom(this.applicationStates$, this.isManagePortfolio$),\r\n tap(([action, { stateId, decisionStatus }, isMP]) => {\r\n this.flowService.isMP = isMP;\r\n //TODO comment navigation\r\n /*if(action['type'] === RULES_ACTION_TYPES.VALIDATE_APPLICATION_SUCCESS && action['state']) {\r\n this.flowService.navigateToState(stateId, decisionStatus);\r\n return;\r\n }*/\r\n this.flowService.navigateToState(stateId, decisionStatus);\r\n }),\r\n ), { dispatch: false });\r\n\r\n moveBack$ = createEffect(() => this.actions$.pipe(\r\n ofType(moveBack),\r\n withLatestFrom(this.appId$, this.currentApplicantType$),\r\n tap(([_, appId, applicantType]) => {\r\n this.flowService.moveBack();\r\n this.service.goBack(appId, applicantType)\r\n .pipe(first())\r\n .subscribe();\r\n })\r\n ),{ dispatch: false });\r\n}\r\n","import {\r\n on,\r\n props,\r\n Action,\r\n createAction,\r\n createReducer,\r\n createSelector,\r\n createFeatureSelector,\r\n} from '@ngrx/store';\r\n// Models & Enums\r\nimport { FLOW_STEPS } from 'models/enums';\r\nimport { AxosWorkflow } from 'services/http/application-flow.service';\r\n\r\nconst namespace = 'EnrollmentWorkflows';\r\n\r\nexport interface AxosFlowStep {\r\n name: FLOW_STEPS;\r\n subWorkflowName: string;\r\n steps?: AxosFlowStep[];\r\n}\r\n\r\n// State\r\nexport interface EnrollmentWorkflowState {\r\n workflowName: string;\r\n workflow: AxosFlowStep[];\r\n level: number;\r\n lastStep?: FLOW_STEPS;\r\n currentStep?: FLOW_STEPS;\r\n initialized: boolean;\r\n}\r\n\r\n// Actions\r\nexport const moveBack = createAction(`[${namespace}] Move Back`);\r\n\r\nexport const fetchWorkflow = createAction(`[${namespace}] Fetch`,\r\n props<{ applicationId?: string }>());\r\n\r\nexport const setWorkflow = createAction(`[${namespace}] Set`,\r\n props());\r\n\r\nexport const setWorkflowStep = createAction(`[${namespace}] Set State`,\r\n props<{ step: FLOW_STEPS, lastStep?: FLOW_STEPS }>());\r\n\r\nexport const clearWorkflowState = createAction(`[${namespace}] Clear State`);\r\n\r\n// Reducers\r\nconst iniitialState = { workflowName: '', workflow: [], level: 0, initialized: false };\r\n\r\nconst workflowReducer = createReducer(\r\n iniitialState,\r\n on(setWorkflow, (s, { workflowName, lastStep, nextStep, steps }) => ({\r\n ...s,\r\n workflowName,\r\n workflow: steps,\r\n lastStep: lastStep || s.lastStep,\r\n currentStep: (s.initialized ? nextStep : lastStep) || s.currentStep,\r\n initialized: true\r\n })),\r\n on(setWorkflowStep, (s, { step }) => ({...s, currentStep: step})),\r\n on(clearWorkflowState, () => ({...iniitialState})),\r\n);\r\nexport function reducer(state: EnrollmentWorkflowState | undefined, action: Action) {\r\n return workflowReducer(state, action);\r\n}\r\n\r\n// Selectors\r\nconst selectState = createFeatureSelector(namespace);\r\nexport const selectWorkflow = createSelector(selectState, ({ workflow }) => workflow);\r\nexport const selectWorkflowInitialized = createSelector(selectState, ({ initialized }) => initialized);\r\nexport const selectWorkflowState = createSelector(selectState, ({ currentStep }) => currentStep);\r\n","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":""}