@openziti/ziti-console-lib 0.12.11 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/fonts/icomoon.eot +0 -0
- package/assets/fonts/icomoon.svg +6 -1
- package/assets/fonts/icomoon.ttf +0 -0
- package/assets/fonts/icomoon.woff +0 -0
- package/assets/fonts/icomoon.woff2 +0 -0
- package/assets/styles/global.scss +431 -24
- package/assets/styles/icons.scss +644 -0
- package/assets/svgs/Icon_Log_Logout.svg +43 -0
- package/assets/svgs/clients.svg +6 -0
- package/assets/svgs/ziti-logo.svg +23 -0
- package/esm2022/lib/ZAC_VERSION.mjs +4 -0
- package/esm2022/lib/default-app-config.mjs +5 -0
- package/esm2022/lib/features/card/card.component.mjs +4 -5
- package/esm2022/lib/features/card-list/card-list.component.mjs +2 -4
- package/esm2022/lib/features/config-editor/config-editor.component.mjs +2 -3
- package/esm2022/lib/features/confirm/confirm.component.mjs +4 -5
- package/esm2022/lib/features/creation-summary-dialog/creation-summary-dialog.component.mjs +2 -3
- package/esm2022/lib/features/custom-tags/custom-tags.component.mjs +4 -5
- package/esm2022/lib/features/data-table/cells/table-cell-menu/table-cell-menu.component.mjs +2 -3
- package/esm2022/lib/features/data-table/cells/table-cell-name/table-cell-name.component.mjs +2 -3
- package/esm2022/lib/features/data-table/cells/table-cell-select/table-cell-select.component.mjs +4 -5
- package/esm2022/lib/features/data-table/cells/table-cell-token/table-cell-token.component.mjs +2 -3
- package/esm2022/lib/features/data-table/column-headers/table-column-default/table-column-default.component.mjs +2 -3
- package/esm2022/lib/features/data-table/column-headers/table-column-filter/table-column-filter.component.mjs +2 -3
- package/esm2022/lib/features/data-table/column-headers/table-column-menu/table-column-menu.component.mjs +2 -3
- package/esm2022/lib/features/data-table/column-headers/table-column-select/table-column-select.component.mjs +4 -5
- package/esm2022/lib/features/data-table/data-table-filter.service.mjs +2 -3
- package/esm2022/lib/features/data-table/data-table.component.mjs +4 -5
- package/esm2022/lib/features/data-table/data-table.service.mjs +2 -3
- package/esm2022/lib/features/data-table/table-filter-bar/filter-bar.component.mjs +4 -5
- package/esm2022/lib/features/data-table/table-hidden-columns-bar/hidden-columns-bar.component.mjs +2 -3
- package/esm2022/lib/features/data-table/tooltips/os-tooltip.component.mjs +2 -3
- package/esm2022/lib/features/data-table/tooltips/sdk-tooltip.component.mjs +2 -3
- package/esm2022/lib/features/dynamic-widgets/boolean/boolean-toggle-input.component.mjs +2 -3
- package/esm2022/lib/features/dynamic-widgets/checkbox-list/checkbox-list-input.component.mjs +2 -3
- package/esm2022/lib/features/dynamic-widgets/forwarding-config/forwarding-config.component.mjs +2 -3
- package/esm2022/lib/features/dynamic-widgets/forwarding-config/forwarding-config.service.mjs +2 -3
- package/esm2022/lib/features/dynamic-widgets/number/number-input.component.mjs +2 -3
- package/esm2022/lib/features/dynamic-widgets/object/object.component.mjs +4 -5
- package/esm2022/lib/features/dynamic-widgets/password/password-input.component.mjs +2 -3
- package/esm2022/lib/features/dynamic-widgets/port-ranges/port-ranges.component.mjs +2 -3
- package/esm2022/lib/features/dynamic-widgets/protocol-address-port/protocol-address-port-input.component.mjs +2 -3
- package/esm2022/lib/features/dynamic-widgets/selector/selector-input.component.mjs +2 -3
- package/esm2022/lib/features/dynamic-widgets/string/string-input.component.mjs +2 -3
- package/esm2022/lib/features/dynamic-widgets/text-list/text-list-input.component.mjs +2 -3
- package/esm2022/lib/features/extendable/extendable.component.mjs +2 -3
- package/esm2022/lib/features/extendable/extensions-noop.service.mjs +3 -3
- package/esm2022/lib/features/header-bar/header-bar.component.mjs +105 -0
- package/esm2022/lib/features/json-view/json-view.component.mjs +4 -5
- package/esm2022/lib/features/list-page-features/list-page-form/list-page-form.component.mjs +2 -3
- package/esm2022/lib/features/list-page-features/list-page-header/list-page-header.component.mjs +4 -5
- package/esm2022/lib/features/loading-indicator/loading-indicator.component.mjs +2 -3
- package/esm2022/lib/features/login/login-dialog.component.mjs +10 -12
- package/esm2022/lib/features/messaging/growler.component.mjs +4 -5
- package/esm2022/lib/features/messaging/growler.module.mjs +2 -3
- package/esm2022/lib/features/messaging/growler.service.mjs +2 -3
- package/esm2022/lib/features/messaging/logger.service.mjs +2 -3
- package/esm2022/lib/features/multi-action-button/multi-action-button.component.mjs +2 -3
- package/esm2022/lib/features/no-items/no-items.component.mjs +2 -3
- package/esm2022/lib/features/overrides/overrides.component.mjs +2 -3
- package/esm2022/lib/features/overrides/overrides.service.mjs +2 -3
- package/esm2022/lib/features/preview-list/preview-list.component.mjs +4 -5
- package/esm2022/lib/features/preview-selections/preview-selections.component.mjs +2 -3
- package/esm2022/lib/features/progress-meter/progress-meter.component.mjs +2 -3
- package/esm2022/lib/features/progress-wizard/progress-wizard.component.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/api-session/api-session-form.component.mjs +5 -9
- package/esm2022/lib/features/projectable-forms/api-session/api-session-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/auth-policy/auth-policy-form.component.mjs +5 -9
- package/esm2022/lib/features/projectable-forms/auth-policy/auth-policy-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/certificate-authority/certificate-authority-form.component.mjs +5 -9
- package/esm2022/lib/features/projectable-forms/certificate-authority/certificate-authority-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.component.mjs +4 -8
- package/esm2022/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/config-type/config-type-form.component.mjs +5 -9
- package/esm2022/lib/features/projectable-forms/config-type/config-type-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/configuration/configuration-form.component.mjs +5 -9
- package/esm2022/lib/features/projectable-forms/configuration/configuration.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/edge-router/edge-router-form.component.mjs +34 -26
- package/esm2022/lib/features/projectable-forms/edge-router/edge-router-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.mjs +8 -12
- package/esm2022/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/form-field-container/form-field-container.component.mjs +4 -5
- package/esm2022/lib/features/projectable-forms/form-field-toggle/form-field-toggle.component.mjs +4 -5
- package/esm2022/lib/features/projectable-forms/form-header/form-header.component.mjs +4 -5
- package/esm2022/lib/features/projectable-forms/identity/identity-form.component.mjs +6 -12
- package/esm2022/lib/features/projectable-forms/identity/identity-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/jwt-signer/jwt-signer-form.component.mjs +5 -12
- package/esm2022/lib/features/projectable-forms/jwt-signer/jwt-signer-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/posture-check/posture-check-form.component.mjs +5 -9
- package/esm2022/lib/features/projectable-forms/posture-check/posture-check-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/projectable-form.class.mjs +36 -74
- package/esm2022/lib/features/projectable-forms/service/service-form.component.mjs +5 -8
- package/esm2022/lib/features/projectable-forms/service/service-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/service/simple-service/simple-service.component.mjs +57 -24
- package/esm2022/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.mjs +8 -12
- package/esm2022/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.component.mjs +8 -12
- package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/session/session-form.component.mjs +5 -9
- package/esm2022/lib/features/projectable-forms/session/session-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/terminator/terminator-form.component.mjs +4 -8
- package/esm2022/lib/features/projectable-forms/terminator/terminator-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/transit-router/transit-router-form.component.mjs +7 -11
- package/esm2022/lib/features/projectable-forms/transit-router/transit-router-form.service.mjs +2 -3
- package/esm2022/lib/features/qr-code/qr-code.component.mjs +4 -5
- package/esm2022/lib/features/quick-add/quick-add.component.mjs +50 -0
- package/esm2022/lib/features/reset-enrollment/reset-enrollment.component.mjs +4 -5
- package/esm2022/lib/features/reset-enrollment/reset-enrollment.service.mjs +2 -3
- package/esm2022/lib/features/side-modal/side-modal.component.mjs +2 -3
- package/esm2022/lib/features/side-navigator/side-navigator.component.mjs +127 -0
- package/esm2022/lib/features/sidebars/side-navbar/side-navbar.component.mjs +4 -5
- package/esm2022/lib/features/tag-selector/tag-selector.component.mjs +2 -3
- package/esm2022/lib/features/visualizer/identity-service-path/identity-service-path.component.mjs +2 -3
- package/esm2022/lib/features/visualizer/identity-service-path/identity-service-path.helper.mjs +2 -3
- package/esm2022/lib/features/visualizer/network-visualizer/network-visualizer.component.mjs +2 -3
- package/esm2022/lib/features/visualizer/network-visualizer/network-visualizer.helper.mjs +2 -3
- package/esm2022/lib/features/visualizer/network-visualizer/network-visualizer.treenodeprocessor.mjs +2 -3
- package/esm2022/lib/features/visualizer/visualizer-service.class.mjs +2 -3
- package/esm2022/lib/pages/api-sessions/api-sessions-page.component.mjs +2 -3
- package/esm2022/lib/pages/api-sessions/api-sessions-page.service.mjs +2 -3
- package/esm2022/lib/pages/attributes/attributes.component.mjs +104 -0
- package/esm2022/lib/pages/auth-policies/auth-policies-page.component.mjs +2 -3
- package/esm2022/lib/pages/auth-policies/auth-policies-page.service.mjs +4 -4
- package/esm2022/lib/pages/callback/callback.component.mjs +2 -3
- package/esm2022/lib/pages/certificate-authorities/certificate-authorities-page.component.mjs +2 -3
- package/esm2022/lib/pages/certificate-authorities/certificate-authorities-page.service.mjs +2 -3
- package/esm2022/lib/pages/config-types/config-types-page.component.mjs +2 -3
- package/esm2022/lib/pages/config-types/config-types-page.service.mjs +2 -3
- package/esm2022/lib/pages/configurations/configurations-page.component.mjs +2 -3
- package/esm2022/lib/pages/configurations/configurations-page.service.mjs +2 -3
- package/esm2022/lib/pages/edge-router-policies/edge-router-policies-page.component.mjs +6 -13
- package/esm2022/lib/pages/edge-router-policies/edge-router-policies-page.service.mjs +2 -3
- package/esm2022/lib/pages/edge-routers/edge-routers-page.component.mjs +5 -16
- package/esm2022/lib/pages/edge-routers/edge-routers-page.service.mjs +2 -4
- package/esm2022/lib/pages/geolocate/geolocate.component.mjs +130 -0
- package/esm2022/lib/pages/identities/identities-page.component.mjs +5 -16
- package/esm2022/lib/pages/identities/identities-page.service.mjs +2 -3
- package/esm2022/lib/pages/jwt-signers/jwt-signers-page.component.mjs +2 -3
- package/esm2022/lib/pages/jwt-signers/jwt-signers-page.service.mjs +2 -3
- package/esm2022/lib/pages/posture-checks/posture-checks-page.component.mjs +3 -4
- package/esm2022/lib/pages/posture-checks/posture-checks-page.service.mjs +2 -3
- package/esm2022/lib/pages/profile/profile.component.mjs +58 -0
- package/esm2022/lib/pages/service-edge-router-policies/service-edge-router-policies-page.component.mjs +6 -13
- package/esm2022/lib/pages/service-edge-router-policies/service-edge-router-policies-page.service.mjs +2 -3
- package/esm2022/lib/pages/service-policies/service-policies-page.component.mjs +6 -13
- package/esm2022/lib/pages/service-policies/service-policies-page.service.mjs +2 -3
- package/esm2022/lib/pages/services/services-page.component.mjs +6 -13
- package/esm2022/lib/pages/services/services-page.service.mjs +2 -3
- package/esm2022/lib/pages/sessions/sessions-page.component.mjs +2 -3
- package/esm2022/lib/pages/sessions/sessions-page.service.mjs +2 -3
- package/esm2022/lib/pages/settings/settings.component.mjs +61 -0
- package/esm2022/lib/pages/terminators/terminators-page.component.mjs +3 -4
- package/esm2022/lib/pages/terminators/terminators-page.service.mjs +2 -3
- package/esm2022/lib/pages/transit-routers/transit-routers-page.component.mjs +5 -16
- package/esm2022/lib/pages/transit-routers/transit-routers-page.service.mjs +2 -3
- package/esm2022/lib/safe.pipe.mjs +2 -3
- package/esm2022/lib/services/auth.service.mjs +2 -3
- package/esm2022/lib/services/console-events.service.mjs +2 -14
- package/esm2022/lib/services/csv-download.service.mjs +2 -3
- package/esm2022/lib/services/deactivate-guard.service.mjs +2 -3
- package/esm2022/lib/services/login-service.class.mjs +2 -3
- package/esm2022/lib/services/node-data.service.mjs +24 -3
- package/esm2022/lib/services/noop-login.service.mjs +2 -3
- package/esm2022/lib/services/schema.service.mjs +2 -3
- package/esm2022/lib/services/settings-service.class.mjs +5 -18
- package/esm2022/lib/services/settings.service.mjs +14 -11
- package/esm2022/lib/services/tab-name.service.mjs +9 -6
- package/esm2022/lib/services/validation.service.mjs +2 -3
- package/esm2022/lib/services/ziti-controller-data.service.mjs +18 -3
- package/esm2022/lib/services/ziti-data.service.mjs +2 -3
- package/esm2022/lib/shared/list-page-component.class.mjs +6 -3
- package/esm2022/lib/shared/list-page-service.class.mjs +2 -3
- package/esm2022/lib/zac-routing.module.mjs +3 -10
- package/esm2022/lib/ziti-console-lib.module.mjs +43 -24
- package/esm2022/lib/ziti-console.constants.mjs +2 -1
- package/esm2022/public-api.mjs +9 -8
- package/fesm2022/openziti-ziti-console-lib.mjs +3512 -4317
- package/fesm2022/openziti-ziti-console-lib.mjs.map +1 -1
- package/lib/ZAC_VERSION.d.ts +4 -0
- package/lib/ZAC_VERSION.d.ts.map +1 -0
- package/lib/default-app-config.d.ts +9 -0
- package/lib/default-app-config.d.ts.map +1 -0
- package/lib/features/card-list/card-list.component.d.ts +0 -1
- package/lib/features/card-list/card-list.component.d.ts.map +1 -1
- package/lib/features/extendable/extensions-noop.service.d.ts +2 -0
- package/lib/features/extendable/extensions-noop.service.d.ts.map +1 -1
- package/lib/features/header-bar/header-bar.component.d.ts +29 -0
- package/lib/features/header-bar/header-bar.component.d.ts.map +1 -0
- package/lib/features/login/login-dialog.component.d.ts +2 -1
- package/lib/features/login/login-dialog.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/api-session/api-session-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/api-session/api-session-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/auth-policy/auth-policy-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/auth-policy/auth-policy-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/certificate-authority/certificate-authority-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/certificate-authority/certificate-authority-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.component.d.ts +1 -2
- package/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/config-type/config-type-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/config-type/config-type-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/configuration/configuration-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/configuration/configuration-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/edge-router/edge-router-form.component.d.ts +6 -3
- package/lib/features/projectable-forms/edge-router/edge-router-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/identity/identity-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/identity/identity-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/jwt-signer/jwt-signer-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/jwt-signer/jwt-signer-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/posture-check/posture-check-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/posture-check/posture-check-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/projectable-form.class.d.ts +11 -7
- package/lib/features/projectable-forms/projectable-form.class.d.ts.map +1 -1
- package/lib/features/projectable-forms/service/service-form.component.d.ts +0 -1
- package/lib/features/projectable-forms/service/service-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/service/simple-service/simple-service.component.d.ts +9 -2
- package/lib/features/projectable-forms/service/simple-service/simple-service.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/service-policy/service-policy-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/service-policy/service-policy-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/session/session-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/session/session-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/terminator/terminator-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/terminator/terminator-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/transit-router/transit-router-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/transit-router/transit-router-form.component.d.ts.map +1 -1
- package/lib/features/quick-add/quick-add.component.d.ts +15 -0
- package/lib/features/quick-add/quick-add.component.d.ts.map +1 -0
- package/lib/features/side-navigator/side-navigator.component.d.ts +33 -0
- package/lib/features/side-navigator/side-navigator.component.d.ts.map +1 -0
- package/lib/pages/attributes/attributes.component.d.ts +31 -0
- package/lib/pages/attributes/attributes.component.d.ts.map +1 -0
- package/lib/pages/auth-policies/auth-policies-page.service.d.ts.map +1 -1
- package/lib/pages/edge-router-policies/edge-router-policies-page.component.d.ts +1 -3
- package/lib/pages/edge-router-policies/edge-router-policies-page.component.d.ts.map +1 -1
- package/lib/pages/edge-routers/edge-routers-page.component.d.ts +1 -3
- package/lib/pages/edge-routers/edge-routers-page.component.d.ts.map +1 -1
- package/lib/pages/edge-routers/edge-routers-page.service.d.ts.map +1 -1
- package/lib/pages/geolocate/geolocate.component.d.ts +32 -0
- package/lib/pages/geolocate/geolocate.component.d.ts.map +1 -0
- package/lib/pages/identities/identities-page.component.d.ts +1 -3
- package/lib/pages/identities/identities-page.component.d.ts.map +1 -1
- package/lib/pages/profile/profile.component.d.ts +17 -0
- package/lib/pages/profile/profile.component.d.ts.map +1 -0
- package/lib/pages/service-edge-router-policies/service-edge-router-policies-page.component.d.ts +1 -3
- package/lib/pages/service-edge-router-policies/service-edge-router-policies-page.component.d.ts.map +1 -1
- package/lib/pages/service-policies/service-policies-page.component.d.ts +1 -3
- package/lib/pages/service-policies/service-policies-page.component.d.ts.map +1 -1
- package/lib/pages/services/services-page.component.d.ts +1 -3
- package/lib/pages/services/services-page.component.d.ts.map +1 -1
- package/lib/pages/settings/settings.component.d.ts +23 -0
- package/lib/pages/settings/settings.component.d.ts.map +1 -0
- package/lib/pages/transit-routers/transit-routers-page.component.d.ts +1 -3
- package/lib/pages/transit-routers/transit-routers-page.component.d.ts.map +1 -1
- package/lib/services/console-events.service.d.ts.map +1 -1
- package/lib/services/node-data.service.d.ts +1 -0
- package/lib/services/node-data.service.d.ts.map +1 -1
- package/lib/services/settings-service.class.d.ts +0 -2
- package/lib/services/settings-service.class.d.ts.map +1 -1
- package/lib/services/settings.service.d.ts.map +1 -1
- package/lib/services/tab-name.service.d.ts.map +1 -1
- package/lib/services/ziti-controller-data.service.d.ts +1 -0
- package/lib/services/ziti-controller-data.service.d.ts.map +1 -1
- package/lib/services/ziti-data.service.d.ts +1 -0
- package/lib/services/ziti-data.service.d.ts.map +1 -1
- package/lib/shared/list-page-component.class.d.ts.map +1 -1
- package/lib/zac-routing.module.d.ts.map +1 -1
- package/lib/ziti-console-lib.module.d.ts +114 -110
- package/lib/ziti-console-lib.module.d.ts.map +1 -1
- package/lib/ziti-console.constants.d.ts +1 -0
- package/lib/ziti-console.constants.d.ts.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +8 -7
- package/public-api.d.ts.map +1 -1
- package/assets/components/add.html +0 -1
- package/assets/components/api.html +0 -12
- package/assets/components/customtags.html +0 -4
- package/assets/components/line.html +0 -1
- package/assets/components/noitems.html +0 -1
- package/assets/components/save.html +0 -4
- package/assets/components/search.html +0 -8
- package/assets/components/tabIdentities.html +0 -5
- package/assets/components/tabPolicies.html +0 -7
- package/assets/components/tabRouters.html +0 -5
- package/assets/components/tabServers.html +0 -4
- package/assets/components/tabServices.html +0 -6
- package/assets/components/tabSessions.html +0 -4
- package/assets/data/mail.json +0 -0
- package/assets/data/services.json +0 -6
- package/assets/data/site.json +0 -31
- package/assets/data/tags.json +0 -7
- package/assets/data/templates.json +0 -1
- package/assets/fonts/zac.eot +0 -0
- package/assets/fonts/zac.svg +0 -57
- package/assets/fonts/zac.ttf +0 -0
- package/assets/fonts/zac.woff +0 -0
- package/assets/fonts/zac.woff2 +0 -0
- package/assets/html/api-sessions.htm +0 -152
- package/assets/html/attributes.htm +0 -260
- package/assets/html/auth-policies.htm +0 -410
- package/assets/html/cas.htm +0 -439
- package/assets/html/config-types.htm +0 -167
- package/assets/html/configs.htm +0 -238
- package/assets/html/deprecated/fabric-links.htm +0 -336
- package/assets/html/deprecated/fabric-routers.htm +0 -72
- package/assets/html/deprecated/fabric-services.htm +0 -494
- package/assets/html/identities.htm +0 -934
- package/assets/html/index.htm +0 -222
- package/assets/html/jwt-signers.htm +0 -260
- package/assets/html/known.htm +0 -115
- package/assets/html/login.htm +0 -131
- package/assets/html/organization.htm +0 -223
- package/assets/html/posture-checks.htm +0 -393
- package/assets/html/profile.htm +0 -52
- package/assets/html/recipes.htm +0 -455
- package/assets/html/router-policies.htm +0 -168
- package/assets/html/routers.htm +0 -323
- package/assets/html/servers.htm +0 -236
- package/assets/html/service-policies.htm +0 -197
- package/assets/html/service-router-policies.htm +0 -170
- package/assets/html/services.htm +0 -634
- package/assets/html/sessions.htm +0 -157
- package/assets/html/settings.htm +0 -146
- package/assets/html/terminators.htm +0 -244
- package/assets/html/transit-routers.htm +0 -173
- package/assets/resources/avatar/man.svg +0 -78
- package/assets/resources/avatar/woman.svg +0 -96
- package/assets/resources/icon/analysis.svg +0 -104
- package/assets/resources/icon/appwans.svg +0 -20
- package/assets/resources/icon/architecture.svg +0 -1
- package/assets/resources/icon/bike.svg +0 -94
- package/assets/resources/icon/bus.svg +0 -64
- package/assets/resources/icon/cas.svg +0 -46
- package/assets/resources/icon/clusters.svg +0 -28
- package/assets/resources/icon/computer.svg +0 -1
- package/assets/resources/icon/data.svg +0 -1
- package/assets/resources/icon/delivery-truck.svg +0 -1
- package/assets/resources/icon/explosion.svg +0 -81
- package/assets/resources/icon/fabricServices.svg +0 -31
- package/assets/resources/icon/fabrics.svg +0 -136
- package/assets/resources/icon/front.svg +0 -83
- package/assets/resources/icon/gateway.svg +0 -49
- package/assets/resources/icon/gear.svg +0 -122
- package/assets/resources/icon/house.svg +0 -72
- package/assets/resources/icon/language.svg +0 -1
- package/assets/resources/icon/objective.svg +0 -55
- package/assets/resources/icon/route.svg +0 -97
- package/assets/resources/icon/routers.svg +0 -27
- package/assets/resources/icon/startup.svg +0 -112
- package/assets/resources/icon/switch.svg +0 -101
- package/assets/scripts/chart.min.js +0 -7
- package/assets/scripts/commands.js +0 -112
- package/assets/scripts/components/codemirror/codemirror.css +0 -356
- package/assets/scripts/components/codemirror/codemirror.js +0 -9741
- package/assets/scripts/components/codemirror/modes/addons/closetags.js +0 -200
- package/assets/scripts/components/codemirror/modes/addons/colorize.js +0 -40
- package/assets/scripts/components/codemirror/modes/addons/css-hint.js +0 -66
- package/assets/scripts/components/codemirror/modes/addons/formatting.js +0 -124
- package/assets/scripts/components/codemirror/modes/addons/html-hint.js +0 -366
- package/assets/scripts/components/codemirror/modes/addons/javascript-hint.js +0 -159
- package/assets/scripts/components/codemirror/modes/addons/show-hint.css +0 -36
- package/assets/scripts/components/codemirror/modes/addons/show-hint.js +0 -482
- package/assets/scripts/components/codemirror/modes/css.js +0 -831
- package/assets/scripts/components/codemirror/modes/htmlmixed.js +0 -152
- package/assets/scripts/components/codemirror/modes/javascript.js +0 -930
- package/assets/scripts/components/codemirror/modes/xml.js +0 -413
- package/assets/scripts/components/column.css +0 -184
- package/assets/scripts/components/column.js +0 -165
- package/assets/scripts/components/flows.css +0 -0
- package/assets/scripts/components/flows.js +0 -48
- package/assets/scripts/components/moment.js +0 -4602
- package/assets/scripts/components/multiselect.js +0 -333
- package/assets/scripts/components/resources.js +0 -26
- package/assets/scripts/components/selector-new.js +0 -300
- package/assets/scripts/components/selector.js +0 -300
- package/assets/scripts/components/spectrum.js +0 -2323
- package/assets/scripts/components/timezone.js +0 -1545
- package/assets/scripts/context.js +0 -177
- package/assets/scripts/dragging.js +0 -58
- package/assets/scripts/forms/forms.js +0 -74
- package/assets/scripts/forms/host.v1.htm +0 -43
- package/assets/scripts/forms/intercept.v1.htm +0 -0
- package/assets/scripts/forms/schema.js +0 -693
- package/assets/scripts/growler.js +0 -137
- package/assets/scripts/header.js +0 -163
- package/assets/scripts/jquery-3.6.3.min.js +0 -2
- package/assets/scripts/jquery.datetimepicker.js +0 -2930
- package/assets/scripts/locale.js +0 -47
- package/assets/scripts/modal.js +0 -65
- package/assets/scripts/model/data.js +0 -558
- package/assets/scripts/model/fabric.js +0 -55
- package/assets/scripts/model/fabricServices.js +0 -45
- package/assets/scripts/model/known.js +0 -43
- package/assets/scripts/model/links.js +0 -44
- package/assets/scripts/model/routers.js +0 -51
- package/assets/scripts/model/series.js +0 -70
- package/assets/scripts/model/sessions.js +0 -61
- package/assets/scripts/model/settings.js +0 -60
- package/assets/scripts/model/summary.js +0 -49
- package/assets/scripts/model/tags.js +0 -310
- package/assets/scripts/model/templates.js +0 -42
- package/assets/scripts/model/user.js +0 -40
- package/assets/scripts/restrictions.js +0 -34
- package/assets/scripts/service.js +0 -76
- package/assets/scripts/validation-tools.js +0 -5119
- package/assets/scripts/ziti.js +0 -372
- package/assets/styles/chart.min.css +0 -1
- package/assets/styles/datetimepicker.css +0 -1
- package/assets/styles/forms.css +0 -521
- package/assets/styles/growler.css +0 -190
- package/assets/styles/header.css +0 -232
- package/assets/styles/icons.css +0 -182
- package/assets/styles/navigation.css +0 -183
- package/assets/styles/select2.css +0 -481
- package/assets/styles/spectrum.css +0 -507
- package/assets/styles/tables.css +0 -449
- package/assets/styles/tooltip.css +0 -134
- package/assets/styles/ziti.css +0 -3271
- package/assets/templates/footer.htm +0 -183
- package/assets/templates/header.htm +0 -297
- package/esm2022/lib/features/sidebars/side-banner/side-banner.component.mjs +0 -17
- package/esm2022/lib/features/sidebars/side-toolbar/side-toolbar.component.mjs +0 -129
- package/esm2022/lib/features/wrappers/node-wrapper.service.mjs +0 -51
- package/esm2022/lib/features/wrappers/zac-wrapper-service.class.mjs +0 -95
- package/esm2022/lib/features/wrappers/zac-wrapper.component.mjs +0 -148
- package/esm2022/lib/features/wrappers/zac-wrapper.service.mjs +0 -981
- package/esm2022/lib/version.mjs +0 -4
- package/lib/features/sidebars/side-banner/side-banner.component.d.ts +0 -7
- package/lib/features/sidebars/side-banner/side-banner.component.d.ts.map +0 -1
- package/lib/features/sidebars/side-toolbar/side-toolbar.component.d.ts +0 -34
- package/lib/features/sidebars/side-toolbar/side-toolbar.component.d.ts.map +0 -1
- package/lib/features/wrappers/node-wrapper.service.d.ts +0 -24
- package/lib/features/wrappers/node-wrapper.service.d.ts.map +0 -1
- package/lib/features/wrappers/zac-wrapper-service.class.d.ts +0 -38
- package/lib/features/wrappers/zac-wrapper-service.class.d.ts.map +0 -1
- package/lib/features/wrappers/zac-wrapper.component.d.ts +0 -31
- package/lib/features/wrappers/zac-wrapper.component.d.ts.map +0 -1
- package/lib/features/wrappers/zac-wrapper.service.d.ts +0 -58
- package/lib/features/wrappers/zac-wrapper.service.d.ts.map +0 -1
- package/lib/version.d.ts +0 -4
- package/lib/version.d.ts.map +0 -1
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { Component, EventEmitter, Inject, Input } from '@angular/core';
|
|
2
|
+
import { NavigationEnd } from '@angular/router';
|
|
3
|
+
import { defer } from 'lodash-es';
|
|
4
|
+
import { ZITI_NAVIGATOR } from "../../ziti-console.constants";
|
|
5
|
+
import { filter } from 'rxjs/operators';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/router";
|
|
8
|
+
import * as i2 from "@angular/common";
|
|
9
|
+
import * as i3 from "@angular/cdk/scrolling";
|
|
10
|
+
export class SideNavigatorComponent {
|
|
11
|
+
constructor(router, currentNav) {
|
|
12
|
+
this.router = router;
|
|
13
|
+
this.currentNav = currentNav;
|
|
14
|
+
this.version = '';
|
|
15
|
+
this.currentNetwork = {};
|
|
16
|
+
this.navExpanded = true;
|
|
17
|
+
this.navHidden = false;
|
|
18
|
+
this.hideMenuNavBar = false;
|
|
19
|
+
this.betaFeaturesEnabled = false;
|
|
20
|
+
this.selectedNavItem = null;
|
|
21
|
+
this.showExpandCollapseIcon = false;
|
|
22
|
+
this.showExpandCollapseIconChange = new EventEmitter();
|
|
23
|
+
}
|
|
24
|
+
ngOnInit() {
|
|
25
|
+
// Set initial selected nav item based on current route
|
|
26
|
+
this.updateSelectedNavItem(this.router.url);
|
|
27
|
+
// Subscribe to router navigation events
|
|
28
|
+
this.routerSubscription = this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe((event) => {
|
|
29
|
+
this.updateSelectedNavItem(event.urlAfterRedirects);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
ngOnDestroy() {
|
|
33
|
+
if (this.routerSubscription) {
|
|
34
|
+
this.routerSubscription.unsubscribe();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
updateSelectedNavItem(url) {
|
|
38
|
+
let bestMatch = null;
|
|
39
|
+
let bestMatchScore = -1;
|
|
40
|
+
for (const group of this.currentNav.groups) {
|
|
41
|
+
for (const item of group.menuItems) {
|
|
42
|
+
const matchScore = this.getRouteMatchScore(url, item);
|
|
43
|
+
if (matchScore > bestMatchScore) {
|
|
44
|
+
bestMatchScore = matchScore;
|
|
45
|
+
bestMatch = item;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
this.selectedNavItem = bestMatch;
|
|
50
|
+
}
|
|
51
|
+
getRouteMatchScore(currentUrl, navItem) {
|
|
52
|
+
if (!navItem.route) {
|
|
53
|
+
return -1;
|
|
54
|
+
}
|
|
55
|
+
let highestScore = -1;
|
|
56
|
+
if (navItem.selectedRoutes && Array.isArray(navItem.selectedRoutes)) {
|
|
57
|
+
for (const route of navItem.selectedRoutes) {
|
|
58
|
+
const score = this.calculateMatchScore(currentUrl, route);
|
|
59
|
+
if (score > highestScore) {
|
|
60
|
+
highestScore = score;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
highestScore = this.calculateMatchScore(currentUrl, navItem.route);
|
|
66
|
+
}
|
|
67
|
+
return highestScore;
|
|
68
|
+
}
|
|
69
|
+
calculateMatchScore(currentUrl, navRoute) {
|
|
70
|
+
const cleanUrl = currentUrl.split('?')[0].split('#')[0];
|
|
71
|
+
const normalizedUrl = cleanUrl.replace(/^\/|\/$/g, '');
|
|
72
|
+
const normalizedRoute = navRoute.replace(/^\/|\/$/g, '');
|
|
73
|
+
const urlSegments = normalizedUrl.split('/');
|
|
74
|
+
const routeSegments = normalizedRoute.split('/');
|
|
75
|
+
if (routeSegments.length > urlSegments.length) {
|
|
76
|
+
return -1;
|
|
77
|
+
}
|
|
78
|
+
const allSegmentsMatch = routeSegments.every((segment, index) => segment === urlSegments[index]);
|
|
79
|
+
if (!allSegmentsMatch) {
|
|
80
|
+
return -1; // No match
|
|
81
|
+
}
|
|
82
|
+
return routeSegments.length;
|
|
83
|
+
}
|
|
84
|
+
navItemSelected(navItem) {
|
|
85
|
+
return this.selectedNavItem === navItem;
|
|
86
|
+
}
|
|
87
|
+
isNavItemDisabled(navItem) {
|
|
88
|
+
}
|
|
89
|
+
doNavAction(event, navItem) {
|
|
90
|
+
const isCommandOrCtrl = event.metaKey || event.ctrlKey;
|
|
91
|
+
if (isCommandOrCtrl) {
|
|
92
|
+
// No-Op allow the native browser behavior (ie. open in new window)
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
this.router.navigate([navItem.route]);
|
|
96
|
+
event.preventDefault();
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
showExpandCollapse(event) {
|
|
100
|
+
defer(() => {
|
|
101
|
+
this.showExpandCollapseIcon = true;
|
|
102
|
+
this.showExpandCollapseIconChange.emit(this.showExpandCollapseIcon);
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
hideExpandCollapse(event) {
|
|
106
|
+
this.showExpandCollapseIcon = false;
|
|
107
|
+
this.showExpandCollapseIconChange.emit(this.showExpandCollapseIcon);
|
|
108
|
+
}
|
|
109
|
+
toggleNavigationExpanded(event) {
|
|
110
|
+
this.navExpanded = !this.navExpanded;
|
|
111
|
+
}
|
|
112
|
+
get expandCollapseIconVisible() {
|
|
113
|
+
return this.showExpandCollapseIcon || !this.navExpanded;
|
|
114
|
+
}
|
|
115
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SideNavigatorComponent, deps: [{ token: i1.Router }, { token: ZITI_NAVIGATOR }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
116
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SideNavigatorComponent, selector: "lib-side-navigator", inputs: { version: "version" }, ngImport: i0, template: "<div class=\"side-navigator-wrapper\">\n <div [ngClass]=\"{ 'nav-expanded': navExpanded, 'nav-hiddnen': navHidden }\" class=\"side-navigator-container\" (mouseenter)=\"showExpandCollapse($event)\" (mouseleave)=\"hideExpandCollapse($event)\">\n <div cdkScrollable class=\"side-navigator-menu-container\" [ngClass]=\"{'hide-menu-nav-bar': hideMenuNavBar}\">\n <div *ngFor=\"let group of currentNav.groups\" class=\"side-navigator-menu-group\">\n <span class=\"side-navigator-menu-group-label\">{{ group.label }}</span>\n <div class=\"side-navigator-header-buffer\" *ngIf=\"group.headerBuffer\"></div>\n <div *ngFor=\"let item of group.menuItems\" class=\"{{item.class}}\">\n <a\n *ngIf=\"(!item.isBetaFeature || (item.isBetaFeature && betaFeaturesEnabled))\"\n class=\"side-navigator-menu-item {{ item.className }}\"\n (click)=\"doNavAction($event, item)\"\n [ngClass]=\"{\n selected: navItemSelected(item),\n disabled: isNavItemDisabled(item)\n }\"\n [title]=\"item.tooltip\"\n [href]=\"'./'+item.route\"\n >\n <div class=\"side-navigator-menu-item-icon\">\n <div class=\"image\" class=\"{{ item.iconClass }}\"></div>\n <span *ngIf=\"item.badgeCount\" class=\"counterBadge\">{{ item.badgeCount }}</span>\n </div>\n <span class=\"side-navigator-menu-item-label\">\n {{ item.label }}\n <span class=\"side-navigator-menu-item-sublabel\">{{ item.sublabel }}</span>\n </span>\n </a>\n </div>\n </div>\n </div>\n <div class=\"side-navigator-footer-container\">\n <div class=\"side-navigator-version-container\">\n <div style=\"font-size: .875rem;\" class=\"networkInfo\" id=\"NetworkVersion\">\n <span class=\"network-semver\">{{ version }}</span>\n </div>\n </div>\n </div>\n </div>\n <div class=\"expand-collapse-hitbox-container\" [ngClass]=\"{'expand-collapse-container-closed': !navExpanded}\" (mouseenter)=\"showExpandCollapse($event)\" (mouseleave)=\"hideExpandCollapse($event)\">\n <div class=\"expand-collapse-icon icon-prev\" [ngClass]=\"{'expand-collapse-icon-visible': expandCollapseIconVisible}\" (click)=\"toggleNavigationExpanded($event)\"></div>\n </div>\n</div>\n", styles: [".side-navigator-wrapper{display:flex;flex-direction:row;height:100%}[class*=\" icon-\"].image{font-family:icomoon!important}.side-navigator-container{position:relative;top:0;left:0rem;height:100%;width:1.25rem;bottom:-.625rem;padding-top:0;padding-bottom:0;background-color:var(--formBackground);transition:var(--transition);overflow-y:hidden;z-index:999;display:flex;flex-direction:column;margin-left:var(--sideBarMargin);box-shadow:var(--sideNavigatorBoxShadow);border:none}.side-navigator-container.nav-expanded{width:19.75rem;border-right-style:solid;border-right-color:var(--inputBorder);border-width:var(--navContainerBorderWidth);background-color:var(--mainBackground)}.side-navigator-container.nav-expanded .side-navigator-header-container,.side-navigator-container.nav-expanded .side-navigator-footer-container,.side-navigator-container.nav-expanded .side-navigator-menu-container{opacity:1}.side-navigator-container .side-navigator-header-container{height:-moz-fit-content;height:fit-content;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 .625rem;padding-top:var(--navHeaderPadding);opacity:0}.side-navigator-container .side-navigator-header-container .app-name-title{font-family:Russo One;text-align:center;font-size:1.5rem;line-height:2.5rem;color:var(--primaryColor);filter:brightness(var(--brightnessDark))}.side-navigator-container .side-navigator-header-container .list-area.search{padding-left:.625rem;padding-right:.625rem}.side-navigator-container .side-navigator-header-container .title{margin-top:.625rem;color:var(--primaryColor);filter:brightness(var(--brightnessDark));font-size:1.75rem;font-family:Russo One;text-align:center;font-size:1.5rem;line-height:3.5rem;animation:_ngcontent-dev-c217_fadein 1s}.side-navigator-container .side-navigator-footer-container{height:100%;display:flex;flex-direction:column;justify-content:flex-end;flex:1 1 auto;position:relative;max-height:5rem;opacity:0}.side-navigator-container .side-navigator-footer-container .side-navigator-version-container{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1 1 auto;height:2.1875rem;max-height:2.1875rem;position:relative}.side-navigator-container .side-navigator-footer-container .side-navigator-version-container .zitiInfo,.side-navigator-container .side-navigator-footer-container .side-navigator-version-container .networkInfo{font-size:.75rem;font-weight:800}.side-navigator-container .side-navigator-footer-container .side-navigator-version-container .ziti-semver,.side-navigator-container .side-navigator-footer-container .side-navigator-version-container .network-semver{font-weight:900;margin-left:.1875rem;filter:brightness(.85)}.side-navigator-container .side-navigator-footer-container .side-navigator-version-container .network-semver{color:var(--primary)}.side-navigator-container .side-navigator-footer-container .side-navigator-version-container .ziti-semver{color:#f4044d}.side-navigator-container .side-navigator-menu-container{display:flex;flex-direction:column;width:100%;max-width:19.6875rem!important;flex:1 1 auto;height:100%;padding-top:var(--paddingLarge);overflow-y:auto;opacity:0}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-group{display:flex;flex-direction:column;width:100%;margin-bottom:.9375rem}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-group-label{margin-left:1.4375rem;color:var(--groupText);font-size:.875rem;position:relative;text-transform:uppercase;font-weight:600}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item{position:relative;display:flex;height:3.3125rem;cursor:pointer;align-items:center;padding-left:var(--navItemPadding);margin-left:var(--navItemMargin);margin-right:var(--navItemMargin);border-radius:var(--inputBorderRadius)}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item.selected{background-color:var(--navItemSelectedColor);border-right-color:var(--secondaryColor);border-right-width:.25rem;border-right-style:none}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item.selected:focus,.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item.selected:focus-visible{background-color:var(--navItemSelectedColor)}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item.disabled{opacity:.5;filter:grayscale(1);cursor:not-allowed}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item.disabled:hover{background-color:transparent}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item:hover{background-color:var(--hoverBackground)}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item:focus,.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item:focus-visible{background-color:var(--hoverBackground)}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-icon{max-width:2.5rem;width:2.5rem;height:2.5rem;background-color:var(--mainBackground);border-radius:var(--inputBorderRadius);box-shadow:0 .1875rem .3125rem 1px var(--boxShadow);display:flex;align-items:center;justify-content:center;border-color:var(--mainBackground);border-width:.125rem;flex:1 0 auto;border-style:solid;font-size:1.875rem}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-icon .image:before{color:var(--primaryColor)}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-label{color:var(--tableText);font-size:1rem;text-transform:unset;font-weight:600;text-align:left;font-family:Open Sans;width:100%;margin-bottom:0;margin-left:.9375rem;display:flex}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-label .side-navigator-menu-item-sublabel{color:var(--placeholder);margin-left:.3125rem}.side-navigator-container .side-navigator-menu-container.hide-menu-nav-bar::-webkit-scrollbar{display:none}.side-navigator-container .headerNetworkList,.side-navigator-container .headerTenantList{height:11.375rem;overflow-y:scroll}.side-navigator-container .headerNetworkList .row,.side-navigator-container .headerTenantList .row{color:var(--white);font-size:.875rem;font-weight:600;line-height:1.875rem;padding-left:2.8125rem;cursor:pointer;height:2rem;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;position:relative}.side-navigator-container .headerNetworkList .row.selected,.side-navigator-container .headerTenantList .row.selected{color:var(--white);font-weight:800;font-family:Open Sans}.side-navigator-container .headerNetworkList .row:hover,.side-navigator-container .headerTenantList .row:hover{background-color:var(--primaryColor)}.side-navigator-container .headerNetworkList .row:active,.side-navigator-container .headerTenantList .row:active{background-color:var(--primaryColor);filter:brightness(.95)}.side-navigator-container .headerNetworkList .status,.side-navigator-container .headerTenantList .status{width:1.5625rem;height:1.5625rem;top:.1875rem;left:.625rem}.side-navigator-container .navlogo{display:flex;align-items:center;justify-content:center;height:3.125rem;width:18.75rem;position:relative;background-image:var(--logoLight);background-color:transparent;background-size:14.0625rem;animation:fadein 3s;background-repeat:no-repeat;background-position:center}.side-navigator-container .navlogo.dark{background-image:var(--logoDark)}#Networks .currentNetwork,#Tenants .currentTenant{color:var(--white)}.tenants,.networks{border-color:var(--inputBorder);border-width:.125rem;border-radius:.4375rem;border-style:solid;width:16.9375rem;height:2.5rem;background-image:url(/assets/svgs/ArrowDown.svg);background-position:center right .625rem;background-size:1.25rem .625rem;cursor:pointer;background-color:var(--mainBackground);animation:fadein .5s;position:relative;margin-top:0;margin-bottom:.625rem}.counterBadge{display:flex;position:absolute;align-items:center;justify-content:center;top:.125rem;left:3.375rem;background-color:var(--red);box-shadow:0 .125rem .4375rem #ff0d4980;z-index:999;color:#fff;font-size:.75rem;font-weight:700;width:1.125rem;height:1.125rem;line-height:1.125rem;border-radius:.5625rem;font-family:Open Sans}.expand-collapse-hitbox-container-right{position:absolute;height:100%;width:.625rem;left:3.4375rem;z-index:1000001}.expand-collapse-hitbox-container{position:relative;height:100%;width:1.25rem;z-index:1000001}.expand-collapse-hitbox-container.expand-collapse-container-closed .expand-collapse-icon{transform:rotate(180deg)}.expand-collapse-hitbox-container .expand-collapse-icon{background:var(--background);border-radius:var(--inputBorderRadius);height:1.75rem;width:1.75rem;position:absolute;top:3.5rem;right:.4375rem;opacity:0;transition:opacity .3s;display:flex;align-items:center;justify-content:center;box-shadow:0 0 .375rem .1875rem var(--boxShadow);cursor:pointer;border-style:solid;border-width:1px;border-color:#dee2e6;color:var(--icon);font-weight:600;font-family:icomoon!important}.expand-collapse-hitbox-container .expand-collapse-icon:before{content:\"\\e938\"}.expand-collapse-hitbox-container .expand-collapse-icon:hover{background-color:var(--primaryColor);color:var(--white)}.expand-collapse-hitbox-container .expand-collapse-icon:active{filter:grayscale(1)}.expand-collapse-hitbox-container .expand-collapse-icon.expand-collapse-icon-visible{opacity:1}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }] }); }
|
|
117
|
+
}
|
|
118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SideNavigatorComponent, decorators: [{
|
|
119
|
+
type: Component,
|
|
120
|
+
args: [{ selector: 'lib-side-navigator', template: "<div class=\"side-navigator-wrapper\">\n <div [ngClass]=\"{ 'nav-expanded': navExpanded, 'nav-hiddnen': navHidden }\" class=\"side-navigator-container\" (mouseenter)=\"showExpandCollapse($event)\" (mouseleave)=\"hideExpandCollapse($event)\">\n <div cdkScrollable class=\"side-navigator-menu-container\" [ngClass]=\"{'hide-menu-nav-bar': hideMenuNavBar}\">\n <div *ngFor=\"let group of currentNav.groups\" class=\"side-navigator-menu-group\">\n <span class=\"side-navigator-menu-group-label\">{{ group.label }}</span>\n <div class=\"side-navigator-header-buffer\" *ngIf=\"group.headerBuffer\"></div>\n <div *ngFor=\"let item of group.menuItems\" class=\"{{item.class}}\">\n <a\n *ngIf=\"(!item.isBetaFeature || (item.isBetaFeature && betaFeaturesEnabled))\"\n class=\"side-navigator-menu-item {{ item.className }}\"\n (click)=\"doNavAction($event, item)\"\n [ngClass]=\"{\n selected: navItemSelected(item),\n disabled: isNavItemDisabled(item)\n }\"\n [title]=\"item.tooltip\"\n [href]=\"'./'+item.route\"\n >\n <div class=\"side-navigator-menu-item-icon\">\n <div class=\"image\" class=\"{{ item.iconClass }}\"></div>\n <span *ngIf=\"item.badgeCount\" class=\"counterBadge\">{{ item.badgeCount }}</span>\n </div>\n <span class=\"side-navigator-menu-item-label\">\n {{ item.label }}\n <span class=\"side-navigator-menu-item-sublabel\">{{ item.sublabel }}</span>\n </span>\n </a>\n </div>\n </div>\n </div>\n <div class=\"side-navigator-footer-container\">\n <div class=\"side-navigator-version-container\">\n <div style=\"font-size: .875rem;\" class=\"networkInfo\" id=\"NetworkVersion\">\n <span class=\"network-semver\">{{ version }}</span>\n </div>\n </div>\n </div>\n </div>\n <div class=\"expand-collapse-hitbox-container\" [ngClass]=\"{'expand-collapse-container-closed': !navExpanded}\" (mouseenter)=\"showExpandCollapse($event)\" (mouseleave)=\"hideExpandCollapse($event)\">\n <div class=\"expand-collapse-icon icon-prev\" [ngClass]=\"{'expand-collapse-icon-visible': expandCollapseIconVisible}\" (click)=\"toggleNavigationExpanded($event)\"></div>\n </div>\n</div>\n", styles: [".side-navigator-wrapper{display:flex;flex-direction:row;height:100%}[class*=\" icon-\"].image{font-family:icomoon!important}.side-navigator-container{position:relative;top:0;left:0rem;height:100%;width:1.25rem;bottom:-.625rem;padding-top:0;padding-bottom:0;background-color:var(--formBackground);transition:var(--transition);overflow-y:hidden;z-index:999;display:flex;flex-direction:column;margin-left:var(--sideBarMargin);box-shadow:var(--sideNavigatorBoxShadow);border:none}.side-navigator-container.nav-expanded{width:19.75rem;border-right-style:solid;border-right-color:var(--inputBorder);border-width:var(--navContainerBorderWidth);background-color:var(--mainBackground)}.side-navigator-container.nav-expanded .side-navigator-header-container,.side-navigator-container.nav-expanded .side-navigator-footer-container,.side-navigator-container.nav-expanded .side-navigator-menu-container{opacity:1}.side-navigator-container .side-navigator-header-container{height:-moz-fit-content;height:fit-content;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 .625rem;padding-top:var(--navHeaderPadding);opacity:0}.side-navigator-container .side-navigator-header-container .app-name-title{font-family:Russo One;text-align:center;font-size:1.5rem;line-height:2.5rem;color:var(--primaryColor);filter:brightness(var(--brightnessDark))}.side-navigator-container .side-navigator-header-container .list-area.search{padding-left:.625rem;padding-right:.625rem}.side-navigator-container .side-navigator-header-container .title{margin-top:.625rem;color:var(--primaryColor);filter:brightness(var(--brightnessDark));font-size:1.75rem;font-family:Russo One;text-align:center;font-size:1.5rem;line-height:3.5rem;animation:_ngcontent-dev-c217_fadein 1s}.side-navigator-container .side-navigator-footer-container{height:100%;display:flex;flex-direction:column;justify-content:flex-end;flex:1 1 auto;position:relative;max-height:5rem;opacity:0}.side-navigator-container .side-navigator-footer-container .side-navigator-version-container{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1 1 auto;height:2.1875rem;max-height:2.1875rem;position:relative}.side-navigator-container .side-navigator-footer-container .side-navigator-version-container .zitiInfo,.side-navigator-container .side-navigator-footer-container .side-navigator-version-container .networkInfo{font-size:.75rem;font-weight:800}.side-navigator-container .side-navigator-footer-container .side-navigator-version-container .ziti-semver,.side-navigator-container .side-navigator-footer-container .side-navigator-version-container .network-semver{font-weight:900;margin-left:.1875rem;filter:brightness(.85)}.side-navigator-container .side-navigator-footer-container .side-navigator-version-container .network-semver{color:var(--primary)}.side-navigator-container .side-navigator-footer-container .side-navigator-version-container .ziti-semver{color:#f4044d}.side-navigator-container .side-navigator-menu-container{display:flex;flex-direction:column;width:100%;max-width:19.6875rem!important;flex:1 1 auto;height:100%;padding-top:var(--paddingLarge);overflow-y:auto;opacity:0}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-group{display:flex;flex-direction:column;width:100%;margin-bottom:.9375rem}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-group-label{margin-left:1.4375rem;color:var(--groupText);font-size:.875rem;position:relative;text-transform:uppercase;font-weight:600}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item{position:relative;display:flex;height:3.3125rem;cursor:pointer;align-items:center;padding-left:var(--navItemPadding);margin-left:var(--navItemMargin);margin-right:var(--navItemMargin);border-radius:var(--inputBorderRadius)}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item.selected{background-color:var(--navItemSelectedColor);border-right-color:var(--secondaryColor);border-right-width:.25rem;border-right-style:none}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item.selected:focus,.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item.selected:focus-visible{background-color:var(--navItemSelectedColor)}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item.disabled{opacity:.5;filter:grayscale(1);cursor:not-allowed}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item.disabled:hover{background-color:transparent}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item:hover{background-color:var(--hoverBackground)}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item:focus,.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item:focus-visible{background-color:var(--hoverBackground)}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-icon{max-width:2.5rem;width:2.5rem;height:2.5rem;background-color:var(--mainBackground);border-radius:var(--inputBorderRadius);box-shadow:0 .1875rem .3125rem 1px var(--boxShadow);display:flex;align-items:center;justify-content:center;border-color:var(--mainBackground);border-width:.125rem;flex:1 0 auto;border-style:solid;font-size:1.875rem}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-icon .image:before{color:var(--primaryColor)}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-label{color:var(--tableText);font-size:1rem;text-transform:unset;font-weight:600;text-align:left;font-family:Open Sans;width:100%;margin-bottom:0;margin-left:.9375rem;display:flex}.side-navigator-container .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-label .side-navigator-menu-item-sublabel{color:var(--placeholder);margin-left:.3125rem}.side-navigator-container .side-navigator-menu-container.hide-menu-nav-bar::-webkit-scrollbar{display:none}.side-navigator-container .headerNetworkList,.side-navigator-container .headerTenantList{height:11.375rem;overflow-y:scroll}.side-navigator-container .headerNetworkList .row,.side-navigator-container .headerTenantList .row{color:var(--white);font-size:.875rem;font-weight:600;line-height:1.875rem;padding-left:2.8125rem;cursor:pointer;height:2rem;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;position:relative}.side-navigator-container .headerNetworkList .row.selected,.side-navigator-container .headerTenantList .row.selected{color:var(--white);font-weight:800;font-family:Open Sans}.side-navigator-container .headerNetworkList .row:hover,.side-navigator-container .headerTenantList .row:hover{background-color:var(--primaryColor)}.side-navigator-container .headerNetworkList .row:active,.side-navigator-container .headerTenantList .row:active{background-color:var(--primaryColor);filter:brightness(.95)}.side-navigator-container .headerNetworkList .status,.side-navigator-container .headerTenantList .status{width:1.5625rem;height:1.5625rem;top:.1875rem;left:.625rem}.side-navigator-container .navlogo{display:flex;align-items:center;justify-content:center;height:3.125rem;width:18.75rem;position:relative;background-image:var(--logoLight);background-color:transparent;background-size:14.0625rem;animation:fadein 3s;background-repeat:no-repeat;background-position:center}.side-navigator-container .navlogo.dark{background-image:var(--logoDark)}#Networks .currentNetwork,#Tenants .currentTenant{color:var(--white)}.tenants,.networks{border-color:var(--inputBorder);border-width:.125rem;border-radius:.4375rem;border-style:solid;width:16.9375rem;height:2.5rem;background-image:url(/assets/svgs/ArrowDown.svg);background-position:center right .625rem;background-size:1.25rem .625rem;cursor:pointer;background-color:var(--mainBackground);animation:fadein .5s;position:relative;margin-top:0;margin-bottom:.625rem}.counterBadge{display:flex;position:absolute;align-items:center;justify-content:center;top:.125rem;left:3.375rem;background-color:var(--red);box-shadow:0 .125rem .4375rem #ff0d4980;z-index:999;color:#fff;font-size:.75rem;font-weight:700;width:1.125rem;height:1.125rem;line-height:1.125rem;border-radius:.5625rem;font-family:Open Sans}.expand-collapse-hitbox-container-right{position:absolute;height:100%;width:.625rem;left:3.4375rem;z-index:1000001}.expand-collapse-hitbox-container{position:relative;height:100%;width:1.25rem;z-index:1000001}.expand-collapse-hitbox-container.expand-collapse-container-closed .expand-collapse-icon{transform:rotate(180deg)}.expand-collapse-hitbox-container .expand-collapse-icon{background:var(--background);border-radius:var(--inputBorderRadius);height:1.75rem;width:1.75rem;position:absolute;top:3.5rem;right:.4375rem;opacity:0;transition:opacity .3s;display:flex;align-items:center;justify-content:center;box-shadow:0 0 .375rem .1875rem var(--boxShadow);cursor:pointer;border-style:solid;border-width:1px;border-color:#dee2e6;color:var(--icon);font-weight:600;font-family:icomoon!important}.expand-collapse-hitbox-container .expand-collapse-icon:before{content:\"\\e938\"}.expand-collapse-hitbox-container .expand-collapse-icon:hover{background-color:var(--primaryColor);color:var(--white)}.expand-collapse-hitbox-container .expand-collapse-icon:active{filter:grayscale(1)}.expand-collapse-hitbox-container .expand-collapse-icon.expand-collapse-icon-visible{opacity:1}\n"] }]
|
|
121
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: undefined, decorators: [{
|
|
122
|
+
type: Inject,
|
|
123
|
+
args: [ZITI_NAVIGATOR]
|
|
124
|
+
}] }]; }, propDecorators: { version: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}] } });
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXZpZ2F0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL3NpZGUtbmF2aWdhdG9yL3NpZGUtbmF2aWdhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9zaWRlLW5hdmlnYXRvci9zaWRlLW5hdmlnYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQVMsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFHdEQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFFNUQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7OztBQU90QyxNQUFNLE9BQU8sc0JBQXNCO0lBYWpDLFlBQ1ksTUFBYyxFQUNTLFVBQWU7UUFEdEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNTLGVBQVUsR0FBVixVQUFVLENBQUs7UUFiekMsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUN0QixtQkFBYyxHQUFRLEVBQUUsQ0FBQztRQUV6QixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUNuQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUdwQixvQkFBZSxHQUFRLElBQUksQ0FBQztRQXlHcEMsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLGlDQUE0QixHQUEwQixJQUFJ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QztRQUNwQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxLQUFVO1FBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLHlCQUF5QjtRQUMzQixPQUFPLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUQsQ0FBQzsrR0F4SVUsc0JBQXNCLHdDQWVyQixjQUFjO21HQWZmLHNCQUFzQiwwRkNkbkMseTFFQTBDQTs7NEZENUJhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxvQkFBb0I7OzBCQW1CekIsTUFBTTsyQkFBQyxjQUFjOzRDQWJqQixPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPbkluaXQsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlciwgTmF2aWdhdGlvbkVuZH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge2RlZmVyfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtaSVRJX05BVklHQVRPUn0gZnJvbSBcIi4uLy4uL3ppdGktY29uc29sZS5jb25zdGFudHNcIjtcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1zaWRlLW5hdmlnYXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWRlLW5hdmlnYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpZGUtbmF2aWdhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpZGVOYXZpZ2F0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgdmVyc2lvbiA9ICcnO1xuICBjdXJyZW50TmV0d29yazogYW55ID0ge307XG5cbiAgbmF2RXhwYW5kZWQgPSB0cnVlO1xuICBuYXZIaWRkZW4gPSBmYWxzZTtcbiAgaGlkZU1lbnVOYXZCYXIgPSBmYWxzZTtcbiAgYmV0YUZlYXR1cmVzRW5hYmxlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcm91dGVyU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHNlbGVjdGVkTmF2SXRlbTogYW55ID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICBASW5qZWN0KFpJVElfTkFWSUdBVE9SKSBwdWJsaWMgY3VycmVudE5hdjogYW55XG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICAvLyBTZXQgaW5pdGlhbCBzZWxlY3RlZCBuYXYgaXRlbSBiYXNlZCBvbiBjdXJyZW50IHJvdXRlXG4gICAgdGhpcy51cGRhdGVTZWxlY3RlZE5hdkl0ZW0odGhpcy5yb3V0ZXIudXJsKTtcblxuICAgIC8vIFN1YnNjcmliZSB0byByb3V0ZXIgbmF2aWdhdGlvbiBldmVudHNcbiAgICB0aGlzLnJvdXRlclN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGVyLmV2ZW50cy5waXBlKFxuICAgICAgZmlsdGVyKChldmVudCk6IGV2ZW50IGlzIE5hdmlnYXRpb25FbmQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKVxuICAgICkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZE5hdkl0ZW0oZXZlbnQudXJsQWZ0ZXJSZWRpcmVjdHMpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMucm91dGVyU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnJvdXRlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU2VsZWN0ZWROYXZJdGVtKHVybDogc3RyaW5nKSB7XG4gICAgbGV0IGJlc3RNYXRjaDogYW55ID0gbnVsbDtcbiAgICBsZXQgYmVzdE1hdGNoU2NvcmUgPSAtMTtcblxuICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgdGhpcy5jdXJyZW50TmF2Lmdyb3Vwcykge1xuICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGdyb3VwLm1lbnVJdGVtcykge1xuICAgICAgICBjb25zdCBtYXRjaFNjb3JlID0gdGhpcy5nZXRSb3V0ZU1hdGNoU2NvcmUodXJsLCBpdGVtKTtcbiAgICAgICAgaWYgKG1hdGNoU2NvcmUgPiBiZXN0TWF0Y2hTY29yZSkge1xuICAgICAgICAgIGJlc3RNYXRjaFNjb3JlID0gbWF0Y2hTY29yZTtcbiAgICAgICAgICBiZXN0TWF0Y2ggPSBpdGVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZE5hdkl0ZW0gPSBiZXN0TWF0Y2g7XG4gIH1cblxuICBwcml2YXRlIGdldFJvdXRlTWF0Y2hTY29yZShjdXJyZW50VXJsOiBzdHJpbmcsIG5hdkl0ZW06IGFueSk6IG51bWJlciB7XG4gICAgaWYgKCFuYXZJdGVtLnJvdXRlKSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuXG4gICAgbGV0IGhpZ2hlc3RTY29yZSA9IC0xO1xuXG4gICAgaWYgKG5hdkl0ZW0uc2VsZWN0ZWRSb3V0ZXMgJiYgQXJyYXkuaXNBcnJheShuYXZJdGVtLnNlbGVjdGVkUm91dGVzKSkge1xuICAgICAgZm9yIChjb25zdCByb3V0ZSBvZiBuYXZJdGVtLnNlbGVjdGVkUm91dGVzKSB7XG4gICAgICAgIGNvbnN0IHNjb3JlID0gdGhpcy5jYWxjdWxhdGVNYXRjaFNjb3JlKGN1cnJlbnRVcmwsIHJvdXRlKTtcbiAgICAgICAgaWYgKHNjb3JlID4gaGlnaGVzdFNjb3JlKSB7XG4gICAgICAgICAgaGlnaGVzdFNjb3JlID0gc2NvcmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaGlnaGVzdFNjb3JlID0gdGhpcy5jYWxjdWxhdGVNYXRjaFNjb3JlKGN1cnJlbnRVcmwsIG5hdkl0ZW0ucm91dGUpO1xuICAgIH1cblxuICAgIHJldHVybiBoaWdoZXN0U2NvcmU7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZU1hdGNoU2NvcmUoY3VycmVudFVybDogc3RyaW5nLCBuYXZSb3V0ZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBjb25zdCBjbGVhblVybCA9IGN1cnJlbnRVcmwuc3BsaXQoJz8nKVswXS5zcGxpdCgnIycpWzBdO1xuXG4gICAgY29uc3Qgbm9ybWFsaXplZFVybCA9IGNsZWFuVXJsLnJlcGxhY2UoL15cXC98XFwvJC9nLCAnJyk7XG4gICAgY29uc3Qgbm9ybWFsaXplZFJvdXRlID0gbmF2Um91dGUucmVwbGFjZSgvXlxcL3xcXC8kL2csICcnKTtcblxuICAgIGNvbnN0IHVybFNlZ21lbnRzID0gbm9ybWFsaXplZFVybC5zcGxpdCgnLycpO1xuICAgIGNvbnN0IHJvdXRlU2VnbWVudHMgPSBub3JtYWxpemVkUm91dGUuc3BsaXQoJy8nKTtcblxuICAgIGlmIChyb3V0ZVNlZ21lbnRzLmxlbmd0aCA+IHVybFNlZ21lbnRzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIGNvbnN0IGFsbFNlZ21lbnRzTWF0Y2ggPSByb3V0ZVNlZ21lbnRzLmV2ZXJ5KChzZWdtZW50LCBpbmRleCkgPT4gc2VnbWVudCA9PT0gdXJsU2VnbWVudHNbaW5kZXhdKTtcblxuICAgIGlmICghYWxsU2VnbWVudHNNYXRjaCkge1xuICAgICAgcmV0dXJuIC0xOyAvLyBObyBtYXRjaFxuICAgIH1cblxuICAgIHJldHVybiByb3V0ZVNlZ21lbnRzLmxlbmd0aDtcbiAgfVxuXG5cbiAgbmF2SXRlbVNlbGVjdGVkKG5hdkl0ZW06IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkTmF2SXRlbSA9PT0gbmF2SXRlbTtcbiAgfVxuXG4gIGlzTmF2SXRlbURpc2FibGVkKG5hdkl0ZW06IGFueSkge1xuXG4gIH1cblxuICBkb05hdkFjdGlvbihldmVudCwgbmF2SXRlbTogYW55KSB7XG4gICAgY29uc3QgaXNDb21tYW5kT3JDdHJsID0gZXZlbnQubWV0YUtleSB8fCBldmVudC5jdHJsS2V5O1xuXG4gICAgaWYgKGlzQ29tbWFuZE9yQ3RybCkge1xuICAgICAgLy8gTm8tT3AgYWxsb3cgdGhlIG5hdGl2ZSBicm93c2VyIGJlaGF2aW9yIChpZS4gb3BlbiBpbiBuZXcgd2luZG93KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbbmF2SXRlbS5yb3V0ZV0pO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBzaG93RXhwYW5kQ29sbGFwc2VJY29uID0gZmFsc2U7XG4gIHNob3dFeHBhbmRDb2xsYXBzZUljb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgc2hvd0V4cGFuZENvbGxhcHNlKGV2ZW50OiBhbnkpIHtcbiAgICBkZWZlcigoKSA9PiB7XG4gICAgICB0aGlzLnNob3dFeHBhbmRDb2xsYXBzZUljb24gPSB0cnVlO1xuICAgICAgdGhpcy5zaG93RXhwYW5kQ29sbGFwc2VJY29uQ2hhbmdlLmVtaXQodGhpcy5zaG93RXhwYW5kQ29sbGFwc2VJY29uKTtcbiAgICB9KVxuICB9XG5cbiAgaGlkZUV4cGFuZENvbGxhcHNlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNob3dFeHBhbmRDb2xsYXBzZUljb24gPSBmYWxzZTtcbiAgICB0aGlzLnNob3dFeHBhbmRDb2xsYXBzZUljb25DaGFuZ2UuZW1pdCh0aGlzLnNob3dFeHBhbmRDb2xsYXBzZUljb24pO1xuICB9XG5cbiAgdG9nZ2xlTmF2aWdhdGlvbkV4cGFuZGVkKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm5hdkV4cGFuZGVkID0gIXRoaXMubmF2RXhwYW5kZWQ7XG4gIH1cblxuICBnZXQgZXhwYW5kQ29sbGFwc2VJY29uVmlzaWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zaG93RXhwYW5kQ29sbGFwc2VJY29uIHx8ICF0aGlzLm5hdkV4cGFuZGVkO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2lkZS1uYXZpZ2F0b3Itd3JhcHBlclwiPlxuICA8ZGl2IFtuZ0NsYXNzXT1cInsgJ25hdi1leHBhbmRlZCc6IG5hdkV4cGFuZGVkLCAnbmF2LWhpZGRuZW4nOiBuYXZIaWRkZW4gfVwiIGNsYXNzPVwic2lkZS1uYXZpZ2F0b3ItY29udGFpbmVyXCIgKG1vdXNlZW50ZXIpPVwic2hvd0V4cGFuZENvbGxhcHNlKCRldmVudClcIiAobW91c2VsZWF2ZSk9XCJoaWRlRXhwYW5kQ29sbGFwc2UoJGV2ZW50KVwiPlxuICAgIDxkaXYgY2RrU2Nyb2xsYWJsZSBjbGFzcz1cInNpZGUtbmF2aWdhdG9yLW1lbnUtY29udGFpbmVyXCIgW25nQ2xhc3NdPVwieydoaWRlLW1lbnUtbmF2LWJhcic6IGhpZGVNZW51TmF2QmFyfVwiPlxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZ3JvdXAgb2YgY3VycmVudE5hdi5ncm91cHNcIiBjbGFzcz1cInNpZGUtbmF2aWdhdG9yLW1lbnUtZ3JvdXBcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLW5hdmlnYXRvci1tZW51LWdyb3VwLWxhYmVsXCI+e3sgZ3JvdXAubGFiZWwgfX08L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaWRlLW5hdmlnYXRvci1oZWFkZXItYnVmZmVyXCIgKm5nSWY9XCJncm91cC5oZWFkZXJCdWZmZXJcIj48L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBncm91cC5tZW51SXRlbXNcIiBjbGFzcz1cInt7aXRlbS5jbGFzc319XCI+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgICpuZ0lmPVwiKCFpdGVtLmlzQmV0YUZlYXR1cmUgfHwgKGl0ZW0uaXNCZXRhRmVhdHVyZSAmJiBiZXRhRmVhdHVyZXNFbmFibGVkKSlcIlxuICAgICAgICAgICAgY2xhc3M9XCJzaWRlLW5hdmlnYXRvci1tZW51LWl0ZW0ge3sgaXRlbS5jbGFzc05hbWUgfX1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cImRvTmF2QWN0aW9uKCRldmVudCwgaXRlbSlcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICBzZWxlY3RlZDogbmF2SXRlbVNlbGVjdGVkKGl0ZW0pLFxuICAgICAgICAgICAgICBkaXNhYmxlZDogaXNOYXZJdGVtRGlzYWJsZWQoaXRlbSlcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgW3RpdGxlXT1cIml0ZW0udG9vbHRpcFwiXG4gICAgICAgICAgICBbaHJlZl09XCInLi8nK2l0ZW0ucm91dGVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaWRlLW5hdmlnYXRvci1tZW51LWl0ZW0taWNvblwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VcIiBjbGFzcz1cInt7IGl0ZW0uaWNvbkNsYXNzIH19XCI+PC9kaXY+XG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5iYWRnZUNvdW50XCIgY2xhc3M9XCJjb3VudGVyQmFkZ2VcIj57eyBpdGVtLmJhZGdlQ291bnQgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1uYXZpZ2F0b3ItbWVudS1pdGVtLWxhYmVsXCI+XG4gICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtbmF2aWdhdG9yLW1lbnUtaXRlbS1zdWJsYWJlbFwiPnt7IGl0ZW0uc3VibGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzaWRlLW5hdmlnYXRvci1mb290ZXItY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic2lkZS1uYXZpZ2F0b3ItdmVyc2lvbi1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogLjg3NXJlbTtcIiBjbGFzcz1cIm5ldHdvcmtJbmZvXCIgaWQ9XCJOZXR3b3JrVmVyc2lvblwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibmV0d29yay1zZW12ZXJcIj57eyB2ZXJzaW9uIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImV4cGFuZC1jb2xsYXBzZS1oaXRib3gtY29udGFpbmVyXCIgW25nQ2xhc3NdPVwieydleHBhbmQtY29sbGFwc2UtY29udGFpbmVyLWNsb3NlZCc6ICFuYXZFeHBhbmRlZH1cIiAobW91c2VlbnRlcik9XCJzaG93RXhwYW5kQ29sbGFwc2UoJGV2ZW50KVwiIChtb3VzZWxlYXZlKT1cImhpZGVFeHBhbmRDb2xsYXBzZSgkZXZlbnQpXCI+XG4gICAgPGRpdiBjbGFzcz1cImV4cGFuZC1jb2xsYXBzZS1pY29uIGljb24tcHJldlwiIFtuZ0NsYXNzXT1cInsnZXhwYW5kLWNvbGxhcHNlLWljb24tdmlzaWJsZSc6IGV4cGFuZENvbGxhcHNlSWNvblZpc2libGV9XCIgKGNsaWNrKT1cInRvZ2dsZU5hdmlnYXRpb25FeHBhbmRlZCgkZXZlbnQpXCI+PC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -19,7 +19,7 @@ import { ZITI_NAVIGATOR } from "../../../ziti-console.constants";
|
|
|
19
19
|
import * as i0 from "@angular/core";
|
|
20
20
|
import * as i1 from "@angular/router";
|
|
21
21
|
import * as i2 from "@angular/common";
|
|
22
|
-
class SideNavbarComponent {
|
|
22
|
+
export class SideNavbarComponent {
|
|
23
23
|
constructor(router, currentNav) {
|
|
24
24
|
this.router = router;
|
|
25
25
|
this.currentNav = currentNav;
|
|
@@ -40,16 +40,15 @@ class SideNavbarComponent {
|
|
|
40
40
|
this.isOpened = !this.isOpened;
|
|
41
41
|
}
|
|
42
42
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SideNavbarComponent, deps: [{ token: i1.Router }, { token: ZITI_NAVIGATOR }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SideNavbarComponent, selector: "lib-side-navbar", inputs: { version: "version" }, ngImport: i0, template: "<div class=\"sideNavbar\">\n <div class=\"title\" data-i18n=\"AppName\">Ziti Console</div>\n <div id=\"Version\" class=\"version\">{{version}}</div>\n <div id=\"CustomLogo\"></div>\n <div class=\"side-navigator-menu-container\">\n <div *ngFor=\"let group of currentNav.groups\" class=\"side-navigator-menu-group\">\n <span class=\"side-navigator-menu-group-label\">{{ group.label }}</span>\n <div *ngFor=\"let item of group.menuItems\">\n <div class=\"side-navigator-menu-item {{item.className}}\" [routerLink]=\"item.route\" *ngIf=\"!item.hidden\"\n [ngClass]=\"{ selected: item.selectedRoutes?.includes(url) }\">\n <div class=\"side-navigator-menu-item-icon\">\n <div class=\"image\" [ngClass]=\"item.iconClass\"></div>\n <span *ngIf=\"item.badgeCount\" class=\"counterBadge\">{{ item.badgeCount }}</span>\n </div>\n <span class=\"side-navigator-menu-item-label\">{{ item.label }}\n <span class=\"side-navigator-menu-item-sublabel\">{{item.sublabel}}</span>\n </span>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".sideNavbar{position:relative;display:inline-block;width:19.75rem;background-color:transparent;height:100%}.sideNavbar .title{color:var(--primary);filter:brightness(50%);font-family:Russo One,serif;text-align:center;font-size:1.5rem;line-height:3.5rem}.sideNavbar .navList{display:grid;grid-template-columns:100%;grid-row-gap:1.25rem;color:var(--white);margin-left:1.25rem}.sideNavbar .lock:before{color:var(--text)!important}.sideNavbar .lock{position:absolute;bottom:1.25rem;right:.625rem;width:1.875rem;height:1.875rem;font-size:1.875rem;line-height:1.875rem;text-align:center;opacity:.2;cursor:pointer;transition:.2s}.sideNavbar .lock:hover{opacity:.4}.sideNavbar .lock.locked{opacity:.6}.sideNavbar .version{position:absolute;bottom:1.25rem;width:100%;color:var(--text);opacity:.7;font-size:.875rem;right:0;left:0;display:flex;align-items:center;justify-content:center}.sideNavbar #CustomLogo{width:75%;height:6.25rem;position:absolute;bottom:3.0625rem;right:1.25rem;background-repeat:no-repeat;background-size:contain;background-position:center center}.sideNavbar [class^=icon-],.sideNavbar [class*=\" icon-\"]{font-family:zac,serif!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sideNavbar .side-navigator-menu-container,.sideNavbar .side-navigator-menu-container .side-navigator-menu-group{display:flex;flex-direction:column;width:100%;margin-bottom:.9375rem}.sideNavbar .side-navigator-menu-container .side-navigator-menu-group-label{margin-left:1.4375rem;color:var(--groupText);font-size:.875rem;position:relative;text-transform:uppercase;font-weight:600}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item{position:relative;display:flex;height:3.3125rem;cursor:pointer;align-items:center;padding-left:1.5625rem;margin-bottom:.3125rem;margin-top:.3125rem}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item.selected{background-color:var(--primaryColorShadowLight);border-right-color:var(--secondaryColor);border-right-width:.25rem;border-right-style:solid}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item.selected:hover{border-right-color:var(--secondaryColor)}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item:hover{background-color:var(--primaryColorShadowLight);border-right-color:var(--primaryColor);border-right-width:.25rem;border-right-style:solid;transition:.3s}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-icon{max-width:3.125rem;width:3.125rem;height:3.125rem;background-color:var(--white);box-shadow:var(--shadow);border-color:var(--white);transition:var(--transition);border-radius
|
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SideNavbarComponent, selector: "lib-side-navbar", inputs: { version: "version" }, ngImport: i0, template: "<div class=\"sideNavbar\">\n <div class=\"title\" data-i18n=\"AppName\">Ziti Console</div>\n <div id=\"Version\" class=\"version\">{{version}}</div>\n <div id=\"CustomLogo\"></div>\n <div class=\"side-navigator-menu-container\">\n <div *ngFor=\"let group of currentNav.groups\" class=\"side-navigator-menu-group\">\n <span class=\"side-navigator-menu-group-label\">{{ group.label }}</span>\n <div *ngFor=\"let item of group.menuItems\">\n <div class=\"side-navigator-menu-item {{item.className}}\" [routerLink]=\"item.route\" *ngIf=\"!item.hidden\"\n [ngClass]=\"{ selected: item.selectedRoutes?.includes(url) }\">\n <div class=\"side-navigator-menu-item-icon\">\n <div class=\"image\" [ngClass]=\"item.iconClass\"></div>\n <span *ngIf=\"item.badgeCount\" class=\"counterBadge\">{{ item.badgeCount }}</span>\n </div>\n <span class=\"side-navigator-menu-item-label\">{{ item.label }}\n <span class=\"side-navigator-menu-item-sublabel\">{{item.sublabel}}</span>\n </span>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".sideNavbar{position:relative;display:inline-block;width:19.75rem;background-color:transparent;height:100%}.sideNavbar .title{color:var(--primary);filter:brightness(50%);font-family:Russo One,serif;text-align:center;font-size:1.5rem;line-height:3.5rem}.sideNavbar .navList{display:grid;grid-template-columns:100%;grid-row-gap:1.25rem;color:var(--white);margin-left:1.25rem}.sideNavbar .lock:before{color:var(--text)!important}.sideNavbar .lock{position:absolute;bottom:1.25rem;right:.625rem;width:1.875rem;height:1.875rem;font-size:1.875rem;line-height:1.875rem;text-align:center;opacity:.2;cursor:pointer;transition:.2s}.sideNavbar .lock:hover{opacity:.4}.sideNavbar .lock.locked{opacity:.6}.sideNavbar .version{position:absolute;bottom:1.25rem;width:100%;color:var(--text);opacity:.7;font-size:.875rem;right:0;left:0;display:flex;align-items:center;justify-content:center}.sideNavbar #CustomLogo{width:75%;height:6.25rem;position:absolute;bottom:3.0625rem;right:1.25rem;background-repeat:no-repeat;background-size:contain;background-position:center center}.sideNavbar [class^=icon-],.sideNavbar [class*=\" icon-\"]{font-family:zac,serif!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sideNavbar .side-navigator-menu-container,.sideNavbar .side-navigator-menu-container .side-navigator-menu-group{display:flex;flex-direction:column;width:100%;margin-bottom:.9375rem}.sideNavbar .side-navigator-menu-container .side-navigator-menu-group-label{margin-left:1.4375rem;color:var(--groupText);font-size:.875rem;position:relative;text-transform:uppercase;font-weight:600}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item{position:relative;display:flex;height:3.3125rem;cursor:pointer;align-items:center;padding-left:1.5625rem;margin-bottom:.3125rem;margin-top:.3125rem}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item.selected{background-color:var(--primaryColorShadowLight);border-right-color:var(--secondaryColor);border-right-width:.25rem;border-right-style:solid}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item.selected:hover{border-right-color:var(--secondaryColor)}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item:hover{background-color:var(--primaryColorShadowLight);border-right-color:var(--primaryColor);border-right-width:.25rem;border-right-style:solid;transition:.3s}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-icon{max-width:3.125rem;width:3.125rem;height:3.125rem;background-color:var(--white);box-shadow:var(--shadow);border-color:var(--white);transition:var(--transition);border-radius:var(--inputBorderRadius);display:flex;align-items:center;justify-content:center;border-width:var(--inputBorderWidth);flex:1 0 auto;border-style:solid;font-size:2.1875rem}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-icon:hover{box-shadow:0 .875rem 1.25rem #0000000d,0 .875rem 1.25rem #0000000d}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-icon .image:before{color:var(--primary)}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-label{color:var(--tableText);font-size:1rem;text-transform:unset;font-weight:600;text-align:left;font-family:Open Sans,serif;width:100%;margin-bottom:0;margin-left:.9375rem;display:flex}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-label .side-navigator-menu-item-sublabel{color:var(--placeholder);margin-left:.3125rem}.sideNavbar .headerNetworkList,.sideNavbar .headerTenantList{height:11.375rem;overflow-y:scroll}.sideNavbar .headerNetworkList .row,.sideNavbar .headerTenantList .row{color:var(--white);font-size:.875rem;font-weight:600;line-height:1.875rem;padding-left:2.8125rem;cursor:pointer;height:2rem;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;transition:.2s;position:relative}.sideNavbar .headerNetworkList .row.selected,.sideNavbar .headerTenantList .row.selected{color:var(--white);font-weight:800;font-family:Open Sans,serif}.sideNavbar .headerNetworkList .row:hover,.sideNavbar .headerTenantList .row:hover{background-color:var(--primaryColor);transition:.2s}.sideNavbar .headerNetworkList .row:active,.sideNavbar .headerTenantList .row:active{background-color:var(--primaryColor);filter:brightness(.95);transition:.2s}.sideNavbar .headerNetworkList .status,.sideNavbar .headerTenantList .status{width:1.5625rem;height:1.5625rem;top:.1875rem;left:.625rem}.sideNavbar #Networks .currentNetwork,.sideNavbar #Tenants .currentTenant{color:var(--white)}.sideNavbar .networks{border-color:var(--inputBorder);border-width:var(--inputBorderWidth);border-radius:var(--inputBorderRadius);border-style:solid;width:16.9375rem;height:2.5rem;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Stroke_Color' style%3D'enable-background%3Anew 0 0 20.2 10.8%3B' version%3D'1.1' viewBox%3D'0 0 20.2 10.8' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23668291%3B %7D%3C%2Fstyle%3E %3Cg%3E%09%3Cpath class%3D'st0' d%3D'M19.8%2C1.7c0%2C0.4-0.1%2C0.7-0.4%2C0.9l-8.5%2C7.3c-0.5%2C0.4-1.2%2C0.4-1.6%2C0L0.7%2C2.7C0.2%2C2.2%2C0.2%2C1.5%2C0.6%2C0.9%09%09c0.5-0.5%2C1.2-0.6%2C1.8-0.1l7.7%2C6.6l7.7-6.6c0.5-0.5%2C1.3-0.4%2C1.8%2C0.1C19.7%2C1.2%2C19.8%2C1.5%2C19.8%2C1.7z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\");background-position:center right .625rem;background-size:1.25rem .625rem;cursor:pointer;background-color:var(--background);animation:fadein .5s;position:relative;margin-top:1.125rem;margin-bottom:.625rem}.sideNavbar .currentNetwork{font-family:Russo One,serif;font-size:1.125rem;color:var(--tableText);padding-left:.625rem;line-height:2.25rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:1.25rem;width:16.1875rem}.sideNavbar #Networks{border-radius:var(--inputBorderRadius);height:0;width:101.5%;overflow:hidden;position:absolute;top:-.125rem;left:-.125rem;padding-top:.125rem;background-color:var(--menu);min-height:1.25rem;z-index:60;opacity:0;transition:.5s;pointer-events:none}.sideNavbar #Networks.opened{height:18.75rem;opacity:1;pointer-events:all}.sideNavbar #Networks .search.row{line-height:3.4375rem}.sideNavbar .counterBadge{display:flex;position:absolute;align-items:center;justify-content:center;top:.125rem;left:3.375rem;background-color:var(--red);box-shadow:0 .125rem .4375rem #ff0d4980;z-index:999;color:#fff;font-size:.75rem;font-weight:700;width:1.125rem;height:1.125rem;line-height:1.125rem;border-radius:.5625rem;font-family:Open Sans,serif}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
|
|
44
44
|
}
|
|
45
|
-
export { SideNavbarComponent };
|
|
46
45
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SideNavbarComponent, decorators: [{
|
|
47
46
|
type: Component,
|
|
48
|
-
args: [{ selector: 'lib-side-navbar', template: "<div class=\"sideNavbar\">\n <div class=\"title\" data-i18n=\"AppName\">Ziti Console</div>\n <div id=\"Version\" class=\"version\">{{version}}</div>\n <div id=\"CustomLogo\"></div>\n <div class=\"side-navigator-menu-container\">\n <div *ngFor=\"let group of currentNav.groups\" class=\"side-navigator-menu-group\">\n <span class=\"side-navigator-menu-group-label\">{{ group.label }}</span>\n <div *ngFor=\"let item of group.menuItems\">\n <div class=\"side-navigator-menu-item {{item.className}}\" [routerLink]=\"item.route\" *ngIf=\"!item.hidden\"\n [ngClass]=\"{ selected: item.selectedRoutes?.includes(url) }\">\n <div class=\"side-navigator-menu-item-icon\">\n <div class=\"image\" [ngClass]=\"item.iconClass\"></div>\n <span *ngIf=\"item.badgeCount\" class=\"counterBadge\">{{ item.badgeCount }}</span>\n </div>\n <span class=\"side-navigator-menu-item-label\">{{ item.label }}\n <span class=\"side-navigator-menu-item-sublabel\">{{item.sublabel}}</span>\n </span>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".sideNavbar{position:relative;display:inline-block;width:19.75rem;background-color:transparent;height:100%}.sideNavbar .title{color:var(--primary);filter:brightness(50%);font-family:Russo One,serif;text-align:center;font-size:1.5rem;line-height:3.5rem}.sideNavbar .navList{display:grid;grid-template-columns:100%;grid-row-gap:1.25rem;color:var(--white);margin-left:1.25rem}.sideNavbar .lock:before{color:var(--text)!important}.sideNavbar .lock{position:absolute;bottom:1.25rem;right:.625rem;width:1.875rem;height:1.875rem;font-size:1.875rem;line-height:1.875rem;text-align:center;opacity:.2;cursor:pointer;transition:.2s}.sideNavbar .lock:hover{opacity:.4}.sideNavbar .lock.locked{opacity:.6}.sideNavbar .version{position:absolute;bottom:1.25rem;width:100%;color:var(--text);opacity:.7;font-size:.875rem;right:0;left:0;display:flex;align-items:center;justify-content:center}.sideNavbar #CustomLogo{width:75%;height:6.25rem;position:absolute;bottom:3.0625rem;right:1.25rem;background-repeat:no-repeat;background-size:contain;background-position:center center}.sideNavbar [class^=icon-],.sideNavbar [class*=\" icon-\"]{font-family:zac,serif!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sideNavbar .side-navigator-menu-container,.sideNavbar .side-navigator-menu-container .side-navigator-menu-group{display:flex;flex-direction:column;width:100%;margin-bottom:.9375rem}.sideNavbar .side-navigator-menu-container .side-navigator-menu-group-label{margin-left:1.4375rem;color:var(--groupText);font-size:.875rem;position:relative;text-transform:uppercase;font-weight:600}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item{position:relative;display:flex;height:3.3125rem;cursor:pointer;align-items:center;padding-left:1.5625rem;margin-bottom:.3125rem;margin-top:.3125rem}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item.selected{background-color:var(--primaryColorShadowLight);border-right-color:var(--secondaryColor);border-right-width:.25rem;border-right-style:solid}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item.selected:hover{border-right-color:var(--secondaryColor)}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item:hover{background-color:var(--primaryColorShadowLight);border-right-color:var(--primaryColor);border-right-width:.25rem;border-right-style:solid;transition:.3s}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-icon{max-width:3.125rem;width:3.125rem;height:3.125rem;background-color:var(--white);box-shadow:var(--shadow);border-color:var(--white);transition:var(--transition);border-radius
|
|
47
|
+
args: [{ selector: 'lib-side-navbar', template: "<div class=\"sideNavbar\">\n <div class=\"title\" data-i18n=\"AppName\">Ziti Console</div>\n <div id=\"Version\" class=\"version\">{{version}}</div>\n <div id=\"CustomLogo\"></div>\n <div class=\"side-navigator-menu-container\">\n <div *ngFor=\"let group of currentNav.groups\" class=\"side-navigator-menu-group\">\n <span class=\"side-navigator-menu-group-label\">{{ group.label }}</span>\n <div *ngFor=\"let item of group.menuItems\">\n <div class=\"side-navigator-menu-item {{item.className}}\" [routerLink]=\"item.route\" *ngIf=\"!item.hidden\"\n [ngClass]=\"{ selected: item.selectedRoutes?.includes(url) }\">\n <div class=\"side-navigator-menu-item-icon\">\n <div class=\"image\" [ngClass]=\"item.iconClass\"></div>\n <span *ngIf=\"item.badgeCount\" class=\"counterBadge\">{{ item.badgeCount }}</span>\n </div>\n <span class=\"side-navigator-menu-item-label\">{{ item.label }}\n <span class=\"side-navigator-menu-item-sublabel\">{{item.sublabel}}</span>\n </span>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".sideNavbar{position:relative;display:inline-block;width:19.75rem;background-color:transparent;height:100%}.sideNavbar .title{color:var(--primary);filter:brightness(50%);font-family:Russo One,serif;text-align:center;font-size:1.5rem;line-height:3.5rem}.sideNavbar .navList{display:grid;grid-template-columns:100%;grid-row-gap:1.25rem;color:var(--white);margin-left:1.25rem}.sideNavbar .lock:before{color:var(--text)!important}.sideNavbar .lock{position:absolute;bottom:1.25rem;right:.625rem;width:1.875rem;height:1.875rem;font-size:1.875rem;line-height:1.875rem;text-align:center;opacity:.2;cursor:pointer;transition:.2s}.sideNavbar .lock:hover{opacity:.4}.sideNavbar .lock.locked{opacity:.6}.sideNavbar .version{position:absolute;bottom:1.25rem;width:100%;color:var(--text);opacity:.7;font-size:.875rem;right:0;left:0;display:flex;align-items:center;justify-content:center}.sideNavbar #CustomLogo{width:75%;height:6.25rem;position:absolute;bottom:3.0625rem;right:1.25rem;background-repeat:no-repeat;background-size:contain;background-position:center center}.sideNavbar [class^=icon-],.sideNavbar [class*=\" icon-\"]{font-family:zac,serif!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sideNavbar .side-navigator-menu-container,.sideNavbar .side-navigator-menu-container .side-navigator-menu-group{display:flex;flex-direction:column;width:100%;margin-bottom:.9375rem}.sideNavbar .side-navigator-menu-container .side-navigator-menu-group-label{margin-left:1.4375rem;color:var(--groupText);font-size:.875rem;position:relative;text-transform:uppercase;font-weight:600}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item{position:relative;display:flex;height:3.3125rem;cursor:pointer;align-items:center;padding-left:1.5625rem;margin-bottom:.3125rem;margin-top:.3125rem}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item.selected{background-color:var(--primaryColorShadowLight);border-right-color:var(--secondaryColor);border-right-width:.25rem;border-right-style:solid}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item.selected:hover{border-right-color:var(--secondaryColor)}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item:hover{background-color:var(--primaryColorShadowLight);border-right-color:var(--primaryColor);border-right-width:.25rem;border-right-style:solid;transition:.3s}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-icon{max-width:3.125rem;width:3.125rem;height:3.125rem;background-color:var(--white);box-shadow:var(--shadow);border-color:var(--white);transition:var(--transition);border-radius:var(--inputBorderRadius);display:flex;align-items:center;justify-content:center;border-width:var(--inputBorderWidth);flex:1 0 auto;border-style:solid;font-size:2.1875rem}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-icon:hover{box-shadow:0 .875rem 1.25rem #0000000d,0 .875rem 1.25rem #0000000d}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-icon .image:before{color:var(--primary)}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-label{color:var(--tableText);font-size:1rem;text-transform:unset;font-weight:600;text-align:left;font-family:Open Sans,serif;width:100%;margin-bottom:0;margin-left:.9375rem;display:flex}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-label .side-navigator-menu-item-sublabel{color:var(--placeholder);margin-left:.3125rem}.sideNavbar .headerNetworkList,.sideNavbar .headerTenantList{height:11.375rem;overflow-y:scroll}.sideNavbar .headerNetworkList .row,.sideNavbar .headerTenantList .row{color:var(--white);font-size:.875rem;font-weight:600;line-height:1.875rem;padding-left:2.8125rem;cursor:pointer;height:2rem;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;transition:.2s;position:relative}.sideNavbar .headerNetworkList .row.selected,.sideNavbar .headerTenantList .row.selected{color:var(--white);font-weight:800;font-family:Open Sans,serif}.sideNavbar .headerNetworkList .row:hover,.sideNavbar .headerTenantList .row:hover{background-color:var(--primaryColor);transition:.2s}.sideNavbar .headerNetworkList .row:active,.sideNavbar .headerTenantList .row:active{background-color:var(--primaryColor);filter:brightness(.95);transition:.2s}.sideNavbar .headerNetworkList .status,.sideNavbar .headerTenantList .status{width:1.5625rem;height:1.5625rem;top:.1875rem;left:.625rem}.sideNavbar #Networks .currentNetwork,.sideNavbar #Tenants .currentTenant{color:var(--white)}.sideNavbar .networks{border-color:var(--inputBorder);border-width:var(--inputBorderWidth);border-radius:var(--inputBorderRadius);border-style:solid;width:16.9375rem;height:2.5rem;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Stroke_Color' style%3D'enable-background%3Anew 0 0 20.2 10.8%3B' version%3D'1.1' viewBox%3D'0 0 20.2 10.8' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23668291%3B %7D%3C%2Fstyle%3E %3Cg%3E%09%3Cpath class%3D'st0' d%3D'M19.8%2C1.7c0%2C0.4-0.1%2C0.7-0.4%2C0.9l-8.5%2C7.3c-0.5%2C0.4-1.2%2C0.4-1.6%2C0L0.7%2C2.7C0.2%2C2.2%2C0.2%2C1.5%2C0.6%2C0.9%09%09c0.5-0.5%2C1.2-0.6%2C1.8-0.1l7.7%2C6.6l7.7-6.6c0.5-0.5%2C1.3-0.4%2C1.8%2C0.1C19.7%2C1.2%2C19.8%2C1.5%2C19.8%2C1.7z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\");background-position:center right .625rem;background-size:1.25rem .625rem;cursor:pointer;background-color:var(--background);animation:fadein .5s;position:relative;margin-top:1.125rem;margin-bottom:.625rem}.sideNavbar .currentNetwork{font-family:Russo One,serif;font-size:1.125rem;color:var(--tableText);padding-left:.625rem;line-height:2.25rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:1.25rem;width:16.1875rem}.sideNavbar #Networks{border-radius:var(--inputBorderRadius);height:0;width:101.5%;overflow:hidden;position:absolute;top:-.125rem;left:-.125rem;padding-top:.125rem;background-color:var(--menu);min-height:1.25rem;z-index:60;opacity:0;transition:.5s;pointer-events:none}.sideNavbar #Networks.opened{height:18.75rem;opacity:1;pointer-events:all}.sideNavbar #Networks .search.row{line-height:3.4375rem}.sideNavbar .counterBadge{display:flex;position:absolute;align-items:center;justify-content:center;top:.125rem;left:3.375rem;background-color:var(--red);box-shadow:0 .125rem .4375rem #ff0d4980;z-index:999;color:#fff;font-size:.75rem;font-weight:700;width:1.125rem;height:1.125rem;line-height:1.125rem;border-radius:.5625rem;font-family:Open Sans,serif}\n"] }]
|
|
49
48
|
}], ctorParameters: function () { return [{ type: i1.Router }, { type: undefined, decorators: [{
|
|
50
49
|
type: Inject,
|
|
51
50
|
args: [ZITI_NAVIGATOR]
|
|
52
51
|
}] }]; }, propDecorators: { version: [{
|
|
53
52
|
type: Input
|
|
54
53
|
}] } });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXZiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL3NpZGViYXJzL3NpZGUtbmF2YmFyL3NpZGUtbmF2YmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9zaWRlYmFycy9zaWRlLW5hdmJhci9zaWRlLW5hdmJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFrQixLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFDLGFBQWEsRUFBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQzs7OztBQU8vRCxNQUFNLE9BQU8sbUJBQW1CO0lBTTVCLFlBQ1ksTUFBYyxFQUNTLFVBQWU7UUFEdEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNTLGVBQVUsR0FBVixVQUFVLENBQUs7UUFQekMsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUN0QixTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixRQUFHLEdBQUcsRUFBRSxDQUFDO0lBTVQsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQyxJQUFJLEtBQUssWUFBWSxhQUFhLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdEM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNqQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDbkMsQ0FBQzsrR0F2QlEsbUJBQW1CLHdDQVFoQixjQUFjO21HQVJqQixtQkFBbUIsdUZDekJoQywwdkNBc0JBOzs0RkRHYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0ksaUJBQWlCOzswQkFZdEIsTUFBTTsyQkFBQyxjQUFjOzRDQVBqQixPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICAgIENvcHlyaWdodCBOZXRGb3VuZHJ5IEluYy5cblxuICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOYXZpZ2F0aW9uRW5kLCBSb3V0ZXJ9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7WklUSV9OQVZJR0FUT1J9IGZyb20gXCIuLi8uLi8uLi96aXRpLWNvbnNvbGUuY29uc3RhbnRzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXNpZGUtbmF2YmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2lkZS1uYXZiYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NpZGUtbmF2YmFyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2lkZU5hdmJhckNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgdmVyc2lvbiA9ICcnO1xuICAgIG9wZW4gPSB0cnVlO1xuICAgIGlzT3BlbmVkID0gZmFsc2U7XG4gICAgdXJsID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgQEluamVjdChaSVRJX05BVklHQVRPUikgcHVibGljIGN1cnJlbnROYXY6IGFueVxuICAgICkge1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICAgICAgICAgIHRoaXMudXJsID0gZXZlbnQudXJsLnNwbGl0KCc/JylbMF07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHRvZ2dsZUxpc3QoZXZlbnQ6IGFueSkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5pc09wZW5lZCA9ICF0aGlzLmlzT3BlbmVkO1xuICAgIH1cbn1cblxuIiwiPGRpdiBjbGFzcz1cInNpZGVOYXZiYXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIiBkYXRhLWkxOG49XCJBcHBOYW1lXCI+Wml0aSBDb25zb2xlPC9kaXY+XG4gICAgPGRpdiBpZD1cIlZlcnNpb25cIiBjbGFzcz1cInZlcnNpb25cIj57e3ZlcnNpb259fTwvZGl2PlxuICAgIDxkaXYgaWQ9XCJDdXN0b21Mb2dvXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNpZGUtbmF2aWdhdG9yLW1lbnUtY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGN1cnJlbnROYXYuZ3JvdXBzXCIgY2xhc3M9XCJzaWRlLW5hdmlnYXRvci1tZW51LWdyb3VwXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtbmF2aWdhdG9yLW1lbnUtZ3JvdXAtbGFiZWxcIj57eyBncm91cC5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ3JvdXAubWVudUl0ZW1zXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZGUtbmF2aWdhdG9yLW1lbnUtaXRlbSB7e2l0ZW0uY2xhc3NOYW1lfX1cIiBbcm91dGVyTGlua109XCJpdGVtLnJvdXRlXCIgKm5nSWY9XCIhaXRlbS5oaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyBzZWxlY3RlZDogaXRlbS5zZWxlY3RlZFJvdXRlcz8uaW5jbHVkZXModXJsKSB9XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaWRlLW5hdmlnYXRvci1tZW51LWl0ZW0taWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltYWdlXCIgW25nQ2xhc3NdPVwiaXRlbS5pY29uQ2xhc3NcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5iYWRnZUNvdW50XCIgY2xhc3M9XCJjb3VudGVyQmFkZ2VcIj57eyBpdGVtLmJhZGdlQ291bnQgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtbmF2aWdhdG9yLW1lbnUtaXRlbS1sYWJlbFwiPnt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1uYXZpZ2F0b3ItbWVudS1pdGVtLXN1YmxhYmVsXCI+e3tpdGVtLnN1YmxhYmVsfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -4,7 +4,7 @@ import * as i1 from "@angular/common";
|
|
|
4
4
|
import * as i2 from "@angular/forms";
|
|
5
5
|
import * as i3 from "@angular/cdk/bidi";
|
|
6
6
|
import * as i4 from "ng-click-outside";
|
|
7
|
-
class TagSelectorComponent {
|
|
7
|
+
export class TagSelectorComponent {
|
|
8
8
|
constructor() {
|
|
9
9
|
this._availableRoleAttributes = [];
|
|
10
10
|
this._availableNamedAttributes = [];
|
|
@@ -240,7 +240,6 @@ class TagSelectorComponent {
|
|
|
240
240
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TagSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
241
241
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TagSelectorComponent, selector: "lib-tag-selector", inputs: { placeholder: "placeholder", disableField: "disableField", disableCreate: "disableCreate", hideOption: "hideOption", isLoading: "isLoading", errorMessage: "errorMessage", focusOnInit: "focusOnInit", selectedRoleAttributes: "selectedRoleAttributes", selectedNamedAttributes: "selectedNamedAttributes", hasError: "hasError", availableRoleAttributes: "availableRoleAttributes", availableNamedAttributes: "availableNamedAttributes" }, outputs: { addRoleAttribute: "addRoleAttribute", addNamedAttribute: "addNamedAttribute", roleAttributeRemoved: "roleAttributeRemoved", namedAttributeRemoved: "namedAttributeRemoved", selectedRoleAttributesChange: "selectedRoleAttributesChange", selectedNamedAttributesChange: "selectedNamedAttributesChange", filterChange: "filterChange" }, viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true }, { propertyName: "dropdownWrapper", first: true, predicate: ["dropdownWrapper"], descendants: true }], ngImport: i0, template: "<span (clickOutside)=\"hide()\" [ngClass]=\"{ readOnly: disableField }\" class=\"clickOutside fullWidth tagsSelector\" >\n <span\n class=\"select2 select2-container select2-container--default select2-container--below select2-container--focus\"\n dir=\"ltr\"\n >\n <span class=\"selection\">\n <span\n [ngClass]=\"{ 'select2-selection-focus': !hideSelect, tagError: _hasError }\"\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n class=\"select2-selection select2-selection--multiple\"\n role=\"combobox\"\n tabindex=\"-1\"\n >\n <input\n (focus)=\"inputFocus()\"\n (keydown)=\"handleKeyDown($event);\"\n (keyup)=\"handleKeyUp($event, filterString);\"\n (mouseup)=\"applyFilterMouseUp()\"\n [(ngModel)]=\"filterString\"\n [disabled]=\"disableField\"\n [ngClass]=\"{ empty: isNothingSelected, tagError: _hasError }\"\n aria-autocomplete=\"list\"\n autocapitalize=\"off\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n class=\"select2-search__field\"\n placeholder=\"{{disableField ? (isNothingSelected ? 'Nothing selected' : '') : placeholder}}\"\n role=\"textbox\"\n spellcheck=\"false\"\n tabindex=\"0\"\n type=\"search\"\n #search\n />\n <span *ngIf=\"isLoading\" class=\"spinner\"></span>\n\n <ul\n (click)=\"openSelect()\"\n [ngClass]=\"{ error: _hasError, readOnly: disableField, empty: isNothingSelected }\"\n class=\"select2-selection__rendered\"\n >\n <li\n (click)=\"$event.stopPropagation()\"\n *ngFor=\"let item of _selectedRoleAttributes\"\n [hidden]=\"item === this.hideOption\"\n class=\"hashtag select2-selection__choice\"\n title=\"#{{ item }}\"\n >\n <span\n (click)=\"removeRoleAttribute(item); $event.stopPropagation()\"\n class=\"select2-selection__choice__remove\"\n role=\"presentation\"\n >\u00D7</span\n ><span class=\"select2-selection__choice__text\">#{{ item }}</span>\n </li>\n <li\n (click)=\"$event.stopPropagation()\"\n *ngFor=\"let item of _selectedNamedAttributes\"\n [hidden]=\"item === this.hideOption\"\n class=\"select2-selection_choice_item\"\n >\n <div class=\"attag select2-selection__choice\" title=\"@{{ item }}\">\n <span\n class=\"select2-selection__choice__remove\"\n role=\"presentation\"\n >\u00D7</span\n ><span class=\"select2-selection__choice__text\">@{{ item }}</span>\n </div>\n <div class=\"tag-name select2-selection__choice\" title=\"@{{ item }}\">\n <span\n (click)=\"removeNamedAttribute(item); $event.stopPropagation()\"\n class=\"select2-selection__choice__remove\"\n role=\"presentation\"\n >\u00D7</span\n ><span class=\"select2-selection__choice__text\">@{{ item }}</span>\n </div>\n </li>\n </ul>\n </span>\n </span>\n <span aria-hidden=\"true\" class=\"dropdown-wrapper\" tabindex=\"-1\" #dropdownWrapper></span>\n </span>\n <span *ngIf=\"_hasError\" class=\"err\">\n {{ errorMessage }}\n </span>\n\n <span\n *ngIf=\"!hideSelect\"\n [ngClass]=\"{ withBorder: !hideSelect }\"\n class=\"nf-select2-dropdown select2-dropdown--below\"\n dir=\"ltr\"\n >\n <span class=\"select2-results\">\n <ul\n aria-expanded=\"true\"\n aria-hidden=\"false\"\n aria-multiselectable=\"true\"\n class=\"select2-results__options\"\n role=\"tree\"\n >\n <li\n (click)=\"addNewAttribute(filterString)\"\n [hidden]=\"filterString === '' || isAttributeSelected(filterString)\"\n aria-selected=\"false\"\n class=\"select2-results__option hashtag\"\n role=\"treeitem\"\n title=\"{{ filterString }} (New Attribute)\"\n >\n {{ filterString }} (New Attribute)\n </li>\n <li\n (click)=\"addSelectedRoleAttribute(option)\"\n *ngFor=\"let option of displayedRoleOptions\"\n [hidden]=\"option === this.hideOption || isSelected(option)\"\n aria-selected=\"false\"\n class=\"hashtag select2-results__option\"\n role=\"treeitem\"\n >\n #{{ option }}\n </li>\n <li\n (click)=\"addSelectedNamedAttribute(option)\"\n *ngFor=\"let option of displayedNamedOptions\"\n [hidden]=\"option === this.hideOption || isSelected(option)\"\n aria-selected=\"false\"\n >\n <div class=\"attag select2-results__option\" title=\"@{{ option }}\" role=\"treeitem\">\n @{{ option }}\n </div>\n <div class=\"tag-name select2-results__option\" title=\"@{{ option }}\" role=\"treeitem\">\n @{{ option }}\n </div>\n </li>\n </ul>\n </span>\n </span>\n</span>\n", styles: [".searchSelector .tagButton{cursor:pointer;transition:.5s}.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container.select2-container--focus .select2-selection.select2-selection-focus{border-color:var(--primaryColor)}.select2-container.select2-container--focus .select2-selection .select2-selection__choice__text{cursor:text;user-select:text;-webkit-user-select:text}.select2-container--default .select2-selection--multiple input{height:calc(var(--defaultInputHeight) - .1875rem)}.select2-container--default .select2-selection--multiple .select2-selection__choice{overflow:hidden;text-wrap:wrap;display:flex}.select2-container--default .select2-selection--multiple .select2-selection__choice.attag{background-color:var(--secondary);color:transparent;position:absolute}.select2-container--default .select2-selection--multiple .select2-selection__choice.tag-name{background-color:transparent}.select2-results__options li{display:flex;flex-direction:row;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;position:relative}.select2-results__options li[hidden]{display:none}.select2-results__option.tag-name,.select2-results__option.attag,.select2-results__option.hashtag,.select2-selection__choice.tag-name,.select2-selection__choice.attag,.select2-selection__choice.hashtag{margin-bottom:0rem;margin-top:0rem;font-size:1rem;font-weight:600;line-height:unset;padding:.3125rem .625rem;float:left;border-radius:var(--inputBorderRadius);margin-left:.125rem;transition:var(--transition);overflow:hidden;text-wrap:wrap;display:flex}.select2-results__option.hashtag,.select2-selection__choice.hashtag{background-color:var(--primary);position:relative;color:var(--white)}.select2-results__option.attag,.select2-selection__choice.attag{background-color:var(--secondary);color:transparent;position:absolute}.select2-results__option.tag-name,.select2-selection__choice.tag-name{background-color:transparent;position:relative;color:var(--white)}.err{color:var(--red)!important}.select2-selection{border-radius:var(--inputBorderRadius);border-width:var(--inputBorderWidth);border-color:var(--inputBorder);border-style:solid;color:var(--white);padding-left:0rem}.select2-selection.select2-selection-focus{border-color:var(--primaryColor)}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:1.75rem;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:.5rem;padding-right:1.25rem;overflow-y:auto;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:.5rem;padding-left:1.25rem}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;min-height:2rem;user-select:none;-webkit-user-select:none;border-radius:var(--inputBorderRadius);border:.125rem solid var(--stroke);color:var(--white);padding-left:0;background-color:var(--table);overflow:hidden}.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection_choice_item{width:-moz-fit-content;width:fit-content;overflow:hidden;position:relative}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow-y:auto;overflow-x:hidden;padding-left:.5rem;padding-right:.5rem;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:.3125rem;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-results{display:flex;flex-grow:1;height:-moz-fit-content;height:fit-content;width:100%;gap:.625rem;padding:.625rem}.select2-results__options{list-style:none;margin:0;padding:0;display:flex;flex-flow:wrap;width:100%;gap:.3125rem}.select2-results__option{display:flex;height:-moz-fit-content;height:fit-content;padding-left:.625rem;padding-top:.125rem;padding-bottom:.125rem;font-size:1rem;font-weight:600;user-select:none;-webkit-user-select:none;margin:0}.select2-results__option[hidden]{display:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:.25rem}.select2-search--dropdown .select2-search__field{padding:.25rem;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:.0625rem!important;margin:-.0625rem!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:.0625rem!important}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 .25rem .3125rem .25rem}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;width:100%;background-color:var(--background);border-radius:.3125rem;border-top-right-radius:0;border-top-left-radius:0;display:flex;flex-wrap:wrap;gap:.3125rem;padding:0rem .3125rem .3125rem}.select2-container--default .select2-selection--multiple .select2-selection__rendered.empty{padding:0;margin:0}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:var(--placeholder);margin-top:.3125rem;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:400;margin-top:.3125rem;margin-right:.625rem}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:var(--white);cursor:pointer;display:inline-block;font-weight:400;margin-right:.25rem}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:var(--white);filter:brightness(90%);transition:.3s}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:active{filter:brightness(80%);transform:scale(.97);transition:.3s}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__placeholder,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:.3125rem;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:.125rem;margin-right:auto}.readOnly{opacity:.75;cursor:default}.readOnly .select2-container .select2-selection__rendered:not(.empty){min-height:var(--defaultInputHeight)}.readOnly .select2-container input:disabled{font-weight:600;font-family:Open Sans,Arial,sans-serif;height:0rem!important;width:100%;padding-left:.625rem;padding-right:.625rem;margin-bottom:0rem;border:none;outline:none;box-sizing:border-box;box-shadow:none;cursor:text;text-align:left;background-color:var(--background)!important;color:var(--tableText);text-transform:none}.readOnly .select2-container input:disabled:hover{box-shadow:none;filter:none}.readOnly .select2-container input:disabled.empty{height:3.125rem}.fullModal .select2-container--default.select2-container--focus .select2-selection--multiple{border-radius:var(--inputBorderRadius);border:.125rem solid var(--inputBorder);color:var(--white);padding-left:0}.fullModal .select2-container--default .select2-selection--multiple .select2-selection__rendered{margin-bottom:-.1875rem;border-color:var(--primaryColor)}.fullModal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{position:absolute;left:.625rem;font-size:1.625rem;cursor:pointer;display:inline-block;font-weight:400;margin-right:.125rem;color:var(--white)}.fullModal .select2-container--default .select2-selection--multiple{background-color:unset}.fullModal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:var(--primaryColor)}.select2-container .select2-dropdown{background-color:var(--background)}.select2-container.select2-container--default .select2-results__option[aria-selected=true]{background-color:var(--primaryColor)}.nf-select2-dropdown{background-color:var(--menu);border-top:0rem;border-radius:var(--inputBorderRadius);color:var(--white);box-sizing:border-box;display:flex;flex-grow:1;height:-moz-fit-content;height:fit-content;position:absolute;width:100%;z-index:99999;max-height:12.5rem;overflow:auto;font-weight:600;margin-top:.0625rem;box-shadow:0 0 0 .0625rem var(--shadow),0 .5rem 1rem var(--shadow)!important}.select2-results__option:hover{background-color:var(--icon)!important;color:var(--white);cursor:pointer}.select2-search__field{border-width:0rem;width:100%}.select2-container input{padding-top:.125rem;border-radius:0}.select2-container--below.select2-container--focus{width:75%}.nf-select2-dropdown.select2-dropdown--below{width:31.4375rem}.roleForm .select2-container--below.select2-container--focus,.roleForm .nf-select2-dropdown.select2-dropdown--below{width:26.0625rem}.fullWidth .select2-container--below.select2-container--focus,.fullWidth .nf-select2-dropdown.select2-dropdown--below{width:100%}.nf-select2-dropdown.select2-dropdown--below.withBorder{border:none}input{box-shadow:none;font-size:.875rem}.tagError{border-color:var(--red)!important}::ng-deep .select2-container ::placeholder{color:var(--placeholder)}.spinner{position:absolute;right:1em;top:1em;display:inline-block;width:2rem;height:2rem;border-radius:50%;background:transparent;border-top:.3125rem solid var(--placeholder);border-right:.3125rem solid var(--placeholder);border-bottom:.3125rem solid transparent;border-left:.3125rem solid transparent;animation:loading .5s infinite linear}.tagsSelector.clickOutside{position:relative}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "directive", type: i4.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }] }); }
|
|
242
242
|
}
|
|
243
|
-
export { TagSelectorComponent };
|
|
244
243
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TagSelectorComponent, decorators: [{
|
|
245
244
|
type: Component,
|
|
246
245
|
args: [{ selector: 'lib-tag-selector', template: "<span (clickOutside)=\"hide()\" [ngClass]=\"{ readOnly: disableField }\" class=\"clickOutside fullWidth tagsSelector\" >\n <span\n class=\"select2 select2-container select2-container--default select2-container--below select2-container--focus\"\n dir=\"ltr\"\n >\n <span class=\"selection\">\n <span\n [ngClass]=\"{ 'select2-selection-focus': !hideSelect, tagError: _hasError }\"\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n class=\"select2-selection select2-selection--multiple\"\n role=\"combobox\"\n tabindex=\"-1\"\n >\n <input\n (focus)=\"inputFocus()\"\n (keydown)=\"handleKeyDown($event);\"\n (keyup)=\"handleKeyUp($event, filterString);\"\n (mouseup)=\"applyFilterMouseUp()\"\n [(ngModel)]=\"filterString\"\n [disabled]=\"disableField\"\n [ngClass]=\"{ empty: isNothingSelected, tagError: _hasError }\"\n aria-autocomplete=\"list\"\n autocapitalize=\"off\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n class=\"select2-search__field\"\n placeholder=\"{{disableField ? (isNothingSelected ? 'Nothing selected' : '') : placeholder}}\"\n role=\"textbox\"\n spellcheck=\"false\"\n tabindex=\"0\"\n type=\"search\"\n #search\n />\n <span *ngIf=\"isLoading\" class=\"spinner\"></span>\n\n <ul\n (click)=\"openSelect()\"\n [ngClass]=\"{ error: _hasError, readOnly: disableField, empty: isNothingSelected }\"\n class=\"select2-selection__rendered\"\n >\n <li\n (click)=\"$event.stopPropagation()\"\n *ngFor=\"let item of _selectedRoleAttributes\"\n [hidden]=\"item === this.hideOption\"\n class=\"hashtag select2-selection__choice\"\n title=\"#{{ item }}\"\n >\n <span\n (click)=\"removeRoleAttribute(item); $event.stopPropagation()\"\n class=\"select2-selection__choice__remove\"\n role=\"presentation\"\n >\u00D7</span\n ><span class=\"select2-selection__choice__text\">#{{ item }}</span>\n </li>\n <li\n (click)=\"$event.stopPropagation()\"\n *ngFor=\"let item of _selectedNamedAttributes\"\n [hidden]=\"item === this.hideOption\"\n class=\"select2-selection_choice_item\"\n >\n <div class=\"attag select2-selection__choice\" title=\"@{{ item }}\">\n <span\n class=\"select2-selection__choice__remove\"\n role=\"presentation\"\n >\u00D7</span\n ><span class=\"select2-selection__choice__text\">@{{ item }}</span>\n </div>\n <div class=\"tag-name select2-selection__choice\" title=\"@{{ item }}\">\n <span\n (click)=\"removeNamedAttribute(item); $event.stopPropagation()\"\n class=\"select2-selection__choice__remove\"\n role=\"presentation\"\n >\u00D7</span\n ><span class=\"select2-selection__choice__text\">@{{ item }}</span>\n </div>\n </li>\n </ul>\n </span>\n </span>\n <span aria-hidden=\"true\" class=\"dropdown-wrapper\" tabindex=\"-1\" #dropdownWrapper></span>\n </span>\n <span *ngIf=\"_hasError\" class=\"err\">\n {{ errorMessage }}\n </span>\n\n <span\n *ngIf=\"!hideSelect\"\n [ngClass]=\"{ withBorder: !hideSelect }\"\n class=\"nf-select2-dropdown select2-dropdown--below\"\n dir=\"ltr\"\n >\n <span class=\"select2-results\">\n <ul\n aria-expanded=\"true\"\n aria-hidden=\"false\"\n aria-multiselectable=\"true\"\n class=\"select2-results__options\"\n role=\"tree\"\n >\n <li\n (click)=\"addNewAttribute(filterString)\"\n [hidden]=\"filterString === '' || isAttributeSelected(filterString)\"\n aria-selected=\"false\"\n class=\"select2-results__option hashtag\"\n role=\"treeitem\"\n title=\"{{ filterString }} (New Attribute)\"\n >\n {{ filterString }} (New Attribute)\n </li>\n <li\n (click)=\"addSelectedRoleAttribute(option)\"\n *ngFor=\"let option of displayedRoleOptions\"\n [hidden]=\"option === this.hideOption || isSelected(option)\"\n aria-selected=\"false\"\n class=\"hashtag select2-results__option\"\n role=\"treeitem\"\n >\n #{{ option }}\n </li>\n <li\n (click)=\"addSelectedNamedAttribute(option)\"\n *ngFor=\"let option of displayedNamedOptions\"\n [hidden]=\"option === this.hideOption || isSelected(option)\"\n aria-selected=\"false\"\n >\n <div class=\"attag select2-results__option\" title=\"@{{ option }}\" role=\"treeitem\">\n @{{ option }}\n </div>\n <div class=\"tag-name select2-results__option\" title=\"@{{ option }}\" role=\"treeitem\">\n @{{ option }}\n </div>\n </li>\n </ul>\n </span>\n </span>\n</span>\n", styles: [".searchSelector .tagButton{cursor:pointer;transition:.5s}.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container.select2-container--focus .select2-selection.select2-selection-focus{border-color:var(--primaryColor)}.select2-container.select2-container--focus .select2-selection .select2-selection__choice__text{cursor:text;user-select:text;-webkit-user-select:text}.select2-container--default .select2-selection--multiple input{height:calc(var(--defaultInputHeight) - .1875rem)}.select2-container--default .select2-selection--multiple .select2-selection__choice{overflow:hidden;text-wrap:wrap;display:flex}.select2-container--default .select2-selection--multiple .select2-selection__choice.attag{background-color:var(--secondary);color:transparent;position:absolute}.select2-container--default .select2-selection--multiple .select2-selection__choice.tag-name{background-color:transparent}.select2-results__options li{display:flex;flex-direction:row;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;position:relative}.select2-results__options li[hidden]{display:none}.select2-results__option.tag-name,.select2-results__option.attag,.select2-results__option.hashtag,.select2-selection__choice.tag-name,.select2-selection__choice.attag,.select2-selection__choice.hashtag{margin-bottom:0rem;margin-top:0rem;font-size:1rem;font-weight:600;line-height:unset;padding:.3125rem .625rem;float:left;border-radius:var(--inputBorderRadius);margin-left:.125rem;transition:var(--transition);overflow:hidden;text-wrap:wrap;display:flex}.select2-results__option.hashtag,.select2-selection__choice.hashtag{background-color:var(--primary);position:relative;color:var(--white)}.select2-results__option.attag,.select2-selection__choice.attag{background-color:var(--secondary);color:transparent;position:absolute}.select2-results__option.tag-name,.select2-selection__choice.tag-name{background-color:transparent;position:relative;color:var(--white)}.err{color:var(--red)!important}.select2-selection{border-radius:var(--inputBorderRadius);border-width:var(--inputBorderWidth);border-color:var(--inputBorder);border-style:solid;color:var(--white);padding-left:0rem}.select2-selection.select2-selection-focus{border-color:var(--primaryColor)}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:1.75rem;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:.5rem;padding-right:1.25rem;overflow-y:auto;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:.5rem;padding-left:1.25rem}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;min-height:2rem;user-select:none;-webkit-user-select:none;border-radius:var(--inputBorderRadius);border:.125rem solid var(--stroke);color:var(--white);padding-left:0;background-color:var(--table);overflow:hidden}.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection_choice_item{width:-moz-fit-content;width:fit-content;overflow:hidden;position:relative}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow-y:auto;overflow-x:hidden;padding-left:.5rem;padding-right:.5rem;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:.3125rem;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-results{display:flex;flex-grow:1;height:-moz-fit-content;height:fit-content;width:100%;gap:.625rem;padding:.625rem}.select2-results__options{list-style:none;margin:0;padding:0;display:flex;flex-flow:wrap;width:100%;gap:.3125rem}.select2-results__option{display:flex;height:-moz-fit-content;height:fit-content;padding-left:.625rem;padding-top:.125rem;padding-bottom:.125rem;font-size:1rem;font-weight:600;user-select:none;-webkit-user-select:none;margin:0}.select2-results__option[hidden]{display:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:.25rem}.select2-search--dropdown .select2-search__field{padding:.25rem;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:.0625rem!important;margin:-.0625rem!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:.0625rem!important}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 .25rem .3125rem .25rem}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;width:100%;background-color:var(--background);border-radius:.3125rem;border-top-right-radius:0;border-top-left-radius:0;display:flex;flex-wrap:wrap;gap:.3125rem;padding:0rem .3125rem .3125rem}.select2-container--default .select2-selection--multiple .select2-selection__rendered.empty{padding:0;margin:0}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:var(--placeholder);margin-top:.3125rem;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:400;margin-top:.3125rem;margin-right:.625rem}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:var(--white);cursor:pointer;display:inline-block;font-weight:400;margin-right:.25rem}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:var(--white);filter:brightness(90%);transition:.3s}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:active{filter:brightness(80%);transform:scale(.97);transition:.3s}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__placeholder,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:.3125rem;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:.125rem;margin-right:auto}.readOnly{opacity:.75;cursor:default}.readOnly .select2-container .select2-selection__rendered:not(.empty){min-height:var(--defaultInputHeight)}.readOnly .select2-container input:disabled{font-weight:600;font-family:Open Sans,Arial,sans-serif;height:0rem!important;width:100%;padding-left:.625rem;padding-right:.625rem;margin-bottom:0rem;border:none;outline:none;box-sizing:border-box;box-shadow:none;cursor:text;text-align:left;background-color:var(--background)!important;color:var(--tableText);text-transform:none}.readOnly .select2-container input:disabled:hover{box-shadow:none;filter:none}.readOnly .select2-container input:disabled.empty{height:3.125rem}.fullModal .select2-container--default.select2-container--focus .select2-selection--multiple{border-radius:var(--inputBorderRadius);border:.125rem solid var(--inputBorder);color:var(--white);padding-left:0}.fullModal .select2-container--default .select2-selection--multiple .select2-selection__rendered{margin-bottom:-.1875rem;border-color:var(--primaryColor)}.fullModal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{position:absolute;left:.625rem;font-size:1.625rem;cursor:pointer;display:inline-block;font-weight:400;margin-right:.125rem;color:var(--white)}.fullModal .select2-container--default .select2-selection--multiple{background-color:unset}.fullModal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:var(--primaryColor)}.select2-container .select2-dropdown{background-color:var(--background)}.select2-container.select2-container--default .select2-results__option[aria-selected=true]{background-color:var(--primaryColor)}.nf-select2-dropdown{background-color:var(--menu);border-top:0rem;border-radius:var(--inputBorderRadius);color:var(--white);box-sizing:border-box;display:flex;flex-grow:1;height:-moz-fit-content;height:fit-content;position:absolute;width:100%;z-index:99999;max-height:12.5rem;overflow:auto;font-weight:600;margin-top:.0625rem;box-shadow:0 0 0 .0625rem var(--shadow),0 .5rem 1rem var(--shadow)!important}.select2-results__option:hover{background-color:var(--icon)!important;color:var(--white);cursor:pointer}.select2-search__field{border-width:0rem;width:100%}.select2-container input{padding-top:.125rem;border-radius:0}.select2-container--below.select2-container--focus{width:75%}.nf-select2-dropdown.select2-dropdown--below{width:31.4375rem}.roleForm .select2-container--below.select2-container--focus,.roleForm .nf-select2-dropdown.select2-dropdown--below{width:26.0625rem}.fullWidth .select2-container--below.select2-container--focus,.fullWidth .nf-select2-dropdown.select2-dropdown--below{width:100%}.nf-select2-dropdown.select2-dropdown--below.withBorder{border:none}input{box-shadow:none;font-size:.875rem}.tagError{border-color:var(--red)!important}::ng-deep .select2-container ::placeholder{color:var(--placeholder)}.spinner{position:absolute;right:1em;top:1em;display:inline-block;width:2rem;height:2rem;border-radius:50%;background:transparent;border-top:.3125rem solid var(--placeholder);border-right:.3125rem solid var(--placeholder);border-bottom:.3125rem solid transparent;border-left:.3125rem solid transparent;animation:loading .5s infinite linear}.tagsSelector.clickOutside{position:relative}\n"] }]
|
|
@@ -289,4 +288,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
289
288
|
}], availableNamedAttributes: [{
|
|
290
289
|
type: Input
|
|
291
290
|
}] } });
|
|
292
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy90YWctc2VsZWN0b3IvdGFnLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy90YWctc2VsZWN0b3IvdGFnLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBRW5ILE1BS2Esb0JBQW9CO0lBNEIvQjtRQTNCQSw2QkFBd0IsR0FBVSxFQUFFLENBQUM7UUFDckMsOEJBQXlCLEdBQVUsRUFBRSxDQUFDO1FBRTdCLGdCQUFXLEdBQUcsUUFBUSxDQUFDO1FBQ3ZCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUNsQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNuQixxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzNDLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDNUMseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMvQywwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2hELGlDQUE0QixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDdkQsa0NBQTZCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN4RCxpQkFBWSxH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bkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBQ0csNEJBQTRCO3NCQUFyQyxNQUFNO2dCQUNHLDZCQUE2QjtzQkFBdEMsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQVFjLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUTtnQkFDVyxlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFhZixzQkFBc0I7c0JBQWxDLEtBQUs7Z0JBU08sdUJBQXVCO3NCQUFuQyxLQUFLO2dCQVNPLFFBQVE7c0JBQXBCLEtBQUs7Z0JBSU8sdUJBQXVCO3NCQUFuQyxLQUFLO2dCQU9PLHdCQUF3QjtzQkFBcEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXRhZy1zZWxlY3RvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWctc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWctc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFnU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgX2F2YWlsYWJsZVJvbGVBdHRyaWJ1dGVzOiBhbnlbXSA9IFtdO1xuICBfYXZhaWxhYmxlTmFtZWRBdHRyaWJ1dGVzOiBhbnlbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJ1NlbGVjdCc7XG4gIEBJbnB1dCgpIGRpc2FibGVGaWVsZCA9IGZhbHNlO1xuICBASW5wdXQoKSBkaXNhYmxlQ3JlYXRlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhpZGVPcHRpb24gPSAnJztcbiAgQElucHV0KCkgaXNMb2FkaW5nID0gZmFsc2U7XG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZSA9ICcnO1xuICBASW5wdXQoKSBmb2N1c09uSW5pdCA9IGZhbHNlO1xuICBAT3V0cHV0KCkgYWRkUm9sZUF0dHJpYnV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgYWRkTmFtZWRBdHRyaWJ1dGUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHJvbGVBdHRyaWJ1dGVSZW1vdmVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBuYW1lZEF0dHJpYnV0ZVJlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHNlbGVjdGVkUm9sZUF0dHJpYnV0ZXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHNlbGVjdGVkTmFtZWRBdHRyaWJ1dGVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBmaWx0ZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBoaWRlU2VsZWN0ID0gdHJ1ZTtcbiAgZGlzcGxheWVkUm9sZU9wdGlvbnM6IGFueVtdID0gW107XG4gIGRpc3BsYXllZE5hbWVkT3B0aW9uczogYW55W10gPSBbXTtcbiAgZmlsdGVyU3RyaW5nID0gJyc7XG4gIF9oYXNoQXR0cmlidXRlcyA9IHt9O1xuXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaCcpIHNlYXJjaDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd25XcmFwcGVyJykgZHJvcGRvd25XcmFwcGVyOiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLmZvY3VzT25Jbml0KSB7XG4gICAgICAgIHRoaXMuc2VhcmNoLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBfc2VsZWN0ZWRSb2xlQXR0cmlidXRlczogYW55W10gPSBbXTtcblxuICBASW5wdXQoKSBzZXQgc2VsZWN0ZWRSb2xlQXR0cmlidXRlcyhhdHRyczogYW55KSB7XG4gICAgaWYgKGF0dHJzKSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZFJvbGVBdHRyaWJ1dGVzID0gYXR0cnM7XG4gICAgICB0aGlzLl9maWx0ZXJBdHRyaWJ1dGVzKCk7XG4gICAgfVxuICB9XG5cbiAgX3NlbGVjdGVkTmFtZWRBdHRyaWJ1dGVzOiBhbnlbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIHNldCBzZWxlY3RlZE5hbWVkQXR0cmlidXRlcyhhdHRyczogYW55KSB7XG4gICAgaWYgKGF0dHJzKSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZE5hbWVkQXR0cmlidXRlcyA9IGF0dHJzO1xuICAgICAgdGhpcy5fZmlsdGVyQXR0cmlidXRlcygpO1xuICAgIH1cbiAgfVxuXG4gIF9oYXNFcnJvciA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHNldCBoYXNFcnJvcih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2hhc0Vycm9yID0gdmFsdWU7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgYXZhaWxhYmxlUm9sZUF0dHJpYnV0ZXMoYXR0cnM6IGFueSkge1xuICAgIGlmIChhdHRycykge1xuICAgICAgdGhpcy5fYXZhaWxhYmxlUm9sZUF0dHJpYnV0ZXMgPSBhdHRycztcbiAgICAgIHRoaXMuX2ZpbHRlckF0dHJpYnV0ZXMoKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKSBzZXQgYXZhaWxhYmxlTmFtZWRBdHRyaWJ1dGVzKGF0dHJzOiBhbnkpIHtcbiAgICBpZiAoYXR0cnMpIHtcbiAgICAgIHRoaXMuX2F2YWlsYWJsZU5hbWVkQXR0cmlidXRlcyA9IGF0dHJzO1xuICAgICAgdGhpcy5fZmlsdGVyQXR0cmlidXRlcygpO1xuICAgIH1cbiAgfVxuXG4gIGlzU2VsZWN0ZWQoaXRlbTogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaXNBdHRyaWJ1dGVTZWxlY3RlZChpdGVtKTtcbiAgfVxuXG4gIGFkZFNlbGVjdGVkUm9sZUF0dHJpYnV0ZShpdGVtOiBhbnkpIHtcbiAgICBpZiAoIXRoaXMuaXNBdHRyaWJ1dGVTZWxlY3RlZChpdGVtKSkge1xuICAgICAgdGhpcy5hZGRSb2xlQXR0cmlidXRlLmVtaXQoaXRlbSk7XG4gICAgICB0aGlzLl9zZWxlY3RlZFJvbGVBdHRyaWJ1dGVzLnB1c2goaXRlbSk7XG4gICAgICB0aGlzLnNlbGVjdGVkUm9sZUF0dHJpYnV0ZXNDaGFuZ2UuZW1pdCh0aGlzLl9zZWxlY3RlZFJvbGVBdHRyaWJ1dGVzKTtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIGFkZFNlbGVjdGVkTmFtZWRBdHRyaWJ1dGUoaXRlbTogYW55KSB7XG4gICAgaWYgKCF0aGlzLmlzQXR0cmlidXRlU2VsZWN0ZWQoaXRlbSkpIHtcbiAgICAgIHRoaXMuYWRkTmFtZWRBdHRyaWJ1dGUuZW1pdChpdGVtKTtcbiAgICAgIHRoaXMuX3NlbGVjdGVkTmFtZWRBdHRyaWJ1dGVzLnB1c2goaXRlbSk7XG4gICAgICB0aGlzLnNlbGVjdGVkTmFtZWRBdHRyaWJ1dGVzQ2hhbmdlLmVtaXQodGhpcy5fc2VsZWN0ZWROYW1lZEF0dHJpYnV0ZXMpO1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgaXNBdHRyaWJ1dGVTZWxlY3RlZChhdHRyaWJ1dGUpIHtcbiAgICBpZighYXR0cmlidXRlIHx8IGF0dHJpYnV0ZS5sZW5ndGggPD0gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoYXR0cmlidXRlLmNoYXJBdCgwKSA9PT0gJyMnIHx8IGF0dHJpYnV0ZS5jaGFyQXQoMCkgPT09ICdAJykge1xuICAgICAgYXR0cmlidXRlID0gYXR0cmlidXRlLnN1YnN0cmluZygxKTtcbiAgICB9XG4gICAgbGV0IHNlbGVjdGVkID0gZmFsc2U7XG4gICAgdGhpcy5fc2VsZWN0ZWRSb2xlQXR0cmlidXRlcy5mb3JFYWNoKChhdHRyKSA9PiB7XG4gICAgICBpZihhdHRyID09PSBhdHRyaWJ1dGUpIHtcbiAgICAgICAgc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuX3NlbGVjdGVkTmFtZWRBdHRyaWJ1dGVzLmZvckVhY2goKGF0dHIpID0+IHtcbiAgICAgIGlmKGF0dHIgPT09IGF0dHJpYnV0ZSkge1xuICAgICAgICBzZWxlY3RlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHNlbGVjdGVkO1xuICB9XG5cbiAgcmVtb3ZlUm9sZUF0dHJpYnV0ZShpdGVtOiBhbnkpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZUZpZWxkKSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZFJvbGVBdHRyaWJ1dGVzID0gdGhpcy5fc2VsZWN0ZWRSb2xlQXR0cmlidXRlcy5maWx0ZXIoKGF0dHIpID0+IHtcbiAgICAgICAgcmV0dXJuIGF0dHIgIT09IGl0ZW07XG4gICAgICB9KTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb2xlQXR0cmlidXRlc0NoYW5nZS5lbWl0KHRoaXMuX3NlbGVjdGVkUm9sZUF0dHJpYnV0ZXMpO1xuICAgICAgdGhpcy5yb2xlQXR0cmlidXRlUmVtb3ZlZC5lbWl0KGl0ZW0pO1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlTmFtZWRBdHRyaWJ1dGUoaXRlbTogYW55KSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVGaWVsZCkge1xuICAgICAgdGhpcy5fc2VsZWN0ZWROYW1lZEF0dHJpYnV0ZXMgPSB0aGlzLl9zZWxlY3RlZE5hbWVkQXR0cmlidXRlcy5maWx0ZXIoKGF0dHIpID0+IHtcbiAgICAgICAgcmV0dXJuIGF0dHIgIT09IGl0ZW07XG4gICAgICB9KTtcbiAgICAgIHRoaXMuc2VsZWN0ZWROYW1lZEF0dHJpYnV0ZXNDaGFuZ2UuZW1pdCh0aGlzLl9zZWxlY3RlZE5hbWVkQXR0cmlidXRlcyk7XG4gICAgICB0aGlzLm5hbWVkQXR0cmlidXRlUmVtb3ZlZC5lbWl0KGl0ZW0pO1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgaW5wdXRGb2N1cygpIHtcbiAgICB0aGlzLmhpZGVTZWxlY3QgPSBmYWxzZTtcbiAgfVxuXG4gIGlucHV0Rm9jdXNPdXQoKSB7XG4gICAgdGhpcy5oaWRlU2VsZWN0ID0gdHJ1ZTtcbiAgfVxuXG4gIHRvZ2dsZVNlbGVjdCgpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZUZpZWxkKSB7XG4gICAgICB0aGlzLmhpZGVTZWxlY3QgPSAhdGhpcy5oaWRlU2VsZWN0O1xuICAgIH1cbiAgfVxuXG4gIG9wZW5TZWxlY3QoKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVGaWVsZCkge1xuICAgICAgdGhpcy5oaWRlU2VsZWN0ID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgaGlkZSgpIHtcbiAgICB0aGlzLmhpZGVTZWxlY3QgPSB0cnVlO1xuICB9XG5cbiAgaGFuZGxlS2V5VXAoJGV2ZW50OiBLZXlib2FyZEV2ZW50LCBmaWx0ZXJTdHJpbmc6IHN0cmluZykge1xuICAgIHN3aXRjaCAoJGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICB0aGlzLmFkZE5ld0F0dHJpYnV0ZShmaWx0ZXJTdHJpbmcpO1xuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0VzY2FwZSc6XG4gICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICB0aGlzLnNlYXJjaC5uYXRpdmVFbGVtZW50LmJsdXIoKTtcbiAgICAgICAgdGhpcy5kcm9wZG93bldyYXBwZXIubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuYXBwbHlGaWx0ZXIoKTtcbiAgICB9XG4gICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdChmaWx0ZXJTdHJpbmcpO1xuICB9XG5cbiAgaGFuZGxlS2V5RG93bigkZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBzd2l0Y2ggKCRldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ1RhYic6XG4gICAgICAgIHRoaXMudG9nZ2xlU2VsZWN0KCk7XG4gICAgICAgIHRoaXMuZmlsdGVyU3RyaW5nID0gJyc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICB9XG4gIH1cblxuICBhcHBseUZpbHRlciA9ICgpID0+IHtcbiAgICB0aGlzLl9oYXNFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuX2ZpbHRlckF0dHJpYnV0ZXMoKTtcbiAgfTtcblxuICAvLyB1cGRhdGUgdGhlIGZpbHRlciBvbiBtb3VzZSB1cCBldmVudFxuICAvLyB0aGlzIGlzIHVzZWQgZm9yIHRoZSBzcGVjaWZpYyBjYXNlIHdoZXJlIHRoZSB1c2VyIGNsZWFycyB0aGUgZmlsdGVyIHZpYSB0aGUgeCBidXR0b25cbiAgYXBwbHlGaWx0ZXJNb3VzZVVwKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZmlsdGVyU3RyaW5nID09PSAnJykge1xuICAgICAgICB0aGlzLl9maWx0ZXJBdHRyaWJ1dGVzKCk7XG4gICAgICB9XG4gICAgfSwgNTApO1xuICB9XG5cbiAgX2ZpbHRlckF0dHJpYnV0ZXMoKSB7XG4gICAgbGV0IGZpbHRlcmVkQXZhaWxhYmxlUm9sZUF0dHJpYnV0ZXM6IGFueVtdID0gW107XG4gICAgbGV0IGZpbHRlcmVkQXZhaWxhYmxlTmFtZWRBdHRyaWJ1dGVzOiBhbnlbXSA9IFtdO1xuICAgIGlmICh0aGlzLmZpbHRlclN0cmluZykge1xuICAgICAgZmlsdGVyZWRBdmFpbGFibGVSb2xlQXR0cmlidXRlcyA9IHRoaXMuX2F2YWlsYWJsZVJvbGVBdHRyaWJ1dGVzLmZpbHRlcigoYXR0cikgPT4ge1xuICAgICAgICByZXR1cm4gYXR0ci5pbmRleE9mKHRoaXMuZmlsdGVyU3RyaW5nKSA+PSAwXG4gICAgICB9KTtcbiAgICAgIGZpbHRlcmVkQXZhaWxhYmxlTmFtZWRBdHRyaWJ1dGVzID0gdGhpcy5fYXZhaWxhYmxlTmFtZWRBdHRyaWJ1dGVzLmZpbHRlcigoYXR0cikgPT4ge1xuICAgICAgICByZXR1cm4gYXR0ci5pbmRleE9mKHRoaXMuZmlsdGVyU3RyaW5nKSA+PSAwXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmlsdGVyZWRBdmFpbGFibGVSb2xlQXR0cmlidXRlcyA9IHRoaXMuX2F2YWlsYWJsZVJvbGVBdHRyaWJ1dGVzO1xuICAgICAgZmlsdGVyZWRBdmFpbGFibGVOYW1lZEF0dHJpYnV0ZXMgPSB0aGlzLl9hdmFpbGFibGVOYW1lZEF0dHJpYnV0ZXM7XG4gICAgfVxuXG4gICAgdGhpcy5kaXNwbGF5ZWRSb2xlT3B0aW9ucyA9IGZpbHRlcmVkQXZhaWxhYmxlUm9sZUF0dHJpYnV0ZXM7XG4gICAgdGhpcy5kaXNwbGF5ZWROYW1lZE9wdGlvbnMgPSBmaWx0ZXJlZEF2YWlsYWJsZU5hbWVkQXR0cmlidXRlcztcbiAgfVxuXG4gIGFkZE5ld0F0dHJpYnV0ZShhdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIGlmICghdGhpcy5kaXNhYmxlQ3JlYXRlKSB7XG4gICAgICB0aGlzLl9oYXNFcnJvciA9IGZhbHNlO1xuICAgICAgaWYgKGF0dHJpYnV0ZSAhPT0gJycpIHtcbiAgICAgICAgbGV0IHJlZmVyZW5jZSA9IGF0dHJpYnV0ZS5jaGFyQXQoMCk7XG5cbiAgICAgICAgaWYgKHJlZmVyZW5jZSA9PT0gJyMnIHx8IHJlZmVyZW5jZSA9PT0gJ0AnKSB7XG4gICAgICAgICAgYXR0cmlidXRlID0gYXR0cmlidXRlLnN1YnN0cmluZygxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZWZlcmVuY2UgPSAnIyc7XG4gICAgICAgIH1cblxuICAgICAgICBhdHRyaWJ1dGUgPSBgJHtyZWZlcmVuY2V9JHthdHRyaWJ1dGV9YDtcbiAgICAgICAgYXR0cmlidXRlID0gYXR0cmlidXRlLnRyaW0oKTtcblxuICAgICAgICBpZiAoIXRoaXMuaXNBdHRyaWJ1dGVTZWxlY3RlZChhdHRyaWJ1dGUpKSB7XG4gICAgICAgICAgYXR0cmlidXRlID0gYXR0cmlidXRlLnN1YnN0cmluZygxKTtcbiAgICAgICAgICBpZiAocmVmZXJlbmNlID09PSAnQCcpIHtcbiAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWROYW1lZEF0dHJpYnV0ZShhdHRyaWJ1dGUpO1xuICAgICAgICAgICAgdGhpcy5hZGRSb2xlQXR0cmlidXRlLmVtaXQoYXR0cmlidXRlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFJvbGVBdHRyaWJ1dGUoYXR0cmlidXRlKTtcbiAgICAgICAgICAgIHRoaXMuYWRkTmFtZWRBdHRyaWJ1dGUuZW1pdChhdHRyaWJ1dGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmZpbHRlclN0cmluZyA9ICcnO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5maWx0ZXJTdHJpbmcgPSAnJztcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBpc05vdGhpbmdTZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRSb2xlQXR0cmlidXRlcz8ubGVuZ3RoIDw9IDAgJiYgdGhpcy5fc2VsZWN0ZWROYW1lZEF0dHJpYnV0ZXM/Lmxlbmd0aCA8PSAwO1xuICB9XG5cbiAgbmFtZVNvcnQgPSAoYTogYW55LCBiOiBhbnkpID0+IChhLm5hbWUgPCBiLm5hbWUgPyAtMSA6IGEubmFtZSA+IGIubmFtZSA/IDEgOiAwKTtcbn1cbiIsIjxzcGFuIChjbGlja091dHNpZGUpPVwiaGlkZSgpXCIgW25nQ2xhc3NdPVwieyByZWFkT25seTogZGlzYWJsZUZpZWxkIH1cIiBjbGFzcz1cImNsaWNrT3V0c2lkZSBmdWxsV2lkdGggdGFnc1NlbGVjdG9yXCIgPlxuICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cInNlbGVjdDIgc2VsZWN0Mi1jb250YWluZXIgc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgc2VsZWN0Mi1jb250YWluZXItLWJlbG93IHNlbGVjdDItY29udGFpbmVyLS1mb2N1c1wiXG4gICAgICAgICAgICBkaXI9XCJsdHJcIlxuICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZWxlY3Rpb25cIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NlbGVjdDItc2VsZWN0aW9uLWZvY3VzJzogIWhpZGVTZWxlY3QsIHRhZ0Vycm9yOiBfaGFzRXJyb3IgfVwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QyLXNlbGVjdGlvbiBzZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGVcIlxuICAgICAgICAgICAgICAgICAgICByb2xlPVwiY29tYm9ib3hcIlxuICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIChmb2N1cyk9XCJpbnB1dEZvY3VzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwiaGFuZGxlS2V5RG93bigkZXZlbnQpO1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAoa2V5dXApPVwiaGFuZGxlS2V5VXAoJGV2ZW50LCBmaWx0ZXJTdHJpbmcpO1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAobW91c2V1cCk9XCJhcHBseUZpbHRlck1vdXNlVXAoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlclN0cmluZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgZW1wdHk6IGlzTm90aGluZ1NlbGVjdGVkLCB0YWdFcnJvcjogX2hhc0Vycm9yIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1hdXRvY29tcGxldGU9XCJsaXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9jYXBpdGFsaXplPVwib2ZmXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhdXRvY29ycmVjdD1cIm9mZlwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNlbGVjdDItc2VhcmNoX19maWVsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ZGlzYWJsZUZpZWxkID8gKGlzTm90aGluZ1NlbGVjdGVkID8gJ05vdGhpbmcgc2VsZWN0ZWQnIDogJycpIDogcGxhY2Vob2xkZXJ9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwidGV4dGJveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzcGVsbGNoZWNrPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJzZWFyY2hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgI3NlYXJjaFxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc0xvYWRpbmdcIiBjbGFzcz1cInNwaW5uZXJcIj48L3NwYW4+XG5cbiAgICAgICAgICAgICAgICA8dWxcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuU2VsZWN0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyBlcnJvcjogX2hhc0Vycm9yLCByZWFkT25seTogZGlzYWJsZUZpZWxkLCBlbXB0eTogaXNOb3RoaW5nU2VsZWN0ZWQgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX3NlbGVjdGVkUm9sZUF0dHJpYnV0ZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJpdGVtID09PSB0aGlzLmhpZGVPcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoYXNodGFnIHNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCIje3sgaXRlbSB9fVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZVJvbGVBdHRyaWJ1dGUoaXRlbSk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPsOXPC9zcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICA+PHNwYW4gY2xhc3M9XCJzZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX190ZXh0XCI+I3t7IGl0ZW0gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBfc2VsZWN0ZWROYW1lZEF0dHJpYnV0ZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJpdGVtID09PSB0aGlzLmhpZGVPcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QyLXNlbGVjdGlvbl9jaG9pY2VfaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdHRhZyBzZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlXCIgdGl0bGU9XCJAe3sgaXRlbSB9fVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+w5c8L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PHNwYW4gY2xhc3M9XCJzZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX190ZXh0XCI+QHt7IGl0ZW0gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWctbmFtZSBzZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlXCIgdGl0bGU9XCJAe3sgaXRlbSB9fVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlTmFtZWRBdHRyaWJ1dGUoaXRlbSk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+w5c8L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PHNwYW4gY2xhc3M9XCJzZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX190ZXh0XCI+QHt7IGl0ZW0gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzPVwiZHJvcGRvd24td3JhcHBlclwiIHRhYmluZGV4PVwiLTFcIiAjZHJvcGRvd25XcmFwcGVyPjwvc3Bhbj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gKm5nSWY9XCJfaGFzRXJyb3JcIiBjbGFzcz1cImVyclwiPlxuICAgICAgICB7eyBlcnJvck1lc3NhZ2UgfX1cbiAgICA8L3NwYW4+XG5cbiAgICA8c3BhblxuICAgICAgICAgICAgKm5nSWY9XCIhaGlkZVNlbGVjdFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7IHdpdGhCb3JkZXI6ICFoaWRlU2VsZWN0IH1cIlxuICAgICAgICAgICAgY2xhc3M9XCJuZi1zZWxlY3QyLWRyb3Bkb3duIHNlbGVjdDItZHJvcGRvd24tLWJlbG93XCJcbiAgICAgICAgICAgIGRpcj1cImx0clwiXG4gICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNlbGVjdDItcmVzdWx0c1wiPlxuICAgICAgICAgICAgPHVsXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbXVsdGlzZWxlY3RhYmxlPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0Mi1yZXN1bHRzX19vcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cInRyZWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkTmV3QXR0cmlidXRlKGZpbHRlclN0cmluZylcIlxuICAgICAgICAgICAgICAgICAgICBbaGlkZGVuXT1cImZpbHRlclN0cmluZyA9PT0gJycgfHwgaXNBdHRyaWJ1dGVTZWxlY3RlZChmaWx0ZXJTdHJpbmcpXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1zZWxlY3RlZD1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QyLXJlc3VsdHNfX29wdGlvbiBoYXNodGFnXCJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cInRyZWVpdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyBmaWx0ZXJTdHJpbmcgfX0gKE5ldyBBdHRyaWJ1dGUpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGZpbHRlclN0cmluZyB9fSAoTmV3IEF0dHJpYnV0ZSlcbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkU2VsZWN0ZWRSb2xlQXR0cmlidXRlKG9wdGlvbilcIlxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGRpc3BsYXllZFJvbGVPcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJvcHRpb24gPT09IHRoaXMuaGlkZU9wdGlvbiB8fCBpc1NlbGVjdGVkKG9wdGlvbilcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLXNlbGVjdGVkPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhhc2h0YWcgc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICByb2xlPVwidHJlZWl0ZW1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgI3t7IG9wdGlvbiB9fVxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGRTZWxlY3RlZE5hbWVkQXR0cmlidXRlKG9wdGlvbilcIlxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGRpc3BsYXllZE5hbWVkT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwib3B0aW9uID09PSB0aGlzLmhpZGVPcHRpb24gfHwgaXNTZWxlY3RlZChvcHRpb24pXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1zZWxlY3RlZD1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdHRhZyBzZWxlY3QyLXJlc3VsdHNfX29wdGlvblwiIHRpdGxlPVwiQHt7IG9wdGlvbiB9fVwiIHJvbGU9XCJ0cmVlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQHt7IG9wdGlvbiB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhZy1uYW1lIHNlbGVjdDItcmVzdWx0c19fb3B0aW9uXCIgdGl0bGU9XCJAe3sgb3B0aW9uIH19XCIgcm9sZT1cInRyZWVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAe3sgb3B0aW9uIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICA8L3NwYW4+XG4gICAgPC9zcGFuPlxuPC9zcGFuPlxuIl19
|
|
291
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy90YWctc2VsZWN0b3IvdGFnLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy90YWctc2VsZWN0b3IvdGFnLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBT25ILE1BQU0sT0FBTyxvQkFBb0I7SUE0Qi9CO1FBM0JBLDZCQUF3QixHQUFVLEVBQUUsQ0FBQztRQUNyQyw4QkFBeUIsR0FBVSxFQUFFLENBQUM7UUFFN0IsZ0JBQVcsR0FBRyxRQUFRLENBQUM7UUFDdkIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ25CLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDM0Msc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUM1Qyx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQy9DLDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDaEQsaUNBQTRCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN2RCxrQ0FBNkIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3hELGlC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Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLDRCQUE0QjtzQkFBckMsTUFBTTtnQkFDRyw2QkFBNkI7c0JBQXRDLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFRYyxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBQ1csZUFBZTtzQkFBNUMsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBYWYsc0JBQXNCO3NCQUFsQyxLQUFLO2dCQVNPLHVCQUF1QjtzQkFBbkMsS0FBSztnQkFTTyxRQUFRO3NCQUFwQixLQUFLO2dCQUlPLHVCQUF1QjtzQkFBbkMsS0FBSztnQkFPTyx3QkFBd0I7c0JBQXBDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi10YWctc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFnLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFnLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRhZ1NlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIF9hdmFpbGFibGVSb2xlQXR0cmlidXRlczogYW55W10gPSBbXTtcbiAgX2F2YWlsYWJsZU5hbWVkQXR0cmlidXRlczogYW55W10gPSBbXTtcblxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICdTZWxlY3QnO1xuICBASW5wdXQoKSBkaXNhYmxlRmllbGQgPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZUNyZWF0ZSA9IGZhbHNlO1xuICBASW5wdXQoKSBoaWRlT3B0aW9uID0gJyc7XG4gIEBJbnB1dCgpIGlzTG9hZGluZyA9IGZhbHNlO1xuICBASW5wdXQoKSBlcnJvck1lc3NhZ2UgPSAnJztcbiAgQElucHV0KCkgZm9jdXNPbkluaXQgPSBmYWxzZTtcbiAgQE91dHB1dCgpIGFkZFJvbGVBdHRyaWJ1dGUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGFkZE5hbWVkQXR0cmlidXRlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSByb2xlQXR0cmlidXRlUmVtb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbmFtZWRBdHRyaWJ1dGVSZW1vdmVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZFJvbGVBdHRyaWJ1dGVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZE5hbWVkQXR0cmlidXRlc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZmlsdGVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgaGlkZVNlbGVjdCA9IHRydWU7XG4gIGRpc3BsYXllZFJvbGVPcHRpb25zOiBhbnlbXSA9IFtdO1xuICBkaXNwbGF5ZWROYW1lZE9wdGlvbnM6IGFueVtdID0gW107XG4gIGZpbHRlclN0cmluZyA9ICcnO1xuICBfaGFzaEF0dHJpYnV0ZXMgPSB7fTtcblxuICBAVmlld0NoaWxkKCdzZWFyY2gnKSBzZWFyY2g6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2Ryb3Bkb3duV3JhcHBlcicpIGRyb3Bkb3duV3JhcHBlcjogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy5mb2N1c09uSW5pdCkge1xuICAgICAgICB0aGlzLnNlYXJjaC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgX3NlbGVjdGVkUm9sZUF0dHJpYnV0ZXM6IGFueVtdID0gW107XG5cbiAgQElucHV0KCkgc2V0IHNlbGVjdGVkUm9sZUF0dHJpYnV0ZXMoYXR0cnM6IGFueSkge1xuICAgIGlmIChhdHRycykge1xuICAgICAgdGhpcy5fc2VsZWN0ZWRSb2xlQXR0cmlidXRlcyA9IGF0dHJzO1xuICAgICAgdGhpcy5fZmlsdGVyQXR0cmlidXRlcygpO1xuICAgIH1cbiAgfVxuXG4gIF9zZWxlY3RlZE5hbWVkQXR0cmlidXRlczogYW55W10gPSBbXTtcblxuICBASW5wdXQoKSBzZXQgc2VsZWN0ZWROYW1lZEF0dHJpYnV0ZXMoYXR0cnM6IGFueSkge1xuICAgIGlmIChhdHRycykge1xuICAgICAgdGhpcy5fc2VsZWN0ZWROYW1lZEF0dHJpYnV0ZXMgPSBhdHRycztcbiAgICAgIHRoaXMuX2ZpbHRlckF0dHJpYnV0ZXMoKTtcbiAgICB9XG4gIH1cblxuICBfaGFzRXJyb3IgPSBmYWxzZTtcblxuICBASW5wdXQoKSBzZXQgaGFzRXJyb3IodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9oYXNFcnJvciA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGF2YWlsYWJsZVJvbGVBdHRyaWJ1dGVzKGF0dHJzOiBhbnkpIHtcbiAgICBpZiAoYXR0cnMpIHtcbiAgICAgIHRoaXMuX2F2YWlsYWJsZVJvbGVBdHRyaWJ1dGVzID0gYXR0cnM7XG4gICAgICB0aGlzLl9maWx0ZXJBdHRyaWJ1dGVzKCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgc2V0IGF2YWlsYWJsZU5hbWVkQXR0cmlidXRlcyhhdHRyczogYW55KSB7XG4gICAgaWYgKGF0dHJzKSB7XG4gICAgICB0aGlzLl9hdmFpbGFibGVOYW1lZEF0dHJpYnV0ZXMgPSBhdHRycztcbiAgICAgIHRoaXMuX2ZpbHRlckF0dHJpYnV0ZXMoKTtcbiAgICB9XG4gIH1cblxuICBpc1NlbGVjdGVkKGl0ZW06IGFueSkge1xuICAgIHJldHVybiB0aGlzLmlzQXR0cmlidXRlU2VsZWN0ZWQoaXRlbSk7XG4gIH1cblxuICBhZGRTZWxlY3RlZFJvbGVBdHRyaWJ1dGUoaXRlbTogYW55KSB7XG4gICAgaWYgKCF0aGlzLmlzQXR0cmlidXRlU2VsZWN0ZWQoaXRlbSkpIHtcbiAgICAgIHRoaXMuYWRkUm9sZUF0dHJpYnV0ZS5lbWl0KGl0ZW0pO1xuICAgICAgdGhpcy5fc2VsZWN0ZWRSb2xlQXR0cmlidXRlcy5wdXNoKGl0ZW0pO1xuICAgICAgdGhpcy5zZWxlY3RlZFJvbGVBdHRyaWJ1dGVzQ2hhbmdlLmVtaXQodGhpcy5fc2VsZWN0ZWRSb2xlQXR0cmlidXRlcyk7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICB9XG4gIH1cblxuICBhZGRTZWxlY3RlZE5hbWVkQXR0cmlidXRlKGl0ZW06IGFueSkge1xuICAgIGlmICghdGhpcy5pc0F0dHJpYnV0ZVNlbGVjdGVkKGl0ZW0pKSB7XG4gICAgICB0aGlzLmFkZE5hbWVkQXR0cmlidXRlLmVtaXQoaXRlbSk7XG4gICAgICB0aGlzLl9zZWxlY3RlZE5hbWVkQXR0cmlidXRlcy5wdXNoKGl0ZW0pO1xuICAgICAgdGhpcy5zZWxlY3RlZE5hbWVkQXR0cmlidXRlc0NoYW5nZS5lbWl0KHRoaXMuX3NlbGVjdGVkTmFtZWRBdHRyaWJ1dGVzKTtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIGlzQXR0cmlidXRlU2VsZWN0ZWQoYXR0cmlidXRlKSB7XG4gICAgaWYoIWF0dHJpYnV0ZSB8fCBhdHRyaWJ1dGUubGVuZ3RoIDw9IDApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGF0dHJpYnV0ZS5jaGFyQXQoMCkgPT09ICcjJyB8fCBhdHRyaWJ1dGUuY2hhckF0KDApID09PSAnQCcpIHtcbiAgICAgIGF0dHJpYnV0ZSA9IGF0dHJpYnV0ZS5zdWJzdHJpbmcoMSk7XG4gICAgfVxuICAgIGxldCBzZWxlY3RlZCA9IGZhbHNlO1xuICAgIHRoaXMuX3NlbGVjdGVkUm9sZUF0dHJpYnV0ZXMuZm9yRWFjaCgoYXR0cikgPT4ge1xuICAgICAgaWYoYXR0ciA9PT0gYXR0cmlidXRlKSB7XG4gICAgICAgIHNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLl9zZWxlY3RlZE5hbWVkQXR0cmlidXRlcy5mb3JFYWNoKChhdHRyKSA9PiB7XG4gICAgICBpZihhdHRyID09PSBhdHRyaWJ1dGUpIHtcbiAgICAgICAgc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBzZWxlY3RlZDtcbiAgfVxuXG4gIHJlbW92ZVJvbGVBdHRyaWJ1dGUoaXRlbTogYW55KSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVGaWVsZCkge1xuICAgICAgdGhpcy5fc2VsZWN0ZWRSb2xlQXR0cmlidXRlcyA9IHRoaXMuX3NlbGVjdGVkUm9sZUF0dHJpYnV0ZXMuZmlsdGVyKChhdHRyKSA9PiB7XG4gICAgICAgIHJldHVybiBhdHRyICE9PSBpdGVtO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnNlbGVjdGVkUm9sZUF0dHJpYnV0ZXNDaGFuZ2UuZW1pdCh0aGlzLl9zZWxlY3RlZFJvbGVBdHRyaWJ1dGVzKTtcbiAgICAgIHRoaXMucm9sZUF0dHJpYnV0ZVJlbW92ZWQuZW1pdChpdGVtKTtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZU5hbWVkQXR0cmlidXRlKGl0ZW06IGFueSkge1xuICAgIGlmICghdGhpcy5kaXNhYmxlRmllbGQpIHtcbiAgICAgIHRoaXMuX3NlbGVjdGVkTmFtZWRBdHRyaWJ1dGVzID0gdGhpcy5fc2VsZWN0ZWROYW1lZEF0dHJpYnV0ZXMuZmlsdGVyKChhdHRyKSA9PiB7XG4gICAgICAgIHJldHVybiBhdHRyICE9PSBpdGVtO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnNlbGVjdGVkTmFtZWRBdHRyaWJ1dGVzQ2hhbmdlLmVtaXQodGhpcy5fc2VsZWN0ZWROYW1lZEF0dHJpYnV0ZXMpO1xuICAgICAgdGhpcy5uYW1lZEF0dHJpYnV0ZVJlbW92ZWQuZW1pdChpdGVtKTtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0Rm9jdXMoKSB7XG4gICAgdGhpcy5oaWRlU2VsZWN0ID0gZmFsc2U7XG4gIH1cblxuICBpbnB1dEZvY3VzT3V0KCkge1xuICAgIHRoaXMuaGlkZVNlbGVjdCA9IHRydWU7XG4gIH1cblxuICB0b2dnbGVTZWxlY3QoKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVGaWVsZCkge1xuICAgICAgdGhpcy5oaWRlU2VsZWN0ID0gIXRoaXMuaGlkZVNlbGVjdDtcbiAgICB9XG4gIH1cblxuICBvcGVuU2VsZWN0KCkge1xuICAgIGlmICghdGhpcy5kaXNhYmxlRmllbGQpIHtcbiAgICAgIHRoaXMuaGlkZVNlbGVjdCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGhpZGUoKSB7XG4gICAgdGhpcy5oaWRlU2VsZWN0ID0gdHJ1ZTtcbiAgfVxuXG4gIGhhbmRsZUtleVVwKCRldmVudDogS2V5Ym9hcmRFdmVudCwgZmlsdGVyU3RyaW5nOiBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKCRldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgdGhpcy5hZGROZXdBdHRyaWJ1dGUoZmlsdGVyU3RyaW5nKTtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdFc2NhcGUnOlxuICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgdGhpcy5zZWFyY2gubmF0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgICAgIHRoaXMuZHJvcGRvd25XcmFwcGVyLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLmFwcGx5RmlsdGVyKCk7XG4gICAgfVxuICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQoZmlsdGVyU3RyaW5nKTtcbiAgfVxuXG4gIGhhbmRsZUtleURvd24oJGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgc3dpdGNoICgkZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdUYWInOlxuICAgICAgICB0aGlzLnRvZ2dsZVNlbGVjdCgpO1xuICAgICAgICB0aGlzLmZpbHRlclN0cmluZyA9ICcnO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgfVxuICB9XG5cbiAgYXBwbHlGaWx0ZXIgPSAoKSA9PiB7XG4gICAgdGhpcy5faGFzRXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLl9maWx0ZXJBdHRyaWJ1dGVzKCk7XG4gIH07XG5cbiAgLy8gdXBkYXRlIHRoZSBmaWx0ZXIgb24gbW91c2UgdXAgZXZlbnRcbiAgLy8gdGhpcyBpcyB1c2VkIGZvciB0aGUgc3BlY2lmaWMgY2FzZSB3aGVyZSB0aGUgdXNlciBjbGVhcnMgdGhlIGZpbHRlciB2aWEgdGhlIHggYnV0dG9uXG4gIGFwcGx5RmlsdGVyTW91c2VVcCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmZpbHRlclN0cmluZyA9PT0gJycpIHtcbiAgICAgICAgdGhpcy5fZmlsdGVyQXR0cmlidXRlcygpO1xuICAgICAgfVxuICAgIH0sIDUwKTtcbiAgfVxuXG4gIF9maWx0ZXJBdHRyaWJ1dGVzKCkge1xuICAgIGxldCBmaWx0ZXJlZEF2YWlsYWJsZVJvbGVBdHRyaWJ1dGVzOiBhbnlbXSA9IFtdO1xuICAgIGxldCBmaWx0ZXJlZEF2YWlsYWJsZU5hbWVkQXR0cmlidXRlczogYW55W10gPSBbXTtcbiAgICBpZiAodGhpcy5maWx0ZXJTdHJpbmcpIHtcbiAgICAgIGZpbHRlcmVkQXZhaWxhYmxlUm9sZUF0dHJpYnV0ZXMgPSB0aGlzLl9hdmFpbGFibGVSb2xlQXR0cmlidXRlcy5maWx0ZXIoKGF0dHIpID0+IHtcbiAgICAgICAgcmV0dXJuIGF0dHIuaW5kZXhPZih0aGlzLmZpbHRlclN0cmluZykgPj0gMFxuICAgICAgfSk7XG4gICAgICBmaWx0ZXJlZEF2YWlsYWJsZU5hbWVkQXR0cmlidXRlcyA9IHRoaXMuX2F2YWlsYWJsZU5hbWVkQXR0cmlidXRlcy5maWx0ZXIoKGF0dHIpID0+IHtcbiAgICAgICAgcmV0dXJuIGF0dHIuaW5kZXhPZih0aGlzLmZpbHRlclN0cmluZykgPj0gMFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpbHRlcmVkQXZhaWxhYmxlUm9sZUF0dHJpYnV0ZXMgPSB0aGlzLl9hdmFpbGFibGVSb2xlQXR0cmlidXRlcztcbiAgICAgIGZpbHRlcmVkQXZhaWxhYmxlTmFtZWRBdHRyaWJ1dGVzID0gdGhpcy5fYXZhaWxhYmxlTmFtZWRBdHRyaWJ1dGVzO1xuICAgIH1cblxuICAgIHRoaXMuZGlzcGxheWVkUm9sZU9wdGlvbnMgPSBmaWx0ZXJlZEF2YWlsYWJsZVJvbGVBdHRyaWJ1dGVzO1xuICAgIHRoaXMuZGlzcGxheWVkTmFtZWRPcHRpb25zID0gZmlsdGVyZWRBdmFpbGFibGVOYW1lZEF0dHJpYnV0ZXM7XG4gIH1cblxuICBhZGROZXdBdHRyaWJ1dGUoYXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZUNyZWF0ZSkge1xuICAgICAgdGhpcy5faGFzRXJyb3IgPSBmYWxzZTtcbiAgICAgIGlmIChhdHRyaWJ1dGUgIT09ICcnKSB7XG4gICAgICAgIGxldCByZWZlcmVuY2UgPSBhdHRyaWJ1dGUuY2hhckF0KDApO1xuXG4gICAgICAgIGlmIChyZWZlcmVuY2UgPT09ICcjJyB8fCByZWZlcmVuY2UgPT09ICdAJykge1xuICAgICAgICAgIGF0dHJpYnV0ZSA9IGF0dHJpYnV0ZS5zdWJzdHJpbmcoMSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVmZXJlbmNlID0gJyMnO1xuICAgICAgICB9XG5cbiAgICAgICAgYXR0cmlidXRlID0gYCR7cmVmZXJlbmNlfSR7YXR0cmlidXRlfWA7XG4gICAgICAgIGF0dHJpYnV0ZSA9IGF0dHJpYnV0ZS50cmltKCk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzQXR0cmlidXRlU2VsZWN0ZWQoYXR0cmlidXRlKSkge1xuICAgICAgICAgIGF0dHJpYnV0ZSA9IGF0dHJpYnV0ZS5zdWJzdHJpbmcoMSk7XG4gICAgICAgICAgaWYgKHJlZmVyZW5jZSA9PT0gJ0AnKSB7XG4gICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkTmFtZWRBdHRyaWJ1dGUoYXR0cmlidXRlKTtcbiAgICAgICAgICAgIHRoaXMuYWRkUm9sZUF0dHJpYnV0ZS5lbWl0KGF0dHJpYnV0ZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRSb2xlQXR0cmlidXRlKGF0dHJpYnV0ZSk7XG4gICAgICAgICAgICB0aGlzLmFkZE5hbWVkQXR0cmlidXRlLmVtaXQoYXR0cmlidXRlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5maWx0ZXJTdHJpbmcgPSAnJztcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuZmlsdGVyU3RyaW5nID0gJyc7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgaXNOb3RoaW5nU2VsZWN0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkUm9sZUF0dHJpYnV0ZXM/Lmxlbmd0aCA8PSAwICYmIHRoaXMuX3NlbGVjdGVkTmFtZWRBdHRyaWJ1dGVzPy5sZW5ndGggPD0gMDtcbiAgfVxuXG4gIG5hbWVTb3J0ID0gKGE6IGFueSwgYjogYW55KSA9PiAoYS5uYW1lIDwgYi5uYW1lID8gLTEgOiBhLm5hbWUgPiBiLm5hbWUgPyAxIDogMCk7XG59XG4iLCI8c3BhbiAoY2xpY2tPdXRzaWRlKT1cImhpZGUoKVwiIFtuZ0NsYXNzXT1cInsgcmVhZE9ubHk6IGRpc2FibGVGaWVsZCB9XCIgY2xhc3M9XCJjbGlja091dHNpZGUgZnVsbFdpZHRoIHRhZ3NTZWxlY3RvclwiID5cbiAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QyIHNlbGVjdDItY29udGFpbmVyIHNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHNlbGVjdDItY29udGFpbmVyLS1iZWxvdyBzZWxlY3QyLWNvbnRhaW5lci0tZm9jdXNcIlxuICAgICAgICAgICAgZGlyPVwibHRyXCJcbiAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2VsZWN0aW9uXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdzZWxlY3QyLXNlbGVjdGlvbi1mb2N1cyc6ICFoaWRlU2VsZWN0LCB0YWdFcnJvcjogX2hhc0Vycm9yIH1cIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0Mi1zZWxlY3Rpb24gc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlXCJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cImNvbWJvYm94XCJcbiAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAoZm9jdXMpPVwiaW5wdXRGb2N1cygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cImhhbmRsZUtleURvd24oJGV2ZW50KTtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGtleXVwKT1cImhhbmRsZUtleVVwKCRldmVudCwgZmlsdGVyU3RyaW5nKTtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG1vdXNldXApPVwiYXBwbHlGaWx0ZXJNb3VzZVVwKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJTdHJpbmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVGaWVsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7IGVtcHR5OiBpc05vdGhpbmdTZWxlY3RlZCwgdGFnRXJyb3I6IF9oYXNFcnJvciB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtYXV0b2NvbXBsZXRlPVwibGlzdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhdXRvY2FwaXRhbGl6ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXV0b2NvcnJlY3Q9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QyLXNlYXJjaF9fZmllbGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e2Rpc2FibGVGaWVsZCA/IChpc05vdGhpbmdTZWxlY3RlZCA/ICdOb3RoaW5nIHNlbGVjdGVkJyA6ICcnKSA6IHBsYWNlaG9sZGVyfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cInRleHRib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc3BlbGxjaGVjaz1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwic2VhcmNoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICNzZWFyY2hcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNMb2FkaW5nXCIgY2xhc3M9XCJzcGlubmVyXCI+PC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPHVsXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlblNlbGVjdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgZXJyb3I6IF9oYXNFcnJvciwgcmVhZE9ubHk6IGRpc2FibGVGaWVsZCwgZW1wdHk6IGlzTm90aGluZ1NlbGVjdGVkIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIF9zZWxlY3RlZFJvbGVBdHRyaWJ1dGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwiaXRlbSA9PT0gdGhpcy5oaWRlT3B0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaGFzaHRhZyBzZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwiI3t7IGl0ZW0gfX1cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVSb2xlQXR0cmlidXRlKGl0ZW0pOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID7Dlzwvc3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgPjxzcGFuIGNsYXNzPVwic2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fdGV4dFwiPiN7eyBpdGVtIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX3NlbGVjdGVkTmFtZWRBdHRyaWJ1dGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwiaXRlbSA9PT0gdGhpcy5oaWRlT3B0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0Mi1zZWxlY3Rpb25fY2hvaWNlX2l0ZW1cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXR0YWcgc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZVwiIHRpdGxlPVwiQHt7IGl0ZW0gfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cInByZXNlbnRhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPsOXPC9zcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjxzcGFuIGNsYXNzPVwic2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fdGV4dFwiPkB7eyBpdGVtIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFnLW5hbWUgc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZVwiIHRpdGxlPVwiQHt7IGl0ZW0gfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZU5hbWVkQXR0cmlidXRlKGl0ZW0pOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cInByZXNlbnRhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPsOXPC9zcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjxzcGFuIGNsYXNzPVwic2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fdGV4dFwiPkB7eyBpdGVtIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImRyb3Bkb3duLXdyYXBwZXJcIiB0YWJpbmRleD1cIi0xXCIgI2Ryb3Bkb3duV3JhcHBlcj48L3NwYW4+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuICpuZ0lmPVwiX2hhc0Vycm9yXCIgY2xhc3M9XCJlcnJcIj5cbiAgICAgICAge3sgZXJyb3JNZXNzYWdlIH19XG4gICAgPC9zcGFuPlxuXG4gICAgPHNwYW5cbiAgICAgICAgICAgICpuZ0lmPVwiIWhpZGVTZWxlY3RcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyB3aXRoQm9yZGVyOiAhaGlkZVNlbGVjdCB9XCJcbiAgICAgICAgICAgIGNsYXNzPVwibmYtc2VsZWN0Mi1kcm9wZG93biBzZWxlY3QyLWRyb3Bkb3duLS1iZWxvd1wiXG4gICAgICAgICAgICBkaXI9XCJsdHJcIlxuICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZWxlY3QyLXJlc3VsdHNcIj5cbiAgICAgICAgICAgIDx1bFxuICAgICAgICAgICAgICAgICAgICBhcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLW11bHRpc2VsZWN0YWJsZT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNlbGVjdDItcmVzdWx0c19fb3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJ0cmVlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE5ld0F0dHJpYnV0ZShmaWx0ZXJTdHJpbmcpXCJcbiAgICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJmaWx0ZXJTdHJpbmcgPT09ICcnIHx8IGlzQXR0cmlidXRlU2VsZWN0ZWQoZmlsdGVyU3RyaW5nKVwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtc2VsZWN0ZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gaGFzaHRhZ1wiXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJ0cmVlaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgZmlsdGVyU3RyaW5nIH19IChOZXcgQXR0cmlidXRlKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBmaWx0ZXJTdHJpbmcgfX0gKE5ldyBBdHRyaWJ1dGUpXG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZFNlbGVjdGVkUm9sZUF0dHJpYnV0ZShvcHRpb24pXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBkaXNwbGF5ZWRSb2xlT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwib3B0aW9uID09PSB0aGlzLmhpZGVPcHRpb24gfHwgaXNTZWxlY3RlZChvcHRpb24pXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1zZWxlY3RlZD1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoYXNodGFnIHNlbGVjdDItcmVzdWx0c19fb3B0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cInRyZWVpdGVtXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICN7eyBvcHRpb24gfX1cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkU2VsZWN0ZWROYW1lZEF0dHJpYnV0ZShvcHRpb24pXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBkaXNwbGF5ZWROYW1lZE9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICBbaGlkZGVuXT1cIm9wdGlvbiA9PT0gdGhpcy5oaWRlT3B0aW9uIHx8IGlzU2VsZWN0ZWQob3B0aW9uKVwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtc2VsZWN0ZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXR0YWcgc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25cIiB0aXRsZT1cIkB7eyBvcHRpb24gfX1cIiByb2xlPVwidHJlZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEB7eyBvcHRpb24gfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWctbmFtZSBzZWxlY3QyLXJlc3VsdHNfX29wdGlvblwiIHRpdGxlPVwiQHt7IG9wdGlvbiB9fVwiIHJvbGU9XCJ0cmVlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQHt7IG9wdGlvbiB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvc3Bhbj5cbjwvc3Bhbj5cbiJdfQ==
|