ng-easycommerce-v18 0.4.4-beta.2 → 0.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +130 -125
- package/assets/decidirFormEc.html +514 -514
- package/assets/ec-i18n/ct.json +286 -282
- package/assets/ec-i18n/en.json +12 -1
- package/assets/ec-i18n/es.json +445 -434
- package/assets/ec-i18n/fr.json +4 -0
- package/assets/ec-i18n/gl.json +286 -282
- package/assets/ec-i18n/pr.json +286 -282
- package/assets/images/cards-occasional.svg +21 -21
- package/assets/recaptcha/recaptcha-site-keys.json +3 -3
- package/assets/recaptcha/recaptcha-sites-prod.json +38 -38
- package/assets/recaptcha/recaptcha-sites.json +52 -52
- package/esm2022/lib/api/connection.service.mjs +7 -6
- package/esm2022/lib/classes/checkout/steps.mjs +1 -1
- package/esm2022/lib/classes/component-helper.mjs +1 -1
- package/esm2022/lib/classes/filters/attributes-filter.mjs +1 -1
- package/esm2022/lib/classes/filters/category-filter.mjs +1 -1
- package/esm2022/lib/classes/filters/dynamics-filter.mjs +1 -1
- package/esm2022/lib/classes/filters/filter-factory.mjs +1 -1
- package/esm2022/lib/classes/filters/filter.mjs +1 -1
- package/esm2022/lib/classes/filters/index.mjs +1 -1
- package/esm2022/lib/classes/filters/price_range-filter.mjs +1 -1
- package/esm2022/lib/classes/filters/sort-filter.mjs +1 -1
- package/esm2022/lib/classes/index.mjs +1 -1
- package/esm2022/lib/classes/user.mjs +1 -1
- package/esm2022/lib/constants/api.constants.service.mjs +1 -1
- package/esm2022/lib/constants/core.constants.service.mjs +1 -1
- package/esm2022/lib/constants/index.mjs +1 -1
- package/esm2022/lib/ec-components/abstractions-components/block-ec.component.mjs +1 -1
- package/esm2022/lib/ec-components/abstractions-components/index.mjs +1 -1
- package/esm2022/lib/ec-components/abstractions-components/menu-ec.component.mjs +1 -1
- package/esm2022/lib/ec-components/account-ec/account-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/account-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/account-ec/order-ec/order-ec.component.mjs +5 -9
- package/esm2022/lib/ec-components/account-ec/orders-list-ec/orders-list-ec.component.mjs +11 -5
- package/esm2022/lib/ec-components/auth-ec/auth-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/auth-ec/confirm-account-ec/confirm-account-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/auth-ec/forgot-password-ec/forgot-password-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/auth-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/auth-ec/password-reset-ec/password-reset-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/block-banner-box-ec/block-banner-box-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/block-html-ec/block-html-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/block-newsletter-ec/block-newsletter-ec.component.mjs +3 -4
- package/esm2022/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/blocks-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/breadcrumb-ec/breadcrumb-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/cart-ec/cart-ec.component.mjs +12 -3
- package/esm2022/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/cart-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/checkout-ec/checkout-ec.component.mjs +10 -3
- package/esm2022/lib/ec-components/checkout-ec/dataform-ec/dataform-ec.component.mjs +11 -4
- package/esm2022/lib/ec-components/checkout-ec/dataform-ec/input-ec/input-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.mjs +5 -3
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.mjs +44 -4
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/bank-transfer-ec/bank-transfer-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/index.mjs +1 -1
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/offline-ec/offline-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/shipment-ec/shipment-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/step-container-ec/step-container-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/success-ec/success-ec.component.mjs +4 -3
- package/esm2022/lib/ec-components/collection-ec/collection-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/contact-ec/contact-ec.component.mjs +1 -1
- package/esm2022/lib/ec-components/coupon-ec/coupon-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/credit-account-banner-ec/credit-account-banner-ec.component.mjs +79 -0
- package/esm2022/lib/ec-components/faqs-ec/faqs-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/filters-ec/filters-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/filters-sort-ec/filters-sort-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/footer-ec/footer-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/header-ec/header-ec.component.mjs +27 -13
- package/esm2022/lib/ec-components/home-ec/home-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/index.mjs +2 -1
- package/esm2022/lib/ec-components/price-range-filter/price-range-filter.component.mjs +3 -3
- package/esm2022/lib/ec-components/product-detail-ec/product-detail-ec.component.mjs +1 -1
- package/esm2022/lib/ec-components/product-ec/product-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/related-products-ec/related-products-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/reviews-ec/reviews-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/reviews-form-ec/reviews-form-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/section-container-ec/section-container-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/share-ec/share-buttons-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-email-ec/share-email-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-facebook-ec/share-facebook-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-pinterest-ec/share-pinterest-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-twitter-ec/share-twitter-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-whatsapp-ec/share-whatsapp-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/share-ec/share-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/sidebar-ec/sidebar-ec.component.mjs +5 -7
- package/esm2022/lib/ec-components/stores-ec/stores-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/variants-ec/variants-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/decidir-ec/decidir-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/widgets-ec/loading/index.mjs +1 -1
- package/esm2022/lib/ec-components/widgets-ec/loading/loading-full-ec/loading-full-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/loading/loading-inline-ec/loading-inline-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/loading/loading-section-ec/loading-section-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/magnizoom-ec/magnizoom-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/price-ec/price-ec.component.mjs +5 -11
- package/esm2022/lib/ec-components/widgets-ec/rating-ec/rating-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/re-captcha-ec/re-captcha-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/redsys-catch-ec/redsys-catch-ec.component.mjs +3 -3
- package/esm2022/lib/ec-directive/index.mjs +1 -1
- package/esm2022/lib/ec-directive/product-off.directive.mjs +1 -1
- package/esm2022/lib/ec-directive/product-stock.directive.mjs +1 -1
- package/esm2022/lib/ec-guards/auth.guard.mjs +1 -1
- package/esm2022/lib/ec-pipe/ec-currency-symbol.pipe.mjs +1 -1
- package/esm2022/lib/ec-pipe/ec-safe-html.pipe.mjs +1 -1
- package/esm2022/lib/ec-pipe/index.mjs +1 -1
- package/esm2022/lib/ec-services/addressing.service.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/analytics.service.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/doppler.service.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/facebook-pixel.service.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/google-analytics.service.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/gtm.service.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/index.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/metricool-pixel.service.mjs +11 -11
- package/esm2022/lib/ec-services/auth.service.mjs +1 -1
- package/esm2022/lib/ec-services/auth.storage.service.mjs +1 -1
- package/esm2022/lib/ec-services/base-api.service.mjs +1 -1
- package/esm2022/lib/ec-services/blocks-repository.service.mjs +1 -1
- package/esm2022/lib/ec-services/blocks.service.mjs +1 -1
- package/esm2022/lib/ec-services/cart.service.mjs +42 -7
- package/esm2022/lib/ec-services/channel.service.mjs +1 -1
- package/esm2022/lib/ec-services/checkout.service.mjs +1 -1
- package/esm2022/lib/ec-services/currency.service.mjs +1 -1
- package/esm2022/lib/ec-services/filters.service.mjs +1 -1
- package/esm2022/lib/ec-services/form.service.mjs +1 -1
- package/esm2022/lib/ec-services/index.mjs +2 -1
- package/esm2022/lib/ec-services/local-storage.service.mjs +1 -1
- package/esm2022/lib/ec-services/ngx-local-storage.service.mjs +1 -1
- package/esm2022/lib/ec-services/options.service.mjs +1 -1
- package/esm2022/lib/ec-services/order-utility.service.mjs +1 -1
- package/esm2022/lib/ec-services/orders.service.mjs +1 -1
- package/esm2022/lib/ec-services/pagination.service.mjs +1 -1
- package/esm2022/lib/ec-services/parameters.service.mjs +1 -1
- package/esm2022/lib/ec-services/payment.service.mjs +1 -1
- package/esm2022/lib/ec-services/price-visibility.service.mjs +40 -0
- package/esm2022/lib/ec-services/product-detail.service.mjs +45 -7
- package/esm2022/lib/ec-services/products.service.mjs +1 -1
- package/esm2022/lib/ec-services/re-captcha.service.mjs +1 -1
- package/esm2022/lib/ec-services/reviews.service.mjs +1 -1
- package/esm2022/lib/ec-services/runtime-config.service.mjs +13 -31
- package/esm2022/lib/ec-services/shipment.service.mjs +1 -1
- package/esm2022/lib/ec-services/stores.service.mjs +1 -1
- package/esm2022/lib/ec-services/test.service.mjs +1 -1
- package/esm2022/lib/ec-services/toast.service.mjs +1 -1
- package/esm2022/lib/interceptors/auth.interceptor.mjs +1 -1
- package/esm2022/lib/interceptors/index.mjs +1 -1
- package/esm2022/lib/interceptors/runtime-config.interceptor.mjs +1 -1
- package/esm2022/lib/interfaces/analytics/event-key.mjs +1 -1
- package/esm2022/lib/interfaces/analytics/facebook-pixel-data.mjs +1 -1
- package/esm2022/lib/interfaces/analytics/gtm-config.mjs +1 -1
- package/esm2022/lib/interfaces/analytics/index.mjs +1 -1
- package/esm2022/lib/interfaces/blocks.mjs +1 -1
- package/esm2022/lib/interfaces/checkout.mjs +1 -1
- package/esm2022/lib/interfaces/connection.mjs +1 -1
- package/esm2022/lib/interfaces/coupon.mjs +1 -1
- package/esm2022/lib/interfaces/currency.mjs +1 -1
- package/esm2022/lib/interfaces/deserializable.mjs +1 -1
- package/esm2022/lib/interfaces/environment.mjs +1 -1
- package/esm2022/lib/interfaces/faqs.mjs +1 -1
- package/esm2022/lib/interfaces/filter.mjs +1 -1
- package/esm2022/lib/interfaces/index.mjs +1 -1
- package/esm2022/lib/interfaces/options.mjs +1 -1
- package/esm2022/lib/interfaces/pagination.mjs +1 -1
- package/esm2022/lib/interfaces/parameter.mjs +1 -1
- package/esm2022/lib/interfaces/product.mjs +1 -1
- package/esm2022/lib/interfaces/runtime-config.mjs +1 -1
- package/esm2022/lib/interfaces/step.mjs +1 -1
- package/esm2022/lib/interfaces/storage.mjs +1 -1
- package/esm2022/lib/interfaces/store.mjs +1 -1
- package/esm2022/lib/interfaces/types/user.type.mjs +1 -1
- package/esm2022/lib/providers/index.mjs +1 -2
- package/esm2022/lib/providers/provideEnvironment.mjs +1 -1
- package/esm2022/lib/providers/provideRuntimeConfig.mjs +1 -1
- package/esm2022/lib/stores/currency.store.mjs +1 -1
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/ng-easycommerce-v18.mjs +437 -232
- package/fesm2022/ng-easycommerce-v18.mjs.map +1 -1
- package/lib/api/connection.service.d.ts +4 -3
- package/lib/ec-components/account-ec/order-ec/order-ec.component.d.ts +2 -2
- package/lib/ec-components/account-ec/orders-list-ec/orders-list-ec.component.d.ts +3 -0
- package/lib/ec-components/cart-ec/cart-ec.component.d.ts +4 -2
- package/lib/ec-components/checkout-ec/checkout-ec.component.d.ts +2 -0
- package/lib/ec-components/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.d.ts +2 -0
- package/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.d.ts +6 -0
- package/lib/ec-components/checkout-ec/success-ec/success-ec.component.d.ts +1 -0
- package/lib/ec-components/credit-account-banner-ec/credit-account-banner-ec.component.d.ts +27 -0
- package/lib/ec-components/header-ec/header-ec.component.d.ts +12 -4
- package/lib/ec-components/index.d.ts +1 -0
- package/lib/ec-components/sidebar-ec/sidebar-ec.component.d.ts +2 -1
- package/lib/ec-components/widgets-ec/price-ec/price-ec.component.d.ts +2 -4
- package/lib/ec-services/cart.service.d.ts +1 -0
- package/lib/ec-services/index.d.ts +1 -0
- package/lib/ec-services/price-visibility.service.d.ts +23 -0
- package/lib/ec-services/product-detail.service.d.ts +3 -0
- package/lib/ec-services/runtime-config.service.d.ts +2 -3
- package/lib/providers/index.d.ts +0 -1
- package/package.json +1 -1
- package/esm2022/lib/providers/provideServerRuntimeConfig.mjs +0 -20
- package/lib/providers/provideServerRuntimeConfig.d.ts +0 -13
|
@@ -193,4 +193,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
193
193
|
providedIn: 'root'
|
|
194
194
|
}]
|
|
195
195
|
}], ctorParameters: () => [] });
|
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1zZXJ2aWNlcy9wcm9kdWN0cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsTUFBTSxFQUFFLFVBQVUsRUFBeUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxlQUFlLEVBQTBELE1BQU0sTUFBTSxDQUFDO0FBRS9GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTs7QUFLbEQsTUFBTSxPQUFPLGVBQWU7SUFFaEIsV0FBVyxHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMzRCxVQUFVLEdBQXdCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzlELGVBQWUsR0FBbUIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3pELGtCQUFrQixHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRSxPQUFPLEdBQXlCLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRTdELGdCQUFnQixHQUErQixJQUFJLGVBQWUsQ0FBWSxFQUFFLENBQUMsQ0FBQTtJQUNsRixTQUFTLEdBQTBCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FB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QUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUNELGlFQUFpRTtRQUNqRSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDbEMsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUNELDhEQUE4RDtRQUM5RCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO3dHQWpOUSxlQUFlOzRHQUFmLGVBQWUsY0FGWixNQUFNOzs0RkFFVCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50SW5qZWN0b3IsIGluamVjdCwgSW5qZWN0YWJsZSwgcnVuSW5JbmplY3Rpb25Db250ZXh0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRGVmYXVsdEZpbHRlciwgRmlsdGVyRWxlbWVudCwgRmlsdGVyVHlwZSwgSUZpbHRlciwgT3B0aW9ucywgUGFnaW5hdGlvblNldHRpbmdzLCBQYXJhbXNQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50LCBQcm9kdWN0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IENvbm5lY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYXBpJztcclxuaW1wb3J0IHsgQXBpQ29uc3RhbnRzU2VydmljZSwgQ29yZUNvbnN0YW50c1NlcnZpY2UgfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBPcHRpb25zU2VydmljZSB9IGZyb20gJy4vb3B0aW9ucy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFnaW5hdGlvblNlcnZpY2UgfSBmcm9tICcuL3BhZ2luYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEZpbHRlciwgRmlsdGVyRmFjdG9yeSwgfSBmcm9tICcuLi9jbGFzc2VzJztcclxuaW1wb3J0IHsgUHJpY2VSYW5nZUZpbHRlciB9IGZyb20gJy4uL2NsYXNzZXMvZmlsdGVycy9wcmljZV9yYW5nZS1maWx0ZXInO1xyXG5pbXBvcnQgeyBGaWx0ZXJzU2VydmljZSB9IGZyb20gJy4vZmlsdGVycy5zZXJ2aWNlJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0c1NlcnZpY2Uge1xyXG5cclxuICAgIHByaXZhdGUgX2Nvbm5lY3Rpb246IENvbm5lY3Rpb25TZXJ2aWNlID0gaW5qZWN0KENvbm5lY3Rpb25TZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgX2FwaUNvbnN0czogQXBpQ29uc3RhbnRzU2VydmljZSA9IGluamVjdChBcGlDb25zdGFudHNTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgX29wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSA9IGluamVjdChPcHRpb25zU2VydmljZSk7XHJcbiAgICBwcml2YXRlIF9wYWdpbmF0aW9uU2VydmljZTogUGFnaW5hdGlvblNlcnZpY2UgPSBpbmplY3QoUGFnaW5hdGlvblNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSBfY29uc3RzOiBDb3JlQ29uc3RhbnRzU2VydmljZSA9IGluamVjdChDb3JlQ29uc3RhbnRzU2VydmljZSk7XHJcblxyXG4gICAgcHJpdmF0ZSBfcHJvZHVjdHNTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8UHJvZHVjdFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UHJvZHVjdFtdPihbXSlcclxuICAgIHB1YmxpYyBwcm9kdWN0cyQ6IE9ic2VydmFibGU8UHJvZHVjdFtdPiA9IHRoaXMuX3Byb2R1Y3RzU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICAgIHByaXZhdGUgX2ZpbHRlcnNTZXJ2aWNlOiBGaWx0ZXJzU2VydmljZSA9IGluamVjdChGaWx0ZXJzU2VydmljZSlcclxuICAgIHByaXZhdGUgZmlsdGVyc1N1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxGaWx0ZXJbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZpbHRlcltdPihbXSk7XHJcbiAgICBwdWJsaWMgZmlsdGVycyQgPSB0aGlzLmZpbHRlcnNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIHByaXZhdGUgc2VhcmNoVmFsdWUgPSBzaWduYWw8c3RyaW5nPignJyk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5fcGFnaW5hdGlvblNlcnZpY2UucmVzZXQkLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9wcm9kdWN0c1N1YmplY3QubmV4dChbXSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuX3BhZ2luYXRpb25TZXJ2aWNlLnBhZ2luYXRpb25EYXRhJC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgIHByb2R1Y3RzID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHByb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQgPSB0aGlzLl9jb25zdHMuZ2V0UHJvZHVjdFdpdGhVbmlxdWVWYXJpYW50KCk7XHJcbiAgICAgICAgICAgICAgICBpZiAocHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudClcclxuICAgICAgICAgICAgICAgICAgICBwcm9kdWN0cyA9IHRoaXMuZ2V0UHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudChwcm9kdWN0cywgdGhpcy5nZXRPYmplY3RXaXRoVmFyaWFudCgpKTtcclxuXHJcbiAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50UHJvZHVjdHMgPSB0aGlzLl9wcm9kdWN0c1N1YmplY3QudmFsdWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9wcm9kdWN0c1N1YmplY3QubmV4dChbLi4uY3VycmVudFByb2R1Y3RzLCAuLi5wcm9kdWN0c10pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgICAvLyBTdXNjcmliaXJzZSBhIGxvcyBjYW1iaW9zIGVuIGVsIHJhbmdvIGRlIHByZWNpb3NcclxuICAgICAgICB0aGlzLl9wYWdpbmF0aW9uU2VydmljZS5wcmljZVJhbmdlJC5zdWJzY3JpYmUocmFuZ2UgPT4ge1xyXG4gICAgICAgICAgICBsZXQgbWluID0gTWF0aC5mbG9vcihyYW5nZS5wcmljZV9taW4pO1xyXG4gICAgICAgICAgICBsZXQgbWF4ID0gTWF0aC5jZWlsKHJhbmdlLnByaWNlX21heCk7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUHJpY2VSYW5nZUZpbHRlcihtaW4sIG1heCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5fZmlsdGVyc1NlcnZpY2UuZmlsdGVycyQuc3Vic2NyaWJlKGZpbHRlcnMgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlcnNTdWJqZWN0Lm5leHQoZmlsdGVycyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB1cGRhdGVQcmljZVJhbmdlRmlsdGVyKG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcikge1xyXG4gICAgICAgIGNvbnN0IGZpbmFsX2ZpbHRlcnM6IEZpbHRlcltdID0gdGhpcy5maWx0ZXJzU3ViamVjdC52YWx1ZTtcclxuICAgICAgICBjb25zdCBwcmljZVJhbmdlRmlsdGVyID0gZmluYWxfZmlsdGVycy5maW5kKGZpbHRlciA9PiBmaWx0ZXIgaW5zdGFuY2VvZiBQcmljZVJhbmdlRmlsdGVyKTtcclxuXHJcbiAgICAgICAgaWYgKHByaWNlUmFuZ2VGaWx0ZXIpIHtcclxuICAgICAgICAgICAgKHByaWNlUmFuZ2VGaWx0ZXIgYXMgUHJpY2VSYW5nZUZpbHRlcikudXBkYXRlUHJpY2VzKG1pbiwgbWF4KTtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJzU3ViamVjdC5uZXh0KGZpbmFsX2ZpbHRlcnMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIC8vQVBJIFVSTFxyXG4gICAgcHJpdmF0ZSBfc2hvcEFwaVVybCA9IHRoaXMuX2FwaUNvbnN0cy5TSE9QX0FQSV9VUkw7XHJcbiAgICBwcm9kdWN0QnlDb2RlQXBpKGNvZGU6IHN0cmluZywgdmFyaWFudDogYm9vbGVhbikgeyByZXR1cm4gdGhpcy5fc2hvcEFwaVVybCArIHRoaXMuX2FwaUNvbnN0cy5DSEFOTkVMICsgJy9wcm9kdWN0cy9ieS1jb2RlLycgKyAodmFyaWFudCA/ICd2YXJpYW50LycgOiAnJykgKyBjb2RlICsgJz9sb2NhbGU9JyArIHRoaXMuX2FwaUNvbnN0cy5MT0NBTEU7IH1cclxuICAgIC8vIHJldmlld1xyXG4gICAgc2F2ZVByb2R1Y3RSZXZpZXdzQXBpKGNvZGU6IHN0cmluZykgeyByZXR1cm4gdGhpcy5fc2hvcEFwaVVybCArIHRoaXMuX2FwaUNvbnN0cy5DSEFOTkVMICsgJy9wcm9kdWN0cy9ieS1jb2RlLycgKyBjb2RlICsgJy9yZXZpZXdzJzsgfVxyXG4gICAgLy9yZWxhdGVkIHByb2R1Y3RzXHJcbiAgICByZWxhdGVkUHJvZHVjdHNBcGkgPSAoa2V5OiBzdHJpbmcpOiBzdHJpbmcgPT4gJ3Nob3AtYXBpLycgKyB0aGlzLl9hcGlDb25zdHMuQ0hBTk5FTCArICcvcHJvZHVjdHMvcmVsYXRlZC9ieS1jb2RlLycgKyBrZXkgKyAnP2xvY2FsZT0nICsgdGhpcy5fYXBpQ29uc3RzLkxPQ0FMRTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldGVhIGxvcyBmaWx0cm9zIHBhcmEgb2J0ZW5lciBsb3MgcHJvZHVjdG9zLlxyXG4gICAgICogQHBhcmFtIHBhZ2luYXRpb25TZXR0aW5ncyBcclxuICAgICAqIEBwYXJhbSBzZWFyY2hWYWx1ZSBcclxuICAgICAqL1xyXG4gICAgZ2V0UHJvZHVjdHNGb3JGaWx0ZXIoXHJcbiAgICAgICAgcGFnaW5hdGlvblNldHRpbmdzPzogUGFnaW5hdGlvblNldHRpbmdzLFxyXG4gICAgICAgIHNlYXJjaFZhbHVlPzogYW55LFxyXG4gICAgICAgIHJvdXRlUXVlcnlQYXJhbXM/OiBhbnlcclxuICAgICk6IGFueSB7XHJcbiAgICAgICAgc2VhcmNoVmFsdWUgPyB0aGlzLnNlYXJjaFZhbHVlLnNldChzZWFyY2hWYWx1ZSkgOiB0aGlzLnNlYXJjaFZhbHVlLnNldCgnJyk7XHJcbiAgICAgICAgaWYgKHBhZ2luYXRpb25TZXR0aW5ncykge1xyXG4gICAgICAgICAgICB0aGlzLl9maWx0ZXJzU2VydmljZS5zZXRGaWx0ZXJzKHBhZ2luYXRpb25TZXR0aW5ncywgc2VhcmNoVmFsdWUsIHJvdXRlUXVlcnlQYXJhbXMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICogQWN0dWFsaXphIGxvcyBwcm9kdWN0b3MgY29uIGxvcyBkZSBsYSBzaWd1aWVudGUgcGFnaW5hLlxyXG4gICAgICovXHJcbiAgICB1cGRhdGVQcm9kdWN0cygpIHtcclxuICAgICAgICBpZiAoIXRoaXMuX3BhZ2luYXRpb25TZXJ2aWNlLmdldFdhaXRpbmcoKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9wYWdpbmF0aW9uU2VydmljZS5nZXROZXh0KClcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIERldnVlbHZlIGVsIHByb2R1Y3RvIHBvciBjb2RpZ28uXHJcbiAgICAgKiBAcGFyYW0gY29kZSBDb2RpZ28gZGVsIHByb2R1Y3RvXHJcbiAgICAgKiBAcGFyYW0gdmFyaWFudCBQYXJhIGluZGljYXIgc2kgZXMgdmFyaWFudGUgbyBuby5cclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBnZXRQcm9kdWN0QnlDb2RlKGNvZGU6IHN0cmluZywgdmFyaWFudDogYm9vbGVhbik6IE9ic2VydmFibGU8UHJvZHVjdD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jb25uZWN0aW9uLmdldCh0aGlzLnByb2R1Y3RCeUNvZGVBcGkoY29kZSwgdmFyaWFudCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgKiBAZGVzY3JpcHRpb24gR3VhcmRhIGxhIHJlc2XDsWEgZGUgdW4gcHJvZHVjdG8uXHJcbiAgICAqIEBwYXJhbSBjb2RlXHJcbiAgICAqIEBwYXJhbSBmb3JtX2RhdGFcclxuICAgICogQHJldHVybnNcclxuICAgICovXHJcbiAgICBzYXZlUmV2aWV3cyA9IChjb2RlOiBzdHJpbmcsIGZvcm1fZGF0YTogYW55KSA9PiB0aGlzLl9jb25uZWN0aW9uLnBvc3QodGhpcy5zYXZlUHJvZHVjdFJldmlld3NBcGkoY29kZSksIGZvcm1fZGF0YSlcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZWNpYmUgdW5hIGxpc3RhIGRlIHByb2R1Y3RvcyB5IHJldG9ybmEgbG9zIG1pc21vcyBwcm9kdWN0b3MgdGFudGFzIHZlY2VzIGNvbW8gdmFyaWFudGVzIHRlbmdhLlxyXG4gICAgICogY2FkYSBwcm9kdWN0byByZXRvcm5hZG8gdGVuZHLDoSB1bmEgw7puaWNhIHZhcmlhbnRlLlxyXG4gICAgICogQHBhcmFtIHByb2R1Y3RzICBBcnJheS4gTGlzdGEgZGUgcHJvZHVjdG9zLlxyXG4gICAgICogQHBhcmFtIHdpdGhPcHRpb24gJ3R5cGUnIHRpcG8gZGUgb3BjacOzbiwgY29kZTogY8OzZGlnbyBkZSBsYSBvcGNpw7NuLiAnZGVmYXVsdEZpcnN0T3B0aW9uJzogZW4gY2FzbyBkZSBxdWUgbm8gc2UgcHVlZGEgZGVzZG9ibGFyIHBvciBsYSBvcGNpw7NuIGluZGljYWRhIHNpIGVsIHZhbG9yIGVzIHZlcmRhZGVybyBzZSBpbnRlbnRhcmEgZGVzZG9ibGFyIHBvciBsYSBwcmltZXJhIG9wY2nDs24gYXNvY2lhZGEgYWwgcHJvZHVjdG8uXHJcbiAgICAgKiAnY2hlY2tJZlN0b2NrJzogZW4gY2FzbyBkZSBxdWUgZXN0YSB2YWxvciBzZWEgdmVyZGFkZXJvIHNlIHJlYWxpemEgdW4gY29udHJvbCBkZSBxdWUgbGEgdmFyaWFudGVzIGN1ZW50ZW4gY29uIHN0b2NrIHBhcmEgc2VyIHVuIHByb2R1Y3RvIGRlc2RvYmxhZG8gcG9yIGxhIHZhcmlhbnRlLCBzaSBlbCB2YWxvciBlcyBmYWxzbyBubyBzZSByZWFsaXphIGRpY2hvIGNvbnRyb2wgeSBlbCBwcm9kdWN0byBzZSBkZXNkb2JsYXJhIGNvbiBzdG9jayBlbiAwLlxyXG4gICAgICogQHJldHVybnMgYXJyZWdsbyBjb24gbG9zIHByb2R1Y3RvcyBkZXNkb2JsYWRvcyBwb3IgbGEgb3BjacOzbiBzb2xpY2l0YWRhLlxyXG4gICAgICogKG9wY2nDs24gcG9yIGRlZmVjdG8gcXVlIHNlIGludGVudGEgaGFjZXIgZWwgZGVzZG9ibGFtaWVudG8gJ2NvbG9yJywgbyBiaWVuIHNpIGVuIGxlIHBhcsOhbWV0cm8gd2l0aE9wdGlvbiBlbCBhdHJpYnV0byAnZGVmYXVsdEZpcnN0T3B0aW9uJyBlcyB2ZXJkYWRlcm8gc2UgZGVzZG9ibGEgcG9yIGxhIHByaW1lcmEgb3BjacOzbiBhc29jaWFkYSBhbCBwcm9kdWN0bylcclxuICAgICAqL1xyXG4gICAgZ2V0UHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCA9IChwcm9kdWN0czogUHJvZHVjdFtdLCB3aXRoT3B0aW9uOiBQYXJhbXNQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50ID0geyB0eXBlOiAnY29sb3InLCBjb2RlOiAnY29sb3InLCBkZWZhdWx0Rmlyc3RPcHRpb246IGZhbHNlLCBjaGVja0lmU3RvY2s6IHRydWUgfSkgPT4ge1xyXG5cclxuICAgICAgICAhd2l0aE9wdGlvblsnY29kZSddICYmIHdpdGhPcHRpb25bJ3R5cGUnXSAmJiAod2l0aE9wdGlvblsnY29kZSddID0gd2l0aE9wdGlvblsndHlwZSddKSB8fCAhd2l0aE9wdGlvblsnY29kZSddICYmICh3aXRoT3B0aW9uWydjb2RlJ10gPSAnY29sb3InKVxyXG4gICAgICAgICF3aXRoT3B0aW9uWyd0eXBlJ10gJiYgd2l0aE9wdGlvblsnY29kZSddICYmICh3aXRoT3B0aW9uWyd0eXBlJ10gPSB3aXRoT3B0aW9uWydjb2RlJ10pIHx8ICF3aXRoT3B0aW9uWyd0eXBlJ10gJiYgKHdpdGhPcHRpb25bJ3R5cGUnXSA9ICdjb2xvcicpXHJcbiAgICAgICAgIXdpdGhPcHRpb24uaGFzT3duUHJvcGVydHkoJ2RlZmF1bHRGaXJzdE9wdGlvbicpICYmICh3aXRoT3B0aW9uWydkZWZhdWx0Rmlyc3RPcHRpb24nXSA9IGZhbHNlKVxyXG4gICAgICAgICF3aXRoT3B0aW9uLmhhc093blByb3BlcnR5KCdjaGVja0lmU3RvY2snKSAmJiAod2l0aE9wdGlvblsnY2hlY2tJZlN0b2NrJ10gPSB0cnVlKVxyXG5cclxuICAgICAgICBsZXQgcHJvZHVjdHNVbmlxdWVWYXJpYW50OiBhbnlbXSA9IFtdO1xyXG4gICAgICAgIHByb2R1Y3RzLmZvckVhY2goKHByb2R1Y3Q6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgdmFyaWFudHMgPSBbLi4ucHJvZHVjdD8udmFyaWFudHNdO1xyXG4gICAgICAgICAgICBsZXQgb3B0aW9uID0gcHJvZHVjdC5vcHRpb25zLmZpbmQoKG9wdDogYW55KSA9PiBvcHQudHlwZS50b0xvd2VyQ2FzZSgpID09PSB3aXRoT3B0aW9uLnR5cGU/LnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgICAgICAgICBpZiAob3B0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICBvcHRpb24udmFsdWVzLmZvckVhY2goKG9wdGlvblZhbHVlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgbW9kaWZpZWRfcHJvZHVjdCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocHJvZHVjdCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIG1vZGlmaWVkX3Byb2R1Y3Qub3B0aW9ucy5maW5kKChvcHRpb246IGFueSkgPT4gb3B0aW9uLnR5cGUudG9Mb3dlckNhc2UoKSA9PSB3aXRoT3B0aW9uLnR5cGU/LnRvTG93ZXJDYXNlKCkpLnZhbHVlcyA9IFt7IGNvZGU6IG9wdGlvblZhbHVlLmNvZGUsIG5hbWU6IG9wdGlvblZhbHVlLm5hbWUgfV07XHJcbiAgICAgICAgICAgICAgICAgICAgLy9idXNjbyB1bmEgdmFyaWFudGUgY29uIGVzZSBjb2RlIHBhcmEgYXNpZ25hcmxlIGxhIGxpc3RhIGRlIGltYWdlbmVzXHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHZhcmlhbnRBdXggPSB2YXJpYW50cy5maW5kKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50ID0+ICgod2l0aE9wdGlvbi5jaGVja0lmU3RvY2sgJiYgdmFyaWFudC5zdG9jayA+IDApIHx8IHdpdGhPcHRpb24uY2hlY2tJZlN0b2NrID09IGZhbHNlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgdmFyaWFudC5vcHRpb25zLmxlbmd0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgdmFyaWFudC5vcHRpb25zLnNvbWUoKG9wOiBhbnkpID0+IChvcC5oYXNPd25Qcm9wZXJ0eSh3aXRoT3B0aW9uLmNvZGU/LnRvTG93ZXJDYXNlKCkpIHx8IG9wLmhhc093blByb3BlcnR5KHdpdGhPcHRpb24uY29kZT8udG9VcHBlckNhc2UoKSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgKG9wW2Ake3dpdGhPcHRpb24uY29kZT8udG9Mb3dlckNhc2UoKX1gXSB8fCBvcFtgJHt3aXRoT3B0aW9uLmNvZGU/LnRvVXBwZXJDYXNlKCl9YF0pID09PSBvcHRpb25WYWx1ZS5jb2RlKVxyXG5cclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vY29uc29sZS5sb2coXCItLS1cIix2YXJpYW50QXV4KTtcclxuICAgICAgICAgICAgICAgICAgICB2YXJpYW50QXV4ICYmIHByb2R1Y3RzVW5pcXVlVmFyaWFudC5wdXNoKHRoaXMucHJvZHVjdFdpdGhWYXJpYW50VmFsdWVzKG1vZGlmaWVkX3Byb2R1Y3QsIHZhcmlhbnRBdXgsIG9wdGlvblZhbHVlKSk7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLyoqXHJcbiAgICAgICAgICAgICAgICAgKiBzZSBtb2RpZmljYSBlbCBjYXNvIHBhcmEgY3VhbmRvIHNlIHRvbWEgZWwgcHJpbWVyIGBvcHRpb25gIGRlbCBwcm9kdWN0byBwYXJhXHJcbiAgICAgICAgICAgICAgICAgKiBhcm1hciBsYSBsaXN0YSBkZSBwcm9kdWN0b3MgY29uIHZhcmlhbnRlcy5cclxuICAgICAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICAgICAgaWYgKHdpdGhPcHRpb24uZGVmYXVsdEZpcnN0T3B0aW9uICYmIHByb2R1Y3Qub3B0aW9ucz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZpcnN0T3B0aW9ucyA9IHByb2R1Y3Qub3B0aW9uc1swXVxyXG4gICAgICAgICAgICAgICAgICAgIHByb2R1Y3Qub3B0aW9uc1swXS52YWx1ZXMuZm9yRWFjaCgob3B0aW9uVmFsdWU6IGFueSkgPT4ge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG1vZGlmaWVkX3Byb2R1Y3QgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHByb2R1Y3QpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpZWRfcHJvZHVjdC5vcHRpb25zLmZpbmQoKG9wdGlvbjogT3B0aW9ucykgPT4gb3B0aW9uLnR5cGUgPT0gZmlyc3RPcHRpb25zLnR5cGUpLnZhbHVlcyA9IFt7IGNvZGU6IG9wdGlvblZhbHVlLmNvZGUsIG5hbWU6IG9wdGlvblZhbHVlLm5hbWUgfV07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgdmFyaWFudEF1eCA9IHZhcmlhbnRzLmZpbmQodmFyaWFudCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFyaWFudC5vcHRpb25zLmZpbmQoKGVsZW06IGFueSkgPT4gZWxlbVtmaXJzdE9wdGlvbnMuY29kZV0gPT0gb3B0aW9uVmFsdWUuY29kZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YXJpYW50QXV4ICYmIHZhcmlhbnRBdXguaW1hZ2VzLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50QXV4LmltYWdlcyA9IHByb2R1Y3QucGljdHVyZXNkZWZhdWx0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh3aXRoT3B0aW9uLmNoZWNrSWZTdG9jaykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZhcmlhbnRBdXggJiYgdmFyaWFudEF1eC5zdG9jayA+IDApID8gcHJvZHVjdHNVbmlxdWVWYXJpYW50LnB1c2godGhpcy5wcm9kdWN0V2l0aFZhcmlhbnRWYWx1ZXMobW9kaWZpZWRfcHJvZHVjdCwgdmFyaWFudEF1eCwgb3B0aW9uVmFsdWUpKSA6IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50QXV4ICYmIHByb2R1Y3RzVW5pcXVlVmFyaWFudC5wdXNoKHRoaXMucHJvZHVjdFdpdGhWYXJpYW50VmFsdWVzKG1vZGlmaWVkX3Byb2R1Y3QsIHZhcmlhbnRBdXgsIG9wdGlvblZhbHVlKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm9kdWN0c1VuaXF1ZVZhcmlhbnQucHVzaChwcm9kdWN0KVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgcmV0dXJuIHByb2R1Y3RzVW5pcXVlVmFyaWFudC5sZW5ndGggPiAwID8gcHJvZHVjdHNVbmlxdWVWYXJpYW50IDogcHJvZHVjdHM7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvZHVjdFdpdGhWYXJpYW50VmFsdWVzID0gKHByb2R1Y3Q6IFByb2R1Y3QsIHZhcmlhbnQ6IGFueSwgb3B0aW9uVmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICAgIHByb2R1Y3QucGljdHVyZXNkZWZhdWx0ID0gWy4uLnZhcmlhbnQuaW1hZ2VzXVxyXG4gICAgICAgIHByb2R1Y3QudmFyaWFudF9pZCA9IHZhcmlhbnQuY29kZTsgLy9sbyBkZWpvIGFjYSBoYXN0YSBhc2VndXJhcm5vcyBkZSBxdWUgbm8gc2UgZXN0YWJhIHVzYW5kbyBlbiBvdHJhIHBhcnRlLlxyXG4gICAgICAgIHByb2R1Y3Quc3RvY2sgPSB2YXJpYW50LnN0b2NrIHx8IDA7IC8vbG8gZGVqbyBhY2EgaGFzdGEgYXNlZ3VyYXJub3MgZGUgcXVlIG5vIHNlIGVzdGFiYSB1c2FuZG8gZW4gb3RyYSBwYXJ0ZS5cclxuICAgICAgICBwcm9kdWN0LnByaWNlID0gdmFyaWFudC5wcmljZS50b1N0cmluZygpIHx8ICcwJztcclxuICAgICAgICBwcm9kdWN0LmN1cnJlbnRPcHRpb24gPSB7XHJcbiAgICAgICAgICAgIC4uLm9wdGlvblZhbHVlLFxyXG4gICAgICAgICAgICBwcm9kdWN0Q29kZTogcHJvZHVjdC5pZCxcclxuICAgICAgICAgICAgdmFyaWFudENvZGU6IHZhcmlhbnQuY29kZSxcclxuICAgICAgICAgICAgc3RvY2s6IHZhcmlhbnQuc3RvY2sgfHwgMCxcclxuICAgICAgICAgICAgZmluYWxQcmljZTogdmFyaWFudC5zYWxlcHJpY2UgfHwgdmFyaWFudC5wcmljZSB8fCAwLFxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcHJvZHVjdFxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0T2JqZWN0V2l0aFZhcmlhbnQgPSAoKTogUGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnN0cy5nZXRQYXJhbXNQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50KClcclxuICAgIH1cclxuXHJcbiAgICBnZXRSZWxhdGVkUHJvZHVjdHMocHJvZHVjdF9pZDogYW55KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb24uZ2V0KHRoaXMucmVsYXRlZFByb2R1Y3RzQXBpKHByb2R1Y3RfaWQpKTtcclxuICAgIH1cclxuXHJcbiAgICBoYXNTdG9jayhwcm9kdWN0OiBQcm9kdWN0KTogYm9vbGVhbiB7XHJcbiAgICAgICAgLy8gU2kgZWwgcHJvZHVjdG8gdGllbmUgbGEgcHJvcGllZGFkICdzdG9jaycgeSBlcyBtYXlvciBhIDBcclxuICAgICAgICBpZiAodHlwZW9mIHByb2R1Y3Quc3RvY2sgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9kdWN0LnN0b2NrID4gMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gU2kgZWwgcHJvZHVjdG8gdGllbmUgdmFyaWFudGVzLCB2ZXJpZmljYSBzaSBhbGd1bmEgdGllbmUgc3RvY2tcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShwcm9kdWN0LnZhcmlhbnRzKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gcHJvZHVjdC52YXJpYW50cy5zb21lKHZhcmlhbnQgPT4gdmFyaWFudC5zdG9jayA+IDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBTaSBubyB0aWVuZSBpbmZvcm1hY2nDs24gZGUgc3RvY2ssIGFzdW1pbW9zIHF1ZSBubyBoYXkgc3RvY2tcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1zZXJ2aWNlcy9wcm9kdWN0cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsTUFBTSxFQUFFLFVBQVUsRUFBeUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxlQUFlLEVBQTBELE1BQU0sTUFBTSxDQUFDO0FBRS9GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTs7QUFLbEQsTUFBTSxPQUFPLGVBQWU7SUFFaEIsV0FBVyxHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMzRCxVQUFVLEdBQXdCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzlELGVBQWUsR0FBbUIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3pELGtCQUFrQixHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRSxPQUFPLEdBQXlCLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRTdELGdCQUFnQixHQUErQixJQUFJLGVBQWUsQ0FBWSxFQUFFLENBQUMsQ0FBQTtJQUNsRixTQUFTLEdBQTBCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FB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QUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUNELGlFQUFpRTtRQUNqRSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDbEMsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUNELDhEQUE4RDtRQUM5RCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO3dHQWpOUSxlQUFlOzRHQUFmLGVBQWUsY0FGWixNQUFNOzs0RkFFVCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50SW5qZWN0b3IsIGluamVjdCwgSW5qZWN0YWJsZSwgcnVuSW5JbmplY3Rpb25Db250ZXh0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEZWZhdWx0RmlsdGVyLCBGaWx0ZXJFbGVtZW50LCBGaWx0ZXJUeXBlLCBJRmlsdGVyLCBPcHRpb25zLCBQYWdpbmF0aW9uU2V0dGluZ3MsIFBhcmFtc1Byb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQsIFByb2R1Y3QgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IENvbm5lY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYXBpJztcbmltcG9ydCB7IEFwaUNvbnN0YW50c1NlcnZpY2UsIENvcmVDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9vcHRpb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFnaW5hdGlvblNlcnZpY2UgfSBmcm9tICcuL3BhZ2luYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBGaWx0ZXIsIEZpbHRlckZhY3RvcnksIH0gZnJvbSAnLi4vY2xhc3Nlcyc7XG5pbXBvcnQgeyBQcmljZVJhbmdlRmlsdGVyIH0gZnJvbSAnLi4vY2xhc3Nlcy9maWx0ZXJzL3ByaWNlX3JhbmdlLWZpbHRlcic7XG5pbXBvcnQgeyBGaWx0ZXJzU2VydmljZSB9IGZyb20gJy4vZmlsdGVycy5zZXJ2aWNlJ1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RzU2VydmljZSB7XG5cbiAgICBwcml2YXRlIF9jb25uZWN0aW9uOiBDb25uZWN0aW9uU2VydmljZSA9IGluamVjdChDb25uZWN0aW9uU2VydmljZSk7XG4gICAgcHJpdmF0ZSBfYXBpQ29uc3RzOiBBcGlDb25zdGFudHNTZXJ2aWNlID0gaW5qZWN0KEFwaUNvbnN0YW50c1NlcnZpY2UpO1xuICAgIHByaXZhdGUgX29wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSA9IGluamVjdChPcHRpb25zU2VydmljZSk7XG4gICAgcHJpdmF0ZSBfcGFnaW5hdGlvblNlcnZpY2U6IFBhZ2luYXRpb25TZXJ2aWNlID0gaW5qZWN0KFBhZ2luYXRpb25TZXJ2aWNlKTtcbiAgICBwcml2YXRlIF9jb25zdHM6IENvcmVDb25zdGFudHNTZXJ2aWNlID0gaW5qZWN0KENvcmVDb25zdGFudHNTZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgX3Byb2R1Y3RzU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PFByb2R1Y3RbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFByb2R1Y3RbXT4oW10pXG4gICAgcHVibGljIHByb2R1Y3RzJDogT2JzZXJ2YWJsZTxQcm9kdWN0W10+ID0gdGhpcy5fcHJvZHVjdHNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHByaXZhdGUgX2ZpbHRlcnNTZXJ2aWNlOiBGaWx0ZXJzU2VydmljZSA9IGluamVjdChGaWx0ZXJzU2VydmljZSlcbiAgICBwcml2YXRlIGZpbHRlcnNTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8RmlsdGVyW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGaWx0ZXJbXT4oW10pO1xuICAgIHB1YmxpYyBmaWx0ZXJzJCA9IHRoaXMuZmlsdGVyc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBwcml2YXRlIHNlYXJjaFZhbHVlID0gc2lnbmFsPHN0cmluZz4oJycpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuX3BhZ2luYXRpb25TZXJ2aWNlLnJlc2V0JC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3Byb2R1Y3RzU3ViamVjdC5uZXh0KFtdKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fcGFnaW5hdGlvblNlcnZpY2UucGFnaW5hdGlvbkRhdGEkLnN1YnNjcmliZShcbiAgICAgICAgICAgIHByb2R1Y3RzID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50ID0gdGhpcy5fY29uc3RzLmdldFByb2R1Y3RXaXRoVW5pcXVlVmFyaWFudCgpO1xuICAgICAgICAgICAgICAgIGlmIChwcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50KVxuICAgICAgICAgICAgICAgICAgICBwcm9kdWN0cyA9IHRoaXMuZ2V0UHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudChwcm9kdWN0cywgdGhpcy5nZXRPYmplY3RXaXRoVmFyaWFudCgpKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRQcm9kdWN0cyA9IHRoaXMuX3Byb2R1Y3RzU3ViamVjdC52YWx1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLl9wcm9kdWN0c1N1YmplY3QubmV4dChbLi4uY3VycmVudFByb2R1Y3RzLCAuLi5wcm9kdWN0c10pO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgICAvLyBTdXNjcmliaXJzZSBhIGxvcyBjYW1iaW9zIGVuIGVsIHJhbmdvIGRlIHByZWNpb3NcbiAgICAgICAgdGhpcy5fcGFnaW5hdGlvblNlcnZpY2UucHJpY2VSYW5nZSQuc3Vic2NyaWJlKHJhbmdlID0+IHtcbiAgICAgICAgICAgIGxldCBtaW4gPSBNYXRoLmZsb29yKHJhbmdlLnByaWNlX21pbik7XG4gICAgICAgICAgICBsZXQgbWF4ID0gTWF0aC5jZWlsKHJhbmdlLnByaWNlX21heCk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVByaWNlUmFuZ2VGaWx0ZXIobWluLCBtYXgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fZmlsdGVyc1NlcnZpY2UuZmlsdGVycyQuc3Vic2NyaWJlKGZpbHRlcnMgPT4ge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJzU3ViamVjdC5uZXh0KGZpbHRlcnMpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVByaWNlUmFuZ2VGaWx0ZXIobWluOiBudW1iZXIsIG1heDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IGZpbmFsX2ZpbHRlcnM6IEZpbHRlcltdID0gdGhpcy5maWx0ZXJzU3ViamVjdC52YWx1ZTtcbiAgICAgICAgY29uc3QgcHJpY2VSYW5nZUZpbHRlciA9IGZpbmFsX2ZpbHRlcnMuZmluZChmaWx0ZXIgPT4gZmlsdGVyIGluc3RhbmNlb2YgUHJpY2VSYW5nZUZpbHRlcik7XG5cbiAgICAgICAgaWYgKHByaWNlUmFuZ2VGaWx0ZXIpIHtcbiAgICAgICAgICAgIChwcmljZVJhbmdlRmlsdGVyIGFzIFByaWNlUmFuZ2VGaWx0ZXIpLnVwZGF0ZVByaWNlcyhtaW4sIG1heCk7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcnNTdWJqZWN0Lm5leHQoZmluYWxfZmlsdGVycyk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgLy9BUEkgVVJMXG4gICAgcHJpdmF0ZSBfc2hvcEFwaVVybCA9IHRoaXMuX2FwaUNvbnN0cy5TSE9QX0FQSV9VUkw7XG4gICAgcHJvZHVjdEJ5Q29kZUFwaShjb2RlOiBzdHJpbmcsIHZhcmlhbnQ6IGJvb2xlYW4pIHsgcmV0dXJuIHRoaXMuX3Nob3BBcGlVcmwgKyB0aGlzLl9hcGlDb25zdHMuQ0hBTk5FTCArICcvcHJvZHVjdHMvYnktY29kZS8nICsgKHZhcmlhbnQgPyAndmFyaWFudC8nIDogJycpICsgY29kZSArICc/bG9jYWxlPScgKyB0aGlzLl9hcGlDb25zdHMuTE9DQUxFOyB9XG4gICAgLy8gcmV2aWV3XG4gICAgc2F2ZVByb2R1Y3RSZXZpZXdzQXBpKGNvZGU6IHN0cmluZykgeyByZXR1cm4gdGhpcy5fc2hvcEFwaVVybCArIHRoaXMuX2FwaUNvbnN0cy5DSEFOTkVMICsgJy9wcm9kdWN0cy9ieS1jb2RlLycgKyBjb2RlICsgJy9yZXZpZXdzJzsgfVxuICAgIC8vcmVsYXRlZCBwcm9kdWN0c1xuICAgIHJlbGF0ZWRQcm9kdWN0c0FwaSA9IChrZXk6IHN0cmluZyk6IHN0cmluZyA9PiAnc2hvcC1hcGkvJyArIHRoaXMuX2FwaUNvbnN0cy5DSEFOTkVMICsgJy9wcm9kdWN0cy9yZWxhdGVkL2J5LWNvZGUvJyArIGtleSArICc/bG9jYWxlPScgKyB0aGlzLl9hcGlDb25zdHMuTE9DQUxFO1xuXG4gICAgLyoqXG4gICAgICogU2V0ZWEgbG9zIGZpbHRyb3MgcGFyYSBvYnRlbmVyIGxvcyBwcm9kdWN0b3MuXG4gICAgICogQHBhcmFtIHBhZ2luYXRpb25TZXR0aW5ncyBcbiAgICAgKiBAcGFyYW0gc2VhcmNoVmFsdWUgXG4gICAgICovXG4gICAgZ2V0UHJvZHVjdHNGb3JGaWx0ZXIoXG4gICAgICAgIHBhZ2luYXRpb25TZXR0aW5ncz86IFBhZ2luYXRpb25TZXR0aW5ncyxcbiAgICAgICAgc2VhcmNoVmFsdWU/OiBhbnksXG4gICAgICAgIHJvdXRlUXVlcnlQYXJhbXM/OiBhbnlcbiAgICApOiBhbnkge1xuICAgICAgICBzZWFyY2hWYWx1ZSA/IHRoaXMuc2VhcmNoVmFsdWUuc2V0KHNlYXJjaFZhbHVlKSA6IHRoaXMuc2VhcmNoVmFsdWUuc2V0KCcnKTtcbiAgICAgICAgaWYgKHBhZ2luYXRpb25TZXR0aW5ncykge1xuICAgICAgICAgICAgdGhpcy5fZmlsdGVyc1NlcnZpY2Uuc2V0RmlsdGVycyhwYWdpbmF0aW9uU2V0dGluZ3MsIHNlYXJjaFZhbHVlLCByb3V0ZVF1ZXJ5UGFyYW1zKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBBY3R1YWxpemEgbG9zIHByb2R1Y3RvcyBjb24gbG9zIGRlIGxhIHNpZ3VpZW50ZSBwYWdpbmEuXG4gICAgICovXG4gICAgdXBkYXRlUHJvZHVjdHMoKSB7XG4gICAgICAgIGlmICghdGhpcy5fcGFnaW5hdGlvblNlcnZpY2UuZ2V0V2FpdGluZygpKSB7XG4gICAgICAgICAgICB0aGlzLl9wYWdpbmF0aW9uU2VydmljZS5nZXROZXh0KClcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBEZXZ1ZWx2ZSBlbCBwcm9kdWN0byBwb3IgY29kaWdvLlxuICAgICAqIEBwYXJhbSBjb2RlIENvZGlnbyBkZWwgcHJvZHVjdG9cbiAgICAgKiBAcGFyYW0gdmFyaWFudCBQYXJhIGluZGljYXIgc2kgZXMgdmFyaWFudGUgbyBuby5cbiAgICAgKiBAcmV0dXJucyBcbiAgICAgKi9cbiAgICBnZXRQcm9kdWN0QnlDb2RlKGNvZGU6IHN0cmluZywgdmFyaWFudDogYm9vbGVhbik6IE9ic2VydmFibGU8UHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29ubmVjdGlvbi5nZXQodGhpcy5wcm9kdWN0QnlDb2RlQXBpKGNvZGUsIHZhcmlhbnQpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAqIEBkZXNjcmlwdGlvbiBHdWFyZGEgbGEgcmVzZcOxYSBkZSB1biBwcm9kdWN0by5cbiAgICAqIEBwYXJhbSBjb2RlXG4gICAgKiBAcGFyYW0gZm9ybV9kYXRhXG4gICAgKiBAcmV0dXJuc1xuICAgICovXG4gICAgc2F2ZVJldmlld3MgPSAoY29kZTogc3RyaW5nLCBmb3JtX2RhdGE6IGFueSkgPT4gdGhpcy5fY29ubmVjdGlvbi5wb3N0KHRoaXMuc2F2ZVByb2R1Y3RSZXZpZXdzQXBpKGNvZGUpLCBmb3JtX2RhdGEpXG5cblxuICAgIC8qKlxuICAgICAqIFJlY2liZSB1bmEgbGlzdGEgZGUgcHJvZHVjdG9zIHkgcmV0b3JuYSBsb3MgbWlzbW9zIHByb2R1Y3RvcyB0YW50YXMgdmVjZXMgY29tbyB2YXJpYW50ZXMgdGVuZ2EuXG4gICAgICogY2FkYSBwcm9kdWN0byByZXRvcm5hZG8gdGVuZHLDoSB1bmEgw7puaWNhIHZhcmlhbnRlLlxuICAgICAqIEBwYXJhbSBwcm9kdWN0cyAgQXJyYXkuIExpc3RhIGRlIHByb2R1Y3Rvcy5cbiAgICAgKiBAcGFyYW0gd2l0aE9wdGlvbiAndHlwZScgdGlwbyBkZSBvcGNpw7NuLCBjb2RlOiBjw7NkaWdvIGRlIGxhIG9wY2nDs24uICdkZWZhdWx0Rmlyc3RPcHRpb24nOiBlbiBjYXNvIGRlIHF1ZSBubyBzZSBwdWVkYSBkZXNkb2JsYXIgcG9yIGxhIG9wY2nDs24gaW5kaWNhZGEgc2kgZWwgdmFsb3IgZXMgdmVyZGFkZXJvIHNlIGludGVudGFyYSBkZXNkb2JsYXIgcG9yIGxhIHByaW1lcmEgb3BjacOzbiBhc29jaWFkYSBhbCBwcm9kdWN0by5cbiAgICAgKiAnY2hlY2tJZlN0b2NrJzogZW4gY2FzbyBkZSBxdWUgZXN0YSB2YWxvciBzZWEgdmVyZGFkZXJvIHNlIHJlYWxpemEgdW4gY29udHJvbCBkZSBxdWUgbGEgdmFyaWFudGVzIGN1ZW50ZW4gY29uIHN0b2NrIHBhcmEgc2VyIHVuIHByb2R1Y3RvIGRlc2RvYmxhZG8gcG9yIGxhIHZhcmlhbnRlLCBzaSBlbCB2YWxvciBlcyBmYWxzbyBubyBzZSByZWFsaXphIGRpY2hvIGNvbnRyb2wgeSBlbCBwcm9kdWN0byBzZSBkZXNkb2JsYXJhIGNvbiBzdG9jayBlbiAwLlxuICAgICAqIEByZXR1cm5zIGFycmVnbG8gY29uIGxvcyBwcm9kdWN0b3MgZGVzZG9ibGFkb3MgcG9yIGxhIG9wY2nDs24gc29saWNpdGFkYS5cbiAgICAgKiAob3BjacOzbiBwb3IgZGVmZWN0byBxdWUgc2UgaW50ZW50YSBoYWNlciBlbCBkZXNkb2JsYW1pZW50byAnY29sb3InLCBvIGJpZW4gc2kgZW4gbGUgcGFyw6FtZXRybyB3aXRoT3B0aW9uIGVsIGF0cmlidXRvICdkZWZhdWx0Rmlyc3RPcHRpb24nIGVzIHZlcmRhZGVybyBzZSBkZXNkb2JsYSBwb3IgbGEgcHJpbWVyYSBvcGNpw7NuIGFzb2NpYWRhIGFsIHByb2R1Y3RvKVxuICAgICAqL1xuICAgIGdldFByb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQgPSAocHJvZHVjdHM6IFByb2R1Y3RbXSwgd2l0aE9wdGlvbjogUGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCA9IHsgdHlwZTogJ2NvbG9yJywgY29kZTogJ2NvbG9yJywgZGVmYXVsdEZpcnN0T3B0aW9uOiBmYWxzZSwgY2hlY2tJZlN0b2NrOiB0cnVlIH0pID0+IHtcblxuICAgICAgICAhd2l0aE9wdGlvblsnY29kZSddICYmIHdpdGhPcHRpb25bJ3R5cGUnXSAmJiAod2l0aE9wdGlvblsnY29kZSddID0gd2l0aE9wdGlvblsndHlwZSddKSB8fCAhd2l0aE9wdGlvblsnY29kZSddICYmICh3aXRoT3B0aW9uWydjb2RlJ10gPSAnY29sb3InKVxuICAgICAgICAhd2l0aE9wdGlvblsndHlwZSddICYmIHdpdGhPcHRpb25bJ2NvZGUnXSAmJiAod2l0aE9wdGlvblsndHlwZSddID0gd2l0aE9wdGlvblsnY29kZSddKSB8fCAhd2l0aE9wdGlvblsndHlwZSddICYmICh3aXRoT3B0aW9uWyd0eXBlJ10gPSAnY29sb3InKVxuICAgICAgICAhd2l0aE9wdGlvbi5oYXNPd25Qcm9wZXJ0eSgnZGVmYXVsdEZpcnN0T3B0aW9uJykgJiYgKHdpdGhPcHRpb25bJ2RlZmF1bHRGaXJzdE9wdGlvbiddID0gZmFsc2UpXG4gICAgICAgICF3aXRoT3B0aW9uLmhhc093blByb3BlcnR5KCdjaGVja0lmU3RvY2snKSAmJiAod2l0aE9wdGlvblsnY2hlY2tJZlN0b2NrJ10gPSB0cnVlKVxuXG4gICAgICAgIGxldCBwcm9kdWN0c1VuaXF1ZVZhcmlhbnQ6IGFueVtdID0gW107XG4gICAgICAgIHByb2R1Y3RzLmZvckVhY2goKHByb2R1Y3Q6IGFueSkgPT4ge1xuICAgICAgICAgICAgbGV0IHZhcmlhbnRzID0gWy4uLnByb2R1Y3Q/LnZhcmlhbnRzXTtcbiAgICAgICAgICAgIGxldCBvcHRpb24gPSBwcm9kdWN0Lm9wdGlvbnMuZmluZCgob3B0OiBhbnkpID0+IG9wdC50eXBlLnRvTG93ZXJDYXNlKCkgPT09IHdpdGhPcHRpb24udHlwZT8udG9Mb3dlckNhc2UoKSk7XG4gICAgICAgICAgICBpZiAob3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgb3B0aW9uLnZhbHVlcy5mb3JFYWNoKChvcHRpb25WYWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBtb2RpZmllZF9wcm9kdWN0ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShwcm9kdWN0KSk7XG4gICAgICAgICAgICAgICAgICAgIG1vZGlmaWVkX3Byb2R1Y3Qub3B0aW9ucy5maW5kKChvcHRpb246IGFueSkgPT4gb3B0aW9uLnR5cGUudG9Mb3dlckNhc2UoKSA9PSB3aXRoT3B0aW9uLnR5cGU/LnRvTG93ZXJDYXNlKCkpLnZhbHVlcyA9IFt7IGNvZGU6IG9wdGlvblZhbHVlLmNvZGUsIG5hbWU6IG9wdGlvblZhbHVlLm5hbWUgfV07XG4gICAgICAgICAgICAgICAgICAgIC8vYnVzY28gdW5hIHZhcmlhbnRlIGNvbiBlc2UgY29kZSBwYXJhIGFzaWduYXJsZSBsYSBsaXN0YSBkZSBpbWFnZW5lc1xuICAgICAgICAgICAgICAgICAgICBsZXQgdmFyaWFudEF1eCA9IHZhcmlhbnRzLmZpbmQoXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50ID0+ICgod2l0aE9wdGlvbi5jaGVja0lmU3RvY2sgJiYgdmFyaWFudC5zdG9jayA+IDApIHx8IHdpdGhPcHRpb24uY2hlY2tJZlN0b2NrID09IGZhbHNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHZhcmlhbnQub3B0aW9ucy5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiB2YXJpYW50Lm9wdGlvbnMuc29tZSgob3A6IGFueSkgPT4gKG9wLmhhc093blByb3BlcnR5KHdpdGhPcHRpb24uY29kZT8udG9Mb3dlckNhc2UoKSkgfHwgb3AuaGFzT3duUHJvcGVydHkod2l0aE9wdGlvbi5jb2RlPy50b1VwcGVyQ2FzZSgpKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgKG9wW2Ake3dpdGhPcHRpb24uY29kZT8udG9Mb3dlckNhc2UoKX1gXSB8fCBvcFtgJHt3aXRoT3B0aW9uLmNvZGU/LnRvVXBwZXJDYXNlKCl9YF0pID09PSBvcHRpb25WYWx1ZS5jb2RlKVxuXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIC8vY29uc29sZS5sb2coXCItLS1cIix2YXJpYW50QXV4KTtcbiAgICAgICAgICAgICAgICAgICAgdmFyaWFudEF1eCAmJiBwcm9kdWN0c1VuaXF1ZVZhcmlhbnQucHVzaCh0aGlzLnByb2R1Y3RXaXRoVmFyaWFudFZhbHVlcyhtb2RpZmllZF9wcm9kdWN0LCB2YXJpYW50QXV4LCBvcHRpb25WYWx1ZSkpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIHNlIG1vZGlmaWNhIGVsIGNhc28gcGFyYSBjdWFuZG8gc2UgdG9tYSBlbCBwcmltZXIgYG9wdGlvbmAgZGVsIHByb2R1Y3RvIHBhcmFcbiAgICAgICAgICAgICAgICAgKiBhcm1hciBsYSBsaXN0YSBkZSBwcm9kdWN0b3MgY29uIHZhcmlhbnRlcy5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBpZiAod2l0aE9wdGlvbi5kZWZhdWx0Rmlyc3RPcHRpb24gJiYgcHJvZHVjdC5vcHRpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZpcnN0T3B0aW9ucyA9IHByb2R1Y3Qub3B0aW9uc1swXVxuICAgICAgICAgICAgICAgICAgICBwcm9kdWN0Lm9wdGlvbnNbMF0udmFsdWVzLmZvckVhY2goKG9wdGlvblZhbHVlOiBhbnkpID0+IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG1vZGlmaWVkX3Byb2R1Y3QgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHByb2R1Y3QpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVkX3Byb2R1Y3Qub3B0aW9ucy5maW5kKChvcHRpb246IE9wdGlvbnMpID0+IG9wdGlvbi50eXBlID09IGZpcnN0T3B0aW9ucy50eXBlKS52YWx1ZXMgPSBbeyBjb2RlOiBvcHRpb25WYWx1ZS5jb2RlLCBuYW1lOiBvcHRpb25WYWx1ZS5uYW1lIH1dO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgdmFyaWFudEF1eCA9IHZhcmlhbnRzLmZpbmQodmFyaWFudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhcmlhbnQub3B0aW9ucy5maW5kKChlbGVtOiBhbnkpID0+IGVsZW1bZmlyc3RPcHRpb25zLmNvZGVdID09IG9wdGlvblZhbHVlLmNvZGUpXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFyaWFudEF1eCAmJiB2YXJpYW50QXV4LmltYWdlcy5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnRBdXguaW1hZ2VzID0gcHJvZHVjdC5waWN0dXJlc2RlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHdpdGhPcHRpb24uY2hlY2tJZlN0b2NrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZhcmlhbnRBdXggJiYgdmFyaWFudEF1eC5zdG9jayA+IDApID8gcHJvZHVjdHNVbmlxdWVWYXJpYW50LnB1c2godGhpcy5wcm9kdWN0V2l0aFZhcmlhbnRWYWx1ZXMobW9kaWZpZWRfcHJvZHVjdCwgdmFyaWFudEF1eCwgb3B0aW9uVmFsdWUpKSA6IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnRBdXggJiYgcHJvZHVjdHNVbmlxdWVWYXJpYW50LnB1c2godGhpcy5wcm9kdWN0V2l0aFZhcmlhbnRWYWx1ZXMobW9kaWZpZWRfcHJvZHVjdCwgdmFyaWFudEF1eCwgb3B0aW9uVmFsdWUpKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvZHVjdHNVbmlxdWVWYXJpYW50LnB1c2gocHJvZHVjdClcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgcmV0dXJuIHByb2R1Y3RzVW5pcXVlVmFyaWFudC5sZW5ndGggPiAwID8gcHJvZHVjdHNVbmlxdWVWYXJpYW50IDogcHJvZHVjdHM7XG4gICAgfVxuXG4gICAgcHJvZHVjdFdpdGhWYXJpYW50VmFsdWVzID0gKHByb2R1Y3Q6IFByb2R1Y3QsIHZhcmlhbnQ6IGFueSwgb3B0aW9uVmFsdWU6IGFueSkgPT4ge1xuICAgICAgICBwcm9kdWN0LnBpY3R1cmVzZGVmYXVsdCA9IFsuLi52YXJpYW50LmltYWdlc11cbiAgICAgICAgcHJvZHVjdC52YXJpYW50X2lkID0gdmFyaWFudC5jb2RlOyAvL2xvIGRlam8gYWNhIGhhc3RhIGFzZWd1cmFybm9zIGRlIHF1ZSBubyBzZSBlc3RhYmEgdXNhbmRvIGVuIG90cmEgcGFydGUuXG4gICAgICAgIHByb2R1Y3Quc3RvY2sgPSB2YXJpYW50LnN0b2NrIHx8IDA7IC8vbG8gZGVqbyBhY2EgaGFzdGEgYXNlZ3VyYXJub3MgZGUgcXVlIG5vIHNlIGVzdGFiYSB1c2FuZG8gZW4gb3RyYSBwYXJ0ZS5cbiAgICAgICAgcHJvZHVjdC5wcmljZSA9IHZhcmlhbnQucHJpY2UudG9TdHJpbmcoKSB8fCAnMCc7XG4gICAgICAgIHByb2R1Y3QuY3VycmVudE9wdGlvbiA9IHtcbiAgICAgICAgICAgIC4uLm9wdGlvblZhbHVlLFxuICAgICAgICAgICAgcHJvZHVjdENvZGU6IHByb2R1Y3QuaWQsXG4gICAgICAgICAgICB2YXJpYW50Q29kZTogdmFyaWFudC5jb2RlLFxuICAgICAgICAgICAgc3RvY2s6IHZhcmlhbnQuc3RvY2sgfHwgMCxcbiAgICAgICAgICAgIGZpbmFsUHJpY2U6IHZhcmlhbnQuc2FsZXByaWNlIHx8IHZhcmlhbnQucHJpY2UgfHwgMCxcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcHJvZHVjdFxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0T2JqZWN0V2l0aFZhcmlhbnQgPSAoKTogUGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb25zdHMuZ2V0UGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCgpXG4gICAgfVxuXG4gICAgZ2V0UmVsYXRlZFByb2R1Y3RzKHByb2R1Y3RfaWQ6IGFueSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29ubmVjdGlvbi5nZXQodGhpcy5yZWxhdGVkUHJvZHVjdHNBcGkocHJvZHVjdF9pZCkpO1xuICAgIH1cblxuICAgIGhhc1N0b2NrKHByb2R1Y3Q6IFByb2R1Y3QpOiBib29sZWFuIHtcbiAgICAgICAgLy8gU2kgZWwgcHJvZHVjdG8gdGllbmUgbGEgcHJvcGllZGFkICdzdG9jaycgeSBlcyBtYXlvciBhIDBcbiAgICAgICAgaWYgKHR5cGVvZiBwcm9kdWN0LnN0b2NrID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgcmV0dXJuIHByb2R1Y3Quc3RvY2sgPiAwO1xuICAgICAgICB9XG4gICAgICAgIC8vIFNpIGVsIHByb2R1Y3RvIHRpZW5lIHZhcmlhbnRlcywgdmVyaWZpY2Egc2kgYWxndW5hIHRpZW5lIHN0b2NrXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHByb2R1Y3QudmFyaWFudHMpKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJvZHVjdC52YXJpYW50cy5zb21lKHZhcmlhbnQgPT4gdmFyaWFudC5zdG9jayA+IDApO1xuICAgICAgICB9XG4gICAgICAgIC8vIFNpIG5vIHRpZW5lIGluZm9ybWFjacOzbiBkZSBzdG9jaywgYXN1bWltb3MgcXVlIG5vIGhheSBzdG9ja1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuIl19
|
|
@@ -111,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
111
111
|
providedIn: 'root'
|
|
112
112
|
}]
|
|
113
113
|
}], ctorParameters: () => [] });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmUtY2FwdGNoYS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL3JlLWNhcHRjaGEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUtuRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRXBCLFdBQVcsR0FBc0IsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDM0QsY0FBYyxHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM5RCxVQUFVLEdBQXdCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRTlELGlCQUFpQixHQUF1QyxJQUFJLGVBQWUsQ0FBb0IsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqSCxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBRWxELE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQy9DLE1BQU0sQ0FBTTtJQUVYLGFBQWEsR0FBVyxFQUFFLENBQUM7SUFDM0IsT0FBTyxHQUFXLGNBQWMsQ0FBQTtJQUNoQyxxQkFBcUIsR0FBWSxLQUFLLENBQUM7SUFFdkMsb0JBQW9CLEdBQUcsNkNBQTZDLENBQUM7SUFDckUsaUJBQWlCLEdBQUcseUNBQXlDLENBQUM7SUFDOUQscUJBQXFCLEdBQUcsOENBQThDLENBQUE7SUFFdEUsbUJBQW1CLEdBQVEsRUFBRSxDQUFBO0lBQzdCLGVBQWUsR0FBUSxFQUFFLENBQUE7SUFFakM7UUFDQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLGVBQWUsQ0FBQyxHQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFBO0lBQ0gsQ0FBQztJQUNEOzs7T0FHTTtJQUNFLE1BQU07UUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ2xELENBQUM7SUFDRDs7Ozs7T0FLTTtJQUNFLFNBQVMsQ0FBQyxHQUFXO1FBQzVCLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFBO0lBQzFILENBQUM7SUFFRDs7O09BR007SUFDSyxVQUFVLEtBQVksT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxVQUFVLENBQUMsQ0FBQSxDQUFDO0lBQ25GOzs7Ozs7O09BT007SUFDRSxXQUFXO1FBQ2xCLElBQUksZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFTLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssaUJBQWlCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtRQUNqSCxJQUFHLGdCQUFnQixFQUFDLENBQUM7WUFDcEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7YUFBSSxDQUFDO1lBQ0wsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFTLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLENBQUE7WUFDbEYsSUFBRyxZQUFZLEVBQUMsQ0FBQztnQkFDaEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQztZQUM1RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ1AsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsSUFBSSxDQUM1QixHQUFHLENBQUMsQ0FBQyxHQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDLEVBQzVDLFNBQVMsQ0FBRSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLElBQUksQ0FDakQsR0FBRyxDQUFDLEdBQUcsQ0FBQSxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEdBQUcsQ0FBQyxDQUN6QyxDQUFDLENBQ0YsQ0FBQyxTQUFTLENBQ1YsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQ3RCLENBQUE7WUFDRixDQUFDO1FBQ0YsQ0FBQztJQUNGLENBQUM7SUFFRDs7O09BR007SUFDRSxvQkFBb0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUNsRSxDQUFDO0lBQ0Q7OztPQUdNO0lBQ0UsaUJBQWlCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBQ0Q7Ozs7T0FJTTtJQUNFLFVBQVU7UUFDakIsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMzRCxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ1osSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBRTtnQkFDNUIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUN2RyxDQUFDLENBQUE7UUFDSCxDQUFDLEVBQ0QsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUNaLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBO1FBQzVHLENBQUMsQ0FDRCxDQUFBO0lBQ0YsQ0FBQzt3R0FsSFcsZ0JBQWdCOzRHQUFoQixnQkFBZ0IsY0FGaEIsTUFBTTs7NEZBRU4sZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFmdGVyTmV4dFJlbmRlciwgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlY2FwdGNoYVNldHRpbmdzIH0gZnJvbSAnbmctcmVjYXB0Y2hhLTInO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbmNhdE1hcCwgZmlyc3RWYWx1ZUZyb20sIG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2FwaSc7XHJcbmltcG9ydCB7IFBhcmFtZXRlcnNTZXJ2aWNlIH0gZnJvbSAnLi9wYXJhbWV0ZXJzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcGlDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlQ2FwdGNoYVNlcnZpY2Uge1xyXG5cclxuXHRwcml2YXRlIF9jb25uZWN0aW9uOiBDb25uZWN0aW9uU2VydmljZSA9IGluamVjdChDb25uZWN0aW9uU2VydmljZSk7XHJcblx0cHJpdmF0ZSBfcGFyYW1zU2VydmljZTogUGFyYW1ldGVyc1NlcnZpY2UgPSBpbmplY3QoUGFyYW1ldGVyc1NlcnZpY2UpO1xyXG5cdHByaXZhdGUgX2FwaUNvbnN0czogQXBpQ29uc3RhbnRzU2VydmljZSA9IGluamVjdChBcGlDb25zdGFudHNTZXJ2aWNlKTtcclxuXHJcblx0cHJpdmF0ZSBfcmVjYXB0Y2hhU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PFJlY2FwdGNoYVNldHRpbmdzPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UmVjYXB0Y2hhU2V0dGluZ3M+KHsgc2l0ZUtleTogJycgfSk7XHJcblx0cHVibGljIHJlY2FwdGNoYSQgPSB0aGlzLl9yZWNhcHRjaGFTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuXHRwcml2YXRlIHBhcmFtcyQgPSB0aGlzLl9wYXJhbXNTZXJ2aWNlLmdldFBhcmFtZXRlcnMoKTtcclxuXHRwdWJsaWMgcGFyYW1zOiBhbnk7XHJcblxyXG5cdHByaXZhdGUgdXJsQmFzZUZvcm1hdDogc3RyaW5nID0gJyc7XHJcblx0cHJpdmF0ZSB0ZXN0aW5nOiBzdHJpbmcgPSBcImVhc3ljb21tZXJjZVwiXHJcblx0cHJpdmF0ZSBwcm9kdWN0aW9uRW52aXJvbm1lbnQ6IEJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0cHJpdmF0ZSByZWNhcHRjaGFTaXRlS2V5c1VybCA9ICcuL2Fzc2V0cy9yZWNhcHRjaGEvcmVjYXB0Y2hhLXNpdGUta2V5cy5qc29uJztcclxuXHRwcml2YXRlIHJlY2FwdGNoYVNpdGVzVXJsID0gJy4vYXNzZXRzL3JlY2FwdGNoYS9yZWNhcHRjaGEtc2l0ZXMuanNvbic7XHJcblx0cHJpdmF0ZSByZWNhcHRjaGFTaXRlc1VybFByb2QgPSAnLi9hc3NldHMvcmVjYXB0Y2hhL3JlY2FwdGNoYS1zaXRlcy1wcm9kLmpzb24nXHJcblxyXG5cdHByaXZhdGUgUkVDQVBUQ0hBX1NJVEVfS0VZUzogYW55ID0gW11cclxuXHRwcml2YXRlIFJFQ0FQVENIQV9TSVRFUzogYW55ID0gW11cclxuXHJcblx0Y29uc3RydWN0b3IoKSB7XHJcblx0XHR0aGlzLnBhcmFtcyQuc3Vic2NyaWJlKHBhcmFtcyA9PiB0aGlzLnBhcmFtcyA9IHBhcmFtcyk7XHRcclxuXHRcdHRoaXMuaW5pdGlhbGl6ZXIoKTtcclxuXHRcdGFmdGVyTmV4dFJlbmRlcigoKT0+IHtcclxuXHRcdFx0dGhpcy51cmxCYXNlRm9ybWF0ID0gdGhpcy5mb3JtYXRVcmwobG9jYXRpb24uaHJlZik7XHJcblx0XHRcdHRoaXMucHJvZHVjdGlvbkVudmlyb25tZW50ID0gdGhpcy5pc1Byb2QoKTtcclxuXHRcdH0pXHJcblx0fVxyXG5cdC8qKlxyXG4gICAgICogRGV2dWVsdmUgdHJ1ZSBzaSBsYSB1cmwgZXMgZGUgcHJvZHVjY2lvbiwgZmFsc2UgZW4gY2FzbyBjb250cmFyaW8uIFxyXG4gICAgICogQHJldHVybnMge0Jvb2xlYW59XHJcbiAgICAgKi9cclxuXHRwcml2YXRlIGlzUHJvZCgpOiBCb29sZWFuIHtcclxuXHRcdHJldHVybiAhdGhpcy51cmxCYXNlRm9ybWF0LmluY2x1ZGVzKHRoaXMudGVzdGluZylcclxuXHR9XHJcblx0LyoqXHJcbiAgICAgKiBSZWNpYmUgdW5hIHVybCB5IHNlIGVuY2FyZ2EgZGUgcXVpdGFybGUgXCJodHRwXCIsIFwiL1wiIHkgbGFzIGRlbWFzIHJ1dGFzLCBwYXJhIGRldm9sdmVyIGxhIHVybFxyXG4gICAgICogZGVsIHNpdGlvIGNvbiB1bmEgZm9ybWF0byBsaW1waW8uIEVqZW1wbG8gXCJodHRwczovL2VqZW1wbG8uY29tLmFyL3J1dGExL3J1dGEyL1wiIGEgXCJlamVtcGxvLmNvbS5hclwiIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHVybCB1cmwgcXVlIHNlcmEgZm9ybWF0ZWFkYSBcclxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IHVybCBmb3JtYXRlYWRhXHJcbiAgICAgKi9cclxuXHRwcml2YXRlIGZvcm1hdFVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gdXJsLnNwbGl0KFwiL1wiKS5maWx0ZXIoZSA9PiBlICE9IFwiL1wiKS5maWx0ZXIoZSA9PiAhZS5pbmNsdWRlcyhcImh0dHBcIikpLmZpbHRlcihlID0+IGUubGVuZ3RoKS5zbGljZSgwLDEpLnBvcCgpIHx8ICcnXHJcblx0fVxyXG5cclxuXHQvKipcclxuICAgICAqIFBhdGggcXVlIGNvbnRpZW5lIGxhIGRpcmVjY2lvbiBkZWwgZW5kcG9pbnQgcmVmZXJpZG8gYWwgY2FwdGNoYVxyXG4gICAgICogQHJldHVybnMge3N0cmluZ30gXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgY2FwdGNoYUFwaSgpOnN0cmluZyB7IHJldHVybiBgJHt0aGlzLl9hcGlDb25zdHMuU0hPUF9BUElfVVJMfWNoYW5uZWxzYDt9XHJcblx0LyoqXHJcbiAgICAgKiBQcmlvcml6YSBzaSBleGlzdGUgdW4gcGFyYW1ldHJvIGRlc2RlIGVsIGJhY2tlbmQgZGUgbm9tYnJlICdyZWNhcHRjaGFfa2V5X2NhbmFsJywgXHJcbiAgICAgKiBkZSBubyBleGlzdGlyIGVzdGUgYnVzY2EgdW5vIGRlIHRpcG8gZ2VuZXJhbCBkZSBub21icmUgJ3JlY2FwdGNoYV9rZXknLFxyXG4gICAgICogeSBlbiBjYXNvIGRlIHF1ZSBlc3RlIG5vIGV4aXN0YSBzZSByZWFsaXphIGxvIHNpZ3VpZW50ZTogXHJcbiAgICAgKiBjYXJnYSBsYXMgdmFyaWFibGVzIFJFQ0FQVENIQV9TSVRFUyB5IFJFQ0FQVENIQV9TSVRFX0tFWVMsIGNvbiBsb3MgdmFsb3Jlc1xyXG4gICAgICogZGUgbG9zIEpzb24gZXN0YXRpY29zLCBwYXJhIHBvc3Rlcmlvcm1lbnRlIG9idGVuZXIgbGEgXCJzaXRlS2V5XCIoY2xhdmUgZGVsIGNhcHRjaGEpIGVuIGNhc29cclxuICAgICAqIGRlIHF1ZSBubyB2ZW5nYSBkZXNkZSBlbCBiYWNrZW5kLiBcclxuICAgICAqL1xyXG5cdHByaXZhdGUgaW5pdGlhbGl6ZXIoKTogdm9pZCB7XHJcblx0XHRsZXQgcGFyYW1UaGlzQ2hhbm5lbCA9IHRoaXMucGFyYW1zLmZpbmQoKHBhcmFtOmFueSkgPT4gcGFyYW0uY29kZSA9PT0gYHJlY2FwdGNoYV9rZXlfJHt0aGlzLl9hcGlDb25zdHMuQ0hBTk5FTH1gKVxyXG5cdFx0aWYocGFyYW1UaGlzQ2hhbm5lbCl7XHJcblx0XHRcdHRoaXMuX3JlY2FwdGNoYVN1YmplY3QubmV4dCh7c2l0ZUtleTogcGFyYW1UaGlzQ2hhbm5lbC52YWx1ZX0pO1xyXG5cdFx0fWVsc2V7XHJcblx0XHRcdGxldCBwYXJhbUdlbmVyYWwgPSB0aGlzLnBhcmFtcy5maW5kKChwYXJhbTphbnkpID0+IHBhcmFtLmNvZGUgPT09ICdyZWNhcHRjaGFfa2V5JylcclxuXHRcdFx0aWYocGFyYW1HZW5lcmFsKXtcclxuXHRcdFx0XHR0aGlzLl9yZWNhcHRjaGFTdWJqZWN0Lm5leHQoe3NpdGVLZXk6IHBhcmFtR2VuZXJhbC52YWx1ZX0pO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHRoaXMuZ2V0UmVjYXB0Y2hhU2l0ZXMoKS5waXBlKFxyXG5cdFx0XHRcdFx0bWFwKChyZXM6YW55KSA9PiB0aGlzLlJFQ0FQVENIQV9TSVRFUyA9IHJlcyksXHJcblx0XHRcdFx0XHRjb25jYXRNYXAoIHJlcyA9PiB0aGlzLmdldFJlY2FwdGNoYVNpdGVLZXlzKCkucGlwZShcclxuXHRcdFx0XHRcdFx0bWFwKHJlcz0+IHRoaXMuUkVDQVBUQ0hBX1NJVEVfS0VZUyA9IHJlcylcclxuXHRcdFx0XHRcdCkpXHJcblx0XHRcdFx0KS5zdWJzY3JpYmUoXHJcblx0XHRcdFx0XHRlID0+IHRoaXMuZ2V0U2l0ZUtleSgpXHJcblx0XHRcdFx0KVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuICAgICAqIE9idGllbmUgbG9zIGRhdG9zIGRlbCBhcmNoaXZvIC5qc29uIGVuIGRvbmRlIHNlIGd1YXJkYW4gbGFzIGNsYXZlcy5cclxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPGFueT59IERhdG9zIG9idGVuaWRvcyBkZWwgYXJjaGl2byBjb24gbGFzIGNsYXZlcyBjYXB0Y2hhXHJcbiAgICAgKi9cclxuXHRwcml2YXRlIGdldFJlY2FwdGNoYVNpdGVLZXlzKCk6IE9ic2VydmFibGU8YW55PntcclxuXHRcdHJldHVybiB0aGlzLl9jb25uZWN0aW9uLmdldFdpdGhGdWxsVXJsKHRoaXMucmVjYXB0Y2hhU2l0ZUtleXNVcmwpXHJcblx0fVxyXG5cdC8qKlxyXG4gICAgICogU2Ugb2J0aWVuZSBsb3MgZGF0b3Mgc2VndW4gZWwgZW50b3JubyBlbiBxdWUgc2UgZWplY3V0ZVxyXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8YW55Pn0gRGF0b3Mgb2J0ZW5pZG9zIGRlbCBhcmNoaXZvIGNvbiBsYXMgdXJsIGRlIGxvcyBzaXRpb3NcclxuICAgICAqL1xyXG5cdHByaXZhdGUgZ2V0UmVjYXB0Y2hhU2l0ZXMoKTogT2JzZXJ2YWJsZTxhbnk+e1xyXG5cdFx0cmV0dXJuIHRoaXMucHJvZHVjdGlvbkVudmlyb25tZW50ID8gXHJcblx0XHRcdHRoaXMuX2Nvbm5lY3Rpb24uZ2V0V2l0aEZ1bGxVcmwodGhpcy5yZWNhcHRjaGFTaXRlc1VybFByb2QpIDpcclxuXHRcdFx0dGhpcy5fY29ubmVjdGlvbi5nZXRXaXRoRnVsbFVybCh0aGlzLnJlY2FwdGNoYVNpdGVzVXJsKTtcclxuXHR9XHJcblx0LyoqXHJcbiAgICAgKiBHZW5lcmEgdW5hIHBldGljaW9uIHBhcmEgcmVjaWJpciBsYSBjbGF2ZSBkZWwgcmVjYXB0Y2hhLiBFbiBjYXNvIGRlIG5vIHRlbmVyIGV4aXRvLFxyXG4gICAgICogdXRpbGl6YSBsb3MgYXJjaGl2b3MgZXN0YXRpY29zIHBhcmEgcmV0b3JuYXIgdW5hIGNsYXZlIHBvciBkZWZlY3RvLiBSZWxsZW5hIGVsIE9ic2VydmFibGUgY29uXHJcbiAgICAgKiBsb3MgZGF0b3MgZ2VuZXJhZG9zLlxyXG4gICAgICovXHJcblx0cHJpdmF0ZSBnZXRTaXRlS2V5KCl7XHJcblx0XHRmaXJzdFZhbHVlRnJvbSh0aGlzLl9jb25uZWN0aW9uLmdldCh0aGlzLmNhcHRjaGFBcGkoKSkpLnRoZW4oXHJcblx0XHRcdChyZXM6IGFueSkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuX3JlY2FwdGNoYVN1YmplY3QubmV4dCgge1xyXG5cdFx0XHRcdFx0c2l0ZUtleTogcmVzLnNpdGVLZXkgPyByZXMuc2l0ZUtleSA6IHRoaXMuUkVDQVBUQ0hBX1NJVEVfS0VZU1t0aGlzLlJFQ0FQVENIQV9TSVRFU1t0aGlzLnVybEJhc2VGb3JtYXRdXVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdChlcnI6IGFueSkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuX3JlY2FwdGNoYVN1YmplY3QubmV4dCh7IHNpdGVLZXk6IHRoaXMuUkVDQVBUQ0hBX1NJVEVfS0VZU1t0aGlzLlJFQ0FQVENIQV9TSVRFU1t0aGlzLnVybEJhc2VGb3JtYXRdXX0pXHJcblx0XHRcdH1cclxuXHRcdClcclxuXHR9XHJcbn1cclxuIl19
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmUtY2FwdGNoYS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL3JlLWNhcHRjaGEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUtuRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRXBCLFdBQVcsR0FBc0IsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDM0QsY0FBYyxHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM5RCxVQUFVLEdBQXdCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRTlELGlCQUFpQixHQUF1QyxJQUFJLGVBQWUsQ0FBb0IsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqSCxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBRWxELE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQy9DLE1BQU0sQ0FBTTtJQUVYLGFBQWEsR0FBVyxFQUFFLENBQUM7SUFDM0IsT0FBTyxHQUFXLGNBQWMsQ0FBQTtJQUNoQyxxQkFBcUIsR0FBWSxLQUFLLENBQUM7SUFFdkMsb0JBQW9CLEdBQUcsNkNBQTZDLENBQUM7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OzRHQUFoQixnQkFBZ0IsY0FGaEIsTUFBTTs7NEZBRU4sZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFmdGVyTmV4dFJlbmRlciwgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWNhcHRjaGFTZXR0aW5ncyB9IGZyb20gJ25nLXJlY2FwdGNoYS0yJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29uY2F0TWFwLCBmaXJzdFZhbHVlRnJvbSwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2FwaSc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJzU2VydmljZSB9IGZyb20gJy4vcGFyYW1ldGVycy5zZXJ2aWNlJztcbmltcG9ydCB7IEFwaUNvbnN0YW50c1NlcnZpY2UgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5ASW5qZWN0YWJsZSh7XG5cdHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBSZUNhcHRjaGFTZXJ2aWNlIHtcblxuXHRwcml2YXRlIF9jb25uZWN0aW9uOiBDb25uZWN0aW9uU2VydmljZSA9IGluamVjdChDb25uZWN0aW9uU2VydmljZSk7XG5cdHByaXZhdGUgX3BhcmFtc1NlcnZpY2U6IFBhcmFtZXRlcnNTZXJ2aWNlID0gaW5qZWN0KFBhcmFtZXRlcnNTZXJ2aWNlKTtcblx0cHJpdmF0ZSBfYXBpQ29uc3RzOiBBcGlDb25zdGFudHNTZXJ2aWNlID0gaW5qZWN0KEFwaUNvbnN0YW50c1NlcnZpY2UpO1xuXG5cdHByaXZhdGUgX3JlY2FwdGNoYVN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxSZWNhcHRjaGFTZXR0aW5ncz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJlY2FwdGNoYVNldHRpbmdzPih7IHNpdGVLZXk6ICcnIH0pO1xuXHRwdWJsaWMgcmVjYXB0Y2hhJCA9IHRoaXMuX3JlY2FwdGNoYVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cblx0cHJpdmF0ZSBwYXJhbXMkID0gdGhpcy5fcGFyYW1zU2VydmljZS5nZXRQYXJhbWV0ZXJzKCk7XG5cdHB1YmxpYyBwYXJhbXM6IGFueTtcblxuXHRwcml2YXRlIHVybEJhc2VGb3JtYXQ6IHN0cmluZyA9ICcnO1xuXHRwcml2YXRlIHRlc3Rpbmc6IHN0cmluZyA9IFwiZWFzeWNvbW1lcmNlXCJcblx0cHJpdmF0ZSBwcm9kdWN0aW9uRW52aXJvbm1lbnQ6IEJvb2xlYW4gPSBmYWxzZTtcblxuXHRwcml2YXRlIHJlY2FwdGNoYVNpdGVLZXlzVXJsID0gJy4vYXNzZXRzL3JlY2FwdGNoYS9yZWNhcHRjaGEtc2l0ZS1rZXlzLmpzb24nO1xuXHRwcml2YXRlIHJlY2FwdGNoYVNpdGVzVXJsID0gJy4vYXNzZXRzL3JlY2FwdGNoYS9yZWNhcHRjaGEtc2l0ZXMuanNvbic7XG5cdHByaXZhdGUgcmVjYXB0Y2hhU2l0ZXNVcmxQcm9kID0gJy4vYXNzZXRzL3JlY2FwdGNoYS9yZWNhcHRjaGEtc2l0ZXMtcHJvZC5qc29uJ1xuXG5cdHByaXZhdGUgUkVDQVBUQ0hBX1NJVEVfS0VZUzogYW55ID0gW11cblx0cHJpdmF0ZSBSRUNBUFRDSEFfU0lURVM6IGFueSA9IFtdXG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0dGhpcy5wYXJhbXMkLnN1YnNjcmliZShwYXJhbXMgPT4gdGhpcy5wYXJhbXMgPSBwYXJhbXMpO1x0XG5cdFx0dGhpcy5pbml0aWFsaXplcigpO1xuXHRcdGFmdGVyTmV4dFJlbmRlcigoKT0+IHtcblx0XHRcdHRoaXMudXJsQmFzZUZvcm1hdCA9IHRoaXMuZm9ybWF0VXJsKGxvY2F0aW9uLmhyZWYpO1xuXHRcdFx0dGhpcy5wcm9kdWN0aW9uRW52aXJvbm1lbnQgPSB0aGlzLmlzUHJvZCgpO1xuXHRcdH0pXG5cdH1cblx0LyoqXG4gICAgICogRGV2dWVsdmUgdHJ1ZSBzaSBsYSB1cmwgZXMgZGUgcHJvZHVjY2lvbiwgZmFsc2UgZW4gY2FzbyBjb250cmFyaW8uIFxuICAgICAqIEByZXR1cm5zIHtCb29sZWFufVxuICAgICAqL1xuXHRwcml2YXRlIGlzUHJvZCgpOiBCb29sZWFuIHtcblx0XHRyZXR1cm4gIXRoaXMudXJsQmFzZUZvcm1hdC5pbmNsdWRlcyh0aGlzLnRlc3RpbmcpXG5cdH1cblx0LyoqXG4gICAgICogUmVjaWJlIHVuYSB1cmwgeSBzZSBlbmNhcmdhIGRlIHF1aXRhcmxlIFwiaHR0cFwiLCBcIi9cIiB5IGxhcyBkZW1hcyBydXRhcywgcGFyYSBkZXZvbHZlciBsYSB1cmxcbiAgICAgKiBkZWwgc2l0aW8gY29uIHVuYSBmb3JtYXRvIGxpbXBpby4gRWplbXBsbyBcImh0dHBzOi8vZWplbXBsby5jb20uYXIvcnV0YTEvcnV0YTIvXCIgYSBcImVqZW1wbG8uY29tLmFyXCIgXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHVybCB1cmwgcXVlIHNlcmEgZm9ybWF0ZWFkYSBcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSB1cmwgZm9ybWF0ZWFkYVxuICAgICAqL1xuXHRwcml2YXRlIGZvcm1hdFVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHVybC5zcGxpdChcIi9cIikuZmlsdGVyKGUgPT4gZSAhPSBcIi9cIikuZmlsdGVyKGUgPT4gIWUuaW5jbHVkZXMoXCJodHRwXCIpKS5maWx0ZXIoZSA9PiBlLmxlbmd0aCkuc2xpY2UoMCwxKS5wb3AoKSB8fCAnJ1xuXHR9XG5cblx0LyoqXG4gICAgICogUGF0aCBxdWUgY29udGllbmUgbGEgZGlyZWNjaW9uIGRlbCBlbmRwb2ludCByZWZlcmlkbyBhbCBjYXB0Y2hhXG4gICAgICogQHJldHVybnMge3N0cmluZ30gXG4gICAgICovXG4gICAgcHJpdmF0ZSBjYXB0Y2hhQXBpKCk6c3RyaW5nIHsgcmV0dXJuIGAke3RoaXMuX2FwaUNvbnN0cy5TSE9QX0FQSV9VUkx9Y2hhbm5lbHNgO31cblx0LyoqXG4gICAgICogUHJpb3JpemEgc2kgZXhpc3RlIHVuIHBhcmFtZXRybyBkZXNkZSBlbCBiYWNrZW5kIGRlIG5vbWJyZSAncmVjYXB0Y2hhX2tleV9jYW5hbCcsIFxuICAgICAqIGRlIG5vIGV4aXN0aXIgZXN0ZSBidXNjYSB1bm8gZGUgdGlwbyBnZW5lcmFsIGRlIG5vbWJyZSAncmVjYXB0Y2hhX2tleScsXG4gICAgICogeSBlbiBjYXNvIGRlIHF1ZSBlc3RlIG5vIGV4aXN0YSBzZSByZWFsaXphIGxvIHNpZ3VpZW50ZTogXG4gICAgICogY2FyZ2EgbGFzIHZhcmlhYmxlcyBSRUNBUFRDSEFfU0lURVMgeSBSRUNBUFRDSEFfU0lURV9LRVlTLCBjb24gbG9zIHZhbG9yZXNcbiAgICAgKiBkZSBsb3MgSnNvbiBlc3RhdGljb3MsIHBhcmEgcG9zdGVyaW9ybWVudGUgb2J0ZW5lciBsYSBcInNpdGVLZXlcIihjbGF2ZSBkZWwgY2FwdGNoYSkgZW4gY2Fzb1xuICAgICAqIGRlIHF1ZSBubyB2ZW5nYSBkZXNkZSBlbCBiYWNrZW5kLiBcbiAgICAgKi9cblx0cHJpdmF0ZSBpbml0aWFsaXplcigpOiB2b2lkIHtcblx0XHRsZXQgcGFyYW1UaGlzQ2hhbm5lbCA9IHRoaXMucGFyYW1zLmZpbmQoKHBhcmFtOmFueSkgPT4gcGFyYW0uY29kZSA9PT0gYHJlY2FwdGNoYV9rZXlfJHt0aGlzLl9hcGlDb25zdHMuQ0hBTk5FTH1gKVxuXHRcdGlmKHBhcmFtVGhpc0NoYW5uZWwpe1xuXHRcdFx0dGhpcy5fcmVjYXB0Y2hhU3ViamVjdC5uZXh0KHtzaXRlS2V5OiBwYXJhbVRoaXNDaGFubmVsLnZhbHVlfSk7XG5cdFx0fWVsc2V7XG5cdFx0XHRsZXQgcGFyYW1HZW5lcmFsID0gdGhpcy5wYXJhbXMuZmluZCgocGFyYW06YW55KSA9PiBwYXJhbS5jb2RlID09PSAncmVjYXB0Y2hhX2tleScpXG5cdFx0XHRpZihwYXJhbUdlbmVyYWwpe1xuXHRcdFx0XHR0aGlzLl9yZWNhcHRjaGFTdWJqZWN0Lm5leHQoe3NpdGVLZXk6IHBhcmFtR2VuZXJhbC52YWx1ZX0pO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5nZXRSZWNhcHRjaGFTaXRlcygpLnBpcGUoXG5cdFx0XHRcdFx0bWFwKChyZXM6YW55KSA9PiB0aGlzLlJFQ0FQVENIQV9TSVRFUyA9IHJlcyksXG5cdFx0XHRcdFx0Y29uY2F0TWFwKCByZXMgPT4gdGhpcy5nZXRSZWNhcHRjaGFTaXRlS2V5cygpLnBpcGUoXG5cdFx0XHRcdFx0XHRtYXAocmVzPT4gdGhpcy5SRUNBUFRDSEFfU0lURV9LRVlTID0gcmVzKVxuXHRcdFx0XHRcdCkpXG5cdFx0XHRcdCkuc3Vic2NyaWJlKFxuXHRcdFx0XHRcdGUgPT4gdGhpcy5nZXRTaXRlS2V5KClcblx0XHRcdFx0KVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qKlxuICAgICAqIE9idGllbmUgbG9zIGRhdG9zIGRlbCBhcmNoaXZvIC5qc29uIGVuIGRvbmRlIHNlIGd1YXJkYW4gbGFzIGNsYXZlcy5cbiAgICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxhbnk+fSBEYXRvcyBvYnRlbmlkb3MgZGVsIGFyY2hpdm8gY29uIGxhcyBjbGF2ZXMgY2FwdGNoYVxuICAgICAqL1xuXHRwcml2YXRlIGdldFJlY2FwdGNoYVNpdGVLZXlzKCk6IE9ic2VydmFibGU8YW55Pntcblx0XHRyZXR1cm4gdGhpcy5fY29ubmVjdGlvbi5nZXRXaXRoRnVsbFVybCh0aGlzLnJlY2FwdGNoYVNpdGVLZXlzVXJsKVxuXHR9XG5cdC8qKlxuICAgICAqIFNlIG9idGllbmUgbG9zIGRhdG9zIHNlZ3VuIGVsIGVudG9ybm8gZW4gcXVlIHNlIGVqZWN1dGVcbiAgICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxhbnk+fSBEYXRvcyBvYnRlbmlkb3MgZGVsIGFyY2hpdm8gY29uIGxhcyB1cmwgZGUgbG9zIHNpdGlvc1xuICAgICAqL1xuXHRwcml2YXRlIGdldFJlY2FwdGNoYVNpdGVzKCk6IE9ic2VydmFibGU8YW55Pntcblx0XHRyZXR1cm4gdGhpcy5wcm9kdWN0aW9uRW52aXJvbm1lbnQgPyBcblx0XHRcdHRoaXMuX2Nvbm5lY3Rpb24uZ2V0V2l0aEZ1bGxVcmwodGhpcy5yZWNhcHRjaGFTaXRlc1VybFByb2QpIDpcblx0XHRcdHRoaXMuX2Nvbm5lY3Rpb24uZ2V0V2l0aEZ1bGxVcmwodGhpcy5yZWNhcHRjaGFTaXRlc1VybCk7XG5cdH1cblx0LyoqXG4gICAgICogR2VuZXJhIHVuYSBwZXRpY2lvbiBwYXJhIHJlY2liaXIgbGEgY2xhdmUgZGVsIHJlY2FwdGNoYS4gRW4gY2FzbyBkZSBubyB0ZW5lciBleGl0byxcbiAgICAgKiB1dGlsaXphIGxvcyBhcmNoaXZvcyBlc3RhdGljb3MgcGFyYSByZXRvcm5hciB1bmEgY2xhdmUgcG9yIGRlZmVjdG8uIFJlbGxlbmEgZWwgT2JzZXJ2YWJsZSBjb25cbiAgICAgKiBsb3MgZGF0b3MgZ2VuZXJhZG9zLlxuICAgICAqL1xuXHRwcml2YXRlIGdldFNpdGVLZXkoKXtcblx0XHRmaXJzdFZhbHVlRnJvbSh0aGlzLl9jb25uZWN0aW9uLmdldCh0aGlzLmNhcHRjaGFBcGkoKSkpLnRoZW4oXG5cdFx0XHQocmVzOiBhbnkpID0+IHtcblx0XHRcdFx0dGhpcy5fcmVjYXB0Y2hhU3ViamVjdC5uZXh0KCB7XG5cdFx0XHRcdFx0c2l0ZUtleTogcmVzLnNpdGVLZXkgPyByZXMuc2l0ZUtleSA6IHRoaXMuUkVDQVBUQ0hBX1NJVEVfS0VZU1t0aGlzLlJFQ0FQVENIQV9TSVRFU1t0aGlzLnVybEJhc2VGb3JtYXRdXVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdChlcnI6IGFueSkgPT4ge1xuXHRcdFx0XHR0aGlzLl9yZWNhcHRjaGFTdWJqZWN0Lm5leHQoeyBzaXRlS2V5OiB0aGlzLlJFQ0FQVENIQV9TSVRFX0tFWVNbdGhpcy5SRUNBUFRDSEFfU0lURVNbdGhpcy51cmxCYXNlRm9ybWF0XV19KVxuXHRcdFx0fVxuXHRcdClcblx0fVxufVxuIl19
|
|
@@ -95,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
95
95
|
providedIn: 'root'
|
|
96
96
|
}]
|
|
97
97
|
}], ctorParameters: () => [{ type: i1.ConnectionService }, { type: i2.CoreConstantsService }, { type: i3.PaginationService }] });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2aWV3cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL3Jldmlld3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7Ozs7O0FBUW5ELE1BQU0sT0FBTyxjQUFjO0lBVUY7SUFBdUM7SUFBeUM7SUFSN0YsY0FBYyxHQUF5QixJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUUvRCxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVyRCxTQUFTO0lBQ1QsZ0JBQWdCLEdBQUcsQ0FBQyxJQUFZLEVBQVUsRUFBRSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxHQUFHLG9CQUFvQixHQUFHLElBQUksR0FBRyxVQUFVLENBQUM7SUFDbEksZ0JBQWdCLEdBQUcsQ0FBQyxJQUFZLEVBQVUsRUFBRSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxHQUFHLG9CQUFvQixHQUFHLElBQUksR0FBRyxVQUFVLENBQUM7SUFFbEksWUFBcUIsVUFBNkIsRUFBVSxTQUErQixFQUFVLFVBQTZCO1FBQTdHLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBc0I7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFtQjtJQUFJLENBQUM7SUFFdkk7Ozs7T0FJRztJQUNILGdCQUFnQixHQUFHLENBQUMsSUFBWSxFQUFDLEVBQUUsQ0FDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBRSxDQUFBO0lBRXRHOzs7O09BSUc7SUFDSCxtQkFBbUIsR0FBRyxDQUFDLElBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRW5FOzs7O09BSUc7SUFDSCxhQUFhLEdBQUcsQ0FBQyxHQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRTFEOzs7O09BSUc7SUFDSCxVQUFVLEdBQUcsQ0FBQyxTQUFjLE1BQU0sRUFBRSxFQUFFLENBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBRSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUV4Rzs7Ozs7O09BTUc7SUFDSCxnQkFBZ0IsR0FBRyxDQUFDLElBQVcsRUFBRSxJQUFXLEVBQUUsS0FBWSxFQUFFLEVBQUUsQ0FDMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFFM0g7Ozs7Ozs7OztPQVNHO0lBQ0ssZ0JBQWdCLEdBQUcsQ0FBQyxNQUFhLEVBQUUsRUFBRTtRQUN6QyxRQUFRLE1BQU0sRUFBRSxDQUFDO1lBQ2IsS0FBSyxNQUFNO2dCQUNQLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNwRSxLQUFLLE9BQU87Z0JBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3JFLEtBQUssTUFBTTtnQkFDUCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDcEU7Z0JBQ0ksT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3hFLENBQUM7SUFDTCxDQUFDLENBQUE7SUFFRDs7Ozs7O09BTUc7SUFDSyx3QkFBd0IsR0FBRyxDQUFDLElBQVcsRUFBRSxJQUFXLEVBQUUsS0FBWSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUMsUUFBUSxHQUFDLElBQUksR0FBQyxTQUFTLEdBQUMsS0FBSyxDQUFDO0lBRXpJOzs7O09BSUc7SUFDSyxTQUFTLEdBQUcsQ0FBQyxHQUFVLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7d0dBekZ2QyxjQUFjOzRHQUFkLGNBQWMsY0FGWCxNQUFNOzs0RkFFVCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29ubmVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9hcGkvY29ubmVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENvcmVDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29uc3RhbnRzL2NvcmUuY29uc3RhbnRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFnaW5hdGlvblNlcnZpY2UgfSBmcm9tICcuL3BhZ2luYXRpb24uc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUmV2aWV3c1NlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSByZXZpZXdzU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHt9KVxuXG4gICAgcHVibGljIHJldmlld3MkID0gdGhpcy5yZXZpZXdzU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgIC8vLS1BcGktLVxuICAgIHJldmlld3NCeUNvZGVBcGkgPSAoY29kZTogc3RyaW5nKTogc3RyaW5nID0+ICdzaG9wLWFwaS8nICsgdGhpcy5jb25zdGFudHMuZ2V0Q2hhbm5lbCgpICsgJy9wcm9kdWN0cy9ieS1jb2RlLycgKyBjb2RlICsgJy9yZXZpZXdzJztcbiAgICByZXZpZXdzQnlTbHVnQXBpID0gKHNsdWc6IHN0cmluZyk6IHN0cmluZyA9PiAnc2hvcC1hcGkvJyArIHRoaXMuY29uc3RhbnRzLmdldENoYW5uZWwoKSArICcvcHJvZHVjdHMvYnktc2x1Zy8nICsgc2x1ZyArICcvcmV2aWV3cyc7XG5cbiAgICBjb25zdHJ1Y3RvciggcHJpdmF0ZSBjb25uZWN0aW9uOiBDb25uZWN0aW9uU2VydmljZSwgcHJpdmF0ZSBjb25zdGFudHM6IENvcmVDb25zdGFudHNTZXJ2aWNlLCBwcml2YXRlIHBhZ2luYXRpb246IFBhZ2luYXRpb25TZXJ2aWNlKSB7IH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBvYnRpZW5lIGxhcyByZXZpZXdzIHBvciBlbCBjb2RpZ28gZGVsIHByb2R1Y3RvLlxuICAgICAqIEBwYXJhbSBjb2RlIGNvZGlnbyBkZWwgcHJvZHVjdG8gXG4gICAgICogQHJldHVybnMgXG4gICAgICovXG4gICAgZ2V0UmV2aWV3c0J5Q29kZSA9IChjb2RlOiBzdHJpbmcpPT5cbiAgICAgICAgdGhpcy5jb25uZWN0aW9uLmdldCh0aGlzLnJldmlld3NCeUNvZGVBcGkoY29kZSkpLnRvUHJvbWlzZSgpLnRoZW4ocmVzID0+IHRoaXMudXBkYXRlUmV2aWV3cyhyZXMpIClcbiAgICBcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gYWN0dWFsaXphIGxhcyByZXZpZXdzIHBvciBjb2RpZ29cbiAgICAgKiBAcGFyYW0gY29kZSBjb2RpZ28gZGVsIHByb2R1Y3RvXG4gICAgICogQHJldHVybnMgXG4gICAgICovXG4gICAgdXBkYXRlUmV2aWV3c0J5Q29kZSA9IChjb2RlOnN0cmluZykgPT4gdGhpcy5nZXRSZXZpZXdzQnlDb2RlKGNvZGUpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIGFjdHVhbGl6YSBsYXMgcmV2aWV3c1xuICAgICAqIEBwYXJhbSByZXMgXG4gICAgICogQHJldHVybnMgXG4gICAgICovXG4gICAgdXBkYXRlUmV2aWV3cyA9IChyZXM6YW55KSA9PiB0aGlzLnJldmlld3NTdWJqZWN0Lm5leHQocmVzKVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIG9idGllbmUgbGFzIHJldmlld3MgdXRpbGl6YW5kbyBsYXMgdXJsIGRlbCBhdHJpYnV0byBsaW5rcyBkZSBsYXMgcmV2aWV3cy5cbiAgICAgKiBAcGFyYW0gYWN0aW9uIHNlbGYoZGVmZWN0bykgfCBuZXh0IHwgZmlyc3QgfCBsYXN0XG4gICAgICogQHJldHVybnMgXG4gICAgICovXG4gICAgZ2V0UmV2aWV3cyA9IChhY3Rpb246c3RyaW5nPSdzZWxmJykgPT4gXG4gICAgICAgIHRoaXMuY29ubmVjdGlvbi5nZXQodGhpcy5nZW5lcmF0ZUZpbmFsQXBpKGFjdGlvbikpLnRvUHJvbWlzZSgpLnRoZW4oIHJlcyA9PiB0aGlzLnVwZGF0ZVJldmlld3MocmVzKSlcbiAgICBcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gb2J0aWVuZSBsYXMgcmV2aWV3cyBkZSB1bmEgcGFnaW5hIGVuIGVzcGVjaWFsLlxuICAgICAqIEBwYXJhbSBjb2RlIGNvZGlnbyBkZWwgcHJvZHVjdG9cbiAgICAgKiBAcGFyYW0gcGFnZSBuw7ptZXJvIGRlIHBhZ2luYVxuICAgICAqIEBwYXJhbSBsaW1pdCBjYW50aWRhZCBsaW1pdGUgZGUgcGFnaW5hc1xuICAgICAqIEByZXR1cm5zIFxuICAgICAqL1xuICAgIGdldFJldmlld3NCeVBhZ2UgPSAoY29kZTpzdHJpbmcsIHBhZ2U6bnVtYmVyLCBsaW1pdDpudW1iZXIpID0+XG4gICAgICAgIHRoaXMuY29ubmVjdGlvbi5nZXQoIHRoaXMuZ2VuZXJhdGVGaW5hbEFwaVdpdGhQYWdlKGNvZGUscGFnZSwgbGltaXQpKS50b1Byb21pc2UoKS50aGVuKCByZXMgPT4gdGhpcy51cGRhdGVSZXZpZXdzKHJlcykpXG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gZ2VuZXJhIHVuYSB1cmwgcXVlIHNlcmEgdXRpbGl6YSBjb21vIGVuZHBvaW50IHBhcmEgcGVkaXIgbGFzIHJldmlld3MgdXRpbGl6YW5kbyBsb3MgZGF0b3MgXG4gICAgICogcXVlIHZpZW5lIGVuIGVsIGF0cmlidXRvIGxpbmtzLiBcbiAgICAgKiAnbmV4dCcgPT4gdXRpbGl6YSBlbCBhdHJpYnV0byBuZXh0IGRlIGxpbmtzXG4gICAgICogJ2ZpcnN0JyA9PiB1dGlsaXphIGVsIGF0cmlidXRvIGZpcnN0IGRlIGxpbmtzXG4gICAgICogJ2xhc3QnID0+IHV0aWxpemEgZWwgYXRyaWJ1dG8gbGFzdCBkZSBsaW5rc1xuICAgICAqIGRlZmF1bHQgPT4gY3VhbHF1aWVyIG90cm8gY2FzbywgdXRpbGl6YSBlbCBhdHJpYnV0byBzZWxmIGRlIGxpbmtzLlxuICAgICAqIEBwYXJhbSBhY3Rpb24gbmV4dCB8IGZpcnN0IHwgbGFzdCBcbiAgICAgKiBAcmV0dXJucyBcbiAgICAgKi9cbiAgICBwcml2YXRlIGdlbmVyYXRlRmluYWxBcGkgPSAoYWN0aW9uOnN0cmluZykgPT57XG4gICAgICAgIHN3aXRjaCAoYWN0aW9uKSB7XG4gICAgICAgICAgICBjYXNlICduZXh0JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXRVcmwodGhpcy5yZXZpZXdzU3ViamVjdC5nZXRWYWx1ZSgpLmxpbmtzLm5leHQpXG4gICAgICAgICAgICBjYXNlICdmaXJzdCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0VXJsKHRoaXMucmV2aWV3c1N1YmplY3QuZ2V0VmFsdWUoKS5saW5rcy5maXJzdClcbiAgICAgICAgICAgIGNhc2UgJ2xhc3QnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFVybCh0aGlzLnJldmlld3NTdWJqZWN0LmdldFZhbHVlKCkubGlua3MubGFzdCkgXG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFVybCh0aGlzLnJldmlld3NTdWJqZWN0LmdldFZhbHVlKCkubGlua3Muc2VsZikgXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gb2J0aWVuZSBsYXMgcmV2aWV3cyBkZSB1bmEgcGFnaW5hIGVuIGVzcGVjaWZpY29cbiAgICAgKiBAcGFyYW0gY29kZSBjb2RpZ28gZGVsIHByb2R1Y3RvXG4gICAgICogQHBhcmFtIHBhZ2UgbnVtZXJvIGRlIHBhZ2luYVxuICAgICAqIEBwYXJhbSBsaW1pdCBjYW50aWRhZCBsaW1pdGUgZGUgcGFnaW5hc1xuICAgICAqIEByZXR1cm5zIFxuICAgICAqL1xuICAgIHByaXZhdGUgZ2VuZXJhdGVGaW5hbEFwaVdpdGhQYWdlID0gKGNvZGU6c3RyaW5nLCBwYWdlOm51bWJlciwgbGltaXQ6bnVtYmVyKSA9PiB0aGlzLnJldmlld3NCeUNvZGVBcGkoY29kZSkrJz9wYWdlPScrcGFnZSsnJmxpbWl0PScrbGltaXQ7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gZm9ybWF0ZWEgbGEgdXJsIHF1ZSBzZXJhIHV0aWxpemFkYSBkZSBlbmRwb2ludCBwYXJhIG9idGVuZXIgbGFzIHJldmlld3NcbiAgICAgKiBAcGFyYW0gdXJsIFxuICAgICAqIEByZXR1cm5zIFxuICAgICAqL1xuICAgIHByaXZhdGUgZm9ybWF0VXJsID0gKHVybDpzdHJpbmcpID0+IHVybC5zbGljZSgxKVxufVxuIl19
|
|
@@ -3,37 +3,26 @@ import { isPlatformBrowser } from '@angular/common';
|
|
|
3
3
|
import { of, BehaviorSubject } from 'rxjs';
|
|
4
4
|
import { catchError, tap, shareReplay } from 'rxjs/operators';
|
|
5
5
|
import { ENVIRONMENT_TOKEN } from '../providers/provideEnvironment';
|
|
6
|
-
import { SERVER_RUNTIME_CONFIG } from '../providers/provideServerRuntimeConfig';
|
|
7
6
|
import * as i0 from "@angular/core";
|
|
8
7
|
import * as i1 from "@angular/common/http";
|
|
9
8
|
export class RuntimeConfigService {
|
|
10
9
|
platformId;
|
|
11
10
|
http;
|
|
12
11
|
environment;
|
|
13
|
-
serverRuntimeConfig;
|
|
14
12
|
configSubject = new BehaviorSubject(null);
|
|
15
13
|
config$ = this.configSubject.asObservable();
|
|
16
14
|
_config = null;
|
|
17
15
|
_loadPromise = null;
|
|
18
16
|
_isLoaded = false;
|
|
19
|
-
constructor(platformId, http, environment
|
|
17
|
+
constructor(platformId, http, environment) {
|
|
20
18
|
this.platformId = platformId;
|
|
21
19
|
this.http = http;
|
|
22
20
|
this.environment = environment;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
if (!isPlatformBrowser(this.platformId) && this.serverRuntimeConfig) {
|
|
26
|
-
this._config = this.serverRuntimeConfig;
|
|
27
|
-
this._isLoaded = true;
|
|
28
|
-
this.configSubject.next(this._config);
|
|
29
|
-
console.log('✅ [RuntimeConfigService SSR] Configuración cargada desde SERVER_RUNTIME_CONFIG:', this._config);
|
|
30
|
-
}
|
|
31
|
-
// PRIORIDAD 2: En browser, intentar cargar inmediatamente desde window si está disponible
|
|
32
|
-
else if (typeof window !== 'undefined' && window.__RUNTIME_CONFIG__ && !this._isLoaded) {
|
|
21
|
+
// En SSR o browser, intentar cargar inmediatamente desde window si está disponible
|
|
22
|
+
if (typeof window !== 'undefined' && window.__RUNTIME_CONFIG__ && !this._isLoaded) {
|
|
33
23
|
this._config = window.__RUNTIME_CONFIG__;
|
|
34
24
|
this._isLoaded = true;
|
|
35
25
|
this.configSubject.next(this._config);
|
|
36
|
-
console.log('✅ [RuntimeConfigService Browser] Configuración cargada desde window.__RUNTIME_CONFIG__:', this._config);
|
|
37
26
|
}
|
|
38
27
|
}
|
|
39
28
|
/**
|
|
@@ -120,23 +109,21 @@ export class RuntimeConfigService {
|
|
|
120
109
|
return this._loadPromise;
|
|
121
110
|
}
|
|
122
111
|
else {
|
|
123
|
-
// En SSR,
|
|
124
|
-
if (this.serverRuntimeConfig && !this._isLoaded) {
|
|
125
|
-
this._config = this.serverRuntimeConfig;
|
|
126
|
-
this._isLoaded = true;
|
|
127
|
-
this.configSubject.next(this._config);
|
|
128
|
-
console.log('✅ [RuntimeConfigService SSR] Configuración cargada desde SERVER_RUNTIME_CONFIG:', this._config);
|
|
129
|
-
return of(this._config);
|
|
130
|
-
}
|
|
131
|
-
// PRIORIDAD 2: Como fallback, usar environment (solo si no hay serverRuntimeConfig)
|
|
112
|
+
// En SSR, primero intentar usar fallback desde environment (más confiable)
|
|
132
113
|
const fallbackConfig = this.getFallbackConfig();
|
|
133
114
|
if (fallbackConfig) {
|
|
134
115
|
this._config = fallbackConfig;
|
|
135
116
|
this._isLoaded = true;
|
|
136
117
|
this.configSubject.next(fallbackConfig);
|
|
137
|
-
console.warn('⚠️ [RuntimeConfigService SSR] Usando fallback desde environment.ts (no se encontró SERVER_RUNTIME_CONFIG)');
|
|
138
118
|
return of(fallbackConfig);
|
|
139
119
|
}
|
|
120
|
+
// Como alternativa, intentar leer desde window si está disponible
|
|
121
|
+
if (typeof window !== 'undefined' && window.__RUNTIME_CONFIG__ && !this._isLoaded) {
|
|
122
|
+
this._config = window.__RUNTIME_CONFIG__;
|
|
123
|
+
this._isLoaded = true;
|
|
124
|
+
this.configSubject.next(this._config);
|
|
125
|
+
return of(this._config);
|
|
126
|
+
}
|
|
140
127
|
// Si no hay environment configurado, lanzar error
|
|
141
128
|
console.error('❌ [RuntimeConfigService SSR] No hay environment configurado. Agrega provideEnvironment() en app.config.ts');
|
|
142
129
|
throw new Error('RuntimeConfig no disponible. Configura provideEnvironment() en app.config.ts');
|
|
@@ -212,7 +199,7 @@ export class RuntimeConfigService {
|
|
|
212
199
|
const cleanPath = path.startsWith('/') ? path.slice(1) : path;
|
|
213
200
|
return `${frontendUrl}${cleanPath}`;
|
|
214
201
|
}
|
|
215
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RuntimeConfigService, deps: [{ token: PLATFORM_ID }, { token: i1.HttpClient }, { token: ENVIRONMENT_TOKEN, optional: true }
|
|
202
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RuntimeConfigService, deps: [{ token: PLATFORM_ID }, { token: i1.HttpClient }, { token: ENVIRONMENT_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
216
203
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RuntimeConfigService, providedIn: 'root' });
|
|
217
204
|
}
|
|
218
205
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RuntimeConfigService, decorators: [{
|
|
@@ -228,10 +215,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
228
215
|
}, {
|
|
229
216
|
type: Inject,
|
|
230
217
|
args: [ENVIRONMENT_TOKEN]
|
|
231
|
-
}] }, { type: undefined, decorators: [{
|
|
232
|
-
type: Optional
|
|
233
|
-
}, {
|
|
234
|
-
type: Inject,
|
|
235
|
-
args: [SERVER_RUNTIME_CONFIG]
|
|
236
218
|
}] }] });
|
|
237
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1zZXJ2aWNlcy9ydW50aW1lLWNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEQsT0FBTyxFQUFjLEVBQUUsRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7OztBQVFoRixNQUFNLE9BQU8sb0JBQW9CO0lBU0E7SUFDckI7SUFDdUM7SUFDSTtJQVg3QyxhQUFhLEdBQUcsSUFBSSxlQUFlLENBQXVCLElBQUksQ0FBQyxDQUFDO0lBQ2pFLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBRTNDLE9BQU8sR0FBeUIsSUFBSSxDQUFDO0lBQ3JDLFlBQVksR0FBcUMsSUFBSSxDQUFDO0lBQ3RELFNBQVMsR0FBRyxLQUFLLENBQUM7SUFFMUIsWUFDK0IsVUFBa0IsRUFDdkMsSUFBZ0IsRUFDdUIsV0FBK0IsRUFDM0IsbUJBQXlDO1FBSC9ELGVBQVUsR0FBVixVQUFVLENBQVE7UUFDdkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUN1QixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDM0Isd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFz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OzswQkFBSSxNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3BDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBQTEFURk9STV9JRCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHRhcCwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFJ1bnRpbWVDb25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3J1bnRpbWUtY29uZmlnJztcclxuaW1wb3J0IHsgRU5WSVJPTk1FTlRfVE9LRU4gfSBmcm9tICcuLi9wcm92aWRlcnMvcHJvdmlkZUVudmlyb25tZW50JztcclxuaW1wb3J0IHsgU0VSVkVSX1JVTlRJTUVfQ09ORklHIH0gZnJvbSAnLi4vcHJvdmlkZXJzL3Byb3ZpZGVTZXJ2ZXJSdW50aW1lQ29uZmlnJztcclxuaW1wb3J0IHsgRW52aXJvbm1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuXHJcbmRlY2xhcmUgY29uc3Qgd2luZG93OiBhbnk7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSdW50aW1lQ29uZmlnU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBjb25maWdTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxSdW50aW1lQ29uZmlnIHwgbnVsbD4obnVsbCk7XHJcbiAgcHVibGljIGNvbmZpZyQgPSB0aGlzLmNvbmZpZ1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgXHJcbiAgcHJpdmF0ZSBfY29uZmlnOiBSdW50aW1lQ29uZmlnIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfbG9hZFByb21pc2U6IE9ic2VydmFibGU8UnVudGltZUNvbmZpZz4gfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIF9pc0xvYWRlZCA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogT2JqZWN0LFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChFTlZJUk9OTUVOVF9UT0tFTikgcHJpdmF0ZSBlbnZpcm9ubWVudDogRW52aXJvbm1lbnQgfCBudWxsLFxyXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChTRVJWRVJfUlVOVElNRV9DT05GSUcpIHByaXZhdGUgc2VydmVyUnVudGltZUNvbmZpZzogUnVudGltZUNvbmZpZyB8IG51bGxcclxuICApIHtcclxuICAgIC8vIFBSSU9SSURBRCAxOiBFbiBTU1IsIHVzYXIgbGEgY29uZmlndXJhY2nDs24gaW55ZWN0YWRhIGRlc2RlIGVsIHNlcnZpZG9yXHJcbiAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgJiYgdGhpcy5zZXJ2ZXJSdW50aW1lQ29uZmlnKSB7XHJcbiAgICAgIHRoaXMuX2NvbmZpZyA9IHRoaXMuc2VydmVyUnVudGltZUNvbmZpZztcclxuICAgICAgdGhpcy5faXNMb2FkZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLmNvbmZpZ1N1YmplY3QubmV4dCh0aGlzLl9jb25maWcpO1xyXG4gICAgICBjb25zb2xlLmxvZygn4pyFIFtSdW50aW1lQ29uZmlnU2VydmljZSBTU1JdIENvbmZpZ3VyYWNpw7NuIGNhcmdhZGEgZGVzZGUgU0VSVkVSX1JVTlRJTUVfQ09ORklHOicsIHRoaXMuX2NvbmZpZyk7XHJcbiAgICB9XHJcbiAgICAvLyBQUklPUklEQUQgMjogRW4gYnJvd3NlciwgaW50ZW50YXIgY2FyZ2FyIGlubWVkaWF0YW1lbnRlIGRlc2RlIHdpbmRvdyBzaSBlc3TDoSBkaXNwb25pYmxlXHJcbiAgICBlbHNlIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cuX19SVU5USU1FX0NPTkZJR19fICYmICF0aGlzLl9pc0xvYWRlZCkge1xyXG4gICAgICB0aGlzLl9jb25maWcgPSB3aW5kb3cuX19SVU5USU1FX0NPTkZJR19fO1xyXG4gICAgICB0aGlzLl9pc0xvYWRlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuY29uZmlnU3ViamVjdC5uZXh0KHRoaXMuX2NvbmZpZyk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCfinIUgW1J1bnRpbWVDb25maWdTZXJ2aWNlIEJyb3dzZXJdIENvbmZpZ3VyYWNpw7NuIGNhcmdhZGEgZGVzZGUgd2luZG93Ll9fUlVOVElNRV9DT05GSUdfXzonLCB0aGlzLl9jb25maWcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT2J0aWVuZSBjb25maWd1cmFjacOzbiBkZSBmYWxsYmFjayBkZXNkZSBlbnZpcm9ubWVudC50c1xyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0RmFsbGJhY2tDb25maWcoKTogUnVudGltZUNvbmZpZyB8IG51bGwge1xyXG4gICAgaWYgKHRoaXMuZW52aXJvbm1lbnQpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBhcGlVcmw6IHRoaXMuZW52aXJvbm1lbnQuYXBpVXJsIHx8ICcnLFxyXG4gICAgICAgIGFwcEVudjogKHRoaXMuZW52aXJvbm1lbnQucHJvZHVjdGlvbiA/ICdwcm9kJyA6ICdwcmVwcm9kJykgYXMgJ3Byb2QnIHwgJ3ByZXByb2QnIHwgJ3Rlc3QnLFxyXG4gICAgICAgIHByb2R1Y3Rpb246IHRoaXMuZW52aXJvbm1lbnQucHJvZHVjdGlvbixcclxuICAgICAgICBsb2NhbGU6IHRoaXMuZW52aXJvbm1lbnQubG9jYWxlLFxyXG4gICAgICAgIGNoYW5uZWw6IHRoaXMuZW52aXJvbm1lbnQuY2hhbm5lbFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbmljaWFsaXphY2nDs24gw7puaWNhIC0gbGxhbWFkYSBwb3IgQVBQX0lOSVRJQUxJWkVSXHJcbiAgICogR2FyYW50aXphIHF1ZSBsYSBjb25maWd1cmFjacOzbiBzZSBjYXJnYSBzb2xvIHVuYSB2ZXogYWwgaW5pY2lvXHJcbiAgICovXHJcbiAgaW5pdGlhbGl6ZSgpOiBQcm9taXNlPFJ1bnRpbWVDb25maWc+IHtcclxuICAgIGlmICh0aGlzLl9pc0xvYWRlZCAmJiB0aGlzLl9jb25maWcpIHtcclxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl9jb25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIHRoaXMubG9hZENvbmZpZygpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKGNvbmZpZzogUnVudGltZUNvbmZpZykgPT4ge1xyXG4gICAgICAgICAgdGhpcy5faXNMb2FkZWQgPSB0cnVlO1xyXG4gICAgICAgICAgcmVzb2x2ZShjb25maWcpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgcmVqZWN0KGVycm9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYXJnYSBsYSBjb25maWd1cmFjacOzbiBlbiBydW50aW1lIChvcHRpbWl6YWRhIHBhcmEgdW5hIHNvbGEgY2FyZ2EpXHJcbiAgICogLSBFbiBTU1I6IExlZSBkZXNkZSBlbCBvYmpldG8gd2luZG93IGlueWVjdGFkbyBwb3IgZWwgc2Vydmlkb3JcclxuICAgKiAtIEVuIEJyb3dzZXI6IEhhY2UgcGV0aWNpw7NuIEhUVFAgYSAvcnVudGltZS1jb25maWcuanNvbiAoc29sbyBzaSBubyBlc3TDoSBlbiB3aW5kb3cpXHJcbiAgICovXHJcbiAgbG9hZENvbmZpZygpOiBPYnNlcnZhYmxlPFJ1bnRpbWVDb25maWc+IHtcclxuICAgIC8vIFNpIHlhIHRlbmVtb3MgbGEgY29uZmlnIGNhcmdhZGEsIGxhIGRldm9sdmVtb3MgaW5tZWRpYXRhbWVudGVcclxuICAgIGlmICh0aGlzLl9pc0xvYWRlZCAmJiB0aGlzLl9jb25maWcpIHtcclxuICAgICAgcmV0dXJuIG9mKHRoaXMuX2NvbmZpZyBhcyBSdW50aW1lQ29uZmlnKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBTaSB5YSBoYXkgdW5hIGNhcmdhIGVuIHByb2dyZXNvLCByZXV0aWxpemFtb3MgZXNhIHBldGljacOzblxyXG4gICAgaWYgKHRoaXMuX2xvYWRQcm9taXNlKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9sb2FkUHJvbWlzZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xyXG4gICAgICAvLyBFbiBlbCBuYXZlZ2Fkb3IsIHByaW1lcm8gaW50ZW50YW1vcyBvYnRlbmVyIGxhIGNvbmZpZyBkZXNkZSB3aW5kb3dcclxuICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5fX1JVTlRJTUVfQ09ORklHX18gJiYgIXRoaXMuX2lzTG9hZGVkKSB7XHJcbiAgICAgICAgdGhpcy5fY29uZmlnID0gd2luZG93Ll9fUlVOVElNRV9DT05GSUdfXztcclxuICAgICAgICB0aGlzLl9pc0xvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5jb25maWdTdWJqZWN0Lm5leHQodGhpcy5fY29uZmlnKTtcclxuICAgICAgICByZXR1cm4gb2YodGhpcy5fY29uZmlnIGFzIFJ1bnRpbWVDb25maWcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBTaSBubyBlc3TDoSBlbiB3aW5kb3csIGhhY2Vtb3MgcGV0aWNpw7NuIEhUVFAgKHNvbG8gdW5hIHZleilcclxuICAgICAgdGhpcy5fbG9hZFByb21pc2UgPSB0aGlzLmh0dHAuZ2V0PFJ1bnRpbWVDb25maWc+KCcvcnVudGltZS1jb25maWcuanNvbicpLnBpcGUoXHJcbiAgICAgICAgdGFwKGNvbmZpZyA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XHJcbiAgICAgICAgICB0aGlzLl9pc0xvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmNvbmZpZ1N1YmplY3QubmV4dChjb25maWcpO1xyXG4gICAgICAgICAgLy8gR3VhcmRhbW9zIGVuIHdpbmRvdyBwYXJhIHNpZ3VpZW50ZXMgYWNjZXNvc1xyXG4gICAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgIHdpbmRvdy5fX1JVTlRJTUVfQ09ORklHX18gPSBjb25maWc7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgc2hhcmVSZXBsYXkoMSksIC8vIENhY2hlIGxhIHJlc3B1ZXN0YSBwYXJhIG3Dumx0aXBsZXMgc3VzY3JpcGNpb25lc1xyXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcign4p2MIFtSdW50aW1lQ29uZmlnU2VydmljZV0gRXJyb3IgbG9hZGluZyAvcnVudGltZS1jb25maWcuanNvbjonLCBlcnJvcik7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIC8vIEludGVudGFyIHVzYXIgZmFsbGJhY2sgZGVzZGUgZW52aXJvbm1lbnRcclxuICAgICAgICAgIGNvbnN0IGZhbGxiYWNrQ29uZmlnID0gdGhpcy5nZXRGYWxsYmFja0NvbmZpZygpO1xyXG4gICAgICAgICAgaWYgKGZhbGxiYWNrQ29uZmlnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZyA9IGZhbGxiYWNrQ29uZmlnO1xyXG4gICAgICAgICAgICB0aGlzLl9pc0xvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuY29uZmlnU3ViamVjdC5uZXh0KGZhbGxiYWNrQ29uZmlnKTtcclxuICAgICAgICAgICAgcmV0dXJuIG9mKGZhbGxiYWNrQ29uZmlnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIFxyXG4gICAgICAgICAgLy8gU2kgbm8gaGF5IGVudmlyb25tZW50LCBsYW56YXIgZXJyb3JcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ+KdjCBbUnVudGltZUNvbmZpZ1NlcnZpY2VdIE5vIHNlIHB1ZG8gY2FyZ2FyIHJ1bnRpbWUtY29uZmlnLmpzb24geSBubyBoYXkgZW52aXJvbm1lbnQgY29uZmlndXJhZG8nKTtcclxuICAgICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICAgIFxyXG4gICAgICByZXR1cm4gdGhpcy5fbG9hZFByb21pc2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBFbiBTU1IsIFBSSU9SSURBRCAxOiB1c2FyIGxhIGNvbmZpZ3VyYWNpw7NuIGlueWVjdGFkYSBkZXNkZSBlbCBzZXJ2aWRvclxyXG4gICAgICBpZiAodGhpcy5zZXJ2ZXJSdW50aW1lQ29uZmlnICYmICF0aGlzLl9pc0xvYWRlZCkge1xyXG4gICAgICAgIHRoaXMuX2NvbmZpZyA9IHRoaXMuc2VydmVyUnVudGltZUNvbmZpZztcclxuICAgICAgICB0aGlzLl9pc0xvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5jb25maWdTdWJqZWN0Lm5leHQodGhpcy5fY29uZmlnKTtcclxuICAgICAgICBjb25zb2xlLmxvZygn4pyFIFtSdW50aW1lQ29uZmlnU2VydmljZSBTU1JdIENvbmZpZ3VyYWNpw7NuIGNhcmdhZGEgZGVzZGUgU0VSVkVSX1JVTlRJTUVfQ09ORklHOicsIHRoaXMuX2NvbmZpZyk7XHJcbiAgICAgICAgcmV0dXJuIG9mKHRoaXMuX2NvbmZpZyBhcyBSdW50aW1lQ29uZmlnKTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgLy8gUFJJT1JJREFEIDI6IENvbW8gZmFsbGJhY2ssIHVzYXIgZW52aXJvbm1lbnQgKHNvbG8gc2kgbm8gaGF5IHNlcnZlclJ1bnRpbWVDb25maWcpXHJcbiAgICAgIGNvbnN0IGZhbGxiYWNrQ29uZmlnID0gdGhpcy5nZXRGYWxsYmFja0NvbmZpZygpO1xyXG4gICAgICBpZiAoZmFsbGJhY2tDb25maWcpIHtcclxuICAgICAgICB0aGlzLl9jb25maWcgPSBmYWxsYmFja0NvbmZpZztcclxuICAgICAgICB0aGlzLl9pc0xvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5jb25maWdTdWJqZWN0Lm5leHQoZmFsbGJhY2tDb25maWcpO1xyXG4gICAgICAgIGNvbnNvbGUud2Fybign4pqg77iPIFtSdW50aW1lQ29uZmlnU2VydmljZSBTU1JdIFVzYW5kbyBmYWxsYmFjayBkZXNkZSBlbnZpcm9ubWVudC50cyAobm8gc2UgZW5jb250csOzIFNFUlZFUl9SVU5USU1FX0NPTkZJRyknKTtcclxuICAgICAgICByZXR1cm4gb2YoZmFsbGJhY2tDb25maWcpO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAvLyBTaSBubyBoYXkgZW52aXJvbm1lbnQgY29uZmlndXJhZG8sIGxhbnphciBlcnJvclxyXG4gICAgICBjb25zb2xlLmVycm9yKCfinYwgW1J1bnRpbWVDb25maWdTZXJ2aWNlIFNTUl0gTm8gaGF5IGVudmlyb25tZW50IGNvbmZpZ3VyYWRvLiBBZ3JlZ2EgcHJvdmlkZUVudmlyb25tZW50KCkgZW4gYXBwLmNvbmZpZy50cycpO1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1J1bnRpbWVDb25maWcgbm8gZGlzcG9uaWJsZS4gQ29uZmlndXJhIHByb3ZpZGVFbnZpcm9ubWVudCgpIGVuIGFwcC5jb25maWcudHMnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9idGllbmUgbGEgY29uZmlndXJhY2nDs24gYWN0dWFsIChzw61uY3Jvbm8pXHJcbiAgICovXHJcbiAgZ2V0Q29uZmlnKCk6IFJ1bnRpbWVDb25maWcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLl9jb25maWc7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPYnRpZW5lIGxhIEFQSSBVUkwgYWN0dWFsXHJcbiAgICovXHJcbiAgZ2V0QXBpVXJsKCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMuX2NvbmZpZz8uYXBpVXJsKSB7XHJcbiAgICAgIGNvbnNvbGUud2Fybign4pqg77iPIFtSdW50aW1lQ29uZmlnU2VydmljZV0gZ2V0QXBpVXJsKCkgbGxhbWFkbyBzaW4gY29uZmlndXJhY2nDs24gY2FyZ2FkYSwgdXNhbmRvIGZhbGxiYWNrJyk7XHJcbiAgICAgIGNvbnN0IGZhbGxiYWNrID0gdGhpcy5nZXRGYWxsYmFja0NvbmZpZygpO1xyXG4gICAgICByZXR1cm4gZmFsbGJhY2s/LmFwaVVybCB8fCAnJztcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9jb25maWcuYXBpVXJsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT2J0aWVuZSBsYSBGcm9udGVuZCBVUkwgYWN0dWFsXHJcbiAgICovXHJcbiAgZ2V0RnJvbnRlbmRVcmwoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLl9jb25maWc/LmZyb250ZW5kVXJsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT2J0aWVuZSBlbCBlbnRvcm5vIGFjdHVhbFxyXG4gICAqL1xyXG4gIGdldEFwcEVudigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZz8uYXBwRW52IHx8ICdkZXZlbG9wbWVudCc7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWZXJpZmljYSBzaSBlc3RhbW9zIGVuIHByb2R1Y2Npw7NuXHJcbiAgICovXHJcbiAgaXNQcm9kdWN0aW9uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZz8ucHJvZHVjdGlvbiB8fCBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9idGllbmUgZWwgbG9jYWxlIGFjdHVhbFxyXG4gICAqL1xyXG4gIGdldExvY2FsZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZz8ubG9jYWxlIHx8ICdlc19BUic7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPYnRpZW5lIGVsIGNhbmFsIGFjdHVhbFxyXG4gICAqL1xyXG4gIGdldENoYW5uZWwoKTogc3RyaW5nIHtcclxuICAgIGlmICghdGhpcy5fY29uZmlnPy5jaGFubmVsKSB7XHJcbiAgICAgIGNvbnN0IGZhbGxiYWNrID0gdGhpcy5nZXRGYWxsYmFja0NvbmZpZygpO1xyXG4gICAgICByZXR1cm4gZmFsbGJhY2s/LmNoYW5uZWwgfHwgJyc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnLmNoYW5uZWw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNw6l0b2RvIGhlbHBlciBwYXJhIGNvbnN0cnVpciBVUkxzIGRlIEFQSVxyXG4gICAqL1xyXG4gIGJ1aWxkQXBpVXJsKGVuZHBvaW50OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgYXBpVXJsID0gdGhpcy5nZXRBcGlVcmwoKTtcclxuICAgIGNvbnN0IGNsZWFuRW5kcG9pbnQgPSBlbmRwb2ludC5zdGFydHNXaXRoKCcvJykgPyBlbmRwb2ludC5zbGljZSgxKSA6IGVuZHBvaW50O1xyXG4gICAgcmV0dXJuIGAke2FwaVVybH0ke2NsZWFuRW5kcG9pbnR9YDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE3DqXRvZG8gaGVscGVyIHBhcmEgY29uc3RydWlyIFVSTHMgZGVsIGZyb250ZW5kXHJcbiAgICovXHJcbiAgYnVpbGRGcm9udGVuZFVybChwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgZnJvbnRlbmRVcmwgPSB0aGlzLmdldEZyb250ZW5kVXJsKCk7XHJcbiAgICBpZiAoIWZyb250ZW5kVXJsKSB7XHJcbiAgICAgIHJldHVybiBwYXRoO1xyXG4gICAgfVxyXG4gICAgY29uc3QgY2xlYW5QYXRoID0gcGF0aC5zdGFydHNXaXRoKCcvJykgPyBwYXRoLnNsaWNlKDEpIDogcGF0aDtcclxuICAgIHJldHVybiBgJHtmcm9udGVuZFVybH0ke2NsZWFuUGF0aH1gO1xyXG4gIH1cclxufSJdfQ==
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1zZXJ2aWNlcy9ydW50aW1lLWNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEQsT0FBTyxFQUFjLEVBQUUsRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQVFwRSxNQUFNLE9BQU8sb0JBQW9CO0lBU0E7SUFDckI7SUFDdUM7SUFWekMsYUFBYSxHQUFHLElBQUksZUFBZSxDQUF1QixJQUFJLENBQUMsQ0FBQztJQUNqRSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUUzQyxPQUFPLEdBQXlCLElBQUksQ0FBQztJQUNyQyxZQUFZLEdBQXFDLElBQUksQ0FBQztJQUN0RCxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBRTFCLFlBQytCLFVBQWtCLEVBQ3ZDLElBQWdCLEVBQ3VCLFdBQStCO1FBRmpELGVBQVUsR0FBVixVQUFVLENBQVE7UUFDdkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUN1QixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFFOUUsbUZBQW1GO1FBQ25GLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxJQUFJLE1BQU0sQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVB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QUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDOUQsT0FBTyxHQUFHLFdBQVcsR0FBRyxTQUFTLEVBQUUsQ0FBQztJQUN0QyxDQUFDO3dHQXhOVSxvQkFBb0Isa0JBU3JCLFdBQVcsdUNBRUMsaUJBQWlCOzRHQVg1QixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBVUksTUFBTTsyQkFBQyxXQUFXOzswQkFFbEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QsIFBMQVRGT1JNX0lELCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHRhcCwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBSdW50aW1lQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ydW50aW1lLWNvbmZpZyc7XG5pbXBvcnQgeyBFTlZJUk9OTUVOVF9UT0tFTiB9IGZyb20gJy4uL3Byb3ZpZGVycy9wcm92aWRlRW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuZGVjbGFyZSBjb25zdCB3aW5kb3c6IGFueTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUnVudGltZUNvbmZpZ1NlcnZpY2Uge1xuICBwcml2YXRlIGNvbmZpZ1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJ1bnRpbWVDb25maWcgfCBudWxsPihudWxsKTtcbiAgcHVibGljIGNvbmZpZyQgPSB0aGlzLmNvbmZpZ1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIFxuICBwcml2YXRlIF9jb25maWc6IFJ1bnRpbWVDb25maWcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfbG9hZFByb21pc2U6IE9ic2VydmFibGU8UnVudGltZUNvbmZpZz4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfaXNMb2FkZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IE9iamVjdCxcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChFTlZJUk9OTUVOVF9UT0tFTikgcHJpdmF0ZSBlbnZpcm9ubWVudDogRW52aXJvbm1lbnQgfCBudWxsXG4gICkge1xuICAgIC8vIEVuIFNTUiBvIGJyb3dzZXIsIGludGVudGFyIGNhcmdhciBpbm1lZGlhdGFtZW50ZSBkZXNkZSB3aW5kb3cgc2kgZXN0w6EgZGlzcG9uaWJsZVxuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cuX19SVU5USU1FX0NPTkZJR19fICYmICF0aGlzLl9pc0xvYWRlZCkge1xuICAgICAgdGhpcy5fY29uZmlnID0gd2luZG93Ll9fUlVOVElNRV9DT05GSUdfXztcbiAgICAgIHRoaXMuX2lzTG9hZGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuY29uZmlnU3ViamVjdC5uZXh0KHRoaXMuX2NvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE9idGllbmUgY29uZmlndXJhY2nDs24gZGUgZmFsbGJhY2sgZGVzZGUgZW52aXJvbm1lbnQudHNcbiAgICovXG4gIHByaXZhdGUgZ2V0RmFsbGJhY2tDb25maWcoKTogUnVudGltZUNvbmZpZyB8IG51bGwge1xuICAgIGlmICh0aGlzLmVudmlyb25tZW50KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhcGlVcmw6IHRoaXMuZW52aXJvbm1lbnQuYXBpVXJsIHx8ICcnLFxuICAgICAgICBhcHBFbnY6ICh0aGlzLmVudmlyb25tZW50LnByb2R1Y3Rpb24gPyAncHJvZCcgOiAncHJlcHJvZCcpIGFzICdwcm9kJyB8ICdwcmVwcm9kJyB8ICd0ZXN0JyxcbiAgICAgICAgcHJvZHVjdGlvbjogdGhpcy5lbnZpcm9ubWVudC5wcm9kdWN0aW9uLFxuICAgICAgICBsb2NhbGU6IHRoaXMuZW52aXJvbm1lbnQubG9jYWxlLFxuICAgICAgICBjaGFubmVsOiB0aGlzLmVudmlyb25tZW50LmNoYW5uZWxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaWNpYWxpemFjacOzbiDDum5pY2EgLSBsbGFtYWRhIHBvciBBUFBfSU5JVElBTElaRVJcbiAgICogR2FyYW50aXphIHF1ZSBsYSBjb25maWd1cmFjacOzbiBzZSBjYXJnYSBzb2xvIHVuYSB2ZXogYWwgaW5pY2lvXG4gICAqL1xuICBpbml0aWFsaXplKCk6IFByb21pc2U8UnVudGltZUNvbmZpZz4ge1xuICAgIGlmICh0aGlzLl9pc0xvYWRlZCAmJiB0aGlzLl9jb25maWcpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5fY29uZmlnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5sb2FkQ29uZmlnKCkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKGNvbmZpZzogUnVudGltZUNvbmZpZykgPT4ge1xuICAgICAgICAgIHRoaXMuX2lzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICByZXNvbHZlKGNvbmZpZyk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYXJnYSBsYSBjb25maWd1cmFjacOzbiBlbiBydW50aW1lIChvcHRpbWl6YWRhIHBhcmEgdW5hIHNvbGEgY2FyZ2EpXG4gICAqIC0gRW4gU1NSOiBMZWUgZGVzZGUgZWwgb2JqZXRvIHdpbmRvdyBpbnllY3RhZG8gcG9yIGVsIHNlcnZpZG9yXG4gICAqIC0gRW4gQnJvd3NlcjogSGFjZSBwZXRpY2nDs24gSFRUUCBhIC9ydW50aW1lLWNvbmZpZy5qc29uIChzb2xvIHNpIG5vIGVzdMOhIGVuIHdpbmRvdylcbiAgICovXG4gIGxvYWRDb25maWcoKTogT2JzZXJ2YWJsZTxSdW50aW1lQ29uZmlnPiB7XG4gICAgLy8gU2kgeWEgdGVuZW1vcyBsYSBjb25maWcgY2FyZ2FkYSwgbGEgZGV2b2x2ZW1vcyBpbm1lZGlhdGFtZW50ZVxuICAgIGlmICh0aGlzLl9pc0xvYWRlZCAmJiB0aGlzLl9jb25maWcpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLl9jb25maWcgYXMgUnVudGltZUNvbmZpZyk7XG4gICAgfVxuXG4gICAgLy8gU2kgeWEgaGF5IHVuYSBjYXJnYSBlbiBwcm9ncmVzbywgcmV1dGlsaXphbW9zIGVzYSBwZXRpY2nDs25cbiAgICBpZiAodGhpcy5fbG9hZFByb21pc2UpIHtcbiAgICAgIHJldHVybiB0aGlzLl9sb2FkUHJvbWlzZTtcbiAgICB9XG5cbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgLy8gRW4gZWwgbmF2ZWdhZG9yLCBwcmltZXJvIGludGVudGFtb3Mgb2J0ZW5lciBsYSBjb25maWcgZGVzZGUgd2luZG93XG4gICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93Ll9fUlVOVElNRV9DT05GSUdfXyAmJiAhdGhpcy5faXNMb2FkZWQpIHtcbiAgICAgICAgdGhpcy5fY29uZmlnID0gd2luZG93Ll9fUlVOVElNRV9DT05GSUdfXztcbiAgICAgICAgdGhpcy5faXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmNvbmZpZ1N1YmplY3QubmV4dCh0aGlzLl9jb25maWcpO1xuICAgICAgICByZXR1cm4gb2YodGhpcy5fY29uZmlnIGFzIFJ1bnRpbWVDb25maWcpO1xuICAgICAgfVxuXG4gICAgICAvLyBTaSBubyBlc3TDoSBlbiB3aW5kb3csIGhhY2Vtb3MgcGV0aWNpw7NuIEhUVFAgKHNvbG8gdW5hIHZleilcbiAgICAgIHRoaXMuX2xvYWRQcm9taXNlID0gdGhpcy5odHRwLmdldDxSdW50aW1lQ29uZmlnPignL3J1bnRpbWUtY29uZmlnLmpzb24nKS5waXBlKFxuICAgICAgICB0YXAoY29uZmlnID0+IHtcbiAgICAgICAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG4gICAgICAgICAgdGhpcy5faXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuY29uZmlnU3ViamVjdC5uZXh0KGNvbmZpZyk7XG4gICAgICAgICAgLy8gR3VhcmRhbW9zIGVuIHdpbmRvdyBwYXJhIHNpZ3VpZW50ZXMgYWNjZXNvc1xuICAgICAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgd2luZG93Ll9fUlVOVElNRV9DT05GSUdfXyA9IGNvbmZpZztcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBzaGFyZVJlcGxheSgxKSwgLy8gQ2FjaGUgbGEgcmVzcHVlc3RhIHBhcmEgbcO6bHRpcGxlcyBzdXNjcmlwY2lvbmVzXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ+KdjCBbUnVudGltZUNvbmZpZ1NlcnZpY2VdIEVycm9yIGxvYWRpbmcgL3J1bnRpbWUtY29uZmlnLmpzb246JywgZXJyb3IpO1xuICAgICAgICAgIFxuICAgICAgICAgIC8vIEludGVudGFyIHVzYXIgZmFsbGJhY2sgZGVzZGUgZW52aXJvbm1lbnRcbiAgICAgICAgICBjb25zdCBmYWxsYmFja0NvbmZpZyA9IHRoaXMuZ2V0RmFsbGJhY2tDb25maWcoKTtcbiAgICAgICAgICBpZiAoZmFsbGJhY2tDb25maWcpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZyA9IGZhbGxiYWNrQ29uZmlnO1xuICAgICAgICAgICAgdGhpcy5faXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5jb25maWdTdWJqZWN0Lm5leHQoZmFsbGJhY2tDb25maWcpO1xuICAgICAgICAgICAgcmV0dXJuIG9mKGZhbGxiYWNrQ29uZmlnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgICAgLy8gU2kgbm8gaGF5IGVudmlyb25tZW50LCBsYW56YXIgZXJyb3JcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCfinYwgW1J1bnRpbWVDb25maWdTZXJ2aWNlXSBObyBzZSBwdWRvIGNhcmdhciBydW50aW1lLWNvbmZpZy5qc29uIHkgbm8gaGF5IGVudmlyb25tZW50IGNvbmZpZ3VyYWRvJyk7XG4gICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgXG4gICAgICByZXR1cm4gdGhpcy5fbG9hZFByb21pc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEVuIFNTUiwgcHJpbWVybyBpbnRlbnRhciB1c2FyIGZhbGxiYWNrIGRlc2RlIGVudmlyb25tZW50IChtw6FzIGNvbmZpYWJsZSlcbiAgICAgIGNvbnN0IGZhbGxiYWNrQ29uZmlnID0gdGhpcy5nZXRGYWxsYmFja0NvbmZpZygpO1xuICAgICAgaWYgKGZhbGxiYWNrQ29uZmlnKSB7XG4gICAgICAgIHRoaXMuX2NvbmZpZyA9IGZhbGxiYWNrQ29uZmlnO1xuICAgICAgICB0aGlzLl9pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuY29uZmlnU3ViamVjdC5uZXh0KGZhbGxiYWNrQ29uZmlnKTtcbiAgICAgICAgcmV0dXJuIG9mKGZhbGxiYWNrQ29uZmlnKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLy8gQ29tbyBhbHRlcm5hdGl2YSwgaW50ZW50YXIgbGVlciBkZXNkZSB3aW5kb3cgc2kgZXN0w6EgZGlzcG9uaWJsZVxuICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5fX1JVTlRJTUVfQ09ORklHX18gJiYgIXRoaXMuX2lzTG9hZGVkKSB7XG4gICAgICAgIHRoaXMuX2NvbmZpZyA9IHdpbmRvdy5fX1JVTlRJTUVfQ09ORklHX187XG4gICAgICAgIHRoaXMuX2lzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5jb25maWdTdWJqZWN0Lm5leHQodGhpcy5fY29uZmlnKTtcbiAgICAgICAgcmV0dXJuIG9mKHRoaXMuX2NvbmZpZyBhcyBSdW50aW1lQ29uZmlnKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLy8gU2kgbm8gaGF5IGVudmlyb25tZW50IGNvbmZpZ3VyYWRvLCBsYW56YXIgZXJyb3JcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ+KdjCBbUnVudGltZUNvbmZpZ1NlcnZpY2UgU1NSXSBObyBoYXkgZW52aXJvbm1lbnQgY29uZmlndXJhZG8uIEFncmVnYSBwcm92aWRlRW52aXJvbm1lbnQoKSBlbiBhcHAuY29uZmlnLnRzJyk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1J1bnRpbWVDb25maWcgbm8gZGlzcG9uaWJsZS4gQ29uZmlndXJhIHByb3ZpZGVFbnZpcm9ubWVudCgpIGVuIGFwcC5jb25maWcudHMnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogT2J0aWVuZSBsYSBjb25maWd1cmFjacOzbiBhY3R1YWwgKHPDrW5jcm9ubylcbiAgICovXG4gIGdldENvbmZpZygpOiBSdW50aW1lQ29uZmlnIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZztcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRpZW5lIGxhIEFQSSBVUkwgYWN0dWFsXG4gICAqL1xuICBnZXRBcGlVcmwoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuX2NvbmZpZz8uYXBpVXJsKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ+KaoO+4jyBbUnVudGltZUNvbmZpZ1NlcnZpY2VdIGdldEFwaVVybCgpIGxsYW1hZG8gc2luIGNvbmZpZ3VyYWNpw7NuIGNhcmdhZGEsIHVzYW5kbyBmYWxsYmFjaycpO1xuICAgICAgY29uc3QgZmFsbGJhY2sgPSB0aGlzLmdldEZhbGxiYWNrQ29uZmlnKCk7XG4gICAgICByZXR1cm4gZmFsbGJhY2s/LmFwaVVybCB8fCAnJztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5hcGlVcmw7XG4gIH1cblxuICAvKipcbiAgICogT2J0aWVuZSBsYSBGcm9udGVuZCBVUkwgYWN0dWFsXG4gICAqL1xuICBnZXRGcm9udGVuZFVybCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9jb25maWc/LmZyb250ZW5kVXJsO1xuICB9XG5cbiAgLyoqXG4gICAqIE9idGllbmUgZWwgZW50b3JubyBhY3R1YWxcbiAgICovXG4gIGdldEFwcEVudigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9jb25maWc/LmFwcEVudiB8fCAnZGV2ZWxvcG1lbnQnO1xuICB9XG5cbiAgLyoqXG4gICAqIFZlcmlmaWNhIHNpIGVzdGFtb3MgZW4gcHJvZHVjY2nDs25cbiAgICovXG4gIGlzUHJvZHVjdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnPy5wcm9kdWN0aW9uIHx8IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIE9idGllbmUgZWwgbG9jYWxlIGFjdHVhbFxuICAgKi9cbiAgZ2V0TG9jYWxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZz8ubG9jYWxlIHx8ICdlc19BUic7XG4gIH1cblxuICAvKipcbiAgICogT2J0aWVuZSBlbCBjYW5hbCBhY3R1YWxcbiAgICovXG4gIGdldENoYW5uZWwoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuX2NvbmZpZz8uY2hhbm5lbCkge1xuICAgICAgY29uc3QgZmFsbGJhY2sgPSB0aGlzLmdldEZhbGxiYWNrQ29uZmlnKCk7XG4gICAgICByZXR1cm4gZmFsbGJhY2s/LmNoYW5uZWwgfHwgJyc7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9jb25maWcuY2hhbm5lbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBNw6l0b2RvIGhlbHBlciBwYXJhIGNvbnN0cnVpciBVUkxzIGRlIEFQSVxuICAgKi9cbiAgYnVpbGRBcGlVcmwoZW5kcG9pbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgYXBpVXJsID0gdGhpcy5nZXRBcGlVcmwoKTtcbiAgICBjb25zdCBjbGVhbkVuZHBvaW50ID0gZW5kcG9pbnQuc3RhcnRzV2l0aCgnLycpID8gZW5kcG9pbnQuc2xpY2UoMSkgOiBlbmRwb2ludDtcbiAgICByZXR1cm4gYCR7YXBpVXJsfSR7Y2xlYW5FbmRwb2ludH1gO1xuICB9XG5cbiAgLyoqXG4gICAqIE3DqXRvZG8gaGVscGVyIHBhcmEgY29uc3RydWlyIFVSTHMgZGVsIGZyb250ZW5kXG4gICAqL1xuICBidWlsZEZyb250ZW5kVXJsKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZnJvbnRlbmRVcmwgPSB0aGlzLmdldEZyb250ZW5kVXJsKCk7XG4gICAgaWYgKCFmcm9udGVuZFVybCkge1xuICAgICAgcmV0dXJuIHBhdGg7XG4gICAgfVxuICAgIGNvbnN0IGNsZWFuUGF0aCA9IHBhdGguc3RhcnRzV2l0aCgnLycpID8gcGF0aC5zbGljZSgxKSA6IHBhdGg7XG4gICAgcmV0dXJuIGAke2Zyb250ZW5kVXJsfSR7Y2xlYW5QYXRofWA7XG4gIH1cbn0iXX0=
|
|
@@ -166,4 +166,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
166
166
|
providedIn: 'root'
|
|
167
167
|
}]
|
|
168
168
|
}], ctorParameters: () => [] });
|
|
169
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpcG1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1zZXJ2aWNlcy9zaGlwbWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUE0QixNQUFNLE1BQU0sQ0FBQztBQUNqRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFLL0MsTUFBTSxPQUFPLGVBQWU7SUFDaEIsZ0JBQWdCLEdBQW9CLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM1RCxXQUFXLEdBQXNCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzNELFVBQVUsR0FBd0IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDOUQsWUFBWSxHQUFnQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEQsY0FBYyxHQUFrQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEQsaUJBQWlCLEdBQXFCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRS9ELGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBTSxFQUFFLENBQUMsQ0FBQztJQUMvQyxhQUFhLEdBQUcsSUFBSSxlQUFlLENBQU0s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LGVBQWUsY0FGWixNQUFNOzs0RkFFVCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpcnN0VmFsdWVGcm9tLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ2hlY2tvdXRTZXJ2aWNlIH0gZnJvbSAnLi9jaGVja291dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2hlY2tvdXRQcm9jZXNzU3RhdGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgQ29ubmVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9hcGknO1xyXG5pbXBvcnQgeyBBcGlDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuL2NhcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IFN0b3Jlc1NlcnZpY2UgfSBmcm9tICcuL3N0b3Jlcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4vYW5hbHl0aWNzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2hpcG1lbnRTZXJ2aWNlIHtcclxuICAgIHByaXZhdGUgX2NoZWNrb3V0U2VydmljZTogQ2hlY2tvdXRTZXJ2aWNlID0gaW5qZWN0KENoZWNrb3V0U2VydmljZSk7XHJcbiAgICBwcml2YXRlIF9jb25uZWN0aW9uOiBDb25uZWN0aW9uU2VydmljZSA9IGluamVjdChDb25uZWN0aW9uU2VydmljZSk7XHJcbiAgICBwcml2YXRlIF9hcGlDb25zdHM6IEFwaUNvbnN0YW50c1NlcnZpY2UgPSBpbmplY3QoQXBpQ29uc3RhbnRzU2VydmljZSk7XHJcbiAgICBwcml2YXRlIF9jYXJ0U2VydmljZTogQ2FydFNlcnZpY2UgPSBpbmplY3QoQ2FydFNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSBfc3RvcmVzU2VydmljZTogU3RvcmVzU2VydmljZSA9IGluamVjdChTdG9yZXNTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgX2FuYWx5dGljc1NlcnZpY2U6IEFuYWx5dGljc1NlcnZpY2UgPSBpbmplY3QoQW5hbHl0aWNzU2VydmljZSk7XHJcblxyXG4gICAgcHJpdmF0ZSBfbWV0aG9kc1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oW10pO1xyXG4gICAgcHJpdmF0ZSBfY29zdHNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KFtdKTtcclxuICAgIHByaXZhdGUgX3N0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2hlY2tvdXRQcm9jZXNzU3RhdGU+KHsgZG9pbmc6IGZhbHNlLCBvazogZmFsc2UsIGRhdGE6IG51bGwgfSk7XHJcblxyXG4gICAgcHVibGljIG1ldGhvZHMkOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLl9tZXRob2RzU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICAgIHB1YmxpYyBjb3N0cyQ6IE9ic2VydmFibGU8YW55W10+ID0gdGhpcy5fY29zdHNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgcHVibGljIHN0YXRlJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5fc3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgcHVibGljIGJ1dHRvbnNEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIG9yZGVyOiBhbnk7XHJcbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIC8vQVBJIFVSTFxyXG4gICAgcHJpdmF0ZSBiYXNlQXBpKCkgeyByZXR1cm4gJ3Nob3AtYXBpLycgKyB0aGlzLl9hcGlDb25zdHMuQ0hBTk5FTCArICcvJyArICdjaGVja291dC8nICsgdGhpcy5fY2FydFNlcnZpY2UuZ2V0Q2FydFRva2VuKCk7IH1cclxuXHJcbiAgICBwdWJsaWMgc2hpcG1lbnRNZXRob2RzQXBpKCkgeyByZXR1cm4gdGhpcy5iYXNlQXBpKCkgKyAnL3NoaXBwaW5nJyB9O1xyXG4gICAgcHVibGljIHB1dFNoaXBtZW50QXBpKCkgeyByZXR1cm4gdGhpcy5iYXNlQXBpKCkgKyAnL3NoaXBwaW5nLycgKyB0aGlzLl9zdGF0ZVN1YmplY3QuZ2V0VmFsdWUoKS5kYXRhLm1ldGhvZCB9O1xyXG4gICAgcHVibGljIHB1dENvbnRyYWN0QXBpID0gKCkgPT4gJ3Nob3AtYXBpLycgKyB0aGlzLl9hcGlDb25zdHMuQ0hBTk5FTCArICcvY2hlY2tvdXQvJyArIHRoaXMuX2NhcnRTZXJ2aWNlLmdldENhcnRUb2tlbigpICsgJy9zaGlwcGluZy1jb250cmFjdCc7XHJcbiAgICBwdWJsaWMgY2FsY3VsYXRlZENvc3RzQXBpID0gKCkgPT4gJ3Nob3AtYXBpLycgKyB0aGlzLl9hcGlDb25zdHMuQ0hBTk5FTCArICcvY2FydHMvJyArIHRoaXMuX2NhcnRTZXJ2aWNlLmdldENhcnRUb2tlbigpICsgJy9tdWx0aXBsZS1lc3RpbWF0ZWQtc2hpcHBpbmctY29zdCc7XHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gICAgc2V0TWV0aG9kKG1ldGhvZDogYW55KTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICAvLyBEZXNoYWJpbGl0YXIgdG9kb3MgbG9zIGJvdG9uZXNcclxuICAgICAgICAvL3RoaXMuYnV0dG9uc0Rpc2FibGVkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgdGhpcy5fY29zdHNTdWJqZWN0Lm5leHQoW10pO1xyXG4gICAgICAgIHRoaXMuX3N0YXRlU3ViamVjdC5uZXh0KHsgZG9pbmc6IHRydWUsIG9rOiBmYWxzZSwgZGF0YTogeyBtZXRob2QgfSB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMucHV0U2hpcG1lbnQoKS50aGVuKFxyXG4gICAgICAgICAgICAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2NoZWNrb3V0U2VydmljZS51cGRhdGVBc29jaWF0ZWREYXRhKHJlcyk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9yZGVyID0gcmVzO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2FsY3VsYXRlZENvc3RzKClcclxuICAgICAgICAgICAgfSkudGhlbihcclxuICAgICAgICAgICAgICAgIChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW9kaWZ5Q29zdHNSZXNwb25zZShyZXMsIHRoaXMuZ2V0VXNlckRhdGEoKS5zaGlwcGluZ0FkZHJlc3MucG9zdGNvZGUsIG1ldGhvZClcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBzdWNjZXNzOiB0cnVlLCBvcmRlcjogdGhpcy5vcmRlciB9O1xyXG4gICAgICAgICAgICAgICAgfSkudGhlbihcclxuICAgICAgICAgICAgICAgICAgICAocmVzOmFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb3N0c0RhdGEgPSB0aGlzLl9jb3N0c1N1YmplY3QuZ2V0VmFsdWUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEV4dHJhZXIgZWwgcHJpbWVyIGNvbnRyYXRvIGRlbCBwcmltZXIgbcOpdG9kb1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29zdHNEYXRhICYmIGNvc3RzRGF0YS5sZW5ndGggPiAwICYmIGNvc3RzRGF0YVswXS5jb250cmFjdHMgJiYgY29zdHNEYXRhWzBdLmNvbnRyYWN0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaXJzdE1ldGhvZCA9IGNvc3RzRGF0YVswXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpcnN0Q29udHJhY3QgPSBmaXJzdE1ldGhvZC5jb250cmFjdHNbMF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbnN0cnVpciBlbCBvYmpldG8gY29udHJhY3RfZGF0YSBjb24gbGEgZXN0cnVjdHVyYSBjb3JyZWN0YVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udHJhY3REYXRhID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmZpcnN0Q29udHJhY3QsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJhY3Q6IGZpcnN0TWV0aG9kLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogZmlyc3RDb250cmFjdC5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRDb250cmFjdChjb250cmFjdERhdGEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBzdWNjZXNzOiB0cnVlLCBvcmRlcjogdGhpcy5vcmRlciB9O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICkuY2F0Y2goKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgc3VjY2VzczogZmFsc2UsIGVycm9yOiBlcnJvciB9O1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHB1dFNoaXBtZW50KCkge1xyXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLl9jb25uZWN0aW9uLnB1dCh0aGlzLnB1dFNoaXBtZW50QXBpKCksIHsgbWV0aG9kOiB0aGlzLl9zdGF0ZVN1YmplY3QuZ2V0VmFsdWUoKS5kYXRhLm1ldGhvZCB9KSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Q2FsY3VsYXRlZENvc3RzKCkgeyByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5fY29ubmVjdGlvbi5nZXQodGhpcy5jYWxjdWxhdGVkQ29zdHNBcGkoKSkpIH07XHJcblxyXG4gICAgZ2V0U2hpcG1lbnRNZXRob2RzID0gKCkgPT4ge1xyXG4gICAgICAgIGZpcnN0VmFsdWVGcm9tKHRoaXMuX2Nvbm5lY3Rpb24uZ2V0RXJyb3JOb3RIYW5kbGVyKHRoaXMuc2hpcG1lbnRNZXRob2RzQXBpKCkpKS50aGVuKFxyXG4gICAgICAgICAgICByZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fbWV0aG9kc1N1YmplY3QubmV4dCh0aGlzLnJlc3BvbnNlVG9MaXN0KHJlcykpXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9tZXRob2RzU3ViamVjdC5uZXh0KFtdKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgKS5jYXRjaChlcnIgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9tZXRob2RzU3ViamVjdC5uZXh0KFtdKVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcbiAgICByZXNwb25zZVRvTGlzdChyZXNwb25zZTogYW55KSB7XHJcbiAgICAgICAgcmV0dXJuIChyZXNwb25zZS5zaGlwbWVudHMgJiYgcmVzcG9uc2Uuc2hpcG1lbnRzLmxlbmd0aCA+IDApICYmIE9iamVjdC5rZXlzKHJlc3BvbnNlLnNoaXBtZW50c1swXS5tZXRob2RzKS5tYXAoa2V5ID0+IHJlc3BvbnNlLnNoaXBtZW50c1swXS5tZXRob2RzW2tleV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlc3RhcnRTdGVwKCkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgKiBPYnRlbmVyIGluZm9ybWFjacOzbiBvYnRlbmlkYSBlbiBlbCBwYXNvIGRlIGRhdG9zIGFzb2NpYWRvcyBhbCB1c3VhcmlvIHkgYSBsYSBmYWN0dXJhY2nDs25cclxuICAgICovXHJcbiAgICBnZXRVc2VyRGF0YSA9ICgpID0+IHRoaXMuX2NoZWNrb3V0U2VydmljZS5nZXRTdGVwRGF0YSgnYWRkcmVzcycpO1xyXG4gICAgLy8gVVRJTFNcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwYXJhbSByZXNwb25zZSBEZSBhcGkgZGUgc29saWNpdHVkIGRlIGNvc3RvcyBwb3IgbWV0b2RvIGRlIGVudsOtbyBzZWxlY2Npb25hZG9cclxuICAgICAqIEBwYXJhbSBwb3N0X2NvZGUgSW5kaWNhZG8gZW4gZWwgcGFzbyBkZSBBZGRyZXNzaW5nIChkYXRvcyBwZXJzb25hbGVzIHkgZGUgZmFjdHVyYWNpw7NuKVxyXG4gICAgICogQHBhcmFtIG1ldGhvZCBNZXRvZG8gZGUgZW52w61vIHNlbGVjY2lvbmFkb1xyXG4gICAgICovXHJcbiAgICBtb2RpZnlDb3N0c1Jlc3BvbnNlKHJlc3BvbnNlOiBhbnksIHBvc3RfY29kZTogYW55LCBtZXRob2Q6IGFueSkge1xyXG4gICAgICAgIHJlc3BvbnNlID0gcmVzcG9uc2UubXVsdGlwbGVQcmljZXM7XHJcbiAgICAgICAgbGV0IGJyYW5jaF9kZWxpdmVyeSA9IHJlc3BvbnNlLmZpbmRJbmRleCgoc3VibWV0aG9kOiBhbnkpID0+IHN1Ym1ldGhvZC5uYW1lID09ICdicmFuY2hfZGVsaXZlcnknKTtcclxuICAgICAgICBpZiAoYnJhbmNoX2RlbGl2ZXJ5ICE9IC0xKSB7XHJcbiAgICAgICAgICAgIHJlc3BvbnNlW2JyYW5jaF9kZWxpdmVyeV0uY29udHJhY3RzID0gcmVzcG9uc2VbYnJhbmNoX2RlbGl2ZXJ5XS5jb250cmFjdHMubWFwKFxyXG4gICAgICAgICAgICAgICAgKGNvbnRyYWN0OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgYnJhbmNoX3Byb3BlcnR5ID0gY29udHJhY3QuYnJhbmNoX3Byb3BlcnR5IHx8IHt9O1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBhZGRyZXNzX2RhdGEgPSBicmFuY2hfcHJvcGVydHkuYWRkcmVzcyB8fCB7fTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250cmFjdDogJ2JyYW5jaF9kZWxpdmVyeScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGNvbnRyYWN0Lm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByaWNlOiBjb250cmFjdC5wcmljZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgLi4uYWRkcmVzc19kYXRhLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5icmFuY2hfcHJvcGVydHksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkOiAoYWRkcmVzc19kYXRhLnN0cmVldCB8fCAnJykgKyAnIE7CsCAnICsgKGFkZHJlc3NfZGF0YS5udW1iZXIgfHwgJycpXHJcbiAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLl9jb3N0c1N1YmplY3QubmV4dChyZXNwb25zZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChtZXRob2QuaW5jbHVkZXMoJ3BpY2t1cF9zdG9yZScpKSB7XHJcbiAgICAgICAgICAgIGxldCBmaW5hbF9tZXRob2RfZGF0YSA9IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24gPSB0aGlzLl9zdG9yZXNTZXJ2aWNlLnN0b3Jlcy5zdWJzY3JpYmUoKHN0b3JlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoc3RvcmVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbmFsX21ldGhvZF9kYXRhLmZvckVhY2goKHBpY2t1cF9zdG9yZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBpY2t1cF9zdG9yZS5jb250cmFjdHMuZm9yRWFjaCgoY29udHJhY3Q6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY3VycmVudF9zdG9yZSA9IHN0b3Jlcy5maW5kKChzdG9yZTogYW55KSA9PiBzdG9yZS5jb2RlID09IGNvbnRyYWN0Lm5hbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjdXJyZW50X3N0b3JlKSBjb250cmFjdC5kZXRhaWwgPSAnU2luIGluZm9ybWFjacOzbic7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGNvbnRyYWN0LmRldGFpbCA9IGN1cnJlbnRfc3RvcmUubmFtZSArICcgLSAnICsgY3VycmVudF9zdG9yZS5hZGRyZXNzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRyYWN0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29zdHNTdWJqZWN0Lm5leHQoZmluYWxfbWV0aG9kX2RhdGEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2Nvc3RzU3ViamVjdC5uZXh0KHJlc3BvbnNlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uICYmIHRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldENvbnRyYWN0KGNvbnRyYWN0OiBhbnkpe1xyXG4gICAgICAgIGNvbnN0IGRhdGEgPSB7IC4uLmNvbnRyYWN0LCAuLi50aGlzLmFkZGl0aW9uYWxQYXJhbXNGb3JDb250cmFjdChjb250cmFjdCkgfTtcclxuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5fY29ubmVjdGlvbi5wdXQodGhpcy5wdXRDb250cmFjdEFwaSgpLCBkYXRhKSkudGhlbihcclxuICAgICAgICAgICAgb3JkZXIgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fYW5hbHl0aWNzU2VydmljZS5jYWxsRXZlbnQoJ3NoaXBwaW5nX2luZm8nLCBvcmRlcik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jaGVja291dFNlcnZpY2UudXBkYXRlQXNvY2lhdGVkRGF0YShvcmRlcik7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gIHRoaXMuX2NoZWNrb3V0U2VydmljZS5zZXRTdGVwRGF0YSgnc2hpcG1lbnQnLG9yZGVyKTt9LFxyXG4gICAgICAgICAgICBlcnIgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHJlamVjdChuZXcgRXJyb3IoZXJyLmVycm9yKSkpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICApLmNhdGNoKGVyciA9PiBjb25zb2xlLmVycm9yKGVycikpXHJcbiAgICB9XHJcbiAgICBhZGRpdGlvbmFsUGFyYW1zRm9yQ29udHJhY3QoY29udHJhY3Q6YW55KXtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBzaGlwcGluZ19tZXRob2RfY29udHJhY3Q6XHJcbiAgICAgICAgICAgICAgICBjb250cmFjdC5zaGlwcGluZ19tZXRob2RfY29udHJhY3RcclxuICAgICAgICAgICAgICAgICAgICA/IGNvbnRyYWN0LnNoaXBwaW5nX21ldGhvZF9jb250cmFjdFxyXG4gICAgICAgICAgICAgICAgICAgIDogY29udHJhY3QuY29udHJhY3QgKyAnXycgKyBjb250cmFjdC5uYW1lLFxyXG4gICAgICAgICAgICBzaGlwcGluZ19tZXRob2RfYnJhbmNoX2NvZGU6XHJcbiAgICAgICAgICAgICAgICBjb250cmFjdC5zaGlwcGluZ19tZXRob2RfYnJhbmNoX2NvZGVcclxuICAgICAgICAgICAgICAgICAgICA/IGNvbnRyYWN0LnNoaXBwaW5nX21ldGhvZF9icmFuY2hfY29kZVxyXG4gICAgICAgICAgICAgICAgICAgIDogKGNvbnRyYWN0LmNvbnRyYWN0ICYmIGNvbnRyYWN0LmNvbnRyYWN0ID09IFwiYnJhbmNoX2RlbGl2ZXJ5XCIpID8gY29udHJhY3QubnVtYmVyIDogY29udHJhY3QubmFtZVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpcG1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1zZXJ2aWNlcy9zaGlwbWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUE0QixNQUFNLE1BQU0sQ0FBQztBQUNqRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFLL0MsTUFBTSxPQUFPLGVBQWU7SUFDaEIsZ0JBQWdCLEdBQW9CLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM1RCxXQUFXLEdBQXNCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzNELFVBQVUsR0FBd0IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDOUQsWUFBWSxHQUFnQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEQsY0FBYyxHQUFrQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEQsaUJBQWlCLEdBQXFCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRS9ELGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBTSxFQUFFLENBQUMsQ0FBQztJQUMvQyxhQUFhLEdBQUcsSUFBSSxlQUFlLENBQU0s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LGVBQWUsY0FGWixNQUFNOzs0RkFFVCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDaGVja291dFNlcnZpY2UgfSBmcm9tICcuL2NoZWNrb3V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hlY2tvdXRQcm9jZXNzU3RhdGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IENvbm5lY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYXBpJztcbmltcG9ydCB7IEFwaUNvbnN0YW50c1NlcnZpY2UgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuL2NhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yZXNTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yZXMuc2VydmljZSc7XG5pbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi9hbmFseXRpY3MnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNoaXBtZW50U2VydmljZSB7XG4gICAgcHJpdmF0ZSBfY2hlY2tvdXRTZXJ2aWNlOiBDaGVja291dFNlcnZpY2UgPSBpbmplY3QoQ2hlY2tvdXRTZXJ2aWNlKTtcbiAgICBwcml2YXRlIF9jb25uZWN0aW9uOiBDb25uZWN0aW9uU2VydmljZSA9IGluamVjdChDb25uZWN0aW9uU2VydmljZSk7XG4gICAgcHJpdmF0ZSBfYXBpQ29uc3RzOiBBcGlDb25zdGFudHNTZXJ2aWNlID0gaW5qZWN0KEFwaUNvbnN0YW50c1NlcnZpY2UpO1xuICAgIHByaXZhdGUgX2NhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSA9IGluamVjdChDYXJ0U2VydmljZSk7XG4gICAgcHJpdmF0ZSBfc3RvcmVzU2VydmljZTogU3RvcmVzU2VydmljZSA9IGluamVjdChTdG9yZXNTZXJ2aWNlKTtcbiAgICBwcml2YXRlIF9hbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlID0gaW5qZWN0KEFuYWx5dGljc1NlcnZpY2UpO1xuXG4gICAgcHJpdmF0ZSBfbWV0aG9kc1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oW10pO1xuICAgIHByaXZhdGUgX2Nvc3RzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihbXSk7XG4gICAgcHJpdmF0ZSBfc3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDaGVja291dFByb2Nlc3NTdGF0ZT4oeyBkb2luZzogZmFsc2UsIG9rOiBmYWxzZSwgZGF0YTogbnVsbCB9KTtcblxuICAgIHB1YmxpYyBtZXRob2RzJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5fbWV0aG9kc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgcHVibGljIGNvc3RzJDogT2JzZXJ2YWJsZTxhbnlbXT4gPSB0aGlzLl9jb3N0c1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgcHVibGljIHN0YXRlJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5fc3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHB1YmxpYyBidXR0b25zRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgb3JkZXI6IGFueTtcbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gICAgLy9BUEkgVVJMXG4gICAgcHJpdmF0ZSBiYXNlQXBpKCkgeyByZXR1cm4gJ3Nob3AtYXBpLycgKyB0aGlzLl9hcGlDb25zdHMuQ0hBTk5FTCArICcvJyArICdjaGVja291dC8nICsgdGhpcy5fY2FydFNlcnZpY2UuZ2V0Q2FydFRva2VuKCk7IH1cblxuICAgIHB1YmxpYyBzaGlwbWVudE1ldGhvZHNBcGkoKSB7IHJldHVybiB0aGlzLmJhc2VBcGkoKSArICcvc2hpcHBpbmcnIH07XG4gICAgcHVibGljIHB1dFNoaXBtZW50QXBpKCkgeyByZXR1cm4gdGhpcy5iYXNlQXBpKCkgKyAnL3NoaXBwaW5nLycgKyB0aGlzLl9zdGF0ZVN1YmplY3QuZ2V0VmFsdWUoKS5kYXRhLm1ldGhvZCB9O1xuICAgIHB1YmxpYyBwdXRDb250cmFjdEFwaSA9ICgpID0+ICdzaG9wLWFwaS8nICsgdGhpcy5fYXBpQ29uc3RzLkNIQU5ORUwgKyAnL2NoZWNrb3V0LycgKyB0aGlzLl9jYXJ0U2VydmljZS5nZXRDYXJ0VG9rZW4oKSArICcvc2hpcHBpbmctY29udHJhY3QnO1xuICAgIHB1YmxpYyBjYWxjdWxhdGVkQ29zdHNBcGkgPSAoKSA9PiAnc2hvcC1hcGkvJyArIHRoaXMuX2FwaUNvbnN0cy5DSEFOTkVMICsgJy9jYXJ0cy8nICsgdGhpcy5fY2FydFNlcnZpY2UuZ2V0Q2FydFRva2VuKCkgKyAnL211bHRpcGxlLWVzdGltYXRlZC1zaGlwcGluZy1jb3N0JztcblxuXG4gICAgY29uc3RydWN0b3IoKSB7IH1cblxuICAgIHNldE1ldGhvZChtZXRob2Q6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIC8vIERlc2hhYmlsaXRhciB0b2RvcyBsb3MgYm90b25lc1xuICAgICAgICAvL3RoaXMuYnV0dG9uc0Rpc2FibGVkID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLl9jb3N0c1N1YmplY3QubmV4dChbXSk7XG4gICAgICAgIHRoaXMuX3N0YXRlU3ViamVjdC5uZXh0KHsgZG9pbmc6IHRydWUsIG9rOiBmYWxzZSwgZGF0YTogeyBtZXRob2QgfSB9KTtcblxuICAgICAgICByZXR1cm4gdGhpcy5wdXRTaGlwbWVudCgpLnRoZW4oXG4gICAgICAgICAgICAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jaGVja291dFNlcnZpY2UudXBkYXRlQXNvY2lhdGVkRGF0YShyZXMpO1xuICAgICAgICAgICAgICAgIHRoaXMub3JkZXIgPSByZXM7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2FsY3VsYXRlZENvc3RzKClcbiAgICAgICAgICAgIH0pLnRoZW4oXG4gICAgICAgICAgICAgICAgKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW9kaWZ5Q29zdHNSZXNwb25zZShyZXMsIHRoaXMuZ2V0VXNlckRhdGEoKS5zaGlwcGluZ0FkZHJlc3MucG9zdGNvZGUsIG1ldGhvZClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgc3VjY2VzczogdHJ1ZSwgb3JkZXI6IHRoaXMub3JkZXIgfTtcbiAgICAgICAgICAgICAgICB9KS50aGVuKFxuICAgICAgICAgICAgICAgICAgICAocmVzOmFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29zdHNEYXRhID0gdGhpcy5fY29zdHNTdWJqZWN0LmdldFZhbHVlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEV4dHJhZXIgZWwgcHJpbWVyIGNvbnRyYXRvIGRlbCBwcmltZXIgbcOpdG9kb1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvc3RzRGF0YSAmJiBjb3N0c0RhdGEubGVuZ3RoID4gMCAmJiBjb3N0c0RhdGFbMF0uY29udHJhY3RzICYmIGNvc3RzRGF0YVswXS5jb250cmFjdHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpcnN0TWV0aG9kID0gY29zdHNEYXRhWzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpcnN0Q29udHJhY3QgPSBmaXJzdE1ldGhvZC5jb250cmFjdHNbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29uc3RydWlyIGVsIG9iamV0byBjb250cmFjdF9kYXRhIGNvbiBsYSBlc3RydWN0dXJhIGNvcnJlY3RhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udHJhY3REYXRhID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5maXJzdENvbnRyYWN0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cmFjdDogZmlyc3RNZXRob2QubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogZmlyc3RDb250cmFjdC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRDb250cmFjdChjb250cmFjdERhdGEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBzdWNjZXNzOiB0cnVlLCBvcmRlcjogdGhpcy5vcmRlciB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogZXJyb3IgfTtcbiAgICAgICAgICAgICAgICB9KVxuICAgIH1cblxuICAgIHByaXZhdGUgcHV0U2hpcG1lbnQoKSB7XG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLl9jb25uZWN0aW9uLnB1dCh0aGlzLnB1dFNoaXBtZW50QXBpKCksIHsgbWV0aG9kOiB0aGlzLl9zdGF0ZVN1YmplY3QuZ2V0VmFsdWUoKS5kYXRhLm1ldGhvZCB9KSk7XG4gICAgfVxuXG4gICAgZ2V0Q2FsY3VsYXRlZENvc3RzKCkgeyByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5fY29ubmVjdGlvbi5nZXQodGhpcy5jYWxjdWxhdGVkQ29zdHNBcGkoKSkpIH07XG5cbiAgICBnZXRTaGlwbWVudE1ldGhvZHMgPSAoKSA9PiB7XG4gICAgICAgIGZpcnN0VmFsdWVGcm9tKHRoaXMuX2Nvbm5lY3Rpb24uZ2V0RXJyb3JOb3RIYW5kbGVyKHRoaXMuc2hpcG1lbnRNZXRob2RzQXBpKCkpKS50aGVuKFxuICAgICAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9tZXRob2RzU3ViamVjdC5uZXh0KHRoaXMucmVzcG9uc2VUb0xpc3QocmVzKSlcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX21ldGhvZHNTdWJqZWN0Lm5leHQoW10pXG4gICAgICAgICAgICB9XG4gICAgICAgICkuY2F0Y2goZXJyID0+IHtcbiAgICAgICAgICAgIHRoaXMuX21ldGhvZHNTdWJqZWN0Lm5leHQoW10pXG4gICAgICAgIH0pXG4gICAgfVxuICAgIHJlc3BvbnNlVG9MaXN0KHJlc3BvbnNlOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIChyZXNwb25zZS5zaGlwbWVudHMgJiYgcmVzcG9uc2Uuc2hpcG1lbnRzLmxlbmd0aCA+IDApICYmIE9iamVjdC5rZXlzKHJlc3BvbnNlLnNoaXBtZW50c1swXS5tZXRob2RzKS5tYXAoa2V5ID0+IHJlc3BvbnNlLnNoaXBtZW50c1swXS5tZXRob2RzW2tleV0pO1xuICAgIH1cblxuICAgIHJlc3RhcnRTdGVwKCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gICAgfVxuICAgIC8qKlxuICAgICogT2J0ZW5lciBpbmZvcm1hY2nDs24gb2J0ZW5pZGEgZW4gZWwgcGFzbyBkZSBkYXRvcyBhc29jaWFkb3MgYWwgdXN1YXJpbyB5IGEgbGEgZmFjdHVyYWNpw7NuXG4gICAgKi9cbiAgICBnZXRVc2VyRGF0YSA9ICgpID0+IHRoaXMuX2NoZWNrb3V0U2VydmljZS5nZXRTdGVwRGF0YSgnYWRkcmVzcycpO1xuICAgIC8vIFVUSUxTXG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gcmVzcG9uc2UgRGUgYXBpIGRlIHNvbGljaXR1ZCBkZSBjb3N0b3MgcG9yIG1ldG9kbyBkZSBlbnbDrW8gc2VsZWNjaW9uYWRvXG4gICAgICogQHBhcmFtIHBvc3RfY29kZSBJbmRpY2FkbyBlbiBlbCBwYXNvIGRlIEFkZHJlc3NpbmcgKGRhdG9zIHBlcnNvbmFsZXMgeSBkZSBmYWN0dXJhY2nDs24pXG4gICAgICogQHBhcmFtIG1ldGhvZCBNZXRvZG8gZGUgZW52w61vIHNlbGVjY2lvbmFkb1xuICAgICAqL1xuICAgIG1vZGlmeUNvc3RzUmVzcG9uc2UocmVzcG9uc2U6IGFueSwgcG9zdF9jb2RlOiBhbnksIG1ldGhvZDogYW55KSB7XG4gICAgICAgIHJlc3BvbnNlID0gcmVzcG9uc2UubXVsdGlwbGVQcmljZXM7XG4gICAgICAgIGxldCBicmFuY2hfZGVsaXZlcnkgPSByZXNwb25zZS5maW5kSW5kZXgoKHN1Ym1ldGhvZDogYW55KSA9PiBzdWJtZXRob2QubmFtZSA9PSAnYnJhbmNoX2RlbGl2ZXJ5Jyk7XG4gICAgICAgIGlmIChicmFuY2hfZGVsaXZlcnkgIT0gLTEpIHtcbiAgICAgICAgICAgIHJlc3BvbnNlW2JyYW5jaF9kZWxpdmVyeV0uY29udHJhY3RzID0gcmVzcG9uc2VbYnJhbmNoX2RlbGl2ZXJ5XS5jb250cmFjdHMubWFwKFxuICAgICAgICAgICAgICAgIChjb250cmFjdDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBicmFuY2hfcHJvcGVydHkgPSBjb250cmFjdC5icmFuY2hfcHJvcGVydHkgfHwge307XG4gICAgICAgICAgICAgICAgICAgIGxldCBhZGRyZXNzX2RhdGEgPSBicmFuY2hfcHJvcGVydHkuYWRkcmVzcyB8fCB7fTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyYWN0OiAnYnJhbmNoX2RlbGl2ZXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGNvbnRyYWN0Lm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBwcmljZTogY29udHJhY3QucHJpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5hZGRyZXNzX2RhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5icmFuY2hfcHJvcGVydHksXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wdXRlZDogKGFkZHJlc3NfZGF0YS5zdHJlZXQgfHwgJycpICsgJyBOwrAgJyArIChhZGRyZXNzX2RhdGEubnVtYmVyIHx8ICcnKVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5fY29zdHNTdWJqZWN0Lm5leHQocmVzcG9uc2UpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtZXRob2QuaW5jbHVkZXMoJ3BpY2t1cF9zdG9yZScpKSB7XG4gICAgICAgICAgICBsZXQgZmluYWxfbWV0aG9kX2RhdGEgPSByZXNwb25zZTtcbiAgICAgICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbiA9IHRoaXMuX3N0b3Jlc1NlcnZpY2Uuc3RvcmVzLnN1YnNjcmliZSgoc3RvcmVzOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoc3RvcmVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBmaW5hbF9tZXRob2RfZGF0YS5mb3JFYWNoKChwaWNrdXBfc3RvcmU6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGlja3VwX3N0b3JlLmNvbnRyYWN0cy5mb3JFYWNoKChjb250cmFjdDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY3VycmVudF9zdG9yZSA9IHN0b3Jlcy5maW5kKChzdG9yZTogYW55KSA9PiBzdG9yZS5jb2RlID09IGNvbnRyYWN0Lm5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY3VycmVudF9zdG9yZSkgY29udHJhY3QuZGV0YWlsID0gJ1NpbiBpbmZvcm1hY2nDs24nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgY29udHJhY3QuZGV0YWlsID0gY3VycmVudF9zdG9yZS5uYW1lICsgJyAtICcgKyBjdXJyZW50X3N0b3JlLmFkZHJlc3M7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRyYWN0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29zdHNTdWJqZWN0Lm5leHQoZmluYWxfbWV0aG9kX2RhdGEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9jb3N0c1N1YmplY3QubmV4dChyZXNwb25zZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uICYmIHRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHNldENvbnRyYWN0KGNvbnRyYWN0OiBhbnkpe1xuICAgICAgICBjb25zdCBkYXRhID0geyAuLi5jb250cmFjdCwgLi4udGhpcy5hZGRpdGlvbmFsUGFyYW1zRm9yQ29udHJhY3QoY29udHJhY3QpIH07XG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLl9jb25uZWN0aW9uLnB1dCh0aGlzLnB1dENvbnRyYWN0QXBpKCksIGRhdGEpKS50aGVuKFxuICAgICAgICAgICAgb3JkZXIgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2FuYWx5dGljc1NlcnZpY2UuY2FsbEV2ZW50KCdzaGlwcGluZ19pbmZvJywgb3JkZXIpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2NoZWNrb3V0U2VydmljZS51cGRhdGVBc29jaWF0ZWREYXRhKG9yZGVyKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gIHRoaXMuX2NoZWNrb3V0U2VydmljZS5zZXRTdGVwRGF0YSgnc2hpcG1lbnQnLG9yZGVyKTt9LFxuICAgICAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gcmVqZWN0KG5ldyBFcnJvcihlcnIuZXJyb3IpKSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgKS5jYXRjaChlcnIgPT4gY29uc29sZS5lcnJvcihlcnIpKVxuICAgIH1cbiAgICBhZGRpdGlvbmFsUGFyYW1zRm9yQ29udHJhY3QoY29udHJhY3Q6YW55KXtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNoaXBwaW5nX21ldGhvZF9jb250cmFjdDpcbiAgICAgICAgICAgICAgICBjb250cmFjdC5zaGlwcGluZ19tZXRob2RfY29udHJhY3RcbiAgICAgICAgICAgICAgICAgICAgPyBjb250cmFjdC5zaGlwcGluZ19tZXRob2RfY29udHJhY3RcbiAgICAgICAgICAgICAgICAgICAgOiBjb250cmFjdC5jb250cmFjdCArICdfJyArIGNvbnRyYWN0Lm5hbWUsXG4gICAgICAgICAgICBzaGlwcGluZ19tZXRob2RfYnJhbmNoX2NvZGU6XG4gICAgICAgICAgICAgICAgY29udHJhY3Quc2hpcHBpbmdfbWV0aG9kX2JyYW5jaF9jb2RlXG4gICAgICAgICAgICAgICAgICAgID8gY29udHJhY3Quc2hpcHBpbmdfbWV0aG9kX2JyYW5jaF9jb2RlXG4gICAgICAgICAgICAgICAgICAgIDogKGNvbnRyYWN0LmNvbnRyYWN0ICYmIGNvbnRyYWN0LmNvbnRyYWN0ID09IFwiYnJhbmNoX2RlbGl2ZXJ5XCIpID8gY29udHJhY3QubnVtYmVyIDogY29udHJhY3QubmFtZVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -24,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
24
24
|
providedIn: 'root'
|
|
25
25
|
}]
|
|
26
26
|
}], ctorParameters: () => [] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtc2VydmljZXMvc3RvcmVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7QUFNM0MsTUFBTSxPQUFPLGFBQWE7SUFDakIsVUFBVSxHQUF3QixNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM5RCxXQUFXLEdBQXNCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRTNELGNBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBaUIsRUFBRSxDQUFDLENBQUM7SUFDMUQsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFbkQsZUFBZSxHQUFHLEdBQUcsRUFBRSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7SUFFMUU7UUFDQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ2hFLEdBQUcsQ0FBQyxFQUFFO1lBQ0wsR0FBRyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1QyxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUNELENBQUE7SUFDRixDQUFDO3dHQWhCVyxhQUFhOzRHQUFiLGFBQWEsY0FGYixNQUFNOzs0RkFFTixhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXBpQ29uc3RhbnRzU2VydmljZSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2FwaSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvc3RvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG5cdHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTdG9yZXNTZXJ2aWNlIHtcblx0cHJpdmF0ZSBfYXBpQ29uc3RzOiBBcGlDb25zdGFudHNTZXJ2aWNlID0gaW5qZWN0KEFwaUNvbnN0YW50c1NlcnZpY2UpO1xuXHRwcml2YXRlIF9jb25uZWN0aW9uOiBDb25uZWN0aW9uU2VydmljZSA9IGluamVjdChDb25uZWN0aW9uU2VydmljZSk7XG5cblx0cHJpdmF0ZSBfc3RvcmVzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3RvcmVbXSB8IG51bGw+KFtdKTtcblx0cHVibGljIHN0b3JlcyA9IHRoaXMuX3N0b3Jlc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cblx0Z2V0QWxsU3RvcmVzQXBpID0gKCkgPT4gJ3Nob3AtYXBpLycgKyB0aGlzLl9hcGlDb25zdHMuQ0hBTk5FTCArICcvc3RvcmVzJztcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRmaXJzdFZhbHVlRnJvbSh0aGlzLl9jb25uZWN0aW9uLmdldCh0aGlzLmdldEFsbFN0b3Jlc0FwaSgpKSkudGhlbihcblx0XHRcdHJlcyA9PiB7XG5cdFx0XHRcdHJlcy5sZW5ndGggJiYgdGhpcy5fc3RvcmVzU3ViamVjdC5uZXh0KHJlcyk7XG5cdFx0XHRcdCFyZXMubGVuZ3RoICYmIHRoaXMuX3N0b3Jlc1N1YmplY3QubmV4dChudWxsKTtcblx0XHRcdH1cblx0XHQpXG5cdH1cbn1cbiJdfQ==
|
|
@@ -13,4 +13,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
13
13
|
providedIn: 'root'
|
|
14
14
|
}]
|
|
15
15
|
}], ctorParameters: () => [] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL3Rlc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sV0FBVztJQUV0QjtRQUNFLHVCQUF1QjtJQUN4QixDQUFDO3dHQUpTLFdBQVc7NEdBQVgsV0FBVyxjQUZWLE1BQU07OzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUZXN0U2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gY29uc29sZS5sb2coJ2hvbGEnKTtcbiAgIH1cbn1cbiJdfQ==
|
|
@@ -78,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
78
78
|
providedIn: 'root'
|
|
79
79
|
}]
|
|
80
80
|
}], ctorParameters: () => [] });
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1zZXJ2aWNlcy90b2FzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBb0IsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBQzVCOztHQUVHO0FBSUgsTUFBTSxPQUFPLFlBQVk7SUFDeEI7O09BRUc7SUFDSyxhQUFhLEdBQWlCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM1RDs7T0FFRztJQUNLLGtCQUFrQixHQUFvQixNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN2RTs7T0FFRztJQUNLLFdBQVcsR0FBNkIsRUFBRSxDQUFDO0lBRW5ELGdCQUFnQixDQUFDO0lBRWI7OztPQUdHO0lBQ1AsY0FBYyxDQUFDLElBQVc7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRztZQUNsQixPQUFPLEVBQUUsSUFBSTtTQUNiLENBQUE7SUFDRixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsY0FBYyxDQUFDLFdBQXFDO1FBQ25ELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFBO0lBQy9CLENBQUM7SUFDRDs7Ozs7OztPQU9HO0lBQ0gsSUFBSSxDQUFDLE9BQWMsRUFBRSxvQkFBd0IsRUFBRSxFQUFFLEtBQUssR0FBQyxFQUFFLEVBQUUsY0FBc0MsSUFBSSxDQUFDLFdBQVc7UUFDaEgsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUM3RSxDQUFDLFFBQVksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUM5RixDQUFBO0lBQ0YsQ0FBQztJQUNEOzs7Ozs7O09BT0c7SUFDSCxLQUFLLENBQUMsT0FBYyxFQUFFLG9CQUF3QixFQUFFLEVBQUUsS0FBSyxHQUFDLEVBQUUsRUFBRSxjQUFzQyxJQUFJLENBQUMsV0FBVztRQUNqSCxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBQyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQzdFLENBQUMsUUFBWSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQy9GLENBQUE7SUFDRixDQUFDO0lBQ0Q7Ozs7Ozs7T0FPRztJQUNILE9BQU8sQ0FBQyxPQUFjLEVBQUUsb0JBQXdCLEVBQUUsRUFBRSxLQUFLLEdBQUMsRUFBRSxFQUFFLGNBQXNDLElBQUksQ0FBQyxXQUFXO1FBQ25ILElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDN0UsQ0FBQyxRQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FDakcsQ0FBQTtJQUNGLENBQUM7d0dBdkVXLFlBQVk7NEdBQVosWUFBWSxjQUZaLE1BQU07OzRGQUVOLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbmRpdmlkdWFsQ29uZmlnLCBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcyc7XG4vKipcbiAqIFNlcnZpY2lvIHF1ZSBzZSBlbmNhcmdhIGRlIG1hbmVqYXIgbWVuc2FqZXMgZW4gZm9ybWF0byBkZSB0b2FzdC5cbiAqL1xuQEluamVjdGFibGUoe1xuXHRwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVG9hc3RTZXJ2aWNlIHtcblx0LyoqXG5cdCAqIFNlcnZpY2lvIHBhcmEgbGFuemFyIGxvcyB0b2FzdC5cblx0ICovXG5cdHByaXZhdGUgdG9hc3RyU2VydmljZTpUb2FzdHJTZXJ2aWNlID0gaW5qZWN0KFRvYXN0clNlcnZpY2UpO1xuXHQvKipcblx0ICogU2VyaXZpY2lvIGRlIFRyYWR1Y2Npb25lcy5cblx0ICovXG5cdHByaXZhdGUgdHJhc25sYXRpb25TZXJ2aWNlOlRyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG5cdC8qKlxuXHQgKiBDb25maWd1cmFjaW9uZXMgcGFyYSBlbCBUb2FzdFxuXHQgKi9cblx0cHJpdmF0ZSBjb25maWdUb2FzdDpQYXJ0aWFsPEluZGl2aWR1YWxDb25maWc+ID0ge307XG5cblx0Y29uc3RydWN0b3IoKSB7IH1cblxuICAgICAvKipcbiAgICAgICogQ2FtYmlhIGVsIHRpZW1wbyBxdWUgc2UgbXVlc3RyYSBlbCBtZW5zYWplLlxuICAgICAgKiBAcGFyYW0gdGltZSBcbiAgICAgICovXG5cdHNldFRpbWVNZXNzYWdlKHRpbWU6bnVtYmVyKXtcblx0XHR0aGlzLmNvbmZpZ1RvYXN0ID0ge1xuXHRcdFx0dGltZU91dDogdGltZSxcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQ2FtYmlhIGxhcyBjb25maWd1cmFjaW9uZXMgZGVsIHRvYXN0XG5cdCAqIEBwYXJhbSBjb25maWdUb2FzdFxuXHQgKi9cblx0c2V0Q29uZmlnVG9hc3QoY29uZmlnVG9hc3Q6UGFydGlhbDxJbmRpdmlkdWFsQ29uZmlnPil7XG5cdFx0dGhpcy5jb25maWdUb2FzdCA9IGNvbmZpZ1RvYXN0XG5cdH1cblx0LyoqXG5cdCAqIE11ZXN0cmEgZWwgbWVuc2FqZSBlbiBlbCB0b2FzdC4gVXRpbGl6YSBlbCBzZXJ2aWNpbyBkZSB0cmFuc2xhdGUgcGFyYSB0cmFkdWNpciBhcXVlbGxvcyBtZW5zYWplc1xuXHQgKiBxdWUgZW50cmFuIGNvbW8gY2xhdmUgeSBlc3RhcyBlc3RhbiBlbiB1biBhcmNoaXZvIC5qc29uIGNvbiBsYXMgdHJhZHVjY2lvbmVzIGNvcnJlc3BvbmRpZW50ZXMgYXNvY2lhZGFzLlxuXHQgKiBAcGFyYW0gbWVzc2FnZSBUZXh0byBhIG1vc3RyYXIgbyBwdWVkZSBzZXIgdW5hIGNsYXZlIGRlbCBhcmNoaXZvIC5qc29uIGRlIHRyYWR1Y2Npb25lcy5cblx0ICogQHBhcmFtIGludGVycG9sYXRlUGFyYW1zIFxuXHQgKiBAcGFyYW0gdGl0bGUgVGl0dWxvIHBhcmEgZWwgVG9hc3Rcblx0ICogQHBhcmFtIGNvbmZpZ1RvYXN0IENvbmZpZ3VyYWNpb25lcyBkZWwgdG9hc3QuXG5cdCAqL1xuXHRzaG93KG1lc3NhZ2U6c3RyaW5nLCBpbnRlcnBvbGF0ZVBhcmFtczphbnkgPSB7fSwgdGl0bGU9JycsIGNvbmZpZ1RvYXN0OlBhcnRpYWw8SW5kaXZpZHVhbENvbmZpZz49dGhpcy5jb25maWdUb2FzdCl7XG5cdFx0dGhpcy50cmFzbmxhdGlvblNlcnZpY2UuZ2V0KG1lc3NhZ2UsaW50ZXJwb2xhdGVQYXJhbXMpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKFxuXHRcdFx0KHJlc3BvbnNlOmFueSkgPT4gdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coKHJlc3BvbnNlID8gcmVzcG9uc2UgOiBtZXNzYWdlKSwgdGl0bGUsIGNvbmZpZ1RvYXN0KVxuXHRcdClcblx0fVxuXHQvKipcblx0ICogTXVlc3RyYSB1biBtZW5zYWplIGRlICoqRVJST1IqKiBlbiBlbCB0b2FzdC4gVXRpbGl6YSBlbCBzZXJ2aWNpbyBkZSB0cmFuc2xhdGUgcGFyYSB0cmFkdWNpciBhcXVlbGxvcyBtZW5zYWplc1xuXHQgKiBxdWUgZW50cmFuIGNvbW8gY2xhdmUgeSBlc3RhcyBlc3RhbiBlbiB1biBhcmNoaXZvIC5qc29uIGNvbiBsYXMgdHJhZHVjY2lvbmVzIGNvcnJlc3BvbmRpZW50ZXMgYXNvY2lhZGFzLlxuXHQgKiBAcGFyYW0gbWVzc2FnZSBUZXh0byBhIG1vc3RyYXIgbyBwdWVkZSBzZXIgdW5hIGNsYXZlIGRlbCBhcmNoaXZvIC5qc29uIGRlIHRyYWR1Y2Npb25lcy5cblx0ICogQHBhcmFtIGludGVycG9sYXRlUGFyYW1zIFxuXHQgKiBAcGFyYW0gdGl0bGUgVGl0dWxvIHBhcmEgZWwgVG9hc3Rcblx0ICogQHBhcmFtIGNvbmZpZ1RvYXN0IENvbmZpZ3VyYWNpb25lcyBkZWwgdG9hc3QuXG5cdCAqL1xuXHRlcnJvcihtZXNzYWdlOnN0cmluZywgaW50ZXJwb2xhdGVQYXJhbXM6YW55ID0ge30sIHRpdGxlPScnLCBjb25maWdUb2FzdDpQYXJ0aWFsPEluZGl2aWR1YWxDb25maWc+PXRoaXMuY29uZmlnVG9hc3Qpe1xuXHRcdHRoaXMudHJhc25sYXRpb25TZXJ2aWNlLmdldChtZXNzYWdlLGludGVycG9sYXRlUGFyYW1zKS5waXBlKHRha2UoMSkpLnN1YnNjcmliZShcblx0XHRcdChyZXNwb25zZTphbnkpID0+IHRoaXMudG9hc3RyU2VydmljZS5lcnJvcigocmVzcG9uc2UgPyByZXNwb25zZSA6IG1lc3NhZ2UpLCB0aXRsZSwgY29uZmlnVG9hc3QpXG5cdFx0KVxuXHR9XG5cdC8qKlxuXHQgKiBNdWVzdHJhIHVuIG1lbnNhamUgZGUgKipFWElUTyoqIGVuIGVsIHRvYXN0LiBVdGlsaXphIGVsIHNlcnZpY2lvIGRlIHRyYW5zbGF0ZSBwYXJhIHRyYWR1Y2lyIGFxdWVsbG9zIG1lbnNhamVzXG5cdCAqIHF1ZSBlbnRyYW4gY29tbyBjbGF2ZSB5IGVzdGFzIGVzdGFuIGVuIHVuIGFyY2hpdm8gLmpzb24gY29uIGxhcyB0cmFkdWNjaW9uZXMgY29ycmVzcG9uZGllbnRlcyBhc29jaWFkYXMuXG5cdCAqIEBwYXJhbSBtZXNzYWdlIFRleHRvIGEgbW9zdHJhciBvIHB1ZWRlIHNlciB1bmEgY2xhdmUgZGVsIGFyY2hpdm8gLmpzb24gZGUgdHJhZHVjY2lvbmVzLlxuXHQgKiBAcGFyYW0gaW50ZXJwb2xhdGVQYXJhbXMgXG5cdCAqIEBwYXJhbSB0aXRsZSBUaXR1bG8gcGFyYSBlbCBUb2FzdFxuXHQgKiBAcGFyYW0gY29uZmlnVG9hc3QgQ29uZmlndXJhY2lvbmVzIGRlbCB0b2FzdC5cblx0ICovXG5cdHN1Y2Nlc3MobWVzc2FnZTpzdHJpbmcsIGludGVycG9sYXRlUGFyYW1zOmFueSA9IHt9LCB0aXRsZT0nJywgY29uZmlnVG9hc3Q6UGFydGlhbDxJbmRpdmlkdWFsQ29uZmlnPj10aGlzLmNvbmZpZ1RvYXN0KXtcblx0XHR0aGlzLnRyYXNubGF0aW9uU2VydmljZS5nZXQobWVzc2FnZSxpbnRlcnBvbGF0ZVBhcmFtcykucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoXG5cdFx0XHQocmVzcG9uc2U6YW55KSA9PiB0aGlzLnRvYXN0clNlcnZpY2Uuc3VjY2VzcygocmVzcG9uc2UgPyByZXNwb25zZSA6IG1lc3NhZ2UpLCB0aXRsZSwgY29uZmlnVG9hc3QpXG5cdFx0KVxuXHR9XG5cbn1cbiJdfQ==
|