@softheon/armature 10.44.2 → 10.45.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/softheon-armature.umd.js +104 -2
- package/bundles/softheon-armature.umd.js.map +1 -1
- package/bundles/softheon-armature.umd.min.js +1 -1
- package/bundles/softheon-armature.umd.min.js.map +1 -1
- package/esm2015/lib/alert-banner/alert-banner-api.js +1 -1
- package/esm2015/lib/alert-banner/alert-banner.module.js +1 -1
- package/esm2015/lib/alert-banner/components/alert-banner/alert-banner.component.js +1 -1
- package/esm2015/lib/alert-banner/models/alert-banner-config.js +1 -1
- package/esm2015/lib/alert-banner/models/alert-banner-context.js +1 -1
- package/esm2015/lib/alert-banner/models/constants.js +1 -1
- package/esm2015/lib/alert-banner/services/alert-banner.service.js +1 -1
- package/esm2015/lib/armature.module.js +1 -1
- package/esm2015/lib/base-components/base-component-api.js +1 -1
- package/esm2015/lib/base-components/base-component.module.js +1 -1
- package/esm2015/lib/base-components/sof-alert/sof-alert.component.js +1 -1
- package/esm2015/lib/base-components/sof-banner/sof-banner.component.js +1 -1
- package/esm2015/lib/base-components/sof-button-toggle-group/sof-button-toggle-group.component.js +1 -1
- package/esm2015/lib/base-components/sof-modal/sof-modal.component.js +2 -2
- package/esm2015/lib/base-components/sof-progress-bar/sof-progress-bar.component.js +1 -1
- package/esm2015/lib/component-save-print/components/component-save-print/component-save-print.component.js +1 -1
- package/esm2015/lib/component-save-print/services/component-save-print.service.js +1 -1
- package/esm2015/lib/component-save-print/sof-ar-component-save-print.module.js +1 -1
- package/esm2015/lib/core/client-generated/api/session.service.js +1 -1
- package/esm2015/lib/core/client-generated/configuration.js +1 -1
- package/esm2015/lib/core/client-generated/encoder.js +1 -1
- package/esm2015/lib/core/client-generated/model/applicationUserModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/assertedUserModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/brandingModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/errorModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/folderLink.js +1 -1
- package/esm2015/lib/core/client-generated/model/identityProfile.js +1 -1
- package/esm2015/lib/core/client-generated/model/models.js +1 -1
- package/esm2015/lib/core/client-generated/model/oAuthModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/preferencesRow.js +1 -1
- package/esm2015/lib/core/client-generated/model/rolesRow.js +1 -1
- package/esm2015/lib/core/client-generated/model/sessionGetResponseModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/sessionPostRequestModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/sessionPostResponseModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/sessionPutRequestModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/sessionPutResponseModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/sessionResponseModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/settingsProfile.js +1 -1
- package/esm2015/lib/core/client-generated/model/themePaletteColorsModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/themePaletteModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/trackingModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/validationRecordsRow.js +1 -1
- package/esm2015/lib/core/client-generated/variables.js +1 -1
- package/esm2015/lib/core/components/app-template/app-template.component.js +1 -1
- package/esm2015/lib/core/functions/guid.js +1 -1
- package/esm2015/lib/core/functions/naming-convention.js +1 -1
- package/esm2015/lib/core/initializer/abstract-startup-service.js +1 -1
- package/esm2015/lib/core/initializer/initializer.service.js +1 -1
- package/esm2015/lib/core/interceptors/armature-auth-token-append.interceptor.js +1 -1
- package/esm2015/lib/core/models/base-config.js +1 -1
- package/esm2015/lib/core/models/constants.js +1 -1
- package/esm2015/lib/core/models/data-store-config.js +1 -1
- package/esm2015/lib/core/models/header-config.js +1 -1
- package/esm2015/lib/core/models/http-verbs.js +1 -1
- package/esm2015/lib/core/models/navigation-config.js +1 -1
- package/esm2015/lib/core/models/oidc-auth-settings.js +1 -1
- package/esm2015/lib/core/models/route-path.js +1 -1
- package/esm2015/lib/core/models/session-config.js +1 -1
- package/esm2015/lib/core/models/styles.js +1 -1
- package/esm2015/lib/core/models/typed-session.js +1 -1
- package/esm2015/lib/core/models/user-entity-service-config.js +1 -1
- package/esm2015/lib/core/services/authorization.service.js +1 -1
- package/esm2015/lib/core/services/banner.service.js +1 -1
- package/esm2015/lib/core/services/base-config.service.js +1 -1
- package/esm2015/lib/core/services/custom-auth-config.service.js +1 -1
- package/esm2015/lib/core/services/default-config.service.js +1 -1
- package/esm2015/lib/core/services/session.service.js +1 -1
- package/esm2015/lib/core/services/user-entity.service.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/api/api.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/api/cache.service.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/configuration.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/encoder.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/model/cacheExpirationType.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/model/createCacheEntryRequestModel.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/model/models.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/model/retrieveCacheEntryResponseModel.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/model/updateCacheEntryRequestModel.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/variables.js +1 -1
- package/esm2015/lib/distributed-cache/distributed-cache-api.js +1 -1
- package/esm2015/lib/distributed-cache/distributed-cache.module.js +1 -1
- package/esm2015/lib/distributed-cache/models/constants.js +1 -1
- package/esm2015/lib/distributed-cache/models/policy-person.js +1 -1
- package/esm2015/lib/distributed-cache/services/server-cache.service.js +1 -1
- package/esm2015/lib/error/components/error-common/error-common.component.js +1 -1
- package/esm2015/lib/error/error-api.js +1 -1
- package/esm2015/lib/error/error.module.js +1 -1
- package/esm2015/lib/error/models/error-common-config.js +1 -1
- package/esm2015/lib/faq/components/faq/faq.component.js +1 -1
- package/esm2015/lib/faq/faq-api.js +1 -1
- package/esm2015/lib/faq/faq.module.js +1 -1
- package/esm2015/lib/faq/models/faq-config.js +1 -1
- package/esm2015/lib/faq/models/faq.js +1 -1
- package/esm2015/lib/footer/components/footer/footer.component.js +1 -1
- package/esm2015/lib/footer/components/site-map/site-map.component.js +1 -1
- package/esm2015/lib/footer/footer-api.js +1 -1
- package/esm2015/lib/footer/footer.module.js +1 -1
- package/esm2015/lib/footer/models/enum/site-map-direction.js +1 -1
- package/esm2015/lib/footer/models/footer-config.js +1 -1
- package/esm2015/lib/footer/models/site-map-models.js +1 -1
- package/esm2015/lib/forms/components/sof-address/sof-address.component.js +1 -1
- package/esm2015/lib/forms/directives/alphanumeric/alphanumeric.directive.js +1 -1
- package/esm2015/lib/forms/directives/input-trim/input-trim.directive.js +97 -0
- package/esm2015/lib/forms/directives/letters-only/letters-only.directive.js +1 -1
- package/esm2015/lib/forms/directives/numbers-only/numbers-only.directive.js +1 -1
- package/esm2015/lib/forms/forms-api.js +2 -1
- package/esm2015/lib/forms/forms.module.js +4 -2
- package/esm2015/lib/forms/models/address.js +1 -1
- package/esm2015/lib/forms/models/constants.js +1 -1
- package/esm2015/lib/forms/models/county.js +1 -1
- package/esm2015/lib/forms/models/enums/states.js +1 -1
- package/esm2015/lib/forms/pipes/phone-format.pipe.js +1 -1
- package/esm2015/lib/forms/services/alert.service.js +1 -1
- package/esm2015/lib/header/components/header/header.component.js +1 -1
- package/esm2015/lib/header/components/mobile-header-menu/mobile-header-menu.component.js +1 -1
- package/esm2015/lib/header/header-api.js +1 -1
- package/esm2015/lib/header/header.module.js +1 -1
- package/esm2015/lib/header/models/header-auth.settings.js +1 -1
- package/esm2015/lib/header/models/header-language.settings.js +1 -1
- package/esm2015/lib/header/models/header-theme.settings.js +1 -1
- package/esm2015/lib/header/models/header.settings.js +1 -1
- package/esm2015/lib/header/models/mobile-header-nav.settings.js +1 -1
- package/esm2015/lib/navigation/components/navigation/navigation.component.js +1 -1
- package/esm2015/lib/navigation/models/nav-theme.settings.js +1 -1
- package/esm2015/lib/navigation/models/nav.settings.js +1 -1
- package/esm2015/lib/navigation/models/navigation.js +1 -1
- package/esm2015/lib/navigation/navigation-api.js +1 -1
- package/esm2015/lib/navigation/navigation.module.js +1 -1
- package/esm2015/lib/oauth/models/constants.js +1 -1
- package/esm2015/lib/oauth/models/generated/accountManagementAssertionModel.js +1 -1
- package/esm2015/lib/oauth/models/generated/accountManagementRefreshRequestModel.js +1 -1
- package/esm2015/lib/oauth/models/generated/accountManagementResponseModel.js +1 -1
- package/esm2015/lib/oauth/models/generated/coverageDetail.js +1 -1
- package/esm2015/lib/oauth/models/generated/finance.js +1 -1
- package/esm2015/lib/oauth/models/generated/iSsoResponseModel.js +1 -1
- package/esm2015/lib/oauth/models/generated/iSsoResponseModelAccountManagementAssertionModel.js +1 -1
- package/esm2015/lib/oauth/models/generated/person.js +1 -1
- package/esm2015/lib/oauth/models/generated/policy.js +1 -1
- package/esm2015/lib/oauth/models/generated/refreshResponseModel.js +1 -1
- package/esm2015/lib/oauth/models/hybrid-saml-oauth-config.js +1 -1
- package/esm2015/lib/oauth/oauth-api.js +1 -1
- package/esm2015/lib/oauth/oauth.module.js +1 -1
- package/esm2015/lib/oauth/services/hybrid-saml-oauth.service.js +1 -1
- package/esm2015/lib/rbac/directives/rbac-action.directive.js +1 -1
- package/esm2015/lib/rbac/models/access-token-claims.js +1 -1
- package/esm2015/lib/rbac/models/constants.js +1 -1
- package/esm2015/lib/rbac/models/decoded-access-token.js +1 -1
- package/esm2015/lib/rbac/models/rbac-config.js +1 -1
- package/esm2015/lib/rbac/models/role-access.js +1 -1
- package/esm2015/lib/rbac/rbac-api.js +1 -1
- package/esm2015/lib/rbac/rbac.module.js +1 -1
- package/esm2015/lib/rbac/services/ar-role-nav.service.js +1 -1
- package/esm2015/lib/rbac/services/oauth2-role.service.js +1 -1
- package/esm2015/lib/rbac/services/role-nav.service.js +1 -1
- package/esm2015/lib/resize-panels/components/resize-panels/resize-panels.component.js +1 -1
- package/esm2015/lib/resize-panels/models/resize-event.js +1 -1
- package/esm2015/lib/resize-panels/resize-panels-api.js +1 -1
- package/esm2015/lib/resize-panels/resize-panels.module.js +1 -1
- package/esm2015/lib/rum/models/arm-error.js +1 -1
- package/esm2015/lib/rum/models/rum-config.js +1 -1
- package/esm2015/lib/rum/rum-api.js +1 -1
- package/esm2015/lib/rum/rum.module.js +1 -1
- package/esm2015/lib/rum/services/rum.service.js +1 -1
- package/esm2015/lib/rum/services/shared-error.service.js +1 -1
- package/esm2015/lib/rum/services/softheon-error-handler.service.js +1 -1
- package/esm2015/lib/saml/components/redirect-saml/redirect-saml.component.js +1 -1
- package/esm2015/lib/saml/models/i-saml-request.js +1 -1
- package/esm2015/lib/saml/models/i-saml-response.js +1 -1
- package/esm2015/lib/saml/models/redirect-saml-request.js +1 -1
- package/esm2015/lib/saml/models/sso-gateway-model.js +1 -1
- package/esm2015/lib/saml/saml-api.js +1 -1
- package/esm2015/lib/saml/saml.module.js +1 -1
- package/esm2015/lib/saml/services/entry/abstract-saml-entry.service.js +1 -1
- package/esm2015/lib/saml/services/entry/sso-gateway-entry.service.js +1 -1
- package/esm2015/lib/saml/services/send-off/abstract-saml.service.js +1 -1
- package/esm2015/lib/saml/services/send-off/saml.service.js +1 -1
- package/esm2015/lib/sof-pipe/constants/constants.js +1 -1
- package/esm2015/lib/sof-pipe/models/sof-date-pipe-format.js +1 -1
- package/esm2015/lib/sof-pipe/pipes/sof-blank/sof-blank.pipe.js +1 -1
- package/esm2015/lib/sof-pipe/pipes/sof-date/sof-date.pipe.js +1 -1
- package/esm2015/lib/sof-pipe/pipes/sof-ssn/sof-ssn.pipe.js +1 -1
- package/esm2015/lib/sof-pipe/sof-pipe.api.js +1 -1
- package/esm2015/lib/sof-pipe/sof-pipe.module.js +1 -1
- package/esm2015/lib/theming/directives/css-override.directive.js +1 -1
- package/esm2015/lib/theming/models/css-override.js +1 -1
- package/esm2015/lib/theming/services/theme.service.js +1 -1
- package/esm2015/lib/theming/theme-api.js +1 -1
- package/esm2015/lib/theming/theme.module.js +1 -1
- package/esm2015/public-api.js +1 -1
- package/esm2015/softheon-armature.js +1 -1
- package/fesm2015/softheon-armature.js +100 -4
- package/fesm2015/softheon-armature.js.map +1 -1
- package/lib/base-components/sof-modal/sof-modal.component.d.ts +2 -0
- package/lib/forms/directives/input-trim/input-trim.directive.d.ts +55 -0
- package/lib/forms/forms-api.d.ts +1 -0
- package/package.json +1 -1
- package/softheon-armature.metadata.json +1 -1
|
@@ -539,4 +539,4 @@ ArmatureNavigationComponent.propDecorators = {
|
|
|
539
539
|
setLanguage$: [{ type: Output }]
|
|
540
540
|
};
|
|
541
541
|
export { ɵ0 };
|
|
542
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiUzovQjAyL193b3JrLzU0Ni9zL2xpYnJhcnkvcHJvamVjdHMvYXJtYXR1cmUvc3JjLyIsInNvdXJjZXMiOlsibGliL25hdmlnYXRpb24vY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQWlCLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsTUFBTSxFQUFhLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJMUssT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQWMsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7V0FnQmhDLEVBQUUsMkJBQTJCLEVBQUUsS0FBSyxFQUFFO0FBVnJGLDBGQUEwRjtBQUUxRjs7R0FFRztBQVNILE1BQU0sT0FBTywyQkFBMkI7SUF5SHRDOzs7Ozs7OztPQVFHO0lBQ0gsWUFDVyxpQkFBb0MsRUFDcEMsS0FBbUIsRUFDWCxNQUFjLEVBQ3ZCLGFBQTRCLEVBQ25CLG9CQUEwQyxFQUM5QixhQUFnQztRQUxwRCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLFVBQUssR0FBTCxLQUFLLENBQWM7UUFDWCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ3ZCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ25CLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDOUIsa0JBQWEsR0FBYixhQUFhLENBQW1CO1FBdkgvRCxnREFBZ0Q7UUFDaEMsYUFBUSxHQUF1QixFQUFFLENBQUM7UUFFbEQsZ0RBQWdEO1FBQ2hDLHFCQUFnQixHQUErQixFQUFFLENBQUM7UUFFbEUsZ0RBQWdEO1FBQ2hDLGtCQUFhLEdBQTRCLEVBQUUsQ0FBQztRQUU1RCx5REFBeUQ7UUFDekMscUJBQWdCLEdBQTJCLEVBQUUsQ0FBQztRQVE5RCxxQkFBcUI7UUFDSixpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBTzNFLHNDQUFzQztRQUMvQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBRWxDLCtEQUErRDtRQUN4RCx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFXM0MsZ0NBQWdDO1FBQ3pCLHdCQUFtQixHQUFXLENBQUMsQ0FBQztRQUV2QywrQkFBK0I7UUFDeEIseUJBQW9CLEdBQThCLEVBQUUsQ0FBQztRQUU1RCxvQ0FBb0M7UUFDN0IscUJBQWdCLEdBQVcsQ0FBQyxDQUFDO1FBUXBDLDBDQUEwQztRQUNuQyxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQW9CdkMsZ0NBQWdDO1FBQ3hCLGVBQVUsR0FBaUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUt0RCxvQ0FBb0M7UUFDN0IsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFFcEMsNENBQTRDO1FBQ3JDLGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBRXJDLGdDQUFnQztRQUN4QixzQkFBaUIsR0FBaUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUs3RCw4QkFBOEI7UUFDdEIsdUJBQWtCLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFOUQsOEJBQThCO1FBQ3ZCLHVCQUFrQixHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTdELCtCQUErQjtRQUN2QixlQUFVLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFtQnBELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxHQUFHLEVBQUU7WUFDL0IsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbEMsZ0RBQWdEO1lBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsS0FBSyxVQUFVLEVBQUU7Z0JBQ3ZFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDdEI7UUFDSCxDQUFDLENBQUM7UUFDRixrR0FBa0c7UUFDbEcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFO1lBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQ3hFO2FBQ0k7WUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUN6RDtJQUNILENBQUM7SUFuSEQsaUNBQWlDO0lBQ2pDLElBQVcsYUFBYTs7UUFDdEIsbUJBQU8sSUFBSSxDQUFDLGdCQUFnQiwwQ0FBRSxTQUFTLDBDQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFO0lBQzdFLENBQUM7SUFrSEQsdUNBQXVDO0lBQ2hDLFFBQVE7O1FBRWIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDckcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDOUYsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFMUcsSUFBSSxDQUFDLG9CQUFvQixTQUFHLElBQUksQ0FBQyxjQUFjLDBDQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFdBQVcsS0FBSSxJQUFJLENBQUMsQ0FBQztRQUMzRixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hGLElBQUksQ0FBQyxjQUFjLFNBQUcsSUFBSSxDQUFDLGNBQWMsMENBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsV0FBVyxLQUFJLElBQUksQ0FBQyxDQUFDO1FBRXJGLHNEQUFzRDtRQUN0RCxNQUFBLElBQUksQ0FBQyxjQUFjLDBDQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMvQixJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFDWixDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2FBQ2pGO1lBQ0QsOEJBQThCO1lBQzlCLElBQUksQ0FBQyxDQUFDLFVBQVUsSUFBSSxJQUFJLEVBQUU7Z0JBQ3hCLENBQUMsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO2FBQ3RCO1FBQ0gsQ0FBQyxFQUFFO1FBRUgsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFekIsZ0NBQWdDO1FBQ2hDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEtBQUssVUFBVSxFQUFFO1lBQzFDLCtDQUErQztZQUMvQyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVDLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDakYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztvQkFDbEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDekQ7YUFDRjtZQUVELDJCQUEyQjtZQUMzQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO1lBRzFGLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxDQUFDO2lCQUNyRSxTQUFTLENBQUMsQ0FBQyxLQUFvQixFQUFFLEVBQUU7Z0JBQ2xDLHNDQUFzQztnQkFDdEMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMxQyxDQUFDLENBQUMsQ0FDTCxDQUFDO1lBRUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQy9FLElBQUksS0FBSyxFQUFFO2dCQUNULElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFBO2FBQ3JEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTs7Z0JBQ3RFLElBQUksTUFBTSxFQUFFO29CQUNWLGdCQUFJLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxVQUFVLDBDQUFFLFFBQVEsMENBQUUsUUFBUSxFQUFFO3dCQUMxQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO3dCQUMxQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO3dCQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQzVDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTs0QkFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDOzRCQUMvQixVQUFVLENBQUMsR0FBRyxFQUFFOztnQ0FDZCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO2dDQUNyQixNQUFBLElBQUksQ0FBQyxhQUFhLDBDQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtvQ0FDcEMsT0FBTyxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7b0NBQzFCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQ0FDbEIsQ0FBQyxFQUFFOzRCQUNMLENBQUMsQ0FBQyxDQUFDO3lCQUNKO3dCQUNELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFOzs0QkFDOUIsQ0FBQyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7NEJBQ2xCLENBQUMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDOzRCQUNuQixNQUFBLENBQUMsQ0FBQyxRQUFRLDBDQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQ0FDdEIsQ0FBQyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0NBQ2xCLENBQUMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDOzRCQUNyQixDQUFDLEVBQUM7d0JBQ0osQ0FBQyxDQUFDLENBQUM7d0JBQ0gsaUVBQWlFO3dCQUNqRSxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO3dCQUM1QyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7cUJBQ3BDO29CQUVELHlGQUF5RjtvQkFDekYsSUFBSSxhQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxVQUFVLDBDQUFFLFFBQVEsMENBQUUsNEJBQTRCLEtBQUksSUFBSTsyQkFDakUsSUFBSSxDQUFDLDRCQUE0QixpQkFBSSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsVUFBVSwwQ0FBRSxRQUFRLDBDQUFFLDRCQUE0QixDQUFBOzJCQUMvRixJQUFJLENBQUMsMkJBQTJCLGlCQUFJLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxVQUFVLDBDQUFFLFFBQVEsMENBQUUsMkJBQTJCLENBQUE7MkJBQzdGLGFBQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFVBQVUsMENBQUUsUUFBUSwwQ0FBRSwyQkFBMkIsS0FBSSxJQUFJLEVBQUU7d0JBRXRFLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyw0QkFBNEIsQ0FBQzt3QkFDNUYsSUFBSSxDQUFDLDJCQUEyQixHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLDJCQUEyQixDQUFDO3dCQUUxRixxQkFBcUI7d0JBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxDQUFDOzZCQUNyRSxTQUFTLENBQUMsQ0FBQyxLQUFvQixFQUFFLEVBQUU7NEJBQ2xDLHNDQUFzQzs0QkFDdEMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDMUMsQ0FBQyxDQUFDLENBQ0wsQ0FBQzt3QkFDRixtQ0FBbUM7d0JBQ25DLElBQUksT0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxRQUFRLDBDQUFFLE1BQU0sSUFBRyxJQUFJLENBQUMsMkJBQTJCLEVBQUU7NEJBQ2xILElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLEVBQzNFLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDO3lCQUMxRzs2QkFDSTs0QkFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO3lCQUN0RjtxQkFDRjt5QkFDSTt3QkFDSCxxQkFBcUI7d0JBQ3JCLElBQUksQ0FBQyw0QkFBNEIsZUFBRyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsVUFBVSwwQ0FBRSxRQUFRLDBDQUFFLDRCQUE0QixDQUFBO3dCQUM5RixJQUFJLENBQUMsMkJBQTJCLGVBQUcsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFVBQVUsMENBQUUsUUFBUSwwQ0FBRSwyQkFBMkIsQ0FBQztxQkFDOUY7aUJBQ0Y7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELDhEQUE4RDtJQUN2RCxlQUFlO1FBQ3BCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzNCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO29CQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTt3QkFDakIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQzt3QkFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNsRCxDQUFDLENBQUE7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUU7b0JBQzVDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFO3dCQUNyQyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTs0QkFDakIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQzs0QkFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDbkUsQ0FBQyxDQUFBO29CQUNILENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ2xFLElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGlCQUFpQjtJQUNWLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxnQkFBZ0IsQ0FBQyxHQUFZO1FBQ2xDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxpQkFBaUI7UUFDdEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGFBQWEsQ0FBQyxRQUFnQixFQUFFLEtBQWE7UUFDbEQsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGFBQWEsUUFBUSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksa0JBQWtCLENBQUMsV0FBbUIsRUFBRSxVQUFrQjtRQUMvRCwyQkFBMkI7UUFDM0IsSUFBSSxVQUFVLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2pCLE9BQU8sUUFBUSxDQUFDO2FBQ2pCO1lBQ0QsdUJBQXVCO1lBQ3ZCLElBQUksV0FBVyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFO2dCQUM5QyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBRWhELE9BQU8sUUFBUSxDQUFDO2FBQ2pCO1lBQ0Qsc0JBQXNCO2lCQUNqQixJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sRUFBRTtnQkFDN0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLFdBQVcsQ0FBQztxQkFDekQsS0FBSyxFQUFFLENBQUM7Z0JBRVgsT0FBTyxRQUFRLENBQUM7YUFDakI7WUFDRCx1QkFBdUI7aUJBQ2xCLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFO2dCQUNqRCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBRWhELE9BQU8sTUFBTSxDQUFDO2FBQ2Y7aUJBQ0k7Z0JBQ0gsT0FBTyxRQUFRLENBQUM7YUFDakI7U0FDRjthQUNJO1lBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3ZCLE9BQU8sTUFBTSxDQUFDO2FBQ2Y7WUFDRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxXQUFXLENBQUMsQ0FBQztZQUNsRixJQUFJLFVBQVUsS0FBSyxZQUFZLENBQUMsYUFBYSxFQUFFO2dCQUM3QyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUVyRSxPQUFPLFFBQVEsQ0FBQzthQUNqQjtpQkFDSSxJQUFJLFVBQVUsR0FBRyxZQUFZLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sRUFBRTtnQkFDakgsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssVUFBVSxDQUFDO3FCQUN4RCxLQUFLLEVBQUUsQ0FBQztnQkFFWCxPQUFPLFFBQVEsQ0FBQzthQUNqQjtpQkFDSSxJQUFJLFVBQVUsR0FBRyxZQUFZLENBQUMsYUFBYSxFQUFFO2dCQUNoRCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUVyRSxPQUFPLE1BQU0sQ0FBQzthQUNmO2lCQUNJO2dCQUNILE9BQU8sTUFBTSxDQUFDO2FBQ2Y7U0FDRjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSSxRQUFRLENBQUMsS0FBYTtRQUMzQixpREFBaUQ7UUFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGNBQWMsQ0FBQyxVQUFrQjtRQUN0QyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDekMsaURBQWlEO1lBQ2pELElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbEU7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksdUJBQXVCLENBQUMsR0FBVztRQUN4QyxJQUFJLFVBQVUsQ0FBQztRQUNmLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFOztZQUNsRCxVQUFVLFNBQUcsQ0FBQyxDQUFDLFFBQVEsMENBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hGLE9BQU8sVUFBVSxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvRSxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksV0FBVyxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQ3JCLFdBQVcsR0FBRyxDQUFDLENBQUE7U0FDaEI7UUFFRCwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFFdEksMkJBQTJCO1FBQzNCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFFN0Usc0JBQXNCO1FBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGFBQWEsQ0FBQyxVQUFtQixFQUFFLFNBQXNCO1FBQzlELElBQUksU0FBUyxFQUFFO1lBQ2IsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7WUFDL0IsSUFBSSxVQUFVLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUcsc0RBQXNEO1lBQ3RELFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3pELE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2dCQUN4QixPQUFPLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUN6QixDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFVBQVUsQ0FBQztRQUNuQyxxQ0FBcUM7UUFDckMsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0csSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwRCxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUVsQixtRkFBbUY7WUFDbkYsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUU7Z0JBQ2pCLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUNyQixDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztvQkFDbEIsQ0FBQyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBQ25CLENBQUMsQ0FBQyxDQUFBO2FBQ0g7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUNGLG1DQUFtQztRQUNuQyxVQUFVLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLFNBQVMsRUFBRTtZQUNiLFNBQVMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxZQUFZLENBQUMsRUFBRSxFQUFFLEtBQWE7UUFDbkMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7TUFFRTtJQUNLLElBQUk7UUFDVCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQ7O1NBRUs7SUFDRSxNQUFNO1FBQ1gsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRDs7T0FFRztJQUNJLHdCQUF3QjtRQUM3QixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFO1lBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxhQUFhLENBQUMsSUFBMkI7UUFDOUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxzQ0FBc0M7SUFDL0IsV0FBVyxDQUFDLEtBQWE7UUFDOUIsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztJQUM1RSxDQUFDO0lBRUQsc0NBQXNDO0lBQzlCLG1CQUFtQjtRQUN6QixlQUFlO1FBQ2YsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLHNDQUFzQztZQUN0QyxJQUFJLFVBQVUsQ0FBQztZQUNmLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFOztnQkFDbEQsVUFBVSxTQUFHLENBQUMsQ0FBQyxRQUFRLDBDQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUU1RixPQUFPLFVBQVUsR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDL0UsQ0FBQyxDQUFDLENBQUM7WUFDSCxxREFBcUQ7WUFDckQsSUFBSSxXQUFXLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQ3RCLFdBQVcsR0FBRyxDQUFDLENBQUM7YUFDakI7WUFFRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsV0FBVyxDQUFDO1lBQ3ZDLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxXQUFXLENBQUMsQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDO2FBQzFGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxlQUFlO1FBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLENBQUM7YUFDckUsU0FBUyxDQUFDLENBQUMsS0FBb0IsRUFBRSxFQUFFO1lBQ2xDLHNDQUFzQztZQUN0QyxJQUFJLFVBQVUsQ0FBQztZQUNmLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFOztnQkFDbEQsVUFBVSxTQUFHLENBQUMsQ0FBQyxRQUFRLDBDQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFcEcsT0FBTyxVQUFVLEdBQUcsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN2RixDQUFDLENBQUMsQ0FBQztZQUNILHFEQUFxRDtZQUNyRCxJQUFJLFdBQVcsS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDdEIsV0FBVyxHQUFHLENBQUMsQ0FBQzthQUNqQjtZQUVELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxXQUFXLENBQUM7WUFDdkMsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLFdBQVcsQ0FBQyxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUM7YUFDMUY7UUFDSCxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ0osQ0FBQztJQUVELDRDQUE0QztJQUNwQyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDdEcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLENBQUM7UUFDckYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQztJQUVyRixDQUFDO0lBRUQseUNBQXlDO0lBQ2pDLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDMUgsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUMxRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUM7UUFDdEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLElBQUksU0FBUyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDakksSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNqSSxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2hJLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUM3SCxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLHNCQUFzQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3RJLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDdEksSUFBSSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxhQUFhLENBQUMsNEJBQTRCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDM0csSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxhQUFhLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDckcsQ0FBQztJQUVELHlDQUF5QztJQUNqQyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixJQUFJLDBCQUEwQixDQUFDO1FBQ3BHLElBQUksQ0FBQyxRQUFRLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsSUFBSSwyQkFBMkIsQ0FBQztRQUNqSCxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7UUFDMUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO1FBQzlHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztRQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLElBQUksYUFBYSxDQUFDO1FBQ2pGLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxJQUFJLFFBQVEsQ0FBQztRQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7UUFDMUcsSUFBSSxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLDJCQUEyQixJQUFJLHFCQUFxQixDQUFDO1FBQy9HLElBQUksQ0FBQyxRQUFRLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsSUFBSSxlQUFlLENBQUM7UUFDckcsSUFBSSxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLDBCQUEwQixJQUFJLGVBQWUsQ0FBQztRQUN2RyxJQUFJLENBQUMsUUFBUSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsd0JBQXdCLElBQUksY0FBYyxDQUFDO1FBQ2xHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQTtRQUM1RyxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLElBQUksS0FBSyxDQUFDO1FBQy9FLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsSUFBSSxLQUFLLENBQUM7UUFDN0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixJQUFJLEtBQUssQ0FBQztRQUM3RSxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLElBQUksS0FBSyxDQUFDO1FBQzNFLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNsSSxDQUFDOzs7WUF0bkJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QiwydDRCQUEwQztnQkFFMUMsU0FBUyxFQUFFLENBQUM7d0JBQ1YsT0FBTyxFQUFFLHNCQUFzQjt3QkFBRSxRQUFRLElBQXdDO3FCQUNsRixDQUFDOzthQUNIOzs7WUE1QnVCLGlCQUFpQjtZQUZoQyxZQUFZO1lBTUcsTUFBTTtZQUtyQixhQUFhO1lBRGIsb0JBQW9CO1lBRXBCLGlCQUFpQix1QkEySnJCLFFBQVE7OztzQkFySVYsU0FBUyxTQUFDLGFBQWE7c0JBR3ZCLFNBQVMsU0FBQyxNQUFNOzZCQUdoQixTQUFTLFNBQUMsT0FBTzs0QkFHakIsWUFBWSxTQUFDLGtCQUFrQjs2QkFHL0IsS0FBSzt1QkFHTCxLQUFLOytCQUdMLEtBQUs7NEJBR0wsS0FBSzsrQkFHTCxLQUFLOzBCQUdMLEtBQUs7eUJBR0wsS0FBSzsyQkFHTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVkaWFNYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XHJcbmltcG9ydCB7IFNURVBQRVJfR0xPQkFMX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci9jZGsvc3RlcHBlcic7XHJcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEV4cGFuc2lvblBhbmVsIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgTWF0U2lkZW5hdiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xyXG5pbXBvcnQgeyBNYXRWZXJ0aWNhbFN0ZXBwZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zdGVwcGVyJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQmFzZUNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvcmUvbW9kZWxzL2Jhc2UtY29uZmlnJztcclxuaW1wb3J0IHsgQXV0aG9yaXphdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2F1dGhvcml6YXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEJhbm5lclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2Jhbm5lci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFzZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2Jhc2UtY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIZWFkZXJMYW5ndWFnZVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vLi4vaGVhZGVyL21vZGVscy9oZWFkZXItbGFuZ3VhZ2Uuc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uVGhlbWVTZXR0aW5ncyB9IGZyb20gJy4uLy4uL21vZGVscy9uYXYtdGhlbWUuc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uQWR2YW5jZWRTZXR0aW5ncywgTmF2aWdhdGlvblNldHRpbmdzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL25hdi5zZXR0aW5ncyc7XHJcbmltcG9ydCB7IE5hdk5vZGUsIFN1Yk5hdk5vZGVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL25hdmlnYXRpb24nO1xyXG5cclxuLy8gVE9ETzogc2VlIGhvdyB0aGlzIGNhbiBmaXQgd2l0aCB0aGUgYHNvZi1wcm9ncmVzcy1iYXJgIGNvbXBvbmVudC4gUG9zc2libHkgY29tYmluZSB0aGVtXHJcblxyXG4vKipcclxuICogVGhlIE5hdmlnYXRpb24gQ29tcG9uZW50XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NvZi1hci1uYXZpZ2F0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbmF2aWdhdGlvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IFNURVBQRVJfR0xPQkFMX09QVElPTlMsIHVzZVZhbHVlOiB7IGRpc3BsYXlEZWZhdWx0SW5kaWNhdG9yVHlwZTogZmFsc2UgfVxyXG4gIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcm1hdHVyZU5hdmlnYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIC8qKiBUaGUgcGFyZW50IHN0ZXBwZXIgKi9cclxuICBAVmlld0NoaWxkKCd2ZXJ0U3RlcHBlcicpIHB1YmxpYyBzdGVwcGVyOiBNYXRWZXJ0aWNhbFN0ZXBwZXI7XHJcblxyXG4gIC8qKiBUaGUgc2lkZSBtb2JpbGUgbmF2ICovXHJcbiAgQFZpZXdDaGlsZCgnc25hdicpIHB1YmxpYyBzaWRlbmF2OiBNYXRTaWRlbmF2O1xyXG5cclxuICAvKiogVGhlIG1vYmlsZSBleHBhbnNpb24gcGFuZWwgZm9yIHByb2dyZXNzIG1lbnUgKi9cclxuICBAVmlld0NoaWxkKCdwYW5lbCcpIHB1YmxpYyBleHBhbnNpb25QYW5lbDogTWF0RXhwYW5zaW9uUGFuZWw7XHJcblxyXG4gIC8qKiBUaGUgY2hpbGQgc3RlcHBlcnMgKi9cclxuICBAVmlld0NoaWxkcmVuKCd2ZXJ0U3RlcHBlcklubmVyJykgcHVibGljIGlubmVyU3RlcHBlcnM6IFF1ZXJ5TGlzdDxNYXRWZXJ0aWNhbFN0ZXBwZXI+O1xyXG5cclxuICAvKiogQ29tcG9uZW50IElucHV0IC0gdGhlIG5hdmlnYXRpb24gZGF0YSAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBuYXZpZ2F0aW9uRGF0YTogTmF2Tm9kZVtdO1xyXG5cclxuICAvKiogQ29tcG9uZW50IElucHV0IC0gdGhlIG5hdmlnYXRpb24gc2V0dGluZ3MgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgc2V0dGluZ3M6IE5hdmlnYXRpb25TZXR0aW5ncyA9IHt9O1xyXG5cclxuICAvKiogQ29tcG9uZW50IElucHV0IC0gdGhlIG5hdmlnYXRpb24gc2V0dGluZ3MgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgYWR2YW5jZWRTZXR0aW5nczogTmF2aWdhdGlvbkFkdmFuY2VkU2V0dGluZ3MgPSB7fTtcclxuXHJcbiAgLyoqIENvbXBvbmVudCBJbnB1dCAtIHRoZSBuYXZpZ2F0aW9uIHNldHRpbmdzICovXHJcbiAgQElucHV0KCkgcHVibGljIHRoZW1lU2V0dGluZ3M6IE5hdmlnYXRpb25UaGVtZVNldHRpbmdzID0ge307XHJcblxyXG4gIC8qKiBDb21wb25lbnQgSW5wdXQgLSB0aGUgbmF2aWdhdGlvbiBsYW5ndWFnZSBzZXR0aW5ncyAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBsYW5ndWFnZVNldHRpbmdzOiBIZWFkZXJMYW5ndWFnZVNldHRpbmdzID0ge307XHJcblxyXG4gIC8qKiBDdXJyZW50IGxhbmd1YWdlICoqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXJyZW50TGFuZzogc3RyaW5nO1xyXG5cclxuICAvKiogbG9nT3V0IHRleHQgKiovXHJcbiAgQElucHV0KCkgcHVibGljIGxvZ091dFRleHQ6IHN0cmluZztcclxuXHJcbiAgLyoqIFNldHMgbGFuZ3VhZ2UgKiovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBzZXRMYW5ndWFnZSQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIC8qKiBnZXRzIHRoZSBub24gdXNlZCBsYW5ndWFnZSAqL1xyXG4gIHB1YmxpYyBnZXQgb3RoZXJMYW5nVGV4dCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VTZXR0aW5ncz8ubGFuZ3VhZ2VzPy5maW5kKHggPT4geCAhPT0gdGhpcy5jdXJyZW50TGFuZyk7XHJcbiAgfVxyXG5cclxuICAvKiogV2hldGhlciBzaWRlIG5hdiBpcyBvcGVuIG9yIG5vdCAqL1xyXG4gIHB1YmxpYyBpc05hdk9wZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIE1vYmlsZSBTdWJOYXYgLSB3aGV0aGVyIG9yIG5vdCB0aGUgbW9iaWxlIFN1Yk5hdiBpcyBvcGVuICovXHJcbiAgcHVibGljIGlzTW9iaWxlU3ViTmF2T3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKiogTW9iaWxlIFN1Yk5hdiAtdGhlIGRhdGEgdG8gYmUgcGFzc2VkIHRvIHRoZSBtb2JpbGUgU3ViTmF2ICovXHJcbiAgcHVibGljIGN1cnJlbnRNb2JpbGVOYXY6IE5hdk5vZGU7XHJcblxyXG4gIC8qKiBTZXR0aW5ncyAtIHRoZSBtYWluIG1lbnUgdGV4dCB0aGF0IGFwcGVhcnMgaW4gdGhlIG1vYmlsZSBTdWJOYXYgKi9cclxuICBwdWJsaWMgbWFpbk1lbnVUZXh0OiBzdHJpbmc7XHJcblxyXG4gIC8qKiB0aGUgbW9iaWxlIHF1ZXJ5ICovXHJcbiAgcHVibGljIG1vYmlsZVF1ZXJ5OiBNZWRpYVF1ZXJ5TGlzdDtcclxuXHJcbiAgLyoqIFRoZSBzZWxlY3RlZCBwYXJlbnQgaW5kZXggKi9cclxuICBwdWJsaWMgc2VsZWN0ZWRQYXJlbnRJbmRleDogbnVtYmVyID0gMDtcclxuXHJcbiAgLyoqIFRoZSBzZWxlY3RlZCBjaGlsZCBpbmRleCAqL1xyXG4gIHB1YmxpYyBzZWxlY3RlZENoaWxkSW5kZXhlczogeyBba2V5OiBudW1iZXJdOiBudW1iZXIgfSA9IHt9O1xyXG5cclxuICAvKiogVGhlIG5hdmlnYXRpb24gcHJvZ3Jlc3MgY291bnQgKi9cclxuICBwdWJsaWMgbmF2UHJvZ3Jlc3NDb3VudDogbnVtYmVyID0gMDtcclxuXHJcbiAgLyoqIFRoZSBjdXJyZW50IGFjdGl2ZSBwYXJlbnQgbm9kZSAqL1xyXG4gIHB1YmxpYyBhY3RpdmVQYXJlbnROb2RlOiBOYXZOb2RlO1xyXG5cclxuICAvKiogVGhlIGN1cnJlbnQgYWN0aXZlIHN1YiBub2RlICovXHJcbiAgcHVibGljIGFjdGl2ZVN1Yk5vZGU6IFN1Yk5hdk5vZGVzO1xyXG5cclxuICAvKiogVHJ1ZSBpZiB0aGUgZXhwYW5zaW9uIHBhbmVsIGlzIG9wZW4gKi9cclxuICBwdWJsaWMgcGFuZWxPcGVuU3RhdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIFRoZSBmb290ZXIgbmF2aWdhdGlvbiBkYXRhICovXHJcbiAgcHVibGljIGZvb3Rlck5hdmlnYXRpb25EYXRhOiBOYXZOb2RlW11cclxuXHJcbiAgLyoqIHVzZXIgbmFtZSAqKi9cclxuICBwdWJsaWMgdXNlck5hbWU6IHN0cmluZztcclxuXHJcbiAgLyoqIFRoZSBjb25maWcgb2JzZXJ2YWJsZSAqL1xyXG4gIHB1YmxpYyBjb25maWckOiBPYnNlcnZhYmxlPEJhc2VDb25maWc+O1xyXG5cclxuICAvKiogVGhlIHBhcmVudCBub2RlIGluZGV4IHRvIGJlIHNldCB3aGVuIG5hdiBpcyB0b2dnbGVkIHRvIHByb2dyZXNzIG1lbnUgc3R5bGUgKi9cclxuICBwdWJsaWMgdG9nZ2xlUHJvZ3Jlc3NOYXZQYXJlbnRJbmRleDogbnVtYmVyO1xyXG5cclxuICAvKiogVGhlIGNoaWxkIG5vZGUgaW5kZXggdG8gYmUgc2V0IHdoZW4gbmF2IGlzIHRvZ2dsZWQgdG8gcHJvZ3Jlc3MgbWVudSBzdHlsZSAqL1xyXG4gIHB1YmxpYyB0b2dnbGVQcm9ncmVzc05hdkNoaWxkSW5kZXg6IG51bWJlcjtcclxuXHJcbiAgLyoqIHRoZSBtb2JpbGUgcXVlcnkgbGlzdGVuZXIyICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfbW9iaWxlUXVlcnlMaXN0ZW5lcjogKCkgPT4gdm9pZDtcclxuXHJcbiAgLyoqIFRoZSBuYXYgYmluZCBzdWJzY3JpcHRpb24gKi9cclxuICBwcml2YXRlIG5hdkJpbmRTdWI6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcbiAgLyoqIFRoZSBtZXNzYWdlIHRvIGRpc3BsYXkgKi9cclxuICBwdWJsaWMgbWVzc2FnZTogc3RyaW5nO1xyXG5cclxuICAvKiogV2hldGhlciB3ZSBzaG91bGQgdGhlIG1lc3NhZ2UgKi9cclxuICBwdWJsaWMgc2hvd01lc3NhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIFdoZXRoZXIgc2hvdWxkIHNob3cgY2hlY2sgbWFyayBvciBub3QgKi9cclxuICBwdWJsaWMgc2hvd0NoZWNrTWFyazogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKiBUaGUgbmF2IGJpbmQgc3Vic2NyaXB0aW9uICovXHJcbiAgcHJpdmF0ZSBsb2dJblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG5cclxuICAvKiogVGhlIGNvdW50IG9mIGZvb3RlciBpdGVtcyovXHJcbiAgcHVibGljIGZvb3Rlckl0ZW1Db3VudDogbnVtYmVyO1xyXG5cclxuICAvKiogVGhlIGJhbm5lciBzdWJzY3JpcHRpb24gKi9cclxuICBwcml2YXRlIGJhbm5lclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG5cclxuICAvKiogVGhlIGNvbmZpZyBzdWJzY3JpcHRpb24gKi9cclxuICBwdWJsaWMgY29uZmlnU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcblxyXG4gIC8qKiBUaGUgc2lkZW5hdiBzdWJzY3JpcHRpb24gKi9cclxuICBwcml2YXRlIHNpZGVOYXZTdWI6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogdGhlIGNvbnN0cnVjdG9yXHJcbiAgICogQHBhcmFtIGNoYW5nZURldGVjdG9yUmVmIHRoZSBjaGFuZ2UgZGV0ZWN0b3IgcmVmZXJlbmNlXHJcbiAgICogQHBhcmFtIG1lZGlhIHRoZSBtZWRpYSBtYXRjaGVyXHJcbiAgICogQHBhcmFtIHJvdXRlciBUaGUgcm91dGVyXHJcbiAgICogQHBhcmFtIGJhbm5lclNlcnZpY2UgVGhlIEJhbm5lciBTZXJ2aWNlXHJcbiAgICogQHBhcmFtIGFjdGl2YXRlZFJvdXRlIFRoZSBhY3RpdmF0ZWQgcm91dGVcclxuICAgKiBAcGFyYW0gY29uZmlnU2VydmljZSBUaGUgY29uZmlnIHNlcnZpY2VcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHJlYWRvbmx5IG1lZGlhOiBNZWRpYU1hdGNoZXIsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBiYW5uZXJTZXJ2aWNlOiBCYW5uZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRob3JpemF0aW9uU2VydmljZTogQXV0aG9yaXphdGlvblNlcnZpY2UsXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2U6IEJhc2VDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLm1vYmlsZVF1ZXJ5ID0gbWVkaWEubWF0Y2hNZWRpYSgnKG1heC13aWR0aDogOTU5cHgpJyk7XHJcbiAgICB0aGlzLl9tb2JpbGVRdWVyeUxpc3RlbmVyID0gKCkgPT4ge1xyXG4gICAgICBjaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIC8vIGNsb3NlIHRoZSBzaWRlbmF2IHdoZW4gc2NyZWVuIHNpemUgaXMgY2hhbmdlZFxyXG4gICAgICBpZiAoIXRoaXMubW9iaWxlUXVlcnkubWF0Y2hlcyAmJiB0aGlzLnNldHRpbmdzLm1lbnVTdHlsZSA9PT0gJ3Byb2dyZXNzJykge1xyXG4gICAgICAgIHRoaXMuc2lkZW5hdi5jbG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgLy8gYmVsb3cgaWYgc3RhdGVtZW50IGlzIGZvciBlZGdlIHN1cHBvcnQgc2luY2UgYWRkRXZlbnRMaXN0ZW5lciBkb2Vzbid0IGV4aXN0IGZvciBNZWRpYVF1ZXJ5TGlzdHNcclxuICAgIGlmICh0aGlzLm1vYmlsZVF1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIpIHtcclxuICAgICAgdGhpcy5tb2JpbGVRdWVyeS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLl9tb2JpbGVRdWVyeUxpc3RlbmVyKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLm1vYmlsZVF1ZXJ5LmFkZExpc3RlbmVyKHRoaXMuX21vYmlsZVF1ZXJ5TGlzdGVuZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIE9uIEluaXQgLSBjb25maWd1cmUgdGhlIHNldHRpbmdzICovXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG5cclxuICAgIHRoaXMuYmFubmVyU3Vic2NyaXB0aW9uLmFkZCh0aGlzLmJhbm5lclNlcnZpY2Uuc2hvd0Jhbm5lciQuc3Vic2NyaWJlKHZhbCA9PiB0aGlzLnNob3dNZXNzYWdlID0gdmFsKSk7XHJcbiAgICB0aGlzLmJhbm5lclN1YnNjcmlwdGlvbi5hZGQodGhpcy5iYW5uZXJTZXJ2aWNlLm1lc3NhZ2UkLnN1YnNjcmliZSh2YWwgPT4gdGhpcy5tZXNzYWdlID0gdmFsKSk7XHJcbiAgICB0aGlzLmJhbm5lclN1YnNjcmlwdGlvbi5hZGQodGhpcy5iYW5uZXJTZXJ2aWNlLnNob3dDaGVja01hcmskLnN1YnNjcmliZSh2YWwgPT4gdGhpcy5zaG93Q2hlY2tNYXJrID0gdmFsKSk7XHJcblxyXG4gICAgdGhpcy5mb290ZXJOYXZpZ2F0aW9uRGF0YSA9IHRoaXMubmF2aWdhdGlvbkRhdGE/LmZpbHRlcihub2RlID0+IG5vZGU/LmFsdExvY2F0aW9uID09IHRydWUpO1xyXG4gICAgdGhpcy5mb290ZXJJdGVtQ291bnQgPSB0aGlzLmZvb3Rlck5hdmlnYXRpb25EYXRhID8gdGhpcy5mb290ZXJOYXZpZ2F0aW9uRGF0YS5sZW5ndGggOiAwO1xyXG4gICAgdGhpcy5uYXZpZ2F0aW9uRGF0YSA9IHRoaXMubmF2aWdhdGlvbkRhdGE/LmZpbHRlcihub2RlID0+IG5vZGU/LmFsdExvY2F0aW9uICE9IHRydWUpO1xyXG5cclxuICAgIC8vIGlmIHBhcmVudHMgaGF2ZSBubyByb3V0ZSwgZ3JhYiBmaXJzdCByb3V0ZSBvZiBjaGlsZFxyXG4gICAgdGhpcy5uYXZpZ2F0aW9uRGF0YT8uZm9yRWFjaChuID0+IHtcclxuICAgICAgaWYgKCFuLnJvdXRlKSB7XHJcbiAgICAgICAgbi5yb3V0ZSA9IG4uc3ViTm9kZXMgJiYgbi5zdWJOb2Rlcy5sZW5ndGggPiAwID8gbi5zdWJOb2Rlc1swXS5yb3V0ZSA6IHVuZGVmaW5lZDtcclxuICAgICAgfVxyXG4gICAgICAvLyBlbmFibGUgYWxsIHBhZ2VzIGJ5IGRlZmF1bHRcclxuICAgICAgaWYgKG4uaXNEaXNhYmxlZCA9PSBudWxsKSB7XHJcbiAgICAgICAgbi5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuaW5pdEJhc2ljU2V0dGluZ3MoKTtcclxuICAgIHRoaXMuaW5pdEFkdmFuY2VkU2V0dGluZ3MoKTtcclxuICAgIHRoaXMuaW5pdFRoZW1lU2V0dGluZ3MoKTtcclxuXHJcbiAgICAvLyBpbml0IGJpbmRpbmcgZm9yIHByb2dyZXNzIG5hdlxyXG4gICAgaWYgKHRoaXMuc2V0dGluZ3MubWVudVN0eWxlID09PSAncHJvZ3Jlc3MnKSB7XHJcbiAgICAgIC8vIHNldCB0aGUgZmlyc3Qgbm9kZSBhbmQgY2hpbGQgbm9kZSBhcyB2aXNpdGVkXHJcbiAgICAgIGlmICh0aGlzLm5hdmlnYXRpb25EYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRpb25EYXRhWzBdLnZpc2l0ZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMubmF2aWdhdGUodGhpcy5uYXZpZ2F0aW9uRGF0YVswXS5yb3V0ZSk7XHJcbiAgICAgICAgaWYgKHRoaXMubmF2aWdhdGlvbkRhdGFbMF0uc3ViTm9kZXMgJiYgdGhpcy5uYXZpZ2F0aW9uRGF0YVswXS5zdWJOb2Rlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLm5hdmlnYXRpb25EYXRhWzBdLnN1Yk5vZGVzWzBdLnZpc2l0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5uYXZpZ2F0ZSh0aGlzLm5hdmlnYXRpb25EYXRhWzBdLnN1Yk5vZGVzWzBdLnJvdXRlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIHNldCBpbml0aWFsIHByb2dyZXNzIGJhclxyXG4gICAgICB0aGlzLm5hdlByb2dyZXNzQ291bnQgPSAodGhpcy5zZWxlY3RlZFBhcmVudEluZGV4ICsgMSkgLyB0aGlzLm5hdmlnYXRpb25EYXRhLmxlbmd0aCAqIDEwMDtcclxuXHJcblxyXG4gICAgICB0aGlzLm5hdkJpbmRTdWIuYWRkKFxyXG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IE5hdmlnYXRpb25FbmQpID0+IHtcclxuICAgICAgICAgICAgLy8gZmluZCBwYXJlbnQgaW5kZXggd2l0aCBhY3RpdmUgY2hpbGRcclxuICAgICAgICAgICAgdGhpcy5nZXRBY3RpdmVQYXJlbnRBbmRDaGlsZChldmVudC51cmwpO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAgIHRoaXMuc2V0dGluZ3MuYWxsb3dOYXZUb2dnbGUgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMubG9nSW5TdWJzY3JpcHRpb24gPSB0aGlzLmF1dGhvcml6YXRpb25TZXJ2aWNlLmlzTG9nZ2VkSW4kLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgIHRoaXMudXNlck5hbWUgPSB0aGlzLmF1dGhvcml6YXRpb25TZXJ2aWNlLnVzZXJOYW1lKClcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnU2VydmljZSkge1xyXG4gICAgICB0aGlzLmNvbmZpZ1N1YnNjcmlwdGlvbiA9IHRoaXMuY29uZmlnU2VydmljZS5jb25maWckLnN1YnNjcmliZShjb25maWcgPT4ge1xyXG4gICAgICAgIGlmIChjb25maWcpIHtcclxuICAgICAgICAgIGlmIChjb25maWc/Lm5hdmlnYXRpb24/LnNldHRpbmdzPy5yZXNldE5hdikge1xyXG4gICAgICAgICAgICB0aGlzLm5hdlByb2dyZXNzQ291bnQgPSAwO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkUGFyZW50SW5kZXggPSAwO1xyXG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRlKHRoaXMubmF2aWdhdGlvbkRhdGFbMF0ucm91dGUpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5zdGVwcGVyKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zdGVwcGVyLnNlbGVjdGVkSW5kZXggPSAwO1xyXG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdGVwcGVyLnJlc2V0KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlubmVyU3RlcHBlcnM/LmZvckVhY2goc3RlcHBlciA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIHN0ZXBwZXIuc2VsZWN0ZWRJbmRleCA9IDA7XHJcbiAgICAgICAgICAgICAgICAgIHN0ZXBwZXIucmVzZXQoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGlvbkRhdGEuZm9yRWFjaChuID0+IHtcclxuICAgICAgICAgICAgICBuLnZpc2l0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICBuLmNvbXBsZXRlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgbi5zdWJOb2Rlcz8uZm9yRWFjaChzID0+IHtcclxuICAgICAgICAgICAgICAgIHMudmlzaXRlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgcy5jb21wbGV0ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAvLyByZXNldCBiYWNrIHRvIGZhbHNlIHRvIGF2b2lkIG11bHRpcGxlIHRyaWdnZXJzIG9uIGZ1dHVyZSBjYWxsc1xyXG4gICAgICAgICAgICBjb25maWcubmF2aWdhdGlvbi5zZXR0aW5ncy5yZXNldE5hdiA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnID0gY29uZmlnO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC8vIGlmIHRoZSB2YWx1ZXMgd2VyZSBjaGFuZ2VkIGFuZCBub3QgbnVsbCwgaXQgbWVhbnMgdGhhdCB0aGUgbmF2IHdhcyB0b2dnbGVkIHRvIHByb2dyZXNzXHJcbiAgICAgICAgICBpZiAoY29uZmlnPy5uYXZpZ2F0aW9uPy5zZXR0aW5ncz8udG9nZ2xlUHJvZ3Jlc3NOYXZQYXJlbnRJbmRleCAhPSBudWxsXHJcbiAgICAgICAgICAgICYmIHRoaXMudG9nZ2xlUHJvZ3Jlc3NOYXZQYXJlbnRJbmRleCAhPSBjb25maWc/Lm5hdmlnYXRpb24/LnNldHRpbmdzPy50b2dnbGVQcm9ncmVzc05hdlBhcmVudEluZGV4XHJcbiAgICAgICAgICAgICYmIHRoaXMudG9nZ2xlUHJvZ3Jlc3NOYXZDaGlsZEluZGV4ICE9IGNvbmZpZz8ubmF2aWdhdGlvbj8uc2V0dGluZ3M/LnRvZ2dsZVByb2dyZXNzTmF2Q2hpbGRJbmRleFxyXG4gICAgICAgICAgICAmJiBjb25maWc/Lm5hdmlnYXRpb24/LnNldHRpbmdzPy50b2dnbGVQcm9ncmVzc05hdkNoaWxkSW5kZXggIT0gbnVsbCkge1xyXG5cclxuICAgICAgICAgICAgdGhpcy50b2dnbGVQcm9ncmVzc05hdlBhcmVudEluZGV4ID0gY29uZmlnLm5hdmlnYXRpb24uc2V0dGluZ3MudG9nZ2xlUHJvZ3Jlc3NOYXZQYXJlbnRJbmRleDtcclxuICAgICAgICAgICAgdGhpcy50b2dnbGVQcm9ncmVzc05hdkNoaWxkSW5kZXggPSBjb25maWcubmF2aWdhdGlvbi5zZXR0aW5ncy50b2dnbGVQcm9ncmVzc05hdkNoaWxkSW5kZXg7XHJcblxyXG4gICAgICAgICAgICAvLyBhZGQgdGhlIHJvdXRlciBzdWJcclxuICAgICAgICAgICAgdGhpcy5uYXZCaW5kU3ViLmFkZChcclxuICAgICAgICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSlcclxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIC8vIGZpbmQgcGFyZW50IGluZGV4IHdpdGggYWN0aXZlIGNoaWxkXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0QWN0aXZlUGFyZW50QW5kQ2hpbGQoZXZlbnQudXJsKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIC8vIGlmIHRoZSBjaGlsZCBub2RlIGluZGV4IGlzIHZhbGlkXHJcbiAgICAgICAgICAgIGlmIChjb25maWcubmF2aWdhdGlvbi5ub2Rlc1t0aGlzLnRvZ2dsZVByb2dyZXNzTmF2UGFyZW50SW5kZXhdLnN1Yk5vZGVzPy5sZW5ndGggPiB0aGlzLnRvZ2dsZVByb2dyZXNzTmF2Q2hpbGRJbmRleCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0Tm9kZVN0YXRlcyhjb25maWcubmF2aWdhdGlvbi5ub2Rlc1t0aGlzLnRvZ2dsZVByb2dyZXNzTmF2UGFyZW50SW5kZXhdLFxyXG4gICAgICAgICAgICAgICAgY29uZmlnLm5hdmlnYXRpb24ubm9kZXNbdGhpcy50b2dnbGVQcm9ncmVzc05hdlBhcmVudEluZGV4XS5zdWJOb2Rlc1t0aGlzLnRvZ2dsZVByb2dyZXNzTmF2Q2hpbGRJbmRleF0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0Tm9kZVN0YXRlcyhjb25maWcubmF2aWdhdGlvbi5ub2Rlc1t0aGlzLnRvZ2dsZVByb2dyZXNzTmF2UGFyZW50SW5kZXhdLCBudWxsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgaW5kZXhlc1xyXG4gICAgICAgICAgICB0aGlzLnRvZ2dsZVByb2dyZXNzTmF2UGFyZW50SW5kZXggPSBjb25maWc/Lm5hdmlnYXRpb24/LnNldHRpbmdzPy50b2dnbGVQcm9ncmVzc05hdlBhcmVudEluZGV4XHJcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlUHJvZ3Jlc3NOYXZDaGlsZEluZGV4ID0gY29uZmlnPy5uYXZpZ2F0aW9uPy5zZXR0aW5ncz8udG9nZ2xlUHJvZ3Jlc3NOYXZDaGlsZEluZGV4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogTGlmZSBjeWNsZSBob29rIGZvciBhZnRlciBjb21wb25lbnQgdmlldyBpbml0aWFsaXphdGlvbiAqL1xyXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZXR0aW5ncy5tZW51U3R5bGUgPT09ICdzdGVwcGVyJykge1xyXG4gICAgICB0aGlzLmJpbmRTdGVwcGVyVG9Sb3V0ZXMoKTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zdGVwcGVyLnN0ZXBzLmZvckVhY2goKHN0ZXAsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICBzdGVwLnNlbGVjdCA9ICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFBhcmVudEluZGV4ID0gaW5kZXg7XHJcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGUodGhpcy5uYXZpZ2F0aW9uRGF0YVtpbmRleF0ucm91dGUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuaW5uZXJTdGVwcGVycy5mb3JFYWNoKChzdGVwcGVyLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgc3RlcHBlci5zdGVwcy5mb3JFYWNoKChzdGVwLCBqaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgc3RlcC5zZWxlY3QgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENoaWxkSW5kZXhlc1tpbmRleF0gPSBqaW5kZXg7XHJcbiAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZSh0aGlzLm5hdmlnYXRpb25EYXRhW2luZGV4XS5zdWJOb2Rlc1tqaW5kZXhdLnJvdXRlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zaWRlTmF2U3ViID0gdGhpcy5zaWRlbmF2Lm9wZW5lZENoYW5nZS5zdWJzY3JpYmUoZHJhd2VyU3RhdGUgPT4ge1xyXG4gICAgICB0aGlzLmlzTmF2T3BlbiA9IGRyYXdlclN0YXRlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKiogT24gRGVzdHJveSAqL1xyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMubW9iaWxlUXVlcnkucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhpcy5fbW9iaWxlUXVlcnlMaXN0ZW5lcik7XHJcbiAgICB0aGlzLm5hdkJpbmRTdWIudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMubG9nSW5TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuYmFubmVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLmNvbmZpZ1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5zaWRlTmF2U3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNb2JpbGUgU3ViTmF2IC0gb3BlbiB0aGUgU3ViTmF2XHJcbiAgICogQHBhcmFtIG5hdiB0aGUgbmF2IGRhdGEgdG8gYmUgcGFzc2VkIHRvIHRoZSBTdWJOYXZcclxuICAgKi9cclxuICBwdWJsaWMgb3Blbk1vYmlsZVN1Yk5hdihuYXY6IE5hdk5vZGUpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNNb2JpbGVTdWJOYXZPcGVuID0gdHJ1ZTtcclxuICAgIHRoaXMuY3VycmVudE1vYmlsZU5hdiA9IG5hdjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1vYmlsZSBTdWJOYXYgLSBjbG9zZXMgdGhlIFN1Yk5hdlxyXG4gICAqL1xyXG4gIHB1YmxpYyBjbG9zZU1vYmlsZVN1Yk5hdigpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNNb2JpbGVTdWJOYXZPcGVuID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSB0aGVtZSBjb2xvclxyXG4gICAqIEBwYXJhbSB2YXJpYWJsZSB0aGUgY3NzIHZhcmlhYmxlIG5hbWVcclxuICAgKiBAcGFyYW0gY29sb3IgdGhlIGNvbG9yXHJcbiAgICovXHJcbiAgcHVibGljIHNldFRoZW1lQ29sb3IodmFyaWFibGU6IHN0cmluZywgY29sb3I6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KGAtLXNvZi1uYXYtJHt2YXJpYWJsZX1gLCBjb2xvcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZXRlcm1pbmVzIHRoZSBzdGVwIHN0YXRlXHJcbiAgICogQHBhcmFtIHBhcmVudEluZGV4IFRoZSBwYXJlbnQgaW5kZXhcclxuICAgKiBAcGFyYW0gY2hpbGRJbmRleCBUaGUgY2hpbGQgaW5kZXhcclxuICAgKiBAcmV0dXJucyBUaGUgc3RlcCBzdGF0ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBkZXRlcm1pbmVTdGVwU3RhdGUocGFyZW50SW5kZXg6IG51bWJlciwgY2hpbGRJbmRleDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIC8vIG5vdCBwYXNzZWQgJiYgbm90IGFjdGl2ZVxyXG4gICAgaWYgKGNoaWxkSW5kZXggPT09IC0xKSB7XHJcbiAgICAgIGlmICghdGhpcy5zdGVwcGVyKSB7XHJcbiAgICAgICAgcmV0dXJuICdudW1iZXInO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIG5vdCBwYXNzZWQgJiYgYWN0aXZlXHJcbiAgICAgIGlmIChwYXJlbnRJbmRleCA9PT0gdGhpcy5zdGVwcGVyLnNlbGVjdGVkSW5kZXgpIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRpb25EYXRhW3BhcmVudEluZGV4XS52aXNpdGVkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgcmV0dXJuICdhY3RpdmUnO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIHBhc3NlZCBidXQgbmF2IGJhY2tcclxuICAgICAgZWxzZSBpZiAocGFyZW50SW5kZXggPiB0aGlzLnN0ZXBwZXIuc2VsZWN0ZWRJbmRleCAmJiB0aGlzLm5hdmlnYXRpb25EYXRhW3BhcmVudEluZGV4XS52aXNpdGVkKSB7XHJcbiAgICAgICAgdGhpcy5zdGVwcGVyLnN0ZXBzLmZpbmQoKHMsIGluZGV4KSA9PiBpbmRleCA9PT0gcGFyZW50SW5kZXgpXHJcbiAgICAgICAgICAucmVzZXQoKTtcclxuXHJcbiAgICAgICAgcmV0dXJuICdhY3RpdmUnO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIHBhc3NlZCAmJiBub3QgYWN0aXZlXHJcbiAgICAgIGVsc2UgaWYgKHBhcmVudEluZGV4IDwgdGhpcy5zdGVwcGVyLnNlbGVjdGVkSW5kZXgpIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRpb25EYXRhW3BhcmVudEluZGV4XS52aXNpdGVkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgcmV0dXJuICdkb25lJztcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICByZXR1cm4gJ251bWJlcic7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBpZiAoIXRoaXMuaW5uZXJTdGVwcGVycykge1xyXG4gICAgICAgIHJldHVybiAnbm9uZSc7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgaW5uZXJTdGVwcGVyID0gdGhpcy5pbm5lclN0ZXBwZXJzLmZpbmQoKHMsIGluZGV4KSA9PiBpbmRleCA9PT0gcGFyZW50SW5kZXgpO1xyXG4gICAgICBpZiAoY2hpbGRJbmRleCA9PT0gaW5uZXJTdGVwcGVyLnNlbGVjdGVkSW5kZXgpIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRpb25EYXRhW3BhcmVudEluZGV4XS5zdWJOb2Rlc1tjaGlsZEluZGV4XS52aXNpdGVkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgcmV0dXJuICdhY3RpdmUnO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGNoaWxkSW5kZXggPiBpbm5lclN0ZXBwZXIuc2VsZWN0ZWRJbmRleCAmJiB0aGlzLm5hdmlnYXRpb25EYXRhW3BhcmVudEluZGV4XS5zdWJOb2Rlc1tjaGlsZEluZGV4XS52aXNpdGVkKSB7XHJcbiAgICAgICAgaW5uZXJTdGVwcGVyLnN0ZXBzLmZpbmQoKHMsIGluZGV4KSA9PiBpbmRleCA9PT0gY2hpbGRJbmRleClcclxuICAgICAgICAgIC5yZXNldCgpO1xyXG5cclxuICAgICAgICByZXR1cm4gJ2FjdGl2ZSc7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAoY2hpbGRJbmRleCA8IGlubmVyU3RlcHBlci5zZWxlY3RlZEluZGV4KSB7XHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uRGF0YVtwYXJlbnRJbmRleF0uc3ViTm9kZXNbY2hpbGRJbmRleF0udmlzaXRlZCA9IHRydWU7XHJcblxyXG4gICAgICAgIHJldHVybiAnZG9uZSc7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuICdub25lJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTmF2aWdhdGVzIHRvIHRoZSBwcm92aWRlZCByb3V0ZVxyXG4gICAqIEBwYXJhbSByb3V0ZSBUaGUgcm91dGVcclxuICAgKi9cclxuICBwdWJsaWMgbmF2aWdhdGUocm91dGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1mbG9hdGluZy1wcm9taXNlc1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChyb3V0ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBOYXZpZ2F0ZXMgdG8gZ2l2ZW4gc3RlcFxyXG4gICAqIEBwYXJhbSBzdGVwTnVtYmVyIFRoZSBzdGVwIG51bWJlciB0byBuYXZpZ2F0ZSB0b1xyXG4gICAqL1xyXG4gIHB1YmxpYyBuYXZpZ2F0ZVRvU3RlcChzdGVwTnVtYmVyOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmIChzdGVwTnVtYmVyIDwgdGhpcy5zZWxlY3RlZFBhcmVudEluZGV4KSB7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tZmxvYXRpbmctcHJvbWlzZXNcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLm5hdmlnYXRpb25EYXRhW3N0ZXBOdW1iZXJdLnJvdXRlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgdGhlIGFjdGl2ZSBwYXJlbnQgYW5kIGNoaWxkIG5vZGVzIFxyXG4gICAqIEBwYXJhbSB1cmwgVGhlIHJvdXRlciB1cmxcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0QWN0aXZlUGFyZW50QW5kQ2hpbGQodXJsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGxldCBjaGlsZEluZGV4O1xyXG4gICAgbGV0IHBhcmVudEluZGV4ID0gdGhpcy5uYXZpZ2F0aW9uRGF0YS5maW5kSW5kZXgobiA9PiB7XHJcbiAgICAgIGNoaWxkSW5kZXggPSBuLnN1Yk5vZGVzPy5maW5kSW5kZXgocyA9PiB1cmwuaW5jbHVkZXMocy5yb3V0ZS5yZXBsYWNlKCcuJywgJycpKSk7XHJcbiAgICAgIHJldHVybiBjaGlsZEluZGV4ID4gLTEgfHwgdGhpcy5yb3V0ZXIudXJsLmluY2x1ZGVzKG4ucm91dGUucmVwbGFjZSgnLicsICcnKSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAocGFyZW50SW5kZXggPT0gLTEpIHtcclxuICAgICAgcGFyZW50SW5kZXggPSAwXHJcbiAgICB9XHJcblxyXG4gICAgLy8gc2V0IHRoZSBhY3RpdmUgcGFyZW50IG5vZGUgYW5kIHN1YiBub2RlXHJcbiAgICB0aGlzLmFjdGl2ZVBhcmVudE5vZGUgPSB0aGlzLm5hdmlnYXRpb25EYXRhW3BhcmVudEluZGV4XTtcclxuICAgIHRoaXMuYWN0aXZlU3ViTm9kZSA9IGNoaWxkSW5kZXggPiAtMSAmJiB0aGlzLmFjdGl2ZVBhcmVudE5vZGUuc3ViTm9kZXMubGVuZ3RoID4gMCA/IHRoaXMuYWN0aXZlUGFyZW50Tm9kZS5zdWJOb2Rlc1tjaGlsZEluZGV4XSA6IG51bGw7XHJcblxyXG4gICAgLy8gY29tcHV0ZSB0aGUgcHJvZ3Jlc3MgYmFyXHJcbiAgICB0aGlzLm5hdlByb2dyZXNzQ291bnQgPSAocGFyZW50SW5kZXggKyAxKSAvIHRoaXMubmF2aWdhdGlvbkRhdGEubGVuZ3RoICogMTAwO1xyXG5cclxuICAgIC8vIHNldCB0aGUgbm9kZSBzdGF0ZXNcclxuICAgIHRoaXMuc2V0Tm9kZVN0YXRlcyh0aGlzLmFjdGl2ZVBhcmVudE5vZGUsIHRoaXMuYWN0aXZlU3ViTm9kZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBjb21wbGV0ZSBhbmQgdmlzaXRlZCBzdGF0ZXMgZm9yIGFsbCBOYXZOb2RlcyBcclxuICAgKiBAcGFyYW0gcGFyZW50Tm9kZSBUaGUgcGFyZW50IG5vZGVcclxuICAgKiBAcGFyYW0gY2hpbGROb2RlIFRoZSBjaGlsZCBub2RlXHJcbiAgICovXHJcbiAgcHVibGljIHNldE5vZGVTdGF0ZXMocGFyZW50Tm9kZTogTmF2Tm9kZSwgY2hpbGROb2RlOiBTdWJOYXZOb2Rlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoaWxkTm9kZSkge1xyXG4gICAgICB0aGlzLmFjdGl2ZVN1Yk5vZGUgPSBjaGlsZE5vZGU7XHJcbiAgICAgIGxldCBjaGlsZEluZGV4ID0gcGFyZW50Tm9kZS5zdWJOb2Rlcy5pbmRleE9mKGNoaWxkTm9kZSkgPiAtMSA/IHBhcmVudE5vZGUuc3ViTm9kZXMuaW5kZXhPZihjaGlsZE5vZGUpIDogMDtcclxuICAgICAgLy8gYWxsIHN1Ym5vZGVzIGJlZm9yZSB0aGlzIHdlcmUgY29tcGxldGVkIGFuZCB2aXNpdGVkXHJcbiAgICAgIHBhcmVudE5vZGUuc3ViTm9kZXMuc2xpY2UoMCwgY2hpbGRJbmRleCkuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICBlbGVtZW50LmNvbXBsZXRlID0gdHJ1ZTtcclxuICAgICAgICBlbGVtZW50LnZpc2l0ZWQgPSB0cnVlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuYWN0aXZlUGFyZW50Tm9kZSA9IHBhcmVudE5vZGU7XHJcbiAgICAvLyBzZXQgYWxsIHByZXZpb3VzIG5vZGVzIHRvIGNvbXBsZXRlXHJcbiAgICBsZXQgcGFyZW50SW5kZXggPSB0aGlzLm5hdmlnYXRpb25EYXRhLmluZGV4T2YocGFyZW50Tm9kZSkgPiAtMSA/IHRoaXMubmF2aWdhdGlvbkRhdGEuaW5kZXhPZihwYXJlbnROb2RlKSA6IDA7XHJcbiAgICB0aGlzLm5hdmlnYXRpb25EYXRhLnNsaWNlKDAsIHBhcmVudEluZGV4KS5mb3JFYWNoKGQgPT4ge1xyXG4gICAgICBkLmNvbXBsZXRlID0gdHJ1ZTtcclxuXHJcbiAgICAgIC8vIHNldCBhbGwgc3Vibm9kZXMgb2YgcHJldmlvdXMgbm9kZXMgdG8gY29tcGxldGUgb25seSBpZiB0aGUgbm9kZSB3YXMgbm90IGRpc2FibGVkXHJcbiAgICAgIGlmICghZC5pc0Rpc2FibGVkKSB7XHJcbiAgICAgICAgZC5zdWJOb2Rlcy5mb3JFYWNoKHMgPT4ge1xyXG4gICAgICAgICAgcy5jb21wbGV0ZSA9IHRydWU7XHJcbiAgICAgICAgICBzLnZpc2l0ZWQgPSB0cnVlO1xyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICAvLyBzZXQgdGhlIGN1cnJlbnQgbm9kZXMgYXMgdmlzaXRlZFxyXG4gICAgcGFyZW50Tm9kZS52aXNpdGVkID0gdHJ1ZTtcclxuICAgIGlmIChjaGlsZE5vZGUpIHtcclxuICAgICAgY2hpbGROb2RlLnZpc2l0ZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xvc2VzIHRoZSBleHBhbnNpb24gcGFuZWwgYW5kIG5hdmlnYXRlcyB0byB0aGUgZ2l2ZW4gbm9kZVxyXG4gICAqIEBwYXJhbSBlbCBUaGUgbWF0IGV4cGFuc2lvbiBwYW5lbCBcclxuICAgKiBAcGFyYW0gaW5kZXggVGhlIHBhcmVudCBub2RlIGluZGV4IFxyXG4gICAqL1xyXG4gIHB1YmxpYyBkaXNhYmxlUGFuZWwoZWwsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGVsLmNsb3NlKCk7XHJcbiAgICB0aGlzLm5hdmlnYXRlKHRoaXMubmF2aWdhdGlvbkRhdGFbaW5kZXhdLnJvdXRlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICogSGlkZXMgdGhlIG1lc3NhZ2VcclxuICAqL1xyXG4gIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93TWVzc2FnZSA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTG9ncyBvdXQgb25jZSB1c2VyIGlzIGF1dGhvcml6ZWRcclxuICAgKiAqL1xyXG4gIHB1YmxpYyBsb2dPdXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmF1dGhvcml6YXRpb25TZXJ2aWNlLmF1dGhvcml6ZVVzZXIoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsb3NlcyBtb2JpbGUgbmF2aWdhdGlvbiBhZnRlciBzZWxlY3Rpb24uXHJcbiAgICovXHJcbiAgcHVibGljIGNsb3NlTmF2aWdhdGlvbkZvck1vYmlsZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm1vYmlsZVF1ZXJ5Lm1hdGNoZXMpIHtcclxuICAgICAgdGhpcy5zaWRlbmF2LmNsb3NlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJcyB0aGUgbmF2aWdhdGlvbiBzZWxlY3RlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBpc05hdlNlbGVjdGVkKG5vZGU6IE5hdk5vZGUgfCBTdWJOYXZOb2Rlcyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucm91dGVyLmlzQWN0aXZlKG5vZGUucm91dGUsIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqIFNldHMgdGhlIHdpZHRoIGZvciB0aGUgc2lkZSBuYXYgKi9cclxuICBwdWJsaWMgc2V0TmF2V2lkdGgod2lkdGg6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gd2lkdGguaW5jbHVkZXMoJyUnKSB8fCB3aWR0aC5pbmNsdWRlcygncHgnKSA/IHdpZHRoIDogd2lkdGggKyAncHgnO1xyXG4gIH1cclxuXHJcbiAgLyoqIEJpbmRzIHRoZSBzdGVwcGVyIHRvIHRoZSByb3V0ZXIgKi9cclxuICBwcml2YXRlIGJpbmRTdGVwcGVyVG9Sb3V0ZXMoKTogdm9pZCB7XHJcbiAgICAvLyBmaW5kIHBhcmVudHNcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAvLyBmaW5kIHBhcmVudCBpbmRleCB3aXRoIGFjdGl2ZSBjaGlsZFxyXG4gICAgICBsZXQgY2hpbGRJbmRleDtcclxuICAgICAgbGV0IHBhcmVudEluZGV4ID0gdGhpcy5uYXZpZ2F0aW9uRGF0YS5maW5kSW5kZXgobiA9PiB7XHJcbiAgICAgICAgY2hpbGRJbmRleCA9IG4uc3ViTm9kZXM/LmZpbmRJbmRleChzID0+IHRoaXMucm91dGVyLnVybC5pbmNsdWRlcyhzLnJvdXRlLnJlcGxhY2UoJy4nLCAnJykpKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGNoaWxkSW5kZXggPiAtMSB8fCB0aGlzLnJvdXRlci51cmwuaW5jbHVkZXMobi5yb3V0ZS5yZXBsYWNlKCcuJywgJycpKTtcclxuICAgICAgfSk7XHJcbiAgICAgIC8vIGlmIG5vIGNoaWxkcmVuIG9yIG5vIGluZGV4ZXMgYWN0aXZhdGUgZmlyc3QgcGFyZW50XHJcbiAgICAgIGlmIChwYXJlbnRJbmRleCA9PT0gLTEpIHtcclxuICAgICAgICBwYXJlbnRJbmRleCA9IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRQYXJlbnRJbmRleCA9IHBhcmVudEluZGV4O1xyXG4gICAgICBpZiAoY2hpbGRJbmRleCA+IC0xKSB7XHJcbiAgICAgICAgdGhpcy5pbm5lclN0ZXBwZXJzLmZpbmQoKGlzLCBpbmRleCkgPT4gaW5kZXggPT09IHBhcmVudEluZGV4KS5zZWxlY3RlZEluZGV4ID0gY2hpbGRJbmRleDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gZmluZCBwYXJlbnRzXHJcbiAgICB0aGlzLm5hdkJpbmRTdWIuYWRkKFxyXG4gICAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSlcclxuICAgICAgICAuc3Vic2NyaWJlKChldmVudDogTmF2aWdhdGlvbkVuZCkgPT4ge1xyXG4gICAgICAgICAgLy8gZmluZCBwYXJlbnQgaW5kZXggd2l0aCBhY3RpdmUgY2hpbGRcclxuICAgICAgICAgIGxldCBjaGlsZEluZGV4O1xyXG4gICAgICAgICAgbGV0IHBhcmVudEluZGV4ID0gdGhpcy5uYXZpZ2F0aW9uRGF0YS5maW5kSW5kZXgobiA9PiB7XHJcbiAgICAgICAgICAgIGNoaWxkSW5kZXggPSBuLnN1Yk5vZGVzPy5maW5kSW5kZXgocyA9PiBldmVudC51cmxBZnRlclJlZGlyZWN0cy5pbmNsdWRlcyhzLnJvdXRlLnJlcGxhY2UoJy4nLCAnJykpKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBjaGlsZEluZGV4ID4gLTEgfHwgZXZlbnQudXJsQWZ0ZXJSZWRpcmVjdHMuaW5jbHVkZXMobi5yb3V0ZS5yZXBsYWNlKCcuJywgJycpKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgLy8gaWYgbm8gY2hpbGRyZW4gb3Igbm8gaW5kZXhlcyBhY3RpdmF0ZSBmaXJzdCBwYXJlbnRcclxuICAgICAgICAgIGlmIChwYXJlbnRJbmRleCA9PT0gLTEpIHtcclxuICAgICAgICAgICAgcGFyZW50SW5kZXggPSAwO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRQYXJlbnRJbmRleCA9IHBhcmVudEluZGV4O1xyXG4gICAgICAgICAgaWYgKGNoaWxkSW5kZXggPiAtMSkge1xyXG4gICAgICAgICAgICB0aGlzLmlubmVyU3RlcHBlcnMuZmluZCgoaXMsIGluZGV4KSA9PiBpbmRleCA9PT0gcGFyZW50SW5kZXgpLnNlbGVjdGVkSW5kZXggPSBjaGlsZEluZGV4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqIEluaXRpYWxpemVzIHRoZSBhZHZhbmNlZCBuYXYgc2V0dGluZ3MgKi9cclxuICBwcml2YXRlIGluaXRBZHZhbmNlZFNldHRpbmdzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5hZHZhbmNlZFNldHRpbmdzLnRvcEdhcERlc2t0b3AgPSB0aGlzLmFkdmFuY2VkU2V0dGluZ3MudG9wR2FwRGVza3RvcCB8fCAwO1xyXG4gICAgdGhpcy5hZHZhbmNlZFNldHRpbmdzLnRvcEdhcE1vYmlsZSA9IHRoaXMuYWR2YW5jZWRTZXR0aW5ncy50b3BHYXBNb2JpbGUgfHwgdGhpcy5zZXR0aW5ncy5oZWFkZXJIZWlnaHQ7XHJcbiAgICB0aGlzLmFkdmFuY2VkU2V0dGluZ3MubWFyZ2luVG9wRGVza3RvcCA9IHRoaXMuYWR2YW5jZWRTZXR0aW5ncy5tYXJnaW5Ub3BEZXNrdG9wIHx8IDA7XHJcbiAgICB0aGlzLmFkdmFuY2VkU2V0dGluZ3MubWFyZ2luVG9wTW9iaWxlID0gdGhpcy5hZHZhbmNlZFNldHRpbmdzLm1hcmdpblRvcE1vYmlsZSB8fCAwO1xyXG5cclxuICB9XHJcblxyXG4gIC8qKiBJbml0aWFsaXplcyB0aGUgbmF2IHRoZW1lIHNldHRpbmdzICovXHJcbiAgcHJpdmF0ZSBpbml0VGhlbWVTZXR0aW5ncygpOiB2b2lkIHtcclxuICAgIHRoaXMudGhlbWVTZXR0aW5ncy5jb250ZW50QmdDb2xvciA/IHRoaXMuc2V0VGhlbWVDb2xvcignY29udGVudC1iZy1jb2xvcicsIHRoaXMudGhlbWVTZXR0aW5ncy5jb250ZW50QmdDb2xvcikgOiB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MuZm9udENvbG9yID8gdGhpcy5zZXRUaGVtZUNvbG9yKCdmb250LWNvbG9yJywgdGhpcy50aGVtZVNldHRpbmdzLmZvbnRDb2xvcikgOiB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MuZm9udENvbG9yID0gdGhpcy50aGVtZVNldHRpbmdzLmZvbnRDb2xvciB8fCAnIzAwMCc7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MubW9iaWxlQmdDb2xvciA9IHRoaXMudGhlbWVTZXR0aW5ncy5tb2JpbGVCZ0NvbG9yIHx8ICcjZmZmZmZmJztcclxuICAgIHRoaXMudGhlbWVTZXR0aW5ncy5iZ0dyYWRpZW50Q29sb3IxID8gdGhpcy5zZXRUaGVtZUNvbG9yKCdiZy1ncmFkaWVudC1jb2xvci0xJywgdGhpcy50aGVtZVNldHRpbmdzLmJnR3JhZGllbnRDb2xvcjEpIDogdW5kZWZpbmVkO1xyXG4gICAgdGhpcy50aGVtZVNldHRpbmdzLmJnR3JhZGllbnRDb2xvcjIgPyB0aGlzLnNldFRoZW1lQ29sb3IoJ2JnLWdyYWRpZW50LWNvbG9yLTInLCB0aGlzLnRoZW1lU2V0dGluZ3MuYmdHcmFkaWVudENvbG9yMikgOiB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MuYm9yZGVyUmlnaHRDb2xvciA/IHRoaXMuc2V0VGhlbWVDb2xvcignYm9yZGVyLXJpZ2h0LWNvbG9yJywgdGhpcy50aGVtZVNldHRpbmdzLmJvcmRlclJpZ2h0Q29sb3IpIDogdW5kZWZpbmVkO1xyXG4gICAgdGhpcy50aGVtZVNldHRpbmdzLmxpc3RCb3JkZXJDb2xvciA/IHRoaXMuc2V0VGhlbWVDb2xvcignbGlzdC1ib3JkZXItY29sb3InLCB0aGlzLnRoZW1lU2V0dGluZ3MubGlzdEJvcmRlckNvbG9yKSA6IHVuZGVmaW5lZDtcclxuICAgIHRoaXMudGhlbWVTZXR0aW5ncy5oaWdobGlnaHRHcmFkaWVudDEgPyB0aGlzLnNldFRoZW1lQ29sb3IoJ2hpZ2hsaWdodC1ncmFkaWVudC0xJywgdGhpcy50aGVtZVNldHRpbmdzLmhpZ2hsaWdodEdyYWRpZW50MSkgOiB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MuaGlnaGxpZ2h0R3JhZGllbnQyID8gdGhpcy5zZXRUaGVtZUNvbG9yKCdoaWdobGlnaHQtZ3JhZGllbnQtMicsIHRoaXMudGhlbWVTZXR0aW5ncy5oaWdobGlnaHRHcmFkaWVudDIpIDogdW5kZWZpbmVkO1xyXG4gICAgdGhpcy50aGVtZVNldHRpbmdzLnN1YkhpZ2hsaWdodEJvcmRlckNvbG9yID9cclxuICAgICAgdGhpcy5zZXRUaGVtZUNvbG9yKCdzdWItaGlnaGxpZ2h0LWJvcmRlci1jb2xvcicsIHRoaXMudGhlbWVTZXR0aW5ncy5zdWJIaWdobGlnaHRCb3JkZXJDb2xvcikgOiB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3Muc3ViSGlnaGxpZ2h0QmdDb2xvciA/XHJcbiAgICAgIHRoaXMuc2V0VGhlbWVDb2xvcignc3ViLWhpZ2hsaWdodC1iZy1jb2xvcicsIHRoaXMudGhlbWVTZXR0aW5ncy5zdWJIaWdobGlnaHRCZ0NvbG9yKSA6IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIC8qKiBJbml0aWFsaXplcyB0aGUgYmFzaWMgbmF2IHNldHRpbmdzICovXHJcbiAgcHJpdmF0ZSBpbml0QmFzaWNTZXR0aW5ncygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0dGluZ3MuZm9udEF3ZXNvbWVNZW51SWNvbiA9IHRoaXMuc2V0dGluZ3MuZm9udEF3ZXNvbWVNZW51SWNvbiB8fCAnZmFzIGZhLWFuZ2xlLWRvdWJsZS1sZWZ0JztcclxuICAgIHRoaXMuc2V0dGluZ3MuZm9udEF3ZXNvbWVNZW51SWNvbkNsb3NlZCA9IHRoaXMuc2V0dGluZ3MuZm9udEF3ZXNvbWVNZW51SWNvbkNsb3NlZCB8fCAnZmFzIGZhLWFuZ2xlLWRvdWJsZS1yaWdodCc7XHJcbiAgICB0aGlzLnNldHRpbmdzLmFsbG93TmF2VG9nZ2xlID0gdGhpcy5zZXR0aW5ncy5hbGxvd05hdlRvZ2dsZSA9PSBudWxsID8gdHJ1ZSA6IHRoaXMuc2V0dGluZ3MuYWxsb3dOYXZUb2dnbGU7XHJcbiAgICB0aGlzLnNldHRpbmdzLm1haW5NZW51VGV4dCA/IHRoaXMubWFpbk1lbnVUZXh0ID0gdGhpcy5zZXR0aW5ncy5tYWluTWVudVRleHQgOiB0aGlzLm1haW5NZW51VGV4dCA9ICdNYWluIE1lbnUnO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5oZWFkZXJIZWlnaHQgPSB0aGlzLnNldHRpbmdzLmhlYWRlckhlaWdodCB8fCA2MDtcclxuICAgIHRoaXMuc2V0dGluZ3MubWVudUJ1dHRvblNSVGV4dCA9IHRoaXMuc2V0dGluZ3MubWVudUJ1dHRvblNSVGV4dCB8fCAnTWVudSBCdXR0b24nO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5tZW51U3R5bGUgPSB0aGlzLnNldHRpbmdzLm1lbnVTdHlsZSB8fCAnc3RhdGljJztcclxuICAgIHRoaXMuc2V0dGluZ3MuZGlzcGxheU51bWJlcnMgPSB0aGlzLnNldHRpbmdzLmRpc3BsYXlOdW1iZXJzID09IG51bGwgPyB0cnVlIDogdGhpcy5zZXR0aW5ncy5kaXNwbGF5TnVtYmVycztcclxuICAgIHRoaXMuc2V0dGluZ3MucHJvZ3Jlc3NTZWN0aW9uQ29tcGxldGVJY29uID0gdGhpcy5zZXR0aW5ncy5wcm9ncmVzc1NlY3Rpb25Db21wbGV0ZUljb24gfHwgJ2ZhcyBmYS1jaGVjay1jaXJjbGUnO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5wcm9ncmVzc1NlY3Rpb25GdXR1cmVJY29uID0gdGhpcy5zZXR0aW5ncy5wcm9ncmVzc1NlY3Rpb25GdXR1cmVJY29uIHx8ICdmYXIgZmEtY2lyY2xlJztcclxuICAgIHRoaXMuc2V0dGluZ3MucHJvZ3Jlc3NTZWN0aW9uQ3VycmVudEljb24gPSB0aGlzLnNldHRpbmdzLnByb2dyZXNzU2VjdGlvbkN1cnJlbnRJY29uIHx8ICdmYXMgZmEtY2lyY2xlJztcclxuICAgIHRoaXMuc2V0dGluZ3MucHJvZ3Jlc3NNZW51Q29tcGxldGVJY29uID0gdGhpcy5zZXR0aW5ncy5wcm9ncmVzc01lbnVDb21wbGV0ZUljb24gfHwgJ2ZhciBmYS1jaGVjayc7XHJcbiAgICB0aGlzLnNldHRpbmdzLnNob3dQcm9ncmVzc0JhciA9IHRoaXMuc2V0dGluZ3Muc2hvd1Byb2dyZXNzQmFyID09IG51bGwgPyB0cnVlIDogdGhpcy5zZXR0aW5ncy5zaG93UHJvZ3Jlc3NCYXJcclxuICAgIHRoaXMuc2V0dGluZ3Muc2lkZU5hdldpZHRoRGVza3RvcCA9IHRoaXMuc2V0dGluZ3Muc2lkZU5hdldpZHRoRGVza3RvcCB8fCAnMzUwJztcclxuICAgIHRoaXMuc2V0dGluZ3Muc2lkZU5hdldpZHRoTW9iaWxlID0gdGhpcy5zZXR0aW5ncy5zaWRlTmF2V2lkdGhNb2JpbGUgfHwgJzM1MCc7XHJcbiAgICB0aGlzLnNldHRpbmdzLm92ZXJyaWRlTmF2aWdhdGlvbiA9IHRoaXMuc2V0dGluZ3Mub3ZlcnJpZGVOYXZpZ2F0aW9uIHx8IGZhbHNlO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5wcm9ncmVzc01lbnVXaWR0aCA9IHRoaXMuc2V0dGluZ3MucHJvZ3Jlc3NNZW51V2lkdGggfHwgJzI4MCc7XHJcbiAgICB0aGlzLnNldHRpbmdzLnVzZUN1c3RvbU1vYmlsZUZvb3RlciA9IHRoaXMuc2V0dGluZ3MudXNlQ3VzdG9tTW9iaWxlRm9vdGVyICE9IG51bGwgPyB0aGlzLnNldHRpbmdzLnVzZUN1c3RvbU1vYmlsZUZvb3RlciA6IGZhbHNlO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
542
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiUzovQjAyL193b3JrLzYzOC9zL2xpYnJhcnkvcHJvamVjdHMvYXJtYXR1cmUvc3JjLyIsInNvdXJjZXMiOlsibGliL25hdmlnYXRpb24vY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQWlCLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsTUFBTSxFQUFhLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJMUssT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQWMsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7V0FnQmhDLEVBQUUsMkJBQTJCLEVBQUUsS0FBSyxFQUFFO0FBVnJGLDBGQUEwRjtBQUUxRjs7R0FFRztBQVNILE1BQU0sT0FBTywyQkFBMkI7SUF5SHRDOzs7Ozs7OztPQVFHO0lBQ0gsWUFDVyxpQkFBb0MsRUFDcEMsS0FBbUIsRUFDWCxNQUFjLEVBQ3ZCLGFBQTRCLEVBQ25CLG9CQUEwQyxFQUM5QixhQUFnQztRQUxwRCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLFVBQUss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QUFDLFFBQVEsQ0FBQyxrQkFBa0IsSUFBSSxLQUFLLENBQUM7UUFDN0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixJQUFJLEtBQUssQ0FBQztRQUM3RSxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLElBQUksS0FBSyxDQUFDO1FBQzNFLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNsSSxDQUFDOzs7WUF0bkJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QiwydDRCQUEwQztnQkFFMUMsU0FBUyxFQUFFLENBQUM7d0JBQ1YsT0FBTyxFQUFFLHNCQUFzQjt3QkFBRSxRQUFRLElBQXdDO3FCQUNsRixDQUFDOzthQUNIOzs7WUE1QnVCLGlCQUFpQjtZQUZoQyxZQUFZO1lBTUcsTUFBTTtZQUtyQixhQUFhO1lBRGIsb0JBQW9CO1lBRXBCLGlCQUFpQix1QkEySnJCLFFBQVE7OztzQkFySVYsU0FBUyxTQUFDLGFBQWE7c0JBR3ZCLFNBQVMsU0FBQyxNQUFNOzZCQUdoQixTQUFTLFNBQUMsT0FBTzs0QkFHakIsWUFBWSxTQUFDLGtCQUFrQjs2QkFHL0IsS0FBSzt1QkFHTCxLQUFLOytCQUdMLEtBQUs7NEJBR0wsS0FBSzsrQkFHTCxLQUFLOzBCQUdMLEtBQUs7eUJBR0wsS0FBSzsyQkFHTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVkaWFNYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XHJcbmltcG9ydCB7IFNURVBQRVJfR0xPQkFMX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci9jZGsvc3RlcHBlcic7XHJcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEV4cGFuc2lvblBhbmVsIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgTWF0U2lkZW5hdiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xyXG5pbXBvcnQgeyBNYXRWZXJ0aWNhbFN0ZXBwZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zdGVwcGVyJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQmFzZUNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvcmUvbW9kZWxzL2Jhc2UtY29uZmlnJztcclxuaW1wb3J0IHsgQXV0aG9yaXphdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2F1dGhvcml6YXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEJhbm5lclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2Jhbm5lci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFzZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2Jhc2UtY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIZWFkZXJMYW5ndWFnZVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vLi4vaGVhZGVyL21vZGVscy9oZWFkZXItbGFuZ3VhZ2Uuc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uVGhlbWVTZXR0aW5ncyB9IGZyb20gJy4uLy4uL21vZGVscy9uYXYtdGhlbWUuc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uQWR2YW5jZWRTZXR0aW5ncywgTmF2aWdhdGlvblNldHRpbmdzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL25hdi5zZXR0aW5ncyc7XHJcbmltcG9ydCB7IE5hdk5vZGUsIFN1Yk5hdk5vZGVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL25hdmlnYXRpb24nO1xyXG5cclxuLy8gVE9ETzogc2VlIGhvdyB0aGlzIGNhbiBmaXQgd2l0aCB0aGUgYHNvZi1wcm9ncmVzcy1iYXJgIGNvbXBvbmVudC4gUG9zc2libHkgY29tYmluZSB0aGVtXHJcblxyXG4vKipcclxuICogVGhlIE5hdmlnYXRpb24gQ29tcG9uZW50XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NvZi1hci1uYXZpZ2F0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbmF2aWdhdGlvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IFNURVBQRVJfR0xPQkFMX09QVElPTlMsIHVzZVZhbHVlOiB7IGRpc3BsYXlEZWZhdWx0SW5kaWNhdG9yVHlwZTogZmFsc2UgfVxyXG4gIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcm1hdHVyZU5hdmlnYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIC8qKiBUaGUgcGFyZW50IHN0ZXBwZXIgKi9cclxuICBAVmlld0NoaWxkKCd2ZXJ0U3RlcHBlcicpIHB1YmxpYyBzdGVwcGVyOiBNYXRWZXJ0aWNhbFN0ZXBwZXI7XHJcblxyXG4gIC8qKiBUaGUgc2lkZSBtb2JpbGUgbmF2ICovXHJcbiAgQFZpZXdDaGlsZCgnc25hdicpIHB1YmxpYyBzaWRlbmF2OiBNYXRTaWRlbmF2O1xyXG5cclxuICAvKiogVGhlIG1vYmlsZSBleHBhbnNpb24gcGFuZWwgZm9yIHByb2dyZXNzIG1lbnUgKi9cclxuICBAVmlld0NoaWxkKCdwYW5lbCcpIHB1YmxpYyBleHBhbnNpb25QYW5lbDogTWF0RXhwYW5zaW9uUGFuZWw7XHJcblxyXG4gIC8qKiBUaGUgY2hpbGQgc3RlcHBlcnMgKi9cclxuICBAVmlld0NoaWxkcmVuKCd2ZXJ0U3RlcHBlcklubmVyJykgcHVibGljIGlubmVyU3RlcHBlcnM6IFF1ZXJ5TGlzdDxNYXRWZXJ0aWNhbFN0ZXBwZXI+O1xyXG5cclxuICAvKiogQ29tcG9uZW50IElucHV0IC0gdGhlIG5hdmlnYXRpb24gZGF0YSAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBuYXZpZ2F0aW9uRGF0YTogTmF2Tm9kZVtdO1xyXG5cclxuICAvKiogQ29tcG9uZW50IElucHV0IC0gdGhlIG5hdmlnYXRpb24gc2V0dGluZ3MgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgc2V0dGluZ3M6IE5hdmlnYXRpb25TZXR0aW5ncyA9IHt9O1xyXG5cclxuICAvKiogQ29tcG9uZW50IElucHV0IC0gdGhlIG5hdmlnYXRpb24gc2V0dGluZ3MgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgYWR2YW5jZWRTZXR0aW5nczogTmF2aWdhdGlvbkFkdmFuY2VkU2V0dGluZ3MgPSB7fTtcclxuXHJcbiAgLyoqIENvbXBvbmVudCBJbnB1dCAtIHRoZSBuYXZpZ2F0aW9uIHNldHRpbmdzICovXHJcbiAgQElucHV0KCkgcHVibGljIHRoZW1lU2V0dGluZ3M6IE5hdmlnYXRpb25UaGVtZVNldHRpbmdzID0ge307XHJcblxyXG4gIC8qKiBDb21wb25lbnQgSW5wdXQgLSB0aGUgbmF2aWdhdGlvbiBsYW5ndWFnZSBzZXR0aW5ncyAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBsYW5ndWFnZVNldHRpbmdzOiBIZWFkZXJMYW5ndWFnZVNldHRpbmdzID0ge307XHJcblxyXG4gIC8qKiBDdXJyZW50IGxhbmd1YWdlICoqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXJyZW50TGFuZzogc3RyaW5nO1xyXG5cclxuICAvKiogbG9nT3V0IHRleHQgKiovXHJcbiAgQElucHV0KCkgcHVibGljIGxvZ091dFRleHQ6IHN0cmluZztcclxuXHJcbiAgLyoqIFNldHMgbGFuZ3VhZ2UgKiovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBzZXRMYW5ndWFnZSQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIC8qKiBnZXRzIHRoZSBub24gdXNlZCBsYW5ndWFnZSAqL1xyXG4gIHB1YmxpYyBnZXQgb3RoZXJMYW5nVGV4dCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VTZXR0aW5ncz8ubGFuZ3VhZ2VzPy5maW5kKHggPT4geCAhPT0gdGhpcy5jdXJyZW50TGFuZyk7XHJcbiAgfVxyXG5cclxuICAvKiogV2hldGhlciBzaWRlIG5hdiBpcyBvcGVuIG9yIG5vdCAqL1xyXG4gIHB1YmxpYyBpc05hdk9wZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIE1vYmlsZSBTdWJOYXYgLSB3aGV0aGVyIG9yIG5vdCB0aGUgbW9iaWxlIFN1Yk5hdiBpcyBvcGVuICovXHJcbiAgcHVibGljIGlzTW9iaWxlU3ViTmF2T3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKiogTW9iaWxlIFN1Yk5hdiAtdGhlIGRhdGEgdG8gYmUgcGFzc2VkIHRvIHRoZSBtb2JpbGUgU3ViTmF2ICovXHJcbiAgcHVibGljIGN1cnJlbnRNb2JpbGVOYXY6IE5hdk5vZGU7XHJcblxyXG4gIC8qKiBTZXR0aW5ncyAtIHRoZSBtYWluIG1lbnUgdGV4dCB0aGF0IGFwcGVhcnMgaW4gdGhlIG1vYmlsZSBTdWJOYXYgKi9cclxuICBwdWJsaWMgbWFpbk1lbnVUZXh0OiBzdHJpbmc7XHJcblxyXG4gIC8qKiB0aGUgbW9iaWxlIHF1ZXJ5ICovXHJcbiAgcHVibGljIG1vYmlsZVF1ZXJ5OiBNZWRpYVF1ZXJ5TGlzdDtcclxuXHJcbiAgLyoqIFRoZSBzZWxlY3RlZCBwYXJlbnQgaW5kZXggKi9cclxuICBwdWJsaWMgc2VsZWN0ZWRQYXJlbnRJbmRleDogbnVtYmVyID0gMDtcclxuXHJcbiAgLyoqIFRoZSBzZWxlY3RlZCBjaGlsZCBpbmRleCAqL1xyXG4gIHB1YmxpYyBzZWxlY3RlZENoaWxkSW5kZXhlczogeyBba2V5OiBudW1iZXJdOiBudW1iZXIgfSA9IHt9O1xyXG5cclxuICAvKiogVGhlIG5hdmlnYXRpb24gcHJvZ3Jlc3MgY291bnQgKi9cclxuICBwdWJsaWMgbmF2UHJvZ3Jlc3NDb3VudDogbnVtYmVyID0gMDtcclxuXHJcbiAgLyoqIFRoZSBjdXJyZW50IGFjdGl2ZSBwYXJlbnQgbm9kZSAqL1xyXG4gIHB1YmxpYyBhY3RpdmVQYXJlbnROb2RlOiBOYXZOb2RlO1xyXG5cclxuICAvKiogVGhlIGN1cnJlbnQgYWN0aXZlIHN1YiBub2RlICovXHJcbiAgcHVibGljIGFjdGl2ZVN1Yk5vZGU6IFN1Yk5hdk5vZGVzO1xyXG5cclxuICAvKiogVHJ1ZSBpZiB0aGUgZXhwYW5zaW9uIHBhbmVsIGlzIG9wZW4gKi9cclxuICBwdWJsaWMgcGFuZWxPcGVuU3RhdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIFRoZSBmb290ZXIgbmF2aWdhdGlvbiBkYXRhICovXHJcbiAgcHVibGljIGZvb3Rlck5hdmlnYXRpb25EYXRhOiBOYXZOb2RlW11cclxuXHJcbiAgLyoqIHVzZXIgbmFtZSAqKi9cclxuICBwdWJsaWMgdXNlck5hbWU6IHN0cmluZztcclxuXHJcbiAgLyoqIFRoZSBjb25maWcgb2JzZXJ2YWJsZSAqL1xyXG4gIHB1YmxpYyBjb25maWckOiBPYnNlcnZhYmxlPEJhc2VDb25maWc+O1xyXG5cclxuICAvKiogVGhlIHBhcmVudCBub2RlIGluZGV4IHRvIGJlIHNldCB3aGVuIG5hdiBpcyB0b2dnbGVkIHRvIHByb2dyZXNzIG1lbnUgc3R5bGUgKi9cclxuICBwdWJsaWMgdG9nZ2xlUHJvZ3Jlc3NOYXZQYXJlbnRJbmRleDogbnVtYmVyO1xyXG5cclxuICAvKiogVGhlIGNoaWxkIG5vZGUgaW5kZXggdG8gYmUgc2V0IHdoZW4gbmF2IGlzIHRvZ2dsZWQgdG8gcHJvZ3Jlc3MgbWVudSBzdHlsZSAqL1xyXG4gIHB1YmxpYyB0b2dnbGVQcm9ncmVzc05hdkNoaWxkSW5kZXg6IG51bWJlcjtcclxuXHJcbiAgLyoqIHRoZSBtb2JpbGUgcXVlcnkgbGlzdGVuZXIyICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfbW9iaWxlUXVlcnlMaXN0ZW5lcjogKCkgPT4gdm9pZDtcclxuXHJcbiAgLyoqIFRoZSBuYXYgYmluZCBzdWJzY3JpcHRpb24gKi9cclxuICBwcml2YXRlIG5hdkJpbmRTdWI6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcbiAgLyoqIFRoZSBtZXNzYWdlIHRvIGRpc3BsYXkgKi9cclxuICBwdWJsaWMgbWVzc2FnZTogc3RyaW5nO1xyXG5cclxuICAvKiogV2hldGhlciB3ZSBzaG91bGQgdGhlIG1lc3NhZ2UgKi9cclxuICBwdWJsaWMgc2hvd01lc3NhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIFdoZXRoZXIgc2hvdWxkIHNob3cgY2hlY2sgbWFyayBvciBub3QgKi9cclxuICBwdWJsaWMgc2hvd0NoZWNrTWFyazogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKiBUaGUgbmF2IGJpbmQgc3Vic2NyaXB0aW9uICovXHJcbiAgcHJpdmF0ZSBsb2dJblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG5cclxuICAvKiogVGhlIGNvdW50IG9mIGZvb3RlciBpdGVtcyovXHJcbiAgcHVibGljIGZvb3Rlckl0ZW1Db3VudDogbnVtYmVyO1xyXG5cclxuICAvKiogVGhlIGJhbm5lciBzdWJzY3JpcHRpb24gKi9cclxuICBwcml2YXRlIGJhbm5lclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG5cclxuICAvKiogVGhlIGNvbmZpZyBzdWJzY3JpcHRpb24gKi9cclxuICBwdWJsaWMgY29uZmlnU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcblxyXG4gIC8qKiBUaGUgc2lkZW5hdiBzdWJzY3JpcHRpb24gKi9cclxuICBwcml2YXRlIHNpZGVOYXZTdWI6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogdGhlIGNvbnN0cnVjdG9yXHJcbiAgICogQHBhcmFtIGNoYW5nZURldGVjdG9yUmVmIHRoZSBjaGFuZ2UgZGV0ZWN0b3IgcmVmZXJlbmNlXHJcbiAgICogQHBhcmFtIG1lZGlhIHRoZSBtZWRpYSBtYXRjaGVyXHJcbiAgICogQHBhcmFtIHJvdXRlciBUaGUgcm91dGVyXHJcbiAgICogQHBhcmFtIGJhbm5lclNlcnZpY2UgVGhlIEJhbm5lciBTZXJ2aWNlXHJcbiAgICogQHBhcmFtIGFjdGl2YXRlZFJvdXRlIFRoZSBhY3RpdmF0ZWQgcm91dGVcclxuICAgKiBAcGFyYW0gY29uZmlnU2VydmljZSBUaGUgY29uZmlnIHNlcnZpY2VcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHJlYWRvbmx5IG1lZGlhOiBNZWRpYU1hdGNoZXIsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBiYW5uZXJTZXJ2aWNlOiBCYW5uZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRob3JpemF0aW9uU2VydmljZTogQXV0aG9yaXphdGlvblNlcnZpY2UsXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2U6IEJhc2VDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLm1vYmlsZVF1ZXJ5ID0gbWVkaWEubWF0Y2hNZWRpYSgnKG1heC13aWR0aDogOTU5cHgpJyk7XHJcbiAgICB0aGlzLl9tb2JpbGVRdWVyeUxpc3RlbmVyID0gKCkgPT4ge1xyXG4gICAgICBjaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIC8vIGNsb3NlIHRoZSBzaWRlbmF2IHdoZW4gc2NyZWVuIHNpemUgaXMgY2hhbmdlZFxyXG4gICAgICBpZiAoIXRoaXMubW9iaWxlUXVlcnkubWF0Y2hlcyAmJiB0aGlzLnNldHRpbmdzLm1lbnVTdHlsZSA9PT0gJ3Byb2dyZXNzJykge1xyXG4gICAgICAgIHRoaXMuc2lkZW5hdi5jbG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgLy8gYmVsb3cgaWYgc3RhdGVtZW50IGlzIGZvciBlZGdlIHN1cHBvcnQgc2luY2UgYWRkRXZlbnRMaXN0ZW5lciBkb2Vzbid0IGV4aXN0IGZvciBNZWRpYVF1ZXJ5TGlzdHNcclxuICAgIGlmICh0aGlzLm1vYmlsZVF1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIpIHtcclxuICAgICAgdGhpcy5tb2JpbGVRdWVyeS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLl9tb2JpbGVRdWVyeUxpc3RlbmVyKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLm1vYmlsZVF1ZXJ5LmFkZExpc3RlbmVyKHRoaXMuX21vYmlsZVF1ZXJ5TGlzdGVuZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIE9uIEluaXQgLSBjb25maWd1cmUgdGhlIHNldHRpbmdzICovXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG5cclxuICAgIHRoaXMuYmFubmVyU3Vic2NyaXB0aW9uLmFkZCh0aGlzLmJhbm5lclNlcnZpY2Uuc2hvd0Jhbm5lciQuc3Vic2NyaWJlKHZhbCA9PiB0aGlzLnNob3dNZXNzYWdlID0gdmFsKSk7XHJcbiAgICB0aGlzLmJhbm5lclN1YnNjcmlwdGlvbi5hZGQodGhpcy5iYW5uZXJTZXJ2aWNlLm1lc3NhZ2UkLnN1YnNjcmliZSh2YWwgPT4gdGhpcy5tZXNzYWdlID0gdmFsKSk7XHJcbiAgICB0aGlzLmJhbm5lclN1YnNjcmlwdGlvbi5hZGQodGhpcy5iYW5uZXJTZXJ2aWNlLnNob3dDaGVja01hcmskLnN1YnNjcmliZSh2YWwgPT4gdGhpcy5zaG93Q2hlY2tNYXJrID0gdmFsKSk7XHJcblxyXG4gICAgdGhpcy5mb290ZXJOYXZpZ2F0aW9uRGF0YSA9IHRoaXMubmF2aWdhdGlvbkRhdGE/LmZpbHRlcihub2RlID0+IG5vZGU/LmFsdExvY2F0aW9uID09IHRydWUpO1xyXG4gICAgdGhpcy5mb290ZXJJdGVtQ291bnQgPSB0aGlzLmZvb3Rlck5hdmlnYXRpb25EYXRhID8gdGhpcy5mb290ZXJOYXZpZ2F0aW9uRGF0YS5sZW5ndGggOiAwO1xyXG4gICAgdGhpcy5uYXZpZ2F0aW9uRGF0YSA9IHRoaXMubmF2aWdhdGlvbkRhdGE/LmZpbHRlcihub2RlID0+IG5vZGU/LmFsdExvY2F0aW9uICE9IHRydWUpO1xyXG5cclxuICAgIC8vIGlmIHBhcmVudHMgaGF2ZSBubyByb3V0ZSwgZ3JhYiBmaXJzdCByb3V0ZSBvZiBjaGlsZFxyXG4gICAgdGhpcy5uYXZpZ2F0aW9uRGF0YT8uZm9yRWFjaChuID0+IHtcclxuICAgICAgaWYgKCFuLnJvdXRlKSB7XHJcbiAgICAgICAgbi5yb3V0ZSA9IG4uc3ViTm9kZXMgJiYgbi5zdWJOb2Rlcy5sZW5ndGggPiAwID8gbi5zdWJOb2Rlc1swXS5yb3V0ZSA6IHVuZGVmaW5lZDtcclxuICAgICAgfVxyXG4gICAgICAvLyBlbmFibGUgYWxsIHBhZ2VzIGJ5IGRlZmF1bHRcclxuICAgICAgaWYgKG4uaXNEaXNhYmxlZCA9PSBudWxsKSB7XHJcbiAgICAgICAgbi5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuaW5pdEJhc2ljU2V0dGluZ3MoKTtcclxuICAgIHRoaXMuaW5pdEFkdmFuY2VkU2V0dGluZ3MoKTtcclxuICAgIHRoaXMuaW5pdFRoZW1lU2V0dGluZ3MoKTtcclxuXHJcbiAgICAvLyBpbml0IGJpbmRpbmcgZm9yIHByb2dyZXNzIG5hdlxyXG4gICAgaWYgKHRoaXMuc2V0dGluZ3MubWVudVN0eWxlID09PSAncHJvZ3Jlc3MnKSB7XHJcbiAgICAgIC8vIHNldCB0aGUgZmlyc3Qgbm9kZSBhbmQgY2hpbGQgbm9kZSBhcyB2aXNpdGVkXHJcbiAgICAgIGlmICh0aGlzLm5hdmlnYXRpb25EYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRpb25EYXRhWzBdLnZpc2l0ZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMubmF2aWdhdGUodGhpcy5uYXZpZ2F0aW9uRGF0YVswXS5yb3V0ZSk7XHJcbiAgICAgICAgaWYgKHRoaXMubmF2aWdhdGlvbkRhdGFbMF0uc3ViTm9kZXMgJiYgdGhpcy5uYXZpZ2F0aW9uRGF0YVswXS5zdWJOb2Rlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLm5hdmlnYXRpb25EYXRhWzBdLnN1Yk5vZGVzWzBdLnZpc2l0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5uYXZpZ2F0ZSh0aGlzLm5hdmlnYXRpb25EYXRhWzBdLnN1Yk5vZGVzWzBdLnJvdXRlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIHNldCBpbml0aWFsIHByb2dyZXNzIGJhclxyXG4gICAgICB0aGlzLm5hdlByb2dyZXNzQ291bnQgPSAodGhpcy5zZWxlY3RlZFBhcmVudEluZGV4ICsgMSkgLyB0aGlzLm5hdmlnYXRpb25EYXRhLmxlbmd0aCAqIDEwMDtcclxuXHJcblxyXG4gICAgICB0aGlzLm5hdkJpbmRTdWIuYWRkKFxyXG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IE5hdmlnYXRpb25FbmQpID0+IHtcclxuICAgICAgICAgICAgLy8gZmluZCBwYXJlbnQgaW5kZXggd2l0aCBhY3RpdmUgY2hpbGRcclxuICAgICAgICAgICAgdGhpcy5nZXRBY3RpdmVQYXJlbnRBbmRDaGlsZChldmVudC51cmwpO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAgIHRoaXMuc2V0dGluZ3MuYWxsb3dOYXZUb2dnbGUgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMubG9nSW5TdWJzY3JpcHRpb24gPSB0aGlzLmF1dGhvcml6YXRpb25TZXJ2aWNlLmlzTG9nZ2VkSW4kLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgIHRoaXMudXNlck5hbWUgPSB0aGlzLmF1dGhvcml6YXRpb25TZXJ2aWNlLnVzZXJOYW1lKClcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnU2VydmljZSkge1xyXG4gICAgICB0aGlzLmNvbmZpZ1N1YnNjcmlwdGlvbiA9IHRoaXMuY29uZmlnU2VydmljZS5jb25maWckLnN1YnNjcmliZShjb25maWcgPT4ge1xyXG4gICAgICAgIGlmIChjb25maWcpIHtcclxuICAgICAgICAgIGlmIChjb25maWc/Lm5hdmlnYXRpb24/LnNldHRpbmdzPy5yZXNldE5hdikge1xyXG4gICAgICAgICAgICB0aGlzLm5hdlByb2dyZXNzQ291bnQgPSAwO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkUGFyZW50SW5kZXggPSAwO1xyXG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRlKHRoaXMubmF2aWdhdGlvbkRhdGFbMF0ucm91dGUpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5zdGVwcGVyKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zdGVwcGVyLnNlbGVjdGVkSW5kZXggPSAwO1xyXG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdGVwcGVyLnJlc2V0KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlubmVyU3RlcHBlcnM/LmZvckVhY2goc3RlcHBlciA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIHN0ZXBwZXIuc2VsZWN0ZWRJbmRleCA9IDA7XHJcbiAgICAgICAgICAgICAgICAgIHN0ZXBwZXIucmVzZXQoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGlvbkRhdGEuZm9yRWFjaChuID0+IHtcclxuICAgICAgICAgICAgICBuLnZpc2l0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICBuLmNvbXBsZXRlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgbi5zdWJOb2Rlcz8uZm9yRWFjaChzID0+IHtcclxuICAgICAgICAgICAgICAgIHMudmlzaXRlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgcy5jb21wbGV0ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAvLyByZXNldCBiYWNrIHRvIGZhbHNlIHRvIGF2b2lkIG11bHRpcGxlIHRyaWdnZXJzIG9uIGZ1dHVyZSBjYWxsc1xyXG4gICAgICAgICAgICBjb25maWcubmF2aWdhdGlvbi5zZXR0aW5ncy5yZXNldE5hdiA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnID0gY29uZmlnO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC8vIGlmIHRoZSB2YWx1ZXMgd2VyZSBjaGFuZ2VkIGFuZCBub3QgbnVsbCwgaXQgbWVhbnMgdGhhdCB0aGUgbmF2IHdhcyB0b2dnbGVkIHRvIHByb2dyZXNzXHJcbiAgICAgICAgICBpZiAoY29uZmlnPy5uYXZpZ2F0aW9uPy5zZXR0aW5ncz8udG9nZ2xlUHJvZ3Jlc3NOYXZQYXJlbnRJbmRleCAhPSBudWxsXHJcbiAgICAgICAgICAgICYmIHRoaXMudG9nZ2xlUHJvZ3Jlc3NOYXZQYXJlbnRJbmRleCAhPSBjb25maWc/Lm5hdmlnYXRpb24/LnNldHRpbmdzPy50b2dnbGVQcm9ncmVzc05hdlBhcmVudEluZGV4XHJcbiAgICAgICAgICAgICYmIHRoaXMudG9nZ2xlUHJvZ3Jlc3NOYXZDaGlsZEluZGV4ICE9IGNvbmZpZz8ubmF2aWdhdGlvbj8uc2V0dGluZ3M/LnRvZ2dsZVByb2dyZXNzTmF2Q2hpbGRJbmRleFxyXG4gICAgICAgICAgICAmJiBjb25maWc/Lm5hdmlnYXRpb24/LnNldHRpbmdzPy50b2dnbGVQcm9ncmVzc05hdkNoaWxkSW5kZXggIT0gbnVsbCkge1xyXG5cclxuICAgICAgICAgICAgdGhpcy50b2dnbGVQcm9ncmVzc05hdlBhcmVudEluZGV4ID0gY29uZmlnLm5hdmlnYXRpb24uc2V0dGluZ3MudG9nZ2xlUHJvZ3Jlc3NOYXZQYXJlbnRJbmRleDtcclxuICAgICAgICAgICAgdGhpcy50b2dnbGVQcm9ncmVzc05hdkNoaWxkSW5kZXggPSBjb25maWcubmF2aWdhdGlvbi5zZXR0aW5ncy50b2dnbGVQcm9ncmVzc05hdkNoaWxkSW5kZXg7XHJcblxyXG4gICAgICAgICAgICAvLyBhZGQgdGhlIHJvdXRlciBzdWJcclxuICAgICAgICAgICAgdGhpcy5uYXZCaW5kU3ViLmFkZChcclxuICAgICAgICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSlcclxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIC8vIGZpbmQgcGFyZW50IGluZGV4IHdpdGggYWN0aXZlIGNoaWxkXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0QWN0aXZlUGFyZW50QW5kQ2hpbGQoZXZlbnQudXJsKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIC8vIGlmIHRoZSBjaGlsZCBub2RlIGluZGV4IGlzIHZhbGlkXHJcbiAgICAgICAgICAgIGlmIChjb25maWcubmF2aWdhdGlvbi5ub2Rlc1t0aGlzLnRvZ2dsZVByb2dyZXNzTmF2UGFyZW50SW5kZXhdLnN1Yk5vZGVzPy5sZW5ndGggPiB0aGlzLnRvZ2dsZVByb2dyZXNzTmF2Q2hpbGRJbmRleCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0Tm9kZVN0YXRlcyhjb25maWcubmF2aWdhdGlvbi5ub2Rlc1t0aGlzLnRvZ2dsZVByb2dyZXNzTmF2UGFyZW50SW5kZXhdLFxyXG4gICAgICAgICAgICAgICAgY29uZmlnLm5hdmlnYXRpb24ubm9kZXNbdGhpcy50b2dnbGVQcm9ncmVzc05hdlBhcmVudEluZGV4XS5zdWJOb2Rlc1t0aGlzLnRvZ2dsZVByb2dyZXNzTmF2Q2hpbGRJbmRleF0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0Tm9kZVN0YXRlcyhjb25maWcubmF2aWdhdGlvbi5ub2Rlc1t0aGlzLnRvZ2dsZVByb2dyZXNzTmF2UGFyZW50SW5kZXhdLCBudWxsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgaW5kZXhlc1xyXG4gICAgICAgICAgICB0aGlzLnRvZ2dsZVByb2dyZXNzTmF2UGFyZW50SW5kZXggPSBjb25maWc/Lm5hdmlnYXRpb24/LnNldHRpbmdzPy50b2dnbGVQcm9ncmVzc05hdlBhcmVudEluZGV4XHJcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlUHJvZ3Jlc3NOYXZDaGlsZEluZGV4ID0gY29uZmlnPy5uYXZpZ2F0aW9uPy5zZXR0aW5ncz8udG9nZ2xlUHJvZ3Jlc3NOYXZDaGlsZEluZGV4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogTGlmZSBjeWNsZSBob29rIGZvciBhZnRlciBjb21wb25lbnQgdmlldyBpbml0aWFsaXphdGlvbiAqL1xyXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZXR0aW5ncy5tZW51U3R5bGUgPT09ICdzdGVwcGVyJykge1xyXG4gICAgICB0aGlzLmJpbmRTdGVwcGVyVG9Sb3V0ZXMoKTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zdGVwcGVyLnN0ZXBzLmZvckVhY2goKHN0ZXAsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICBzdGVwLnNlbGVjdCA9ICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFBhcmVudEluZGV4ID0gaW5kZXg7XHJcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGUodGhpcy5uYXZpZ2F0aW9uRGF0YVtpbmRleF0ucm91dGUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuaW5uZXJTdGVwcGVycy5mb3JFYWNoKChzdGVwcGVyLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgc3RlcHBlci5zdGVwcy5mb3JFYWNoKChzdGVwLCBqaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgc3RlcC5zZWxlY3QgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENoaWxkSW5kZXhlc1tpbmRleF0gPSBqaW5kZXg7XHJcbiAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZSh0aGlzLm5hdmlnYXRpb25EYXRhW2luZGV4XS5zdWJOb2Rlc1tqaW5kZXhdLnJvdXRlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zaWRlTmF2U3ViID0gdGhpcy5zaWRlbmF2Lm9wZW5lZENoYW5nZS5zdWJzY3JpYmUoZHJhd2VyU3RhdGUgPT4ge1xyXG4gICAgICB0aGlzLmlzTmF2T3BlbiA9IGRyYXdlclN0YXRlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKiogT24gRGVzdHJveSAqL1xyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMubW9iaWxlUXVlcnkucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhpcy5fbW9iaWxlUXVlcnlMaXN0ZW5lcik7XHJcbiAgICB0aGlzLm5hdkJpbmRTdWIudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMubG9nSW5TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuYmFubmVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLmNvbmZpZ1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5zaWRlTmF2U3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNb2JpbGUgU3ViTmF2IC0gb3BlbiB0aGUgU3ViTmF2XHJcbiAgICogQHBhcmFtIG5hdiB0aGUgbmF2IGRhdGEgdG8gYmUgcGFzc2VkIHRvIHRoZSBTdWJOYXZcclxuICAgKi9cclxuICBwdWJsaWMgb3Blbk1vYmlsZVN1Yk5hdihuYXY6IE5hdk5vZGUpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNNb2JpbGVTdWJOYXZPcGVuID0gdHJ1ZTtcclxuICAgIHRoaXMuY3VycmVudE1vYmlsZU5hdiA9IG5hdjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1vYmlsZSBTdWJOYXYgLSBjbG9zZXMgdGhlIFN1Yk5hdlxyXG4gICAqL1xyXG4gIHB1YmxpYyBjbG9zZU1vYmlsZVN1Yk5hdigpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNNb2JpbGVTdWJOYXZPcGVuID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSB0aGVtZSBjb2xvclxyXG4gICAqIEBwYXJhbSB2YXJpYWJsZSB0aGUgY3NzIHZhcmlhYmxlIG5hbWVcclxuICAgKiBAcGFyYW0gY29sb3IgdGhlIGNvbG9yXHJcbiAgICovXHJcbiAgcHVibGljIHNldFRoZW1lQ29sb3IodmFyaWFibGU6IHN0cmluZywgY29sb3I6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KGAtLXNvZi1uYXYtJHt2YXJpYWJsZX1gLCBjb2xvcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZXRlcm1pbmVzIHRoZSBzdGVwIHN0YXRlXHJcbiAgICogQHBhcmFtIHBhcmVudEluZGV4IFRoZSBwYXJlbnQgaW5kZXhcclxuICAgKiBAcGFyYW0gY2hpbGRJbmRleCBUaGUgY2hpbGQgaW5kZXhcclxuICAgKiBAcmV0dXJucyBUaGUgc3RlcCBzdGF0ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBkZXRlcm1pbmVTdGVwU3RhdGUocGFyZW50SW5kZXg6IG51bWJlciwgY2hpbGRJbmRleDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIC8vIG5vdCBwYXNzZWQgJiYgbm90IGFjdGl2ZVxyXG4gICAgaWYgKGNoaWxkSW5kZXggPT09IC0xKSB7XHJcbiAgICAgIGlmICghdGhpcy5zdGVwcGVyKSB7XHJcbiAgICAgICAgcmV0dXJuICdudW1iZXInO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIG5vdCBwYXNzZWQgJiYgYWN0aXZlXHJcbiAgICAgIGlmIChwYXJlbnRJbmRleCA9PT0gdGhpcy5zdGVwcGVyLnNlbGVjdGVkSW5kZXgpIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRpb25EYXRhW3BhcmVudEluZGV4XS52aXNpdGVkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgcmV0dXJuICdhY3RpdmUnO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIHBhc3NlZCBidXQgbmF2IGJhY2tcclxuICAgICAgZWxzZSBpZiAocGFyZW50SW5kZXggPiB0aGlzLnN0ZXBwZXIuc2VsZWN0ZWRJbmRleCAmJiB0aGlzLm5hdmlnYXRpb25EYXRhW3BhcmVudEluZGV4XS52aXNpdGVkKSB7XHJcbiAgICAgICAgdGhpcy5zdGVwcGVyLnN0ZXBzLmZpbmQoKHMsIGluZGV4KSA9PiBpbmRleCA9PT0gcGFyZW50SW5kZXgpXHJcbiAgICAgICAgICAucmVzZXQoKTtcclxuXHJcbiAgICAgICAgcmV0dXJuICdhY3RpdmUnO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIHBhc3NlZCAmJiBub3QgYWN0aXZlXHJcbiAgICAgIGVsc2UgaWYgKHBhcmVudEluZGV4IDwgdGhpcy5zdGVwcGVyLnNlbGVjdGVkSW5kZXgpIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRpb25EYXRhW3BhcmVudEluZGV4XS52aXNpdGVkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgcmV0dXJuICdkb25lJztcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICByZXR1cm4gJ251bWJlcic7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBpZiAoIXRoaXMuaW5uZXJTdGVwcGVycykge1xyXG4gICAgICAgIHJldHVybiAnbm9uZSc7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgaW5uZXJTdGVwcGVyID0gdGhpcy5pbm5lclN0ZXBwZXJzLmZpbmQoKHMsIGluZGV4KSA9PiBpbmRleCA9PT0gcGFyZW50SW5kZXgpO1xyXG4gICAgICBpZiAoY2hpbGRJbmRleCA9PT0gaW5uZXJTdGVwcGVyLnNlbGVjdGVkSW5kZXgpIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRpb25EYXRhW3BhcmVudEluZGV4XS5zdWJOb2Rlc1tjaGlsZEluZGV4XS52aXNpdGVkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgcmV0dXJuICdhY3RpdmUnO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGNoaWxkSW5kZXggPiBpbm5lclN0ZXBwZXIuc2VsZWN0ZWRJbmRleCAmJiB0aGlzLm5hdmlnYXRpb25EYXRhW3BhcmVudEluZGV4XS5zdWJOb2Rlc1tjaGlsZEluZGV4XS52aXNpdGVkKSB7XHJcbiAgICAgICAgaW5uZXJTdGVwcGVyLnN0ZXBzLmZpbmQoKHMsIGluZGV4KSA9PiBpbmRleCA9PT0gY2hpbGRJbmRleClcclxuICAgICAgICAgIC5yZXNldCgpO1xyXG5cclxuICAgICAgICByZXR1cm4gJ2FjdGl2ZSc7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAoY2hpbGRJbmRleCA8IGlubmVyU3RlcHBlci5zZWxlY3RlZEluZGV4KSB7XHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uRGF0YVtwYXJlbnRJbmRleF0uc3ViTm9kZXNbY2hpbGRJbmRleF0udmlzaXRlZCA9IHRydWU7XHJcblxyXG4gICAgICAgIHJldHVybiAnZG9uZSc7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuICdub25lJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTmF2aWdhdGVzIHRvIHRoZSBwcm92aWRlZCByb3V0ZVxyXG4gICAqIEBwYXJhbSByb3V0ZSBUaGUgcm91dGVcclxuICAgKi9cclxuICBwdWJsaWMgbmF2aWdhdGUocm91dGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1mbG9hdGluZy1wcm9taXNlc1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChyb3V0ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBOYXZpZ2F0ZXMgdG8gZ2l2ZW4gc3RlcFxyXG4gICAqIEBwYXJhbSBzdGVwTnVtYmVyIFRoZSBzdGVwIG51bWJlciB0byBuYXZpZ2F0ZSB0b1xyXG4gICAqL1xyXG4gIHB1YmxpYyBuYXZpZ2F0ZVRvU3RlcChzdGVwTnVtYmVyOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmIChzdGVwTnVtYmVyIDwgdGhpcy5zZWxlY3RlZFBhcmVudEluZGV4KSB7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tZmxvYXRpbmctcHJvbWlzZXNcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLm5hdmlnYXRpb25EYXRhW3N0ZXBOdW1iZXJdLnJvdXRlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgdGhlIGFjdGl2ZSBwYXJlbnQgYW5kIGNoaWxkIG5vZGVzIFxyXG4gICAqIEBwYXJhbSB1cmwgVGhlIHJvdXRlciB1cmxcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0QWN0aXZlUGFyZW50QW5kQ2hpbGQodXJsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGxldCBjaGlsZEluZGV4O1xyXG4gICAgbGV0IHBhcmVudEluZGV4ID0gdGhpcy5uYXZpZ2F0aW9uRGF0YS5maW5kSW5kZXgobiA9PiB7XHJcbiAgICAgIGNoaWxkSW5kZXggPSBuLnN1Yk5vZGVzPy5maW5kSW5kZXgocyA9PiB1cmwuaW5jbHVkZXMocy5yb3V0ZS5yZXBsYWNlKCcuJywgJycpKSk7XHJcbiAgICAgIHJldHVybiBjaGlsZEluZGV4ID4gLTEgfHwgdGhpcy5yb3V0ZXIudXJsLmluY2x1ZGVzKG4ucm91dGUucmVwbGFjZSgnLicsICcnKSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAocGFyZW50SW5kZXggPT0gLTEpIHtcclxuICAgICAgcGFyZW50SW5kZXggPSAwXHJcbiAgICB9XHJcblxyXG4gICAgLy8gc2V0IHRoZSBhY3RpdmUgcGFyZW50IG5vZGUgYW5kIHN1YiBub2RlXHJcbiAgICB0aGlzLmFjdGl2ZVBhcmVudE5vZGUgPSB0aGlzLm5hdmlnYXRpb25EYXRhW3BhcmVudEluZGV4XTtcclxuICAgIHRoaXMuYWN0aXZlU3ViTm9kZSA9IGNoaWxkSW5kZXggPiAtMSAmJiB0aGlzLmFjdGl2ZVBhcmVudE5vZGUuc3ViTm9kZXMubGVuZ3RoID4gMCA/IHRoaXMuYWN0aXZlUGFyZW50Tm9kZS5zdWJOb2Rlc1tjaGlsZEluZGV4XSA6IG51bGw7XHJcblxyXG4gICAgLy8gY29tcHV0ZSB0aGUgcHJvZ3Jlc3MgYmFyXHJcbiAgICB0aGlzLm5hdlByb2dyZXNzQ291bnQgPSAocGFyZW50SW5kZXggKyAxKSAvIHRoaXMubmF2aWdhdGlvbkRhdGEubGVuZ3RoICogMTAwO1xyXG5cclxuICAgIC8vIHNldCB0aGUgbm9kZSBzdGF0ZXNcclxuICAgIHRoaXMuc2V0Tm9kZVN0YXRlcyh0aGlzLmFjdGl2ZVBhcmVudE5vZGUsIHRoaXMuYWN0aXZlU3ViTm9kZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBjb21wbGV0ZSBhbmQgdmlzaXRlZCBzdGF0ZXMgZm9yIGFsbCBOYXZOb2RlcyBcclxuICAgKiBAcGFyYW0gcGFyZW50Tm9kZSBUaGUgcGFyZW50IG5vZGVcclxuICAgKiBAcGFyYW0gY2hpbGROb2RlIFRoZSBjaGlsZCBub2RlXHJcbiAgICovXHJcbiAgcHVibGljIHNldE5vZGVTdGF0ZXMocGFyZW50Tm9kZTogTmF2Tm9kZSwgY2hpbGROb2RlOiBTdWJOYXZOb2Rlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoaWxkTm9kZSkge1xyXG4gICAgICB0aGlzLmFjdGl2ZVN1Yk5vZGUgPSBjaGlsZE5vZGU7XHJcbiAgICAgIGxldCBjaGlsZEluZGV4ID0gcGFyZW50Tm9kZS5zdWJOb2Rlcy5pbmRleE9mKGNoaWxkTm9kZSkgPiAtMSA/IHBhcmVudE5vZGUuc3ViTm9kZXMuaW5kZXhPZihjaGlsZE5vZGUpIDogMDtcclxuICAgICAgLy8gYWxsIHN1Ym5vZGVzIGJlZm9yZSB0aGlzIHdlcmUgY29tcGxldGVkIGFuZCB2aXNpdGVkXHJcbiAgICAgIHBhcmVudE5vZGUuc3ViTm9kZXMuc2xpY2UoMCwgY2hpbGRJbmRleCkuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICBlbGVtZW50LmNvbXBsZXRlID0gdHJ1ZTtcclxuICAgICAgICBlbGVtZW50LnZpc2l0ZWQgPSB0cnVlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuYWN0aXZlUGFyZW50Tm9kZSA9IHBhcmVudE5vZGU7XHJcbiAgICAvLyBzZXQgYWxsIHByZXZpb3VzIG5vZGVzIHRvIGNvbXBsZXRlXHJcbiAgICBsZXQgcGFyZW50SW5kZXggPSB0aGlzLm5hdmlnYXRpb25EYXRhLmluZGV4T2YocGFyZW50Tm9kZSkgPiAtMSA/IHRoaXMubmF2aWdhdGlvbkRhdGEuaW5kZXhPZihwYXJlbnROb2RlKSA6IDA7XHJcbiAgICB0aGlzLm5hdmlnYXRpb25EYXRhLnNsaWNlKDAsIHBhcmVudEluZGV4KS5mb3JFYWNoKGQgPT4ge1xyXG4gICAgICBkLmNvbXBsZXRlID0gdHJ1ZTtcclxuXHJcbiAgICAgIC8vIHNldCBhbGwgc3Vibm9kZXMgb2YgcHJldmlvdXMgbm9kZXMgdG8gY29tcGxldGUgb25seSBpZiB0aGUgbm9kZSB3YXMgbm90IGRpc2FibGVkXHJcbiAgICAgIGlmICghZC5pc0Rpc2FibGVkKSB7XHJcbiAgICAgICAgZC5zdWJOb2Rlcy5mb3JFYWNoKHMgPT4ge1xyXG4gICAgICAgICAgcy5jb21wbGV0ZSA9IHRydWU7XHJcbiAgICAgICAgICBzLnZpc2l0ZWQgPSB0cnVlO1xyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICAvLyBzZXQgdGhlIGN1cnJlbnQgbm9kZXMgYXMgdmlzaXRlZFxyXG4gICAgcGFyZW50Tm9kZS52aXNpdGVkID0gdHJ1ZTtcclxuICAgIGlmIChjaGlsZE5vZGUpIHtcclxuICAgICAgY2hpbGROb2RlLnZpc2l0ZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xvc2VzIHRoZSBleHBhbnNpb24gcGFuZWwgYW5kIG5hdmlnYXRlcyB0byB0aGUgZ2l2ZW4gbm9kZVxyXG4gICAqIEBwYXJhbSBlbCBUaGUgbWF0IGV4cGFuc2lvbiBwYW5lbCBcclxuICAgKiBAcGFyYW0gaW5kZXggVGhlIHBhcmVudCBub2RlIGluZGV4IFxyXG4gICAqL1xyXG4gIHB1YmxpYyBkaXNhYmxlUGFuZWwoZWwsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGVsLmNsb3NlKCk7XHJcbiAgICB0aGlzLm5hdmlnYXRlKHRoaXMubmF2aWdhdGlvbkRhdGFbaW5kZXhdLnJvdXRlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICogSGlkZXMgdGhlIG1lc3NhZ2VcclxuICAqL1xyXG4gIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93TWVzc2FnZSA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTG9ncyBvdXQgb25jZSB1c2VyIGlzIGF1dGhvcml6ZWRcclxuICAgKiAqL1xyXG4gIHB1YmxpYyBsb2dPdXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmF1dGhvcml6YXRpb25TZXJ2aWNlLmF1dGhvcml6ZVVzZXIoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsb3NlcyBtb2JpbGUgbmF2aWdhdGlvbiBhZnRlciBzZWxlY3Rpb24uXHJcbiAgICovXHJcbiAgcHVibGljIGNsb3NlTmF2aWdhdGlvbkZvck1vYmlsZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm1vYmlsZVF1ZXJ5Lm1hdGNoZXMpIHtcclxuICAgICAgdGhpcy5zaWRlbmF2LmNsb3NlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJcyB0aGUgbmF2aWdhdGlvbiBzZWxlY3RlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBpc05hdlNlbGVjdGVkKG5vZGU6IE5hdk5vZGUgfCBTdWJOYXZOb2Rlcyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucm91dGVyLmlzQWN0aXZlKG5vZGUucm91dGUsIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqIFNldHMgdGhlIHdpZHRoIGZvciB0aGUgc2lkZSBuYXYgKi9cclxuICBwdWJsaWMgc2V0TmF2V2lkdGgod2lkdGg6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gd2lkdGguaW5jbHVkZXMoJyUnKSB8fCB3aWR0aC5pbmNsdWRlcygncHgnKSA/IHdpZHRoIDogd2lkdGggKyAncHgnO1xyXG4gIH1cclxuXHJcbiAgLyoqIEJpbmRzIHRoZSBzdGVwcGVyIHRvIHRoZSByb3V0ZXIgKi9cclxuICBwcml2YXRlIGJpbmRTdGVwcGVyVG9Sb3V0ZXMoKTogdm9pZCB7XHJcbiAgICAvLyBmaW5kIHBhcmVudHNcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAvLyBmaW5kIHBhcmVudCBpbmRleCB3aXRoIGFjdGl2ZSBjaGlsZFxyXG4gICAgICBsZXQgY2hpbGRJbmRleDtcclxuICAgICAgbGV0IHBhcmVudEluZGV4ID0gdGhpcy5uYXZpZ2F0aW9uRGF0YS5maW5kSW5kZXgobiA9PiB7XHJcbiAgICAgICAgY2hpbGRJbmRleCA9IG4uc3ViTm9kZXM/LmZpbmRJbmRleChzID0+IHRoaXMucm91dGVyLnVybC5pbmNsdWRlcyhzLnJvdXRlLnJlcGxhY2UoJy4nLCAnJykpKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGNoaWxkSW5kZXggPiAtMSB8fCB0aGlzLnJvdXRlci51cmwuaW5jbHVkZXMobi5yb3V0ZS5yZXBsYWNlKCcuJywgJycpKTtcclxuICAgICAgfSk7XHJcbiAgICAgIC8vIGlmIG5vIGNoaWxkcmVuIG9yIG5vIGluZGV4ZXMgYWN0aXZhdGUgZmlyc3QgcGFyZW50XHJcbiAgICAgIGlmIChwYXJlbnRJbmRleCA9PT0gLTEpIHtcclxuICAgICAgICBwYXJlbnRJbmRleCA9IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRQYXJlbnRJbmRleCA9IHBhcmVudEluZGV4O1xyXG4gICAgICBpZiAoY2hpbGRJbmRleCA+IC0xKSB7XHJcbiAgICAgICAgdGhpcy5pbm5lclN0ZXBwZXJzLmZpbmQoKGlzLCBpbmRleCkgPT4gaW5kZXggPT09IHBhcmVudEluZGV4KS5zZWxlY3RlZEluZGV4ID0gY2hpbGRJbmRleDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gZmluZCBwYXJlbnRzXHJcbiAgICB0aGlzLm5hdkJpbmRTdWIuYWRkKFxyXG4gICAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSlcclxuICAgICAgICAuc3Vic2NyaWJlKChldmVudDogTmF2aWdhdGlvbkVuZCkgPT4ge1xyXG4gICAgICAgICAgLy8gZmluZCBwYXJlbnQgaW5kZXggd2l0aCBhY3RpdmUgY2hpbGRcclxuICAgICAgICAgIGxldCBjaGlsZEluZGV4O1xyXG4gICAgICAgICAgbGV0IHBhcmVudEluZGV4ID0gdGhpcy5uYXZpZ2F0aW9uRGF0YS5maW5kSW5kZXgobiA9PiB7XHJcbiAgICAgICAgICAgIGNoaWxkSW5kZXggPSBuLnN1Yk5vZGVzPy5maW5kSW5kZXgocyA9PiBldmVudC51cmxBZnRlclJlZGlyZWN0cy5pbmNsdWRlcyhzLnJvdXRlLnJlcGxhY2UoJy4nLCAnJykpKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBjaGlsZEluZGV4ID4gLTEgfHwgZXZlbnQudXJsQWZ0ZXJSZWRpcmVjdHMuaW5jbHVkZXMobi5yb3V0ZS5yZXBsYWNlKCcuJywgJycpKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgLy8gaWYgbm8gY2hpbGRyZW4gb3Igbm8gaW5kZXhlcyBhY3RpdmF0ZSBmaXJzdCBwYXJlbnRcclxuICAgICAgICAgIGlmIChwYXJlbnRJbmRleCA9PT0gLTEpIHtcclxuICAgICAgICAgICAgcGFyZW50SW5kZXggPSAwO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRQYXJlbnRJbmRleCA9IHBhcmVudEluZGV4O1xyXG4gICAgICAgICAgaWYgKGNoaWxkSW5kZXggPiAtMSkge1xyXG4gICAgICAgICAgICB0aGlzLmlubmVyU3RlcHBlcnMuZmluZCgoaXMsIGluZGV4KSA9PiBpbmRleCA9PT0gcGFyZW50SW5kZXgpLnNlbGVjdGVkSW5kZXggPSBjaGlsZEluZGV4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqIEluaXRpYWxpemVzIHRoZSBhZHZhbmNlZCBuYXYgc2V0dGluZ3MgKi9cclxuICBwcml2YXRlIGluaXRBZHZhbmNlZFNldHRpbmdzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5hZHZhbmNlZFNldHRpbmdzLnRvcEdhcERlc2t0b3AgPSB0aGlzLmFkdmFuY2VkU2V0dGluZ3MudG9wR2FwRGVza3RvcCB8fCAwO1xyXG4gICAgdGhpcy5hZHZhbmNlZFNldHRpbmdzLnRvcEdhcE1vYmlsZSA9IHRoaXMuYWR2YW5jZWRTZXR0aW5ncy50b3BHYXBNb2JpbGUgfHwgdGhpcy5zZXR0aW5ncy5oZWFkZXJIZWlnaHQ7XHJcbiAgICB0aGlzLmFkdmFuY2VkU2V0dGluZ3MubWFyZ2luVG9wRGVza3RvcCA9IHRoaXMuYWR2YW5jZWRTZXR0aW5ncy5tYXJnaW5Ub3BEZXNrdG9wIHx8IDA7XHJcbiAgICB0aGlzLmFkdmFuY2VkU2V0dGluZ3MubWFyZ2luVG9wTW9iaWxlID0gdGhpcy5hZHZhbmNlZFNldHRpbmdzLm1hcmdpblRvcE1vYmlsZSB8fCAwO1xyXG5cclxuICB9XHJcblxyXG4gIC8qKiBJbml0aWFsaXplcyB0aGUgbmF2IHRoZW1lIHNldHRpbmdzICovXHJcbiAgcHJpdmF0ZSBpbml0VGhlbWVTZXR0aW5ncygpOiB2b2lkIHtcclxuICAgIHRoaXMudGhlbWVTZXR0aW5ncy5jb250ZW50QmdDb2xvciA/IHRoaXMuc2V0VGhlbWVDb2xvcignY29udGVudC1iZy1jb2xvcicsIHRoaXMudGhlbWVTZXR0aW5ncy5jb250ZW50QmdDb2xvcikgOiB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MuZm9udENvbG9yID8gdGhpcy5zZXRUaGVtZUNvbG9yKCdmb250LWNvbG9yJywgdGhpcy50aGVtZVNldHRpbmdzLmZvbnRDb2xvcikgOiB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MuZm9udENvbG9yID0gdGhpcy50aGVtZVNldHRpbmdzLmZvbnRDb2xvciB8fCAnIzAwMCc7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MubW9iaWxlQmdDb2xvciA9IHRoaXMudGhlbWVTZXR0aW5ncy5tb2JpbGVCZ0NvbG9yIHx8ICcjZmZmZmZmJztcclxuICAgIHRoaXMudGhlbWVTZXR0aW5ncy5iZ0dyYWRpZW50Q29sb3IxID8gdGhpcy5zZXRUaGVtZUNvbG9yKCdiZy1ncmFkaWVudC1jb2xvci0xJywgdGhpcy50aGVtZVNldHRpbmdzLmJnR3JhZGllbnRDb2xvcjEpIDogdW5kZWZpbmVkO1xyXG4gICAgdGhpcy50aGVtZVNldHRpbmdzLmJnR3JhZGllbnRDb2xvcjIgPyB0aGlzLnNldFRoZW1lQ29sb3IoJ2JnLWdyYWRpZW50LWNvbG9yLTInLCB0aGlzLnRoZW1lU2V0dGluZ3MuYmdHcmFkaWVudENvbG9yMikgOiB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MuYm9yZGVyUmlnaHRDb2xvciA/IHRoaXMuc2V0VGhlbWVDb2xvcignYm9yZGVyLXJpZ2h0LWNvbG9yJywgdGhpcy50aGVtZVNldHRpbmdzLmJvcmRlclJpZ2h0Q29sb3IpIDogdW5kZWZpbmVkO1xyXG4gICAgdGhpcy50aGVtZVNldHRpbmdzLmxpc3RCb3JkZXJDb2xvciA/IHRoaXMuc2V0VGhlbWVDb2xvcignbGlzdC1ib3JkZXItY29sb3InLCB0aGlzLnRoZW1lU2V0dGluZ3MubGlzdEJvcmRlckNvbG9yKSA6IHVuZGVmaW5lZDtcclxuICAgIHRoaXMudGhlbWVTZXR0aW5ncy5oaWdobGlnaHRHcmFkaWVudDEgPyB0aGlzLnNldFRoZW1lQ29sb3IoJ2hpZ2hsaWdodC1ncmFkaWVudC0xJywgdGhpcy50aGVtZVNldHRpbmdzLmhpZ2hsaWdodEdyYWRpZW50MSkgOiB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MuaGlnaGxpZ2h0R3JhZGllbnQyID8gdGhpcy5zZXRUaGVtZUNvbG9yKCdoaWdobGlnaHQtZ3JhZGllbnQtMicsIHRoaXMudGhlbWVTZXR0aW5ncy5oaWdobGlnaHRHcmFkaWVudDIpIDogdW5kZWZpbmVkO1xyXG4gICAgdGhpcy50aGVtZVNldHRpbmdzLnN1YkhpZ2hsaWdodEJvcmRlckNvbG9yID9cclxuICAgICAgdGhpcy5zZXRUaGVtZUNvbG9yKCdzdWItaGlnaGxpZ2h0LWJvcmRlci1jb2xvcicsIHRoaXMudGhlbWVTZXR0aW5ncy5zdWJIaWdobGlnaHRCb3JkZXJDb2xvcikgOiB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3Muc3ViSGlnaGxpZ2h0QmdDb2xvciA/XHJcbiAgICAgIHRoaXMuc2V0VGhlbWVDb2xvcignc3ViLWhpZ2hsaWdodC1iZy1jb2xvcicsIHRoaXMudGhlbWVTZXR0aW5ncy5zdWJIaWdobGlnaHRCZ0NvbG9yKSA6IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIC8qKiBJbml0aWFsaXplcyB0aGUgYmFzaWMgbmF2IHNldHRpbmdzICovXHJcbiAgcHJpdmF0ZSBpbml0QmFzaWNTZXR0aW5ncygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0dGluZ3MuZm9udEF3ZXNvbWVNZW51SWNvbiA9IHRoaXMuc2V0dGluZ3MuZm9udEF3ZXNvbWVNZW51SWNvbiB8fCAnZmFzIGZhLWFuZ2xlLWRvdWJsZS1sZWZ0JztcclxuICAgIHRoaXMuc2V0dGluZ3MuZm9udEF3ZXNvbWVNZW51SWNvbkNsb3NlZCA9IHRoaXMuc2V0dGluZ3MuZm9udEF3ZXNvbWVNZW51SWNvbkNsb3NlZCB8fCAnZmFzIGZhLWFuZ2xlLWRvdWJsZS1yaWdodCc7XHJcbiAgICB0aGlzLnNldHRpbmdzLmFsbG93TmF2VG9nZ2xlID0gdGhpcy5zZXR0aW5ncy5hbGxvd05hdlRvZ2dsZSA9PSBudWxsID8gdHJ1ZSA6IHRoaXMuc2V0dGluZ3MuYWxsb3dOYXZUb2dnbGU7XHJcbiAgICB0aGlzLnNldHRpbmdzLm1haW5NZW51VGV4dCA/IHRoaXMubWFpbk1lbnVUZXh0ID0gdGhpcy5zZXR0aW5ncy5tYWluTWVudVRleHQgOiB0aGlzLm1haW5NZW51VGV4dCA9ICdNYWluIE1lbnUnO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5oZWFkZXJIZWlnaHQgPSB0aGlzLnNldHRpbmdzLmhlYWRlckhlaWdodCB8fCA2MDtcclxuICAgIHRoaXMuc2V0dGluZ3MubWVudUJ1dHRvblNSVGV4dCA9IHRoaXMuc2V0dGluZ3MubWVudUJ1dHRvblNSVGV4dCB8fCAnTWVudSBCdXR0b24nO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5tZW51U3R5bGUgPSB0aGlzLnNldHRpbmdzLm1lbnVTdHlsZSB8fCAnc3RhdGljJztcclxuICAgIHRoaXMuc2V0dGluZ3MuZGlzcGxheU51bWJlcnMgPSB0aGlzLnNldHRpbmdzLmRpc3BsYXlOdW1iZXJzID09IG51bGwgPyB0cnVlIDogdGhpcy5zZXR0aW5ncy5kaXNwbGF5TnVtYmVycztcclxuICAgIHRoaXMuc2V0dGluZ3MucHJvZ3Jlc3NTZWN0aW9uQ29tcGxldGVJY29uID0gdGhpcy5zZXR0aW5ncy5wcm9ncmVzc1NlY3Rpb25Db21wbGV0ZUljb24gfHwgJ2ZhcyBmYS1jaGVjay1jaXJjbGUnO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5wcm9ncmVzc1NlY3Rpb25GdXR1cmVJY29uID0gdGhpcy5zZXR0aW5ncy5wcm9ncmVzc1NlY3Rpb25GdXR1cmVJY29uIHx8ICdmYXIgZmEtY2lyY2xlJztcclxuICAgIHRoaXMuc2V0dGluZ3MucHJvZ3Jlc3NTZWN0aW9uQ3VycmVudEljb24gPSB0aGlzLnNldHRpbmdzLnByb2dyZXNzU2VjdGlvbkN1cnJlbnRJY29uIHx8ICdmYXMgZmEtY2lyY2xlJztcclxuICAgIHRoaXMuc2V0dGluZ3MucHJvZ3Jlc3NNZW51Q29tcGxldGVJY29uID0gdGhpcy5zZXR0aW5ncy5wcm9ncmVzc01lbnVDb21wbGV0ZUljb24gfHwgJ2ZhciBmYS1jaGVjayc7XHJcbiAgICB0aGlzLnNldHRpbmdzLnNob3dQcm9ncmVzc0JhciA9IHRoaXMuc2V0dGluZ3Muc2hvd1Byb2dyZXNzQmFyID09IG51bGwgPyB0cnVlIDogdGhpcy5zZXR0aW5ncy5zaG93UHJvZ3Jlc3NCYXJcclxuICAgIHRoaXMuc2V0dGluZ3Muc2lkZU5hdldpZHRoRGVza3RvcCA9IHRoaXMuc2V0dGluZ3Muc2lkZU5hdldpZHRoRGVza3RvcCB8fCAnMzUwJztcclxuICAgIHRoaXMuc2V0dGluZ3Muc2lkZU5hdldpZHRoTW9iaWxlID0gdGhpcy5zZXR0aW5ncy5zaWRlTmF2V2lkdGhNb2JpbGUgfHwgJzM1MCc7XHJcbiAgICB0aGlzLnNldHRpbmdzLm92ZXJyaWRlTmF2aWdhdGlvbiA9IHRoaXMuc2V0dGluZ3Mub3ZlcnJpZGVOYXZpZ2F0aW9uIHx8IGZhbHNlO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5wcm9ncmVzc01lbnVXaWR0aCA9IHRoaXMuc2V0dGluZ3MucHJvZ3Jlc3NNZW51V2lkdGggfHwgJzI4MCc7XHJcbiAgICB0aGlzLnNldHRpbmdzLnVzZUN1c3RvbU1vYmlsZUZvb3RlciA9IHRoaXMuc2V0dGluZ3MudXNlQ3VzdG9tTW9iaWxlRm9vdGVyICE9IG51bGwgPyB0aGlzLnNldHRpbmdzLnVzZUN1c3RvbU1vYmlsZUZvb3RlciA6IGZhbHNlO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXRoZW1lLnNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMi9fd29yay82Mzgvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9uYXZpZ2F0aW9uL21vZGVscy9uYXYtdGhlbWUuc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBUaGUgVGhlbWUgU2V0dGluZ3MgKi9cclxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uVGhlbWVTZXR0aW5ncyB7XHJcbiAgLyoqIHRoZSBjb250ZW50IGJhY2tncm91bmQgY29sb3IgKi9cclxuICBjb250ZW50QmdDb2xvcj86IHN0cmluZztcclxuXHJcbiAgLyoqIHRoZSBuYXZpZ2F0aW9uIG92ZXJhbGwgZm9udCBjb2xvciAqL1xyXG4gIGZvbnRDb2xvcj86IHN0cmluZztcclxuXHJcbiAgLyoqIHRoZSBiYWNrZ3JvdW5kIGdyYWRpZW50IGNvbG9yIDIgKi9cclxuICBiZ0dyYWRpZW50Q29sb3IxPzogc3RyaW5nO1xyXG5cclxuICAvKiogdGhlIGJhY2tncm91bmQgZ3JhZGllbnQgY29sb3IgMiAqL1xyXG4gIGJnR3JhZGllbnRDb2xvcjI/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiB0aGUgb3ZlcmFsbCBib3JkZXIgcmlnaHQgY29sb3IgKi9cclxuICBib3JkZXJSaWdodENvbG9yPzogc3RyaW5nO1xyXG5cclxuICAvKiogdGhlIGxpc3QgYm9yZGVyIGNvbG9yICovXHJcbiAgbGlzdEJvcmRlckNvbG9yPzogc3RyaW5nO1xyXG5cclxuICAvKiogdGhlIG5hdiBoaWdobGlnaHQgZ3JhZGllbnQgY29sb3IgMSAqL1xyXG4gIGhpZ2hsaWdodEdyYWRpZW50MT86IHN0cmluZztcclxuXHJcbiAgLyoqIHRoZSBuYXYgaGlnaGxpZ2h0IGdyYWRpZW50IGNvbG9yIDIgKi9cclxuICBoaWdobGlnaHRHcmFkaWVudDI/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiB0aGUgU3ViTmF2IGhpZ2hsaWdodCBib3JkZXIgY29sb3IgKi9cclxuICBzdWJIaWdobGlnaHRCb3JkZXJDb2xvcj86IHN0cmluZztcclxuXHJcbiAgLyoqIHRoZSBTdWJOYXYgaGlnaGxpZ2h0IGJnIGNvbG9yICovXHJcbiAgc3ViSGlnaGxpZ2h0QmdDb2xvcj86IHN0cmluZztcclxuXHJcbiAgLyoqIFRoZSBtb2JpbGUgYmFja2dyb3VuZCBjb2xvciAqL1xyXG4gIG1vYmlsZUJnQ29sb3I/OiBzdHJpbmc7XHJcbn1cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LnNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMi9fd29yay82Mzgvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9uYXZpZ2F0aW9uL21vZGVscy9uYXYuc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKiB0aGUgTmF2aWdhdGlvbiBTZXR0aW5ncyAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIE5hdmlnYXRpb25TZXR0aW5ncyB7XHJcbiAgLyoqIHRoZSBIZWFkZXIgTWVudSBGb250QXdlc29tZSBpY29uIHdoZW4gdGhlIG5hdmlnYXRpb24gYmFyIGlzIG9wZW4gKi9cclxuICBmb250QXdlc29tZU1lbnVJY29uPzogc3RyaW5nO1xyXG5cclxuICAvKiogdGhlIEhlYWRlciBNZW51IEZvbnRBd2Vzb21lIGljb24gd2hlbiB0aGUgbmF2aWdhdGlvbiBiYXIgaXMgY2xvc2VkICovXHJcbiAgZm9udEF3ZXNvbWVNZW51SWNvbkNsb3NlZD86IHN0cmluZztcclxuXHJcbiAgLyoqIHRoZSBtYWluIG1lbnUgdGV4dCB0aGF0IGFwcGVhcnMgaW4gdGhlIG1vYmlsZSBTdWJOYXYgKi9cclxuICBtYWluTWVudVRleHQ/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiB0aGUgaGVhZGVyIGhlaWdodCAqL1xyXG4gIGhlYWRlckhlaWdodD86IG51bWJlcjtcclxuXHJcbiAgLyoqIG1lbnUgYnV0dG9uIHNjcmVlbiByZWFkZXIgdGV4dCAqL1xyXG4gIG1lbnVCdXR0b25TUlRleHQ/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBUaGUgbWVudSBzdHlsZSAqL1xyXG4gIG1lbnVTdHlsZT86ICdzdGF0aWMnIHwgJ3N0ZXBwZXInIHwgJ3Byb2dyZXNzJztcclxuXHJcbiAgLyoqIFRydWUgaWYgbmF2aWdhdGlvbiBpcyBoaWRkZW4gKi9cclxuICBoaWRlTmF2aWdhdGlvbj86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBUcnVlIGlmIHRoZSBuYXZpZ2F0aW9uIHNob3VsZCBzaG93IG51bWJlcnMgZm9yIHRoZSBzZWN0aW9ucyAqL1xyXG4gIGRpc3BsYXlOdW1iZXJzPzogYm9vbGVhbjtcclxuXHJcbiAgLyoqIFRoZSBpY29uIGZvciBwcm9ncmVzcyBtZW51IGNvbXBsZXRlZCBzZWN0aW9uICovXHJcbiAgcHJvZ3Jlc3NTZWN0aW9uQ29tcGxldGVJY29uPzogc3RyaW5nO1xyXG5cclxuICAvKiogVGhlIGljb24gZm9yIHByb2dyZXNzIG1lbnUgZnV0dXJlIHNlY3Rpb24gKi9cclxuICBwcm9ncmVzc1NlY3Rpb25GdXR1cmVJY29uPzogc3RyaW5nO1xyXG5cclxuICAvKiogVGhlIGljb24gZm9yIHByb2dyZXNzIG1lbnUgY3VycmVudCBzZWN0aW9uICovXHJcbiAgcHJvZ3Jlc3NTZWN0aW9uQ3VycmVudEljb24/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBUaGUgaWNvbiBmb3IgcHJvZ3Jlc3MgbWVudSBjb21wbGV0ZSBpdGVtICovXHJcbiAgcHJvZ3Jlc3NNZW51Q29tcGxldGVJY29uPzogc3RyaW5nO1xyXG5cclxuICAvKiogVHJ1ZSBpZiB0aGUgcHJvZ3Jlc3MgYmFyIHNob3VsZCBiZSBkaXNwbGF5ZWQgKi9cclxuICBzaG93UHJvZ3Jlc3NCYXI/OiBib29sZWFuO1xyXG5cclxuICAvKiogVGhlIHdpZHRoIG9mIHRoZSBzaWRlIG5hdmlnYXRpb24gZm9yIG1vYmlsZSAqL1xyXG4gIHNpZGVOYXZXaWR0aE1vYmlsZT86IHN0cmluZztcclxuXHJcbiAgLyoqIFRoZSB3aWR0aCBvZiBzaWRlIG5hdmlnYXRpb24gZm9yIGRlc2t0b3AgKi9cclxuICBzaWRlTmF2V2lkdGhEZXNrdG9wPzogc3RyaW5nO1xyXG5cclxuICAvKiogVGhlIHdpZHRoIG9mIHRoZSBwcm9ncmVzcyBkcm9wIGRvd24gbWVudSAqL1xyXG4gIHByb2dyZXNzTWVudVdpZHRoPzogc3RyaW5nXHJcblxyXG4gIC8qKiBDb25maWcgdG8gb3ZlcnJpZGUgdGhlIG5hdmlnYXRpb24gYW5kIGVuYWJsZSBhbGwgcm91dGVzLiBUbyBiZSB1c2VkIGZvciB0ZXN0aW5nIG9ubHkgKi9cclxuICBvdmVycmlkZU5hdmlnYXRpb24/OiBib29sZWFuO1xyXG5cclxuICAvKiogVGhlIG1heCBjb250ZW50IHdpZHRoIGZvciBkZXNrdG9wICovXHJcbiAgbWF4Q29udGVudFdpZHRoRGVza3RvcD86IG51bWJlcjtcclxuXHJcbiAgLyoqIFRoZSBtYXggY29udGVudCB3aWR0aCBmb3IgbW9iaWxlICovXHJcbiAgbWF4Q29udGVudFdpZHRoTW9iaWxlPzogbnVtYmVyO1xyXG5cclxuICAvKiogVHJ1ZSBpZiB0aGUgbW9iaWxlIG5hdmlnYXRpb24gdXNlcyBjdXN0b20gZm9vdGVyLiBUaGlzIHdpbGwgaGlkZSB0aGUgbGFuZ3VhZ2UgYW5kIHNpZ25vdXQgYnV0dG9ucyAgKi9cclxuICB1c2VDdXN0b21Nb2JpbGVGb290ZXI/OiBib29sZWFuO1xyXG5cclxuICAvKiogVGhlIGN1c3RvbSB1c2VyIG5hbWUgdG8gYmUgZGlzcGxheWVkIGZvciBtb2JpbGUgc2lkZSBuYXYgKi9cclxuICBjdXN0b21Vc2VyTmFtZT86IHN0cmluZztcclxuXHJcbiAgLyoqIFRoZSBjdXN0b20gcGFyZW50IG5vZGUgaW5kZXggdG8gYmUgc2V0IHdoZW4gbmF2IGlzIHRvZ2dsZWQgdG8gcHJvZ3Jlc3MgbWVudSBzdHlsZSAqL1xyXG4gIHRvZ2dsZVByb2dyZXNzTmF2UGFyZW50SW5kZXg/OiBudW1iZXI7XHJcblxyXG4gIC8qKiBUaGUgY3VzdG9tIGNoaWxkIG5vZGUgaW5kZXggdG8gYmUgc2V0IHdoZW4gbmF2IGlzIHRvZ2dsZWQgdG8gcHJvZ3Jlc3MgbWVudSBzdHlsZSAqL1xyXG4gIHRvZ2dsZVByb2dyZXNzTmF2Q2hpbGRJbmRleD86IG51bWJlcjtcclxuXHJcbiAgLyoqIFRydWUgd2hlbiByZXNldHRpbmcgdGhlIG5hdmlnYXRpb24gKi9cclxuICByZXNldE5hdj86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBXaGV0aGVyIHRvIGFsbG93IG5hdmlnYXRpb24gdG9nZ2xlIG9uIG5vbi1tb2JpbGUgKi9cclxuICBhbGxvd05hdlRvZ2dsZT86IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qKiBUaGUgQWR2YW5jZWQgU2V0dGluZ3MgKi9cclxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uQWR2YW5jZWRTZXR0aW5ncyB7XHJcbiAgLyoqIHRoZSB0b3AgZ2FwIG9uIGRlc2t0b3Agc2NyZWVucyBmb3IgdGhlIE1EIGNvbXBvbmVudCAqL1xyXG4gIHRvcEdhcERlc2t0b3A/OiBudW1iZXI7XHJcblxyXG4gIC8qKiB0aGUgdG9wIGdhcCBvbiBtb2JpbGUgc2NyZWVucyBmb3IgdGhlIE1EIGNvbXBvbmVudCAqL1xyXG4gIHRvcEdhcE1vYmlsZT86IG51bWJlcjtcclxuXHJcbiAgLyoqIHRoZSBtYXJnaW4gb24gZGVza3RvcCBzY3JlZW5zIGZvciB0aGUgTUQgY29tcG9uZW50ICovXHJcbiAgbWFyZ2luVG9wRGVza3RvcD86IG51bWJlcjtcclxuXHJcbiAgLyoqIHRoZSBtYXJnaW4gb24gbW9iaWxlIHNjcmVlbnMgZm9yIHRoZSBNRCBjb21wb25lbnQgKi9cclxuICBtYXJnaW5Ub3BNb2JpbGU/OiBudW1iZXI7XHJcbn1cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiJTOi9CMDIvX3dvcmsvNjM4L3MvbGlicmFyeS9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvIiwic291cmNlcyI6WyJsaWIvbmF2aWdhdGlvbi9tb2RlbHMvbmF2aWdhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFRoZSBOYXZpZ2F0aW9uIChQYXJlbnQpIE5vZGUgTW9kZWwgKi9cclxuZXhwb3J0IGludGVyZmFjZSBOYXZOb2RlIHtcclxuICAvKiogdGhlIHBhcmVudCBub2RlIHRpdGxlICovXHJcbiAgdGV4dDogc3RyaW5nO1xyXG5cclxuICAvKiogdGhlIHBhcmVudCBub2RlIGZvbnRBd2Vzb21lSWNvbiAqL1xyXG4gIGZvbnRBd2Vzb21lSWNvbj86IHN0cmluZztcclxuXHJcbiAgLyoqIHRoZSBwYXJlbnQgbm9kZSByb3V0ZSAqL1xyXG4gIHJvdXRlPzogc3RyaW5nO1xyXG5cclxuICAvKiogdGhlIHBhcmVudCBub2RlIHN1Yi1ub2RlcyAqL1xyXG4gIHN1Yk5vZGVzPzogU3ViTmF2Tm9kZXNbXTtcclxuXHJcbiAgLyoqIFRydWUgaWYgdGhlIG5vZGUgaXMgY29tcGxldGUgKi9cclxuICBjb21wbGV0ZT86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBUcnVlIGlmIHRoZSBub2RlIHdhcyB2aXNpdGVkICovXHJcbiAgdmlzaXRlZD86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBUaGUgc3RlcCBjb250ZW50ICovXHJcbiAgc3RlcENvbnRlbnQ/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiB0aGUgZm9vdGVyIGNvbnRlbnQgKi9cclxuICBhbHRMb2NhdGlvbj86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBUcnVlIGlmIHRoZSBwYXJlbnQgbm9kZSBpcyBkaXNhYmxlZCAqL1xyXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xyXG5cclxuICAvKiogV2hldGhlciBvciBub3QgdGhlIG5hdmlnYXRpb24gZXhwYW5kZWQgYXQgc3RhcnQgKi9cclxuICBleHBhbmRlZD86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBUcnVlIHdoZW4gdmlzaWJpbGl0eSBpcyBoaWRkZW4gKi9cclxuICBoaWRkZW4/OiBib29sZWFuO1xyXG59XHJcblxyXG4vKiogVGhlIFN1Yi1OYXZpZ2F0aW9uIChDaGlsZCkgTm9kZSBNb2RlbCAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFN1Yk5hdk5vZGVzIHtcclxuICAvKiogdGhlIHN1Yi1ub2RlIHRpdGxlICovXHJcbiAgdGV4dDogc3RyaW5nO1xyXG5cclxuICAvKiogdGhlIHN1Yi1ub2RlIHJvdXRlICovXHJcbiAgcm91dGU6IHN0cmluZztcclxuXHJcbiAgLyoqIFRydWUgaWYgdGhlIG5vZGUgaXMgY29tcGxldGUgKi9cclxuICBjb21wbGV0ZT86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBUcnVlIGlmIHRoZSBub2RlIHdhcyB2aXNpdGVkICovXHJcbiAgdmlzaXRlZD86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBUaGUgc3RlcCBjb250ZW50ICovXHJcbiAgc3RlcENvbnRlbnQ/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBUcnVlIHdoZW4gdmlzaWJpbGl0eSBpcyBoaWRkZW4gKi9cclxuICBoaWRkZW4/OiBib29sZWFuO1xyXG59XHJcbiJdfQ==
|
|
@@ -6,4 +6,4 @@ export * from './models/nav.settings';
|
|
|
6
6
|
export * from './models/nav-theme.settings';
|
|
7
7
|
// components
|
|
8
8
|
export * from './components/navigation/navigation.component';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1hcGkuanMiLCJzb3VyY2VSb290IjoiUzovQjAyL193b3JrLzYzOC9zL2xpYnJhcnkvcHJvamVjdHMvYXJtYXR1cmUvc3JjLyIsInNvdXJjZXMiOlsibGliL25hdmlnYXRpb24vbmF2aWdhdGlvbi1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0NBQXdDO0FBQ3hDLGNBQWMscUJBQXFCLENBQUM7QUFFcEMsU0FBUztBQUNULGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGFBQWE7QUFDYixjQUFjLDhDQUE4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFB1YmxpYyBBUEkgc3VyZmFjZSBmb3IgY29tcG9uZW50cyAqL1xyXG5leHBvcnQgKiBmcm9tICcuL25hdmlnYXRpb24ubW9kdWxlJztcclxuXHJcbi8vIG1vZGVsc1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9uYXZpZ2F0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvbmF2LnNldHRpbmdzJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvbmF2LXRoZW1lLnNldHRpbmdzJztcclxuXHJcbi8vIGNvbXBvbmVudHNcclxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi5jb21wb25lbnQnO1xyXG4iXX0=
|
|
@@ -64,4 +64,4 @@ NavigationModule.decorators = [
|
|
|
64
64
|
providers: [TranslateService, BannerService]
|
|
65
65
|
},] }
|
|
66
66
|
];
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiUzovQjAyL193b3JrLzYzOC9zL2xpYnJhcnkvcHJvamVjdHMvYXJtYXR1cmUvc3JjLyIsInNvdXJjZXMiOlsibGliL25hdmlnYXRpb24vbmF2aWdhdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFaEUscUJBQXFCO0FBQ3JCLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLDJCQUEyQjtDQUM1QixDQUFDO0FBRUYsMkJBQTJCO0FBQzNCLE1BQU0sZUFBZSxHQUFHO0lBQ3RCLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2Ysb0JBQW9CO0lBQ3BCLGVBQWU7SUFDZixxQkFBcUI7SUFDckIsZUFBZTtJQUNmLGFBQWE7SUFDYixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixvQkFBb0I7Q0FDckIsQ0FBQztBQUVGLDRCQUE0QjtBQWtCNUIsTUFBTSxPQUFPLGdCQUFnQjs7O1lBakI1QixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLEdBQUcsVUFBVTtpQkFDZDtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixZQUFZO29CQUNaLGVBQWU7b0JBQ2YsZ0JBQWdCO29CQUNoQixHQUFHLGVBQWU7aUJBQ25CO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxHQUFHLFVBQVU7b0JBQ2IsR0FBRyxlQUFlO2lCQUNuQjtnQkFDRCxTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUM7YUFDN0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0U2lkZW5hdk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xyXG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XHJcbmltcG9ydCB7IE1hdFNsaWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlcic7XHJcbmltcG9ydCB7IE1hdFN0ZXBwZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zdGVwcGVyJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IE1hdEV4cGFuc2lvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbic7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBBcm1hdHVyZU5hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhbm5lclNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3NlcnZpY2VzL2Jhbm5lci5zZXJ2aWNlJztcclxuXHJcbi8qKiBUaGUgY29tcG9uZW50cyAqL1xyXG5jb25zdCBjb21wb25lbnRzID0gW1xyXG4gIEFybWF0dXJlTmF2aWdhdGlvbkNvbXBvbmVudFxyXG5dO1xyXG5cclxuLyoqIFRoZSBtYXRlcmlhbCBtb2R1bGVzICovXHJcbmNvbnN0IG1hdGVyaWFsTW9kdWxlcyA9IFtcclxuICBNYXRTaWRlbmF2TW9kdWxlLFxyXG4gIE1hdFNsaWRlck1vZHVsZSxcclxuICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlLFxyXG4gIE1hdEJ1dHRvbk1vZHVsZSxcclxuICBNYXRJY29uTW9kdWxlLFxyXG4gIE1hdExpc3RNb2R1bGUsXHJcbiAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICBNYXRFeHBhbnNpb25Nb2R1bGUsXHJcbiAgTWF0TWVudU1vZHVsZSxcclxuICBNYXRTdGVwcGVyTW9kdWxlLFxyXG4gIE1hdEV4cGFuc2lvbk1vZHVsZSxcclxuICBNYXRNZW51TW9kdWxlLFxyXG4gIE1hdFN0ZXBwZXJNb2R1bGUsXHJcbiAgTWF0U2VsZWN0TW9kdWxlLFxyXG4gIE1hdFByb2dyZXNzQmFyTW9kdWxlXHJcbl07XHJcblxyXG4vKiogVGhlIE5hdmlnYXRpb24gTW9kdWxlICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAuLi5jb21wb25lbnRzXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGUsXHJcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxyXG4gICAgLi4ubWF0ZXJpYWxNb2R1bGVzXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICAuLi5jb21wb25lbnRzLFxyXG4gICAgLi4ubWF0ZXJpYWxNb2R1bGVzXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtUcmFuc2xhdGVTZXJ2aWNlLCBCYW5uZXJTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvbk1vZHVsZSB7IH1cclxuIl19
|
|
@@ -3,4 +3,4 @@ import { InjectionToken } from '@angular/core';
|
|
|
3
3
|
export const HYBRID_SAML_OAUTH_CONFIG = new InjectionToken('HybridSamlOAuthConfig');
|
|
4
4
|
/** The key path prefix */
|
|
5
5
|
export const keyPathPrefix = 'SsoGateway-';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMi9fd29yay82Mzgvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9vYXV0aC9tb2RlbHMvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0MsbURBQW1EO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUEwQyxJQUFJLGNBQWMsQ0FBd0IsdUJBQXVCLENBQUMsQ0FBQztBQUVsSiwwQkFBMEI7QUFDMUIsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFXLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh5YnJpZFNhbWxPQXV0aENvbmZpZyB9IGZyb20gJy4vaHlicmlkLXNhbWwtb2F1dGgtY29uZmlnJztcclxuXHJcbi8qKiBUaGUgaHlicmlkIHNhbWwgb2F1dGggY29uZmlnIGluamVjdGlvbiB0b2tlbiAqL1xyXG5leHBvcnQgY29uc3QgSFlCUklEX1NBTUxfT0FVVEhfQ09ORklHOiBJbmplY3Rpb25Ub2tlbjxIeWJyaWRTYW1sT0F1dGhDb25maWc+ID0gbmV3IEluamVjdGlvblRva2VuPEh5YnJpZFNhbWxPQXV0aENvbmZpZz4oJ0h5YnJpZFNhbWxPQXV0aENvbmZpZycpO1xyXG5cclxuLyoqIFRoZSBrZXkgcGF0aCBwcmVmaXggKi9cclxuZXhwb3J0IGNvbnN0IGtleVBhdGhQcmVmaXg6IHN0cmluZyA9ICdTc29HYXRld2F5LSc7XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudE1hbmFnZW1lbnRBc3NlcnRpb25Nb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJTOi9CMDIvX3dvcmsvNjM4L3MvbGlicmFyeS9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvIiwic291cmNlcyI6WyJsaWIvb2F1dGgvbW9kZWxzL2dlbmVyYXRlZC9hY2NvdW50TWFuYWdlbWVudEFzc2VydGlvbk1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogU1NPIEdhdGV3YXlcclxuICogTm8gZGVzY3JpcHRpb24gcHJvdmlkZWQgKGdlbmVyYXRlZCBieSBTd2FnZ2VyIENvZGVnZW4gaHR0cHM6Ly9naXRodWIuY29tL3N3YWdnZXItYXBpL3N3YWdnZXItY29kZWdlbilcclxuICpcclxuICogT3BlbkFQSSBzcGVjIHZlcnNpb246IDJcclxuICogXHJcbiAqXHJcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgdGhlIHN3YWdnZXIgY29kZSBnZW5lcmF0b3IgcHJvZ3JhbS5cclxuICogaHR0cHM6Ly9naXRodWIuY29tL3N3YWdnZXItYXBpL3N3YWdnZXItY29kZWdlbi5naXRcclxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxyXG4gKi9cclxuaW1wb3J0IHsgUG9saWN5IH0gZnJvbSAnLi9wb2xpY3knO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBUaGUgYWNjb3VudCBtYW5hZ2VtZW50IGFzc2VydGlvbiBtb2RlbFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBBY2NvdW50TWFuYWdlbWVudEFzc2VydGlvbk1vZGVsIHsgXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyB0aGUgcG9saWNpZXMuXHJcbiAgICAgKi9cclxuICAgIHBvbGljaWVzPzogQXJyYXk8UG9saWN5PjtcclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIHRoZSByb2xlLlxyXG4gICAgICovXHJcbiAgICByb2xlPzogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG9yIHNldHMgdGhlIHVzZXIgaWRlbnRpZmllci5cclxuICAgICAqL1xyXG4gICAgdXNlcklkPzogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG9yIHNldHMgdGhlIHVzZXIgaWRlbnRpZmllciB0eXBlXHJcbiAgICAgKi9cclxuICAgIHVzZXJJZFR5cGU/OiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyB0aGUgdHJhbnNhY3Rpb24gaWRlbnRpZmllci5cclxuICAgICAqL1xyXG4gICAgdHJhbnNhY3Rpb25JZD86IHN0cmluZztcclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIHRoZSBsYW5ndWFnZSBwcmVmZXJlbmNlLlxyXG4gICAgICovXHJcbiAgICBsYW5ndWFnZVByZWZlcmVuY2U/OiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyB0aGUgYnJva2VyIGlkZW50aWZpZXJcclxuICAgICAqL1xyXG4gICAgYnJva2VySWQ/OiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyB0aGUgYnJva2VyIGlkZW50aWZpZXIgdHlwZVxyXG4gICAgICovXHJcbiAgICBicm9rZXJJZFR5cGU/OiBzdHJpbmc7XHJcbn1cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudE1hbmFnZW1lbnRSZWZyZXNoUmVxdWVzdE1vZGVsLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMi9fd29yay82Mzgvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9vYXV0aC9tb2RlbHMvZ2VuZXJhdGVkL2FjY291bnRNYW5hZ2VtZW50UmVmcmVzaFJlcXVlc3RNb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFNTTyBHYXRld2F5XHJcbiAqIE5vIGRlc2NyaXB0aW9uIHByb3ZpZGVkIChnZW5lcmF0ZWQgYnkgU3dhZ2dlciBDb2RlZ2VuIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFwaS9zd2FnZ2VyLWNvZGVnZW4pXHJcbiAqXHJcbiAqIE9wZW5BUEkgc3BlYyB2ZXJzaW9uOiAyXHJcbiAqIFxyXG4gKlxyXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXHJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFwaS9zd2FnZ2VyLWNvZGVnZW4uZ2l0XHJcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cclxuICovXHJcbmltcG9ydCB7IElTc29SZXNwb25zZU1vZGVsQWNjb3VudE1hbmFnZW1lbnRBc3NlcnRpb25Nb2RlbCB9IGZyb20gJy4vaVNzb1Jlc3BvbnNlTW9kZWxBY2NvdW50TWFuYWdlbWVudEFzc2VydGlvbk1vZGVsJztcclxuXHJcblxyXG4vKipcclxuICogVGhlIHJlZnJlc2ggcmVxdWVzdCBtb2RlbFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBBY2NvdW50TWFuYWdlbWVudFJlZnJlc2hSZXF1ZXN0TW9kZWwgeyBcclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIHRoZSBTU08gcmVzcG9uc2UgbW9kZWwuXHJcbiAgICAgKi9cclxuICAgIHNzb1Jlc3BvbnNlTW9kZWw6IElTc29SZXNwb25zZU1vZGVsQWNjb3VudE1hbmFnZW1lbnRBc3NlcnRpb25Nb2RlbDtcclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudE1hbmFnZW1lbnRSZXNwb25zZU1vZGVsLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMi9fd29yay82Mzgvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9vYXV0aC9tb2RlbHMvZ2VuZXJhdGVkL2FjY291bnRNYW5hZ2VtZW50UmVzcG9uc2VNb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFNTTyBHYXRld2F5XHJcbiAqIE5vIGRlc2NyaXB0aW9uIHByb3ZpZGVkIChnZW5lcmF0ZWQgYnkgU3dhZ2dlciBDb2RlZ2VuIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFwaS9zd2FnZ2VyLWNvZGVnZW4pXHJcbiAqXHJcbiAqIE9wZW5BUEkgc3BlYyB2ZXJzaW9uOiAyXHJcbiAqIFxyXG4gKlxyXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXHJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFwaS9zd2FnZ2VyLWNvZGVnZW4uZ2l0XHJcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cclxuICovXHJcbmltcG9ydCB7IEFjY291bnRNYW5hZ2VtZW50QXNzZXJ0aW9uTW9kZWwgfSBmcm9tICcuL2FjY291bnRNYW5hZ2VtZW50QXNzZXJ0aW9uTW9kZWwnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBUaGUgQWNjb3VudCBNYW5hZ2VtZW50IFJlc3BvbnNlIG1vZGVsXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEFjY291bnRNYW5hZ2VtZW50UmVzcG9uc2VNb2RlbCB7IFxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG9yIHNldHMgdGhlIGFzc2VydGlvbnMuXHJcbiAgICAgKi9cclxuICAgIGFzc2VydGlvbnM/OiBBY2NvdW50TWFuYWdlbWVudEFzc2VydGlvbk1vZGVsO1xyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG9yIHNldHMgdGhlIGlzc3Vlci5cclxuICAgICAqL1xyXG4gICAgaXNzdWVyPzogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG9yIHNldHMgdGhlIGF1ZGllbmNlLlxyXG4gICAgICovXHJcbiAgICBhdWRpZW5jZT86IHN0cmluZztcclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIHRoZSBkZXN0aW5hdGlvbi5cclxuICAgICAqL1xyXG4gICAgZGVzdGluYXRpb24/OiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyB0aGUgaGFzaC5cclxuICAgICAqL1xyXG4gICAgaGFzaD86IHN0cmluZztcclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIHRoZSBrZXkgcGF0aC5cclxuICAgICAqL1xyXG4gICAga2V5UGF0aD86IHN0cmluZztcclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIHRoZSBhY2Nlc3MgdG9rZW4uXHJcbiAgICAgKi9cclxuICAgIGFjY2Vzc1Rva2VuPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|
|
@@ -16,4 +16,4 @@ export var CoverageDetail;
|
|
|
16
16
|
NotEffectuated: 'NotEffectuated'
|
|
17
17
|
};
|
|
18
18
|
})(CoverageDetail || (CoverageDetail = {}));
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY292ZXJhZ2VEZXRhaWwuanMiLCJzb3VyY2VSb290IjoiUzovQjAyL193b3JrLzYzOC9zL2xpYnJhcnkvcHJvamVjdHMvYXJtYXR1cmUvc3JjLyIsInNvdXJjZXMiOlsibGliL29hdXRoL21vZGVscy9nZW5lcmF0ZWQvY292ZXJhZ2VEZXRhaWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQWdESCxNQUFNLEtBQVcsY0FBYyxDQU05QjtBQU5ELFdBQWlCLGNBQWM7SUFFZCx5QkFBVSxHQUFHO1FBQ3RCLFdBQVcsRUFBRSxhQUEyQjtRQUN4QyxjQUFjLEVBQUUsZ0JBQThCO0tBQ2pELENBQUM7QUFDTixDQUFDLEVBTmdCLGNBQWMsS0FBZCxjQUFjLFFBTTlCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFNTTyBHYXRld2F5XHJcbiAqIE5vIGRlc2NyaXB0aW9uIHByb3ZpZGVkIChnZW5lcmF0ZWQgYnkgU3dhZ2dlciBDb2RlZ2VuIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFwaS9zd2FnZ2VyLWNvZGVnZW4pXHJcbiAqXHJcbiAqIE9wZW5BUEkgc3BlYyB2ZXJzaW9uOiAyXHJcbiAqIFxyXG4gKlxyXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXHJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFwaS9zd2FnZ2VyLWNvZGVnZW4uZ2l0XHJcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cclxuICovXHJcblxyXG5cclxuLyoqXHJcbiAqIFRoZSBjb3ZlcmFnZSBkZXRhaWwgbW9kZWxcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ292ZXJhZ2VEZXRhaWwgeyBcclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIHRoZSBzdGFydCBkYXRlLlxyXG4gICAgICovXHJcbiAgICBzdGFydERhdGU/OiBEYXRlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG9yIHNldHMgdGhlIGVuZCBkYXRlLlxyXG4gICAgICovXHJcbiAgICBlbmREYXRlPzogRGF0ZTtcclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIHRoZSBwcmVtaXVtIGFtb3VudC5cclxuICAgICAqL1xyXG4gICAgcHJlbWl1bUFtb3VudD86IG51bWJlcjtcclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIHRoZSB0YXggY3JlZGl0IGFtb3VudC5cclxuICAgICAqL1xyXG4gICAgdGF4Q3JlZGl0QW1vdW50PzogbnVtYmVyO1xyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG9yIHNldHMgdGhlIENTUiBhbW91bnQuXHJcbiAgICAgKi9cclxuICAgIGNzckFtb3VudD86IG51bWJlcjtcclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIHRoZSBzdGF0dXMuXHJcbiAgICAgKi9cclxuICAgIHN0YXR1cz86IENvdmVyYWdlRGV0YWlsLlN0YXR1c0VudW07XHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyB0aGUgbmFtZSBvZiB0aGUgcGxhbi5cclxuICAgICAqL1xyXG4gICAgcGxhbk5hbWU/OiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyB0aGUgbmFtZSBvZiB0aGUgaXNzdWVyLlxyXG4gICAgICovXHJcbiAgICBpc3N1ZXJOYW1lPzogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG9yIHNldHMgdGhlIHBsYW4gaWRlbnRpZmllci5cclxuICAgICAqL1xyXG4gICAgcGxhbklkPzogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG9yIHNldHMgdGhlIGluc3VyYW5jZSBsaW5lLlxyXG4gICAgICovXHJcbiAgICBpbnN1cmFuY2VMaW5lPzogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBuYW1lc3BhY2UgQ292ZXJhZ2VEZXRhaWwge1xyXG4gICAgZXhwb3J0IHR5cGUgU3RhdHVzRW51bSA9ICdFZmZlY3R1YXRlZCcgfCAnTm90RWZmZWN0dWF0ZWQnO1xyXG4gICAgZXhwb3J0IGNvbnN0IFN0YXR1c0VudW0gPSB7XHJcbiAgICAgICAgRWZmZWN0dWF0ZWQ6ICdFZmZlY3R1YXRlZCcgYXMgU3RhdHVzRW51bSxcclxuICAgICAgICBOb3RFZmZlY3R1YXRlZDogJ05vdEVmZmVjdHVhdGVkJyBhcyBTdGF0dXNFbnVtXHJcbiAgICB9O1xyXG59XHJcbiJdfQ==
|
|
@@ -10,4 +10,4 @@
|
|
|
10
10
|
* Do not edit the class manually.
|
|
11
11
|
*/
|
|
12
12
|
export {};
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluYW5jZS5qcyIsInNvdXJjZVJvb3QiOiJTOi9CMDIvX3dvcmsvNjM4L3MvbGlicmFyeS9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvIiwic291cmNlcyI6WyJsaWIvb2F1dGgvbW9kZWxzL2dlbmVyYXRlZC9maW5hbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogU1NPIEdhdGV3YXlcclxuICogTm8gZGVzY3JpcHRpb24gcHJvdmlkZWQgKGdlbmVyYXRlZCBieSBTd2FnZ2VyIENvZGVnZW4gaHR0cHM6Ly9naXRodWIuY29tL3N3YWdnZXItYXBpL3N3YWdnZXItY29kZWdlbilcclxuICpcclxuICogT3BlbkFQSSBzcGVjIHZlcnNpb246IDJcclxuICogXHJcbiAqXHJcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgdGhlIHN3YWdnZXIgY29kZSBnZW5lcmF0b3IgcHJvZ3JhbS5cclxuICogaHR0cHM6Ly9naXRodWIuY29tL3N3YWdnZXItYXBpL3N3YWdnZXItY29kZWdlbi5naXRcclxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxyXG4gKi9cclxuXHJcblxyXG4vKipcclxuICogVGhlIGZpbmFuY2UgbW9kZWxcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmluYW5jZSB7IFxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG9yIHNldHMgdGhlIHN0YXR1cy5cclxuICAgICAqL1xyXG4gICAgc3RhdHVzPzogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG9yIHNldHMgdGhlIHByZW1pdW0gYW1vdW50IGR1ZS5cclxuICAgICAqL1xyXG4gICAgcHJlbWl1bUFtb3VudER1ZT86IG51bWJlcjtcclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIHRoZSBjdXJyZW50IGFtb3VudCBkdWUuXHJcbiAgICAgKi9cclxuICAgIGN1cnJlbnRBbW91bnREdWU/OiBudW1iZXI7XHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyB0aGUgcGF5bWVudCBkdWUgZGF0ZS5cclxuICAgICAqL1xyXG4gICAgcGF5bWVudER1ZURhdGU/OiBEYXRlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG9yIHNldHMgYSB2YWx1ZSBpbmRpY2F0aW5nIHdoZXRoZXIgdGhpcyBpbnN0YW5jZSBoYXMgYXV0b21hdGljIHBheS5cclxuICAgICAqL1xyXG4gICAgaGFzQXV0b1BheT86IGJvb2xlYW47XHJcbn1cclxuIl19
|
|
@@ -10,4 +10,4 @@
|
|
|
10
10
|
* Do not edit the class manually.
|
|
11
11
|
*/
|
|
12
12
|
export {};
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaVNzb1Jlc3BvbnNlTW9kZWwuanMiLCJzb3VyY2VSb290IjoiUzovQjAyL193b3JrLzYzOC9zL2xpYnJhcnkvcHJvamVjdHMvYXJtYXR1cmUvc3JjLyIsInNvdXJjZXMiOlsibGliL29hdXRoL21vZGVscy9nZW5lcmF0ZWQvaVNzb1Jlc3BvbnNlTW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBTU08gR2F0ZXdheVxyXG4gKiBObyBkZXNjcmlwdGlvbiBwcm92aWRlZCAoZ2VuZXJhdGVkIGJ5IFN3YWdnZXIgQ29kZWdlbiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuKVxyXG4gKlxyXG4gKiBPcGVuQVBJIHNwZWMgdmVyc2lvbjogMVxyXG4gKiBcclxuICpcclxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSB0aGUgc3dhZ2dlciBjb2RlIGdlbmVyYXRvciBwcm9ncmFtLlxyXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxyXG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXHJcbiAqL1xyXG5cclxuXHJcbi8qKlxyXG4gKiBUaGUgU1NPIHJlc3BvbnNlIG1vZGVsXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElTc29SZXNwb25zZU1vZGVsIHsgXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyB0aGUgYXNzZXJ0aW9ucy5cclxuICAgICAqL1xyXG4gICAgYXNzZXJ0aW9ucz86IGFueTtcclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIHRoZSBpc3N1ZXIuXHJcbiAgICAgKi9cclxuICAgIGlzc3Vlcj86IHN0cmluZztcclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIHRoZSBhdWRpZW5jZS5cclxuICAgICAqL1xyXG4gICAgYXVkaWVuY2U/OiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyB0aGUgZGVzdGluYXRpb24uXHJcbiAgICAgKi9cclxuICAgIGRlc3RpbmF0aW9uPzogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG9yIHNldHMgdGhlIGhhc2guXHJcbiAgICAgKi9cclxuICAgIGhhc2g/OiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyB0aGUga2V5IHBhdGguXHJcbiAgICAgKi9cclxuICAgIGtleVBhdGg/OiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyB0aGUgYWNjZXNzIHRva2VuLlxyXG4gICAgICovXHJcbiAgICBhY2Nlc3NUb2tlbj86IHN0cmluZztcclxufVxyXG4iXX0=
|
package/esm2015/lib/oauth/models/generated/iSsoResponseModelAccountManagementAssertionModel.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaVNzb1Jlc3BvbnNlTW9kZWxBY2NvdW50TWFuYWdlbWVudEFzc2VydGlvbk1vZGVsLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMi9fd29yay82Mzgvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9vYXV0aC9tb2RlbHMvZ2VuZXJhdGVkL2lTc29SZXNwb25zZU1vZGVsQWNjb3VudE1hbmFnZW1lbnRBc3NlcnRpb25Nb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFNTTyBHYXRld2F5XHJcbiAqIE5vIGRlc2NyaXB0aW9uIHByb3ZpZGVkIChnZW5lcmF0ZWQgYnkgU3dhZ2dlciBDb2RlZ2VuIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFwaS9zd2FnZ2VyLWNvZGVnZW4pXHJcbiAqXHJcbiAqIE9wZW5BUEkgc3BlYyB2ZXJzaW9uOiAyXHJcbiAqIFxyXG4gKlxyXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXHJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFwaS9zd2FnZ2VyLWNvZGVnZW4uZ2l0XHJcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cclxuICovXHJcbmltcG9ydCB7IEFjY291bnRNYW5hZ2VtZW50QXNzZXJ0aW9uTW9kZWwgfSBmcm9tICcuL2FjY291bnRNYW5hZ2VtZW50QXNzZXJ0aW9uTW9kZWwnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBUaGUgU1NvIFJlc3BvbnNlIE1vZGVsIEludGVyZmFjZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJU3NvUmVzcG9uc2VNb2RlbEFjY291bnRNYW5hZ2VtZW50QXNzZXJ0aW9uTW9kZWwgeyBcclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIHRoZSBhc3NlcnRpb25zLlxyXG4gICAgICovXHJcbiAgICBhc3NlcnRpb25zPzogQWNjb3VudE1hbmFnZW1lbnRBc3NlcnRpb25Nb2RlbDtcclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIHRoZSBpc3N1ZXIuXHJcbiAgICAgKi9cclxuICAgIGlzc3Vlcj86IHN0cmluZztcclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIHRoZSBhdWRpZW5jZS5cclxuICAgICAqL1xyXG4gICAgYXVkaWVuY2U/OiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyB0aGUgZGVzdGluYXRpb24uXHJcbiAgICAgKi9cclxuICAgIGRlc3RpbmF0aW9uPzogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG9yIHNldHMgdGhlIGhhc2guXHJcbiAgICAgKi9cclxuICAgIGhhc2g/OiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyB0aGUga2V5IHBhdGguXHJcbiAgICAgKi9cclxuICAgIGtleVBhdGg/OiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyB0aGUgYWNjZXNzIHRva2VuLlxyXG4gICAgICovXHJcbiAgICBhY2Nlc3NUb2tlbj86IHN0cmluZztcclxufVxyXG4iXX0=
|
|
@@ -10,4 +10,4 @@
|
|
|
10
10
|
* Do not edit the class manually.
|
|
11
11
|
*/
|
|
12
12
|
export {};
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMi9fd29yay82Mzgvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9vYXV0aC9tb2RlbHMvZ2VuZXJhdGVkL3BlcnNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztHQVVHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFNTTyBHYXRld2F5XHJcbiAqIE5vIGRlc2NyaXB0aW9uIHByb3ZpZGVkIChnZW5lcmF0ZWQgYnkgU3dhZ2dlciBDb2RlZ2VuIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFwaS9zd2FnZ2VyLWNvZGVnZW4pXHJcbiAqXHJcbiAqIE9wZW5BUEkgc3BlYyB2ZXJzaW9uOiAyXHJcbiAqIFxyXG4gKlxyXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXHJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFwaS9zd2FnZ2VyLWNvZGVnZW4uZ2l0XHJcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cclxuICovXHJcblxyXG5cclxuLyoqXHJcbiAqIFRoZSBwZXJzb24gbW9kZWxcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGVyc29uIHsgXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyB0aGUgZXhjaGFuZ2UgaWRlbnRpZmllci5cclxuICAgICAqL1xyXG4gICAgZXhjaGFuZ2VJZD86IHN0cmluZztcclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIHRoZSBpc3N1ZXIgaWRcclxuICAgICAqL1xyXG4gICAgaXNzdWVySWQ/OiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyB0aGUgZG9iLlxyXG4gICAgICovXHJcbiAgICBkb2I/OiBEYXRlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG9yIHNldHMgdGhlIGdlbmRlci5cclxuICAgICAqL1xyXG4gICAgZ2VuZGVyPzogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG9yIHNldHMgdGhlIGZpcnN0IG5hbWUuXHJcbiAgICAgKi9cclxuICAgIGZpcnN0TmFtZT86IHN0cmluZztcclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIHRoZSBsYXN0IG5hbWUuXHJcbiAgICAgKi9cclxuICAgIGxhc3ROYW1lPzogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG9yIHNldHMgdGhlIHJlbGF0aW9uc2hpcC5cclxuICAgICAqL1xyXG4gICAgcmVsYXRpb25zaGlwPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9saWN5LmpzIiwic291cmNlUm9vdCI6IlM6L0IwMi9fd29yay82Mzgvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9vYXV0aC9tb2RlbHMvZ2VuZXJhdGVkL3BvbGljeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFNTTyBHYXRld2F5XHJcbiAqIE5vIGRlc2NyaXB0aW9uIHByb3ZpZGVkIChnZW5lcmF0ZWQgYnkgU3dhZ2dlciBDb2RlZ2VuIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFwaS9zd2FnZ2VyLWNvZGVnZW4pXHJcbiAqXHJcbiAqIE9wZW5BUEkgc3BlYyB2ZXJzaW9uOiAyXHJcbiAqIFxyXG4gKlxyXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXHJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFwaS9zd2FnZ2VyLWNvZGVnZW4uZ2l0XHJcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cclxuICovXHJcbmltcG9ydCB7IENvdmVyYWdlRGV0YWlsIH0gZnJvbSAnLi9jb3ZlcmFnZURldGFpbCc7XHJcbmltcG9ydCB7IEZpbmFuY2UgfSBmcm9tICcuL2ZpbmFuY2UnO1xyXG5pbXBvcnQgeyBQZXJzb24gfSBmcm9tICcuL3BlcnNvbic7XHJcblxyXG5cclxuLyoqXHJcbiAqIFRoZSBwb2xpY3kgbW9kZWxcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgUG9saWN5IHsgXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyB0aGUgaWRlbnRpZmllci5cclxuICAgICAqL1xyXG4gICAgaWQ/OiBudW1iZXI7XHJcbiAgICAvKipcclxuICAgICAqIEdldHMgb3Igc2V0cyB0aGUgZXhjaGFuZ2UgaWRlbnRpZmllci5cclxuICAgICAqL1xyXG4gICAgZXhjaGFuZ2VJZD86IHN0cmluZztcclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIHRoZSBpc3N1ZXIgaWRlbnRpZmllclxyXG4gICAgICovXHJcbiAgICBpc3N1ZXJJZD86IHN0cmluZztcclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIHRoZSBuYW1lLlxyXG4gICAgICovXHJcbiAgICBuYW1lPzogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG9yIHNldHMgdGhlIHN0YXR1cy5cclxuICAgICAqL1xyXG4gICAgc3RhdHVzPzogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG9yIHNldHMgdGhlIGZpbmFuY2UuXHJcbiAgICAgKi9cclxuICAgIGZpbmFuY2U/OiBGaW5hbmNlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG9yIHNldHMgdGhlIGNvdmVyYWdlIGRldGFpbHMuXHJcbiAgICAgKi9cclxuICAgIGNvdmVyYWdlRGV0YWlscz86IEFycmF5PENvdmVyYWdlRGV0YWlsPjtcclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBvciBzZXRzIHRoZSBtZW1iZXJzLlxyXG4gICAgICovXHJcbiAgICBtZW1iZXJzPzogQXJyYXk8UGVyc29uPjtcclxufVxyXG4iXX0=
|
|
@@ -10,4 +10,4 @@
|
|
|
10
10
|
* Do not edit the class manually.
|
|
11
11
|
*/
|
|
12
12
|
export {};
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmcmVzaFJlc3BvbnNlTW9kZWwuanMiLCJzb3VyY2VSb290IjoiUzovQjAyL193b3JrLzYzOC9zL2xpYnJhcnkvcHJvamVjdHMvYXJtYXR1cmUvc3JjLyIsInNvdXJjZXMiOlsibGliL29hdXRoL21vZGVscy9nZW5lcmF0ZWQvcmVmcmVzaFJlc3BvbnNlTW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBTU08gR2F0ZXdheVxyXG4gKiBObyBkZXNjcmlwdGlvbiBwcm92aWRlZCAoZ2VuZXJhdGVkIGJ5IFN3YWdnZXIgQ29kZWdlbiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuKVxyXG4gKlxyXG4gKiBPcGVuQVBJIHNwZWMgdmVyc2lvbjogMlxyXG4gKiBcclxuICpcclxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSB0aGUgc3dhZ2dlciBjb2RlIGdlbmVyYXRvciBwcm9ncmFtLlxyXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxyXG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXHJcbiAqL1xyXG5cclxuXHJcbi8qKlxyXG4gKiBUaGUgcmVmcmVzaCByZXNwb25zZSBtb2RlbFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBSZWZyZXNoUmVzcG9uc2VNb2RlbCB7IFxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIG9yIHNldHMgdGhlIGFjY2VzcyB0b2tlbi5cclxuICAgICAqL1xyXG4gICAgYWNjZXNzVG9rZW4/OiBzdHJpbmc7XHJcbn1cclxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/** The hybrid saml oauth configuration */
|
|
2
2
|
export class HybridSamlOAuthConfig {
|
|
3
3
|
}
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHlicmlkLXNhbWwtb2F1dGgtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMi9fd29yay82Mzgvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9vYXV0aC9tb2RlbHMvaHlicmlkLXNhbWwtb2F1dGgtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLDBDQUEwQztBQUMxQyxNQUFNLE9BQU8scUJBQXFCO0NBZWpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuLyoqIFRoZSBoeWJyaWQgc2FtbCBvYXV0aCBjb25maWd1cmF0aW9uICovXHJcbmV4cG9ydCBjbGFzcyBIeWJyaWRTYW1sT0F1dGhDb25maWcge1xyXG4gICAgLyoqIFRoZSB0b2tlbiBlbmRwb2ludCBvYnNlcnZhYmxlICovXHJcbiAgICBwdWJsaWMgdG9rZW5FbmRwb2ludCQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuXHJcbiAgICAvKiogVGhlIGtleSBwYXRoIHN1ZmZpeCAqL1xyXG4gICAgcHVibGljIGtleVBhdGhTdWZmaXg6IHN0cmluZztcclxuXHJcbiAgICAvKiogVGhlIGJyb3dzZXIgc3RvcmFnZSBsb2NhdGlvbiB0byB1c2UgKi9cclxuICAgIHB1YmxpYyBicm93c2VyU3RvcmFnZUltcGxlbWVudGF0aW9uPzogJ2xvY2FsJyB8ICdzZXNzaW9uJztcclxuXHJcbiAgICAvKiogVGhlIHRva2VuIHJlZnJlc2ggdGltZSBpbiBtaW51dGVzICovXHJcbiAgICBwdWJsaWMgdG9rZW5SZWZyZXNoVGltZU1pbnV0ZXM/OiBudW1iZXI7XHJcblxyXG4gICAgLyoqIFRoZSBkYXRhIGZvcm1hdCAqL1xyXG4gICAgcHVibGljIGRhdGFGb3JtYXQ/OiAnY2FtZWxDYXNlJyB8ICdQYXNjYWxDYXNlJztcclxufVxyXG4iXX0=
|
|
@@ -12,4 +12,4 @@ export * from './models/generated/finance';
|
|
|
12
12
|
export * from './models/generated/iSsoResponseModel';
|
|
13
13
|
export * from './models/generated/person';
|
|
14
14
|
export * from './models/generated/policy';
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2F1dGgtYXBpLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMi9fd29yay82Mzgvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9vYXV0aC9vYXV0aC1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkNBQTZDO0FBQzdDLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsV0FBVztBQUNYLGNBQWMsc0NBQXNDLENBQUM7QUFFckQsU0FBUztBQUNULE9BQU8sRUFBRSxhQUFhLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RSxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUHVibGljIEFQSSBTdXJmYWNlIG9mIHRoZSBvYXV0aCBtb2R1bGUgKi9cclxuZXhwb3J0ICogZnJvbSAnLi9vYXV0aC5tb2R1bGUnO1xyXG5cclxuLy8gc2VydmljZXNcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9oeWJyaWQtc2FtbC1vYXV0aC5zZXJ2aWNlJztcclxuXHJcbi8vIG1vZGVsc1xyXG5leHBvcnQgeyBrZXlQYXRoUHJlZml4LCBIWUJSSURfU0FNTF9PQVVUSF9DT05GSUcgfSBmcm9tICcuL21vZGVscy9jb25zdGFudHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9oeWJyaWQtc2FtbC1vYXV0aC1jb25maWcnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvZ2VuZXJhdGVkL2FjY291bnRNYW5hZ2VtZW50QXNzZXJ0aW9uTW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9nZW5lcmF0ZWQvYWNjb3VudE1hbmFnZW1lbnRSZXNwb25zZU1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvZ2VuZXJhdGVkL2NvdmVyYWdlRGV0YWlsJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvZ2VuZXJhdGVkL2ZpbmFuY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9nZW5lcmF0ZWQvaVNzb1Jlc3BvbnNlTW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9nZW5lcmF0ZWQvcGVyc29uJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvZ2VuZXJhdGVkL3BvbGljeSc7XHJcbiJdfQ==
|
|
@@ -17,4 +17,4 @@ OauthModule.decorators = [
|
|
|
17
17
|
]
|
|
18
18
|
},] }
|
|
19
19
|
];
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2F1dGgubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMi9fd29yay82Mzgvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9vYXV0aC9vYXV0aC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFOUUsdUJBQXVCO0FBV3ZCLE1BQU0sT0FBTyxXQUFXOzs7WUFWdkIsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxFQUFFO2dCQUNoQixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixnQkFBZ0I7aUJBQ2pCO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxzQkFBc0I7aUJBQ3ZCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuaW1wb3J0IHsgSHlicmlkU2FtbE9hdXRoU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvaHlicmlkLXNhbWwtb2F1dGguc2VydmljZSc7XHJcblxyXG4vKiogVGhlIE9BdXRoIE1vZHVsZSAqL1xyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW10sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgSHR0cENsaWVudE1vZHVsZVxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBIeWJyaWRTYW1sT2F1dGhTZXJ2aWNlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgT2F1dGhNb2R1bGUgeyB9XHJcbiJdfQ==
|