@posiwise/admin-module 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/assets/scss/_bootstrap_modules.scss +40 -0
- package/assets/scss/_custom-bootstrap.scss +13 -0
- package/assets/scss/_dashboard.scss +31 -0
- package/assets/scss/_dynamic-styles.scss +534 -0
- package/assets/scss/_plugins.scss +3 -0
- package/assets/scss/_public-pages.scss +7 -0
- package/assets/scss/_shared.scss +3 -0
- package/assets/scss/_variables.scss +5 -0
- package/assets/scss/common/landing-page-a/landing-page-style-1.scss +670 -0
- package/assets/scss/common/landing-page-b/banner.scss +141 -0
- package/assets/scss/common/landing-page-b/contact-us.scss +167 -0
- package/assets/scss/common/landing-page-b/explainer.scss +75 -0
- package/assets/scss/common/landing-page-b/explainer2.scss +35 -0
- package/assets/scss/common/landing-page-b/header.scss +56 -0
- package/assets/scss/common/landing-page-b/landing-page-style-2.scss +20 -0
- package/assets/scss/custom-bootstrap/_badge.scss +468 -0
- package/assets/scss/custom-bootstrap/_bootstrap_variables.scss +30 -0
- package/assets/scss/custom-bootstrap/_buttons.scss +84 -0
- package/assets/scss/custom-bootstrap/_card.scss +319 -0
- package/assets/scss/custom-bootstrap/_carousel.scss +6 -0
- package/assets/scss/custom-bootstrap/_form_select.scss +7 -0
- package/assets/scss/custom-bootstrap/_forms.scss +337 -0
- package/assets/scss/custom-bootstrap/_links.scss +7 -0
- package/assets/scss/custom-bootstrap/_modal.scss +16 -0
- package/assets/scss/custom-bootstrap/_navbar.scss +42 -0
- package/assets/scss/custom-bootstrap/_popover.scss +10 -0
- package/assets/scss/custom-bootstrap/_progress.scss +12 -0
- package/assets/scss/custom-bootstrap/_reboot.scss +93 -0
- package/assets/scss/custom-bootstrap/_type.scss +202 -0
- package/assets/scss/dashboard/_admin.scss +15 -0
- package/assets/scss/dashboard/_animations.scss +20 -0
- package/assets/scss/dashboard/_bootstrap-social.scss +641 -0
- package/assets/scss/dashboard/_chat.scss +250 -0
- package/assets/scss/dashboard/_coming-soon.scss +34 -0
- package/assets/scss/dashboard/_components.scss +229 -0
- package/assets/scss/dashboard/_email.scss +184 -0
- package/assets/scss/dashboard/_fixed-navbar.scss +18 -0
- package/assets/scss/dashboard/_gallery.scss +1201 -0
- package/assets/scss/dashboard/_helper.scss +736 -0
- package/assets/scss/dashboard/_horizontal-timeline.scss +314 -0
- package/assets/scss/dashboard/_icons.scss +107 -0
- package/assets/scss/dashboard/_layout.scss +23 -0
- package/assets/scss/dashboard/_misc.scss +220 -0
- package/assets/scss/dashboard/_notifications.scss +27 -0
- package/assets/scss/dashboard/_palette.scss +308 -0
- package/assets/scss/dashboard/_profile.scss +36 -0
- package/assets/scss/dashboard/_responsive.scss +209 -0
- package/assets/scss/dashboard/_search.scss +33 -0
- package/assets/scss/dashboard/_select.scss +16 -0
- package/assets/scss/dashboard/_sidebar-content.scss +632 -0
- package/assets/scss/dashboard/_tables.scss +17 -0
- package/assets/scss/dashboard/_tabs.scss +151 -0
- package/assets/scss/dashboard/_ui-switch.scss +6 -0
- package/assets/scss/dashboard/_upload.scss +249 -0
- package/assets/scss/dashboard/_utilities.scss +105 -0
- package/assets/scss/dashboard/_vertical-timeline.scss +1261 -0
- package/assets/scss/dashboard/mixins/_buttons.scss +78 -0
- package/assets/scss/dashboard/mixins/_colors.scss +29 -0
- package/assets/scss/dashboard/mixins/_custom.scss +34 -0
- package/assets/scss/dashboard/mixins/_shadows.scss +62 -0
- package/assets/scss/dashboard/mixins/_type.scss +16 -0
- package/assets/scss/dashboard/mixins/_typography.scss +29 -0
- package/assets/scss/dashboard/mixins/_utilities.scss +129 -0
- package/assets/scss/dashboard/mixins/_vendor-prefixes.scss +71 -0
- package/assets/scss/plugins/_plugin-nouislider.scss +199 -0
- package/assets/scss/plugins/_toastr.scss +71 -0
- package/assets/scss/plugins/perfect-scrollbar/_main.scss +3 -0
- package/assets/scss/plugins/perfect-scrollbar/_mixins.scss +135 -0
- package/assets/scss/plugins/perfect-scrollbar/_ps-custom.scss +134 -0
- package/assets/scss/plugins/perfect-scrollbar/_themes.scss +23 -0
- package/assets/scss/plugins/perfect-scrollbar/_variables.scss +19 -0
- package/assets/scss/public-pages/_buttons.scss +136 -0
- package/assets/scss/public-pages/_input-fields.scss +29 -0
- package/assets/scss/public-pages/_layout.scss +108 -0
- package/assets/scss/public-pages/mixins/_buttons.scss +28 -0
- package/assets/scss/shared/_modal.scss +28 -0
- package/assets/scss/shared/_prime-ng-tables.scss +107 -0
- package/assets/scss/shared/_prime-ng.scss +5100 -0
- package/assets/scss/variables/_app-colors-variables.scss +760 -0
- package/assets/scss/variables/_branding-variables.scss +93 -0
- package/assets/scss/variables/_dashboard-variables.scss +96 -0
- package/assets/scss/variables/_generic-variables.scss +33 -0
- package/assets/scss/variables/_landing-page-new-variables.scss +11 -0
- package/assets/scss/variables/_primeng-variables.scss +190 -0
- package/esm2020/admin-module.mjs +5 -0
- package/esm2020/index.mjs +85 -0
- package/esm2020/lib/admin-guard.service.mjs +44 -0
- package/esm2020/lib/admin-module.routing.mjs +706 -0
- package/esm2020/lib/admin.module.mjs +328 -0
- package/esm2020/lib/admin.service.mjs +411 -0
- package/esm2020/lib/components/TOS/terms-of-service/terms-of-service.component.mjs +86 -0
- package/esm2020/lib/components/TOS/terms-of-service-details/terms-of-service-details.component.mjs +72 -0
- package/esm2020/lib/components/TOS/terms-of-service-tabs/terms-of-service-tabs.component.mjs +26 -0
- package/esm2020/lib/components/config/global-config-details/global-config-details.component.mjs +61 -0
- package/esm2020/lib/components/config/global-config-list/global-config-list.component.mjs +86 -0
- package/esm2020/lib/components/config/global-config-tabs/global-config-tabs.component.mjs +24 -0
- package/esm2020/lib/components/contact-us/contact-us-list/contact-us-list.component.mjs +96 -0
- package/esm2020/lib/components/contact-us/contact-us-tabs/contact-us-tabs.component.mjs +24 -0
- package/esm2020/lib/components/credentials/credentials/credentials.component.mjs +81 -0
- package/esm2020/lib/components/credentials/credentials-details/credentials-details.component.mjs +70 -0
- package/esm2020/lib/components/credentials/credentials-tab/credentials-tab.component.mjs +31 -0
- package/esm2020/lib/components/credentials/subscription-credentials/subscription-credentials.component.mjs +87 -0
- package/esm2020/lib/components/credentials/subscription-credentials-details/subscription-credentials-details.component.mjs +82 -0
- package/esm2020/lib/components/domain-config/domain-config-details/domain-config-build/domain-config-build.component.mjs +214 -0
- package/esm2020/lib/components/domain-config/domain-config-details/domain-config-core/domain-config-core.component.mjs +86 -0
- package/esm2020/lib/components/domain-config/domain-config-details/domain-config-details.component.mjs +56 -0
- package/esm2020/lib/components/domain-config/domain-config-details/domain-config-integrations/domain-config-integrations.component.mjs +83 -0
- package/esm2020/lib/components/domain-config/domain-config-details/domain-config-interface/domain-config-interface.component.mjs +124 -0
- package/esm2020/lib/components/domain-config/domain-config-details/domain-config-organization/domain-config-organization.component.mjs +83 -0
- package/esm2020/lib/components/domain-config/domain-config-details/domain-config-security/domain-config-security.component.mjs +84 -0
- package/esm2020/lib/components/domain-config/domain-config-details/domain-config-social/domain-config-social.component.mjs +83 -0
- package/esm2020/lib/components/domain-config/domain-config-list/domain-config-list.component.mjs +85 -0
- package/esm2020/lib/components/domain-config/domain-config-tabs/domain-config-tabs.component.mjs +24 -0
- package/esm2020/lib/components/faqs/faqs-list/faqs-list.component.mjs +289 -0
- package/esm2020/lib/components/faqs/faqs-tabs/faqs-tabs.component.mjs +24 -0
- package/esm2020/lib/components/feedback-questions/feedback-questions-details/feedback-questions-details.component.mjs +80 -0
- package/esm2020/lib/components/feedback-questions/feedback-questions-list/feedback-questions-list.component.mjs +95 -0
- package/esm2020/lib/components/generic/generic-insight/generic-insight.component.mjs +11 -0
- package/esm2020/lib/components/generic/generic-misc/generic-misc.component.mjs +73 -0
- package/esm2020/lib/components/generic/generic-tabs/generic-tabs.component.mjs +31 -0
- package/esm2020/lib/components/login-notifications/login-notification-details/login-notification-details.component.mjs +97 -0
- package/esm2020/lib/components/login-notifications/login-notification-tabs/login-notification-tabs.component.mjs +24 -0
- package/esm2020/lib/components/login-notifications/login-notifications-list/login-notifications-list.component.mjs +88 -0
- package/esm2020/lib/components/newsletters/newsletter-details/newsletter-details.component.mjs +77 -0
- package/esm2020/lib/components/newsletters/newsletter-item-details/newsletter-item-details.component.mjs +236 -0
- package/esm2020/lib/components/newsletters/newsletter-users-list/newsletter-users-list.component.mjs +73 -0
- package/esm2020/lib/components/newsletters/newsletters-insight/newsletters-insight.component.mjs +30 -0
- package/esm2020/lib/components/newsletters/newsletters-items/newsletters-items.component.mjs +167 -0
- package/esm2020/lib/components/newsletters/newsletters-list/newsletters-list.component.mjs +97 -0
- package/esm2020/lib/components/newsletters/newsletters-tabs/newsletters-tabs.component.mjs +38 -0
- package/esm2020/lib/components/permissions/permissions-details/permissions-details.component.mjs +83 -0
- package/esm2020/lib/components/permissions/permissions-list/permissions-list.component.mjs +76 -0
- package/esm2020/lib/components/permissions/permissions-tabs/permissions-tabs.component.mjs +31 -0
- package/esm2020/lib/components/permissions/role-details/role-details.component.mjs +117 -0
- package/esm2020/lib/components/permissions/roles-list/roles-list.component.mjs +83 -0
- package/esm2020/lib/components/products/product-details/product-details.component.mjs +305 -0
- package/esm2020/lib/components/products/products-insight/products-insight.component.mjs +46 -0
- package/esm2020/lib/components/products/products-list/products-list.component.mjs +142 -0
- package/esm2020/lib/components/products/products-tabs/products-tabs.component.mjs +28 -0
- package/esm2020/lib/components/products/users-list-for-product/users-list-for-product.component.mjs +55 -0
- package/esm2020/lib/components/subscriptions/subscription-agents/subscription-agents.component.mjs +122 -0
- package/esm2020/lib/components/subscriptions/subscription-agents-list/subscription-agents-list.component.mjs +125 -0
- package/esm2020/lib/components/subscriptions/subscription-details/subscription-details.component.mjs +174 -0
- package/esm2020/lib/components/subscriptions/subscription-product-details/subscription-product-details.component.mjs +210 -0
- package/esm2020/lib/components/subscriptions/subscription-products/subscription-products.component.mjs +60 -0
- package/esm2020/lib/components/subscriptions/subscription-users/subscription-users.component.mjs +98 -0
- package/esm2020/lib/components/subscriptions/subscriptions-insight/subscription-insight-nps/subscription-insight-nps.component.mjs +100 -0
- package/esm2020/lib/components/subscriptions/subscriptions-insight/subscription-insight-revenue/subscription-insight-revenue.component.mjs +48 -0
- package/esm2020/lib/components/subscriptions/subscriptions-insight/subscription-insight-tabs/subscription-insight-tabs.component.mjs +18 -0
- package/esm2020/lib/components/subscriptions/subscriptions-insight/subscriptions-insight.component.mjs +48 -0
- package/esm2020/lib/components/subscriptions/subscriptions-list/subscriptions-list.component.mjs +301 -0
- package/esm2020/lib/components/subscriptions/subscriptions-tabs/subscriptions-tabs.component.mjs +35 -0
- package/esm2020/lib/components/tags/tags-category/tags-category.component.mjs +125 -0
- package/esm2020/lib/components/tags/tags-list/tags-list.component.mjs +139 -0
- package/esm2020/lib/components/tags/tags-tabs/tags-tabs.component.mjs +32 -0
- package/esm2020/lib/components/tips/tip-detail/tip-detail.component.mjs +75 -0
- package/esm2020/lib/components/tips/tips-list/tips-list.component.mjs +46 -0
- package/esm2020/lib/components/tips/tips-tabs/tips-tabs.component.mjs +25 -0
- package/esm2020/lib/components/tracking/ahoy-events/ahoy-events.component.mjs +101 -0
- package/esm2020/lib/components/tracking/ahoy-messages/ahoy-messages.component.mjs +93 -0
- package/esm2020/lib/components/tracking/ahoy-visits/ahoy-visits.component.mjs +89 -0
- package/esm2020/lib/components/tracking/events/events.component.mjs +89 -0
- package/esm2020/lib/components/tracking/tracking-tabs/tracking-tabs.component.mjs +49 -0
- package/esm2020/lib/components/tracking/versions/versions.component.mjs +100 -0
- package/esm2020/lib/components/users/user-details/user-details.component.mjs +148 -0
- package/esm2020/lib/components/users/users-insight/users-insight.component.mjs +38 -0
- package/esm2020/lib/components/users/users-list/users-list.component.mjs +312 -0
- package/esm2020/lib/components/users/users-tabs/users-tabs.component.mjs +32 -0
- package/esm2020/lib/shared/interface/contact-us.interface.mjs +2 -0
- package/esm2020/lib/shared/interface/credential.interface.mjs +2 -0
- package/esm2020/lib/shared/interface/domain-config.interface.mjs +2 -0
- package/esm2020/lib/shared/interface/feedback-question.interface.mjs +2 -0
- package/esm2020/lib/shared/interface/global-config.interface.mjs +2 -0
- package/esm2020/lib/shared/interface/login-notification.interface.mjs +2 -0
- package/esm2020/lib/shared/interface/newsletter.interface.mjs +2 -0
- package/esm2020/lib/shared/interface/permission.interface.mjs +2 -0
- package/esm2020/lib/shared/interface/privacy-tos.interface.mjs +2 -0
- package/esm2020/lib/shared/interface/tip.interface.mjs +2 -0
- package/esm2020/lib/shared/interface/tracking.interface.mjs +2 -0
- package/esm2020/lib/shared/models/admin.model.mjs +337 -0
- package/esm2020/lib/shared/routers/routers.mjs +27 -0
- package/fesm2015/admin-module.mjs +7762 -0
- package/fesm2015/admin-module.mjs.map +1 -0
- package/fesm2020/admin-module.mjs +7767 -0
- package/fesm2020/admin-module.mjs.map +1 -0
- package/index.d.ts +82 -0
- package/lib/admin-guard.service.d.ts +14 -0
- package/lib/admin-module.routing.d.ts +7 -0
- package/lib/admin.module.d.ts +98 -0
- package/lib/admin.service.d.ts +145 -0
- package/lib/components/TOS/terms-of-service/terms-of-service.component.d.ts +51 -0
- package/lib/components/TOS/terms-of-service-details/terms-of-service-details.component.d.ts +24 -0
- package/lib/components/TOS/terms-of-service-tabs/terms-of-service-tabs.component.d.ts +9 -0
- package/lib/components/config/global-config-details/global-config-details.component.d.ts +25 -0
- package/lib/components/config/global-config-list/global-config-list.component.d.ts +51 -0
- package/lib/components/config/global-config-tabs/global-config-tabs.component.d.ts +7 -0
- package/lib/components/contact-us/contact-us-list/contact-us-list.component.d.ts +28 -0
- package/lib/components/contact-us/contact-us-tabs/contact-us-tabs.component.d.ts +7 -0
- package/lib/components/credentials/credentials/credentials.component.d.ts +49 -0
- package/lib/components/credentials/credentials-details/credentials-details.component.d.ts +25 -0
- package/lib/components/credentials/credentials-tab/credentials-tab.component.d.ts +8 -0
- package/lib/components/credentials/subscription-credentials/subscription-credentials.component.d.ts +52 -0
- package/lib/components/credentials/subscription-credentials-details/subscription-credentials-details.component.d.ts +28 -0
- package/lib/components/domain-config/domain-config-details/domain-config-build/domain-config-build.component.d.ts +67 -0
- package/lib/components/domain-config/domain-config-details/domain-config-core/domain-config-core.component.d.ts +49 -0
- package/lib/components/domain-config/domain-config-details/domain-config-details.component.d.ts +44 -0
- package/lib/components/domain-config/domain-config-details/domain-config-integrations/domain-config-integrations.component.d.ts +49 -0
- package/lib/components/domain-config/domain-config-details/domain-config-interface/domain-config-interface.component.d.ts +54 -0
- package/lib/components/domain-config/domain-config-details/domain-config-organization/domain-config-organization.component.d.ts +49 -0
- package/lib/components/domain-config/domain-config-details/domain-config-security/domain-config-security.component.d.ts +49 -0
- package/lib/components/domain-config/domain-config-details/domain-config-social/domain-config-social.component.d.ts +49 -0
- package/lib/components/domain-config/domain-config-list/domain-config-list.component.d.ts +50 -0
- package/lib/components/domain-config/domain-config-tabs/domain-config-tabs.component.d.ts +7 -0
- package/lib/components/faqs/faqs-list/faqs-list.component.d.ts +63 -0
- package/lib/components/faqs/faqs-tabs/faqs-tabs.component.d.ts +7 -0
- package/lib/components/feedback-questions/feedback-questions-details/feedback-questions-details.component.d.ts +51 -0
- package/lib/components/feedback-questions/feedback-questions-list/feedback-questions-list.component.d.ts +56 -0
- package/lib/components/generic/generic-insight/generic-insight.component.d.ts +5 -0
- package/lib/components/generic/generic-misc/generic-misc.component.d.ts +16 -0
- package/lib/components/generic/generic-tabs/generic-tabs.component.d.ts +7 -0
- package/lib/components/login-notifications/login-notification-details/login-notification-details.component.d.ts +53 -0
- package/lib/components/login-notifications/login-notification-tabs/login-notification-tabs.component.d.ts +7 -0
- package/lib/components/login-notifications/login-notifications-list/login-notifications-list.component.d.ts +50 -0
- package/lib/components/newsletters/newsletter-details/newsletter-details.component.d.ts +49 -0
- package/lib/components/newsletters/newsletter-item-details/newsletter-item-details.component.d.ts +77 -0
- package/lib/components/newsletters/newsletter-users-list/newsletter-users-list.component.d.ts +26 -0
- package/lib/components/newsletters/newsletters-insight/newsletters-insight.component.d.ts +15 -0
- package/lib/components/newsletters/newsletters-items/newsletters-items.component.d.ts +69 -0
- package/lib/components/newsletters/newsletters-list/newsletters-list.component.d.ts +52 -0
- package/lib/components/newsletters/newsletters-tabs/newsletters-tabs.component.d.ts +9 -0
- package/lib/components/permissions/permissions-details/permissions-details.component.d.ts +51 -0
- package/lib/components/permissions/permissions-list/permissions-list.component.d.ts +48 -0
- package/lib/components/permissions/permissions-tabs/permissions-tabs.component.d.ts +8 -0
- package/lib/components/permissions/role-details/role-details.component.d.ts +32 -0
- package/lib/components/permissions/roles-list/roles-list.component.d.ts +50 -0
- package/lib/components/products/product-details/product-details.component.d.ts +64 -0
- package/lib/components/products/products-insight/products-insight.component.d.ts +21 -0
- package/lib/components/products/products-list/products-list.component.d.ts +65 -0
- package/lib/components/products/products-tabs/products-tabs.component.d.ts +8 -0
- package/lib/components/products/users-list-for-product/users-list-for-product.component.d.ts +22 -0
- package/lib/components/subscriptions/subscription-agents/subscription-agents.component.d.ts +29 -0
- package/lib/components/subscriptions/subscription-agents-list/subscription-agents-list.component.d.ts +31 -0
- package/lib/components/subscriptions/subscription-details/subscription-details.component.d.ts +43 -0
- package/lib/components/subscriptions/subscription-product-details/subscription-product-details.component.d.ts +69 -0
- package/lib/components/subscriptions/subscription-products/subscription-products.component.d.ts +50 -0
- package/lib/components/subscriptions/subscription-users/subscription-users.component.d.ts +57 -0
- package/lib/components/subscriptions/subscriptions-insight/subscription-insight-nps/subscription-insight-nps.component.d.ts +40 -0
- package/lib/components/subscriptions/subscriptions-insight/subscription-insight-revenue/subscription-insight-revenue.component.d.ts +22 -0
- package/lib/components/subscriptions/subscriptions-insight/subscription-insight-tabs/subscription-insight-tabs.component.d.ts +6 -0
- package/lib/components/subscriptions/subscriptions-insight/subscriptions-insight.component.d.ts +22 -0
- package/lib/components/subscriptions/subscriptions-list/subscriptions-list.component.d.ts +93 -0
- package/lib/components/subscriptions/subscriptions-tabs/subscriptions-tabs.component.d.ts +8 -0
- package/lib/components/tags/tags-category/tags-category.component.d.ts +32 -0
- package/lib/components/tags/tags-list/tags-list.component.d.ts +33 -0
- package/lib/components/tags/tags-tabs/tags-tabs.component.d.ts +9 -0
- package/lib/components/tips/tip-detail/tip-detail.component.d.ts +21 -0
- package/lib/components/tips/tips-list/tips-list.component.d.ts +41 -0
- package/lib/components/tips/tips-tabs/tips-tabs.component.d.ts +9 -0
- package/lib/components/tracking/ahoy-events/ahoy-events.component.d.ts +35 -0
- package/lib/components/tracking/ahoy-messages/ahoy-messages.component.d.ts +28 -0
- package/lib/components/tracking/ahoy-visits/ahoy-visits.component.d.ts +28 -0
- package/lib/components/tracking/events/events.component.d.ts +28 -0
- package/lib/components/tracking/tracking-tabs/tracking-tabs.component.d.ts +8 -0
- package/lib/components/tracking/versions/versions.component.d.ts +34 -0
- package/lib/components/users/user-details/user-details.component.d.ts +33 -0
- package/lib/components/users/users-insight/users-insight.component.d.ts +17 -0
- package/lib/components/users/users-list/users-list.component.d.ts +94 -0
- package/lib/components/users/users-tabs/users-tabs.component.d.ts +11 -0
- package/lib/shared/interface/contact-us.interface.d.ts +16 -0
- package/lib/shared/interface/credential.interface.d.ts +37 -0
- package/lib/shared/interface/domain-config.interface.d.ts +120 -0
- package/lib/shared/interface/feedback-question.interface.d.ts +10 -0
- package/lib/shared/interface/global-config.interface.d.ts +11 -0
- package/lib/shared/interface/login-notification.interface.d.ts +15 -0
- package/lib/shared/interface/newsletter.interface.d.ts +44 -0
- package/lib/shared/interface/permission.interface.d.ts +10 -0
- package/lib/shared/interface/privacy-tos.interface.d.ts +12 -0
- package/lib/shared/interface/tip.interface.d.ts +15 -0
- package/lib/shared/interface/tracking.interface.d.ts +105 -0
- package/lib/shared/models/admin.model.d.ts +29 -0
- package/lib/shared/routers/routers.d.ts +25 -0
- package/package.json +49 -0
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
import { ChangeDetectorRef, Component, Injector, ViewChild } from '@angular/core';
|
|
2
|
+
import { AdminService } from '../../../admin.service';
|
|
3
|
+
import { ROUTERS } from '../../../shared/routers/routers';
|
|
4
|
+
import { PAGE_SIZE } from '@posiwise/common-utilities';
|
|
5
|
+
import { AppBaseComponent } from '@posiwise/app-base-component';
|
|
6
|
+
import { PasswordValidationComponent } from '@posiwise/shared-components';
|
|
7
|
+
import { HelperService } from '@posiwise/helper-service';
|
|
8
|
+
import { ProductService, WindowService, PermissionService, AuthService, CustomToastService } from '@posiwise/common-services';
|
|
9
|
+
import { NavigationEnd } from '@angular/router';
|
|
10
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "../../../admin.service";
|
|
13
|
+
import * as i2 from "@posiwise/common-services";
|
|
14
|
+
import * as i3 from "primeng/table";
|
|
15
|
+
import * as i4 from "primeng/api";
|
|
16
|
+
import * as i5 from "primeng/tooltip";
|
|
17
|
+
import * as i6 from "@angular/common";
|
|
18
|
+
import * as i7 from "@posiwise/shared-components";
|
|
19
|
+
import * as i8 from "@angular/router";
|
|
20
|
+
import * as i9 from "@posiwise/directives";
|
|
21
|
+
import * as i10 from "@ng-bootstrap/ng-bootstrap";
|
|
22
|
+
import * as i11 from "@angular/forms";
|
|
23
|
+
import * as i12 from "@ngneat/transloco";
|
|
24
|
+
import * as i13 from "@posiwise/pipes";
|
|
25
|
+
export class UserListComponent extends AppBaseComponent {
|
|
26
|
+
constructor(adminService, toastr, productService, injector, authService, cdr, windowService) {
|
|
27
|
+
super(injector);
|
|
28
|
+
this.adminService = adminService;
|
|
29
|
+
this.toastr = toastr;
|
|
30
|
+
this.productService = productService;
|
|
31
|
+
this.authService = authService;
|
|
32
|
+
this.cdr = cdr;
|
|
33
|
+
this.windowService = windowService;
|
|
34
|
+
this.users = [];
|
|
35
|
+
this.searchText = '';
|
|
36
|
+
this.allUsers = [];
|
|
37
|
+
this.loading = true;
|
|
38
|
+
this.searchOptions = [
|
|
39
|
+
{
|
|
40
|
+
label: 'Role',
|
|
41
|
+
value: 'role'
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
label: 'Product',
|
|
45
|
+
value: 'product'
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
label: 'Feature Key',
|
|
49
|
+
value: 'feature_key'
|
|
50
|
+
}
|
|
51
|
+
];
|
|
52
|
+
this.searchDataSource = [];
|
|
53
|
+
this.page = 1;
|
|
54
|
+
this.routers = ROUTERS;
|
|
55
|
+
this.masterProductId = this.appConfig.master_subscription.product_id;
|
|
56
|
+
this.featureKeysList = [];
|
|
57
|
+
this.filterByProducts = [];
|
|
58
|
+
this.filterByRoles = [];
|
|
59
|
+
this.filterByFeatureKeys = [];
|
|
60
|
+
this.criteria = [];
|
|
61
|
+
this.getTableState();
|
|
62
|
+
}
|
|
63
|
+
ngOnInit() {
|
|
64
|
+
this.subscriptionId = PermissionService.selectedSubscription?.id;
|
|
65
|
+
this.chatPermission = `${PermissionService.selectedProduct.permission}.${PermissionService.selectedProduct.feature_key}`;
|
|
66
|
+
this.getRoles();
|
|
67
|
+
this.getProducts();
|
|
68
|
+
this.userStore().subscribe(response => {
|
|
69
|
+
this.currentUser = response;
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
getTableState() {
|
|
73
|
+
this.localStorage.getItem$('user-list-state').subscribe(result => {
|
|
74
|
+
const res = JSON.parse(result);
|
|
75
|
+
this.searchText = res?.searchText || '';
|
|
76
|
+
if (res?.selectedOption?.value) {
|
|
77
|
+
this.selectedOption = res?.selectedOption;
|
|
78
|
+
this.filterSource = [this.selectedOption?.value];
|
|
79
|
+
}
|
|
80
|
+
if (res?.searchDataSource?.length) {
|
|
81
|
+
this.searchDataSource = res?.searchDataSource || [];
|
|
82
|
+
}
|
|
83
|
+
if (res?.selectedOption?.value === 'feature_key') {
|
|
84
|
+
this.criteria = res?.filterByFeatureKeys || [];
|
|
85
|
+
}
|
|
86
|
+
if (res?.selectedOption?.value === 'product') {
|
|
87
|
+
this.criteria = res?.filterByProducts || [];
|
|
88
|
+
}
|
|
89
|
+
if (res?.selectedOption?.value === 'role') {
|
|
90
|
+
this.criteria = res?.filterByRoles || [];
|
|
91
|
+
}
|
|
92
|
+
this.filterByFeatureKeys = res?.filterByFeatureKeys || [];
|
|
93
|
+
this.filterByProducts = res?.filterByProducts || [];
|
|
94
|
+
this.filterByRoles = res?.filterByRoles || [];
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
ngAfterViewChecked() {
|
|
98
|
+
this.cdr.detectChanges();
|
|
99
|
+
}
|
|
100
|
+
onLazyLoad(event) {
|
|
101
|
+
const pageDetails = HelperService.onTableLazyLoad(event);
|
|
102
|
+
this.page = pageDetails.page;
|
|
103
|
+
this.getUsers({
|
|
104
|
+
page: this.page,
|
|
105
|
+
page_size: PAGE_SIZE,
|
|
106
|
+
order_by: pageDetails.sortField,
|
|
107
|
+
order_direction: pageDetails.sortOrder,
|
|
108
|
+
search: this.searchText
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
getRoles() {
|
|
112
|
+
this.adminService.getRoles({}, this.subscriptionId).subscribe(response => {
|
|
113
|
+
this.allRoles = response.roles.map(item => {
|
|
114
|
+
return {
|
|
115
|
+
label: item.name,
|
|
116
|
+
value: item.id
|
|
117
|
+
};
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
getProducts() {
|
|
122
|
+
this.productService
|
|
123
|
+
.getProducts({
|
|
124
|
+
master_product_id: this.masterProductId,
|
|
125
|
+
subscription_id: this.subscriptionId
|
|
126
|
+
})
|
|
127
|
+
.subscribe(resp => {
|
|
128
|
+
if (resp.products) {
|
|
129
|
+
this.productList = resp.products.map(element => {
|
|
130
|
+
return {
|
|
131
|
+
value: element.id,
|
|
132
|
+
label: element.name
|
|
133
|
+
};
|
|
134
|
+
});
|
|
135
|
+
this.featureKeysList = resp.products.map(element => {
|
|
136
|
+
return {
|
|
137
|
+
value: element.feature_key,
|
|
138
|
+
label: element.feature_key
|
|
139
|
+
};
|
|
140
|
+
});
|
|
141
|
+
this.productList.unshift({
|
|
142
|
+
label: 'None',
|
|
143
|
+
value: null
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
getUsers(paging) {
|
|
149
|
+
const params = {
|
|
150
|
+
product_ids: this.filterByProducts.join() || '',
|
|
151
|
+
role_ids: this.filterByRoles.join() || '',
|
|
152
|
+
feature_keys: this.filterByFeatureKeys.join() || '',
|
|
153
|
+
subscription_id: this.subscriptionId
|
|
154
|
+
};
|
|
155
|
+
this.adminService.getUsers(paging, params).subscribe(response => {
|
|
156
|
+
this.users = response.users;
|
|
157
|
+
this.allUsers = [...this.users];
|
|
158
|
+
this.totalRecords = response.object_count;
|
|
159
|
+
this.loading = false;
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
onSearchOptionChange($event) {
|
|
163
|
+
this.criteria = [];
|
|
164
|
+
this.selectedOption = this.searchOptions.find(x => x.value === $event.value[0]);
|
|
165
|
+
if (this.selectedOption && this.selectedOption.value === 'role') {
|
|
166
|
+
this.searchDataSource = this.allRoles;
|
|
167
|
+
}
|
|
168
|
+
else if (this.selectedOption && this.selectedOption.value === 'product') {
|
|
169
|
+
this.searchDataSource = this.productList;
|
|
170
|
+
}
|
|
171
|
+
else if (this.selectedOption && this.selectedOption.value === 'feature_key') {
|
|
172
|
+
this.searchDataSource = this.featureKeysList;
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
this.searchDataSource = [];
|
|
176
|
+
this.clearFilters();
|
|
177
|
+
this.getUsers({
|
|
178
|
+
page: this.page,
|
|
179
|
+
page_size: PAGE_SIZE
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
clearFilters() {
|
|
184
|
+
this.filterByProducts = [];
|
|
185
|
+
this.filterByFeatureKeys = [];
|
|
186
|
+
this.filterByRoles = [];
|
|
187
|
+
}
|
|
188
|
+
onSearchCriteria(evt) {
|
|
189
|
+
this.clearFilters();
|
|
190
|
+
if (this.selectedOption.value === 'role') {
|
|
191
|
+
this.onRoleChange(evt);
|
|
192
|
+
}
|
|
193
|
+
else if (this.selectedOption.value === 'product') {
|
|
194
|
+
this.onProductChange(evt);
|
|
195
|
+
}
|
|
196
|
+
else if (this.selectedOption.value === 'feature_key') {
|
|
197
|
+
this.onFeatureKeyChange(evt);
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
this.searchDataSource = [];
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
onRoleChange(event) {
|
|
204
|
+
this.clearFilters();
|
|
205
|
+
this.filterByRoles = event.value;
|
|
206
|
+
this.getUsers({
|
|
207
|
+
page: this.page,
|
|
208
|
+
page_size: PAGE_SIZE
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
onProductChange(event) {
|
|
212
|
+
this.clearFilters();
|
|
213
|
+
this.filterByProducts = event.value;
|
|
214
|
+
this.getUsers({
|
|
215
|
+
page: this.page,
|
|
216
|
+
page_size: PAGE_SIZE
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
onFeatureKeyChange(event) {
|
|
220
|
+
this.clearFilters();
|
|
221
|
+
this.filterByFeatureKeys = event.value;
|
|
222
|
+
this.getUsers({
|
|
223
|
+
page: this.page,
|
|
224
|
+
page_size: PAGE_SIZE
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
onDelete(user) {
|
|
228
|
+
this.userToDelete = user;
|
|
229
|
+
this.passwordValidationModalForUserDelete.open();
|
|
230
|
+
}
|
|
231
|
+
deleteUser(_evnt) {
|
|
232
|
+
this.adminService
|
|
233
|
+
.deleteUser(this.userToDelete.id, this.subscriptionId)
|
|
234
|
+
.subscribe(() => {
|
|
235
|
+
this.users = this.users.filter(x => x.id !== this.userToDelete.id);
|
|
236
|
+
this.toastr.success(this.translation.translate('Admin.Users.DeletedMessage'));
|
|
237
|
+
this.getUsers({
|
|
238
|
+
page: this.page,
|
|
239
|
+
page_size: PAGE_SIZE
|
|
240
|
+
});
|
|
241
|
+
})
|
|
242
|
+
.add(() => {
|
|
243
|
+
this.userToDelete = null;
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
onImpersonate(user) {
|
|
247
|
+
this.userToImpersonate = user;
|
|
248
|
+
this.passwordValidationModalForImpersonate.open();
|
|
249
|
+
}
|
|
250
|
+
onUserImpersonation(_event) {
|
|
251
|
+
this.authService.platform$.subscribe(res => {
|
|
252
|
+
const platform = res;
|
|
253
|
+
this.authService
|
|
254
|
+
.impersonateUser({
|
|
255
|
+
email: this.userToImpersonate.email,
|
|
256
|
+
subscription_id: PermissionService.selectedSubscription.id,
|
|
257
|
+
phonegap: platform !== 'browser'
|
|
258
|
+
})
|
|
259
|
+
.subscribe(_ => {
|
|
260
|
+
this.toast.success(`You're now being logged in as another user...`);
|
|
261
|
+
// wait for 2 sec before redirecting user to home page
|
|
262
|
+
setTimeout(() => {
|
|
263
|
+
this.windowService.replaceUrl('/home');
|
|
264
|
+
}, 2000);
|
|
265
|
+
});
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
ngOnDestroy() {
|
|
269
|
+
const val = {
|
|
270
|
+
searchText: this.searchText,
|
|
271
|
+
filterByFeatureKeys: this.filterByFeatureKeys,
|
|
272
|
+
filterByRoles: this.filterByRoles,
|
|
273
|
+
filterByProducts: this.filterByProducts,
|
|
274
|
+
selectedOption: this.selectedOption,
|
|
275
|
+
searchDataSource: this.searchDataSource
|
|
276
|
+
};
|
|
277
|
+
localStorage.setItem('user-list-state', JSON.stringify(val));
|
|
278
|
+
const notifier = new Subject();
|
|
279
|
+
this.router.events.pipe(takeUntil(notifier)).subscribe(event => {
|
|
280
|
+
if (event instanceof NavigationEnd) {
|
|
281
|
+
if (!event.urlAfterRedirects.includes('/user')) {
|
|
282
|
+
this.localStorage.removeItem$('user-list-state');
|
|
283
|
+
notifier.next('');
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
});
|
|
287
|
+
super.ngOnDestroy();
|
|
288
|
+
}
|
|
289
|
+
disable2fa(id) {
|
|
290
|
+
this.remove2faUserId = id;
|
|
291
|
+
this.passwordValidationModalForRemove2fa.open();
|
|
292
|
+
}
|
|
293
|
+
remove2fa(_event) {
|
|
294
|
+
this.adminService.remove2fa(this.remove2faUserId, this.subscriptionId).subscribe();
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
UserListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: UserListComponent, deps: [{ token: i1.AdminService }, { token: i2.CustomToastService }, { token: i2.ProductService }, { token: i0.Injector }, { token: i2.AuthService }, { token: i0.ChangeDetectorRef }, { token: i2.WindowService }], target: i0.ɵɵFactoryTarget.Component });
|
|
298
|
+
UserListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: UserListComponent, selector: "pw-admin-user-list", viewQueries: [{ propertyName: "passwordValidationModalForUserDelete", first: true, predicate: ["passwordValidationModalForUserDelete"], descendants: true }, { propertyName: "passwordValidationModalForImpersonate", first: true, predicate: ["passwordValidationModalForImpersonate"], descendants: true }, { propertyName: "passwordValidationModalForRemove2fa", first: true, predicate: ["passwordValidationModalForRemove2fa"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"row\">\n <div class=\"col-12 create-user d-flex justify-content-between align-items-center my-3\">\n <h2 class=\"card-title p-0 float-start\">Users</h2>\n <a class=\"btn btn-sm btn-outline-primary float-end\"\n id=\"btn-create\"\n *rbacAllow=\"'SuperAdmin'\"\n [routerLink]=\"[routers.usersDetails + 'add']\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> Create User\n </a>\n </div>\n</div>\n<div class=\"primeng-datatable-container mt-0\">\n <div class=\"user-management-table table-responsive\">\n <p-table #dt\n [value]=\"users\"\n [paginator]=\"true\"\n [lazy]=\"true\"\n [rows]=\"PAGE_SIZE\"\n [responsive]=\"true\"\n [totalRecords]=\"totalRecords\"\n [loading]=\"loading\"\n [filterDelay]=\"1000\"\n (onLazyLoad)=\"onLazyLoad($event)\"\n [customSort]=\"true\">\n <ng-template pTemplate=\"caption\">\n <div class=\"search-filter\">\n <div class=\"col-sm-4\">\n <p-multiSelect [options]=\"searchOptions\"\n (onChange)=\"onSearchOptionChange($event)\"\n placeholder=\"Filter users by role, product, or feature\"\n [selectionLimit]=\"1\"\n [(ngModel)]=\"filterSource\"\n [showToggleAll]=\"true\"\n [showHeader]=\"true\"\n appendTo=\"body\">\n </p-multiSelect>\n </div>\n <div class=\"col-4\"\n *ngIf=\"selectedOption\">\n <p-multiSelect [options]=\"searchDataSource\"\n (onChange)=\"onSearchCriteria($event)\"\n [showToggleAll]=\"true\"\n [(ngModel)]=\"criteria\"\n [showHeader]=\"true\"\n placeholder=\"Select {{ selectedOption.value }}s\"\n maxSelectedLabels=\"2\"\n appendTo=\"body\">\n </p-multiSelect>\n </div>\n <div class=\"text-end\">\n <i class=\"fa fa-search mt-2 me-2\" aria-hidden=\"true\"></i>\n <input type=\"text\"\n [(ngModel)]=\"searchText\"\n pInputText\n size=\"50\"\n placeholder=\"Search User...\"\n data-cy=\"user-search\"\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\n class=\"wd-90\" />\n </div>\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th scope=\"true\"\n pSortableColumn=\"id\">\n {{ 'Admin.Users.Id' | transloco }}\n <p-sortIcon field=\"id\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"first_name\">\n {{ 'Label.FirstName' | transloco }}\n <p-sortIcon field=\"first_name\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"last_name\">\n {{ 'Label.LastName' | transloco }}\n <p-sortIcon field=\"last_name\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"email\">\n {{ 'Label.Email' | transloco }}\n <p-sortIcon field=\"email\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"slug\">\n {{ 'Admin.Users.Slug' | transloco }}\n <p-sortIcon field=\"slug\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"encrypted_password\">\n {{ 'Admin.Users.EmailConfirm' | transloco }}\n <p-sortIcon field=\"encrypted_password\"></p-sortIcon>\n </th>\n\n <th scope=\"true\"\n pSortableColumn=\"sessions_last_month\">\n {{ 'Admin.Subscriptions.SessionsTotalLastMonth' | transloco }}\n <p-sortIcon field=\"sessions_last_month\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"last_sign_in_at\">\n {{ 'Admin.Users.LastLogin' | transloco }}\n <p-sortIcon field=\"last_sign_in_at\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"signed_up_at\">\n {{ 'Admin.Users.RegisteredOn' | transloco }}\n <p-sortIcon field=\"signed_up_at\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n class=\"actions-list-four\">\n {{ 'Label.Actions' | transloco }}\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\"\n let-user>\n <tr>\n <td data-head=\"id\"> {{ user.id }}</td>\n <td data-head=\"First Name\"><a [routerLink]=\"['/members', user.slug]\">{{ user.first_name }}</a></td>\n <td data-head=\"Last Name\">{{ user.last_name }}\n <span *ngIf=\"user?.alpha\"\n [pTooltip]=\"'Admin.Users.Tooltip.AlphaIcon'|transloco\"\n tooltipPosition=\"top\">\n <i class=\"fa-regular fa-square-a alpha-beta text-warning\"></i>\n </span>\n <span class=\"ms-2\"\n *ngIf=\"user?.beta\"\n [pTooltip]=\"'Admin.Users.Tooltip.BetaIcon'|transloco\"\n tooltipPosition=\"top\">\n <i class=\"fa-regular fa-square-b alpha-beta text-primary\" ></i>\n </span>\n </td>\n <td data-head=\"Email\">{{ user.email }}</td>\n <td data-head=\"Slug\">{{ user.slug }}</td>\n <td data-head=\"Email Confirm\">\n <span [appDynamicBadge]=\"{\n itemsArray: [true, false],\n item: user?.has_password\n }\"\n color=\"success-danger\"\n class=\"badge\">{{ user?.has_password ? 'Yes' : 'No' }}</span>\n </td>\n <td data-head=\"S/m #\">\n <span [ngClass]=\"{\n 'text-danger fw-bold': user?.sessions_last_month < 3\n }\">{{ user?.sessions_last_month }}</span>\n </td>\n <td data-head=\"Last Login\">\n <span *ngIf=\"user?.current_sign_in_at;else lastSignin\">\n {{ user.current_sign_in_at | dateFormat }}\n </span>\n <ng-template #lastSignin>\n {{ user.last_sign_in_at | dateFormat }}\n </ng-template>\n </td>\n <td data-head=\"Registered On\">{{ user.signed_up_at | dateFormat }}</td>\n <td data-head=\"Action\">\n <ul class=\"list-unstyled list-inline\">\n <li ngbTooltip=\"Impersonate this user\"\n *rbacAllow=\"'Pages.Alpha'\"\n class=\"me-2 me-sm-3\">\n <i\n class=\"fas fa-people-arrows\"\n (click)=\"onImpersonate(user)\"\n aria-hidden=\"true\"\n ></i>\n </li>\n <ng-template [ngIf]=\"user?.enable_two_factor_authenticator\">\n <li ngbTooltip=\"Disable 2fa\"\n (click)=\"disable2fa(user?.id)\"\n *rbacAllow=\"'Pages.Alpha'\"\n class=\"me-2 me-sm-3\">\n <i class=\"fa fa-lock\" aria-hidden=\"true\"></i>\n </li>\n </ng-template>\n <ng-template [ngIf]=\"currentUser && user.id !== currentUser.id\">\n <li ngbTooltip=\"Message\"\n *rbacAllow=\"chatPermission\"\n class=\"me-2 me-sm-3\"\n [routerLink]=\"['/message']\"\n [fragment]=\"user.slug\">\n <i class=\"fa fa-comments cta1-icon\" aria-hidden=\"true\"></i>\n </li>\n </ng-template>\n <li ngbTooltip=\"Edit\"\n *rbacAllow=\"'Pages.Admin.Users.Edit'\"\n class=\"me-2 me-sm-3\"\n [routerLink]=\"[routers.usersDetails + user.id]\">\n <i class=\"fa fa-edit edit-icon\" aria-hidden=\"true\"></i>\n </li>\n <li ngbTooltip=\"Delete\"\n *rbacAllow=\"'Pages.Admin.Users.Delete'\"\n class=\"me-2 me-sm-3\">\n <i\n class=\"fa fa-trash delete-icon\"\n (click)=\"onDelete(user)\"\n aria-hidden=\"true\"\n ></i>\n </li>\n </ul>\n </td>\n </tr>\n </ng-template>\n </p-table>\n <span class=\"total-records-count\">{{ 'Label.Total' | transloco }}: {{ totalRecords }}</span>\n </div>\n</div>\n<!-- password validation modal for delete user -->\n<pw-password-validation #passwordValidationModalForUserDelete\n (successEvent)=\"deleteUser($event)\">\n <div class=\"row\">\n <div class=\"col-12\">\n <p>{{ 'User.Account.Message.ActionCanNotUndone' | transloco }}</p>\n <p>{{ 'User.Account.Message.ConfirmPassword' | transloco }}</p>\n </div>\n </div>\n</pw-password-validation>\n<!-- password validaton modal for impersonate -->\n<pw-password-validation #passwordValidationModalForImpersonate\n (successEvent)=\"onUserImpersonation($event)\">\n</pw-password-validation>\n<!-- password validaton modal for remove2fa -->\n<pw-password-validation #passwordValidationModalForRemove2fa\n (successEvent)=\"remove2fa($event)\">\n</pw-password-validation>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.search-input input{width:100%}.w-150{width:150px}@media (min-width: 767px){.table-responsive td,.table-responsive th{font-size:11px!important}}.alpha-beta{font-size:14px}\n"], dependencies: [{ kind: "component", type: i3.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "virtualRowHeight", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i3.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i3.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.PasswordValidationComponent, selector: "pw-password-validation", outputs: ["successEvent"] }, { kind: "directive", type: i8.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i9.DynamicBadgeDirective, selector: "[appDynamicBadge]", inputs: ["appDynamicBadge", "color"] }, { kind: "directive", type: i9.RbacAllowDirective, selector: "[rbacAllow]", inputs: ["rbacAllow"] }, { kind: "directive", type: i10.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "directive", type: i11.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i11.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i12.TranslocoPipe, name: "transloco" }, { kind: "pipe", type: i13.DateFormatPipe, name: "dateFormat" }] });
|
|
299
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: UserListComponent, decorators: [{
|
|
300
|
+
type: Component,
|
|
301
|
+
args: [{ selector: 'pw-admin-user-list', template: "<div class=\"row\">\n <div class=\"col-12 create-user d-flex justify-content-between align-items-center my-3\">\n <h2 class=\"card-title p-0 float-start\">Users</h2>\n <a class=\"btn btn-sm btn-outline-primary float-end\"\n id=\"btn-create\"\n *rbacAllow=\"'SuperAdmin'\"\n [routerLink]=\"[routers.usersDetails + 'add']\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> Create User\n </a>\n </div>\n</div>\n<div class=\"primeng-datatable-container mt-0\">\n <div class=\"user-management-table table-responsive\">\n <p-table #dt\n [value]=\"users\"\n [paginator]=\"true\"\n [lazy]=\"true\"\n [rows]=\"PAGE_SIZE\"\n [responsive]=\"true\"\n [totalRecords]=\"totalRecords\"\n [loading]=\"loading\"\n [filterDelay]=\"1000\"\n (onLazyLoad)=\"onLazyLoad($event)\"\n [customSort]=\"true\">\n <ng-template pTemplate=\"caption\">\n <div class=\"search-filter\">\n <div class=\"col-sm-4\">\n <p-multiSelect [options]=\"searchOptions\"\n (onChange)=\"onSearchOptionChange($event)\"\n placeholder=\"Filter users by role, product, or feature\"\n [selectionLimit]=\"1\"\n [(ngModel)]=\"filterSource\"\n [showToggleAll]=\"true\"\n [showHeader]=\"true\"\n appendTo=\"body\">\n </p-multiSelect>\n </div>\n <div class=\"col-4\"\n *ngIf=\"selectedOption\">\n <p-multiSelect [options]=\"searchDataSource\"\n (onChange)=\"onSearchCriteria($event)\"\n [showToggleAll]=\"true\"\n [(ngModel)]=\"criteria\"\n [showHeader]=\"true\"\n placeholder=\"Select {{ selectedOption.value }}s\"\n maxSelectedLabels=\"2\"\n appendTo=\"body\">\n </p-multiSelect>\n </div>\n <div class=\"text-end\">\n <i class=\"fa fa-search mt-2 me-2\" aria-hidden=\"true\"></i>\n <input type=\"text\"\n [(ngModel)]=\"searchText\"\n pInputText\n size=\"50\"\n placeholder=\"Search User...\"\n data-cy=\"user-search\"\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\n class=\"wd-90\" />\n </div>\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th scope=\"true\"\n pSortableColumn=\"id\">\n {{ 'Admin.Users.Id' | transloco }}\n <p-sortIcon field=\"id\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"first_name\">\n {{ 'Label.FirstName' | transloco }}\n <p-sortIcon field=\"first_name\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"last_name\">\n {{ 'Label.LastName' | transloco }}\n <p-sortIcon field=\"last_name\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"email\">\n {{ 'Label.Email' | transloco }}\n <p-sortIcon field=\"email\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"slug\">\n {{ 'Admin.Users.Slug' | transloco }}\n <p-sortIcon field=\"slug\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"encrypted_password\">\n {{ 'Admin.Users.EmailConfirm' | transloco }}\n <p-sortIcon field=\"encrypted_password\"></p-sortIcon>\n </th>\n\n <th scope=\"true\"\n pSortableColumn=\"sessions_last_month\">\n {{ 'Admin.Subscriptions.SessionsTotalLastMonth' | transloco }}\n <p-sortIcon field=\"sessions_last_month\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"last_sign_in_at\">\n {{ 'Admin.Users.LastLogin' | transloco }}\n <p-sortIcon field=\"last_sign_in_at\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"signed_up_at\">\n {{ 'Admin.Users.RegisteredOn' | transloco }}\n <p-sortIcon field=\"signed_up_at\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n class=\"actions-list-four\">\n {{ 'Label.Actions' | transloco }}\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\"\n let-user>\n <tr>\n <td data-head=\"id\"> {{ user.id }}</td>\n <td data-head=\"First Name\"><a [routerLink]=\"['/members', user.slug]\">{{ user.first_name }}</a></td>\n <td data-head=\"Last Name\">{{ user.last_name }}\n <span *ngIf=\"user?.alpha\"\n [pTooltip]=\"'Admin.Users.Tooltip.AlphaIcon'|transloco\"\n tooltipPosition=\"top\">\n <i class=\"fa-regular fa-square-a alpha-beta text-warning\"></i>\n </span>\n <span class=\"ms-2\"\n *ngIf=\"user?.beta\"\n [pTooltip]=\"'Admin.Users.Tooltip.BetaIcon'|transloco\"\n tooltipPosition=\"top\">\n <i class=\"fa-regular fa-square-b alpha-beta text-primary\" ></i>\n </span>\n </td>\n <td data-head=\"Email\">{{ user.email }}</td>\n <td data-head=\"Slug\">{{ user.slug }}</td>\n <td data-head=\"Email Confirm\">\n <span [appDynamicBadge]=\"{\n itemsArray: [true, false],\n item: user?.has_password\n }\"\n color=\"success-danger\"\n class=\"badge\">{{ user?.has_password ? 'Yes' : 'No' }}</span>\n </td>\n <td data-head=\"S/m #\">\n <span [ngClass]=\"{\n 'text-danger fw-bold': user?.sessions_last_month < 3\n }\">{{ user?.sessions_last_month }}</span>\n </td>\n <td data-head=\"Last Login\">\n <span *ngIf=\"user?.current_sign_in_at;else lastSignin\">\n {{ user.current_sign_in_at | dateFormat }}\n </span>\n <ng-template #lastSignin>\n {{ user.last_sign_in_at | dateFormat }}\n </ng-template>\n </td>\n <td data-head=\"Registered On\">{{ user.signed_up_at | dateFormat }}</td>\n <td data-head=\"Action\">\n <ul class=\"list-unstyled list-inline\">\n <li ngbTooltip=\"Impersonate this user\"\n *rbacAllow=\"'Pages.Alpha'\"\n class=\"me-2 me-sm-3\">\n <i\n class=\"fas fa-people-arrows\"\n (click)=\"onImpersonate(user)\"\n aria-hidden=\"true\"\n ></i>\n </li>\n <ng-template [ngIf]=\"user?.enable_two_factor_authenticator\">\n <li ngbTooltip=\"Disable 2fa\"\n (click)=\"disable2fa(user?.id)\"\n *rbacAllow=\"'Pages.Alpha'\"\n class=\"me-2 me-sm-3\">\n <i class=\"fa fa-lock\" aria-hidden=\"true\"></i>\n </li>\n </ng-template>\n <ng-template [ngIf]=\"currentUser && user.id !== currentUser.id\">\n <li ngbTooltip=\"Message\"\n *rbacAllow=\"chatPermission\"\n class=\"me-2 me-sm-3\"\n [routerLink]=\"['/message']\"\n [fragment]=\"user.slug\">\n <i class=\"fa fa-comments cta1-icon\" aria-hidden=\"true\"></i>\n </li>\n </ng-template>\n <li ngbTooltip=\"Edit\"\n *rbacAllow=\"'Pages.Admin.Users.Edit'\"\n class=\"me-2 me-sm-3\"\n [routerLink]=\"[routers.usersDetails + user.id]\">\n <i class=\"fa fa-edit edit-icon\" aria-hidden=\"true\"></i>\n </li>\n <li ngbTooltip=\"Delete\"\n *rbacAllow=\"'Pages.Admin.Users.Delete'\"\n class=\"me-2 me-sm-3\">\n <i\n class=\"fa fa-trash delete-icon\"\n (click)=\"onDelete(user)\"\n aria-hidden=\"true\"\n ></i>\n </li>\n </ul>\n </td>\n </tr>\n </ng-template>\n </p-table>\n <span class=\"total-records-count\">{{ 'Label.Total' | transloco }}: {{ totalRecords }}</span>\n </div>\n</div>\n<!-- password validation modal for delete user -->\n<pw-password-validation #passwordValidationModalForUserDelete\n (successEvent)=\"deleteUser($event)\">\n <div class=\"row\">\n <div class=\"col-12\">\n <p>{{ 'User.Account.Message.ActionCanNotUndone' | transloco }}</p>\n <p>{{ 'User.Account.Message.ConfirmPassword' | transloco }}</p>\n </div>\n </div>\n</pw-password-validation>\n<!-- password validaton modal for impersonate -->\n<pw-password-validation #passwordValidationModalForImpersonate\n (successEvent)=\"onUserImpersonation($event)\">\n</pw-password-validation>\n<!-- password validaton modal for remove2fa -->\n<pw-password-validation #passwordValidationModalForRemove2fa\n (successEvent)=\"remove2fa($event)\">\n</pw-password-validation>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.search-input input{width:100%}.w-150{width:150px}@media (min-width: 767px){.table-responsive td,.table-responsive th{font-size:11px!important}}.alpha-beta{font-size:14px}\n"] }]
|
|
302
|
+
}], ctorParameters: function () { return [{ type: i1.AdminService }, { type: i2.CustomToastService }, { type: i2.ProductService }, { type: i0.Injector }, { type: i2.AuthService }, { type: i0.ChangeDetectorRef }, { type: i2.WindowService }]; }, propDecorators: { passwordValidationModalForUserDelete: [{
|
|
303
|
+
type: ViewChild,
|
|
304
|
+
args: ['passwordValidationModalForUserDelete', { static: false }]
|
|
305
|
+
}], passwordValidationModalForImpersonate: [{
|
|
306
|
+
type: ViewChild,
|
|
307
|
+
args: ['passwordValidationModalForImpersonate', { static: false }]
|
|
308
|
+
}], passwordValidationModalForRemove2fa: [{
|
|
309
|
+
type: ViewChild,
|
|
310
|
+
args: ['passwordValidationModalForRemove2fa', { static: false }]
|
|
311
|
+
}] } });
|
|
312
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvdXNlcnMvdXNlcnMtbGlzdC91c2Vycy1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy91c2Vycy91c2Vycy1saXN0L3VzZXJzLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsUUFBUSxFQUdSLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUcxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUNILGNBQWMsRUFDZCxhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxrQkFBa0IsRUFDckIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQU8xQyxNQUFNLE9BQU8saUJBQ1QsU0FBUSxnQkFBZ0I7SUEyRXhCLFlBQ1ksWUFBMEIsRUFDMUIsTUFB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QUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsbUNBQW1DLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFNO1FBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdkYsQ0FBQzs7OEdBalZRLGlCQUFpQjtrR0FBakIsaUJBQWlCLDZnQkNsQzlCLDJ6U0FtT0E7MkZEak1hLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDSSxvQkFBb0I7OFFBUzlCLG9DQUFvQztzQkFEbkMsU0FBUzt1QkFBQyxzQ0FBc0MsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBSXBFLHFDQUFxQztzQkFEcEMsU0FBUzt1QkFBQyx1Q0FBdUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBSXJFLG1DQUFtQztzQkFEbEMsU0FBUzt1QkFBQyxxQ0FBcUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0NoZWNrZWQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEluamVjdG9yLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGF6eUxvYWRFdmVudCwgU2VsZWN0SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcblxuaW1wb3J0IHsgQWRtaW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYWRtaW4uc2VydmljZSc7XG5pbXBvcnQgeyBST1VURVJTIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3JvdXRlcnMvcm91dGVycyc7XG5pbXBvcnQgeyBQQUdFX1NJWkUgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYXNzd29yZFZhbGlkYXRpb25Db21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2Uvc2hhcmVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgUGFnaW5nIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tdXRpbGl0aWVzJztcbmltcG9ydCB7IEhlbHBlclNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvaGVscGVyLXNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgICBQcm9kdWN0U2VydmljZSxcbiAgICBXaW5kb3dTZXJ2aWNlLFxuICAgIFBlcm1pc3Npb25TZXJ2aWNlLFxuICAgIEF1dGhTZXJ2aWNlLFxuICAgIEN1c3RvbVRvYXN0U2VydmljZVxufSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXNlcnZpY2VzJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctYWRtaW4tdXNlci1saXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdXNlcnMtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdXNlcnMtbGlzdC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJMaXN0Q29tcG9uZW50XG4gICAgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3Q2hlY2tlZFxue1xuICAgIEBWaWV3Q2hpbGQoJ3Bhc3N3b3JkVmFsaWRhdGlvbk1vZGFsRm9yVXNlckRlbGV0ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHBhc3N3b3JkVmFsaWRhdGlvbk1vZGFsRm9yVXNlckRlbGV0ZTogUGFzc3dvcmRWYWxpZGF0aW9uQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZCgncGFzc3dvcmRWYWxpZGF0aW9uTW9kYWxGb3JJbXBlcnNvbmF0ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHBhc3N3b3JkVmFsaWRhdGlvbk1vZGFsRm9ySW1wZXJzb25hdGU6IFBhc3N3b3JkVmFsaWRhdGlvbkNvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoJ3Bhc3N3b3JkVmFsaWRhdGlvbk1vZGFsRm9yUmVtb3ZlMmZhJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcGFzc3dvcmRWYWxpZGF0aW9uTW9kYWxGb3JSZW1vdmUyZmE6IFBhc3N3b3JkVmFsaWRhdGlvbkNvbXBvbmVudDtcblxuICAgIHRvdGFsUmVjb3JkczogbnVtYmVyO1xuXG4gICAgdXNlcnM6IFVzZXJbXSA9IFtdO1xuXG4gICAgYWxsUm9sZXM6IFNlbGVjdEl0ZW1bXTtcblxuICAgIHNlYXJjaFRleHQgPSAnJztcblxuICAgIGFsbFVzZXJzOiBVc2VyW10gPSBbXTtcblxuICAgIHByb2R1Y3RMaXN0OiBTZWxlY3RJdGVtW107XG5cbiAgICBsb2FkaW5nID0gdHJ1ZTtcblxuICAgIHNlYXJjaE9wdGlvbnMgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiAnUm9sZScsXG4gICAgICAgICAgICB2YWx1ZTogJ3JvbGUnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiAnUHJvZHVjdCcsXG4gICAgICAgICAgICB2YWx1ZTogJ3Byb2R1Y3QnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiAnRmVhdHVyZSBLZXknLFxuICAgICAgICAgICAgdmFsdWU6ICdmZWF0dXJlX2tleSdcbiAgICAgICAgfVxuICAgIF07XG5cbiAgICBzZWFyY2hEYXRhU291cmNlID0gW107XG5cbiAgICBzZWxlY3RlZE9wdGlvbjogU2VsZWN0SXRlbTtcblxuICAgIGN1cnJlbnRVc2VyOiBVc2VyO1xuXG4gICAgcHJpdmF0ZSBwYWdlID0gMTtcblxuICAgIHJvdXRlcnMgPSBST1VURVJTO1xuXG4gICAgc3Vic2NyaXB0aW9uSWQ6IG51bWJlcjtcblxuICAgIG1hc3RlclByb2R1Y3RJZCA9IHRoaXMuYXBwQ29uZmlnLm1hc3Rlcl9zdWJzY3JpcHRpb24ucHJvZHVjdF9pZDtcblxuICAgIGZlYXR1cmVLZXlzTGlzdCA9IFtdO1xuXG4gICAgcHJpdmF0ZSBmaWx0ZXJCeVByb2R1Y3RzID0gW107XG5cbiAgICBwcml2YXRlIGZpbHRlckJ5Um9sZXMgPSBbXTtcblxuICAgIGZpbHRlckJ5RmVhdHVyZUtleXMgPSBbXTtcblxuICAgIHByaXZhdGUgdXNlclRvRGVsZXRlOiBVc2VyO1xuXG4gICAgY2hhdFBlcm1pc3Npb246IHN0cmluZztcblxuICAgIHVzZXJUb0ltcGVyc29uYXRlOiBVc2VyO1xuXG4gICAgcmVtb3ZlMmZhVXNlcklkOiBudW1iZXI7XG5cbiAgICBmaWx0ZXJTb3VyY2U6IGFueTtcblxuICAgIGNyaXRlcmlhID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhZG1pblNlcnZpY2U6IEFkbWluU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB0b2FzdHI6IEN1c3RvbVRvYXN0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBwcm9kdWN0U2VydmljZTogUHJvZHVjdFNlcnZpY2UsXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSB3aW5kb3dTZXJ2aWNlOiBXaW5kb3dTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICAgICAgdGhpcy5nZXRUYWJsZVN0YXRlKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgPSBQZXJtaXNzaW9uU2VydmljZS5zZWxlY3RlZFN1YnNjcmlwdGlvbj8uaWQ7XG4gICAgICAgIHRoaXMuY2hhdFBlcm1pc3Npb24gPSBgJHtQZXJtaXNzaW9uU2VydmljZS5zZWxlY3RlZFByb2R1Y3QucGVybWlzc2lvbn0uJHtQZXJtaXNzaW9uU2VydmljZS5zZWxlY3RlZFByb2R1Y3QuZmVhdHVyZV9rZXl9YDtcbiAgICAgICAgdGhpcy5nZXRSb2xlcygpO1xuICAgICAgICB0aGlzLmdldFByb2R1Y3RzKCk7XG5cbiAgICAgICAgdGhpcy51c2VyU3RvcmUoKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50VXNlciA9IHJlc3BvbnNlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRUYWJsZVN0YXRlKCkge1xuICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtJCgndXNlci1saXN0LXN0YXRlJykuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICBjb25zdCByZXMgPSBKU09OLnBhcnNlKHJlc3VsdCk7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaFRleHQgPSByZXM/LnNlYXJjaFRleHQgfHwgJyc7XG4gICAgICAgICAgICBpZiAocmVzPy5zZWxlY3RlZE9wdGlvbj8udmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uID0gcmVzPy5zZWxlY3RlZE9wdGlvbjtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlclNvdXJjZSA9IFt0aGlzLnNlbGVjdGVkT3B0aW9uPy52YWx1ZV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocmVzPy5zZWFyY2hEYXRhU291cmNlPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaERhdGFTb3VyY2UgPSByZXM/LnNlYXJjaERhdGFTb3VyY2UgfHwgW107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocmVzPy5zZWxlY3RlZE9wdGlvbj8udmFsdWUgPT09ICdmZWF0dXJlX2tleScpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNyaXRlcmlhID0gcmVzPy5maWx0ZXJCeUZlYXR1cmVLZXlzIHx8IFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJlcz8uc2VsZWN0ZWRPcHRpb24/LnZhbHVlID09PSAncHJvZHVjdCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNyaXRlcmlhID0gcmVzPy5maWx0ZXJCeVByb2R1Y3RzIHx8IFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJlcz8uc2VsZWN0ZWRPcHRpb24/LnZhbHVlID09PSAncm9sZScpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNyaXRlcmlhID0gcmVzPy5maWx0ZXJCeVJvbGVzIHx8IFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5maWx0ZXJCeUZlYXR1cmVLZXlzID0gcmVzPy5maWx0ZXJCeUZlYXR1cmVLZXlzIHx8IFtdO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJCeVByb2R1Y3RzID0gcmVzPy5maWx0ZXJCeVByb2R1Y3RzIHx8IFtdO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJCeVJvbGVzID0gcmVzPy5maWx0ZXJCeVJvbGVzIHx8IFtdO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBvbkxhenlMb2FkKGV2ZW50OiBMYXp5TG9hZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHBhZ2VEZXRhaWxzID0gSGVscGVyU2VydmljZS5vblRhYmxlTGF6eUxvYWQoZXZlbnQpO1xuICAgICAgICB0aGlzLnBhZ2UgPSBwYWdlRGV0YWlscy5wYWdlO1xuICAgICAgICB0aGlzLmdldFVzZXJzKHtcbiAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFLFxuICAgICAgICAgICAgb3JkZXJfYnk6IHBhZ2VEZXRhaWxzLnNvcnRGaWVsZCxcbiAgICAgICAgICAgIG9yZGVyX2RpcmVjdGlvbjogcGFnZURldGFpbHMuc29ydE9yZGVyLFxuICAgICAgICAgICAgc2VhcmNoOiB0aGlzLnNlYXJjaFRleHRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRSb2xlcygpIHtcbiAgICAgICAgdGhpcy5hZG1pblNlcnZpY2UuZ2V0Um9sZXMoe30sIHRoaXMuc3Vic2NyaXB0aW9uSWQpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFsbFJvbGVzID0gcmVzcG9uc2Uucm9sZXMubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBpdGVtLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpdGVtLmlkXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFByb2R1Y3RzKCkge1xuICAgICAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0UHJvZHVjdHMoe1xuICAgICAgICAgICAgICAgIG1hc3Rlcl9wcm9kdWN0X2lkOiB0aGlzLm1hc3RlclByb2R1Y3RJZCxcbiAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb25faWQ6IHRoaXMuc3Vic2NyaXB0aW9uSWRcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3AgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXNwLnByb2R1Y3RzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvZHVjdExpc3QgPSByZXNwLnByb2R1Y3RzLm1hcChlbGVtZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGVsZW1lbnQuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGVsZW1lbnQubmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmVhdHVyZUtleXNMaXN0ID0gcmVzcC5wcm9kdWN0cy5tYXAoZWxlbWVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBlbGVtZW50LmZlYXR1cmVfa2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBlbGVtZW50LmZlYXR1cmVfa2V5XG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb2R1Y3RMaXN0LnVuc2hpZnQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdOb25lJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBudWxsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VXNlcnMocGFnaW5nOiBQYWdpbmcpIHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgICAgICAgcHJvZHVjdF9pZHM6IHRoaXMuZmlsdGVyQnlQcm9kdWN0cy5qb2luKCkgfHwgJycsXG4gICAgICAgICAgICByb2xlX2lkczogdGhpcy5maWx0ZXJCeVJvbGVzLmpvaW4oKSB8fCAnJyxcbiAgICAgICAgICAgIGZlYXR1cmVfa2V5czogdGhpcy5maWx0ZXJCeUZlYXR1cmVLZXlzLmpvaW4oKSB8fCAnJyxcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbl9pZDogdGhpcy5zdWJzY3JpcHRpb25JZFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmFkbWluU2VydmljZS5nZXRVc2VycyhwYWdpbmcsIHBhcmFtcykuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgIHRoaXMudXNlcnMgPSByZXNwb25zZS51c2VycztcbiAgICAgICAgICAgIHRoaXMuYWxsVXNlcnMgPSBbLi4udGhpcy51c2Vyc107XG4gICAgICAgICAgICB0aGlzLnRvdGFsUmVjb3JkcyA9IHJlc3BvbnNlLm9iamVjdF9jb3VudDtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvblNlYXJjaE9wdGlvbkNoYW5nZSgkZXZlbnQpIHtcbiAgICAgICAgdGhpcy5jcml0ZXJpYSA9IFtdO1xuICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uID0gdGhpcy5zZWFyY2hPcHRpb25zLmZpbmQoeCA9PiB4LnZhbHVlID09PSAkZXZlbnQudmFsdWVbMF0pO1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE9wdGlvbiAmJiB0aGlzLnNlbGVjdGVkT3B0aW9uLnZhbHVlID09PSAncm9sZScpIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoRGF0YVNvdXJjZSA9IHRoaXMuYWxsUm9sZXM7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3RlZE9wdGlvbiAmJiB0aGlzLnNlbGVjdGVkT3B0aW9uLnZhbHVlID09PSAncHJvZHVjdCcpIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoRGF0YVNvdXJjZSA9IHRoaXMucHJvZHVjdExpc3Q7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3RlZE9wdGlvbiAmJiB0aGlzLnNlbGVjdGVkT3B0aW9uLnZhbHVlID09PSAnZmVhdHVyZV9rZXknKSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaERhdGFTb3VyY2UgPSB0aGlzLmZlYXR1cmVLZXlzTGlzdDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoRGF0YVNvdXJjZSA9IFtdO1xuICAgICAgICAgICAgdGhpcy5jbGVhckZpbHRlcnMoKTtcbiAgICAgICAgICAgIHRoaXMuZ2V0VXNlcnMoe1xuICAgICAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbGVhckZpbHRlcnMoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyQnlQcm9kdWN0cyA9IFtdO1xuICAgICAgICB0aGlzLmZpbHRlckJ5RmVhdHVyZUtleXMgPSBbXTtcbiAgICAgICAgdGhpcy5maWx0ZXJCeVJvbGVzID0gW107XG4gICAgfVxuXG4gICAgb25TZWFyY2hDcml0ZXJpYShldnQpIHtcbiAgICAgICAgdGhpcy5jbGVhckZpbHRlcnMoKTtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRPcHRpb24udmFsdWUgPT09ICdyb2xlJykge1xuICAgICAgICAgICAgdGhpcy5vblJvbGVDaGFuZ2UoZXZ0KTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGVkT3B0aW9uLnZhbHVlID09PSAncHJvZHVjdCcpIHtcbiAgICAgICAgICAgIHRoaXMub25Qcm9kdWN0Q2hhbmdlKGV2dCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3RlZE9wdGlvbi52YWx1ZSA9PT0gJ2ZlYXR1cmVfa2V5Jykge1xuICAgICAgICAgICAgdGhpcy5vbkZlYXR1cmVLZXlDaGFuZ2UoZXZ0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoRGF0YVNvdXJjZSA9IFtdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Sb2xlQ2hhbmdlKGV2ZW50KSB7XG4gICAgICAgIHRoaXMuY2xlYXJGaWx0ZXJzKCk7XG4gICAgICAgIHRoaXMuZmlsdGVyQnlSb2xlcyA9IGV2ZW50LnZhbHVlO1xuICAgICAgICB0aGlzLmdldFVzZXJzKHtcbiAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uUHJvZHVjdENoYW5nZShldmVudCkge1xuICAgICAgICB0aGlzLmNsZWFyRmlsdGVycygpO1xuICAgICAgICB0aGlzLmZpbHRlckJ5UHJvZHVjdHMgPSBldmVudC52YWx1ZTtcbiAgICAgICAgdGhpcy5nZXRVc2Vycyh7XG4gICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uRmVhdHVyZUtleUNoYW5nZShldmVudCkge1xuICAgICAgICB0aGlzLmNsZWFyRmlsdGVycygpO1xuICAgICAgICB0aGlzLmZpbHRlckJ5RmVhdHVyZUtleXMgPSBldmVudC52YWx1ZTtcbiAgICAgICAgdGhpcy5nZXRVc2Vycyh7XG4gICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkRlbGV0ZSh1c2VyOiBVc2VyKSB7XG4gICAgICAgIHRoaXMudXNlclRvRGVsZXRlID0gdXNlcjtcbiAgICAgICAgdGhpcy5wYXNzd29yZFZhbGlkYXRpb25Nb2RhbEZvclVzZXJEZWxldGUub3BlbigpO1xuICAgIH1cblxuICAgIGRlbGV0ZVVzZXIoX2V2bnQpIHtcbiAgICAgICAgdGhpcy5hZG1pblNlcnZpY2VcbiAgICAgICAgICAgIC5kZWxldGVVc2VyKHRoaXMudXNlclRvRGVsZXRlLmlkLCB0aGlzLnN1YnNjcmlwdGlvbklkKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VycyA9IHRoaXMudXNlcnMuZmlsdGVyKHggPT4geC5pZCAhPT0gdGhpcy51c2VyVG9EZWxldGUuaWQpO1xuICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyLnN1Y2Nlc3ModGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ0FkbWluLlVzZXJzLkRlbGV0ZWRNZXNzYWdlJykpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRVc2Vycyh7XG4gICAgICAgICAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkVcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYWRkKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJUb0RlbGV0ZSA9IG51bGw7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkltcGVyc29uYXRlKHVzZXI6IFVzZXIpIHtcbiAgICAgICAgdGhpcy51c2VyVG9JbXBlcnNvbmF0ZSA9IHVzZXI7XG4gICAgICAgIHRoaXMucGFzc3dvcmRWYWxpZGF0aW9uTW9kYWxGb3JJbXBlcnNvbmF0ZS5vcGVuKCk7XG4gICAgfVxuXG4gICAgb25Vc2VySW1wZXJzb25hdGlvbihfZXZlbnQpIHtcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5wbGF0Zm9ybSQuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICBjb25zdCBwbGF0Zm9ybSA9IHJlcztcbiAgICAgICAgICAgIHRoaXMuYXV0aFNlcnZpY2VcbiAgICAgICAgICAgICAgICAuaW1wZXJzb25hdGVVc2VyKHtcbiAgICAgICAgICAgICAgICAgICAgZW1haWw6IHRoaXMudXNlclRvSW1wZXJzb25hdGUuZW1haWwsXG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbl9pZDogUGVybWlzc2lvblNlcnZpY2Uuc2VsZWN0ZWRTdWJzY3JpcHRpb24uaWQsXG4gICAgICAgICAgICAgICAgICAgIHBob25lZ2FwOiBwbGF0Zm9ybSAhPT0gJ2Jyb3dzZXInXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKF8gPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3MoYFlvdSdyZSBub3cgYmVpbmcgbG9nZ2VkIGluIGFzIGFub3RoZXIgdXNlci4uLmApO1xuICAgICAgICAgICAgICAgICAgICAvLyB3YWl0IGZvciAyIHNlYyBiZWZvcmUgcmVkaXJlY3RpbmcgdXNlciB0byBob21lIHBhZ2VcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLndpbmRvd1NlcnZpY2UucmVwbGFjZVVybCgnL2hvbWUnKTtcbiAgICAgICAgICAgICAgICAgICAgfSwgMjAwMCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xuICAgICAgICBjb25zdCB2YWwgPSB7XG4gICAgICAgICAgICBzZWFyY2hUZXh0OiB0aGlzLnNlYXJjaFRleHQsXG4gICAgICAgICAgICBmaWx0ZXJCeUZlYXR1cmVLZXlzOiB0aGlzLmZpbHRlckJ5RmVhdHVyZUtleXMsXG4gICAgICAgICAgICBmaWx0ZXJCeVJvbGVzOiB0aGlzLmZpbHRlckJ5Um9sZXMsXG4gICAgICAgICAgICBmaWx0ZXJCeVByb2R1Y3RzOiB0aGlzLmZpbHRlckJ5UHJvZHVjdHMsXG4gICAgICAgICAgICBzZWxlY3RlZE9wdGlvbjogdGhpcy5zZWxlY3RlZE9wdGlvbixcbiAgICAgICAgICAgIHNlYXJjaERhdGFTb3VyY2U6IHRoaXMuc2VhcmNoRGF0YVNvdXJjZVxuICAgICAgICB9O1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndXNlci1saXN0LXN0YXRlJywgSlNPTi5zdHJpbmdpZnkodmFsKSk7XG4gICAgICAgIGNvbnN0IG5vdGlmaWVyID0gbmV3IFN1YmplY3QoKTtcbiAgICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUodGFrZVVudGlsKG5vdGlmaWVyKSkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWV2ZW50LnVybEFmdGVyUmVkaXJlY3RzLmluY2x1ZGVzKCcvdXNlcicpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0kKCd1c2VyLWxpc3Qtc3RhdGUnKTtcbiAgICAgICAgICAgICAgICAgICAgbm90aWZpZXIubmV4dCgnJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBkaXNhYmxlMmZhKGlkOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5yZW1vdmUyZmFVc2VySWQgPSBpZDtcbiAgICAgICAgdGhpcy5wYXNzd29yZFZhbGlkYXRpb25Nb2RhbEZvclJlbW92ZTJmYS5vcGVuKCk7XG4gICAgfVxuXG4gICAgcmVtb3ZlMmZhKF9ldmVudCkge1xuICAgICAgICB0aGlzLmFkbWluU2VydmljZS5yZW1vdmUyZmEodGhpcy5yZW1vdmUyZmFVc2VySWQsIHRoaXMuc3Vic2NyaXB0aW9uSWQpLnN1YnNjcmliZSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgPGRpdiBjbGFzcz1cImNvbC0xMiBjcmVhdGUtdXNlciBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIG15LTNcIj5cbiAgICA8aDIgY2xhc3M9XCJjYXJkLXRpdGxlIHAtMCBmbG9hdC1zdGFydFwiPlVzZXJzPC9oMj5cbiAgICA8YSBjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUtcHJpbWFyeSBmbG9hdC1lbmRcIlxuICAgICAgaWQ9XCJidG4tY3JlYXRlXCJcbiAgICAgICpyYmFjQWxsb3c9XCInU3VwZXJBZG1pbidcIlxuICAgICAgW3JvdXRlckxpbmtdPVwiW3JvdXRlcnMudXNlcnNEZXRhaWxzICsgJ2FkZCddXCI+XG4gICAgICA8aSBjbGFzcz1cImZhIGZhLXBsdXMtY2lyY2xlXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPiBDcmVhdGUgVXNlclxuICAgIDwvYT5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJwcmltZW5nLWRhdGF0YWJsZS1jb250YWluZXIgbXQtMFwiPlxuICA8ZGl2IGNsYXNzPVwidXNlci1tYW5hZ2VtZW50LXRhYmxlIHRhYmxlLXJlc3BvbnNpdmVcIj5cbiAgICA8cC10YWJsZSAjZHRcbiAgICAgIFt2YWx1ZV09XCJ1c2Vyc1wiXG4gICAgICBbcGFnaW5hdG9yXT1cInRydWVcIlxuICAgICAgW2xhenldPVwidHJ1ZVwiXG4gICAgICBbcm93c109XCJQQUdFX1NJWkVcIlxuICAgICAgW3Jlc3BvbnNpdmVdPVwidHJ1ZVwiXG4gICAgICBbdG90YWxSZWNvcmRzXT1cInRvdGFsUmVjb3Jkc1wiXG4gICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgIFtmaWx0ZXJEZWxheV09XCIxMDAwXCJcbiAgICAgIChvbkxhenlMb2FkKT1cIm9uTGF6eUxvYWQoJGV2ZW50KVwiXG4gICAgICBbY3VzdG9tU29ydF09XCJ0cnVlXCI+XG4gICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY2FwdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWZpbHRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNFwiPlxuICAgICAgICAgICAgPHAtbXVsdGlTZWxlY3QgW29wdGlvbnNdPVwic2VhcmNoT3B0aW9uc1wiXG4gICAgICAgICAgICAgIChvbkNoYW5nZSk9XCJvblNlYXJjaE9wdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJGaWx0ZXIgdXNlcnMgYnkgcm9sZSwgcHJvZHVjdCwgb3IgZmVhdHVyZVwiXG4gICAgICAgICAgICAgIFtzZWxlY3Rpb25MaW1pdF09XCIxXCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJTb3VyY2VcIlxuICAgICAgICAgICAgICBbc2hvd1RvZ2dsZUFsbF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW3Nob3dIZWFkZXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiPlxuICAgICAgICAgICAgPC9wLW11bHRpU2VsZWN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNFwiXG4gICAgICAgICAgICAqbmdJZj1cInNlbGVjdGVkT3B0aW9uXCI+XG4gICAgICAgICAgICA8cC1tdWx0aVNlbGVjdCBbb3B0aW9uc109XCJzZWFyY2hEYXRhU291cmNlXCJcbiAgICAgICAgICAgICAgKG9uQ2hhbmdlKT1cIm9uU2VhcmNoQ3JpdGVyaWEoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIFtzaG93VG9nZ2xlQWxsXT1cInRydWVcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNyaXRlcmlhXCJcbiAgICAgICAgICAgICAgW3Nob3dIZWFkZXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IHt7IHNlbGVjdGVkT3B0aW9uLnZhbHVlIH19c1wiXG4gICAgICAgICAgICAgIG1heFNlbGVjdGVkTGFiZWxzPVwiMlwiXG4gICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiPlxuICAgICAgICAgICAgPC9wLW11bHRpU2VsZWN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWVuZFwiPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1zZWFyY2ggbXQtMiBtZS0yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXh0XCJcbiAgICAgICAgICAgICAgcElucHV0VGV4dFxuICAgICAgICAgICAgICBzaXplPVwiNTBcIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBVc2VyLi4uXCJcbiAgICAgICAgICAgICAgZGF0YS1jeT1cInVzZXItc2VhcmNoXCJcbiAgICAgICAgICAgICAgKGlucHV0KT1cImR0LmZpbHRlckdsb2JhbCgkZXZlbnQudGFyZ2V0LnZhbHVlLCAnY29udGFpbnMnKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwid2QtOTBcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICAgIDx0cj5cbiAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cImlkXCI+XG4gICAgICAgICAgICB7eyAnQWRtaW4uVXNlcnMuSWQnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cImlkXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJmaXJzdF9uYW1lXCI+XG4gICAgICAgICAgICB7eyAnTGFiZWwuRmlyc3ROYW1lJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJmaXJzdF9uYW1lXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJsYXN0X25hbWVcIj5cbiAgICAgICAgICAgIHt7ICdMYWJlbC5MYXN0TmFtZScgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwibGFzdF9uYW1lXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJlbWFpbFwiPlxuICAgICAgICAgICAge3sgJ0xhYmVsLkVtYWlsJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJlbWFpbFwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwic2x1Z1wiPlxuICAgICAgICAgICAge3sgJ0FkbWluLlVzZXJzLlNsdWcnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cInNsdWdcIj48L3Atc29ydEljb24+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cImVuY3J5cHRlZF9wYXNzd29yZFwiPlxuICAgICAgICAgICAge3sgJ0FkbWluLlVzZXJzLkVtYWlsQ29uZmlybScgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwiZW5jcnlwdGVkX3Bhc3N3b3JkXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgIDwvdGg+XG5cbiAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cInNlc3Npb25zX2xhc3RfbW9udGhcIj5cbiAgICAgICAgICAgIHt7ICdBZG1pbi5TdWJzY3JpcHRpb25zLlNlc3Npb25zVG90YWxMYXN0TW9udGgnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cInNlc3Npb25zX2xhc3RfbW9udGhcIj48L3Atc29ydEljb24+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cImxhc3Rfc2lnbl9pbl9hdFwiPlxuICAgICAgICAgICAge3sgJ0FkbWluLlVzZXJzLkxhc3RMb2dpbicgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwibGFzdF9zaWduX2luX2F0XCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJzaWduZWRfdXBfYXRcIj5cbiAgICAgICAgICAgIHt7ICdBZG1pbi5Vc2Vycy5SZWdpc3RlcmVkT24nIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cInNpZ25lZF91cF9hdFwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb25zLWxpc3QtZm91clwiPlxuICAgICAgICAgICAge3sgJ0xhYmVsLkFjdGlvbnMnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiXG4gICAgICAgIGxldC11c2VyPlxuICAgICAgICA8dHI+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cImlkXCI+IHt7IHVzZXIuaWQgfX08L3RkPlxuICAgICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJGaXJzdCBOYW1lXCI+PGEgW3JvdXRlckxpbmtdPVwiWycvbWVtYmVycycsIHVzZXIuc2x1Z11cIj57eyB1c2VyLmZpcnN0X25hbWUgfX08L2E+PC90ZD5cbiAgICAgICAgICA8dGQgZGF0YS1oZWFkPVwiTGFzdCBOYW1lXCI+e3sgdXNlci5sYXN0X25hbWUgfX1cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidXNlcj8uYWxwaGFcIlxuICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwiJ0FkbWluLlVzZXJzLlRvb2x0aXAuQWxwaGFJY29uJ3x0cmFuc2xvY29cIlxuICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3BcIj5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1yZWd1bGFyIGZhLXNxdWFyZS1hIGFscGhhLWJldGEgdGV4dC13YXJuaW5nXCI+PC9pPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJ1c2VyPy5iZXRhXCJcbiAgICAgICAgICAgICAgW3BUb29sdGlwXT1cIidBZG1pbi5Vc2Vycy5Ub29sdGlwLkJldGFJY29uJ3x0cmFuc2xvY29cIlxuICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3BcIj5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1yZWd1bGFyIGZhLXNxdWFyZS1iIGFscGhhLWJldGEgdGV4dC1wcmltYXJ5XCIgPjwvaT5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJFbWFpbFwiPnt7IHVzZXIuZW1haWwgfX08L3RkPlxuICAgICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJTbHVnXCI+e3sgdXNlci5zbHVnIH19PC90ZD5cbiAgICAgICAgICA8dGQgZGF0YS1oZWFkPVwiRW1haWwgQ29uZmlybVwiPlxuICAgICAgICAgICAgPHNwYW4gW2FwcER5bmFtaWNCYWRnZV09XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zQXJyYXk6IFt0cnVlLCBmYWxzZV0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW06IHVzZXI/Lmhhc19wYXNzd29yZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICBjb2xvcj1cInN1Y2Nlc3MtZGFuZ2VyXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJiYWRnZVwiPnt7IHVzZXI/Lmhhc19wYXNzd29yZCA/ICdZZXMnIDogJ05vJyB9fTwvc3Bhbj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJTL20gI1wiPlxuICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RleHQtZGFuZ2VyIGZ3LWJvbGQnOiB1c2VyPy5zZXNzaW9uc19sYXN0X21vbnRoIDwgM1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+e3sgdXNlcj8uc2Vzc2lvbnNfbGFzdF9tb250aCB9fTwvc3Bhbj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJMYXN0IExvZ2luXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInVzZXI/LmN1cnJlbnRfc2lnbl9pbl9hdDtlbHNlIGxhc3RTaWduaW5cIj5cbiAgICAgICAgICAgICAge3sgdXNlci5jdXJyZW50X3NpZ25faW5fYXQgIHwgZGF0ZUZvcm1hdCB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsYXN0U2lnbmluPlxuICAgICAgICAgICAgICB7eyB1c2VyLmxhc3Rfc2lnbl9pbl9hdCB8IGRhdGVGb3JtYXQgfX1cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQgZGF0YS1oZWFkPVwiUmVnaXN0ZXJlZCBPblwiPnt7IHVzZXIuc2lnbmVkX3VwX2F0IHwgZGF0ZUZvcm1hdCB9fTwvdGQ+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIkFjdGlvblwiPlxuICAgICAgICAgICAgPHVsIGNsYXNzPVwibGlzdC11bnN0eWxlZCBsaXN0LWlubGluZVwiPlxuICAgICAgICAgICAgICA8bGkgbmdiVG9vbHRpcD1cIkltcGVyc29uYXRlIHRoaXMgdXNlclwiXG4gICAgICAgICAgICAgICAgKnJiYWNBbGxvdz1cIidQYWdlcy5BbHBoYSdcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWUtMiBtZS1zbS0zXCI+XG4gICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZhcyBmYS1wZW9wbGUtYXJyb3dzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25JbXBlcnNvbmF0ZSh1c2VyKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2k+XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJ1c2VyPy5lbmFibGVfdHdvX2ZhY3Rvcl9hdXRoZW50aWNhdG9yXCI+XG4gICAgICAgICAgICAgICAgPGxpIG5nYlRvb2x0aXA9XCJEaXNhYmxlIDJmYVwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGlzYWJsZTJmYSh1c2VyPy5pZClcIlxuICAgICAgICAgICAgICAgICAgKnJiYWNBbGxvdz1cIidQYWdlcy5BbHBoYSdcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZS0yIG1lLXNtLTNcIj5cbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtbG9ja1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiY3VycmVudFVzZXIgJiYgdXNlci5pZCAhPT0gY3VycmVudFVzZXIuaWRcIj5cbiAgICAgICAgICAgICAgICA8bGkgbmdiVG9vbHRpcD1cIk1lc3NhZ2VcIlxuICAgICAgICAgICAgICAgICAgKnJiYWNBbGxvdz1cImNoYXRQZXJtaXNzaW9uXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWUtMiBtZS1zbS0zXCJcbiAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsnL21lc3NhZ2UnXVwiXG4gICAgICAgICAgICAgICAgICBbZnJhZ21lbnRdPVwidXNlci5zbHVnXCI+XG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWNvbW1lbnRzIGN0YTEtaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8bGkgbmdiVG9vbHRpcD1cIkVkaXRcIlxuICAgICAgICAgICAgICAgICpyYmFjQWxsb3c9XCInUGFnZXMuQWRtaW4uVXNlcnMuRWRpdCdcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWUtMiBtZS1zbS0zXCJcbiAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbcm91dGVycy51c2Vyc0RldGFpbHMgKyB1c2VyLmlkXVwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZWRpdCBlZGl0LWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgIDxsaSBuZ2JUb29sdGlwPVwiRGVsZXRlXCJcbiAgICAgICAgICAgICAgICAqcmJhY0FsbG93PVwiJ1BhZ2VzLkFkbWluLlVzZXJzLkRlbGV0ZSdcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWUtMiBtZS1zbS0zXCI+XG4gICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmEgZmEtdHJhc2ggZGVsZXRlLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGVsZXRlKHVzZXIpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2k+XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvcC10YWJsZT5cbiAgICA8c3BhbiBjbGFzcz1cInRvdGFsLXJlY29yZHMtY291bnRcIj57eyAnTGFiZWwuVG90YWwnIHwgdHJhbnNsb2NvIH19OiB7eyB0b3RhbFJlY29yZHMgfX08L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG48IS0tIHBhc3N3b3JkIHZhbGlkYXRpb24gbW9kYWwgZm9yIGRlbGV0ZSB1c2VyIC0tPlxuPHB3LXBhc3N3b3JkLXZhbGlkYXRpb24gI3Bhc3N3b3JkVmFsaWRhdGlvbk1vZGFsRm9yVXNlckRlbGV0ZVxuICAoc3VjY2Vzc0V2ZW50KT1cImRlbGV0ZVVzZXIoJGV2ZW50KVwiPlxuICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgPHA+e3sgJ1VzZXIuQWNjb3VudC5NZXNzYWdlLkFjdGlvbkNhbk5vdFVuZG9uZScgfCB0cmFuc2xvY28gfX08L3A+XG4gICAgICA8cD57eyAnVXNlci5BY2NvdW50Lk1lc3NhZ2UuQ29uZmlybVBhc3N3b3JkJyB8IHRyYW5zbG9jbyB9fTwvcD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3B3LXBhc3N3b3JkLXZhbGlkYXRpb24+XG48IS0tIHBhc3N3b3JkIHZhbGlkYXRvbiBtb2RhbCBmb3IgaW1wZXJzb25hdGUgLS0+XG48cHctcGFzc3dvcmQtdmFsaWRhdGlvbiAjcGFzc3dvcmRWYWxpZGF0aW9uTW9kYWxGb3JJbXBlcnNvbmF0ZVxuICAoc3VjY2Vzc0V2ZW50KT1cIm9uVXNlckltcGVyc29uYXRpb24oJGV2ZW50KVwiPlxuPC9wdy1wYXNzd29yZC12YWxpZGF0aW9uPlxuPCEtLSBwYXNzd29yZCB2YWxpZGF0b24gbW9kYWwgZm9yIHJlbW92ZTJmYSAtLT5cbjxwdy1wYXNzd29yZC12YWxpZGF0aW9uICNwYXNzd29yZFZhbGlkYXRpb25Nb2RhbEZvclJlbW92ZTJmYVxuICAoc3VjY2Vzc0V2ZW50KT1cInJlbW92ZTJmYSgkZXZlbnQpXCI+XG48L3B3LXBhc3N3b3JkLXZhbGlkYXRpb24+XG4iXX0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { PermissionService } from '@posiwise/common-services';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@posiwise/common-services";
|
|
5
|
+
import * as i2 from "@posiwise/shared-components";
|
|
6
|
+
export class UserTabComponent {
|
|
7
|
+
constructor(permission) {
|
|
8
|
+
this.permission = permission;
|
|
9
|
+
this.items = [
|
|
10
|
+
{
|
|
11
|
+
id: 'users',
|
|
12
|
+
label: 'Users',
|
|
13
|
+
icon: 'fa fa-fw fa-user-cog',
|
|
14
|
+
routerLink: ['/admin/users/list'],
|
|
15
|
+
visible: this.permission.evaluatePermissions('Pages.Admin.Users.Edit || Pages.Admin.Users.Create')
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
id: 'insight',
|
|
19
|
+
label: 'Insight',
|
|
20
|
+
icon: 'fa fa-fw fa-signature',
|
|
21
|
+
routerLink: ['/admin/users/insight']
|
|
22
|
+
}
|
|
23
|
+
];
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
UserTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: UserTabComponent, deps: [{ token: i1.PermissionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
+
UserTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: UserTabComponent, selector: "pw-users-management", ngImport: i0, template: `<pw-tabs [items]="items"></pw-tabs>`, isInline: true, styles: [".search-input input{width:100%}\n"], dependencies: [{ kind: "component", type: i2.PwTabsComponent, selector: "pw-tabs", inputs: ["items", "withSubscription"] }] });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: UserTabComponent, decorators: [{
|
|
29
|
+
type: Component,
|
|
30
|
+
args: [{ selector: 'pw-users-management', template: `<pw-tabs [items]="items"></pw-tabs>`, styles: [".search-input input{width:100%}\n"] }]
|
|
31
|
+
}], ctorParameters: function () { return [{ type: i1.PermissionService }]; } });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMtdGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvdXNlcnMvdXNlcnMtdGFicy91c2Vycy10YWJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBTzlELE1BQU0sT0FBTyxnQkFBZ0I7SUFDekIsWUFBb0IsVUFBNkI7UUFBN0IsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFFakQsVUFBSyxHQUFlO1lBQ2hCO2dCQUNJLEVBQUUsRUFBRSxPQUFPO2dCQUNYLEtBQUssRUFBRSxPQUFPO2dCQUNkLElBQUksRUFBRSxzQkFBc0I7Z0JBQzVCLFVBQVUsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUNqQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FDeEMsb0RBQW9ELENBQ3ZEO2FBQ0o7WUFDRDtnQkFDSSxFQUFFLEVBQUUsU0FBUztnQkFDYixLQUFLLEVBQUUsU0FBUztnQkFDaEIsSUFBSSxFQUFFLHVCQUF1QjtnQkFDN0IsVUFBVSxFQUFFLENBQUMsc0JBQXNCLENBQUM7YUFDdkM7U0FDSixDQUFDO0lBbEJrRCxDQUFDOzs2R0FENUMsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsMkRBSGYscUNBQXFDOzJGQUd0QyxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0kscUJBQXFCLFlBQ3JCLHFDQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICdwcmltZW5nL2FwaSc7XG5cbmltcG9ydCB7IFBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi1zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctdXNlcnMtbWFuYWdlbWVudCcsXG4gICAgdGVtcGxhdGU6IGA8cHctdGFicyBbaXRlbXNdPVwiaXRlbXNcIj48L3B3LXRhYnM+YCxcbiAgICBzdHlsZVVybHM6IFsnLi91c2Vycy10YWJzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVXNlclRhYkNvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBwZXJtaXNzaW9uOiBQZXJtaXNzaW9uU2VydmljZSkge31cblxuICAgIGl0ZW1zOiBNZW51SXRlbVtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ3VzZXJzJyxcbiAgICAgICAgICAgIGxhYmVsOiAnVXNlcnMnLFxuICAgICAgICAgICAgaWNvbjogJ2ZhIGZhLWZ3IGZhLXVzZXItY29nJyxcbiAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL2FkbWluL3VzZXJzL2xpc3QnXSxcbiAgICAgICAgICAgIHZpc2libGU6IHRoaXMucGVybWlzc2lvbi5ldmFsdWF0ZVBlcm1pc3Npb25zKFxuICAgICAgICAgICAgICAgICdQYWdlcy5BZG1pbi5Vc2Vycy5FZGl0IHx8IFBhZ2VzLkFkbWluLlVzZXJzLkNyZWF0ZSdcbiAgICAgICAgICAgIClcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdpbnNpZ2h0JyxcbiAgICAgICAgICAgIGxhYmVsOiAnSW5zaWdodCcsXG4gICAgICAgICAgICBpY29uOiAnZmEgZmEtZncgZmEtc2lnbmF0dXJlJyxcbiAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL2FkbWluL3VzZXJzL2luc2lnaHQnXVxuICAgICAgICB9XG4gICAgXTtcblxuICAgIHZpZXc6IGFueVtdO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC11cy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL3NoYXJlZC9pbnRlcmZhY2UvY29udGFjdC11cy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImludGVyZmFjZSBDb250YWN0VXMge1xuICAgIGlkOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgc3ViamVjdDogc3RyaW5nO1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICBjcmVhdGVkX2F0OiBzdHJpbmc7XG4gICAgcHJvZHVjdF9pZDogbnVtYmVyO1xuICAgIGNsb3NlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb250YWN0VXNSZXNwb25zZSB7XG4gICAgY29udGFjdF9yZXF1ZXN0OiBDb250YWN0VXNbXTtcbiAgICBvYmplY3RfY291bnQ6IG51bWJlcjtcbiAgICB1bmZpbHRlcmVkX2NvdW50OiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL3NoYXJlZC9pbnRlcmZhY2UvY3JlZGVudGlhbC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ3JlZGVudGlhbCB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZmllbGQ6IHN0cmluZztcbiAgICBhY3RpdmU6IGJvb2xlYW47XG4gICAgaXNfdmlzaWJsZTogYm9vbGVhbjtcbiAgICBpc19yZXF1aXJlZDogYm9vbGVhbjtcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWRlbnRpYWxSZXNwb25zZSB7XG4gICAgY3JlZGVudGlhbHM6IENyZWRlbnRpYWxbXTtcbiAgICBvYmplY3RfY291bnQ6IG51bWJlcjtcbiAgICB1bmZpbHRlcmVkX2NvdW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uQ3JlZGVudGlhbERldGFpbCB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBzdWJzY3JpcHRpb25faWQ6IG51bWJlcjtcbiAgICBjcmVkZW50aWFsX2lkOiBudW1iZXI7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZmllbGQ6IHN0cmluZztcbiAgICBhY3RpdmU6IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBTdWJzY3JpcHRpb25DcmVkZW50aWFsIHtcbiAgICBpZDogbnVtYmVyO1xuICAgIHN1YnNjcmlwdGlvbl9pZDogbnVtYmVyO1xuICAgIGNyZWRlbnRpYWxfaWQ6IG51bWJlcjtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGNyZWRlbnRpYWw6IENyZWRlbnRpYWw7XG4gICAgc3Vic2NyaXB0aW9uOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uQ3JlZGVudGlhbFJlc3BvbnNlIHtcbiAgICBzdWJzY3JpcHRpb25fY3JlZGVudGlhbHM6IFN1YnNjcmlwdGlvbkNyZWRlbnRpYWxbXTtcbiAgICBvYmplY3RfY291bnQ6IG51bWJlcjtcbiAgICB1bmZpbHRlcmVkX2NvdW50OiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLWNvbmZpZy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL3NoYXJlZC9pbnRlcmZhY2UvZG9tYWluLWNvbmZpZy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImludGVyZmFjZSBMb2dvIHtcbiAgICB1cmw6IHN0cmluZztcbiAgICB2ZXJzaW9uXzIwMHgyMDA6IHsgdXJsOiBzdHJpbmcgfTtcbiAgICB2ZXJzaW9uXzEwMHgxMDA6IHsgdXJsOiBzdHJpbmcgfTtcbiAgICB2ZXJzaW9uXzUweDUwOiB7IHVybDogc3RyaW5nIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9tYWluQ29uZmlnIHtcbiAgICBpZDogbnVtYmVyO1xuICAgIGFjdGl2ZTogYm9vbGVhbjtcbiAgICBob3N0X25hbWU6IHN0cmluZztcbiAgICBpbnRlcm5hbF9wYXRoOiBzdHJpbmc7XG4gICAgc2hhcmRfbmFtZTogc3RyaW5nO1xuICAgIHNoYXJkX3VybDogc3RyaW5nO1xuICAgIGNvbXBhbnlfbmFtZTogc3RyaW5nO1xuICAgIGNvbXBhbnlfa2V5d29yZHM6IHN0cmluZztcbiAgICBjb21wYW55X2Rlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgY29tcGFueV9lbWFpbDogc3RyaW5nO1xuICAgIGNvbXBhbnlfdXJsOiBzdHJpbmc7XG4gICAgY29tcGFueV9waG9uZV9udW1iZXI6IHN0cmluZztcbiAgICBjb21wYW55X2NvdW50cnk6IHN0cmluZztcbiAgICBjb21wYW55X2FkZHJlc3M6IHN0cmluZztcbiAgICBjb21wYW55X2NpdHk6IHN0cmluZztcbiAgICBjb21wYW55X2NpdHlfY29kZTogc3RyaW5nO1xuICAgIGNvbXBhbnlfdmF0X251bWJlcjogc3RyaW5nO1xuICAgIGNvbXBhbnlfZmF2aWNvbl9wYXRoOiBzdHJpbmc7XG4gICAgdHdpdHRlcl9zZW9fY2FyZDogc3RyaW5nO1xuICAgIHR3aXR0ZXJfc2VvX3NpdGU6IHN0cmluZztcbiAgICB0d2l0dGVyX3Nlb19jcmVhdG9yOiBzdHJpbmc7XG4gICAgbWFzdGVyX3N1YnNjcmlwdGlvbl9wcm9kdWN0X2lkOiBudW1iZXI7XG4gICAgbWFzdGVyX3N1YnNjcmlwdGlvbl9pZDogbnVtYmVyO1xuICAgIGNhbl9yZWdpc3Rlcl90aHJvdWdoX21haW5fcGFnZTogYm9vbGVhbjtcbiAgICBtYWluX3Rvc19pZDogbnVtYmVyO1xuICAgIHNvY2lhbF9sb2dpbl9lbmFibGVkOiBib29sZWFuO1xuICAgIGlzX3Byb2R1Y3RfZG9tYWluOiBib29sZWFuO1xuICAgIGJsb2dfZmVhdHVyZV9rZXk6IHN0cmluZztcbiAgICBjcm1fc3Vic2NyaXB0aW9uX2lkOiBudW1iZXI7XG4gICAgY3JtX3NvdXJjZV9pZDogbnVtYmVyO1xuICAgIGNybV9wcm9kdWN0X2lkOiBudW1iZXI7XG4gICAgaW50ZWdyYXRpb25zX2RyaWZ0X2NvZGU6IHN0cmluZztcbiAgICBpbnRlZ3JhdGlvbnNfZmJfYXBwX2lkOiBzdHJpbmc7XG4gICAgaW50ZWdyYXRpb25zX2NhcHRjaGFfa2V5OiBzdHJpbmc7XG4gICAgaW50ZWdyYXRpb25zX2NhcHRjaGFfa2V5X1YyOiBzdHJpbmc7XG4gICAgaW50ZWdyYXRpb25zX2dvb2dsZV9hbmFseXRpY3M6IHN0cmluZztcbiAgICBpbnRlZ3JhdGlvbnNfZ29vZ2xlX2FwaV9rZXk6IHN0cmluZztcbiAgICBpbnRlZ3JhdGlvbnNfc2VudHJ5X2NvbmZpZ19kbnM6IHN0cmluZztcbiAgICBvYXV0aF9sb2dpbl9nb29nbGVfY2xpZW50X2lkOiBzdHJpbmc7XG4gICAgb2F1dGhfbG9naW5fZmFjZWJvb2tfY2xpZW50X2lkOiBzdHJpbmc7XG4gICAgb2F1dGhfbG9naW5fbGlua2VkaW5fY2xpZW50X2lkOiBzdHJpbmc7XG4gICAgb2F1dGhfbG9naW5fbWljcm9zb2Z0X2NsaWVudF9pZDogc3RyaW5nO1xuICAgIGNvbXBhbnlfdGl0bGU6IHN0cmluZztcbiAgICBjb21wYW55X2hlYWRlcjogc3RyaW5nO1xuICAgIGxpbmtlZGluX3VybDogc3RyaW5nO1xuICAgIHR3aXR0ZXJfdXJsOiBzdHJpbmc7XG4gICAgZmFjZWJvb2tfdXJsOiBzdHJpbmc7XG4gICAgeW91dHViZV91cmw6IHN0cmluZztcbiAgICBmcmVlbWl1bV9qb2luX21lc3NhZ2U6IHN0cmluZztcbiAgICBmcmVlbWl1bV9wcm9kdWN0X2lkOiBudW1iZXI7XG4gICAgdHJpYWxfam9pbl9tZXNzYWdlOiBzdHJpbmc7XG4gICAgdHJpYWxfcHJvZHVjdF9pZDogbnVtYmVyO1xuICAgIGxvZ29fbWFpbjogTG9nbztcbiAgICBsb2dvX21haW5fZGFyazogTG9nbztcbiAgICBsb2dvX21haW5fY29udHJhc3Q6IExvZ287XG4gICAgY29sb3JfY29kZV9maXJzdDogc3RyaW5nO1xuICAgIGNvbG9yX2NvZGVfc2Vjb25kOiBzdHJpbmc7XG4gICAgY29sb3JfY29kZV90aGlyZDogc3RyaW5nO1xuICAgIGNvbG9yX2NvZGVfdGl0bGVzOiBzdHJpbmc7XG4gICAgY29sb3JfY29kZV90ZXh0OiBzdHJpbmc7XG4gICAgY29sb3JfY29kZV90YWJzX2JnOiBzdHJpbmc7XG4gICAgY29sb3JfY29kZV90YWJzX3RleHQ6IHN0cmluZztcbiAgICBjb2xvcl9jb2RlX3NpZGViYXJfYmc6IHN0cmluZztcbiAgICBjb2xvcl9jb2RlX3NpZGViYXJfdGV4dDogc3RyaW5nO1xuICAgIHRyaWFsX2ltYWdlOiBMb2dvO1xuICAgIHRyaWFsX2ltYWdlMjogTG9nbztcbiAgICB0cmlhbF9pbWFnZV9iZzogTG9nbztcbiAgICB0cmlhbF92aWRlb191cmw6IG51bGw7XG4gICAgdHJpYWxfYm9va19kZW1vX3VybDogc3RyaW5nO1xuICAgIHRyaWFsX2NybV9zb3VyY2VfaWQ6IG51bWJlcjtcbiAgICB0cmlhbF9wZGZfc291cmNlX2lkOiBudW1iZXI7XG4gICAgZnJlZW1pdW1faW1hZ2U6IExvZ287XG4gICAgZnJlZW1pdW1faW1hZ2UyOiBMb2dvO1xuICAgIGZyZWVtaXVtX2ltYWdlX2JnOiBMb2dvO1xuICAgIGZyZWVtaXVtX3ZpZGVvX3VybDogc3RyaW5nO1xuICAgIGZyZWVtaXVtX2Jvb2tfZGVtb191cmw6IHN0cmluZztcbiAgICBmcmVlbWl1bV9jcm1fc291cmNlX2lkOiBudW1iZXI7XG4gICAgZnJlZW1pdW1fcGRmX3NvdXJjZV9pZDogbnVtYmVyO1xuICAgIGNzX2ltYWdlOiBMb2dvO1xuICAgIGNzX2ltYWdlMjogTG9nbztcbiAgICBjc19pbWFnZV9iZzogTG9nbztcbiAgICBjc192aWRlb191cmw6IHN0cmluZztcbiAgICBjc19ib29rX2RlbW9fdXJsOiBzdHJpbmc7XG4gICAgY3NfY3JtX3NvdXJjZV9pZDogbnVtYmVyO1xuICAgIGNzX3BkZl9zb3VyY2VfaWQ6IG51bWJlcjtcbiAgICBjc19qb2luX21lc3NhZ2U6IHN0cmluZztcbiAgICBjc19wcm9kdWN0X2lkOiBudW1iZXI7XG4gICAgbG9nb19zcXVhcmVkX21haW46IExvZ287XG4gICAgbG9nb19zcXVhcmVkX2Rhcms6IExvZ287XG4gICAgbG9nb19zcXVhcmVkX2NvbnRyYXN0OiBMb2dvO1xuICAgIGNzX3BkZl9pbWFnZTogTG9nbztcbiAgICB0cmlhbF9wZGZfaW1hZ2U6IExvZ287XG4gICAgZnJlZW1pdW1fcGRmX2ltYWdlOiBMb2dvO1xuICAgIGZyZWVtaXVtX2ltYWdlX2JnMjogTG9nbztcbiAgICB0cmlhbF9pbWFnZV9iZzI6IExvZ287XG4gICAgY3NfaW1hZ2VfYmcyOiBMb2dvO1xuICAgIGZyZWVtaXVtX3BkZl9kb3dubG9hZF90ZXh0OiBzdHJpbmc7XG4gICAgdHJpYWxfcGRmX2Rvd25sb2FkX3RleHQ6IHN0cmluZztcbiAgICBjc19wZGZfZG93bmxvYWRfdGV4dDogc3RyaW5nO1xuICAgIG5vdGlmeV9sb2dpbnM6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9tYWluQ29uZmlnUmVzcG9uc2Uge1xuICAgIGRvbWFpbnM6IERvbWFpbkNvbmZpZ1tdO1xuICAgIG9iamVjdF9jb3VudDogbnVtYmVyO1xuICAgIHVuZmlsdGVyZWRfY291bnQ6IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZGJhY2stcXVlc3Rpb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9zaGFyZWQvaW50ZXJmYWNlL2ZlZWRiYWNrLXF1ZXN0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBGZWVkYmFja1F1ZXN0aW9uIHtcbiAgICBpZDogbnVtYmVyO1xuICAgIHF1ZXN0aW9uOiBzdHJpbmc7XG4gICAgcHJvZHVjdF9pZDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlZWRiYWNrUXVlc3Rpb25SZXNwb25zZSB7XG4gICAgZmVlZGJhY2tfcXVlc3Rpb25zOiBGZWVkYmFja1F1ZXN0aW9uW107XG4gICAgb2JqZWN0X2NvdW50OiBudW1iZXI7XG4gICAgdW5maWx0ZXJlZF9jb3VudDogbnVtYmVyO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWNvbmZpZy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL3NoYXJlZC9pbnRlcmZhY2UvZ2xvYmFsLWNvbmZpZy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsQ29uZmlnIHtcbiAgICBpZDogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZWZhdWx0OiBib29sZWFuO1xuICAgIGZpZWxkX3R5cGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHbG9iYWxDb25maWdSZXNwb25zZSB7XG4gICAgZ2xvYmFsX2NvbmZpZ3M6IEdsb2JhbENvbmZpZ1tdO1xuICAgIG9iamVjdF9jb3VudDogbnVtYmVyO1xuICAgIHVuZmlsdGVyZWRfY291bnQ6IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tbm90aWZpY2F0aW9uLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvc2hhcmVkL2ludGVyZmFjZS9sb2dpbi1ub3RpZmljYXRpb24uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbnRlcmZhY2UgTG9naW5Ob3RpZmljYXRpb24ge1xuICAgIGlkOiBudW1iZXI7XG4gICAgYm9keTogc3RyaW5nO1xuICAgIG5vdGlmaWNhdGlvbl90eXBlOiBzdHJpbmc7XG4gICAgdmlzaWJsZV91bnRpbDogc3RyaW5nO1xuICAgIHZpc2libGVfZnJvbTogc3RyaW5nO1xuICAgIHN1YnNjcmlwdGlvbl9pZDogbnVtYmVyO1xuICAgIGZlYXR1cmVfa2V5czogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9naW5Ob3RpZmljYXRpb25SZXNwb25zZSB7XG4gICAgbm90aWZpY2F0aW9uczogTG9naW5Ob3RpZmljYXRpb25bXTtcbiAgICBvYmplY3RfY291bnQ6IG51bWJlcjtcbiAgICB1bmZpbHRlcmVkX2NvdW50OiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3c2xldHRlci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL3NoYXJlZC9pbnRlcmZhY2UvbmV3c2xldHRlci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTmV3c0xldHRlciB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgYWN0aXZlOiBib29sZWFuO1xuICAgIHZpc2libGU6IGJvb2xlYW47XG4gICAgY29kZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5ld3NMZXR0ZXJSZXNwb25zZSB7XG4gICAgbmV3c2xldHRlcnM6IE5ld3NMZXR0ZXJbXTtcbiAgICBvYmplY3RfY291bnQ6IG51bWJlcjtcbiAgICB1bmZpbHRlcmVkX2NvdW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV3c0xldHRlclVzZXJSZXNwb25zZSB7XG4gICAgbmV3c2xldHRlcl91c2VyczogYW55W107XG4gICAgb2JqZWN0X2NvdW50OiBudW1iZXI7XG4gICAgdW5maWx0ZXJlZF9jb3VudDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5ld3NMZXR0ZXJJdGVtIHtcbiAgICBpZDogbnVtYmVyO1xuICAgIG5ld3NsZXR0ZXJfaWQ6IG51bWJlcjtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGJvZHk6IHN0cmluZztcbiAgICBtYWluX3RhZ19pZDogbnVtYmVyO1xuICAgIGxvY2F0aW9uOiBzdHJpbmc7XG4gICAgbGF0aXR1ZGU6IHN0cmluZztcbiAgICBsb25naXR1ZGU6IHN0cmluZztcbiAgICBpc19zZW50OiBib29sZWFuO1xuICAgIGlzX3B1c2hlZDogYm9vbGVhbjtcbiAgICBzZW5kX3VudGlsOiBzdHJpbmc7XG4gICAgcHJldmlvdXNfbmV3c2xldHRlcl9pdGVtX2lkOiBudW1iZXI7XG4gICAgZGF5c190b193YWl0X2Zyb21fcHJldmlvdXNfbmV3c2xldHRlcjogbnVtYmVyO1xuICAgIHNlbmRfYXQ6IHN0cmluZztcbiAgICBwcm9kdWN0X2lkczogbnVtYmVyW107XG4gICAgZmVhdHVyZV9rZXlzOiBhbnlbXTtcbiAgICBvbmx5X25ld191c2VyczogYm9vbGVhbjtcbiAgICB0YWdzOiBhbnlbXTtcbiAgICBuZXdzbGV0dGVyX25hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYWcge1xuICAgIGlkOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHRhZ19jYXRlZ29yeV9pZDogbnVtYmVyO1xuICAgIHRhZ190eXBlOiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL3NoYXJlZC9pbnRlcmZhY2UvcGVybWlzc2lvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUGVybWlzc2lvbiB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgYWN0aXZlOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBlcm1pc3Npb25SZXNwb25zZSB7XG4gICAgcGVybWlzc2lvbnM6IFBlcm1pc3Npb25bXTtcbiAgICBvYmplY3RfY291bnQ6IG51bWJlcjtcbiAgICB1bmZpbHRlcmVkX2NvdW50OiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmFjeS10b3MuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9zaGFyZWQvaW50ZXJmYWNlL3ByaXZhY3ktdG9zLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBQcml2YWN5VG9zIHtcbiAgICBpZDogbnVtYmVyO1xuICAgIHByaXZhY3k6IHN0cmluZztcbiAgICB0b3M6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHN1YnNjcmlwdGlvbl9pZDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByaXZhY3lUb3NSZXNwb25zZSB7XG4gICAgcHJvZHVjdF9wcml2YWN5X3NlcnZpY2VzOiBQcml2YWN5VG9zW107XG4gICAgb2JqZWN0X2NvdW50OiBudW1iZXI7XG4gICAgdW5maWx0ZXJlZF9jb3VudDogbnVtYmVyO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlwLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvc2hhcmVkL2ludGVyZmFjZS90aXAuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbnRlcmZhY2UgVGlwIHtcbiAgICBpZDogbnVtYmVyO1xuICAgIGFjdGl2ZTogYm9vbGVhbjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVsZXRlZF9hdDogc3RyaW5nO1xuICAgIGNyZWF0ZWRfYXQ6IHN0cmluZztcbiAgICB1cGRhdGVkX2F0OiBzdHJpbmc7XG4gICAgaW5zdHJ1Y3Rpb25zOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGlwUmVzcG9uc2Uge1xuICAgIHRpcHM6IFRpcFtdO1xuICAgIG9iamVjdF9jb3VudDogbnVtYmVyO1xuICAgIHVuZmlsdGVyZWRfY291bnQ6IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2tpbmcuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9zaGFyZWQvaW50ZXJmYWNlL3RyYWNraW5nLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFnaW5nIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tdXRpbGl0aWVzJztcblxuaW50ZXJmYWNlIEFob3lFdmVudCB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICB1c2VyX2lkOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHByb3BlcnRpZXM6IFBhZ2luZztcbiAgICB0aW1lOiBzdHJpbmc7XG4gICAgdmlzaXRfaWQ6IG51bWJlcjtcbiAgICB1c2VyOiBVc2VyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFob3lFdmVudFJlc3BvbnNlIHtcbiAgICBldmVudHM6IEFob3lFdmVudFtdO1xuICAgIG9iamVjdF9jb3VudDogbnVtYmVyO1xuICAgIHVuZmlsdGVyZWRfY291bnQ6IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIEFob3lNZXNzYWdlIHtcbiAgICBpZDogbnVtYmVyO1xuICAgIHRva2VuOiBzdHJpbmc7XG4gICAgdG86IHN0cmluZztcbiAgICB1c2VyX2lkOiBudW1iZXI7XG4gICAgdXNlcl90eXBlOiBzdHJpbmc7XG4gICAgbWFpbGVyOiBzdHJpbmc7XG4gICAgc3ViamVjdDogc3RyaW5nO1xuICAgIHV0bV9zb3VyY2U6IHN0cmluZztcbiAgICB1dG1fbWVkaXVtOiBzdHJpbmc7XG4gICAgdXRtX3Rlcm06IHN0cmluZztcbiAgICB1dG1fY29udGVudDogc3RyaW5nO1xuICAgIHV0bV9jYW1wYWlnbjogc3RyaW5nO1xuICAgIHNlbnRfYXQ6IHN0cmluZztcbiAgICBvcGVuZWRfYXQ6IHN0cmluZztcbiAgICBjbGlja2VkX2F0OiBzdHJpbmc7XG4gICAgb3Blbl9jb3VudDogbnVtYmVyO1xuICAgIGNsaWNrX2NvdW50OiBudW1iZXI7XG4gICAgdXNlcjogVXNlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBaG95TWVzc2FnZVJlc3BvbnNlIHtcbiAgICBtZXNzYWdlczogQWhveU1lc3NhZ2VbXTtcbiAgICBvYmplY3RfY291bnQ6IG51bWJlcjtcbiAgICB1bmZpbHRlcmVkX2NvdW50OiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBBaG95VmlzaXQge1xuICAgIGlkOiBudW1iZXI7XG4gICAgdmlzaXRfdG9rZW46IHN0cmluZztcbiAgICB2aXNpdG9yX3Rva2VuOiBzdHJpbmc7XG4gICAgdXNlcl9pZDogbnVtYmVyO1xuICAgIGlwOiBzdHJpbmc7XG4gICAgdXNlcl9hZ2VudDogc3RyaW5nO1xuICAgIHJlZmVycmVyOiBzdHJpbmc7XG4gICAgcmVmZXJyaW5nX2RvbWFpbjogc3RyaW5nO1xuICAgIGxhbmRpbmdfcGFnZTogc3RyaW5nO1xuICAgIGJyb3dzZXI6IHN0cmluZztcbiAgICBvczogc3RyaW5nO1xuICAgIGRldmljZV90eXBlOiBzdHJpbmc7XG4gICAgY291bnRyeTogc3RyaW5nO1xuICAgIHJlZ2lvbjogc3RyaW5nO1xuICAgIGNpdHk6IHN0cmluZztcbiAgICBwb3N0YWxfY29kZTogc3RyaW5nO1xuICAgIGxhdGl0dWRlOiBzdHJpbmc7XG4gICAgbG9uZ2l0dWRlOiBzdHJpbmc7XG4gICAgdXRtX3NvdXJjZTogc3RyaW5nO1xuICAgIHV0bV9tZWRpdW06IHN0cmluZztcbiAgICB1dG1fdGVybTogc3RyaW5nO1xuICAgIHV0bV9jb250ZW50OiBzdHJpbmc7XG4gICAgdXRtX2NhbXBhaWduOiBzdHJpbmc7XG4gICAgc3RhcnRlZF9hdDogc3RyaW5nO1xuICAgIHBsYXRmb3JtOiBzdHJpbmc7XG4gICAgdXNlcjogVXNlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBaG95VmlzaXRSZXNwb25zZSB7XG4gICAgdmlzaXRzOiBBaG95VmlzaXRbXTtcbiAgICBvYmplY3RfY291bnQ6IG51bWJlcjtcbiAgICB1bmZpbHRlcmVkX2NvdW50OiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBUcmFja0V2ZW50IHtcbiAgICBpZDogbnVtYmVyO1xuICAgIHVzZXJfaWQ6IG51bWJlcjtcbiAgICByZWxhdGVkX2VudGl0eV9pZDogbnVtYmVyO1xuICAgIHJlbGF0ZWRfZW50aXR5X3R5cGU6IHN0cmluZztcbiAgICBldmVudF90eXBlOiBzdHJpbmc7XG4gICAgY3JlYXRlZF9hdDogc3RyaW5nO1xuICAgIHVwZGF0ZWRfYXQ6IHN0cmluZztcbiAgICB1c2VyOiBVc2VyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYWNrRXZlbnRSZXNwb25zZSB7XG4gICAgZXZlbnRzOiBUcmFja0V2ZW50W107XG4gICAgb2JqZWN0X2NvdW50OiBudW1iZXI7XG4gICAgdW5maWx0ZXJlZF9jb3VudDogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgQWhveVZlcnNpb24ge1xuICAgIGl0ZW1faWQ6IG51bWJlcjtcbiAgICBpdGVtX3R5cGU6IHN0cmluZztcbiAgICBldmVudDogc3RyaW5nO1xuICAgIG9iamVjdDogYW55O1xuICAgIGNyZWF0ZWRfYXQ6IHN0cmluZztcbiAgICB1cGRhdGVkX2F0OiBzdHJpbmc7XG4gICAgd2hvZHVubml0OiBudW1iZXI7XG4gICAgYXV0aG9yOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWhveVZlcnNpb25SZXNwb25zZSB7XG4gICAgdmVyc2lvbnM6IEFob3lWZXJzaW9uW107XG4gICAgb2JqZWN0X2NvdW50OiBudW1iZXI7XG4gICAgdW5maWx0ZXJlZF9jb3VudDogbnVtYmVyO1xufVxuIl19
|