ng-easycommerce-v18 0.3.23-beta.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +119 -111
- package/assets/decidirFormEc.html +514 -514
- package/assets/ec-i18n/ct.json +282 -282
- package/assets/ec-i18n/en.json +0 -0
- package/assets/ec-i18n/es.json +434 -434
- package/assets/ec-i18n/fr.json +0 -0
- package/assets/ec-i18n/gl.json +282 -282
- package/assets/ec-i18n/pr.json +282 -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 +1 -1
- 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 +19 -15
- package/esm2022/lib/constants/core.constants.service.mjs +9 -3
- 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 +17 -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 +3 -3
- package/esm2022/lib/ec-components/account-ec/orders-list-ec/orders-list-ec.component.mjs +3 -3
- 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 +28 -18
- package/esm2022/lib/ec-components/auth-ec/password-reset-ec/password-reset-ec.component.mjs +27 -23
- 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 -3
- package/esm2022/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.mjs +7 -4
- 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 +3 -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 +3 -3
- package/esm2022/lib/ec-components/checkout-ec/dataform-ec/dataform-ec.component.mjs +4 -11
- 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 +3 -3
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.mjs +8 -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 +55 -46
- 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 +3 -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/faqs-ec/faqs-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/filters-ec/filters-ec.component.mjs +30 -7
- 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 +13 -7
- package/esm2022/lib/ec-components/home-ec/home-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/index.mjs +1 -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 +12 -7
- 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 +3 -3
- package/esm2022/lib/ec-components/stores-ec/stores-ec.component.mjs +20 -11
- 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 +14 -8
- 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 +9 -9
- package/esm2022/lib/ec-components/widgets-ec/price-ec/price-ec.component.mjs +3 -3
- 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 +19 -9
- 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 +4 -4
- package/esm2022/lib/ec-services/analytics/gtm.service.mjs +3 -2
- 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 +148 -0
- 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 +1 -1
- package/esm2022/lib/ec-services/channel.service.mjs +1 -1
- package/esm2022/lib/ec-services/checkout.service.mjs +4 -2
- 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 +3 -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/product-detail.service.mjs +1 -1
- 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 +219 -0
- 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 +2 -1
- package/esm2022/lib/interceptors/runtime-config.interceptor.mjs +41 -0
- 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 +2 -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 +2 -0
- 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 +2 -1
- package/esm2022/lib/providers/provideEnvironment.mjs +1 -1
- package/esm2022/lib/providers/provideRuntimeConfig.mjs +36 -0
- package/esm2022/lib/stores/currency.store.mjs +1 -1
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/ng-easycommerce-v18.mjs +851 -314
- package/fesm2022/ng-easycommerce-v18.mjs.map +1 -1
- package/lib/constants/api.constants.service.d.ts +1 -0
- package/lib/constants/core.constants.service.d.ts +5 -1
- package/lib/ec-components/abstractions-components/menu-ec.component.d.ts +12 -0
- package/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.d.ts +2 -0
- package/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.d.ts +1 -1
- package/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.d.ts +1 -0
- package/lib/ec-components/filters-ec/filters-ec.component.d.ts +12 -4
- package/lib/ec-services/base-api.service.d.ts +64 -0
- package/lib/ec-services/index.d.ts +2 -0
- package/lib/ec-services/runtime-config.service.d.ts +69 -0
- package/lib/interceptors/index.d.ts +1 -0
- package/lib/interceptors/runtime-config.interceptor.d.ts +7 -0
- package/lib/interfaces/environment.d.ts +1 -0
- package/lib/interfaces/filter.d.ts +1 -0
- package/lib/interfaces/index.d.ts +1 -0
- package/lib/interfaces/options.d.ts +2 -0
- package/lib/interfaces/runtime-config.d.ts +22 -0
- package/lib/providers/index.d.ts +1 -0
- package/lib/providers/provideRuntimeConfig.d.ts +13 -0
- package/package.json +1 -1
|
@@ -274,4 +274,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
274
274
|
providedIn: 'root'
|
|
275
275
|
}]
|
|
276
276
|
}], ctorParameters: () => [] });
|
|
277
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL2ZpbHRlcnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBVSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOztBQU16RSxNQUFNLE9BQU8sY0FBYztJQUNmLFVBQVUsR0FBd0IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDOUQsT0FBTyxHQUF5QixNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUM3RCxlQUFlLEdBQThCLElBQUksZUFBZSxDQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2hGLFFBQVEsR0FBeUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVwRSxjQUFjLEdBQTRCLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzNFLE9BQU8sR0FBdUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVoRSxhQUFhLEdBQTZCLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQy9FLE1BQU0sR0FBd0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUUvRCxtQkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtJQUVqRCxlQUFlLEdBQTJC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LElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDO2dCQUMzRSxNQUFNLEdBQUcsR0FBRyxVQUFVLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7Z0JBRTNFLGdEQUFnRDtnQkFDaEQsV0FBVyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDdEMsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLDBDQUEwQztnQkFDMUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3hCLENBQUM7UUFDTCxDQUFDO1FBRUQsb0ZBQW9GO1FBQ3BGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXpDLG1GQUFtRjtRQUNuRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO3dHQWxUUSxjQUFjOzRHQUFkLGNBQWMsY0FGWCxNQUFNOzs0RkFFVCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50SW5qZWN0b3IsIGluamVjdCwgSW5qZWN0YWJsZSwgcnVuSW5JbmplY3Rpb25Db250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBGaWx0ZXIsIEZpbHRlckZhY3RvcnkgfSBmcm9tICcuLi9jbGFzc2VzJztcclxuaW1wb3J0IHsgRGVmYXVsdEZpbHRlciwgRmlsdGVyRWxlbWVudCwgUGFnaW5hdGlvblNldHRpbmdzLCBGaWx0ZXJUeXBlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEFwaUNvbnN0YW50c1NlcnZpY2UsIENvcmVDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgUHJpY2VSYW5nZUZpbHRlciB9IGZyb20gJy4uL2NsYXNzZXMvZmlsdGVycy9wcmljZV9yYW5nZS1maWx0ZXInO1xyXG5pbXBvcnQgeyBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWx0ZXJzU2VydmljZSB7XHJcbiAgICBwcml2YXRlIF9hcGlDb25zdHM6IEFwaUNvbnN0YW50c1NlcnZpY2UgPSBpbmplY3QoQXBpQ29uc3RhbnRzU2VydmljZSk7XHJcbiAgICBwcml2YXRlIF9jb25zdHM6IENvcmVDb25zdGFudHNTZXJ2aWNlID0gaW5qZWN0KENvcmVDb25zdGFudHNTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgX2ZpbHRlcnNTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8RmlsdGVyW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGaWx0ZXJbXT4oW10pO1xyXG4gICAgcHVibGljIGZpbHRlcnMkOiBPYnNlcnZhYmxlPEZpbHRlcltdPiA9IHRoaXMuX2ZpbHRlcnNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIHByaXZhdGUgX2FwaVVybFN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcclxuICAgIHB1YmxpYyBhcGlVcmwkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLl9hcGlVcmxTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIHByaXZhdGUgX3JlYWR5U3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgICBwdWJsaWMgcmVhZHkkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5fcmVhZHlTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIHByaXZhdGUgZW52aXJvbm1lbnRJbmplY3RvciA9IGluamVjdChFbnZpcm9ubWVudEluamVjdG9yKVxyXG5cclxuICAgIHByaXZhdGUgX29wdGlvbnNGaWx0ZXJzOiAoRmlsdGVyVHlwZSB8ICdhbGwnKVtdID0gWydhbGwnXTtcclxuICAgIHByaXZhdGUgX2RlZmF1bHRGaWx0ZXJzOiBEZWZhdWx0RmlsdGVyW10gPSBbXTtcclxuXHJcbiAgICBwcml2YXRlIF9wYWdpbmF0aW9uU2V0dGluZ3M6IFBhZ2luYXRpb25TZXR0aW5ncyA9IHtcclxuICAgICAgICB2YWx1ZTogJycsXHJcbiAgICAgICAgdHlwZTogJycsXHJcbiAgICAgICAgbGltaXQ6IDBcclxuICAgIH07XHJcblxyXG4gICAgcHJpdmF0ZSBfZmlsdGVyc0luaXRpYWxpemVkID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIF9sYXN0Um91dGVRdWVyeTogUGFyYW1zIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgLy90aGlzLl9kZWZhdWx0RmlsdGVycyA9IHRoaXMuX2NvbnN0cy5nZXREZWZhdWx0RmlsdGVycygpXHJcbiAgICB9XHJcblxyXG4gICAgLy9BUEkgVVJMXHJcbiAgICAvKipcclxuICAgICAqIFJldG9ybmEgbGEgdXJsIHBhcmEgZWwgZmlsdHJhZG9cclxuICAgICAqIEBwYXJhbSBmaWx0ZXJzIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHByb2R1Y3RzRmlsdGVyQXBpKGZpbHRlcnMgPSAnJykgeyByZXR1cm4gJ3Nob3AtYXBpLycgKyB0aGlzLl9hcGlDb25zdHMuQ0hBTk5FTCArICcvcHJvZHVjdC1zZWFyY2gvJyArICc/bG9jYWxlPScgKyB0aGlzLl9hcGlDb25zdHMuTE9DQUxFICsgZmlsdGVycyB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBBcm1hIGxvcyBmaWx0cm9zIHkgcmV0b3JuYSBsYSB1cmwgY29tcGxldGEgY29uIGxvcyBmaWx0cm9zIGFwbGljYWRvcy5cclxuICAgICAqIEBwYXJhbSBzZWFyY2hfdmFsdWUgdmFsb3IgYSBidXNjYXJcclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBnZW5lcmF0ZUZpbmFsQXBpKHNlYXJjaF92YWx1ZT86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgbGV0IGV4dHJhX3BhcmFtcyA9ICcnO1xyXG5cclxuICAgICAgICB0aGlzLl9maWx0ZXJzU3ViamVjdC52YWx1ZS5mb3JFYWNoKGZpbHRlciA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGV4dHJhID0gZmlsdGVyLnRvVXJsUGFyYW1zKCk7XHJcbiAgICAgICAgICAgIGlmIChleHRyYSAmJiBleHRyYS5zcGxpdCgnPScpWzFdICE9PSAnJykge1xyXG4gICAgICAgICAgICAgICAgZXh0cmFfcGFyYW1zICs9IGV4dHJhO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vIFNpIGVuIGxhIFVSTCB5YSB2ZW7DrWEgYGF0dHJpYnV0ZUNvZGVzYCBwZXJvIGHDum4gbmluZ8O6biBmaWx0cm8gbG8gYWdyZWfDsyxcclxuICAgICAgICAvLyBsbyB2b2x2ZW1vcyBhIHN1bWFyIGEgbWFuby4gRXN0byBldml0YSBxdWUgYWwgcmVmcmVzY2FyIChTU1IpIHNlIHBpZXJkYSBlbCBmaWx0cm9cclxuICAgICAgICAvLyBhdW5xdWUgZWwgQXR0cmlidXRlc0ZpbHRlciB0b2RhdsOtYSBubyBoYXlhIHRlcm1pbmFkbyBkZSBoaWRyYXRhcnNlLlxyXG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZUNvZGVzRnJvbVJvdXRlID0gdGhpcy5fbGFzdFJvdXRlUXVlcnk/LlsnYXR0cmlidXRlQ29kZXMnXTtcclxuICAgICAgICBpZiAoYXR0cmlidXRlQ29kZXNGcm9tUm91dGUgJiYgIWV4dHJhX3BhcmFtcy5pbmNsdWRlcygnYXR0cmlidXRlQ29kZXM9JykpIHtcclxuICAgICAgICAgICAgZXh0cmFfcGFyYW1zICs9IGAmYXR0cmlidXRlQ29kZXM9JHthdHRyaWJ1dGVDb2Rlc0Zyb21Sb3V0ZX1gO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHNlYXJjaF92YWx1ZSkge1xyXG4gICAgICAgICAgICBleHRyYV9wYXJhbXMgKz0gJyZjcml0ZXJpYVtzZWFyY2hdW3R5cGVdPWNvbnRhaW5zJmNyaXRlcmlhW3NlYXJjaF1bdmFsdWVdPScgKyBzZWFyY2hfdmFsdWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5wcm9kdWN0c0ZpbHRlckFwaShleHRyYV9wYXJhbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNVcGRhdGVkKHBhZ2luYXRpb25TZXR0aW5nczogUGFnaW5hdGlvblNldHRpbmdzKSB7XHJcbiAgICAgICAgY29uc3Qga2V5czogc3RyaW5nW10gPSBPYmplY3Qua2V5cyhwYWdpbmF0aW9uU2V0dGluZ3MpO1xyXG4gICAgICAgIGxldCBjaGFuZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgICAgICBrZXlzLmZvckVhY2goKGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gKHBhZ2luYXRpb25TZXR0aW5ncyBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+KVtrZXldO1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZTIgPSAodGhpcy5fcGFnaW5hdGlvblNldHRpbmdzIGFzIFJlY29yZDxzdHJpbmcsIGFueT4pW2tleV07XHJcbiAgICAgICAgICAgIGlmICh2YWx1ZSAhPSB2YWx1ZTIpIGNoYW5nZSA9IHRydWU7XHJcbiAgICAgICAgfSlcclxuICAgICAgICBpZiAoY2hhbmdlKSB0aGlzLl9wYWdpbmF0aW9uU2V0dGluZ3MgPSBwYWdpbmF0aW9uU2V0dGluZ3M7XHJcbiAgICAgICAgcmV0dXJuIGNoYW5nZTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRGaWx0ZXJzKFxyXG4gICAgICAgIHBhZ2luYXRpb25TZXR0aW5nczogUGFnaW5hdGlvblNldHRpbmdzLFxyXG4gICAgICAgIHNlYXJjaF92YWx1ZT86IHN0cmluZyxcclxuICAgICAgICByb3V0ZVF1ZXJ5UGFyYW1zPzogYW55XHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLl9wYWdpbmF0aW9uU2V0dGluZ3MgPSBwYWdpbmF0aW9uU2V0dGluZ3M7XHJcbiAgICAgICAgbGV0IGZpbmFsX2ZpbHRlcnM6IEZpbHRlcltdID0gW107XHJcbiAgICAgICAgbGV0IGZpbHRlcnNUb1Byb2Nlc3MgPSB0aGlzLl9vcHRpb25zRmlsdGVycz8uaW5jbHVkZXMoJ2FsbCcpXHJcbiAgICAgICAgICAgID8gKFsnYXR0cmlidXRlcycsICdjYXRlZ29yaWVzJywgJ2R5bmFtaWNzJywgJ3NvcnQnLCAncHJpY2VfcmFuZ2UnXSBhcyBGaWx0ZXJUeXBlW10pXHJcbiAgICAgICAgICAgIDogdGhpcy5fb3B0aW9uc0ZpbHRlcnM7XHJcblxyXG4gICAgICAgIHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLmVudmlyb25tZW50SW5qZWN0b3IsICgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZmlsdGVyRmFjdG9yeSA9IG5ldyBGaWx0ZXJGYWN0b3J5KCk7XHJcbiAgICAgICAgICAgIGZpbHRlcnNUb1Byb2Nlc3M/LmZvckVhY2goZmlsdGVyVHlwZSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXIgPSBmaWx0ZXJGYWN0b3J5LmNyZWF0ZShmaWx0ZXJUeXBlLCBwYWdpbmF0aW9uU2V0dGluZ3MpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlcikge1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbmFsX2ZpbHRlcnMucHVzaChmaWx0ZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5fZGVmYXVsdEZpbHRlcnM/LmZvckVhY2goZmlsdGVyRGVmYXVsdCA9PiB7XHJcbiAgICAgICAgICAgIGxldCBmaWx0ZXIgPSBmaW5hbF9maWx0ZXJzLmZpbmQoZmlsdGVyID0+IGZpbHRlci50eXBlKCkgPT0gZmlsdGVyRGVmYXVsdC5maWx0ZXJfdHlwZSk7XHJcbiAgICAgICAgICAgIGZpbHRlciAmJiBmaWx0ZXJEZWZhdWx0LmNvZGVzLmZvckVhY2godmFsdWUgPT4gZmlsdGVyLnNldFNlbGVjdGVkKHZhbHVlKSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vIGhpZHJhdGFyIHByaWNlX3JhbmdlIGRlc2RlIGxhIFVSTFxyXG4gICAgICAgIGlmIChyb3V0ZVF1ZXJ5UGFyYW1zKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHByID0gZmluYWxfZmlsdGVycy5maW5kKGYgPT4gZi50eXBlKCkgPT09ICdwcmljZV9yYW5nZScpIGFzIFByaWNlUmFuZ2VGaWx0ZXIgfCB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgIGlmIChwcikge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcmF3TWluID0gcm91dGVRdWVyeVBhcmFtc1sncHJpY2VfbWluJ107XHJcbiAgICAgICAgICAgICAgICBjb25zdCByYXdNYXggPSByb3V0ZVF1ZXJ5UGFyYW1zWydwcmljZV9tYXgnXTtcclxuXHJcbiAgICAgICAgICAgICAgICBjb25zdCBtaW4gPSByYXdNaW4gIT0gbnVsbCA/IE51bWJlcihyYXdNaW4pIDogbnVsbDtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG1heCA9IHJhd01heCAhPSBudWxsID8gTnVtYmVyKHJhd01heCkgOiBudWxsO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmICgobWluICE9IG51bGwgJiYgIU51bWJlci5pc05hTihtaW4pKSB8fCAobWF4ICE9IG51bGwgJiYgIU51bWJlci5pc05hTihtYXgpKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChtaW4gIT0gbnVsbCAmJiAhTnVtYmVyLmlzTmFOKG1pbikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcHIuY3VycmVudE1pblByaWNlID0gbWluO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAobWF4ICE9IG51bGwgJiYgIU51bWJlci5pc05hTihtYXgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByLmN1cnJlbnRNYXhQcmljZSA9IG1heDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX2ZpbHRlcnNTdWJqZWN0Lm5leHQoZmluYWxfZmlsdGVycyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RmlsdGVycyhwYWdpbmF0aW9uU2V0dGluZ3M/OiBQYWdpbmF0aW9uU2V0dGluZ3MpIHtcclxuICAgICAgICBpZiAodGhpcy5fZmlsdGVyc0luaXRpYWxpemVkKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5fZmlsdGVyc0luaXRpYWxpemVkID0gdHJ1ZTtcclxuICAgICAgICBjb25zdCBzZXR0aW5ncyA9IHBhZ2luYXRpb25TZXR0aW5ncyB8fCB0aGlzLl9wYWdpbmF0aW9uU2V0dGluZ3M7XHJcbiAgICAgICAgbGV0IGZpbmFsX2ZpbHRlcnM6IEZpbHRlcltdID0gW107XHJcbiAgICAgICAgbGV0IGZpbHRlcnNUb1Byb2Nlc3MgPSB0aGlzLl9vcHRpb25zRmlsdGVycz8uaW5jbHVkZXMoJ2FsbCcpXHJcbiAgICAgICAgICAgID8gKFsnYXR0cmlidXRlcycsICdjYXRlZ29yaWVzJywgJ2R5bmFtaWNzJywgJ3NvcnQnLCAncHJpY2VfcmFuZ2UnXSBhcyBGaWx0ZXJUeXBlW10pXHJcbiAgICAgICAgICAgIDogdGhpcy5fb3B0aW9uc0ZpbHRlcnM7XHJcblxyXG4gICAgICAgIHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLmVudmlyb25tZW50SW5qZWN0b3IsICgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZmlsdGVyRmFjdG9yeSA9IG5ldyBGaWx0ZXJGYWN0b3J5KCk7XHJcbiAgICAgICAgICAgIGZpbHRlcnNUb1Byb2Nlc3M/LmZvckVhY2goZmlsdGVyVHlwZSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXIgPSBmaWx0ZXJGYWN0b3J5LmNyZWF0ZShmaWx0ZXJUeXBlLCBzZXR0aW5ncyk7XHJcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmluYWxfZmlsdGVycy5wdXNoKGZpbHRlcik7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUud2FybihgRmFpbGVkIHRvIGNyZWF0ZSBmaWx0ZXIgZm9yIHR5cGU6ICR7ZmlsdGVyVHlwZX1gKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuX2RlZmF1bHRGaWx0ZXJzPy5mb3JFYWNoKGZpbHRlckRlZmF1bHQgPT4ge1xyXG4gICAgICAgICAgICBsZXQgZmlsdGVyID0gZmluYWxfZmlsdGVycy5maW5kKGZpbHRlciA9PiBmaWx0ZXIudHlwZSgpID09IGZpbHRlckRlZmF1bHQuZmlsdGVyX3R5cGUpO1xyXG4gICAgICAgICAgICBmaWx0ZXIgJiYgZmlsdGVyRGVmYXVsdC5jb2Rlcy5mb3JFYWNoKHZhbHVlID0+IGZpbHRlci5zZXRTZWxlY3RlZCh2YWx1ZSkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX2ZpbHRlcnNTdWJqZWN0Lm5leHQoZmluYWxfZmlsdGVycyk7XHJcbiAgICAgICAgcmV0dXJuIGZpbmFsX2ZpbHRlcnM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0U3BlY2lmaWNGaWx0ZXJzKHR5cGVzOiBGaWx0ZXJUeXBlW10pOiBGaWx0ZXJbXSB7XHJcbiAgICAgICAgY29uc3QgZmlsdGVyczogRmlsdGVyW10gPSB0aGlzLl9maWx0ZXJzU3ViamVjdC52YWx1ZS5maWx0ZXIoZmlsdGVyID0+IHR5cGVzLmluY2x1ZGVzKGZpbHRlci50eXBlKCkpKVxyXG4gICAgICAgIHJldHVybiBmaWx0ZXJzO1xyXG4gICAgfVxyXG5cclxuICAgIHNldEZpbHRlclNlbGVjdGVkKGZpbHRlck9iajogRmlsdGVyLCBmaWx0ZXJFbGVtOiBGaWx0ZXJFbGVtZW50KSB7XHJcbiAgICAgICAgbGV0IGZpbmFsX2ZpbHRlcnM6IEZpbHRlcltdID0gdGhpcy5fZmlsdGVyc1N1YmplY3QudmFsdWU7XHJcbiAgICAgICAgaWYgKGZpbHRlck9iai50eXBlKCkgIT09ICdwcmljZV9yYW5nZScpIHtcclxuICAgICAgICAgICAgbGV0IGluZGV4ID0gZmluYWxfZmlsdGVycy5maW5kSW5kZXgoZmlsdGVyID0+IGZpbHRlci50eXBlKCkgPT0gZmlsdGVyT2JqLnR5cGUoKSk7XHJcbiAgICAgICAgICAgIGZpbmFsX2ZpbHRlcnNbaW5kZXhdLnNldFNlbGVjdGVkKGZpbHRlckVsZW0sIGZpbHRlckVsZW0udmFsdWUgfHwgZmlsdGVyRWxlbS5jb2RlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fZmlsdGVyc1N1YmplY3QubmV4dChmaW5hbF9maWx0ZXJzKTtcclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlRmlsdGVycyhwYWdpbmF0aW9uRmlsdGVyczogYW55KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgY2xhdmVzID0gT2JqZWN0LmtleXMocGFnaW5hdGlvbkZpbHRlcnMpXHJcbiAgICAgICAgcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuZW52aXJvbm1lbnRJbmplY3RvciwgKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJGYWN0b3J5ID0gbmV3IEZpbHRlckZhY3RvcnkoKTtcclxuICAgICAgICAgICAgY29uc3QgZmlsdGVyOiBGaWx0ZXJbXSA9IFtdXHJcbiAgICAgICAgICAgIHRoaXMuX2ZpbHRlcnNTdWJqZWN0LnZhbHVlLmZvckVhY2goKHZhbHVlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZS50eXBlKCkgPT0gXCJhdHRyaWJ1dGVzXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAvL3ZhbHVlLmRhdGEgPSBbXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIC8qKiBcclxuICAgICAqIEFjdHVhbGl6YSBpbnRlcm5hbWVudGUgZWwgcmFuZ28gZGUgcHJlY2lvIHkgcmUtZW1pdGUgXHJcbiAgICAgKiBlbCBhcnJheSBkZSBmaWx0cm9zIHBhcmEgcXVlIFBhZ2luYXRpb25TZXJ2aWNlIHZ1ZWx2YSBhIGxsYW1hciBcclxuICAgICAqL1xyXG4gICAgcHVibGljIHVwZGF0ZVByaWNlUmFuZ2VGaWx0ZXIobWluOiBudW1iZXIsIG1heDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZmlsdGVycyA9IHRoaXMuX2ZpbHRlcnNTdWJqZWN0LnZhbHVlO1xyXG4gICAgICAgIGNvbnN0IHByID0gZmlsdGVycy5maW5kKGYgPT4gZi50eXBlKCkgPT09ICdwcmljZV9yYW5nZScpIGFzIFByaWNlUmFuZ2VGaWx0ZXIgfCB1bmRlZmluZWQ7XHJcbiAgICAgICAgaWYgKCFwcikgcmV0dXJuO1xyXG4gICAgICAgIHByLnNldFNlbGVjdGVkKG1pbiwgbWF4KTtcclxuICAgICAgICB0aGlzLl9maWx0ZXJzU3ViamVjdC5uZXh0KFsuLi5maWx0ZXJzXSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGdWVyemEgYSBlbWl0aXIgZGUgbnVldm8gbG9zIGZpbHRyb3MgYWN0dWFsZXMuXHJcbiAgICAgKiDDmnRpbCBjdWFuZG8gdW4gZmlsdHJvIGFzeW5jIChjYXRlZ29yw61hcywgYXRyaWJ1dG9zKSB0ZXJtaW5hIGRlIGNhcmdhcnNlXHJcbiAgICAgKiB5IG5lY2VzaXRhbW9zIHF1ZSBQYWdpbmF0aW9uU2VydmljZSB2dWVsdmEgYSBhcm1hciBsYSBVUkwuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZWZyZXNoRmlsdGVycygpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5fZmlsdGVyc1N1YmplY3QudmFsdWU7XHJcbiAgICAgICAgLy8gRW1pdGltb3MgdW5hIGNvcGlhIHBhcmEgcXVlIGxvcyBzdWJzY3JpYmVycyBkZXRlY3RlbiBlbCBjYW1iaW9cclxuICAgICAgICB0aGlzLl9maWx0ZXJzU3ViamVjdC5uZXh0KFsuLi5jdXJyZW50XSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQdW50byBjZW50cmFsIGRvbmRlIHNlIGhpZHJhdGFuIGxvcyBmaWx0cm9zIGEgcGFydGlyIGRlIGxhIFVSTDpcclxuICAgICAqIC0gTGVlIHR5cGUvdmFsdWUgZGUgbGEgcnV0YSAoZWouIC9jb2xsZWN0aW9uL2NhdGVnb3JpZXMvOnZhbHVlKS5cclxuICAgICAqIC0gTGVlIHF1ZXJ5IHBhcmFtcyAoY2F0ZWdvcnksIHByaWNlX21pbiwgcHJpY2VfbWF4LCBhdHRyaWJ1dGVDb2Rlcywgc2VhcmNoLCBldGMuKS5cclxuICAgICAqIC0gQ3JlYSBpbnN0YW5jaWFzIGRlIGZpbHRyb3MgeSBsZXMgZGVsZWdhIGxhIGhpZHJhdGFjacOzbiBlc3BlY8OtZmljYS5cclxuICAgICAqXHJcbiAgICAgKiBFc3RlIG3DqXRvZG8gc2UgbGxhbWEgdGFudG8gZW4gU1NSIGNvbW8gZW4gbmF2ZWdhZG9yLlxyXG4gICAgICovXHJcbiAgICBoeWRyYXRlRnJvbVJvdXRlKFxyXG4gICAgICAgIHBhZ2luYXRpb25TZXR0aW5nczogUGFnaW5hdGlvblNldHRpbmdzLFxyXG4gICAgICAgIHJvdXRlUGFyYW1zOiBQYXJhbXMsXHJcbiAgICAgICAgcm91dGVRdWVyeTogUGFyYW1zXHJcbiAgICApOiB2b2lkIHtcclxuICAgICAgICAvLyBoaWRyYXRhciBzZWFyY2ggZGVzZGUgbGEgVVJMID09PVxyXG4gICAgICAgIGNvbnN0IHNlYXJjaEZyb21VcmwgPSByb3V0ZVF1ZXJ5Py5bJ3NlYXJjaCddO1xyXG4gICAgICAgIGlmICh0eXBlb2Ygc2VhcmNoRnJvbVVybCA9PT0gJ3N0cmluZycgJiYgc2VhcmNoRnJvbVVybC50cmltKCkgIT09ICcnKSB7XHJcbiAgICAgICAgICAgIC8vIEd1YXJkYW1vcyBlbCB2YWxvciBwYXJhIHF1ZSBvdHJvcyBjb21wb25lbnRlcyAoSGVhZGVyLCBDb2xsZWN0aW9uKSBsbyByZXV0aWxpY2VuXHJcbiAgICAgICAgICAgIHRoaXMuX2NvbnN0cy5zZWFyY2hWYWx1ZSA9IHNlYXJjaEZyb21VcmwudHJpbSgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFNpIG5vIHZpZW5lIGBzZWFyY2hgIGVuIGxhIFVSTCwgbGltcGlhbW9zIGVsIGVzdGFkbyBnbG9iYWwgcGFyYSBubyBhcnJhc3RyYXIgYsO6c3F1ZWRhcyB2aWVqYXNcclxuICAgICAgICAgICAgdGhpcy5fY29uc3RzLnNlYXJjaFZhbHVlID0gJyc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBHdWFyZGFtb3MgbGEgw7psdGltYSBxdWVyeSBjb21wbGV0YSBwYXJhIHVzYXJsYSBlbiBnZW5lcmF0ZUZpbmFsQXBpIChwYXJjaGUgYXR0cmlidXRlQ29kZXMpXHJcbiAgICAgICAgdGhpcy5fbGFzdFJvdXRlUXVlcnkgPSByb3V0ZVF1ZXJ5O1xyXG5cclxuICAgICAgICAvLyBHdWFyZGFtb3MgbGFzIHNldHRpbmdzIGFjdHVhbGVzICh0eXBlLCB2YWx1ZSwgbGltaXQsIGV0Yy4pXHJcbiAgICAgICAgdGhpcy5fcGFnaW5hdGlvblNldHRpbmdzID0gcGFnaW5hdGlvblNldHRpbmdzO1xyXG5cclxuICAgICAgICAvLyBDcmVhbW9zIGxvcyBmaWx0cm9zIGJhc2UgKGF0dHJpYnV0ZXMsIGNhdGVnb3JpZXMsIGR5bmFtaWNzLCBzb3J0LCBwcmljZV9yYW5nZSwgZXRjLilcclxuICAgICAgICBsZXQgZmluYWxfZmlsdGVyczogRmlsdGVyW10gPSBbXTtcclxuICAgICAgICBsZXQgZmlsdGVyc1RvUHJvY2VzcyA9IHRoaXMuX29wdGlvbnNGaWx0ZXJzPy5pbmNsdWRlcygnYWxsJylcclxuICAgICAgICAgICAgPyAoWydhdHRyaWJ1dGVzJywgJ2NhdGVnb3JpZXMnLCAnZHluYW1pY3MnLCAnc29ydCcsICdwcmljZV9yYW5nZSddIGFzIEZpbHRlclR5cGVbXSlcclxuICAgICAgICAgICAgOiB0aGlzLl9vcHRpb25zRmlsdGVycztcclxuXHJcbiAgICAgICAgcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuZW52aXJvbm1lbnRJbmplY3RvciwgKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJGYWN0b3J5ID0gbmV3IEZpbHRlckZhY3RvcnkoKTtcclxuICAgICAgICAgICAgZmlsdGVyc1RvUHJvY2Vzcz8uZm9yRWFjaChmaWx0ZXJUeXBlID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlciA9IGZpbHRlckZhY3RvcnkuY3JlYXRlKGZpbHRlclR5cGUsIHBhZ2luYXRpb25TZXR0aW5ncyk7XHJcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmluYWxfZmlsdGVycy5wdXNoKGZpbHRlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAvLyBBcGxpY2Ftb3MgZGVmYXVsdEZpbHRlcnMgc2kgY29ycmVzcG9uZGVcclxuICAgICAgICB0aGlzLl9kZWZhdWx0RmlsdGVycz8uZm9yRWFjaChmaWx0ZXJEZWZhdWx0ID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZmlsdGVyID0gZmluYWxfZmlsdGVycy5maW5kKGYgPT4gZi50eXBlKCkgPT09IGZpbHRlckRlZmF1bHQuZmlsdGVyX3R5cGUpO1xyXG4gICAgICAgICAgICBmaWx0ZXIgJiYgZmlsdGVyRGVmYXVsdC5jb2Rlcy5mb3JFYWNoKHZhbHVlID0+IGZpbHRlci5zZXRTZWxlY3RlZCh2YWx1ZSkpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAvLyBIaWRyYXRhciBmaWx0cm9zIGNvbiBzbHVnIHkgcXVlcnkgcGFyYW1zIGdlbsOpcmljb3NcclxuICAgICAgICBmaW5hbF9maWx0ZXJzLmZvckVhY2goZiA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGFueUZpbHRlciA9IGYgYXMgYW55O1xyXG5cclxuICAgICAgICAgICAgLy8gdHlwZS92YWx1ZSBlbiBsYSBVUkw6IC9jb2xsZWN0aW9uL2NhdGVnb3JpZXMvOnZhbHVlXHJcbiAgICAgICAgICAgIGNvbnN0IHVybFR5cGUgPSByb3V0ZVBhcmFtc1sndHlwZSddO1xyXG4gICAgICAgICAgICBjb25zdCB1cmxWYWx1ZSA9IHJvdXRlUGFyYW1zWyd2YWx1ZSddO1xyXG5cclxuICAgICAgICAgICAgLy8gUG9yIGVqZW1wbG8sIGVsIENhdGVnb3J5RmlsdGVyIGltcGxlbWVudGEgc2V0RnJvbVNsdWcgcGFyYSBtYXJjYXIgbGEgY2F0ZWdvcsOtYSBjb3JyZWN0YVxyXG4gICAgICAgICAgICBpZiAodXJsVHlwZSA9PT0gJ2NhdGVnb3JpZXMnICYmIHVybFZhbHVlICYmIHR5cGVvZiBhbnlGaWx0ZXIuc2V0RnJvbVNsdWcgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgICAgIGFueUZpbHRlci5zZXRGcm9tU2x1Zyh1cmxWYWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIHF1ZXJ5IHBhcmFtcyBnZW7DqXJpY29zOiA/Y2F0ZWdvcnk9MDEwMSZwcmljZV9taW49Li4uJnByaWNlX21heD0uLi4mYXR0cmlidXRlQ29kZXM9Li4uXHJcbiAgICAgICAgICAgIC8vIENhZGEgZmlsdHJvIHF1ZSBsbyBzb3BvcnRlIGltcGxlbWVudGEgaHlkcmF0ZUZyb21RdWVyeSB5IGRlY2lkZSBxdcOpIGxlZXIuXHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgYW55RmlsdGVyLmh5ZHJhdGVGcm9tUXVlcnkgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgICAgIGFueUZpbHRlci5oeWRyYXRlRnJvbVF1ZXJ5KHJvdXRlUXVlcnkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vIEhpZHJhdGFyIGVzcGVjw61maWNhbWVudGUgZWwgUHJpY2VSYW5nZUZpbHRlciBkZXNkZSBsYSBVUkxcclxuICAgICAgICBjb25zdCBwcmljZUZpbHRlciA9IGZpbmFsX2ZpbHRlcnMuZmluZChcclxuICAgICAgICAgICAgKGY6IEZpbHRlcikgPT4gZiBpbnN0YW5jZW9mIFByaWNlUmFuZ2VGaWx0ZXJcclxuICAgICAgICApIGFzIFByaWNlUmFuZ2VGaWx0ZXIgfCB1bmRlZmluZWQ7XHJcblxyXG4gICAgICAgIGlmIChwcmljZUZpbHRlciAmJiByb3V0ZVF1ZXJ5KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1pbkZyb21VcmwgPSByb3V0ZVF1ZXJ5WydwcmljZV9taW4nXTtcclxuICAgICAgICAgICAgY29uc3QgbWF4RnJvbVVybCA9IHJvdXRlUXVlcnlbJ3ByaWNlX21heCddO1xyXG5cclxuICAgICAgICAgICAgaWYgKG1pbkZyb21VcmwgIT0gbnVsbCB8fCBtYXhGcm9tVXJsICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG1pbiA9IG1pbkZyb21VcmwgIT0gbnVsbCA/IE51bWJlcihtaW5Gcm9tVXJsKSA6IHByaWNlRmlsdGVyLm1pblByaWNlO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbWF4ID0gbWF4RnJvbVVybCAhPSBudWxsID8gTnVtYmVyKG1heEZyb21VcmwpIDogcHJpY2VGaWx0ZXIubWF4UHJpY2U7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gdXNhbW9zIGxhIEFQSSBkZWwgZmlsdHJvIHBhcmEgc2V0ZWFyIGVsIHJhbmdvXHJcbiAgICAgICAgICAgICAgICBwcmljZUZpbHRlci5zZXRTZWxlY3RlZChtaW4sIG1heCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBzaSBubyBoYXkgbmFkYSBlbiBsYSBVUkwsIGxvIHJlc2V0ZWFtb3NcclxuICAgICAgICAgICAgICAgIHByaWNlRmlsdGVyLnJlc2V0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEVtaXRpbW9zIGZpbHRyb3MgeWEgaGlkcmF0YWRvcyBwYXJhIHF1ZSBQYWdpbmF0aW9uU2VydmljZSB5IENvbGxlY3Rpb24gcmVhY2Npb25lblxyXG4gICAgICAgIHRoaXMuX2ZpbHRlcnNTdWJqZWN0Lm5leHQoZmluYWxfZmlsdGVycyk7XHJcblxyXG4gICAgICAgIC8vIE1hcmNhbW9zIHF1ZSBlbCBzaXN0ZW1hIGRlIGZpbHRyb3MgZXN0w6EgbGlzdG8gKMO6dGlsIHBhcmEgbW9zdHJhciBzcGlubmVycywgZXRjLilcclxuICAgICAgICB0aGlzLl9yZWFkeVN1YmplY3QubmV4dCh0cnVlKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gZXhwb3J0IHR5cGUgRmlsdGVyVHlwZSA9ICdhdHRyaWJ1dGVzJyB8ICdjYXRlZ29yaWVzJyB8ICdkeW5hbWljcycgfCAnc29ydCcgfCAncHJpY2VfcmFuZ2UnOyAvLyBVc2UgaW1wb3J0ZWQgRmlsdGVyVHlwZSBpbnN0ZWFkXHJcbiJdfQ==
|
|
277
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL2ZpbHRlcnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBVSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOztBQU16RSxNQUFNLE9BQU8sY0FBYztJQUNmLFVBQVUsR0FBd0IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDOUQsT0FBTyxHQUF5QixNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUM3RCxlQUFlLEdBQThCLElBQUksZUFBZSxDQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2hGLFFBQVEsR0FBeUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVwRSxjQUFjLEdBQTRCLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzNFLE9BQU8sR0FBdUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVoRSxhQUFhLEdBQTZCLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQy9FLE1BQU0sR0FBd0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUUvRCxtQkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtJQUVqRCxlQUFlLEdBQTJC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LElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDO2dCQUMzRSxNQUFNLEdBQUcsR0FBRyxVQUFVLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7Z0JBRTNFLGdEQUFnRDtnQkFDaEQsV0FBVyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDdEMsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLDBDQUEwQztnQkFDMUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3hCLENBQUM7UUFDTCxDQUFDO1FBRUQsb0ZBQW9GO1FBQ3BGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXpDLG1GQUFtRjtRQUNuRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO3dHQWxUUSxjQUFjOzRHQUFkLGNBQWMsY0FGWCxNQUFNOzs0RkFFVCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50SW5qZWN0b3IsIGluamVjdCwgSW5qZWN0YWJsZSwgcnVuSW5JbmplY3Rpb25Db250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZpbHRlciwgRmlsdGVyRmFjdG9yeSB9IGZyb20gJy4uL2NsYXNzZXMnO1xuaW1wb3J0IHsgRGVmYXVsdEZpbHRlciwgRmlsdGVyRWxlbWVudCwgUGFnaW5hdGlvblNldHRpbmdzLCBGaWx0ZXJUeXBlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBcGlDb25zdGFudHNTZXJ2aWNlLCBDb3JlQ29uc3RhbnRzU2VydmljZSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBQcmljZVJhbmdlRmlsdGVyIH0gZnJvbSAnLi4vY2xhc3Nlcy9maWx0ZXJzL3ByaWNlX3JhbmdlLWZpbHRlcic7XG5pbXBvcnQgeyBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlcnNTZXJ2aWNlIHtcbiAgICBwcml2YXRlIF9hcGlDb25zdHM6IEFwaUNvbnN0YW50c1NlcnZpY2UgPSBpbmplY3QoQXBpQ29uc3RhbnRzU2VydmljZSk7XG4gICAgcHJpdmF0ZSBfY29uc3RzOiBDb3JlQ29uc3RhbnRzU2VydmljZSA9IGluamVjdChDb3JlQ29uc3RhbnRzU2VydmljZSk7XG4gICAgcHJpdmF0ZSBfZmlsdGVyc1N1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxGaWx0ZXJbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZpbHRlcltdPihbXSk7XG4gICAgcHVibGljIGZpbHRlcnMkOiBPYnNlcnZhYmxlPEZpbHRlcltdPiA9IHRoaXMuX2ZpbHRlcnNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgcHJpdmF0ZSBfYXBpVXJsU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIHB1YmxpYyBhcGlVcmwkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLl9hcGlVcmxTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgcHJpdmF0ZSBfcmVhZHlTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwdWJsaWMgcmVhZHkkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5fcmVhZHlTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgcHJpdmF0ZSBlbnZpcm9ubWVudEluamVjdG9yID0gaW5qZWN0KEVudmlyb25tZW50SW5qZWN0b3IpXG5cbiAgICBwcml2YXRlIF9vcHRpb25zRmlsdGVyczogKEZpbHRlclR5cGUgfCAnYWxsJylbXSA9IFsnYWxsJ107XG4gICAgcHJpdmF0ZSBfZGVmYXVsdEZpbHRlcnM6IERlZmF1bHRGaWx0ZXJbXSA9IFtdO1xuXG4gICAgcHJpdmF0ZSBfcGFnaW5hdGlvblNldHRpbmdzOiBQYWdpbmF0aW9uU2V0dGluZ3MgPSB7XG4gICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgdHlwZTogJycsXG4gICAgICAgIGxpbWl0OiAwXG4gICAgfTtcblxuICAgIHByaXZhdGUgX2ZpbHRlcnNJbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2xhc3RSb3V0ZVF1ZXJ5OiBQYXJhbXMgfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICAvL3RoaXMuX2RlZmF1bHRGaWx0ZXJzID0gdGhpcy5fY29uc3RzLmdldERlZmF1bHRGaWx0ZXJzKClcbiAgICB9XG5cbiAgICAvL0FQSSBVUkxcbiAgICAvKipcbiAgICAgKiBSZXRvcm5hIGxhIHVybCBwYXJhIGVsIGZpbHRyYWRvXG4gICAgICogQHBhcmFtIGZpbHRlcnMgXG4gICAgICogQHJldHVybnMgXG4gICAgICovXG4gICAgcHJvZHVjdHNGaWx0ZXJBcGkoZmlsdGVycyA9ICcnKSB7IHJldHVybiAnc2hvcC1hcGkvJyArIHRoaXMuX2FwaUNvbnN0cy5DSEFOTkVMICsgJy9wcm9kdWN0LXNlYXJjaC8nICsgJz9sb2NhbGU9JyArIHRoaXMuX2FwaUNvbnN0cy5MT0NBTEUgKyBmaWx0ZXJzIH07XG4gICAgLyoqXG4gICAgICogQXJtYSBsb3MgZmlsdHJvcyB5IHJldG9ybmEgbGEgdXJsIGNvbXBsZXRhIGNvbiBsb3MgZmlsdHJvcyBhcGxpY2Fkb3MuXG4gICAgICogQHBhcmFtIHNlYXJjaF92YWx1ZSB2YWxvciBhIGJ1c2NhclxuICAgICAqIEByZXR1cm5zIFxuICAgICAqL1xuICAgIGdlbmVyYXRlRmluYWxBcGkoc2VhcmNoX3ZhbHVlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGV4dHJhX3BhcmFtcyA9ICcnO1xuXG4gICAgICAgIHRoaXMuX2ZpbHRlcnNTdWJqZWN0LnZhbHVlLmZvckVhY2goZmlsdGVyID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGV4dHJhID0gZmlsdGVyLnRvVXJsUGFyYW1zKCk7XG4gICAgICAgICAgICBpZiAoZXh0cmEgJiYgZXh0cmEuc3BsaXQoJz0nKVsxXSAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICBleHRyYV9wYXJhbXMgKz0gZXh0cmE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFNpIGVuIGxhIFVSTCB5YSB2ZW7DrWEgYGF0dHJpYnV0ZUNvZGVzYCBwZXJvIGHDum4gbmluZ8O6biBmaWx0cm8gbG8gYWdyZWfDsyxcbiAgICAgICAgLy8gbG8gdm9sdmVtb3MgYSBzdW1hciBhIG1hbm8uIEVzdG8gZXZpdGEgcXVlIGFsIHJlZnJlc2NhciAoU1NSKSBzZSBwaWVyZGEgZWwgZmlsdHJvXG4gICAgICAgIC8vIGF1bnF1ZSBlbCBBdHRyaWJ1dGVzRmlsdGVyIHRvZGF2w61hIG5vIGhheWEgdGVybWluYWRvIGRlIGhpZHJhdGFyc2UuXG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZUNvZGVzRnJvbVJvdXRlID0gdGhpcy5fbGFzdFJvdXRlUXVlcnk/LlsnYXR0cmlidXRlQ29kZXMnXTtcbiAgICAgICAgaWYgKGF0dHJpYnV0ZUNvZGVzRnJvbVJvdXRlICYmICFleHRyYV9wYXJhbXMuaW5jbHVkZXMoJ2F0dHJpYnV0ZUNvZGVzPScpKSB7XG4gICAgICAgICAgICBleHRyYV9wYXJhbXMgKz0gYCZhdHRyaWJ1dGVDb2Rlcz0ke2F0dHJpYnV0ZUNvZGVzRnJvbVJvdXRlfWA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VhcmNoX3ZhbHVlKSB7XG4gICAgICAgICAgICBleHRyYV9wYXJhbXMgKz0gJyZjcml0ZXJpYVtzZWFyY2hdW3R5cGVdPWNvbnRhaW5zJmNyaXRlcmlhW3NlYXJjaF1bdmFsdWVdPScgKyBzZWFyY2hfdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5wcm9kdWN0c0ZpbHRlckFwaShleHRyYV9wYXJhbXMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNVcGRhdGVkKHBhZ2luYXRpb25TZXR0aW5nczogUGFnaW5hdGlvblNldHRpbmdzKSB7XG4gICAgICAgIGNvbnN0IGtleXM6IHN0cmluZ1tdID0gT2JqZWN0LmtleXMocGFnaW5hdGlvblNldHRpbmdzKTtcbiAgICAgICAgbGV0IGNoYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgICAgICBrZXlzLmZvckVhY2goKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IChwYWdpbmF0aW9uU2V0dGluZ3MgYXMgUmVjb3JkPHN0cmluZywgYW55Pilba2V5XTtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlMiA9ICh0aGlzLl9wYWdpbmF0aW9uU2V0dGluZ3MgYXMgUmVjb3JkPHN0cmluZywgYW55Pilba2V5XTtcbiAgICAgICAgICAgIGlmICh2YWx1ZSAhPSB2YWx1ZTIpIGNoYW5nZSA9IHRydWU7XG4gICAgICAgIH0pXG4gICAgICAgIGlmIChjaGFuZ2UpIHRoaXMuX3BhZ2luYXRpb25TZXR0aW5ncyA9IHBhZ2luYXRpb25TZXR0aW5ncztcbiAgICAgICAgcmV0dXJuIGNoYW5nZTtcbiAgICB9XG5cbiAgICBzZXRGaWx0ZXJzKFxuICAgICAgICBwYWdpbmF0aW9uU2V0dGluZ3M6IFBhZ2luYXRpb25TZXR0aW5ncyxcbiAgICAgICAgc2VhcmNoX3ZhbHVlPzogc3RyaW5nLFxuICAgICAgICByb3V0ZVF1ZXJ5UGFyYW1zPzogYW55XG4gICAgKSB7XG4gICAgICAgIHRoaXMuX3BhZ2luYXRpb25TZXR0aW5ncyA9IHBhZ2luYXRpb25TZXR0aW5ncztcbiAgICAgICAgbGV0IGZpbmFsX2ZpbHRlcnM6IEZpbHRlcltdID0gW107XG4gICAgICAgIGxldCBmaWx0ZXJzVG9Qcm9jZXNzID0gdGhpcy5fb3B0aW9uc0ZpbHRlcnM/LmluY2x1ZGVzKCdhbGwnKVxuICAgICAgICAgICAgPyAoWydhdHRyaWJ1dGVzJywgJ2NhdGVnb3JpZXMnLCAnZHluYW1pY3MnLCAnc29ydCcsICdwcmljZV9yYW5nZSddIGFzIEZpbHRlclR5cGVbXSlcbiAgICAgICAgICAgIDogdGhpcy5fb3B0aW9uc0ZpbHRlcnM7XG5cbiAgICAgICAgcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuZW52aXJvbm1lbnRJbmplY3RvciwgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyRmFjdG9yeSA9IG5ldyBGaWx0ZXJGYWN0b3J5KCk7XG4gICAgICAgICAgICBmaWx0ZXJzVG9Qcm9jZXNzPy5mb3JFYWNoKGZpbHRlclR5cGUgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlciA9IGZpbHRlckZhY3RvcnkuY3JlYXRlKGZpbHRlclR5cGUsIHBhZ2luYXRpb25TZXR0aW5ncyk7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlcikge1xuICAgICAgICAgICAgICAgICAgICBmaW5hbF9maWx0ZXJzLnB1c2goZmlsdGVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fZGVmYXVsdEZpbHRlcnM/LmZvckVhY2goZmlsdGVyRGVmYXVsdCA9PiB7XG4gICAgICAgICAgICBsZXQgZmlsdGVyID0gZmluYWxfZmlsdGVycy5maW5kKGZpbHRlciA9PiBmaWx0ZXIudHlwZSgpID09IGZpbHRlckRlZmF1bHQuZmlsdGVyX3R5cGUpO1xuICAgICAgICAgICAgZmlsdGVyICYmIGZpbHRlckRlZmF1bHQuY29kZXMuZm9yRWFjaCh2YWx1ZSA9PiBmaWx0ZXIuc2V0U2VsZWN0ZWQodmFsdWUpKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gaGlkcmF0YXIgcHJpY2VfcmFuZ2UgZGVzZGUgbGEgVVJMXG4gICAgICAgIGlmIChyb3V0ZVF1ZXJ5UGFyYW1zKSB7XG4gICAgICAgICAgICBjb25zdCBwciA9IGZpbmFsX2ZpbHRlcnMuZmluZChmID0+IGYudHlwZSgpID09PSAncHJpY2VfcmFuZ2UnKSBhcyBQcmljZVJhbmdlRmlsdGVyIHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgaWYgKHByKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmF3TWluID0gcm91dGVRdWVyeVBhcmFtc1sncHJpY2VfbWluJ107XG4gICAgICAgICAgICAgICAgY29uc3QgcmF3TWF4ID0gcm91dGVRdWVyeVBhcmFtc1sncHJpY2VfbWF4J107XG5cbiAgICAgICAgICAgICAgICBjb25zdCBtaW4gPSByYXdNaW4gIT0gbnVsbCA/IE51bWJlcihyYXdNaW4pIDogbnVsbDtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXggPSByYXdNYXggIT0gbnVsbCA/IE51bWJlcihyYXdNYXgpIDogbnVsbDtcblxuICAgICAgICAgICAgICAgIGlmICgobWluICE9IG51bGwgJiYgIU51bWJlci5pc05hTihtaW4pKSB8fCAobWF4ICE9IG51bGwgJiYgIU51bWJlci5pc05hTihtYXgpKSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAobWluICE9IG51bGwgJiYgIU51bWJlci5pc05hTihtaW4pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwci5jdXJyZW50TWluUHJpY2UgPSBtaW47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKG1heCAhPSBudWxsICYmICFOdW1iZXIuaXNOYU4obWF4KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHIuY3VycmVudE1heFByaWNlID0gbWF4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fZmlsdGVyc1N1YmplY3QubmV4dChmaW5hbF9maWx0ZXJzKTtcbiAgICB9XG5cbiAgICBnZXRGaWx0ZXJzKHBhZ2luYXRpb25TZXR0aW5ncz86IFBhZ2luYXRpb25TZXR0aW5ncykge1xuICAgICAgICBpZiAodGhpcy5fZmlsdGVyc0luaXRpYWxpemVkKSByZXR1cm47XG4gICAgICAgIHRoaXMuX2ZpbHRlcnNJbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgIGNvbnN0IHNldHRpbmdzID0gcGFnaW5hdGlvblNldHRpbmdzIHx8IHRoaXMuX3BhZ2luYXRpb25TZXR0aW5ncztcbiAgICAgICAgbGV0IGZpbmFsX2ZpbHRlcnM6IEZpbHRlcltdID0gW107XG4gICAgICAgIGxldCBmaWx0ZXJzVG9Qcm9jZXNzID0gdGhpcy5fb3B0aW9uc0ZpbHRlcnM/LmluY2x1ZGVzKCdhbGwnKVxuICAgICAgICAgICAgPyAoWydhdHRyaWJ1dGVzJywgJ2NhdGVnb3JpZXMnLCAnZHluYW1pY3MnLCAnc29ydCcsICdwcmljZV9yYW5nZSddIGFzIEZpbHRlclR5cGVbXSlcbiAgICAgICAgICAgIDogdGhpcy5fb3B0aW9uc0ZpbHRlcnM7XG5cbiAgICAgICAgcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuZW52aXJvbm1lbnRJbmplY3RvciwgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyRmFjdG9yeSA9IG5ldyBGaWx0ZXJGYWN0b3J5KCk7XG4gICAgICAgICAgICBmaWx0ZXJzVG9Qcm9jZXNzPy5mb3JFYWNoKGZpbHRlclR5cGUgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlciA9IGZpbHRlckZhY3RvcnkuY3JlYXRlKGZpbHRlclR5cGUsIHNldHRpbmdzKTtcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbmFsX2ZpbHRlcnMucHVzaChmaWx0ZXIpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUud2FybihgRmFpbGVkIHRvIGNyZWF0ZSBmaWx0ZXIgZm9yIHR5cGU6ICR7ZmlsdGVyVHlwZX1gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fZGVmYXVsdEZpbHRlcnM/LmZvckVhY2goZmlsdGVyRGVmYXVsdCA9PiB7XG4gICAgICAgICAgICBsZXQgZmlsdGVyID0gZmluYWxfZmlsdGVycy5maW5kKGZpbHRlciA9PiBmaWx0ZXIudHlwZSgpID09IGZpbHRlckRlZmF1bHQuZmlsdGVyX3R5cGUpO1xuICAgICAgICAgICAgZmlsdGVyICYmIGZpbHRlckRlZmF1bHQuY29kZXMuZm9yRWFjaCh2YWx1ZSA9PiBmaWx0ZXIuc2V0U2VsZWN0ZWQodmFsdWUpKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2ZpbHRlcnNTdWJqZWN0Lm5leHQoZmluYWxfZmlsdGVycyk7XG4gICAgICAgIHJldHVybiBmaW5hbF9maWx0ZXJzO1xuICAgIH1cblxuICAgIGdldFNwZWNpZmljRmlsdGVycyh0eXBlczogRmlsdGVyVHlwZVtdKTogRmlsdGVyW10ge1xuICAgICAgICBjb25zdCBmaWx0ZXJzOiBGaWx0ZXJbXSA9IHRoaXMuX2ZpbHRlcnNTdWJqZWN0LnZhbHVlLmZpbHRlcihmaWx0ZXIgPT4gdHlwZXMuaW5jbHVkZXMoZmlsdGVyLnR5cGUoKSkpXG4gICAgICAgIHJldHVybiBmaWx0ZXJzO1xuICAgIH1cblxuICAgIHNldEZpbHRlclNlbGVjdGVkKGZpbHRlck9iajogRmlsdGVyLCBmaWx0ZXJFbGVtOiBGaWx0ZXJFbGVtZW50KSB7XG4gICAgICAgIGxldCBmaW5hbF9maWx0ZXJzOiBGaWx0ZXJbXSA9IHRoaXMuX2ZpbHRlcnNTdWJqZWN0LnZhbHVlO1xuICAgICAgICBpZiAoZmlsdGVyT2JqLnR5cGUoKSAhPT0gJ3ByaWNlX3JhbmdlJykge1xuICAgICAgICAgICAgbGV0IGluZGV4ID0gZmluYWxfZmlsdGVycy5maW5kSW5kZXgoZmlsdGVyID0+IGZpbHRlci50eXBlKCkgPT0gZmlsdGVyT2JqLnR5cGUoKSk7XG4gICAgICAgICAgICBmaW5hbF9maWx0ZXJzW2luZGV4XS5zZXRTZWxlY3RlZChmaWx0ZXJFbGVtLCBmaWx0ZXJFbGVtLnZhbHVlIHx8IGZpbHRlckVsZW0uY29kZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZmlsdGVyc1N1YmplY3QubmV4dChmaW5hbF9maWx0ZXJzKTtcbiAgICAgICAgLy8gfVxuICAgIH1cblxuICAgIHVwZGF0ZUZpbHRlcnMocGFnaW5hdGlvbkZpbHRlcnM6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBjbGF2ZXMgPSBPYmplY3Qua2V5cyhwYWdpbmF0aW9uRmlsdGVycylcbiAgICAgICAgcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuZW52aXJvbm1lbnRJbmplY3RvciwgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyRmFjdG9yeSA9IG5ldyBGaWx0ZXJGYWN0b3J5KCk7XG4gICAgICAgICAgICBjb25zdCBmaWx0ZXI6IEZpbHRlcltdID0gW11cbiAgICAgICAgICAgIHRoaXMuX2ZpbHRlcnNTdWJqZWN0LnZhbHVlLmZvckVhY2goKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUudHlwZSgpID09IFwiYXR0cmlidXRlc1wiKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vdmFsdWUuZGF0YSA9IFtdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgLyoqIFxuICAgICAqIEFjdHVhbGl6YSBpbnRlcm5hbWVudGUgZWwgcmFuZ28gZGUgcHJlY2lvIHkgcmUtZW1pdGUgXG4gICAgICogZWwgYXJyYXkgZGUgZmlsdHJvcyBwYXJhIHF1ZSBQYWdpbmF0aW9uU2VydmljZSB2dWVsdmEgYSBsbGFtYXIgXG4gICAgICovXG4gICAgcHVibGljIHVwZGF0ZVByaWNlUmFuZ2VGaWx0ZXIobWluOiBudW1iZXIsIG1heDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZpbHRlcnMgPSB0aGlzLl9maWx0ZXJzU3ViamVjdC52YWx1ZTtcbiAgICAgICAgY29uc3QgcHIgPSBmaWx0ZXJzLmZpbmQoZiA9PiBmLnR5cGUoKSA9PT0gJ3ByaWNlX3JhbmdlJykgYXMgUHJpY2VSYW5nZUZpbHRlciB8IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKCFwcikgcmV0dXJuO1xuICAgICAgICBwci5zZXRTZWxlY3RlZChtaW4sIG1heCk7XG4gICAgICAgIHRoaXMuX2ZpbHRlcnNTdWJqZWN0Lm5leHQoWy4uLmZpbHRlcnNdKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGdWVyemEgYSBlbWl0aXIgZGUgbnVldm8gbG9zIGZpbHRyb3MgYWN0dWFsZXMuXG4gICAgICogw5p0aWwgY3VhbmRvIHVuIGZpbHRybyBhc3luYyAoY2F0ZWdvcsOtYXMsIGF0cmlidXRvcykgdGVybWluYSBkZSBjYXJnYXJzZVxuICAgICAqIHkgbmVjZXNpdGFtb3MgcXVlIFBhZ2luYXRpb25TZXJ2aWNlIHZ1ZWx2YSBhIGFybWFyIGxhIFVSTC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVmcmVzaEZpbHRlcnMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLl9maWx0ZXJzU3ViamVjdC52YWx1ZTtcbiAgICAgICAgLy8gRW1pdGltb3MgdW5hIGNvcGlhIHBhcmEgcXVlIGxvcyBzdWJzY3JpYmVycyBkZXRlY3RlbiBlbCBjYW1iaW9cbiAgICAgICAgdGhpcy5fZmlsdGVyc1N1YmplY3QubmV4dChbLi4uY3VycmVudF0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1bnRvIGNlbnRyYWwgZG9uZGUgc2UgaGlkcmF0YW4gbG9zIGZpbHRyb3MgYSBwYXJ0aXIgZGUgbGEgVVJMOlxuICAgICAqIC0gTGVlIHR5cGUvdmFsdWUgZGUgbGEgcnV0YSAoZWouIC9jb2xsZWN0aW9uL2NhdGVnb3JpZXMvOnZhbHVlKS5cbiAgICAgKiAtIExlZSBxdWVyeSBwYXJhbXMgKGNhdGVnb3J5LCBwcmljZV9taW4sIHByaWNlX21heCwgYXR0cmlidXRlQ29kZXMsIHNlYXJjaCwgZXRjLikuXG4gICAgICogLSBDcmVhIGluc3RhbmNpYXMgZGUgZmlsdHJvcyB5IGxlcyBkZWxlZ2EgbGEgaGlkcmF0YWNpw7NuIGVzcGVjw61maWNhLlxuICAgICAqXG4gICAgICogRXN0ZSBtw6l0b2RvIHNlIGxsYW1hIHRhbnRvIGVuIFNTUiBjb21vIGVuIG5hdmVnYWRvci5cbiAgICAgKi9cbiAgICBoeWRyYXRlRnJvbVJvdXRlKFxuICAgICAgICBwYWdpbmF0aW9uU2V0dGluZ3M6IFBhZ2luYXRpb25TZXR0aW5ncyxcbiAgICAgICAgcm91dGVQYXJhbXM6IFBhcmFtcyxcbiAgICAgICAgcm91dGVRdWVyeTogUGFyYW1zXG4gICAgKTogdm9pZCB7XG4gICAgICAgIC8vIGhpZHJhdGFyIHNlYXJjaCBkZXNkZSBsYSBVUkwgPT09XG4gICAgICAgIGNvbnN0IHNlYXJjaEZyb21VcmwgPSByb3V0ZVF1ZXJ5Py5bJ3NlYXJjaCddO1xuICAgICAgICBpZiAodHlwZW9mIHNlYXJjaEZyb21VcmwgPT09ICdzdHJpbmcnICYmIHNlYXJjaEZyb21VcmwudHJpbSgpICE9PSAnJykge1xuICAgICAgICAgICAgLy8gR3VhcmRhbW9zIGVsIHZhbG9yIHBhcmEgcXVlIG90cm9zIGNvbXBvbmVudGVzIChIZWFkZXIsIENvbGxlY3Rpb24pIGxvIHJldXRpbGljZW5cbiAgICAgICAgICAgIHRoaXMuX2NvbnN0cy5zZWFyY2hWYWx1ZSA9IHNlYXJjaEZyb21VcmwudHJpbSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gU2kgbm8gdmllbmUgYHNlYXJjaGAgZW4gbGEgVVJMLCBsaW1waWFtb3MgZWwgZXN0YWRvIGdsb2JhbCBwYXJhIG5vIGFycmFzdHJhciBiw7pzcXVlZGFzIHZpZWphc1xuICAgICAgICAgICAgdGhpcy5fY29uc3RzLnNlYXJjaFZhbHVlID0gJyc7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBHdWFyZGFtb3MgbGEgw7psdGltYSBxdWVyeSBjb21wbGV0YSBwYXJhIHVzYXJsYSBlbiBnZW5lcmF0ZUZpbmFsQXBpIChwYXJjaGUgYXR0cmlidXRlQ29kZXMpXG4gICAgICAgIHRoaXMuX2xhc3RSb3V0ZVF1ZXJ5ID0gcm91dGVRdWVyeTtcblxuICAgICAgICAvLyBHdWFyZGFtb3MgbGFzIHNldHRpbmdzIGFjdHVhbGVzICh0eXBlLCB2YWx1ZSwgbGltaXQsIGV0Yy4pXG4gICAgICAgIHRoaXMuX3BhZ2luYXRpb25TZXR0aW5ncyA9IHBhZ2luYXRpb25TZXR0aW5ncztcblxuICAgICAgICAvLyBDcmVhbW9zIGxvcyBmaWx0cm9zIGJhc2UgKGF0dHJpYnV0ZXMsIGNhdGVnb3JpZXMsIGR5bmFtaWNzLCBzb3J0LCBwcmljZV9yYW5nZSwgZXRjLilcbiAgICAgICAgbGV0IGZpbmFsX2ZpbHRlcnM6IEZpbHRlcltdID0gW107XG4gICAgICAgIGxldCBmaWx0ZXJzVG9Qcm9jZXNzID0gdGhpcy5fb3B0aW9uc0ZpbHRlcnM/LmluY2x1ZGVzKCdhbGwnKVxuICAgICAgICAgICAgPyAoWydhdHRyaWJ1dGVzJywgJ2NhdGVnb3JpZXMnLCAnZHluYW1pY3MnLCAnc29ydCcsICdwcmljZV9yYW5nZSddIGFzIEZpbHRlclR5cGVbXSlcbiAgICAgICAgICAgIDogdGhpcy5fb3B0aW9uc0ZpbHRlcnM7XG5cbiAgICAgICAgcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuZW52aXJvbm1lbnRJbmplY3RvciwgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyRmFjdG9yeSA9IG5ldyBGaWx0ZXJGYWN0b3J5KCk7XG4gICAgICAgICAgICBmaWx0ZXJzVG9Qcm9jZXNzPy5mb3JFYWNoKGZpbHRlclR5cGUgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlciA9IGZpbHRlckZhY3RvcnkuY3JlYXRlKGZpbHRlclR5cGUsIHBhZ2luYXRpb25TZXR0aW5ncyk7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlcikge1xuICAgICAgICAgICAgICAgICAgICBmaW5hbF9maWx0ZXJzLnB1c2goZmlsdGVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gQXBsaWNhbW9zIGRlZmF1bHRGaWx0ZXJzIHNpIGNvcnJlc3BvbmRlXG4gICAgICAgIHRoaXMuX2RlZmF1bHRGaWx0ZXJzPy5mb3JFYWNoKGZpbHRlckRlZmF1bHQgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyID0gZmluYWxfZmlsdGVycy5maW5kKGYgPT4gZi50eXBlKCkgPT09IGZpbHRlckRlZmF1bHQuZmlsdGVyX3R5cGUpO1xuICAgICAgICAgICAgZmlsdGVyICYmIGZpbHRlckRlZmF1bHQuY29kZXMuZm9yRWFjaCh2YWx1ZSA9PiBmaWx0ZXIuc2V0U2VsZWN0ZWQodmFsdWUpKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gSGlkcmF0YXIgZmlsdHJvcyBjb24gc2x1ZyB5IHF1ZXJ5IHBhcmFtcyBnZW7DqXJpY29zXG4gICAgICAgIGZpbmFsX2ZpbHRlcnMuZm9yRWFjaChmID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFueUZpbHRlciA9IGYgYXMgYW55O1xuXG4gICAgICAgICAgICAvLyB0eXBlL3ZhbHVlIGVuIGxhIFVSTDogL2NvbGxlY3Rpb24vY2F0ZWdvcmllcy86dmFsdWVcbiAgICAgICAgICAgIGNvbnN0IHVybFR5cGUgPSByb3V0ZVBhcmFtc1sndHlwZSddO1xuICAgICAgICAgICAgY29uc3QgdXJsVmFsdWUgPSByb3V0ZVBhcmFtc1sndmFsdWUnXTtcblxuICAgICAgICAgICAgLy8gUG9yIGVqZW1wbG8sIGVsIENhdGVnb3J5RmlsdGVyIGltcGxlbWVudGEgc2V0RnJvbVNsdWcgcGFyYSBtYXJjYXIgbGEgY2F0ZWdvcsOtYSBjb3JyZWN0YVxuICAgICAgICAgICAgaWYgKHVybFR5cGUgPT09ICdjYXRlZ29yaWVzJyAmJiB1cmxWYWx1ZSAmJiB0eXBlb2YgYW55RmlsdGVyLnNldEZyb21TbHVnID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgYW55RmlsdGVyLnNldEZyb21TbHVnKHVybFZhbHVlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gcXVlcnkgcGFyYW1zIGdlbsOpcmljb3M6ID9jYXRlZ29yeT0wMTAxJnByaWNlX21pbj0uLi4mcHJpY2VfbWF4PS4uLiZhdHRyaWJ1dGVDb2Rlcz0uLi5cbiAgICAgICAgICAgIC8vIENhZGEgZmlsdHJvIHF1ZSBsbyBzb3BvcnRlIGltcGxlbWVudGEgaHlkcmF0ZUZyb21RdWVyeSB5IGRlY2lkZSBxdcOpIGxlZXIuXG4gICAgICAgICAgICBpZiAodHlwZW9mIGFueUZpbHRlci5oeWRyYXRlRnJvbVF1ZXJ5ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgYW55RmlsdGVyLmh5ZHJhdGVGcm9tUXVlcnkocm91dGVRdWVyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIEhpZHJhdGFyIGVzcGVjw61maWNhbWVudGUgZWwgUHJpY2VSYW5nZUZpbHRlciBkZXNkZSBsYSBVUkxcbiAgICAgICAgY29uc3QgcHJpY2VGaWx0ZXIgPSBmaW5hbF9maWx0ZXJzLmZpbmQoXG4gICAgICAgICAgICAoZjogRmlsdGVyKSA9PiBmIGluc3RhbmNlb2YgUHJpY2VSYW5nZUZpbHRlclxuICAgICAgICApIGFzIFByaWNlUmFuZ2VGaWx0ZXIgfCB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKHByaWNlRmlsdGVyICYmIHJvdXRlUXVlcnkpIHtcbiAgICAgICAgICAgIGNvbnN0IG1pbkZyb21VcmwgPSByb3V0ZVF1ZXJ5WydwcmljZV9taW4nXTtcbiAgICAgICAgICAgIGNvbnN0IG1heEZyb21VcmwgPSByb3V0ZVF1ZXJ5WydwcmljZV9tYXgnXTtcblxuICAgICAgICAgICAgaWYgKG1pbkZyb21VcmwgIT0gbnVsbCB8fCBtYXhGcm9tVXJsICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtaW4gPSBtaW5Gcm9tVXJsICE9IG51bGwgPyBOdW1iZXIobWluRnJvbVVybCkgOiBwcmljZUZpbHRlci5taW5QcmljZTtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXggPSBtYXhGcm9tVXJsICE9IG51bGwgPyBOdW1iZXIobWF4RnJvbVVybCkgOiBwcmljZUZpbHRlci5tYXhQcmljZTtcblxuICAgICAgICAgICAgICAgIC8vIHVzYW1vcyBsYSBBUEkgZGVsIGZpbHRybyBwYXJhIHNldGVhciBlbCByYW5nb1xuICAgICAgICAgICAgICAgIHByaWNlRmlsdGVyLnNldFNlbGVjdGVkKG1pbiwgbWF4KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gc2kgbm8gaGF5IG5hZGEgZW4gbGEgVVJMLCBsbyByZXNldGVhbW9zXG4gICAgICAgICAgICAgICAgcHJpY2VGaWx0ZXIucmVzZXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEVtaXRpbW9zIGZpbHRyb3MgeWEgaGlkcmF0YWRvcyBwYXJhIHF1ZSBQYWdpbmF0aW9uU2VydmljZSB5IENvbGxlY3Rpb24gcmVhY2Npb25lblxuICAgICAgICB0aGlzLl9maWx0ZXJzU3ViamVjdC5uZXh0KGZpbmFsX2ZpbHRlcnMpO1xuXG4gICAgICAgIC8vIE1hcmNhbW9zIHF1ZSBlbCBzaXN0ZW1hIGRlIGZpbHRyb3MgZXN0w6EgbGlzdG8gKMO6dGlsIHBhcmEgbW9zdHJhciBzcGlubmVycywgZXRjLilcbiAgICAgICAgdGhpcy5fcmVhZHlTdWJqZWN0Lm5leHQodHJ1ZSk7XG4gICAgfVxufVxuXG4vLyBleHBvcnQgdHlwZSBGaWx0ZXJUeXBlID0gJ2F0dHJpYnV0ZXMnIHwgJ2NhdGVnb3JpZXMnIHwgJ2R5bmFtaWNzJyB8ICdzb3J0JyB8ICdwcmljZV9yYW5nZSc7IC8vIFVzZSBpbXBvcnRlZCBGaWx0ZXJUeXBlIGluc3RlYWRcbiJdfQ==
|
|
@@ -90,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
90
90
|
providedIn: 'root'
|
|
91
91
|
}]
|
|
92
92
|
}], ctorParameters: () => [] });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL2Zvcm0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFjLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFckU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sV0FBVztJQUNmLFNBQVMsR0FBd0IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUE7SUFDNUQsVUFBVSxHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUV2RCxnQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBUSxFQUFFLENBQUMsQ0FBQztJQUNsRCxnQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBUSxFQUFFLENBQUMsQ0FBQztJQUMvQyxvQkFBb0IsR0FBRyxJQUFJLGVBQWUsQ0FBUSxFQUFFLENBQUMsQ0FBQztJQUU1RCxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQy9DLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbEQsY0FBYyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVwRSxTQUFTO0lBQ1Q7OztPQUdHO0lBQ0ksc0JBQXNCLEtBQUssT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSx3QkFB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QUFDLENBQUM7SUFDdkMsQ0FBQyxDQUFBO0lBQ0Q7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxZQUFpQjtRQUM1QixPQUFPLFlBQVksQ0FBQTtJQUNwQixDQUFDO3dHQXRGVyxXQUFXOzRHQUFYLFdBQVcsY0FGWCxNQUFNOzs0RkFFTixXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBpQ29uc3RhbnRzU2VydmljZSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2FwaSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG1hcCwgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBTZXJ2aWNpbyBlbmNhcmdhZG8gZGUgbWFuZWphciB0b2RvIGFxdWVsbG8gcmVsYWNpb25hZG8gY29uIGxvcyBmb3JtdWxhcmlvcyBkZW50cm8gZGUgbGEgYXBsaWNhY2nDs24uXG4gKi9cbkBJbmplY3RhYmxlKHtcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1TZXJ2aWNlIHtcblx0cHJpdmF0ZSBhcGlDb25zdHM6IEFwaUNvbnN0YW50c1NlcnZpY2UgPSBpbmplY3QoQXBpQ29uc3RhbnRzU2VydmljZSlcblx0cHJpdmF0ZSBjb25uZWN0aW9uOiBDb25uZWN0aW9uU2VydmljZSA9IGluamVjdChDb25uZWN0aW9uU2VydmljZSlcbiBcdFxuXHRwcm90ZWN0ZWQgY291bnRyaWVzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KFtdKTtcblx0cHJvdGVjdGVkIHByb3ZpbmNlc1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueVtdPihbXSk7XG4gICAgcHJvdGVjdGVkIGRvY3VtZW50VHlwZXNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4oW10pO1xuXHRcblx0cHVibGljIGNvdW50cmllcyQgPSB0aGlzLmNvdW50cmllc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgcHVibGljIHByb3ZpbmNlcyQgPSB0aGlzLnByb3ZpbmNlc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgcHVibGljIGRvY3VtZW50VHlwZXMkID0gdGhpcy5kb2N1bWVudFR5cGVzU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuXHQvL0FQSSBVUkxcblx0LyoqXG5cdCAqIFJldG9ybmEgdW5hIHVybCBwYXJhIGVudmlhciBsb3MgZGF0b3MgZGUgdW4gZm9ybXVsYXJpbyBkZSBjb250YWN0by5cblx0ICogQHJldHVybnMgXG5cdCAqL1xuXHRwdWJsaWMgY29udGFjdEZvcm1SZXNwb25zZUFQSSgpIHsgcmV0dXJuIGAke3RoaXMuYXBpQ29uc3RzLkNNU19VUkx9JHt0aGlzLmFwaUNvbnN0cy5MT0NBTEV9L2NvbnRhY3QtZm9ybS9yZXNwb25zZWAgfVxuXHQvKipcblx0ICogUmV0b3JuYSB1bmEgdXJsIHBhcmEgZWwgZW5kcG9pbnQgcXVlIG9idGluZW4gbG9zIHBhaXNlcy5cblx0ICogQHJldHVybnMgXG5cdCAqL1xuXHRwdWJsaWMgY291bnRyaWVzQXBpKCkgeyByZXR1cm4gJ3Nob3AtYXBpLycgKyB0aGlzLmFwaUNvbnN0cy5DSEFOTkVMICsgJy9jb3VudHJpZXMnIH07XG5cblx0Y29uc3RydWN0b3IoKSB7IH1cblx0LyoqXG5cdCAqIEVudmlhIGVuIGZvcm11bGFyaW8uXG5cdCAqIEBwYXJhbSByZXNwb25zZV9vYmogXG5cdCAqIEByZXR1cm5zIFxuXHQgKi9cblx0c2VuZFJlc3BvbnNlKHJlc3BvbnNlX29iajogYW55KSB7XG5cdFx0cmV0dXJuIHRoaXMuY29ubmVjdGlvbi5wb3N0KHRoaXMuY29udGFjdEZvcm1SZXNwb25zZUFQSSgpLCB0aGlzLnByZXBhcmVEYXRhKHJlc3BvbnNlX29iaikpXG5cdH1cblxuXHQvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gY29udGllbmUgdW4gYXJyZWdsbyBkZSBzdHJpbmcgY3V5byBjb250ZW5pZG8gc29uIGxvcyBjb2RpZ29zIGRlIGxvcyBwYWlzZXMgYSBleGNsdWlyLlxuICAgICAqIEBleGFtcGxlIFsnR0InXVxuICAgICAqL1xuICAgIHB1YmxpYyBleGNsdWRlZENvdW50cmllczogc3RyaW5nW10gPSBbXVxuIFx0cHVibGljIGFsbG93ZWRDb3VudHJpZXM6IHN0cmluZ1tdID0gW107XG5cdC8qKlxuXHQgKiBPYnRpZW5lIGxvcyBwYWlzZXMgeSBsb3MgZ3VhcmRhIGVuIHVuIG9ic2VydmFibGUuXG5cdCAqIEByZXR1cm5zIFxuXHQgKi9cblx0Z2V0Q291bnRyaWVzRGF0YSgpOk9ic2VydmFibGU8YW55PiB7XG5cdFx0dGhpcy5jb25uZWN0aW9uLmdldCh0aGlzLmNvdW50cmllc0FwaSgpKS5waXBlKFxuXHRcdFx0c2hhcmVSZXBsYXkoMSksXG5cdFx0XHRtYXAoKHJlc3BvbnNlOmFueSkgPT4ge1xuXHRcdFx0XHQvL2NvbnNvbGUubG9nKHJlc3BvbnNlKTtcblx0XHRcdFx0Y29uc3QgZGF0YSA9IHJlc3BvbnNlLl9lbWJlZGRlZC5pdGVtcztcblx0XHRcdFx0dGhpcy5jb3VudHJpZXNTdWJqZWN0Lm5leHQoZGF0YSlcblx0XHRcdFx0Y29uc3QgZG9jdW1lbnRUeXBlc0xvY2FsZSA9IGRhdGEuZmluZCgocmVzOiBhbnkpID0+IHtcblx0XHRcdFx0XHRyZXR1cm4gcmVzLmNvZGUudG9Mb2NhbGVMb3dlckNhc2UoKSA9PSB0aGlzLmFwaUNvbnN0cy5MT0NBTEUudG9Mb2NhbGVMb3dlckNhc2UoKS5zcGxpdCgnXycpWzFdXG5cdFx0XHRcdH0pXG5cdFx0XHRcdGNvbnN0IGRvY3VtZW50VHlwZXNEYXRhID0gZG9jdW1lbnRUeXBlc0xvY2FsZVsnZG9jdW1lbnRUeXBlcyddXG5cdFx0XHRcdHRoaXMuZG9jdW1lbnRUeXBlc1N1YmplY3QubmV4dChkb2N1bWVudFR5cGVzRGF0YSlcblx0XHRcdH0pKS5zdWJzY3JpYmUoKTtcblxuXHRcdFx0aWYodGhpcy5leGNsdWRlZENvdW50cmllcy5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdHRoaXMuY291bnRyaWVzJCA9IHRoaXMuY291bnRyaWVzJC5waXBlKFxuXHRcdFx0XHRcdG1hcChjb3VudHJpZXMgPT4gY291bnRyaWVzLmZpbHRlcihjb3VudHJ5ID0+ICF0aGlzLmV4Y2x1ZGVkQ291bnRyaWVzLmluY2x1ZGVzKGNvdW50cnkuY29kZSkpKVxuXHRcdFx0XHQpXG5cdFx0XHR9XG5cdFx0XHRpZih0aGlzLmFsbG93ZWRDb3VudHJpZXMubGVuZ3RoID4gMCkge1xuXHRcdFx0XHR0aGlzLmNvdW50cmllcyQgPSB0aGlzLmNvdW50cmllcyQucGlwZShcblx0XHRcdFx0XHRtYXAoY291bnRyaWVzID0+IGNvdW50cmllcy5maWx0ZXIoY291bnRyeSA9PiB0aGlzLmFsbG93ZWRDb3VudHJpZXMuaW5jbHVkZXMoY291bnRyeS5jb2RlKSkpXG5cdFx0XHRcdClcblx0XHRcdH1cblx0XHRcblx0XHRyZXR1cm4gdGhpcy5jb3VudHJpZXMkO1xuXHR9XG5cdC8qKlxuXHQgKiBDYW1iaWEgbGEgbGlzdGEgZGUgcHJvdmluY2lhcyBzZWd1biBlbCBjb2RpZ28gZGVsIHBhw61zLlxuXHQgKiBAcGFyYW0gY29kZSBcblx0ICovXG5cdG9uQ291bnRyeVNlbGVjdGVkID0gKGNvZGU6c3RyaW5nKSA9PiB7XG5cdFx0Y29uc3QgcHJvdmluY2VzID0gdGhpcy5jb3VudHJpZXNTdWJqZWN0LnZhbHVlLmZpbmQocHJvdmluY2UgPT4gcHJvdmluY2UuY29kZSA9PSBjb2RlKS5wcm92aW5jZXM7XG5cdFx0dGhpcy5wcm92aW5jZXNTdWJqZWN0Lm5leHQocHJvdmluY2VzKTtcblx0fVxuXHQvKipcblx0ICogUGFyYSBlbCBmdXR1cm8sIGN1YW5kbyBoYXlhIHF1ZSBhcGxpY2FyIGFsZ3VuIGZvcm1hdG8gYW50ZXMgZGUgZW52aWFyIGVsIGZvcm11bGFyaW8uXG5cdCAqIEBwYXJhbSByZXNwb25zZV9vYmogXG5cdCAqIEByZXR1cm5zIFxuXHQgKi9cblx0cHJlcGFyZURhdGEocmVzcG9uc2Vfb2JqOiBhbnkpIHtcblx0XHRyZXR1cm4gcmVzcG9uc2Vfb2JqXG5cdH1cblxufVxuIl19
|
|
@@ -24,4 +24,6 @@ export * from './order-utility.service';
|
|
|
24
24
|
export * from './payment.service';
|
|
25
25
|
export * from './test.service';
|
|
26
26
|
export * from './orders.service';
|
|
27
|
-
|
|
27
|
+
export * from './runtime-config.service';
|
|
28
|
+
export * from './base-api.service';
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL29wdGlvbnMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3BhcmFtZXRlcnMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2Jsb2Nrcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYmxvY2tzLXJlcG9zaXRvcnkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2FuYWx5dGljcyc7XG5leHBvcnQgKiBmcm9tICcuL2N1cnJlbmN5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGFubmVsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90b2FzdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcmUtY2FwdGNoYS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvZHVjdHMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2luYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlcnMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2R1Y3QtZGV0YWlsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJ0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9uZ3gtbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY2hlY2tvdXQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2FkZHJlc3Npbmcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGguc3RvcmFnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2hpcG1lbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL29yZGVyLXV0aWxpdHkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3BheW1lbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rlc3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL29yZGVycy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcnVudGltZS1jb25maWcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtYXBpLnNlcnZpY2UnOyJdfQ==
|
|
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
55
55
|
providedIn: 'root'
|
|
56
56
|
}]
|
|
57
57
|
}], ctorParameters: () => [] });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL2xvY2FsLXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRW5EOzs7O0dBSUc7QUFJSCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCOztPQUVHO0lBQ0ssY0FBYyxHQUFrQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFOUQsZ0JBQWdCLENBQUM7SUFDakI7Ozs7T0FJRztJQUNILE9BQU8sQ0FBQyxHQUFXO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNEOzs7OztPQUtHO0lBQ0gsT0FBTyxDQUFDLEdBQVcsRUFBRSxLQUFVLEVBQUUsV0FBZSxFQUFDLElBQUksRUFBQyxHQUFHLEVBQUM7UUFDeEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNILFVBQVUsQ0FBQyxHQUFXLEVBQUUsV0FBZSxHQUFHO1FBQ3hDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0Q7O09BRUc7SUFDSCxLQUFLO1FBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsR0FBRyxDQUFDLEtBQWE7UUFDZixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQzt3R0F4Q1UsbUJBQW1COzRHQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gJ25neC1jb29raWUtc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yYWdlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG4vKipcbiAqIEFkYXB0ZXIgdXNhZG8gcGFyYSBzdG9yYWdlYXIgbG9zIGRhdG9zLlxuICogQGNsYXNzIExvY2FsU3RvcmFnZVNlcnZpY2VcbiAqIEBpbXBsZW1lbnRzIHtTdG9yYWdlfVxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIGltcGxlbWVudHMgU3RvcmFnZSB7XG4gIC8qKlxuICAgKiBTZXJ2aWNpbyB1c2FkbyBwYXJhIGd1YXJkYXIgbG9zIGRhdG9zIGVuIGxhcyBjb29raWVzXG4gICAqL1xuICBwcml2YXRlIF9jb29raWVTZXJ2aWNlOiBDb29raWVTZXJ2aWNlID0gaW5qZWN0KENvb2tpZVNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG4gIC8qKlxuICAgKiBPYnRpZW5lIGVsIGl0ZW0gZGVsIFN0b3JhZ2VcbiAgICogQHBhcmFtIGtleSBDbGF2ZSBwYXJhIGFjY2VkZXIgYWwgdmFsb3JcbiAgICogQHJldHVybnMgXG4gICAqL1xuICBnZXRJdGVtKGtleTogc3RyaW5nKTpzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9jb29raWVTZXJ2aWNlLmdldChrZXkpO1xuICB9XG4gIC8qKlxuICAgKiBHdWFyZGEgdW4gZGF0byBlbiBlbCBzdG9yYWdlLlxuICAgKiBAcGFyYW0ga2V5IENsYXZlIHF1ZSBzZSBhc29jaWEgYWwgdmFsb3JcbiAgICogQHBhcmFtIHZhbHVlIFZhbG9yIGEgZ3VhcmRhclxuICAgKiBAcGFyYW0gbWV0YWRhdGEgT3BjaW9uZXMgZXh0cmEgcXVlIHB1ZWRlIG5lY2VzaXRhciBlbCBzZXJ2aWNpby5cbiAgICovXG4gIHNldEl0ZW0oa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnksIG1ldGFkYXRhOmFueSA9IHtwYXRoOicvJ30pIHtcbiAgICB0aGlzLl9jb29raWVTZXJ2aWNlLnNldChrZXksIHZhbHVlLCBtZXRhZGF0YSk7XG4gIH1cbiAgLyoqXG4gICAqIFJlbXVldmUgZWwgaXRlbSBkZWwgc3RvcmFnZS5cbiAgICogQHBhcmFtIGtleSBDbGF2ZSBkZWwgaXRlbSBkZWwgc3RvcmFnZSBhIGVsaW1pbmFyLlxuICAgKiBAcGFyYW0gbWV0YWRhdGEgT3BjaW9uZXMgZXh0cmEgcXVlIHB1ZWRlIG5lY2VzaXRhciBlbCBzZXJ2aWNpby5cbiAgICovXG4gIHJlbW92ZUl0ZW0oa2V5OiBzdHJpbmcsIG1ldGFkYXRhOmFueSA9ICcvJyk6IHZvaWQge1xuICAgIHRoaXMuX2Nvb2tpZVNlcnZpY2UuZGVsZXRlKGtleSwgbWV0YWRhdGEpO1xuICB9XG4gIC8qKlxuICAgKiBMaW1waWEgZWwgU3RvcmFnZS5cbiAgICovXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuX2Nvb2tpZVNlcnZpY2UuZGVsZXRlQWxsKCk7XG4gIH1cbiAga2V5KGluZGV4OiBudW1iZXIpOiBzdHJpbmcgfCBudWxsIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxufVxuIl19
|
|
@@ -63,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
63
63
|
providedIn: 'root'
|
|
64
64
|
}]
|
|
65
65
|
}], ctorParameters: () => [] });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWxvY2FsLXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1zZXJ2aWNlcy9uZ3gtbG9jYWwtc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFcEQ7Ozs7R0FJRztBQUlILE1BQU0sT0FBTyxzQkFBc0I7SUFDbEM7O09BRUc7SUFDSyxRQUFRLEdBQWUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRWxELGdCQUFpQixDQUFDO0lBRVYsY0FBYyxDQUFDLEdBQVE7UUFDOUIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQ2hDLElBQUksRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDbEMsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO2FBQzNCLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxPQUFPLENBQUMsR0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFDRDs7Ozs7T0FLRztJQUNILE9BQU8sQ0FBQyxHQUFXLEVBQUUsS0FBVSxFQUFFLFdBQWdCLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRTtRQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLEdBQVcsRUFBRSxRQUFjO1FBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0Q7O09BRUc7SUFDSCxLQUFLO1FBQ0osSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNELEdBQUcsQ0FBQyxLQUFhO1FBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM1QyxDQUFDO3dHQWxEVyxzQkFBc0I7NEdBQXRCLHNCQUFzQixjQUZ0QixNQUFNOzs0RkFFTixzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnbmd4LWNvb2tpZS1zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3JhZ2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFN0b3JhZ2VNYXAgfSBmcm9tICdAbmd4LXB3YS9sb2NhbC1zdG9yYWdlJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuLyoqXG4gKiBBZGFwdGVyIHVzYWRvIHBhcmEgc3RvcmFnZWFyIGxvcyBkYXRvcy5cbiAqIEBjbGFzcyBOZ3hMb2NhbFN0b3JhZ2VTZXJ2aWNlXG4gKiBAaW1wbGVtZW50cyB7U3RvcmFnZX1cbiAqL1xuQEluamVjdGFibGUoe1xuXHRwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTmd4TG9jYWxTdG9yYWdlU2VydmljZSBpbXBsZW1lbnRzIFN0b3JhZ2Uge1xuXHQvKipcblx0ICogU2VydmljaW8gdXNhZG8gcGFyYSBndWFyZGFyIGxvcyBkYXRvcyBlbiBlbCBsb2NhbHN0b3JhZ2UuXG5cdCAqL1xuXHRwcml2YXRlIF9zdG9yYWdlOiBTdG9yYWdlTWFwID0gaW5qZWN0KFN0b3JhZ2VNYXApO1xuXG5cdGNvbnN0cnVjdG9yKCkgeyAgfVxuXG5cdHByaXZhdGUgZ2V0SXRlbVByb21pc2Uoa2V5OiBhbnkpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuXHRcdFx0dGhpcy5fc3RvcmFnZS5nZXQoa2V5KS5zdWJzY3JpYmUoe1xuXHRcdFx0XHRuZXh0OiAoZGF0YTogYW55KSA9PiByZXNvbHZlKGRhdGEpLFxuXHRcdFx0XHRlcnJvcjogKGVycikgPT4gcmVqZWN0KGVyciksXG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBPYnRpZW5lIGVsIGl0ZW0gZGVsIFN0b3JhZ2Vcblx0ICogQHBhcmFtIGtleSBDbGF2ZSBwYXJhIGFjY2VkZXIgYWwgdmFsb3Jcblx0ICogQHJldHVybnMgXG5cdCAqL1xuXHRnZXRJdGVtKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcblx0XHRyZXR1cm4gdGhpcy5fc3RvcmFnZS5nZXQoa2V5KTtcblx0fVxuXHQvKipcblx0ICogR3VhcmRhIHVuIGRhdG8gZW4gZWwgc3RvcmFnZS5cblx0ICogQHBhcmFtIGtleSBDbGF2ZSBxdWUgc2UgYXNvY2lhIGFsIHZhbG9yXG5cdCAqIEBwYXJhbSB2YWx1ZSBWYWxvciBhIGd1YXJkYXJcblx0ICogQHBhcmFtIG1ldGFkYXRhIE9wY2lvbmVzIGV4dHJhIHF1ZSBwdWVkZSBuZWNlc2l0YXIgZWwgc2VydmljaW8uXG5cdCAqL1xuXHRzZXRJdGVtKGtleTogc3RyaW5nLCB2YWx1ZTogYW55LCBtZXRhZGF0YTogYW55ID0geyBwYXRoOiAnLycgfSkge1xuXHRcdHRoaXMuX3N0b3JhZ2Uuc2V0KGtleSwgdmFsdWUpLnN1YnNjcmliZSgoKSA9PiB7IH0pO1xuXHR9XG5cdC8qKlxuXHQgKiBSZW11ZXZlIGVsIGl0ZW0gZGVsIHN0b3JhZ2UuXG5cdCAqIEBwYXJhbSBrZXkgQ2xhdmUgZGVsIGl0ZW0gZGVsIHN0b3JhZ2UgYSBlbGltaW5hci5cblx0ICogQHBhcmFtIG1ldGFkYXRhIE9wY2lvbmVzIGV4dHJhIHF1ZSBwdWVkZSBuZWNlc2l0YXIgZWwgc2VydmljaW8uXG5cdCAqL1xuXHRyZW1vdmVJdGVtKGtleTogc3RyaW5nLCBtZXRhZGF0YT86IGFueSk6IHZvaWQge1xuXHRcdHRoaXMuX3N0b3JhZ2UuZGVsZXRlKGtleSkuc3Vic2NyaWJlKCgpID0+IHsgfSk7XG5cdH1cblx0LyoqXG5cdCAqIExpbXBpYSBlbCBTdG9yYWdlLlxuXHQgKi9cblx0Y2xlYXIoKTogdm9pZCB7XG5cdFx0dGhpcy5fc3RvcmFnZS5jbGVhcigpLnN1YnNjcmliZSgoKSA9PiB7IH0pO1xuXHR9XG5cdGtleShpbmRleDogbnVtYmVyKTogc3RyaW5nIHwgbnVsbCB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuXHR9XG5cbn1cbiJdfQ==
|
|
@@ -326,4 +326,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
326
326
|
providedIn: 'root'
|
|
327
327
|
}]
|
|
328
328
|
}], ctorParameters: () => [] });
|
|
329
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL29wdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsV0FBVyxFQUFRLE1BQU0sTUFBTSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFHekU7OztHQUdHO0FBSUgsTUFBTSxPQUFPLGNBQWM7SUFDMUI7O09BRUc7SUFDSyxVQUFVLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDL0M7O09BRUc7SUFDSyxVQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pDOztPQUVHO0lBQ0ssU0FBUyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ2pEOztPQUVHO0lBQ0ssWUFBWSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ25EOztPQUVHO0lBQ0ssaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQWEsRUFBRSxDQUFDLENBQUM7SUFDeEQsV0FBVyxHQUEyQixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEY7O09BRUc7SUFDSyxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQVksRUFBRSxDQUFDLENBQUM7SUFDckQsU0FBUyxHQUEwQixJQUFJ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Q0FBQztnQkFDRixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25CLENBQUMsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxNQUFNLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0FuVVcsY0FBYzs0R0FBZCxjQUFjLGNBRmQsTUFBTTs7NEZBRU4sY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29ubmVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9hcGknO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNhdGNoRXJyb3IsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHNoYXJlUmVwbGF5LCB0YWtlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFwaUNvbnN0YW50c1NlcnZpY2UsIENvcmVDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQXR0cmlidXRlLCBDYXRlZ29yeSwgRkFRLCBTZWN0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gJy4uL2NsYXNzZXMnO1xyXG4vKipcclxuICogRXN0ZSBzZXJ2aWNpbyBwZXJtaXRlIG1hbmVqYSBsYXMgQ2F0ZWdvcmlhcywgU2VjY2lvbmVzIHkgQXRyaWJ1dG9zIGNvbW8gbWVudWVzIFxyXG4gKiBwYXJhIGxhIGFwbGljYWNpw7NuLiBcclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE9wdGlvbnNTZXJ2aWNlIHtcclxuXHQvKipcclxuXHQgKiBNYW5lamEgbGFzIHBldGljaW9uZXMgYSBsYSBBUElcclxuXHQgKi9cclxuXHRwcml2YXRlIGNvbm5lY3Rpb24gPSBpbmplY3QoQ29ubmVjdGlvblNlcnZpY2UpO1xyXG5cdC8qKlxyXG5cdCAqIFBsYXRmb3JtIElEIHBhcmEgdmVyaWZpY2FyIHNpIGVzdGFtb3MgZW4gZWwgbmF2ZWdhZG9yXHJcblx0ICovXHJcblx0cHJpdmF0ZSBwbGF0Zm9ybUlkID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcclxuXHQvKipcclxuXHQgKiBDb25zdGFudGVzIGRlbCBjb3JlXHJcblx0ICovXHJcblx0cHJpdmF0ZSBjb25zdGFudHMgPSBpbmplY3QoQ29yZUNvbnN0YW50c1NlcnZpY2UpO1xyXG5cdC8qKlxyXG5cdCAqIENvbnN0YW50ZXMgZGUgbGEgQVBJXHJcblx0ICovXHJcblx0cHJpdmF0ZSBhcGlDb25zdGFudHMgPSBpbmplY3QoQXBpQ29uc3RhbnRzU2VydmljZSk7XHJcblx0LyoqXHJcblx0ICogTWFuZWphIGxvcyBjYW1iaW9zIGVuIGxhcyBjYXRlZ29yaWFzXHJcblx0ICovXHJcblx0cHJpdmF0ZSBjYXRlZ29yaWVzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2F0ZWdvcnlbXT4oW10pO1xyXG5cdHByaXZhdGUgY2F0ZWdvcmllcyQ6IE9ic2VydmFibGU8Q2F0ZWdvcnlbXT4gPSB0aGlzLmNhdGVnb3JpZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cdC8qKlxyXG5cdCAqIE1hbmVqYSBsb3MgY2FtYmlvcyBlbiBsYXMgc2VjY2lvbmVzXHJcblx0ICovXHJcblx0cHJpdmF0ZSBzZWN0aW9uc1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNlY3Rpb25bXT4oW10pO1xyXG5cdHByaXZhdGUgc2VjdGlvbnMkOiBPYnNlcnZhYmxlPFNlY3Rpb25bXT4gPSB0aGlzLnNlY3Rpb25zU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHQvKipcclxuXHQgKiBNYW5lamEgbG9zIGNhbWJpb3MgZW4gbG9zIGF0cmlidXRvc1xyXG5cdCAqL1xyXG5cdHByaXZhdGUgYXR0cmlidXRlc1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF0dHJpYnV0ZVtdPihbXSk7XHJcblx0cHJpdmF0ZSBhdHRyaWJ1dGVzJDogT2JzZXJ2YWJsZTxBdHRyaWJ1dGVbXT4gPSB0aGlzLmF0dHJpYnV0ZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuXHQvL0FQSSBVUkxTXHJcblx0cHJpdmF0ZSByZWFkb25seSBTSE9QX0NIQU5ORUxfQVBJID0gYCR7dGhpcy5hcGlDb25zdGFudHMuU0hPUF9BUElfVVJMfSR7dGhpcy5hcGlDb25zdGFudHMuQ0hBTk5FTH0vYDtcclxuXHRwcml2YXRlIHJlYWRvbmx5IENNU19DSEFOTkVMX0FQSSA9IGAke3RoaXMuYXBpQ29uc3RhbnRzLkNNU19VUkx9JHt0aGlzLmFwaUNvbnN0YW50cy5DSEFOTkVMfS9gO1xyXG5cdC8qKlxyXG5cdCAqIERldnVlbHZlIGxhIFVSTCBwYXJhIG9idGVuZXIgbGFzIGNhdGVnb3JpYXMuXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHJpdmF0ZSB0YXhvbnNBcGkoKSB7IHJldHVybiBgJHt0aGlzLlNIT1BfQ0hBTk5FTF9BUEl9dGF4b25zLz9sb2NhbGU9JHt0aGlzLmFwaUNvbnN0YW50cy5MT0NBTEV9YCB9O1xyXG5cdC8qKlxyXG5cdCAqIERldnVlbHZlIGxhIFVSTCBwYXJhIG9idGVuZXIgbGFzIHNlY2Npb25lc1xyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHByaXZhdGUgc2VjdGlvbnNBcGkoKSB7IHJldHVybiBgJHt0aGlzLkNNU19DSEFOTkVMX0FQSX1zZWN0aW9ucy8/bG9jYWxlPSR7dGhpcy5hcGlDb25zdGFudHMuTE9DQUxFfWAgfTtcclxuXHQvKipcclxuXHQgKiBEZXZ1ZWx2ZSBsYSBVUkwgcGFyYSBvYnRlbmVyIGxvcyBhdHJpYnV0b3MuIFNlIGxlIHB1ZWRlIGFwbGljYXIgZmxpdHJvcy5cclxuXHQgKiBAcGFyYW0gZmlsdGVyIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHByaXZhdGUgYXR0cmlidXRlc0FwaShmaWx0ZXIgPSAnJykgeyByZXR1cm4gYCR7dGhpcy5TSE9QX0NIQU5ORUxfQVBJfXByb2R1Y3Qtc2VhcmNoL2F0dHJpYnV0ZXMvP2xvY2FsZT0ke3RoaXMuYXBpQ29uc3RhbnRzLkxPQ0FMRX0mbGltaXQ9MSZwYWdlPTEke2ZpbHRlcn1gIH07XHJcblx0cHJpdmF0ZSBmYXFzQXBpKCkgeyByZXR1cm4gJ2Ntcy8nICsgdGhpcy5hcGlDb25zdGFudHMuQ0hBTk5FTCArICcvZmFxJyB9O1xyXG4gICAgcHJpdmF0ZSBwYWdlQ29udGVudEJ5Q29kZUFwaSA9IChjb2RlOiBzdHJpbmcpID0+IHRoaXMuY21zQmFzZSgpICsgJy8nICsgdGhpcy5jb25zdGFudHMuZ2V0Q2hhbm5lbCgpICsgJy9wYWdlLycgKyBjb2RlO1xyXG5cdHByaXZhdGUgY21zQmFzZSA9ICgpID0+ICdjbXMvJyArIHRoaXMuYXBpQ29uc3RhbnRzLkxPQ0FMRTtcclxuXHRjb25zdHJ1Y3RvcigpIHsgfVxyXG5cdC8qKlxyXG5cdCAqIE9idGllbmUgbGFzIGNhdGVnb3JpYXMgZGVsIGJhY2tlbmQuIFkgbG9zIG1hcGVhIHBhcmEgcXVlIHNlYSBtYXMgYW1pZ2FibGUgZWwgbWFuZWpvIGNvbW8gbWVuw7ouXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHVibGljIGdldENhdGVnb3JpZXMoKTogT2JzZXJ2YWJsZTxDYXRlZ29yeVtdPiB7XHJcblx0XHRpZiAodGhpcy5jYXRlZ29yaWVzU3ViamVjdC5nZXRWYWx1ZSgpLmxlbmd0aCA9PT0gMCkge1xyXG5cdFx0XHR0aGlzLmNvbm5lY3Rpb24uZ2V0KHRoaXMudGF4b25zQXBpKCkpLnBpcGUoXHJcblx0XHRcdFx0c2hhcmVSZXBsYXkoMSksXHJcblx0XHRcdFx0bWFwKChyZXNwb25zZTogQ2F0ZWdvcnlbXSkgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc3QgY2F0ZWdvcmllcyA9IHRoaXMuYXBwZW5kUGF0aHModHJ1ZSwgcmVzcG9uc2UpXHJcblx0XHRcdFx0XHR0aGlzLmNhdGVnb3JpZXNTdWJqZWN0Lm5leHQoY2F0ZWdvcmllcylcclxuXHRcdFx0XHRcdHJldHVybiBjYXRlZ29yaWVzXHJcblx0XHRcdFx0fSksXHJcblx0XHRcdFx0Y2F0Y2hFcnJvcigoZXJyb3I6IGFueSkgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coYEVycm9yOiAke2Vycm9yfWApXHJcblx0XHRcdFx0XHR0aGlzLmNhdGVnb3JpZXNTdWJqZWN0Lm5leHQoW10pXHJcblx0XHRcdFx0XHRyZXR1cm4gb2YoW10pXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0KS5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHRcdHJldHVybiB0aGlzLmNhdGVnb3JpZXMkO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBPYnRpZW5lIGxhcyBzZWNjaW9uZXMgZGVsIGJhY2tlbmQuIFkgbG9zIG1hcGVhIHBhcmEgcXVlIHNlYSBtYXMgYW1pZ2FibGUgZWwgbWFuZWpvIGNvbW8gbWVuw7ouXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHVibGljIGdldFNlY3Rpb25zKCk6IE9ic2VydmFibGU8U2VjdGlvbltdPiB7XHJcblx0XHRpZiAodGhpcy5zZWN0aW9uc1N1YmplY3QuZ2V0VmFsdWUoKS5sZW5ndGggPT09IDApIHtcclxuXHRcdFx0dGhpcy5jb25uZWN0aW9uLmdldCh0aGlzLnNlY3Rpb25zQXBpKCkpLnBpcGUoXHJcblx0XHRcdFx0c2hhcmVSZXBsYXkoMSksXHJcblx0XHRcdFx0bWFwKChyZXNwb25zZTogU2VjdGlvbltdKSA9PiB7XHJcblx0XHRcdFx0XHRsZXQgc2VjdGlvbnMgPSByZXNwb25zZS5maWx0ZXIoKHNlY3Rpb246IFNlY3Rpb24pID0+IHNlY3Rpb24uY29kZSAhPSAnaG9tZScpXHJcblx0XHRcdFx0XHRzZWN0aW9ucyA9IHNlY3Rpb25zLm1hcCgoc2VjdGlvbjogU2VjdGlvbikgPT4gdGhpcy5hcHBlbmRTZWN0aW9uKHNlY3Rpb24pKVxyXG5cdFx0XHRcdFx0dGhpcy5zZWN0aW9uc1N1YmplY3QubmV4dChzZWN0aW9ucylcclxuXHRcdFx0XHRcdHJldHVybiBzZWN0aW9uc1xyXG5cdFx0XHRcdH0pKS5zdWJzY3JpYmUoKVxyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHRoaXMuc2VjdGlvbnMkO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBPYnRpZW5lIGxvcyBhdHJpYnV0b3MgZGVsIGJhY2tlbmQuIFkgbG9zIG1hcGVhIHBhcmEgcXVlIHNlYSBtYXMgYW1pZ2FibGUgZWwgbWFuZWpvIGNvbW8gbWVuw7ouXHJcblx0ICogQHBhcmFtIHBhcmFtcyBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwdWJsaWMgZ2V0QXR0cmlidXRlcyhwYXJhbXM/OiBhbnkpOiBPYnNlcnZhYmxlPEF0dHJpYnV0ZVtdPiB7XHJcblx0XHRpZiAodGhpcy5hdHRyaWJ1dGVzU3ViamVjdC5nZXRWYWx1ZSgpLmxlbmd0aCA9PT0gMCkge1xyXG5cdFx0XHR0aGlzLmNvbm5lY3Rpb24uZ2V0KHRoaXMuYXR0cmlidXRlc0FwaShwYXJhbXMpKS5waXBlKFxyXG5cdFx0XHRcdHNoYXJlUmVwbGF5KDEpLFxyXG5cdFx0XHRcdG1hcCgocmVzcG9uc2U6IGFueSB8IEF0dHJpYnV0ZSkgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc3QgYXR0cmlidXRlcyA9IHRoaXMuYXBwZW5kUGF0aHMoZmFsc2UsIChyZXNwb25zZS5hdHRyaWJ1dGVzWzBdIHx8IHJlc3BvbnNlKSlcclxuXHRcdFx0XHRcdHRoaXMuYXR0cmlidXRlc1N1YmplY3QubmV4dChhdHRyaWJ1dGVzKVxyXG5cdFx0XHRcdFx0cmV0dXJuIGF0dHJpYnV0ZXNcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0KSkuc3Vic2NyaWJlKClcclxuXHRcdH1cclxuXHRcdHJldHVybiB0aGlzLmF0dHJpYnV0ZXMkO1xyXG5cdH1cclxuXHJcblxyXG5cdC8vIEhFTFBFUlNcclxuXHRzbHVnaWZ5KHZhbHVlOiBhbnkpOiBzdHJpbmcge1xyXG5cdFx0aWYgKCF2YWx1ZSB8fCB0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XHJcblx0XHRcdHJldHVybiAnJzsgLy8gbyBkZXZvbHZlciB1biBzbHVnIHBvciBkZWZlY3RvIHNpIHByZWZlcsOtc1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHZhbHVlLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXFxzKy9nLCAnLScpLnJlcGxhY2UoL1teXFx3XFwtXSsvZywgJycpO1xyXG5cdH1cdC8qKlxyXG5cdCAqIEVsaW1pbmEgbG9zIGFjZW50b3NcclxuXHQgKiBAcGFyYW0gc3RyIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHByaXZhdGUgcmVtb3ZlQWNjZW50cyhzdHI6IHN0cmluZykge1xyXG5cdFx0aWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgJiYgdHlwZW9mIFN0cmluZy5wcm90b3R5cGUubm9ybWFsaXplID09PSAnZnVuY3Rpb24nKSB7XHJcblx0XHRcdHJldHVybiBzdHIubm9ybWFsaXplKFwiTkZEXCIpLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csIFwiXCIpO1xyXG5cdFx0fVxyXG5cdFx0Ly8gRmFsbGJhY2sgcGFyYSBTU1IgLSByZW1vdmVyIGFjZW50b3MgbWFudWFsbWVudGVcclxuXHRcdHJldHVybiBzdHIucmVwbGFjZSgvW8Ogw6HDosOjw6TDpV0vZywgJ2EnKVxyXG5cdFx0XHQucmVwbGFjZSgvW8Oow6nDqsOrXS9nLCAnZScpXHJcblx0XHRcdC5yZXBsYWNlKC9bw6zDrcOuw69dL2csICdpJylcclxuXHRcdFx0LnJlcGxhY2UoL1vDssOzw7TDtcO2XS9nLCAnbycpXHJcblx0XHRcdC5yZXBsYWNlKC9bw7nDusO7w7xdL2csICd1JylcclxuXHRcdFx0LnJlcGxhY2UoL1vDvcO/XS9nLCAneScpXHJcblx0XHRcdC5yZXBsYWNlKC9bw7FdL2csICduJylcclxuXHRcdFx0LnJlcGxhY2UoL1vDp10vZywgJ2MnKVxyXG5cdFx0XHQucmVwbGFjZSgvW8OAw4HDgsODw4TDhV0vZywgJ0EnKVxyXG5cdFx0XHQucmVwbGFjZSgvW8OIw4nDisOLXS9nLCAnRScpXHJcblx0XHRcdC5yZXBsYWNlKC9bw4zDjcOOw49dL2csICdJJylcclxuXHRcdFx0LnJlcGxhY2UoL1vDksOTw5TDlcOWXS9nLCAnTycpXHJcblx0XHRcdC5yZXBsYWNlKC9bw5nDmsObw5xdL2csICdVJylcclxuXHRcdFx0LnJlcGxhY2UoL1vDncW4XS9nLCAnWScpXHJcblx0XHRcdC5yZXBsYWNlKC9bw5FdL2csICdOJylcclxuXHRcdFx0LnJlcGxhY2UoL1vDh10vZywgJ0MnKTtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogUmVhbGl6YSB1biBtYXBlbyBkZSBsb3MgZGF0b3MgcGFyYSBkYXJsZSB1biBmb3JtYXRvIG1hcyBlbnRlbmRpYmxlIGEgbGFcclxuXHQgKiBob3JhIGRlIHVzYXIgY29tbyB1biBtZW7Dui5cclxuXHQgKiBAcGFyYW0gaXNDYXRlZ29yeSBVdGlsaXphZG8gcGFyYSBkaWZlcmVuY2lhciBzaSBlcyBjYXRlZ29yw61hIG8gYXRyaWJ1dG8uXHJcblx0ICogQHBhcmFtIHJlc3BvbnNlIFJlc3B1ZXN0YSBxdWUgb2J0aWVuZSBkZWwgYmFja2VuZCBjb24gbG9zIGRhdG9zIGEgbWFwZWFyLlxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBhcHBlbmRQYXRocyhpc0NhdGVnb3J5OiBib29sZWFuLCByZXNwb25zZTogYW55KSB7XHJcblx0XHRjb25zdCBub3JtYWxpemVkUmVzcG9uc2UgPSBBcnJheS5pc0FycmF5KHJlc3BvbnNlKSA/IHJlc3BvbnNlIDogW3Jlc3BvbnNlXTtcclxuXHJcblx0XHRjb25zdCByZXN1bHQgPSBub3JtYWxpemVkUmVzcG9uc2UubWFwKChzdWJlbGVtZW50OiBhbnkpID0+IHtcclxuXHRcdFx0aWYgKCFzdWJlbGVtZW50LmNoaWxkcmVuIHx8IHN1YmVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID09IDApIHtcclxuXHRcdFx0XHRzdWJlbGVtZW50LmNoaWxkcmVuID0gW107XHJcblx0XHRcdFx0c3ViZWxlbWVudC5wYXRoID0gaXNDYXRlZ29yeVxyXG5cdFx0XHRcdFx0PyB0aGlzLmNvbnN0YW50cy5QUk9EVUNUX0xJU1RfUk9VVEUgKyAnY2F0ZWdvcmllcy8nICsgdGhpcy5zbHVnaWZ5KHN1YmVsZW1lbnQuc2x1ZyA/PyBzdWJlbGVtZW50Lm5hbWUpXHJcblx0XHRcdFx0XHQ6IHRoaXMuY29uc3RhbnRzLlBST0RVQ1RfTElTVF9ST1VURSArICdhdHRyaWJ1dGVzLycgKyB0aGlzLnNsdWdpZnkoc3ViZWxlbWVudC5zbHVnID8/IHN1YmVsZW1lbnQubmFtZSk7XHJcblx0XHRcdH0gZWxzZSBpZiAoc3ViZWxlbWVudC5jaGlsZHJlbikge1xyXG5cdFx0XHRcdHN1YmVsZW1lbnQuc2x1ZyA9IHN1YmVsZW1lbnQuc2x1ZyB8fCB0aGlzLnNsdWdpZnkoc3ViZWxlbWVudC5uYW1lKTtcclxuXHRcdFx0XHRzdWJlbGVtZW50LmNoaWxkcmVuID0gdGhpcy5hcHBlbmRQYXRocyhpc0NhdGVnb3J5LCBzdWJlbGVtZW50LmNoaWxkcmVuKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0c3ViZWxlbWVudC5wYXRoID0gaXNDYXRlZ29yeVxyXG5cdFx0XHRcdD8gdGhpcy5jb25zdGFudHMuUFJPRFVDVF9MSVNUX1JPVVRFICsgJ2NhdGVnb3JpZXMvJyArIHRoaXMuc2x1Z2lmeShzdWJlbGVtZW50LnNsdWcgPz8gc3ViZWxlbWVudC5uYW1lKVxyXG5cdFx0XHRcdDogdGhpcy5jb25zdGFudHMuUFJPRFVDVF9MSVNUX1JPVVRFICsgJ2F0dHJpYnV0ZXMvJyArIHRoaXMuc2x1Z2lmeShzdWJlbGVtZW50LnNsdWcgPz8gc3ViZWxlbWVudC5uYW1lKTtcclxuXHJcblx0XHRcdHJldHVybiBzdWJlbGVtZW50O1xyXG5cdFx0fSk7XHJcblxyXG5cdFx0cmV0dXJuIHJlc3VsdDtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogR2VuZXJhIHVuIG1hcGVvIGRlIHNlY2Npb25lcyBwYXJhIHF1ZSBxdWVkZW4gbWFzIGFtaWdhYmxlcyBhIGxhIGhvcmEgZGUgbWFuZWphciBjb21vIG1lbsO6LlxyXG5cdCAqIEBwYXJhbSBzZWN0aW9uIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHByaXZhdGUgYXBwZW5kU2VjdGlvbihzZWN0aW9uOiBhbnkpIHtcclxuXHRcdGxldCBkYXRhOiBhbnkgPSB7fTtcclxuXHRcdGlmIChzZWN0aW9uLnBhZ2VzPy5sZW5ndGgpIHtcclxuXHRcdFx0ZGF0YS50eXBlID0gJ3N1Yic7XHJcblx0XHRcdGRhdGEuY2hpbGRyZW4gPSBzZWN0aW9uLnBhZ2VzLm1hcCgocGFnZTogYW55KSA9PiB7XHJcblx0XHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRcdGNvZGU6IHBhZ2UuY29kZSxcclxuXHRcdFx0XHRcdG5hbWU6IHBhZ2UubmFtZSxcclxuXHRcdFx0XHRcdHR5cGU6ICdsaW5rJyxcclxuXHRcdFx0XHRcdHBhdGg6IHRoaXMuY29uc3RhbnRzLlNFQ1RJT05TX1JPVVRFICsgKHBhZ2Uuc2x1ZyA/IHBhZ2Uuc2x1ZyA6IHBhZ2UuY29kZSksXHJcblx0XHRcdFx0XHQvLyBwYXRoOiB0aGlzLmNvbnN0YW50cy5TRUNUSU9OU19ST1VURSArIHBhZ2Uuc2x1ZyxcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pO1xyXG5cdFx0XHQvL2RhdGEudGl0bGUgPSBzZWN0aW9uLm5hbWU7XHJcblx0XHRcdGRhdGEubmFtZSA9IHNlY3Rpb24ubmFtZTtcclxuXHRcdFx0ZGF0YS5wYXRoID0gdGhpcy5jb25zdGFudHMuU0VDVElPTlNfUk9VVEUgKyAoc2VjdGlvbi5zbHVnID8gc2VjdGlvbi5zbHVnIDogc2VjdGlvbi5jb2RlKTtcclxuXHRcdFx0ZGF0YS5jb2RlID0gc2VjdGlvbi5jb2RlO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0ZGF0YS5jb2RlID0gc2VjdGlvbi5jb2RlO1xyXG5cdFx0XHQvL2RhdGEudGl0bGUgPSBzZWN0aW9uLm5hbWU7XHJcblx0XHRcdGRhdGEubmFtZSA9IHNlY3Rpb24ubmFtZTtcclxuXHRcdFx0ZGF0YS50eXBlID0gJ2xpbmsnO1xyXG5cdFx0XHRkYXRhLmNoaWxkcmVuID0gW107XHJcblx0XHRcdGRhdGEucGF0aCA9IHRoaXMuY29uc3RhbnRzLlNFQ1RJT05TX1JPVVRFICsgKHNlY3Rpb24uc2x1ZyA/IHNlY3Rpb24uc2x1ZyA6IHNlY3Rpb24uY29kZSk7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gZGF0YTtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogTWFwZWEgbG9zIGVsZW1lbnRvcyBwYXJhIGRhcmxlIHVuIGZvcm1hdG8gbWFzIGFtaWdhYmxlIHBhcmEgbG9zIG1lbsO6ZXMgeSBmaWx0cm9zLlxyXG5cdCAqIEBwYXJhbSBlbGVtZW50cyBjYXRlZ29yaWFzIHwgYXRyaWJ1dG9zIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZW5lcmF0ZU1lbnUgPSAoZWxlbWVudHM6IGFueSkgPT4ge1xyXG5cdFx0cmV0dXJuIGVsZW1lbnRzLm1hcCgoZWxlbWVudDogYW55KSA9PiB7XHJcblx0XHRcdGlmIChlbGVtZW50LmNoaWxkcmVuICYmIGVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID09IDApIHtcclxuXHRcdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdFx0Li4uZWxlbWVudCxcclxuXHRcdFx0XHRcdHRpdGxlOiBlbGVtZW50Lm5hbWUsXHJcblx0XHRcdFx0XHRwYXRoOiBlbGVtZW50LnBhdGgsXHJcblx0XHRcdFx0XHR0eXBlOiAnbGluaycsXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0XHQuLi5lbGVtZW50LFxyXG5cdFx0XHRcdFx0dGl0bGU6IGVsZW1lbnQubmFtZSxcclxuXHRcdFx0XHRcdHR5cGU6ICdzdWInLFxyXG5cdFx0XHRcdFx0cGF0aDogZWxlbWVudC5wYXRoLFxyXG5cdFx0XHRcdFx0Y2hpbGRyZW46IChlbGVtZW50LmNoaWxkcmVuID8gdGhpcy5nZW5lcmF0ZU1lbnUoZWxlbWVudC5jaGlsZHJlbikgOiBbXSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH0pXHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIERldnVlbHZlIGxvcyBlbGVtZW50b3MgZGVsIGJyZWFkY3J1bWIuXHJcblx0ICogQHBhcmFtIGNvZGUgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0Z2V0QnJlYWRjcnVtYiA9IChjb2RlOiBhbnkpID0+IHtcclxuXHRcdGlmICghY29kZSkgcmV0dXJuIG51bGw7XHJcblx0XHRsZXQgYnJlYWRjcnVtYiA9IHRoaXMuZ2VuZXJhdGVCcmVhZGNydW1iKGNvZGUsIHRoaXMuZ2VuZXJhdGVNZW51KHRoaXMuY2F0ZWdvcmllc1N1YmplY3QudmFsdWUpLCBbXSk7XHJcblx0XHRpZiAoIWJyZWFkY3J1bWIgfHwgIWJyZWFkY3J1bWIubGVuZ3RoKSBicmVhZGNydW1iID0gdGhpcy5nZW5lcmF0ZUJyZWFkY3J1bWIoY29kZSwgdGhpcy5nZW5lcmF0ZU1lbnUodGhpcy5hdHRyaWJ1dGVzU3ViamVjdC52YWx1ZSksIFtdKTtcclxuXHRcdHJldHVybiAoYnJlYWRjcnVtYiAmJiBicmVhZGNydW1iLmxlbmd0aCkgJiYgYnJlYWRjcnVtYi5yZXZlcnNlKCk7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIEdlbmVyYSBsb3MgYnJlYWRjcnVtYnMgZW4gYmFzZSBhIGxvcyBmaWx0cm9zIGFwbGljYWRvcy5cclxuXHQgKiBAcGFyYW0gZmlsdGVycyBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRnZXRCcmVhZGNydW1iQnlGaWx0ZXJzID0gKGZpbHRlcnM6IEZpbHRlcltdKSA9PiB7XHJcblx0XHRsZXQgZmluYWxfcmVzdWx0OiBhbnlbXSA9IFtdO1xyXG5cdFx0ZmlsdGVycy5mb3JFYWNoKGZpbHRlciA9PiB7XHJcblx0XHRcdGxldCByZXN1bHQgPSBmaWx0ZXIuZ2V0U2VsZWN0ZWRMaXN0KCk7XHJcblx0XHRcdGlmICghcmVzdWx0IHx8ICFyZXN1bHQubGVuZ3RoKSByZXR1cm47XHJcblxyXG5cdFx0XHRpZiAoZmlsdGVyLnR5cGUoKSA9PSAnY2F0ZWdvcmllcycpIGZpbmFsX3Jlc3VsdC51bnNoaWZ0KC4uLnRoaXMuZ2VuZXJhdGVCcmVhZGNydW1iKHJlc3VsdFswXSwgZmlsdGVyLmRhdGEsIFtdKS5yZXZlcnNlKCkpO1xyXG5cdFx0XHRlbHNlIHJlc3VsdC5mb3JFYWNoKFxyXG5cdFx0XHRcdChjb2RlOiBhbnkpID0+IHtcclxuXHRcdFx0XHRcdGxldCBicmVhZGNydW1iID0gdGhpcy5nZW5lcmF0ZUJyZWFkY3J1bWIoY29kZSwgZmlsdGVyLmRhdGEsIFtdKVxyXG5cdFx0XHRcdFx0YnJlYWRjcnVtYi5sZW5ndGggJiYgZmluYWxfcmVzdWx0LnB1c2goYnJlYWRjcnVtYlswXSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQpO1xyXG5cdFx0fSk7XHJcblxyXG5cdFx0cmV0dXJuIGZpbmFsX3Jlc3VsdDtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogR2VuZXJhIGVsIGxpc3RhZG8gZGUgYnJlYWRjcnVtYi5cclxuXHQgKiBAcGFyYW0gY29kZSBcclxuXHQgKiBAcGFyYW0gZWxlbWVudHMgZmlsdHJvcyBhY3R1YWxlcyBlbiBlbCBmcm9udGVuZFxyXG5cdCAqIEBwYXJhbSByZXN1bHQgZGF0b3MgYSBhY3R1YWxpemFyIGNvbiBlbCBudWV2byBsaXN0YWRvIGRlIGJyZWFkY3J1bWJcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwcml2YXRlIGdlbmVyYXRlQnJlYWRjcnVtYiA9IChjb2RlOiBzdHJpbmcsIGVsZW1lbnRzOiBhbnksIHJlc3VsdDogYW55KSA9PiB7XHJcblx0XHRsZXQgZWxlbWVudCA9IGVsZW1lbnRzLmZpbmQoKGVsZW06IGFueSkgPT4gZWxlbS5jb2RlID09IGNvZGUpO1xyXG5cdFx0aWYgKGVsZW1lbnQpIHtcclxuXHRcdFx0cmVzdWx0LnB1c2goZWxlbWVudCk7XHJcblx0XHR9XHJcblx0XHRlbHNlIHtcclxuXHRcdFx0ZWxlbWVudHMuc29tZSgoZWxlbTogYW55KSA9PiB7XHJcblx0XHRcdFx0aWYgKGVsZW0uY2hpbGRyZW4gJiYgZWxlbS5jaGlsZHJlbi5sZW5ndGgpIHtcclxuXHRcdFx0XHRcdGNvbnN0IGxlbmd0aCA9IHJlc3VsdC5sZW5ndGg7XHJcblx0XHRcdFx0XHRsZXQgbmV3X3Jlc3VsdCA9IHRoaXMuZ2VuZXJhdGVCcmVhZGNydW1iKGNvZGUsIGVsZW0uY2hpbGRyZW4sIHJlc3VsdCk7XHJcblx0XHRcdFx0XHRpZiAobmV3X3Jlc3VsdC5sZW5ndGggPiBsZW5ndGgpIHtcclxuXHRcdFx0XHRcdFx0cmVzdWx0ID0gbmV3X3Jlc3VsdDtcclxuXHRcdFx0XHRcdFx0cmVzdWx0LnB1c2goZWxlbSk7XHJcblx0XHRcdFx0XHRcdHJldHVybiB0cnVlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHRcdH0pXHJcblx0XHR9XHJcblx0XHRyZXR1cm4gcmVzdWx0O1xyXG5cdH1cclxuXHRwdWJsaWMgZ2V0U2VjdGlvbkNvbnRlbnRCeUxpbmsgPSAobGluazogYW55KSA9PlxyXG5cdFx0dGhpcy5jb25uZWN0aW9uLmdldEhUTUwodGhpcy5wYWdlQ29udGVudEJ5Q29kZUFwaShsaW5rKSkucGlwZShcclxuXHRcdFx0bWFwKGh0bWwgPT4gaHRtbC5zcGxpdCgnPC9oZWFkPicpW2h0bWwuc3BsaXQoJzwvaGVhZD4nKS5sZW5ndGggLSAxXSksXHJcblx0XHRcdGNhdGNoRXJyb3IoZSA9PiBvZihmYWxzZSkpXHJcblx0XHQpO1xyXG5cclxuXHRcdFxyXG5cclxuXHRnZXRGQVEoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5jb25uZWN0aW9uLmdldCh0aGlzLmZhcXNBcGkoKSkucGlwZShtYXAocmVzcG9uc2UgPT4ge1xyXG5cdFx0XHRsZXQgcmVzdWx0OiBGQVFbXSA9IFtdO1xyXG5cdFx0XHRyZXNwb25zZS5mb3JFYWNoKChyZXNwb25zZV9mYXE6IGFueSkgPT4ge1xyXG5cdFx0XHRcdGxldCBmYXFzOiBGQVEgPSB7XHJcblx0XHRcdFx0XHRjb2RlOiByZXNwb25zZV9mYXEuY29kZSxcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiByZXNwb25zZV9mYXEucG9zaXRpb24sXHJcblx0XHRcdFx0XHR0aXRsZTogcmVzcG9uc2VfZmFxLnRyYW5zbGF0aW9uc1t0aGlzLmFwaUNvbnN0YW50cy5MT0NBTEVdLnRvcGljLFxyXG5cdFx0XHRcdFx0cXVlc3Rpb25zOiByZXNwb25zZV9mYXEuZnJlcXVlbnRseUFza2VkUXVlc3Rpb25zLm1hcCgoYXNrZWRfcXVlc3Rpb246IGFueSkgPT4gKHtcclxuXHRcdFx0XHRcdFx0Y29kZTogYXNrZWRfcXVlc3Rpb24uY29kZSxcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFza2VkX3F1ZXN0aW9uLnBvc2l0aW9uLFxyXG5cdFx0XHRcdFx0XHRxdWVzdGlvbjogYXNrZWRfcXVlc3Rpb24udHJhbnNsYXRpb25zW3RoaXMuYXBpQ29uc3RhbnRzLkxPQ0FMRV0gPyBhc2tlZF9xdWVzdGlvbi50cmFuc2xhdGlvbnNbdGhpcy5hcGlDb25zdGFudHMuTE9DQUxFXS5xdWVzdGlvbiA6ICcnLFxyXG5cdFx0XHRcdFx0XHRhbnN3ZXI6IGFza2VkX3F1ZXN0aW9uLnRyYW5zbGF0aW9uc1t0aGlzLmFwaUNvbnN0YW50cy5MT0NBTEVdID8gYXNrZWRfcXVlc3Rpb24udHJhbnNsYXRpb25zW3RoaXMuYXBpQ29uc3RhbnRzLkxPQ0FMRV0uYW5zd2VyIDogJycsXHJcblx0XHRcdFx0XHR9KSlcclxuXHRcdFx0XHR9O1xyXG5cdFx0XHRcdHJlc3VsdC5wdXNoKGZhcXMpO1xyXG5cdFx0XHR9KVxyXG5cdFx0XHRyZXR1cm4gcmVzdWx0O1xyXG5cdFx0fSkpO1xyXG5cdH1cclxufSBcclxuIl19
|
|
329
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL29wdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsV0FBVyxFQUFRLE1BQU0sTUFBTSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFHekU7OztHQUdHO0FBSUgsTUFBTSxPQUFPLGNBQWM7SUFDMUI7O09BRUc7SUFDSyxVQUFVLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDL0M7O09BRUc7SUFDSyxVQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pDOztPQUVHO0lBQ0ssU0FBUyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ2pEOztPQUVHO0lBQ0ssWUFBWSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ25EOztPQUVHO0lBQ0ssaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQWEsRUFBRSxDQUFDLENBQUM7SUFDeEQsV0FBVyxHQUEyQixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEY7O09BRUc7SUFDSyxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQVksRUFBRSxDQUFDLENBQUM7SUFDckQsU0FBUyxHQUEwQixJQUFJ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Q0FBQztnQkFDRixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25CLENBQUMsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxNQUFNLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0FuVVcsY0FBYzs0R0FBZCxjQUFjLGNBRmQsTUFBTTs7NEZBRU4sY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2FwaSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNhdGNoRXJyb3IsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHNoYXJlUmVwbGF5LCB0YWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcGlDb25zdGFudHNTZXJ2aWNlLCBDb3JlQ29uc3RhbnRzU2VydmljZSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBBdHRyaWJ1dGUsIENhdGVnb3J5LCBGQVEsIFNlY3Rpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gJy4uL2NsYXNzZXMnO1xuLyoqXG4gKiBFc3RlIHNlcnZpY2lvIHBlcm1pdGUgbWFuZWphIGxhcyBDYXRlZ29yaWFzLCBTZWNjaW9uZXMgeSBBdHJpYnV0b3MgY29tbyBtZW51ZXMgXG4gKiBwYXJhIGxhIGFwbGljYWNpw7NuLiBcbiAqL1xuQEluamVjdGFibGUoe1xuXHRwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgT3B0aW9uc1NlcnZpY2Uge1xuXHQvKipcblx0ICogTWFuZWphIGxhcyBwZXRpY2lvbmVzIGEgbGEgQVBJXG5cdCAqL1xuXHRwcml2YXRlIGNvbm5lY3Rpb24gPSBpbmplY3QoQ29ubmVjdGlvblNlcnZpY2UpO1xuXHQvKipcblx0ICogUGxhdGZvcm0gSUQgcGFyYSB2ZXJpZmljYXIgc2kgZXN0YW1vcyBlbiBlbCBuYXZlZ2Fkb3Jcblx0ICovXG5cdHByaXZhdGUgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG5cdC8qKlxuXHQgKiBDb25zdGFudGVzIGRlbCBjb3JlXG5cdCAqL1xuXHRwcml2YXRlIGNvbnN0YW50cyA9IGluamVjdChDb3JlQ29uc3RhbnRzU2VydmljZSk7XG5cdC8qKlxuXHQgKiBDb25zdGFudGVzIGRlIGxhIEFQSVxuXHQgKi9cblx0cHJpdmF0ZSBhcGlDb25zdGFudHMgPSBpbmplY3QoQXBpQ29uc3RhbnRzU2VydmljZSk7XG5cdC8qKlxuXHQgKiBNYW5lamEgbG9zIGNhbWJpb3MgZW4gbGFzIGNhdGVnb3JpYXNcblx0ICovXG5cdHByaXZhdGUgY2F0ZWdvcmllc1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENhdGVnb3J5W10+KFtdKTtcblx0cHJpdmF0ZSBjYXRlZ29yaWVzJDogT2JzZXJ2YWJsZTxDYXRlZ29yeVtdPiA9IHRoaXMuY2F0ZWdvcmllc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cdC8qKlxuXHQgKiBNYW5lamEgbG9zIGNhbWJpb3MgZW4gbGFzIHNlY2Npb25lc1xuXHQgKi9cblx0cHJpdmF0ZSBzZWN0aW9uc1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNlY3Rpb25bXT4oW10pO1xuXHRwcml2YXRlIHNlY3Rpb25zJDogT2JzZXJ2YWJsZTxTZWN0aW9uW10+ID0gdGhpcy5zZWN0aW9uc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cdC8qKlxuXHQgKiBNYW5lamEgbG9zIGNhbWJpb3MgZW4gbG9zIGF0cmlidXRvc1xuXHQgKi9cblx0cHJpdmF0ZSBhdHRyaWJ1dGVzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXR0cmlidXRlW10+KFtdKTtcblx0cHJpdmF0ZSBhdHRyaWJ1dGVzJDogT2JzZXJ2YWJsZTxBdHRyaWJ1dGVbXT4gPSB0aGlzLmF0dHJpYnV0ZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG5cdC8vQVBJIFVSTFNcblx0cHJpdmF0ZSByZWFkb25seSBTSE9QX0NIQU5ORUxfQVBJID0gYCR7dGhpcy5hcGlDb25zdGFudHMuU0hPUF9BUElfVVJMfSR7dGhpcy5hcGlDb25zdGFudHMuQ0hBTk5FTH0vYDtcblx0cHJpdmF0ZSByZWFkb25seSBDTVNfQ0hBTk5FTF9BUEkgPSBgJHt0aGlzLmFwaUNvbnN0YW50cy5DTVNfVVJMfSR7dGhpcy5hcGlDb25zdGFudHMuQ0hBTk5FTH0vYDtcblx0LyoqXG5cdCAqIERldnVlbHZlIGxhIFVSTCBwYXJhIG9idGVuZXIgbGFzIGNhdGVnb3JpYXMuXG5cdCAqIEByZXR1cm5zIFxuXHQgKi9cblx0cHJpdmF0ZSB0YXhvbnNBcGkoKSB7IHJldHVybiBgJHt0aGlzLlNIT1BfQ0hBTk5FTF9BUEl9dGF4b25zLz9sb2NhbGU9JHt0aGlzLmFwaUNvbnN0YW50cy5MT0NBTEV9YCB9O1xuXHQvKipcblx0ICogRGV2dWVsdmUgbGEgVVJMIHBhcmEgb2J0ZW5lciBsYXMgc2VjY2lvbmVzXG5cdCAqIEByZXR1cm5zIFxuXHQgKi9cblx0cHJpdmF0ZSBzZWN0aW9uc0FwaSgpIHsgcmV0dXJuIGAke3RoaXMuQ01TX0NIQU5ORUxfQVBJfXNlY3Rpb25zLz9sb2NhbGU9JHt0aGlzLmFwaUNvbnN0YW50cy5MT0NBTEV9YCB9O1xuXHQvKipcblx0ICogRGV2dWVsdmUgbGEgVVJMIHBhcmEgb2J0ZW5lciBsb3MgYXRyaWJ1dG9zLiBTZSBsZSBwdWVkZSBhcGxpY2FyIGZsaXRyb3MuXG5cdCAqIEBwYXJhbSBmaWx0ZXIgXG5cdCAqIEByZXR1cm5zIFxuXHQgKi9cblx0cHJpdmF0ZSBhdHRyaWJ1dGVzQXBpKGZpbHRlciA9ICcnKSB7IHJldHVybiBgJHt0aGlzLlNIT1BfQ0hBTk5FTF9BUEl9cHJvZHVjdC1zZWFyY2gvYXR0cmlidXRlcy8/bG9jYWxlPSR7dGhpcy5hcGlDb25zdGFudHMuTE9DQUxFfSZsaW1pdD0xJnBhZ2U9MSR7ZmlsdGVyfWAgfTtcblx0cHJpdmF0ZSBmYXFzQXBpKCkgeyByZXR1cm4gJ2Ntcy8nICsgdGhpcy5hcGlDb25zdGFudHMuQ0hBTk5FTCArICcvZmFxJyB9O1xuICAgIHByaXZhdGUgcGFnZUNvbnRlbnRCeUNvZGVBcGkgPSAoY29kZTogc3RyaW5nKSA9PiB0aGlzLmNtc0Jhc2UoKSArICcvJyArIHRoaXMuY29uc3RhbnRzLmdldENoYW5uZWwoKSArICcvcGFnZS8nICsgY29kZTtcblx0cHJpdmF0ZSBjbXNCYXNlID0gKCkgPT4gJ2Ntcy8nICsgdGhpcy5hcGlDb25zdGFudHMuTE9DQUxFO1xuXHRjb25zdHJ1Y3RvcigpIHsgfVxuXHQvKipcblx0ICogT2J0aWVuZSBsYXMgY2F0ZWdvcmlhcyBkZWwgYmFja2VuZC4gWSBsb3MgbWFwZWEgcGFyYSBxdWUgc2VhIG1hcyBhbWlnYWJsZSBlbCBtYW5lam8gY29tbyBtZW7Dui5cblx0ICogQHJldHVybnMgXG5cdCAqL1xuXHRwdWJsaWMgZ2V0Q2F0ZWdvcmllcygpOiBPYnNlcnZhYmxlPENhdGVnb3J5W10+IHtcblx0XHRpZiAodGhpcy5jYXRlZ29yaWVzU3ViamVjdC5nZXRWYWx1ZSgpLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0dGhpcy5jb25uZWN0aW9uLmdldCh0aGlzLnRheG9uc0FwaSgpKS5waXBlKFxuXHRcdFx0XHRzaGFyZVJlcGxheSgxKSxcblx0XHRcdFx0bWFwKChyZXNwb25zZTogQ2F0ZWdvcnlbXSkgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IGNhdGVnb3JpZXMgPSB0aGlzLmFwcGVuZFBhdGhzKHRydWUsIHJlc3BvbnNlKVxuXHRcdFx0XHRcdHRoaXMuY2F0ZWdvcmllc1N1YmplY3QubmV4dChjYXRlZ29yaWVzKVxuXHRcdFx0XHRcdHJldHVybiBjYXRlZ29yaWVzXG5cdFx0XHRcdH0pLFxuXHRcdFx0XHRjYXRjaEVycm9yKChlcnJvcjogYW55KSA9PiB7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2coYEVycm9yOiAke2Vycm9yfWApXG5cdFx0XHRcdFx0dGhpcy5jYXRlZ29yaWVzU3ViamVjdC5uZXh0KFtdKVxuXHRcdFx0XHRcdHJldHVybiBvZihbXSlcblx0XHRcdFx0fSlcblx0XHRcdCkuc3Vic2NyaWJlKCk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLmNhdGVnb3JpZXMkO1xuXHR9XG5cdC8qKlxuXHQgKiBPYnRpZW5lIGxhcyBzZWNjaW9uZXMgZGVsIGJhY2tlbmQuIFkgbG9zIG1hcGVhIHBhcmEgcXVlIHNlYSBtYXMgYW1pZ2FibGUgZWwgbWFuZWpvIGNvbW8gbWVuw7ouXG5cdCAqIEByZXR1cm5zIFxuXHQgKi9cblx0cHVibGljIGdldFNlY3Rpb25zKCk6IE9ic2VydmFibGU8U2VjdGlvbltdPiB7XG5cdFx0aWYgKHRoaXMuc2VjdGlvbnNTdWJqZWN0LmdldFZhbHVlKCkubGVuZ3RoID09PSAwKSB7XG5cdFx0XHR0aGlzLmNvbm5lY3Rpb24uZ2V0KHRoaXMuc2VjdGlvbnNBcGkoKSkucGlwZShcblx0XHRcdFx0c2hhcmVSZXBsYXkoMSksXG5cdFx0XHRcdG1hcCgocmVzcG9uc2U6IFNlY3Rpb25bXSkgPT4ge1xuXHRcdFx0XHRcdGxldCBzZWN0aW9ucyA9IHJlc3BvbnNlLmZpbHRlcigoc2VjdGlvbjogU2VjdGlvbikgPT4gc2VjdGlvbi5jb2RlICE9ICdob21lJylcblx0XHRcdFx0XHRzZWN0aW9ucyA9IHNlY3Rpb25zLm1hcCgoc2VjdGlvbjogU2VjdGlvbikgPT4gdGhpcy5hcHBlbmRTZWN0aW9uKHNlY3Rpb24pKVxuXHRcdFx0XHRcdHRoaXMuc2VjdGlvbnNTdWJqZWN0Lm5leHQoc2VjdGlvbnMpXG5cdFx0XHRcdFx0cmV0dXJuIHNlY3Rpb25zXG5cdFx0XHRcdH0pKS5zdWJzY3JpYmUoKVxuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5zZWN0aW9ucyQ7XG5cdH1cblx0LyoqXG5cdCAqIE9idGllbmUgbG9zIGF0cmlidXRvcyBkZWwgYmFja2VuZC4gWSBsb3MgbWFwZWEgcGFyYSBxdWUgc2VhIG1hcyBhbWlnYWJsZSBlbCBtYW5lam8gY29tbyBtZW7Dui5cblx0ICogQHBhcmFtIHBhcmFtcyBcblx0ICogQHJldHVybnMgXG5cdCAqL1xuXHRwdWJsaWMgZ2V0QXR0cmlidXRlcyhwYXJhbXM/OiBhbnkpOiBPYnNlcnZhYmxlPEF0dHJpYnV0ZVtdPiB7XG5cdFx0aWYgKHRoaXMuYXR0cmlidXRlc1N1YmplY3QuZ2V0VmFsdWUoKS5sZW5ndGggPT09IDApIHtcblx0XHRcdHRoaXMuY29ubmVjdGlvbi5nZXQodGhpcy5hdHRyaWJ1dGVzQXBpKHBhcmFtcykpLnBpcGUoXG5cdFx0XHRcdHNoYXJlUmVwbGF5KDEpLFxuXHRcdFx0XHRtYXAoKHJlc3BvbnNlOiBhbnkgfCBBdHRyaWJ1dGUpID0+IHtcblx0XHRcdFx0XHRjb25zdCBhdHRyaWJ1dGVzID0gdGhpcy5hcHBlbmRQYXRocyhmYWxzZSwgKHJlc3BvbnNlLmF0dHJpYnV0ZXNbMF0gfHwgcmVzcG9uc2UpKVxuXHRcdFx0XHRcdHRoaXMuYXR0cmlidXRlc1N1YmplY3QubmV4dChhdHRyaWJ1dGVzKVxuXHRcdFx0XHRcdHJldHVybiBhdHRyaWJ1dGVzXG5cdFx0XHRcdH1cblx0XHRcdFx0KSkuc3Vic2NyaWJlKClcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMuYXR0cmlidXRlcyQ7XG5cdH1cblxuXG5cdC8vIEhFTFBFUlNcblx0c2x1Z2lmeSh2YWx1ZTogYW55KTogc3RyaW5nIHtcblx0XHRpZiAoIXZhbHVlIHx8IHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcblx0XHRcdHJldHVybiAnJzsgLy8gbyBkZXZvbHZlciB1biBzbHVnIHBvciBkZWZlY3RvIHNpIHByZWZlcsOtc1xuXHRcdH1cblx0XHRyZXR1cm4gdmFsdWUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cXHMrL2csICctJykucmVwbGFjZSgvW15cXHdcXC1dKy9nLCAnJyk7XG5cdH1cdC8qKlxuXHQgKiBFbGltaW5hIGxvcyBhY2VudG9zXG5cdCAqIEBwYXJhbSBzdHIgXG5cdCAqIEByZXR1cm5zIFxuXHQgKi9cblx0cHJpdmF0ZSByZW1vdmVBY2NlbnRzKHN0cjogc3RyaW5nKSB7XG5cdFx0aWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgJiYgdHlwZW9mIFN0cmluZy5wcm90b3R5cGUubm9ybWFsaXplID09PSAnZnVuY3Rpb24nKSB7XG5cdFx0XHRyZXR1cm4gc3RyLm5vcm1hbGl6ZShcIk5GRFwiKS5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCBcIlwiKTtcblx0XHR9XG5cdFx0Ly8gRmFsbGJhY2sgcGFyYSBTU1IgLSByZW1vdmVyIGFjZW50b3MgbWFudWFsbWVudGVcblx0XHRyZXR1cm4gc3RyLnJlcGxhY2UoL1vDoMOhw6LDo8Okw6VdL2csICdhJylcblx0XHRcdC5yZXBsYWNlKC9bw6jDqcOqw6tdL2csICdlJylcblx0XHRcdC5yZXBsYWNlKC9bw6zDrcOuw69dL2csICdpJylcblx0XHRcdC5yZXBsYWNlKC9bw7LDs8O0w7XDtl0vZywgJ28nKVxuXHRcdFx0LnJlcGxhY2UoL1vDucO6w7vDvF0vZywgJ3UnKVxuXHRcdFx0LnJlcGxhY2UoL1vDvcO/XS9nLCAneScpXG5cdFx0XHQucmVwbGFjZSgvW8OxXS9nLCAnbicpXG5cdFx0XHQucmVwbGFjZSgvW8OnXS9nLCAnYycpXG5cdFx0XHQucmVwbGFjZSgvW8OAw4HDgsODw4TDhV0vZywgJ0EnKVxuXHRcdFx0LnJlcGxhY2UoL1vDiMOJw4rDi10vZywgJ0UnKVxuXHRcdFx0LnJlcGxhY2UoL1vDjMONw47Dj10vZywgJ0knKVxuXHRcdFx0LnJlcGxhY2UoL1vDksOTw5TDlcOWXS9nLCAnTycpXG5cdFx0XHQucmVwbGFjZSgvW8OZw5rDm8OcXS9nLCAnVScpXG5cdFx0XHQucmVwbGFjZSgvW8OdxbhdL2csICdZJylcblx0XHRcdC5yZXBsYWNlKC9bw5FdL2csICdOJylcblx0XHRcdC5yZXBsYWNlKC9bw4ddL2csICdDJyk7XG5cdH1cblx0LyoqXG5cdCAqIFJlYWxpemEgdW4gbWFwZW8gZGUgbG9zIGRhdG9zIHBhcmEgZGFybGUgdW4gZm9ybWF0byBtYXMgZW50ZW5kaWJsZSBhIGxhXG5cdCAqIGhvcmEgZGUgdXNhciBjb21vIHVuIG1lbsO6LlxuXHQgKiBAcGFyYW0gaXNDYXRlZ29yeSBVdGlsaXphZG8gcGFyYSBkaWZlcmVuY2lhciBzaSBlcyBjYXRlZ29yw61hIG8gYXRyaWJ1dG8uXG5cdCAqIEBwYXJhbSByZXNwb25zZSBSZXNwdWVzdGEgcXVlIG9idGllbmUgZGVsIGJhY2tlbmQgY29uIGxvcyBkYXRvcyBhIG1hcGVhci5cblx0ICogQHJldHVybnMgXG5cdCAqL1xuXHRwdWJsaWMgYXBwZW5kUGF0aHMoaXNDYXRlZ29yeTogYm9vbGVhbiwgcmVzcG9uc2U6IGFueSkge1xuXHRcdGNvbnN0IG5vcm1hbGl6ZWRSZXNwb25zZSA9IEFycmF5LmlzQXJyYXkocmVzcG9uc2UpID8gcmVzcG9uc2UgOiBbcmVzcG9uc2VdO1xuXG5cdFx0Y29uc3QgcmVzdWx0ID0gbm9ybWFsaXplZFJlc3BvbnNlLm1hcCgoc3ViZWxlbWVudDogYW55KSA9PiB7XG5cdFx0XHRpZiAoIXN1YmVsZW1lbnQuY2hpbGRyZW4gfHwgc3ViZWxlbWVudC5jaGlsZHJlbi5sZW5ndGggPT0gMCkge1xuXHRcdFx0XHRzdWJlbGVtZW50LmNoaWxkcmVuID0gW107XG5cdFx0XHRcdHN1YmVsZW1lbnQucGF0aCA9IGlzQ2F0ZWdvcnlcblx0XHRcdFx0XHQ/IHRoaXMuY29uc3RhbnRzLlBST0RVQ1RfTElTVF9ST1VURSArICdjYXRlZ29yaWVzLycgKyB0aGlzLnNsdWdpZnkoc3ViZWxlbWVudC5zbHVnID8/IHN1YmVsZW1lbnQubmFtZSlcblx0XHRcdFx0XHQ6IHRoaXMuY29uc3RhbnRzLlBST0RVQ1RfTElTVF9ST1VURSArICdhdHRyaWJ1dGVzLycgKyB0aGlzLnNsdWdpZnkoc3ViZWxlbWVudC5zbHVnID8/IHN1YmVsZW1lbnQubmFtZSk7XG5cdFx0XHR9IGVsc2UgaWYgKHN1YmVsZW1lbnQuY2hpbGRyZW4pIHtcblx0XHRcdFx0c3ViZWxlbWVudC5zbHVnID0gc3ViZWxlbWVudC5zbHVnIHx8IHRoaXMuc2x1Z2lmeShzdWJlbGVtZW50Lm5hbWUpO1xuXHRcdFx0XHRzdWJlbGVtZW50LmNoaWxkcmVuID0gdGhpcy5hcHBlbmRQYXRocyhpc0NhdGVnb3J5LCBzdWJlbGVtZW50LmNoaWxkcmVuKTtcblx0XHRcdH1cblxuXHRcdFx0c3ViZWxlbWVudC5wYXRoID0gaXNDYXRlZ29yeVxuXHRcdFx0XHQ/IHRoaXMuY29uc3RhbnRzLlBST0RVQ1RfTElTVF9ST1VURSArICdjYXRlZ29yaWVzLycgKyB0aGlzLnNsdWdpZnkoc3ViZWxlbWVudC5zbHVnID8/IHN1YmVsZW1lbnQubmFtZSlcblx0XHRcdFx0OiB0aGlzLmNvbnN0YW50cy5QUk9EVUNUX0xJU1RfUk9VVEUgKyAnYXR0cmlidXRlcy8nICsgdGhpcy5zbHVnaWZ5KHN1YmVsZW1lbnQuc2x1ZyA/PyBzdWJlbGVtZW50Lm5hbWUpO1xuXG5cdFx0XHRyZXR1cm4gc3ViZWxlbWVudDtcblx0XHR9KTtcblxuXHRcdHJldHVybiByZXN1bHQ7XG5cdH1cblx0LyoqXG5cdCAqIEdlbmVyYSB1biBtYXBlbyBkZSBzZWNjaW9uZXMgcGFyYSBxdWUgcXVlZGVuIG1hcyBhbWlnYWJsZXMgYSBsYSBob3JhIGRlIG1hbmVqYXIgY29tbyBtZW7Dui5cblx0ICogQHBhcmFtIHNlY3Rpb24gXG5cdCAqIEByZXR1cm5zIFxuXHQgKi9cblx0cHJpdmF0ZSBhcHBlbmRTZWN0aW9uKHNlY3Rpb246IGFueSkge1xuXHRcdGxldCBkYXRhOiBhbnkgPSB7fTtcblx0XHRpZiAoc2VjdGlvbi5wYWdlcz8ubGVuZ3RoKSB7XG5cdFx0XHRkYXRhLnR5cGUgPSAnc3ViJztcblx0XHRcdGRhdGEuY2hpbGRyZW4gPSBzZWN0aW9uLnBhZ2VzLm1hcCgocGFnZTogYW55KSA9PiB7XG5cdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0Y29kZTogcGFnZS5jb2RlLFxuXHRcdFx0XHRcdG5hbWU6IHBhZ2UubmFtZSxcblx0XHRcdFx0XHR0eXBlOiAnbGluaycsXG5cdFx0XHRcdFx0cGF0aDogdGhpcy5jb25zdGFudHMuU0VDVElPTlNfUk9VVEUgKyAocGFnZS5zbHVnID8gcGFnZS5zbHVnIDogcGFnZS5jb2RlKSxcblx0XHRcdFx0XHQvLyBwYXRoOiB0aGlzLmNvbnN0YW50cy5TRUNUSU9OU19ST1VURSArIHBhZ2Uuc2x1Zyxcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0XHQvL2RhdGEudGl0bGUgPSBzZWN0aW9uLm5hbWU7XG5cdFx0XHRkYXRhLm5hbWUgPSBzZWN0aW9uLm5hbWU7XG5cdFx0XHRkYXRhLnBhdGggPSB0aGlzLmNvbnN0YW50cy5TRUNUSU9OU19ST1VURSArIChzZWN0aW9uLnNsdWcgPyBzZWN0aW9uLnNsdWcgOiBzZWN0aW9uLmNvZGUpO1xuXHRcdFx0ZGF0YS5jb2RlID0gc2VjdGlvbi5jb2RlO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRkYXRhLmNvZGUgPSBzZWN0aW9uLmNvZGU7XG5cdFx0XHQvL2RhdGEudGl0bGUgPSBzZWN0aW9uLm5hbWU7XG5cdFx0XHRkYXRhLm5hbWUgPSBzZWN0aW9uLm5hbWU7XG5cdFx0XHRkYXRhLnR5cGUgPSAnbGluayc7XG5cdFx0XHRkYXRhLmNoaWxkcmVuID0gW107XG5cdFx0XHRkYXRhLnBhdGggPSB0aGlzLmNvbnN0YW50cy5TRUNUSU9OU19ST1VURSArIChzZWN0aW9uLnNsdWcgPyBzZWN0aW9uLnNsdWcgOiBzZWN0aW9uLmNvZGUpO1xuXHRcdH1cblx0XHRyZXR1cm4gZGF0YTtcblx0fVxuXHQvKipcblx0ICogTWFwZWEgbG9zIGVsZW1lbnRvcyBwYXJhIGRhcmxlIHVuIGZvcm1hdG8gbWFzIGFtaWdhYmxlIHBhcmEgbG9zIG1lbsO6ZXMgeSBmaWx0cm9zLlxuXHQgKiBAcGFyYW0gZWxlbWVudHMgY2F0ZWdvcmlhcyB8IGF0cmlidXRvcyBcblx0ICogQHJldHVybnMgXG5cdCAqL1xuXHRwdWJsaWMgZ2VuZXJhdGVNZW51ID0gKGVsZW1lbnRzOiBhbnkpID0+IHtcblx0XHRyZXR1cm4gZWxlbWVudHMubWFwKChlbGVtZW50OiBhbnkpID0+IHtcblx0XHRcdGlmIChlbGVtZW50LmNoaWxkcmVuICYmIGVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID09IDApIHtcblx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHQuLi5lbGVtZW50LFxuXHRcdFx0XHRcdHRpdGxlOiBlbGVtZW50Lm5hbWUsXG5cdFx0XHRcdFx0cGF0aDogZWxlbWVudC5wYXRoLFxuXHRcdFx0XHRcdHR5cGU6ICdsaW5rJyxcblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHQuLi5lbGVtZW50LFxuXHRcdFx0XHRcdHRpdGxlOiBlbGVtZW50Lm5hbWUsXG5cdFx0XHRcdFx0dHlwZTogJ3N1YicsXG5cdFx0XHRcdFx0cGF0aDogZWxlbWVudC5wYXRoLFxuXHRcdFx0XHRcdGNoaWxkcmVuOiAoZWxlbWVudC5jaGlsZHJlbiA/IHRoaXMuZ2VuZXJhdGVNZW51KGVsZW1lbnQuY2hpbGRyZW4pIDogW10pXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9KVxuXHR9XG5cdC8qKlxuXHQgKiBEZXZ1ZWx2ZSBsb3MgZWxlbWVudG9zIGRlbCBicmVhZGNydW1iLlxuXHQgKiBAcGFyYW0gY29kZSBcblx0ICogQHJldHVybnMgXG5cdCAqL1xuXHRnZXRCcmVhZGNydW1iID0gKGNvZGU6IGFueSkgPT4ge1xuXHRcdGlmICghY29kZSkgcmV0dXJuIG51bGw7XG5cdFx0bGV0IGJyZWFkY3J1bWIgPSB0aGlzLmdlbmVyYXRlQnJlYWRjcnVtYihjb2RlLCB0aGlzLmdlbmVyYXRlTWVudSh0aGlzLmNhdGVnb3JpZXNTdWJqZWN0LnZhbHVlKSwgW10pO1xuXHRcdGlmICghYnJlYWRjcnVtYiB8fCAhYnJlYWRjcnVtYi5sZW5ndGgpIGJyZWFkY3J1bWIgPSB0aGlzLmdlbmVyYXRlQnJlYWRjcnVtYihjb2RlLCB0aGlzLmdlbmVyYXRlTWVudSh0aGlzLmF0dHJpYnV0ZXNTdWJqZWN0LnZhbHVlKSwgW10pO1xuXHRcdHJldHVybiAoYnJlYWRjcnVtYiAmJiBicmVhZGNydW1iLmxlbmd0aCkgJiYgYnJlYWRjcnVtYi5yZXZlcnNlKCk7XG5cdH1cblx0LyoqXG5cdCAqIEdlbmVyYSBsb3MgYnJlYWRjcnVtYnMgZW4gYmFzZSBhIGxvcyBmaWx0cm9zIGFwbGljYWRvcy5cblx0ICogQHBhcmFtIGZpbHRlcnMgXG5cdCAqIEByZXR1cm5zIFxuXHQgKi9cblx0Z2V0QnJlYWRjcnVtYkJ5RmlsdGVycyA9IChmaWx0ZXJzOiBGaWx0ZXJbXSkgPT4ge1xuXHRcdGxldCBmaW5hbF9yZXN1bHQ6IGFueVtdID0gW107XG5cdFx0ZmlsdGVycy5mb3JFYWNoKGZpbHRlciA9PiB7XG5cdFx0XHRsZXQgcmVzdWx0ID0gZmlsdGVyLmdldFNlbGVjdGVkTGlzdCgpO1xuXHRcdFx0aWYgKCFyZXN1bHQgfHwgIXJlc3VsdC5sZW5ndGgpIHJldHVybjtcblxuXHRcdFx0aWYgKGZpbHRlci50eXBlKCkgPT0gJ2NhdGVnb3JpZXMnKSBmaW5hbF9yZXN1bHQudW5zaGlmdCguLi50aGlzLmdlbmVyYXRlQnJlYWRjcnVtYihyZXN1bHRbMF0sIGZpbHRlci5kYXRhLCBbXSkucmV2ZXJzZSgpKTtcblx0XHRcdGVsc2UgcmVzdWx0LmZvckVhY2goXG5cdFx0XHRcdChjb2RlOiBhbnkpID0+IHtcblx0XHRcdFx0XHRsZXQgYnJlYWRjcnVtYiA9IHRoaXMuZ2VuZXJhdGVCcmVhZGNydW1iKGNvZGUsIGZpbHRlci5kYXRhLCBbXSlcblx0XHRcdFx0XHRicmVhZGNydW1iLmxlbmd0aCAmJiBmaW5hbF9yZXN1bHQucHVzaChicmVhZGNydW1iWzBdKTtcblx0XHRcdFx0fVxuXHRcdFx0KTtcblx0XHR9KTtcblxuXHRcdHJldHVybiBmaW5hbF9yZXN1bHQ7XG5cdH1cblx0LyoqXG5cdCAqIEdlbmVyYSBlbCBsaXN0YWRvIGRlIGJyZWFkY3J1bWIuXG5cdCAqIEBwYXJhbSBjb2RlIFxuXHQgKiBAcGFyYW0gZWxlbWVudHMgZmlsdHJvcyBhY3R1YWxlcyBlbiBlbCBmcm9udGVuZFxuXHQgKiBAcGFyYW0gcmVzdWx0IGRhdG9zIGEgYWN0dWFsaXphciBjb24gZWwgbnVldm8gbGlzdGFkbyBkZSBicmVhZGNydW1iXG5cdCAqIEByZXR1cm5zIFxuXHQgKi9cblx0cHJpdmF0ZSBnZW5lcmF0ZUJyZWFkY3J1bWIgPSAoY29kZTogc3RyaW5nLCBlbGVtZW50czogYW55LCByZXN1bHQ6IGFueSkgPT4ge1xuXHRcdGxldCBlbGVtZW50ID0gZWxlbWVudHMuZmluZCgoZWxlbTogYW55KSA9PiBlbGVtLmNvZGUgPT0gY29kZSk7XG5cdFx0aWYgKGVsZW1lbnQpIHtcblx0XHRcdHJlc3VsdC5wdXNoKGVsZW1lbnQpO1xuXHRcdH1cblx0XHRlbHNlIHtcblx0XHRcdGVsZW1lbnRzLnNvbWUoKGVsZW06IGFueSkgPT4ge1xuXHRcdFx0XHRpZiAoZWxlbS5jaGlsZHJlbiAmJiBlbGVtLmNoaWxkcmVuLmxlbmd0aCkge1xuXHRcdFx0XHRcdGNvbnN0IGxlbmd0aCA9IHJlc3VsdC5sZW5ndGg7XG5cdFx0XHRcdFx0bGV0IG5ld19yZXN1bHQgPSB0aGlzLmdlbmVyYXRlQnJlYWRjcnVtYihjb2RlLCBlbGVtLmNoaWxkcmVuLCByZXN1bHQpO1xuXHRcdFx0XHRcdGlmIChuZXdfcmVzdWx0Lmxlbmd0aCA+IGxlbmd0aCkge1xuXHRcdFx0XHRcdFx0cmVzdWx0ID0gbmV3X3Jlc3VsdDtcblx0XHRcdFx0XHRcdHJlc3VsdC5wdXNoKGVsZW0pO1xuXHRcdFx0XHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdH0pXG5cdFx0fVxuXHRcdHJldHVybiByZXN1bHQ7XG5cdH1cblx0cHVibGljIGdldFNlY3Rpb25Db250ZW50QnlMaW5rID0gKGxpbms6IGFueSkgPT5cblx0XHR0aGlzLmNvbm5lY3Rpb24uZ2V0SFRNTCh0aGlzLnBhZ2VDb250ZW50QnlDb2RlQXBpKGxpbmspKS5waXBlKFxuXHRcdFx0bWFwKGh0bWwgPT4gaHRtbC5zcGxpdCgnPC9oZWFkPicpW2h0bWwuc3BsaXQoJzwvaGVhZD4nKS5sZW5ndGggLSAxXSksXG5cdFx0XHRjYXRjaEVycm9yKGUgPT4gb2YoZmFsc2UpKVxuXHRcdCk7XG5cblx0XHRcblxuXHRnZXRGQVEoKSB7XG5cdFx0cmV0dXJuIHRoaXMuY29ubmVjdGlvbi5nZXQodGhpcy5mYXFzQXBpKCkpLnBpcGUobWFwKHJlc3BvbnNlID0+IHtcblx0XHRcdGxldCByZXN1bHQ6IEZBUVtdID0gW107XG5cdFx0XHRyZXNwb25zZS5mb3JFYWNoKChyZXNwb25zZV9mYXE6IGFueSkgPT4ge1xuXHRcdFx0XHRsZXQgZmFxczogRkFRID0ge1xuXHRcdFx0XHRcdGNvZGU6IHJlc3BvbnNlX2ZhcS5jb2RlLFxuXHRcdFx0XHRcdHBvc2l0aW9uOiByZXNwb25zZV9mYXEucG9zaXRpb24sXG5cdFx0XHRcdFx0dGl0bGU6IHJlc3BvbnNlX2ZhcS50cmFuc2xhdGlvbnNbdGhpcy5hcGlDb25zdGFudHMuTE9DQUxFXS50b3BpYyxcblx0XHRcdFx0XHRxdWVzdGlvbnM6IHJlc3BvbnNlX2ZhcS5mcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMubWFwKChhc2tlZF9xdWVzdGlvbjogYW55KSA9PiAoe1xuXHRcdFx0XHRcdFx0Y29kZTogYXNrZWRfcXVlc3Rpb24uY29kZSxcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhc2tlZF9xdWVzdGlvbi5wb3NpdGlvbixcblx0XHRcdFx0XHRcdHF1ZXN0aW9uOiBhc2tlZF9xdWVzdGlvbi50cmFuc2xhdGlvbnNbdGhpcy5hcGlDb25zdGFudHMuTE9DQUxFXSA/IGFza2VkX3F1ZXN0aW9uLnRyYW5zbGF0aW9uc1t0aGlzLmFwaUNvbnN0YW50cy5MT0NBTEVdLnF1ZXN0aW9uIDogJycsXG5cdFx0XHRcdFx0XHRhbnN3ZXI6IGFza2VkX3F1ZXN0aW9uLnRyYW5zbGF0aW9uc1t0aGlzLmFwaUNvbnN0YW50cy5MT0NBTEVdID8gYXNrZWRfcXVlc3Rpb24udHJhbnNsYXRpb25zW3RoaXMuYXBpQ29uc3RhbnRzLkxPQ0FMRV0uYW5zd2VyIDogJycsXG5cdFx0XHRcdFx0fSkpXG5cdFx0XHRcdH07XG5cdFx0XHRcdHJlc3VsdC5wdXNoKGZhcXMpO1xuXHRcdFx0fSlcblx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0fSkpO1xuXHR9XG59IFxuIl19
|
|
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
64
64
|
providedIn: 'root'
|
|
65
65
|
}]
|
|
66
66
|
}], ctorParameters: () => [] });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItdXRpbGl0eS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL29yZGVyLXV0aWxpdHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0zQyxNQUFNLE9BQU8sbUJBQW1CO0lBRS9CLGdCQUFnQixDQUFDO0lBQ2pCOzs7O09BSUc7SUFDSCxhQUFhLEdBQUcsQ0FBQyxJQUFTLEVBQUUsVUFBbUIsS0FBSyxFQUE4QixFQUFFO1FBQ25GLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLFdBQVc7WUFBRSxPQUFPO1FBQ3BFLElBQUksU0FBUyxHQUFtQixFQUFFLENBQUM7UUFDbkMsSUFBSSxRQUFRLEdBQWlCLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xHLElBQUksS0FBSyxHQUFpQixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0RixDQUFDLE9BQU8sSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQTtRQUNDLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ2hFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QyxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN4QyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQzlCLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUNoQyxDQUFDO1lBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQztnQkFDZCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUTtnQkFDcEQsTUFBTSxFQUFFLE1BQU07YUFDZCxDQUFDLENBQUM7UUFDSixDQUFDO1FBRUQsQ0FBQyxPQUFPLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxPQUFPLFNBQVMsQ0FBQztJQUNsQixDQUFDLENBQUE7SUFFRCxTQUFTLENBQUMsUUFBYSxFQUFFLElBQVM7UUFDakMsSUFBSSxRQUFRLENBQUMsSUFBSSxJQUFJLFVBQVU7WUFBRSxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDeEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVk7UUFDdEIsSUFBSSxNQUFNLENBQUM7UUFDWCxRQUFRLElBQUksRUFBRSxDQUFDO1lBQ2QsS0FBSyxpQkFBaUI7Z0JBQUUsTUFBTSxHQUFHLFVBQVUsQ0FBQztnQkFBQyxNQUFNO1lBQ25ELEtBQUssMEJBQTBCO2dCQUFFLE1BQU0sR0FBRyxVQUFVLENBQUM7Z0JBQUMsTUFBTTtZQUM1RCxLQUFLLHdCQUF3QjtnQkFBRSxNQUFNLEdBQUcsUUFBUSxDQUFDO2dCQUFDLE1BQU07WUFDeEQsS0FBSyxzQkFBc0I7Z0JBQUUsTUFBTSxHQUFHLFVBQVUsQ0FBQztnQkFBQyxNQUFNO1FBQ3pELENBQUM7UUFDRCxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDakcsT0FBTyxNQUFNLElBQUksSUFBSSxDQUFDO0lBQ3ZCLENBQUM7d0dBaERXLG1CQUFtQjs0R0FBbkIsbUJBQW1CLGNBRm5CLE1BQU07OzRGQUVOLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGVja291dERhdGEsIENoZWNrb3V0RGF0YVR5cGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuQEluamVjdGFibGUoe1xuXHRwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgT3JkZXJVdGlsaXR5U2VydmljZSB7XG5cblx0Y29uc3RydWN0b3IoKSB7IH1cblx0LyoqXG5cdCAqIEBwYXJhbSBjYXJ0IE9iamV0byBjYXJyaXRvIG8gb3JkZW4sIGluZGlzdGludGFtZW50ZSwgeWEgcXVlIHBvc2VlbiBlbCBtaXNtbyBmb3JtYXRvXG5cdCAqIEBwYXJhbSBmb3JDYXJ0IFNpIGxhIHNvbGljaXR1ZCBkZSBwcm9tb2Npb25lcyBwcm92aWVuZSBkZWwgY2Fycml0bywgc3VwcmltZSBlbCBzdWJ0b3RhbCB5IGVsIHRvdGFsXG5cdCAqIEBkZXNjcmlwdGlvbiBEZXZ1ZWx2ZSB1biBsaXN0YWRvIGNvbiB0b2RhcyBsYXMgcHJvbW9jaW9uZXMgcXVlIHBvc2VlIGVsIGNhcnJvL29yZGVuXG5cdCAqL1xuXHRnZXRQcm9tb3Rpb25zID0gKGNhcnQ6IGFueSwgZm9yQ2FydDogYm9vbGVhbiA9IGZhbHNlKTogQ2hlY2tvdXREYXRhW10gfCB1bmRlZmluZWQgPT4ge1xuXHRcdGlmIChjYXJ0LmNoZWNrb3V0U3RhdGUgJiYgY2FydC5jaGVja291dFN0YXRlID09IFwiY29tcGxldGVkXCIpIHJldHVybjtcblx0XHRsZXQgbmV3X3N0YXRlOiBDaGVja291dERhdGFbXSA9IFtdO1xuXHRcdGxldCBzdWJ0b3RhbDogQ2hlY2tvdXREYXRhID0geyB0eXBlOiAnc3VidG90YWwnLCBuYW1lOiAnc3VidG90YWwnLCBhbW91bnQ6IGNhcnQudG90YWxzLnN1YnRvdGFsIH07XG5cdFx0bGV0IHRvdGFsOiBDaGVja291dERhdGEgPSB7IHR5cGU6ICd0b3RhbCcsIG5hbWU6ICd0b3RhbCcsIGFtb3VudDogY2FydC50b3RhbHMudG90YWwgfTtcblx0XHQhZm9yQ2FydCAmJiBuZXdfc3RhdGUucHVzaChzdWJ0b3RhbCk7XG4wXG5cdFx0Zm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGNhcnQuY2FydERpc2NvdW50cy5sZW5ndGg7IGluZGV4KyspIHtcblx0XHRcdGNvbnN0IGRpc2MgPSBjYXJ0LmNhcnREaXNjb3VudHNbaW5kZXhdO1xuXHRcdFx0ZGlzYy50eXBlID0gdGhpcy5mb3JtYXRUeXBlKGRpc2MudHlwZSk7XG5cdFx0XHRsZXQgYW1vdW50ID0gdGhpcy5nZXRBbW91bnQoZGlzYywgY2FydCk7XG5cdFx0XHRpZiAoZGlzYy50eXBlID09PSAnZGlzY291bnQnKSB7XG5cdFx0XHRcdGFtb3VudCA9IGNhcnQudG90YWxzLnByb21vdGlvbjtcblx0XHRcdH1cblx0XHRcdG5ld19zdGF0ZS5wdXNoKHtcblx0XHRcdFx0dHlwZTogZGlzYy50eXBlLFxuXHRcdFx0XHRuYW1lOiAoZGlzYy50eXBlICE9ICdjb3Vwb24nKSA/IGRpc2MubmFtZSA6ICdjb3Vwb24nLFxuXHRcdFx0XHRhbW91bnQ6IGFtb3VudFxuXHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0IWZvckNhcnQgJiYgbmV3X3N0YXRlLnB1c2godG90YWwpO1xuXHRcdHJldHVybiBuZXdfc3RhdGU7XG5cdH1cblxuXHRnZXRBbW91bnQoZGlzY291bnQ6IGFueSwgY2FydDogYW55KTogbnVtYmVyIHtcblx0XHRpZiAoZGlzY291bnQudHlwZSAhPSAnc2hpcG1lbnQnKSByZXR1cm4gZGlzY291bnQuYW1vdW50O1xuXHRcdHJldHVybiBjYXJ0LnRvdGFscy5zaGlwcGluZztcblx0fVxuXG5cdGZvcm1hdFR5cGUodHlwZTogc3RyaW5nKTogQ2hlY2tvdXREYXRhVHlwZSB8IHN0cmluZyB7XG5cdFx0bGV0IHJlc3VsdDtcblx0XHRzd2l0Y2ggKHR5cGUpIHtcblx0XHRcdGNhc2UgJ29yZGVyX3Byb21vdGlvbic6IHJlc3VsdCA9ICdkaXNjb3VudCc7IGJyZWFrO1xuXHRcdFx0Y2FzZSAnb3JkZXJfc2hpcHBpbmdfcHJvbW90aW9uJzogcmVzdWx0ID0gJ3NoaXBtZW50JzsgYnJlYWs7XG5cdFx0XHRjYXNlICdvcmRlcl9jb3Vwb25fcHJvbW90aW9uJzogcmVzdWx0ID0gJ2NvdXBvbic7IGJyZWFrO1xuXHRcdFx0Y2FzZSAnb3JkZXJfdW5pdF9wcm9tb3Rpb24nOiByZXN1bHQgPSAnZGlzY291bnQnOyBicmVhaztcblx0XHR9XG5cdFx0IXJlc3VsdCAmJiAocmVzdWx0ID0gdHlwZS5pbmNsdWRlcygncHJvbW90aW9uJykgfHwgdHlwZS5pbmNsdWRlcygnZGlzY291bnQnKSA/ICdkaXNjb3VudCcgOiB0eXBlKVxuXHRcdHJldHVybiByZXN1bHQgfHwgdHlwZTtcblx0fVxufVxuIl19
|
|
@@ -72,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
72
72
|
providedIn: 'root'
|
|
73
73
|
}]
|
|
74
74
|
}] });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtc2VydmljZXMvb3JkZXJzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBSzdDLE1BQU0sT0FBTyxhQUFhO0lBQ2pCLFdBQVcsR0FBcUIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDMUQsVUFBVSxHQUF1QixNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUMxRCxZQUFZLEdBQWUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRWxELGNBQWMsR0FBeUIsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakUsYUFBYSxHQUF5QixJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3RCxxQkFBcUIsR0FBeUIsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFNUUsT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsY0FBYyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUU5RCxPQUFPLEdBQVcsS0FBSyxDQUFDO0lBQ3JCLGFBQWEsR0FBUSxFQUFFLENBQUM7SUFHbEMsU0FBUztJQUNULGFBQWEsS0FBSSxPQUFPLFlBQVksSUFBSSxDQUFD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ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29ubmVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9hcGknO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFwaUNvbnN0YW50c1NlcnZpY2UgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuL2NhcnQuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE9yZGVyc1NlcnZpY2Uge1xuXHRwcml2YXRlIF9jb25uZWN0aW9uOkNvbm5lY3Rpb25TZXJ2aWNlID0gaW5qZWN0KENvbm5lY3Rpb25TZXJ2aWNlKTtcblx0cHJpdmF0ZSBfYXBpQ29uc3RzOkFwaUNvbnN0YW50c1NlcnZpY2UgPSBpbmplY3QoQXBpQ29uc3RhbnRzU2VydmljZSk7XG4gICAgcHJpdmF0ZSBfY2FydFNlcnZpY2U6Q2FydFNlcnZpY2UgPSBpbmplY3QoQ2FydFNlcnZpY2UpO1xuXG5cdHByaXZhdGUgX29yZGVyc1N1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblx0cHJpdmF0ZSBfZXJyb3JTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWRPcmRlclN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuXHRwdWJsaWMgb3JkZXJzJCA9IHRoaXMuX29yZGVyc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgcHVibGljIHNlbGVjdGVkT3JkZXIkID0gdGhpcy5fc2VsZWN0ZWRPcmRlclN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cblx0cHVibGljIGxvYWRpbmc6Ym9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBjaGFubmVsQ29uZmlnOiBhbnkgPSB7fTtcblxuXG5cdC8vQVBJIFVSTFxuXHRvcmRlcnNMaXN0YXBpKCl7IHJldHVybiBgc2hvcC1hcGkvJHt0aGlzLl9hcGlDb25zdHMuQ0hBTk5FTH0vb3JkZXJzYH07XG5cblx0dXBkYXRlT3JkZXJzKCkge1xuXHRcdHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuX2Nvbm5lY3Rpb24uZ2V0KHRoaXMub3JkZXJzTGlzdGFwaSgpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBvcmRlcnMgPSB0aGlzLm1hcE9yZGVyc0FuZEFkZEluZm8ocmVzKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9yZGVycztcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgbmV4dDogKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX29yZGVyc1N1YmplY3QubmV4dChyZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXJyb3I6IChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Vycm9yU3ViamVjdC5uZXh0KHsgbWVzc2FnZTogJ3VuYWJsZS1nZXQtb3JkZXJzJyB9KTtcbiAgICAgICAgICAgICAgICB9XG5cdFx0XHR9KVxuXG5cdH1cblx0bWFwT3JkZXJzQW5kQWRkSW5mbyhvcmRlcnM6YW55KXtcbiAgICAgICAgcmV0dXJuIG9yZGVycy5tYXAoKG9yZGVyOmFueSkgPT4ge1xuICAgICAgICAgICAgb3JkZXIudG90YWwgPSBvcmRlci5wYXltZW50cy5yZWR1Y2UoKGE6YW55LCBiOmFueSkgPT4gYSArIGIucHJpY2UuY3VycmVudCwgMCk7XG4gICAgICAgICAgICByZXR1cm4gb3JkZXI7XG4gICAgICAgIH0pXG5cdH1cblxuICAgIHNldFNlbGVjdGVkT3JkZXIob3JkZXI6IGFueSkge1xuXHRcdHRoaXMuX3NlbGVjdGVkT3JkZXJTdWJqZWN0Lm5leHQob3JkZXIpO1xuICAgICAgICB0aGlzLmNoYW5uZWxDb25maWcgPSAodGhpcy5fY2FydFNlcnZpY2UuY2hhbm5lbENvbmZpZyk7XG5cdH1cbiAgICBnZXRPcmRlckJ5TnVtYmVyKG51bWJlcjogYW55KSB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIFxuXHRcdHRoaXMuX2Nvbm5lY3Rpb24uZ2V0KHRoaXMub3JkZXJzTGlzdGFwaSgpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBvcmRlcnMgPSB0aGlzLm1hcE9yZGVyc0FuZEFkZEluZm8ocmVzKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3JkZXIgPSBvcmRlcnMuZmluZCgob3JkZXI6YW55KSA9PiBvcmRlci5udW1iZXIgPT0gbnVtYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9yZGVyO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgICAgICBuZXh0OiAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRPcmRlclN1YmplY3QubmV4dChyZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXJyb3I6IChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Vycm9yU3ViamVjdC5uZXh0KHsgbWVzc2FnZTogJ3VuYWJsZS1nZXQtb3JkZXJzJyB9KTtcbiAgICAgICAgICAgICAgICB9XG5cdFx0XHR9KVxuXHR9XG4gICAgLyogZmluZE9yZGVyID0gKG9yZGVyX251bWJlcjphbnkpID0+XG4gICAgICAgIHRoaXMuX29yZGVyc1N1YmplY3QudmFsdWUgPyB0aGlzLmdldE9yZGVyQnlOdW1iZXIob3JkZXJfbnVtYmVyKSA6IHRoaXMud2FpdFVudGlsT3JkZXJzKG9yZGVyX251bWJlciwgdGhpcy5nZXRPcmRlckJ5TnVtYmVyKTsgKi8gICAgXG59XG4iXX0=
|
|
@@ -223,4 +223,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
223
223
|
providedIn: 'root'
|
|
224
224
|
}]
|
|
225
225
|
}], ctorParameters: () => [] });
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL3BhZ2luYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxXQUFXLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVuSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUNwRDs7Ozs7Ozs7O0dBU0c7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBRXJCLGtCQUFrQixHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRSxlQUFlLEdBQW1CLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUN4RCxVQUFVLEdBQXlCLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRXhFOzs7Ozs7Ozs7T0FTRztJQUNJLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQzFELEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtJQUNkLENBQUMsQ0FBQyxFQUNGLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUNoQixJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07WUFBRSxPQUFPLEtBQUssQ0FBQztRQUU5QyxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFD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QUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLENBQUMsR0FBZSxFQUFFLEVBQUU7WUFDdkIsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7WUFFOUIsMkRBQTJEO1lBQzNELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFdEMsd0RBQXdEO1lBQ3hELE9BQU8sS0FBSyxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQ0YsQ0FBQztJQUNILENBQUM7d0dBek9XLGlCQUFpQjs0R0FBakIsaUJBQWlCLGNBRmpCLE1BQU07OzRGQUVOLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2FwaSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUGFnaW5hdGlvbiwgUHJvZHVjdCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBGaWx0ZXJzU2VydmljZSB9IGZyb20gJy4vZmlsdGVycy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSAnLi4vY2xhc3Nlcyc7XHJcbmltcG9ydCB7IENvcmVDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuLyoqXHJcbiAqIFNlcnZpY2lvIHBhcmEgbWFuZWphciBsYSBwYWdpbmFjacOzbiB5IGxhIGNhcmdhIGRlIHByb2R1Y3Rvcy5cclxuICpcclxuICogU2UgZW5jYXJnYSBkZTpcclxuICogLSBFc2N1Y2hhciBsb3MgY2FtYmlvcyBlbiBsb3MgZmlsdHJvcyAoY2F0ZWdvcsOtYXMsIGF0cmlidXRvcywgcHJlY2lvLCBiw7pzcXVlZGEsIGV0Yy4pLlxyXG4gKiAtIENvbnN0cnVpciBsYSBVUkwgYWwgYmFja2VuZCBjb24gZXNvcyBmaWx0cm9zLlxyXG4gKiAtIFBlZGlyIGxvcyBwcm9kdWN0b3MgYWwgZW5kcG9pbnQgZGUgcHJvZHVjdC1zZWFyY2guXHJcbiAqIC0gRXhwb25lciB1biBvYnNlcnZhYmxlIGNvbiBsYSDDumx0aW1hIHDDoWdpbmEgZGUgcHJvZHVjdG9zIChgcGFnaW5hdGlvbkRhdGEkYClcclxuICogICB5IG90cm9zIGhlbHBlcnMgKHByZWNpbyBtw61uaW1vL23DoXhpbW8sIHNpZ3VpZW50ZSBww6FnaW5hLCBldGMuKS5cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25TZXJ2aWNlIHtcclxuXHJcblx0cHJpdmF0ZSBfY29ubmVjdGlvblNlcnZpY2U6IENvbm5lY3Rpb25TZXJ2aWNlID0gaW5qZWN0KENvbm5lY3Rpb25TZXJ2aWNlKTtcclxuXHRwcml2YXRlIF9maWx0ZXJzU2VydmljZTogRmlsdGVyc1NlcnZpY2UgPSBpbmplY3QoRmlsdGVyc1NlcnZpY2UpXHJcblx0cHJpdmF0ZSBfY29uc3RhbnRzOiBDb3JlQ29uc3RhbnRzU2VydmljZSA9IGluamVjdChDb3JlQ29uc3RhbnRzU2VydmljZSk7XHJcblxyXG5cdC8qKlxyXG5cdCAqIEZsdWpvIHByaW5jaXBhbDogYSBwYXJ0aXIgZGUgbG9zIGZpbHRyb3Mg4oaSIGFybWEgVVJMIOKGkiBjb25zdWx0YSBiYWNrZW5kIOKGkiBkZXZ1ZWx2ZSBwcm9kdWN0b3MuXHJcblx0ICpcclxuXHQgKiBQYXNvczpcclxuXHQgKiAxKSBFc3BlcmEgYSBxdWUgYEZpbHRlcnNTZXJ2aWNlYCBlbWl0YSBmaWx0cm9zIHbDoWxpZG9zLlxyXG5cdCAqIDIpIENvbnN0cnV5ZSBsYSBVUkwgZmluYWwgY29uIGBidWlsZFVybCgpYC5cclxuXHQgKiAzKSBFdml0YSByZXBldGlyIGxsYW1hZGFzIHNpIGxhIFVSTCBubyBjYW1iacOzIChgZGlzdGluY3RVbnRpbENoYW5nZWRgKS5cclxuXHQgKiA0KSBMbGFtYSBhbCBiYWNrZW5kIGNvbiBgZ2V0RGF0YSh1cmwpYC5cclxuXHQgKiA1KSBDb21wYXJ0ZSBlbCDDumx0aW1vIHJlc3VsdGFkbyBjb24gdG9kb3MgbG9zIHN1c2NyaXB0b3JlcyAoYHNoYXJlUmVwbGF5KDEpYCkuXHJcblx0ICovXHJcblx0cHVibGljIHBhZ2luYXRpb25EYXRhJCA9IHRoaXMuX2ZpbHRlcnNTZXJ2aWNlLmZpbHRlcnMkLnBpcGUoXHJcblx0XHR0YXAoZmlsdGVycyA9PiB7XHJcblx0XHR9KSxcclxuXHRcdGZpbHRlcihmaWx0ZXJzID0+IHtcclxuXHRcdFx0aWYgKCFmaWx0ZXJzIHx8ICFmaWx0ZXJzLmxlbmd0aCkgcmV0dXJuIGZhbHNlO1xyXG5cclxuXHRcdFx0Y29uc3QgY2F0ZWdvcnlGaWx0ZXIgPSBmaWx0ZXJzLmZpbmQoZiA9PiBmLnR5cGUoKSA9PT0gJ2NhdGVnb3JpZXMnKTtcclxuXHRcdFx0Y29uc3QgaGFzQ2F0ZWdvcnlTZWxlY3RlZCA9ICEhY2F0ZWdvcnlGaWx0ZXI/LmdldFNlbGVjdGVkTGlzdCgpPy5sZW5ndGg7XHJcblxyXG5cdFx0XHRjb25zdCBpc0NhdGVnb3J5Um91dGUgPVxyXG5cdFx0XHRcdHRoaXMuX2NvbnN0YW50cy5jdXJyZW50Um91dGVUeXBlID09PSAnY2F0ZWdvcmllcyc7XHJcblxyXG5cdFx0XHQvLyBTaSBlc3RhbW9zIGVuIHJ1dGEgZGUgY2F0ZWdvcsOtYXMgeSB0b2RhdsOtYSBubyBzZSBtYXJjw7MgbmluZ3VuYSxcclxuXHRcdFx0Ly8gZXNwZXJhbW9zIGEgcXVlIGVsIENhdGVnb3J5RmlsdGVyIHNlIGhpZHJhdGUgYW50ZXMgZGUgZGlzcGFyYXIgbGEgbGxhbWFkYS5cclxuXHRcdFx0aWYgKGlzQ2F0ZWdvcnlSb3V0ZSAmJiAhaGFzQ2F0ZWdvcnlTZWxlY3RlZCkge1xyXG5cdFx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0cmV0dXJuIHRydWU7XHJcblx0XHR9KSxcclxuXHJcblx0XHQvLyAyKSBDb252ZXJ0aW1vcyBmaWx0cm9zIC0+IFVSTFxyXG5cdFx0bWFwKGZpbHRlcnMgPT4ge1xyXG5cdFx0XHRjb25zdCB1cmwgPSB0aGlzLmJ1aWxkVXJsKGZpbHRlcnMpO1xyXG5cdFx0XHRyZXR1cm4gdXJsO1xyXG5cdFx0fSksXHJcblxyXG5cdFx0Ly8gMykgU29sbyBzZWd1aW1vcyBzaSBsYSBVUkwgY2FtYmnDsyByZXNwZWN0byBkZSBsYSBlbWlzacOzbiBhbnRlcmlvclxyXG5cdFx0ZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuXHJcblx0XHQvLyA0KSBMbGFtYW1vcyBhbCBiYWNrZW5kIGNvbiBsYSBVUkwgY29uc3RydWlkYVxyXG5cdFx0dGFwKHVybCA9PiB7XHJcblx0XHR9KSxcclxuXHRcdHN3aXRjaE1hcCh1cmwgPT4gdGhpcy5nZXREYXRhKHVybCkpLFxyXG5cclxuXHRcdC8vIDUpIFJldXRpbGl6YXIgcmVzdWx0YWRvIHNpIGFsZ3VpZW4gbcOhcyBzZSBzdXNjcmliZSAoZXZpdGEgcmVwZXRpciBsYSBwZXRpY2nDs24pXHJcblx0XHRzaGFyZVJlcGxheSgxKVxyXG5cdCk7XHJcblxyXG5cdHByaXZhdGUgX2RhdGFQYWdpbmF0aW9uOiBhbnkgPSBzaWduYWw8UGFnaW5hdGlvbj4oe1xyXG5cdFx0YXR0cmlidXRlczogW10sXHJcblx0XHRjYXRlZ29yeTogW10sXHJcblx0XHRvcHRpb25zOiBbXSxcclxuXHRcdGxpbWl0OiAwLFxyXG5cdFx0cGFnZTogMCxcclxuXHRcdHBhZ2VzOiAwLFxyXG5cdFx0dG90YWw6IDAsXHJcblx0XHRpdGVtczogW10sXHJcblx0XHRjYWxsZWQ6IGZhbHNlLFxyXG5cdFx0cHJpY2VfbWF4OiAwLFxyXG5cdFx0cHJpY2VfbWluOiAwXHJcblx0fSk7XHJcblxyXG5cdHByaXZhdGUgX3dhaXRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRwcml2YXRlIF9maW5pc2hlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdHByaXZhdGUgX2FwaVVybDogc3RyaW5nID0gJyc7XHJcblx0cHJpdmF0ZSBfc3RhcnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0cHJpdmF0ZSBfbmV4dFByb2R1Y3RzU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PFByb2R1Y3RbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFByb2R1Y3RbXT4oW10pO1xyXG5cdHB1YmxpYyBuZXh0UHJvZHVjdHMkID0gdGhpcy5fbmV4dFByb2R1Y3RzU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcblx0cHJpdmF0ZSBfcmVzZXRTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRwdWJsaWMgcmVzZXQkID0gdGhpcy5fcmVzZXRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuXHRwcml2YXRlIHByaWNlUmFuZ2VTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IHByaWNlX21pbjogbnVtYmVyLCBwcmljZV9tYXg6IG51bWJlciB9Pih7IHByaWNlX21pbjogMCwgcHJpY2VfbWF4OiAwIH0pO1xyXG5cdHB1YmxpYyBwcmljZVJhbmdlJCA9IHRoaXMucHJpY2VSYW5nZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEluaWNpYWxpemEgbGEgY29uZmlndXJhY2nDs24gcGFyYSBlbCBTZXJ2aWNpbyBkZSBQYWdpbmFjacOzbi5cclxuXHQgKiBAcGFyYW0gYXBpVXJsIFVybCBjb24gbG9zIGZpbHRyb3MgYXBsaWNhZG9zLiBcclxuXHQgKiBAcGFyYW0gbGltaXQgbGltaXRlIGRlIHByb2R1Y3RvcyBlbiBjYWRhIHBldGljacOzbi5cclxuXHQgKi9cclxuXHRpbml0aWFsaXplKGFwaVVybDogc3RyaW5nLCBsaW1pdD86IG51bWJlcikge1xyXG5cdFx0Ly9jb25zb2xlLmxvZyhhcGlVcmwpXHJcblx0XHR0aGlzLl9hcGlVcmwgPSBhcGlVcmw7XHJcblx0XHR0aGlzLl9kYXRhUGFnaW5hdGlvbigpLmxpbWl0ID0gbGltaXQgfHwgdGhpcy5fZGF0YVBhZ2luYXRpb24oKS5saW1pdCB8fCAxMDtcclxuXHRcdHRoaXMuX2ZpbmlzaGVkID0gZmFsc2U7XHJcblx0XHR0aGlzLl9zdGFydCA9IHRydWU7XHJcblx0XHR0aGlzLl9uZXh0UHJvZHVjdHNTdWJqZWN0Lm5leHQoW10pO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBPYnRlbmdvIGxvcyBkYXRvcyBkZSBsYSBzaWd1aWVudGUgcMOhZ2luYS5cclxuXHQgKiBAcGFyYW0gbmV4dCBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRnZXROZXh0KG5leHQ/OiBhbnkpOiBib29sZWFuIHtcclxuXHRcdHRoaXMuX3dhaXRpbmcgPSB0cnVlO1xyXG5cdFx0dGhpcy5fbmV4dFByb2R1Y3RzU3ViamVjdC5uZXh0KFtdKTtcclxuXHRcdHRoaXMuX2FwaVVybCA9IHRoaXMuX2FwaVVybC5yZXBsYWNlKCclMjAnLCAnICcpOy8vIG1hcyBwYXJhIGN1YW5kbyBlcyB1biBzZWFyY2ggdmFsdWUuXHJcblx0XHRsZXQgbmV4dFByb2R1Y3RzO1xyXG5cdFx0aWYgKHRoaXMuX3N0YXJ0KSB7XHJcblx0XHRcdG5leHRQcm9kdWN0cyA9IHRoaXMuX2Nvbm5lY3Rpb25TZXJ2aWNlLmdldCh0aGlzLl9hcGlVcmwsIHsgbGltaXQ6IHRoaXMuX2RhdGFQYWdpbmF0aW9uKCkubGltaXQsIHBhZ2U6IDEgfSlcclxuXHRcdFx0dGhpcy5fc3RhcnQgPSBmYWxzZVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0bmV4dFByb2R1Y3RzID0gdGhpcy5fY29ubmVjdGlvblNlcnZpY2UuZ2V0KHRoaXMuX2RhdGFQYWdpbmF0aW9uKCkubGlua3MubmV4dC5zbGljZSgxKSk7XHJcblx0XHR9XHJcblxyXG5cdFx0IXRoaXMuX2ZpbmlzaGVkICYmIG5leHRQcm9kdWN0cy5zdWJzY3JpYmUoXHJcblx0XHRcdChyZXNwb25zZTogUGFnaW5hdGlvbikgPT4ge1xyXG5cdFx0XHRcdHJlc3BvbnNlLmxpbmtzID8gdGhpcy51cGRhdGVQYWdlRGF0YShyZXNwb25zZSkgOiB0aGlzLmZpbmlzaChyZXNwb25zZSlcclxuXHRcdFx0XHR0aGlzLl9uZXh0UHJvZHVjdHNTdWJqZWN0Lm5leHQocmVzcG9uc2UuaXRlbXMpO1xyXG5cdFx0XHR9XHJcblx0XHQpXHJcblx0XHRyZXR1cm4gdHJ1ZTtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogQWN0dWFsaXphIGxvcyBkYXRvcyBkZSBsYSBwYWdpbmEuXHJcblx0ICogQHBhcmFtIHJlc3BvbnNlIHJlc3B1ZXN0YSBkZWwgYmFja2VuZCBvIG9iamVjdG8gZGVsIHRpcG8gYFBhZ2luYXRpb25gLlxyXG5cdCAqL1xyXG5cdHVwZGF0ZVBhZ2VEYXRhKHJlc3BvbnNlOiBQYWdpbmF0aW9uKTogdm9pZCB7XHJcblx0XHR0aGlzLl9kYXRhUGFnaW5hdGlvbi5zZXQoeyAuLi5yZXNwb25zZSwgY2FsbGVkOiB0cnVlIH0pXHJcblx0XHR0aGlzLl9maW5pc2hlZCA9IChyZXNwb25zZS5wYWdlID09IHJlc3BvbnNlLnBhZ2VzKVxyXG5cdFx0dGhpcy5fd2FpdGluZyA9IGZhbHNlO1xyXG5cdFx0Ly8gRW1pdGlyIGxvcyB2YWxvcmVzIGRlIHByaWNlX21pbiB5IHByaWNlX21heCBhIHRyYXbDqXMgZGUgcHJpY2VSYW5nZVN1YmplY3QsXHJcblx0XHQvLyBwYXJhIHF1ZSBvdHJvcyBjb21wb25lbnRlcyAoZWouIGZpbHRybyBkZSBwcmVjaW8pIHB1ZWRhbiBtb3N0cmFybG9zLlxyXG5cdFx0dGhpcy5wcmljZVJhbmdlU3ViamVjdC5uZXh0KHtcclxuXHRcdFx0cHJpY2VfbWluOiByZXNwb25zZS5wcmljZV9taW4sXHJcblx0XHRcdHByaWNlX21heDogcmVzcG9uc2UucHJpY2VfbWF4XHJcblx0XHR9KTtcclxuXHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIE1hcmNhIGVsIGZpbmFsIGRlIGxhcyBwYWdpbmFzLCBlcyBkZWNpciBjdWFuZG8geWEgbm8gcXVlZGEgbWFzIGVsZW1lbnRvcyBxdWUgbW9zdHJhci5cclxuXHQgKiBAcGFyYW0gcmVzcG9uc2UgXHJcblx0ICovXHJcblx0ZmluaXNoKHJlc3BvbnNlOiBQYWdpbmF0aW9uKTogdm9pZCB7XHJcblx0XHR0aGlzLl9maW5pc2hlZCA9IHRydWU7XHJcblx0XHR0aGlzLl93YWl0aW5nID0gZmFsc2U7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIE9idGVuZ28gbG9zIHByb2R1Y3RvcyBkZSBsYSBwYWdpbmEgY2FyZ2FkYSBhY3R1YWwuIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXROZXh0UHJvZHVjdHMoKTogUHJvZHVjdFtdIHtcclxuXHRcdHJldHVybiB0aGlzLl9uZXh0UHJvZHVjdHNTdWJqZWN0LnZhbHVlO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBEZXZ1ZWx2ZSBzaSBlc3RhIGVzcGVyYW5kbyBvIG5vIGxhIHBldGljacOzbiBhbCBiYWNrZW5kLlxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXRXYWl0aW5nKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fd2FpdGluZzsgfVxyXG5cdC8qKlxyXG5cdCAqIFNldGVhIGxhIHZhcmlhYmxlIHdhaXRpbmcuXHJcblx0ICogQHBhcmFtIHZhbHVlIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBzZXRXYWl0aW5nKHZhbHVlOiBib29sZWFuKTogdm9pZCB7IHRoaXMuX3dhaXRpbmcgPSB2YWx1ZSB9XHJcblx0LyoqXHJcblx0ICogR2V0dGVyIHBhcmEgbGEgdmFyaWFibGUgYF9maW5pc2hlZGAuXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHVibGljIGdldEZpbmlzaGVkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fZmluaXNoZWQ7IH1cclxuXHQvKipcclxuXHQgKiBEZXZ1ZWx2ZSBlbCB0b3RhbCBkZSBJdGVtcy5cclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwdWJsaWMgZ2V0VG90YWxJdGVtcygpOiBudW1iZXIge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2RhdGFQYWdpbmF0aW9uKCkubGltaXQgKiB0aGlzLl9kYXRhUGFnaW5hdGlvbigpLnBhZ2U7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIE9idGVuZ28gdW4gb2JqZWN0byBjb24gbG9zIGRhdG9zIGRlIGxvcyBmaWx0cm9zIHJlc3VsdGFudGVzLlxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXRGaWx0ZXJzUGFnaW5hdGlvbigpOiBhbnkge1xyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0XCJjYXRlZ29yaWVzXCI6IHRoaXMuX2RhdGFQYWdpbmF0aW9uKCkuY2F0ZWdvcnksXHJcblx0XHRcdFwiYXR0cmlidXRlc1wiOiB0aGlzLl9kYXRhUGFnaW5hdGlvbigpLmF0dHJpYnV0ZXMsXHJcblx0XHRcdFwib3B0aW9uc1wiOiB0aGlzLl9kYXRhUGFnaW5hdGlvbigpLm9wdGlvbnNcclxuXHRcdH1cclxuXHR9XHJcblx0LyoqXHJcblx0ICogUGFyYSBjb250cnVpc3RlIGxhIHVybCBlbiBiYXNlIGEgbG9zIGZpbHRyb3MgYXBsaWNhZG9zLlxyXG5cdCAqIEBwYXJhbSBmaWx0ZXJzIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBidWlsZFVybChmaWx0ZXJzOiBGaWx0ZXJbXSkge1xyXG5cdFx0Y29uc3QgdXJsID0gdGhpcy5fY29uc3RhbnRzLnNlYXJjaFZhbHVlXHJcblx0XHRcdD8gdGhpcy5fZmlsdGVyc1NlcnZpY2UuZ2VuZXJhdGVGaW5hbEFwaSh0aGlzLl9jb25zdGFudHMuc2VhcmNoVmFsdWUpXHJcblx0XHRcdDogdGhpcy5fZmlsdGVyc1NlcnZpY2UuZ2VuZXJhdGVGaW5hbEFwaSgpO1xyXG5cclxuXHRcdHJldHVybiB1cmw7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBEZXZ1ZWx2ZSB1biBvYnNlcnZhYmxlIGRlIGxvcyBwcm9kdWN0b3MgcXVlIGRldm9sdmnDsyBsYSDDumx0aW1hIHDDoWdpbmEgb2J0ZW5pZGEuXHJcblx0ICogQHBhcmFtIHVybCBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwdWJsaWMgZ2V0RGF0YSh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8UHJvZHVjdFtdPiB7XHJcblxyXG5cdFx0Ly8gRGV0ZWN0YXIgbGEgcMOhZ2luYSBkZXNkZSBsYSBVUkwgKD9wYWdlPW4pLiBTaSBubyB2aWVuZSwgYXN1bWltb3MgcGFnZT0xLlxyXG5cdFx0Y29uc3QgcGFnZU1hdGNoID0gdXJsLm1hdGNoKC9bPyZdcGFnZT0oXFxkKykvKTtcclxuXHRcdGNvbnN0IHBhZ2UgPSBwYWdlTWF0Y2ggPyBOdW1iZXIocGFnZU1hdGNoWzFdKSA6IDE7XHJcblxyXG5cdFx0Ly8gU2kgZXMgbGEgcHJpbWVyYSBww6FnaW5hLCByZXNldGVhbW9zIGVzdGFkbyBpbnRlcm5vXHJcblx0XHRpZiAocGFnZSA9PT0gMSkge1xyXG5cdFx0XHR0aGlzLl9yZXNldFN1YmplY3QubmV4dCh0cnVlKTtcclxuXHRcdFx0dGhpcy5fbmV4dFByb2R1Y3RzU3ViamVjdC5uZXh0KFtdKTtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBMbGFtYW1vcyBhbCBiYWNrZW5kIGNvbiBlbCBwYWdlIGNvcnJlY3RvXHJcblx0XHRyZXR1cm4gdGhpcy5fY29ubmVjdGlvblNlcnZpY2UuZ2V0KHVybCwgeyBsaW1pdDogMTAsIHBhZ2UgfSkucGlwZShcclxuXHRcdFx0dGFwKChyZXM6IFBhZ2luYXRpb24pID0+IHtcclxuXHRcdFx0XHQvLyBBY3R1YWxpemFyIGRhdG9zIGRlIHBhZ2luYWNpw7NuICsgcHJpY2VfbWluL3ByaWNlX21heFxyXG5cdFx0XHRcdHJlcy5saW5rcyA/IHRoaXMudXBkYXRlUGFnZURhdGEocmVzKSA6IHRoaXMuZmluaXNoKHJlcyk7XHJcblx0XHRcdH0pLFxyXG5cdFx0XHRtYXAoKHJlczogUGFnaW5hdGlvbikgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IGl0ZW1zID0gcmVzLml0ZW1zID8/IFtdO1xyXG5cclxuXHRcdFx0XHQvLyBNYW50ZW5lciBuZXh0UHJvZHVjdHMkIHNpbmNyb25pemFkbyAocG9yIGNvbXBhdGliaWxpZGFkKVxyXG5cdFx0XHRcdHRoaXMuX25leHRQcm9kdWN0c1N1YmplY3QubmV4dChpdGVtcyk7XHJcblxyXG5cdFx0XHRcdC8vIExvIHF1ZSB2ZSBwYWdpbmF0aW9uRGF0YSQgKHN3aXRjaE1hcCkgc29uIGVzdG9zIGl0ZW1zXHJcblx0XHRcdFx0cmV0dXJuIGl0ZW1zO1xyXG5cdFx0XHR9KVxyXG5cdFx0KTtcclxuXHR9XHJcbn1cclxuXHJcbiJdfQ==
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLXNlcnZpY2VzL3BhZ2luYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxXQUFXLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVuSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUNwRDs7Ozs7Ozs7O0dBU0c7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBRXJCLGtCQUFrQixHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRSxlQUFlLEdBQW1CLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUN4RCxVQUFVLEdBQXlCLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRXhFOzs7Ozs7Ozs7T0FTRztJQUNJLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQzFELEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtJQUNkLENBQUMsQ0FBQyxFQUNGLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUNoQixJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07WUFBRSxPQUFPLEtBQUssQ0FBQztRQUU5QyxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFD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QUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLENBQUMsR0FBZSxFQUFFLEVBQUU7WUFDdkIsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7WUFFOUIsMkRBQTJEO1lBQzNELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFdEMsd0RBQXdEO1lBQ3hELE9BQU8sS0FBSyxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQ0YsQ0FBQztJQUNILENBQUM7d0dBek9XLGlCQUFpQjs0R0FBakIsaUJBQWlCLGNBRmpCLE1BQU07OzRGQUVOLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29ubmVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9hcGknO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbiwgUHJvZHVjdCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgRmlsdGVyc1NlcnZpY2UgfSBmcm9tICcuL2ZpbHRlcnMuc2VydmljZSc7XG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi9jbGFzc2VzJztcbmltcG9ydCB7IENvcmVDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbi8qKlxuICogU2VydmljaW8gcGFyYSBtYW5lamFyIGxhIHBhZ2luYWNpw7NuIHkgbGEgY2FyZ2EgZGUgcHJvZHVjdG9zLlxuICpcbiAqIFNlIGVuY2FyZ2EgZGU6XG4gKiAtIEVzY3VjaGFyIGxvcyBjYW1iaW9zIGVuIGxvcyBmaWx0cm9zIChjYXRlZ29yw61hcywgYXRyaWJ1dG9zLCBwcmVjaW8sIGLDunNxdWVkYSwgZXRjLikuXG4gKiAtIENvbnN0cnVpciBsYSBVUkwgYWwgYmFja2VuZCBjb24gZXNvcyBmaWx0cm9zLlxuICogLSBQZWRpciBsb3MgcHJvZHVjdG9zIGFsIGVuZHBvaW50IGRlIHByb2R1Y3Qtc2VhcmNoLlxuICogLSBFeHBvbmVyIHVuIG9ic2VydmFibGUgY29uIGxhIMO6bHRpbWEgcMOhZ2luYSBkZSBwcm9kdWN0b3MgKGBwYWdpbmF0aW9uRGF0YSRgKVxuICogICB5IG90cm9zIGhlbHBlcnMgKHByZWNpbyBtw61uaW1vL23DoXhpbW8sIHNpZ3VpZW50ZSBww6FnaW5hLCBldGMuKS5cbiAqL1xuQEluamVjdGFibGUoe1xuXHRwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGFnaW5hdGlvblNlcnZpY2Uge1xuXG5cdHByaXZhdGUgX2Nvbm5lY3Rpb25TZXJ2aWNlOiBDb25uZWN0aW9uU2VydmljZSA9IGluamVjdChDb25uZWN0aW9uU2VydmljZSk7XG5cdHByaXZhdGUgX2ZpbHRlcnNTZXJ2aWNlOiBGaWx0ZXJzU2VydmljZSA9IGluamVjdChGaWx0ZXJzU2VydmljZSlcblx0cHJpdmF0ZSBfY29uc3RhbnRzOiBDb3JlQ29uc3RhbnRzU2VydmljZSA9IGluamVjdChDb3JlQ29uc3RhbnRzU2VydmljZSk7XG5cblx0LyoqXG5cdCAqIEZsdWpvIHByaW5jaXBhbDogYSBwYXJ0aXIgZGUgbG9zIGZpbHRyb3Mg4oaSIGFybWEgVVJMIOKGkiBjb25zdWx0YSBiYWNrZW5kIOKGkiBkZXZ1ZWx2ZSBwcm9kdWN0b3MuXG5cdCAqXG5cdCAqIFBhc29zOlxuXHQgKiAxKSBFc3BlcmEgYSBxdWUgYEZpbHRlcnNTZXJ2aWNlYCBlbWl0YSBmaWx0cm9zIHbDoWxpZG9zLlxuXHQgKiAyKSBDb25zdHJ1eWUgbGEgVVJMIGZpbmFsIGNvbiBgYnVpbGRVcmwoKWAuXG5cdCAqIDMpIEV2aXRhIHJlcGV0aXIgbGxhbWFkYXMgc2kgbGEgVVJMIG5vIGNhbWJpw7MgKGBkaXN0aW5jdFVudGlsQ2hhbmdlZGApLlxuXHQgKiA0KSBMbGFtYSBhbCBiYWNrZW5kIGNvbiBgZ2V0RGF0YSh1cmwpYC5cblx0ICogNSkgQ29tcGFydGUgZWwgw7psdGltbyByZXN1bHRhZG8gY29uIHRvZG9zIGxvcyBzdXNjcmlwdG9yZXMgKGBzaGFyZVJlcGxheSgxKWApLlxuXHQgKi9cblx0cHVibGljIHBhZ2luYXRpb25EYXRhJCA9IHRoaXMuX2ZpbHRlcnNTZXJ2aWNlLmZpbHRlcnMkLnBpcGUoXG5cdFx0dGFwKGZpbHRlcnMgPT4ge1xuXHRcdH0pLFxuXHRcdGZpbHRlcihmaWx0ZXJzID0+IHtcblx0XHRcdGlmICghZmlsdGVycyB8fCAhZmlsdGVycy5sZW5ndGgpIHJldHVybiBmYWxzZTtcblxuXHRcdFx0Y29uc3QgY2F0ZWdvcnlGaWx0ZXIgPSBmaWx0ZXJzLmZpbmQoZiA9PiBmLnR5cGUoKSA9PT0gJ2NhdGVnb3JpZXMnKTtcblx0XHRcdGNvbnN0IGhhc0NhdGVnb3J5U2VsZWN0ZWQgPSAhIWNhdGVnb3J5RmlsdGVyPy5nZXRTZWxlY3RlZExpc3QoKT8ubGVuZ3RoO1xuXG5cdFx0XHRjb25zdCBpc0NhdGVnb3J5Um91dGUgPVxuXHRcdFx0XHR0aGlzLl9jb25zdGFudHMuY3VycmVudFJvdXRlVHlwZSA9PT0gJ2NhdGVnb3JpZXMnO1xuXG5cdFx0XHQvLyBTaSBlc3RhbW9zIGVuIHJ1dGEgZGUgY2F0ZWdvcsOtYXMgeSB0b2RhdsOtYSBubyBzZSBtYXJjw7MgbmluZ3VuYSxcblx0XHRcdC8vIGVzcGVyYW1vcyBhIHF1ZSBlbCBDYXRlZ29yeUZpbHRlciBzZSBoaWRyYXRlIGFudGVzIGRlIGRpc3BhcmFyIGxhIGxsYW1hZGEuXG5cdFx0XHRpZiAoaXNDYXRlZ29yeVJvdXRlICYmICFoYXNDYXRlZ29yeVNlbGVjdGVkKSB7XG5cdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fSksXG5cblx0XHQvLyAyKSBDb252ZXJ0aW1vcyBmaWx0cm9zIC0+IFVSTFxuXHRcdG1hcChmaWx0ZXJzID0+IHtcblx0XHRcdGNvbnN0IHVybCA9IHRoaXMuYnVpbGRVcmwoZmlsdGVycyk7XG5cdFx0XHRyZXR1cm4gdXJsO1xuXHRcdH0pLFxuXG5cdFx0Ly8gMykgU29sbyBzZWd1aW1vcyBzaSBsYSBVUkwgY2FtYmnDsyByZXNwZWN0byBkZSBsYSBlbWlzacOzbiBhbnRlcmlvclxuXHRcdGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG5cblx0XHQvLyA0KSBMbGFtYW1vcyBhbCBiYWNrZW5kIGNvbiBsYSBVUkwgY29uc3RydWlkYVxuXHRcdHRhcCh1cmwgPT4ge1xuXHRcdH0pLFxuXHRcdHN3aXRjaE1hcCh1cmwgPT4gdGhpcy5nZXREYXRhKHVybCkpLFxuXG5cdFx0Ly8gNSkgUmV1dGlsaXphciByZXN1bHRhZG8gc2kgYWxndWllbiBtw6FzIHNlIHN1c2NyaWJlIChldml0YSByZXBldGlyIGxhIHBldGljacOzbilcblx0XHRzaGFyZVJlcGxheSgxKVxuXHQpO1xuXG5cdHByaXZhdGUgX2RhdGFQYWdpbmF0aW9uOiBhbnkgPSBzaWduYWw8UGFnaW5hdGlvbj4oe1xuXHRcdGF0dHJpYnV0ZXM6IFtdLFxuXHRcdGNhdGVnb3J5OiBbXSxcblx0XHRvcHRpb25zOiBbXSxcblx0XHRsaW1pdDogMCxcblx0XHRwYWdlOiAwLFxuXHRcdHBhZ2VzOiAwLFxuXHRcdHRvdGFsOiAwLFxuXHRcdGl0ZW1zOiBbXSxcblx0XHRjYWxsZWQ6IGZhbHNlLFxuXHRcdHByaWNlX21heDogMCxcblx0XHRwcmljZV9taW46IDBcblx0fSk7XG5cblx0cHJpdmF0ZSBfd2FpdGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXHRwcml2YXRlIF9maW5pc2hlZDogYm9vbGVhbiA9IGZhbHNlO1xuXHRwcml2YXRlIF9hcGlVcmw6IHN0cmluZyA9ICcnO1xuXHRwcml2YXRlIF9zdGFydDogYm9vbGVhbiA9IGZhbHNlO1xuXG5cdHByaXZhdGUgX25leHRQcm9kdWN0c1N1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxQcm9kdWN0W10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQcm9kdWN0W10+KFtdKTtcblx0cHVibGljIG5leHRQcm9kdWN0cyQgPSB0aGlzLl9uZXh0UHJvZHVjdHNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG5cdHByaXZhdGUgX3Jlc2V0U3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cdHB1YmxpYyByZXNldCQgPSB0aGlzLl9yZXNldFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cblx0cHJpdmF0ZSBwcmljZVJhbmdlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8eyBwcmljZV9taW46IG51bWJlciwgcHJpY2VfbWF4OiBudW1iZXIgfT4oeyBwcmljZV9taW46IDAsIHByaWNlX21heDogMCB9KTtcblx0cHVibGljIHByaWNlUmFuZ2UkID0gdGhpcy5wcmljZVJhbmdlU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuXHRjb25zdHJ1Y3RvcigpIHsgfVxuXG5cdC8qKlxuXHQgKiBJbmljaWFsaXphIGxhIGNvbmZpZ3VyYWNpw7NuIHBhcmEgZWwgU2VydmljaW8gZGUgUGFnaW5hY2nDs24uXG5cdCAqIEBwYXJhbSBhcGlVcmwgVXJsIGNvbiBsb3MgZmlsdHJvcyBhcGxpY2Fkb3MuIFxuXHQgKiBAcGFyYW0gbGltaXQgbGltaXRlIGRlIHByb2R1Y3RvcyBlbiBjYWRhIHBldGljacOzbi5cblx0ICovXG5cdGluaXRpYWxpemUoYXBpVXJsOiBzdHJpbmcsIGxpbWl0PzogbnVtYmVyKSB7XG5cdFx0Ly9jb25zb2xlLmxvZyhhcGlVcmwpXG5cdFx0dGhpcy5fYXBpVXJsID0gYXBpVXJsO1xuXHRcdHRoaXMuX2RhdGFQYWdpbmF0aW9uKCkubGltaXQgPSBsaW1pdCB8fCB0aGlzLl9kYXRhUGFnaW5hdGlvbigpLmxpbWl0IHx8IDEwO1xuXHRcdHRoaXMuX2ZpbmlzaGVkID0gZmFsc2U7XG5cdFx0dGhpcy5fc3RhcnQgPSB0cnVlO1xuXHRcdHRoaXMuX25leHRQcm9kdWN0c1N1YmplY3QubmV4dChbXSk7XG5cdH1cblx0LyoqXG5cdCAqIE9idGVuZ28gbG9zIGRhdG9zIGRlIGxhIHNpZ3VpZW50ZSBww6FnaW5hLlxuXHQgKiBAcGFyYW0gbmV4dCBcblx0ICogQHJldHVybnMgXG5cdCAqL1xuXHRnZXROZXh0KG5leHQ/OiBhbnkpOiBib29sZWFuIHtcblx0XHR0aGlzLl93YWl0aW5nID0gdHJ1ZTtcblx0XHR0aGlzLl9uZXh0UHJvZHVjdHNTdWJqZWN0Lm5leHQoW10pO1xuXHRcdHRoaXMuX2FwaVVybCA9IHRoaXMuX2FwaVVybC5yZXBsYWNlKCclMjAnLCAnICcpOy8vIG1hcyBwYXJhIGN1YW5kbyBlcyB1biBzZWFyY2ggdmFsdWUuXG5cdFx0bGV0IG5leHRQcm9kdWN0cztcblx0XHRpZiAodGhpcy5fc3RhcnQpIHtcblx0XHRcdG5leHRQcm9kdWN0cyA9IHRoaXMuX2Nvbm5lY3Rpb25TZXJ2aWNlLmdldCh0aGlzLl9hcGlVcmwsIHsgbGltaXQ6IHRoaXMuX2RhdGFQYWdpbmF0aW9uKCkubGltaXQsIHBhZ2U6IDEgfSlcblx0XHRcdHRoaXMuX3N0YXJ0ID0gZmFsc2Vcblx0XHR9IGVsc2Uge1xuXHRcdFx0bmV4dFByb2R1Y3RzID0gdGhpcy5fY29ubmVjdGlvblNlcnZpY2UuZ2V0KHRoaXMuX2RhdGFQYWdpbmF0aW9uKCkubGlua3MubmV4dC5zbGljZSgxKSk7XG5cdFx0fVxuXG5cdFx0IXRoaXMuX2ZpbmlzaGVkICYmIG5leHRQcm9kdWN0cy5zdWJzY3JpYmUoXG5cdFx0XHQocmVzcG9uc2U6IFBhZ2luYXRpb24pID0+IHtcblx0XHRcdFx0cmVzcG9uc2UubGlua3MgPyB0aGlzLnVwZGF0ZVBhZ2VEYXRhKHJlc3BvbnNlKSA6IHRoaXMuZmluaXNoKHJlc3BvbnNlKVxuXHRcdFx0XHR0aGlzLl9uZXh0UHJvZHVjdHNTdWJqZWN0Lm5leHQocmVzcG9uc2UuaXRlbXMpO1xuXHRcdFx0fVxuXHRcdClcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxuXHQvKipcblx0ICogQWN0dWFsaXphIGxvcyBkYXRvcyBkZSBsYSBwYWdpbmEuXG5cdCAqIEBwYXJhbSByZXNwb25zZSByZXNwdWVzdGEgZGVsIGJhY2tlbmQgbyBvYmplY3RvIGRlbCB0aXBvIGBQYWdpbmF0aW9uYC5cblx0ICovXG5cdHVwZGF0ZVBhZ2VEYXRhKHJlc3BvbnNlOiBQYWdpbmF0aW9uKTogdm9pZCB7XG5cdFx0dGhpcy5fZGF0YVBhZ2luYXRpb24uc2V0KHsgLi4ucmVzcG9uc2UsIGNhbGxlZDogdHJ1ZSB9KVxuXHRcdHRoaXMuX2ZpbmlzaGVkID0gKHJlc3BvbnNlLnBhZ2UgPT0gcmVzcG9uc2UucGFnZXMpXG5cdFx0dGhpcy5fd2FpdGluZyA9IGZhbHNlO1xuXHRcdC8vIEVtaXRpciBsb3MgdmFsb3JlcyBkZSBwcmljZV9taW4geSBwcmljZV9tYXggYSB0cmF2w6lzIGRlIHByaWNlUmFuZ2VTdWJqZWN0LFxuXHRcdC8vIHBhcmEgcXVlIG90cm9zIGNvbXBvbmVudGVzIChlai4gZmlsdHJvIGRlIHByZWNpbykgcHVlZGFuIG1vc3RyYXJsb3MuXG5cdFx0dGhpcy5wcmljZVJhbmdlU3ViamVjdC5uZXh0KHtcblx0XHRcdHByaWNlX21pbjogcmVzcG9uc2UucHJpY2VfbWluLFxuXHRcdFx0cHJpY2VfbWF4OiByZXNwb25zZS5wcmljZV9tYXhcblx0XHR9KTtcblxuXHR9XG5cdC8qKlxuXHQgKiBNYXJjYSBlbCBmaW5hbCBkZSBsYXMgcGFnaW5hcywgZXMgZGVjaXIgY3VhbmRvIHlhIG5vIHF1ZWRhIG1hcyBlbGVtZW50b3MgcXVlIG1vc3RyYXIuXG5cdCAqIEBwYXJhbSByZXNwb25zZSBcblx0ICovXG5cdGZpbmlzaChyZXNwb25zZTogUGFnaW5hdGlvbik6IHZvaWQge1xuXHRcdHRoaXMuX2ZpbmlzaGVkID0gdHJ1ZTtcblx0XHR0aGlzLl93YWl0aW5nID0gZmFsc2U7XG5cdH1cblx0LyoqXG5cdCAqIE9idGVuZ28gbG9zIHByb2R1Y3RvcyBkZSBsYSBwYWdpbmEgY2FyZ2FkYSBhY3R1YWwuIFxuXHQgKiBAcmV0dXJucyBcblx0ICovXG5cdHB1YmxpYyBnZXROZXh0UHJvZHVjdHMoKTogUHJvZHVjdFtdIHtcblx0XHRyZXR1cm4gdGhpcy5fbmV4dFByb2R1Y3RzU3ViamVjdC52YWx1ZTtcblx0fVxuXHQvKipcblx0ICogRGV2dWVsdmUgc2kgZXN0YSBlc3BlcmFuZG8gbyBubyBsYSBwZXRpY2nDs24gYWwgYmFja2VuZC5cblx0ICogQHJldHVybnMgXG5cdCAqL1xuXHRwdWJsaWMgZ2V0V2FpdGluZygpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX3dhaXRpbmc7IH1cblx0LyoqXG5cdCAqIFNldGVhIGxhIHZhcmlhYmxlIHdhaXRpbmcuXG5cdCAqIEBwYXJhbSB2YWx1ZSBcblx0ICovXG5cdHB1YmxpYyBzZXRXYWl0aW5nKHZhbHVlOiBib29sZWFuKTogdm9pZCB7IHRoaXMuX3dhaXRpbmcgPSB2YWx1ZSB9XG5cdC8qKlxuXHQgKiBHZXR0ZXIgcGFyYSBsYSB2YXJpYWJsZSBgX2ZpbmlzaGVkYC5cblx0ICogQHJldHVybnMgXG5cdCAqL1xuXHRwdWJsaWMgZ2V0RmluaXNoZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9maW5pc2hlZDsgfVxuXHQvKipcblx0ICogRGV2dWVsdmUgZWwgdG90YWwgZGUgSXRlbXMuXG5cdCAqIEByZXR1cm5zIFxuXHQgKi9cblx0cHVibGljIGdldFRvdGFsSXRlbXMoKTogbnVtYmVyIHtcblx0XHRyZXR1cm4gdGhpcy5fZGF0YVBhZ2luYXRpb24oKS5saW1pdCAqIHRoaXMuX2RhdGFQYWdpbmF0aW9uKCkucGFnZTtcblx0fVxuXHQvKipcblx0ICogT2J0ZW5nbyB1biBvYmplY3RvIGNvbiBsb3MgZGF0b3MgZGUgbG9zIGZpbHRyb3MgcmVzdWx0YW50ZXMuXG5cdCAqIEByZXR1cm5zIFxuXHQgKi9cblx0cHVibGljIGdldEZpbHRlcnNQYWdpbmF0aW9uKCk6IGFueSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiY2F0ZWdvcmllc1wiOiB0aGlzLl9kYXRhUGFnaW5hdGlvbigpLmNhdGVnb3J5LFxuXHRcdFx0XCJhdHRyaWJ1dGVzXCI6IHRoaXMuX2RhdGFQYWdpbmF0aW9uKCkuYXR0cmlidXRlcyxcblx0XHRcdFwib3B0aW9uc1wiOiB0aGlzLl9kYXRhUGFnaW5hdGlvbigpLm9wdGlvbnNcblx0XHR9XG5cdH1cblx0LyoqXG5cdCAqIFBhcmEgY29udHJ1aXN0ZSBsYSB1cmwgZW4gYmFzZSBhIGxvcyBmaWx0cm9zIGFwbGljYWRvcy5cblx0ICogQHBhcmFtIGZpbHRlcnMgXG5cdCAqIEByZXR1cm5zIFxuXHQgKi9cblx0cHVibGljIGJ1aWxkVXJsKGZpbHRlcnM6IEZpbHRlcltdKSB7XG5cdFx0Y29uc3QgdXJsID0gdGhpcy5fY29uc3RhbnRzLnNlYXJjaFZhbHVlXG5cdFx0XHQ/IHRoaXMuX2ZpbHRlcnNTZXJ2aWNlLmdlbmVyYXRlRmluYWxBcGkodGhpcy5fY29uc3RhbnRzLnNlYXJjaFZhbHVlKVxuXHRcdFx0OiB0aGlzLl9maWx0ZXJzU2VydmljZS5nZW5lcmF0ZUZpbmFsQXBpKCk7XG5cblx0XHRyZXR1cm4gdXJsO1xuXHR9XG5cblx0LyoqXG5cdCAqIERldnVlbHZlIHVuIG9ic2VydmFibGUgZGUgbG9zIHByb2R1Y3RvcyBxdWUgZGV2b2x2acOzIGxhIMO6bHRpbWEgcMOhZ2luYSBvYnRlbmlkYS5cblx0ICogQHBhcmFtIHVybCBcblx0ICogQHJldHVybnMgXG5cdCAqL1xuXHRwdWJsaWMgZ2V0RGF0YSh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8UHJvZHVjdFtdPiB7XG5cblx0XHQvLyBEZXRlY3RhciBsYSBww6FnaW5hIGRlc2RlIGxhIFVSTCAoP3BhZ2U9bikuIFNpIG5vIHZpZW5lLCBhc3VtaW1vcyBwYWdlPTEuXG5cdFx0Y29uc3QgcGFnZU1hdGNoID0gdXJsLm1hdGNoKC9bPyZdcGFnZT0oXFxkKykvKTtcblx0XHRjb25zdCBwYWdlID0gcGFnZU1hdGNoID8gTnVtYmVyKHBhZ2VNYXRjaFsxXSkgOiAxO1xuXG5cdFx0Ly8gU2kgZXMgbGEgcHJpbWVyYSBww6FnaW5hLCByZXNldGVhbW9zIGVzdGFkbyBpbnRlcm5vXG5cdFx0aWYgKHBhZ2UgPT09IDEpIHtcblx0XHRcdHRoaXMuX3Jlc2V0U3ViamVjdC5uZXh0KHRydWUpO1xuXHRcdFx0dGhpcy5fbmV4dFByb2R1Y3RzU3ViamVjdC5uZXh0KFtdKTtcblx0XHR9XG5cblx0XHQvLyBMbGFtYW1vcyBhbCBiYWNrZW5kIGNvbiBlbCBwYWdlIGNvcnJlY3RvXG5cdFx0cmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb25TZXJ2aWNlLmdldCh1cmwsIHsgbGltaXQ6IDEwLCBwYWdlIH0pLnBpcGUoXG5cdFx0XHR0YXAoKHJlczogUGFnaW5hdGlvbikgPT4ge1xuXHRcdFx0XHQvLyBBY3R1YWxpemFyIGRhdG9zIGRlIHBhZ2luYWNpw7NuICsgcHJpY2VfbWluL3ByaWNlX21heFxuXHRcdFx0XHRyZXMubGlua3MgPyB0aGlzLnVwZGF0ZVBhZ2VEYXRhKHJlcykgOiB0aGlzLmZpbmlzaChyZXMpO1xuXHRcdFx0fSksXG5cdFx0XHRtYXAoKHJlczogUGFnaW5hdGlvbikgPT4ge1xuXHRcdFx0XHRjb25zdCBpdGVtcyA9IHJlcy5pdGVtcyA/PyBbXTtcblxuXHRcdFx0XHQvLyBNYW50ZW5lciBuZXh0UHJvZHVjdHMkIHNpbmNyb25pemFkbyAocG9yIGNvbXBhdGliaWxpZGFkKVxuXHRcdFx0XHR0aGlzLl9uZXh0UHJvZHVjdHNTdWJqZWN0Lm5leHQoaXRlbXMpO1xuXG5cdFx0XHRcdC8vIExvIHF1ZSB2ZSBwYWdpbmF0aW9uRGF0YSQgKHN3aXRjaE1hcCkgc29uIGVzdG9zIGl0ZW1zXG5cdFx0XHRcdHJldHVybiBpdGVtcztcblx0XHRcdH0pXG5cdFx0KTtcblx0fVxufVxuXG4iXX0=
|