@esolve/ng-esolve-connect 0.50.1 → 0.52.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/esm2022/index.mjs +7 -14
- package/esm2022/lib/account/esolve-account.service.mjs +5 -5
- package/esm2022/lib/assets/classes/esolve-asset.model.mjs +77 -0
- package/esm2022/lib/assets/classes/esolve-linked-asset.model.mjs +10 -0
- package/esm2022/lib/assets/classes/index.mjs +3 -0
- package/esm2022/lib/assets/esolve-assets.service.mjs +129 -0
- package/esm2022/lib/assets/index.mjs +6 -0
- package/esm2022/lib/assets/interfaces/esolve-asset-options.interface.mjs +2 -0
- package/esm2022/lib/assets/interfaces/esolve-asset-record.interface.mjs +2 -0
- package/esm2022/lib/assets/interfaces/esolve-linked-asset-record.interface.mjs +2 -0
- package/esm2022/lib/assets/interfaces/esolve-media-asset-options.interface.mjs +2 -0
- package/esm2022/lib/assets/interfaces/index.mjs +5 -0
- package/esm2022/lib/assets/types/esolve-asset-list.type.mjs +2 -0
- package/esm2022/lib/assets/types/esolve-asset-type.type.mjs +2 -0
- package/esm2022/lib/assets/types/index.mjs +3 -0
- package/esm2022/lib/auth/esolve-auth-interceptor.service.mjs +3 -3
- package/esm2022/lib/auth/esolve-auth.service.mjs +3 -3
- package/esm2022/lib/banners/classes/esolve-banner-image-hotspot.model.mjs +9 -0
- package/esm2022/lib/banners/classes/esolve-banner-image.model.mjs +14 -0
- package/esm2022/lib/banners/classes/esolve-banner.model.mjs +25 -0
- package/esm2022/lib/banners/classes/index.mjs +4 -0
- package/esm2022/lib/banners/esolve-banner.service.mjs +5 -7
- package/esm2022/lib/banners/index.mjs +4 -12
- package/esm2022/lib/banners/interfaces/esolve-banner-image-hotspot-coords.interface.mjs +2 -0
- package/esm2022/lib/banners/interfaces/esolve-banner-image-hotspot-record.interface.mjs +2 -0
- package/esm2022/lib/banners/interfaces/esolve-banner-image-record.interface.mjs +2 -0
- package/esm2022/lib/banners/interfaces/esolve-banner-image-set.interface.mjs +2 -0
- package/esm2022/lib/banners/interfaces/esolve-banner-link.interface.mjs +2 -0
- package/esm2022/lib/banners/interfaces/esolve-banner-record.interface.mjs +2 -0
- package/esm2022/lib/banners/interfaces/index.mjs +7 -0
- package/esm2022/lib/banners/types/esolve-banner-image-type.type.mjs +2 -0
- package/esm2022/lib/banners/types/esolve-banner-type.type.mjs +2 -0
- package/esm2022/lib/banners/types/index.mjs +3 -0
- package/esm2022/lib/cart/classes/esolve-cart-alternative.model.mjs +63 -0
- package/esm2022/lib/cart/classes/esolve-cart-totals.model.mjs +9 -3
- package/esm2022/lib/cart/classes/index.mjs +2 -1
- package/esm2022/lib/cart/esolve-cart.service.mjs +74 -8
- package/esm2022/lib/cart/interfaces/esolve-cart-alternative-record.interface.mjs +2 -0
- package/esm2022/lib/cart/interfaces/esolve-cart-totals-record.interface.mjs +1 -1
- package/esm2022/lib/cart/interfaces/index.mjs +2 -1
- package/esm2022/lib/cart/types/esolve-cart-alternatives-map.type.mjs +2 -0
- package/esm2022/lib/cart/types/index.mjs +2 -1
- package/esm2022/lib/category-tree/classes/esolve-category-tree-item.model.mjs +48 -0
- package/esm2022/lib/category-tree/classes/index.mjs +2 -0
- package/esm2022/lib/category-tree/esolve-category-tree.service.mjs +5 -5
- package/esm2022/lib/category-tree/index.mjs +3 -6
- package/esm2022/lib/category-tree/interfaces/esolve-category-identifier.interface.mjs +2 -0
- package/esm2022/lib/category-tree/interfaces/esolve-category-record.interface.mjs +2 -0
- package/esm2022/lib/category-tree/interfaces/esolve-category-tree-item-options.interface.mjs +2 -0
- package/esm2022/lib/category-tree/interfaces/esolve-category-tree-item-record.interface.mjs +2 -0
- package/esm2022/lib/category-tree/interfaces/esolve-subcategory-record.interface.mjs +2 -0
- package/esm2022/lib/category-tree/interfaces/index.mjs +6 -0
- package/esm2022/lib/core/esolve-config.service.mjs +3 -3
- package/esm2022/lib/coupons/esolve-coupons.service.mjs +5 -5
- package/esm2022/lib/device/classes/esolve-set-device-result.model.mjs +9 -0
- package/esm2022/lib/device/classes/esolve-user-device.model.mjs +26 -0
- package/esm2022/lib/device/classes/index.mjs +3 -0
- package/esm2022/lib/device/esolve-device.service.mjs +72 -0
- package/esm2022/lib/device/index.mjs +4 -0
- package/esm2022/lib/device/interfaces/esolve-device.interface.mjs +2 -0
- package/esm2022/lib/device/interfaces/esolve-user-device-options.interface.mjs +2 -0
- package/esm2022/lib/device/interfaces/esolve-user-device-record.interface.mjs +2 -0
- package/esm2022/lib/device/interfaces/index.mjs +4 -0
- package/esm2022/lib/enquiry/classes/esolve-enquiry-result.model.mjs +9 -0
- package/esm2022/lib/enquiry/classes/index.mjs +2 -0
- package/esm2022/lib/enquiry/esolve-enquiry.service.mjs +6 -6
- package/esm2022/lib/enquiry/index.mjs +3 -3
- package/esm2022/lib/enquiry/types/esolve-enquiry-response.type.mjs +2 -0
- package/esm2022/lib/enquiry/types/index.mjs +2 -0
- package/esm2022/lib/geocoder/classes/esolve-geocode-address-result.model.mjs +12 -0
- package/esm2022/lib/geocoder/classes/esolve-geocode-coords-result.model.mjs +7 -0
- package/esm2022/lib/geocoder/classes/esolve-geocode-result.model.mjs +11 -0
- package/esm2022/lib/geocoder/classes/index.mjs +4 -0
- package/esm2022/lib/geocoder/esolve-geocoder.service.mjs +66 -0
- package/esm2022/lib/geocoder/index.mjs +4 -0
- package/esm2022/lib/geocoder/interfaces/esolve-geocode-address-record.interface.mjs +2 -0
- package/esm2022/lib/geocoder/interfaces/esolve-geocode-result-record.interface.mjs +2 -0
- package/esm2022/lib/geocoder/interfaces/index.mjs +3 -0
- package/esm2022/lib/images/directives/cdn-src.directive.mjs +3 -3
- package/esm2022/lib/locations/classes/esolve-location-trading-day.model.mjs +1 -1
- package/esm2022/lib/locations/esolve-locations.service.mjs +3 -3
- package/esm2022/lib/manufacturers/classes/esolve-manufacturer.model.mjs +61 -0
- package/esm2022/lib/manufacturers/classes/index.mjs +2 -0
- package/esm2022/lib/manufacturers/esolve-manufacturers.service.mjs +5 -5
- package/esm2022/lib/manufacturers/index.mjs +4 -8
- package/esm2022/lib/manufacturers/interfaces/esolve-manufacturer-options.interface.mjs +2 -0
- package/esm2022/lib/manufacturers/interfaces/esolve-manufacturer-record.interface.mjs +2 -0
- package/esm2022/lib/manufacturers/interfaces/index.mjs +3 -0
- package/esm2022/lib/manufacturers/types/esolve-manufacturer-image-size.type.mjs +2 -0
- package/esm2022/lib/manufacturers/types/index.mjs +2 -0
- package/esm2022/lib/menu/esolve-menu.service.mjs +3 -3
- package/esm2022/lib/news/classes/esolve-news-article-author.model.mjs +9 -0
- package/esm2022/lib/news/classes/esolve-news-article-list.model.mjs +8 -0
- package/esm2022/lib/news/classes/esolve-news-article.model.mjs +73 -0
- package/esm2022/lib/news/classes/esolve-news-group.model.mjs +25 -0
- package/esm2022/lib/news/classes/index.mjs +5 -0
- package/esm2022/lib/news/esolve-news.service.mjs +5 -7
- package/esm2022/lib/news/index.mjs +3 -9
- package/esm2022/lib/news/interfaces/esolve-news-article-author-record.interface.mjs +2 -0
- package/esm2022/lib/news/interfaces/esolve-news-article-options.interface.mjs +2 -0
- package/esm2022/lib/news/interfaces/esolve-news-article-record.interface.mjs +2 -0
- package/esm2022/lib/news/interfaces/esolve-news-group-record.interface.mjs +2 -0
- package/esm2022/lib/news/interfaces/index.mjs +5 -0
- package/esm2022/lib/ng-esolve-connect.module.mjs +4 -4
- package/esm2022/lib/payment/esolve-payment.service.mjs +3 -3
- package/esm2022/lib/ranges/{esolve-range.model.mjs → classes/esolve-range.model.mjs} +2 -2
- package/esm2022/lib/ranges/classes/index.mjs +2 -0
- package/esm2022/lib/ranges/esolve-ranges.service.mjs +5 -5
- package/esm2022/lib/ranges/index.mjs +3 -4
- package/esm2022/lib/ranges/interfaces/esolve-range-options.interface.mjs +2 -0
- package/esm2022/lib/ranges/interfaces/esolve-range-record.interface.mjs +2 -0
- package/esm2022/lib/ranges/interfaces/index.mjs +3 -0
- package/esm2022/lib/seo/classes/esolve-seo-info.model.mjs +12 -0
- package/esm2022/lib/seo/classes/index.mjs +2 -0
- package/esm2022/lib/seo/esolve-seo.service.mjs +122 -0
- package/esm2022/lib/seo/index.mjs +4 -0
- package/esm2022/lib/seo/interfaces/esolve-seo-details.interface.mjs +2 -0
- package/esm2022/lib/seo/interfaces/index.mjs +2 -0
- package/esm2022/lib/session/esolve-session-metadata.service.mjs +3 -3
- package/esm2022/lib/session/esolve-session.service.mjs +5 -5
- package/esm2022/lib/shared/cookie/esolve-cookie.service.mjs +8 -9
- package/esm2022/lib/shared/cookie/index.mjs +2 -0
- package/esm2022/lib/shared/errors/esolve-error-handler.service.mjs +3 -3
- package/esm2022/lib/shared/filters/classes/esolve-multiple-select-filter.model.mjs +1 -1
- package/esm2022/lib/shared/filters/classes/esolve-range-filter.model.mjs +1 -1
- package/esm2022/lib/shared/filters/classes/esolve-toggle-filter.model.mjs +1 -1
- package/esm2022/lib/shared/filters/types/index.mjs +2 -1
- package/esm2022/lib/shared/index.mjs +11 -0
- package/esm2022/lib/shared/response/classes/esolve-response-result.model.mjs +9 -0
- package/esm2022/lib/shared/response/classes/index.mjs +2 -0
- package/esm2022/lib/shared/response/esolve-response-handler.service.mjs +4 -4
- package/esm2022/lib/shared/response/index.mjs +3 -10
- package/esm2022/lib/shared/response/interfaces/esolve-delete-response.interface.mjs +2 -0
- package/esm2022/lib/shared/response/interfaces/esolve-delete-result.interface.mjs +2 -0
- package/esm2022/lib/shared/response/interfaces/esolve-get-response.interface.mjs +2 -0
- package/esm2022/lib/shared/response/interfaces/esolve-post-response-item.interface.mjs +2 -0
- package/esm2022/lib/shared/response/interfaces/esolve-post-response-status.interface.mjs +2 -0
- package/esm2022/lib/shared/response/interfaces/esolve-response-log-item.interface.mjs +2 -0
- package/esm2022/lib/shared/response/interfaces/esolve-response.interface.mjs +2 -0
- package/esm2022/lib/shared/response/interfaces/esolve-set-response.interface.mjs +2 -0
- package/esm2022/lib/shared/response/interfaces/index.mjs +9 -0
- package/esm2022/lib/shipping/classes/esolve-shipping-method.model.mjs +33 -30
- package/esm2022/lib/shipping/esolve-shipping.service.mjs +5 -6
- package/esm2022/lib/specials/classes/esolve-special-dates.model.mjs +7 -0
- package/esm2022/lib/specials/classes/esolve-special-image-collection.model.mjs +25 -0
- package/esm2022/lib/specials/classes/esolve-special-image.model.mjs +9 -0
- package/esm2022/lib/specials/classes/esolve-special.model.mjs +40 -0
- package/esm2022/lib/specials/classes/index.mjs +5 -0
- package/esm2022/lib/specials/esolve-specials.service.mjs +5 -5
- package/esm2022/lib/specials/index.mjs +3 -9
- package/esm2022/lib/specials/interfaces/esolve-special-image-collection-record.interface.mjs +2 -0
- package/esm2022/lib/specials/interfaces/esolve-special-image-record.interface.mjs +2 -0
- package/esm2022/lib/specials/interfaces/esolve-special-options.interface.mjs +2 -0
- package/esm2022/lib/specials/interfaces/esolve-special-record.interface.mjs +2 -0
- package/esm2022/lib/specials/interfaces/index.mjs +5 -0
- package/esm2022/lib/stock/classes/esolve-stock-item-base.model.mjs +2 -2
- package/esm2022/lib/stock/esolve-stock.service.mjs +3 -3
- package/esm2022/lib/suppliers/esolve-suppliers.service.mjs +3 -3
- package/esm2022/lib/tags/classes/esolve-tag.model.mjs +35 -0
- package/esm2022/lib/tags/classes/index.mjs +2 -0
- package/esm2022/lib/tags/esolve-tags.service.mjs +5 -5
- package/esm2022/lib/tags/index.mjs +4 -8
- package/esm2022/lib/tags/interfaces/esolve-tag-options.interface.mjs +2 -0
- package/esm2022/lib/tags/interfaces/esolve-tag-record.interface.mjs +2 -0
- package/esm2022/lib/tags/interfaces/index.mjs +3 -0
- package/esm2022/lib/tags/types/esolve-tag-phrase-match-mode.type.mjs +2 -0
- package/esm2022/lib/tags/types/index.mjs +2 -0
- package/esm2022/lib/topics/classes/esolve-topic.model.mjs +15 -0
- package/esm2022/lib/topics/classes/index.mjs +2 -0
- package/esm2022/lib/topics/esolve-topic.service.mjs +5 -5
- package/esm2022/lib/topics/index.mjs +3 -3
- package/esm2022/lib/topics/interfaces/esolve-topic-record.interface.mjs +2 -0
- package/esm2022/lib/topics/interfaces/index.mjs +2 -0
- package/esm2022/lib/transactions/classes/esolve-transaction.model.mjs +12 -1
- package/esm2022/lib/transactions/esolve-transactions.service.mjs +3 -3
- package/esm2022/lib/transactions/interfaces/esolve-transaction-record.interface.mjs +1 -1
- package/esm2022/lib/vouchers/esolve-vouchers.service.mjs +5 -5
- package/esm2022/lib/wishlist/esolve-wishlist.service.mjs +3 -3
- package/esm2022/media/lib/classes/esolve-heading.model.mjs +1 -1
- package/esm2022/media/lib/components/media-layout/esolve-media-layout.component.mjs +3 -3
- package/esm2022/media/lib/components/media-section/esolve-media-section.component.mjs +3 -3
- package/esm2022/media/lib/ng-esolve-connect-media.module.mjs +4 -4
- package/esm2022/media/lib/services/esolve-media-layout.service.mjs +3 -3
- package/esm2022/media/lib/services/esolve-media.service.mjs +3 -3
- package/esm2022/notifications/lib/services/esolve-notifications.service.mjs +3 -3
- package/esm2022/survey/lib/services/esolve-survey.service.mjs +3 -3
- package/fesm2022/esolve-ng-esolve-connect-media.mjs +16 -16
- package/fesm2022/esolve-ng-esolve-connect-media.mjs.map +1 -1
- package/fesm2022/esolve-ng-esolve-connect-notifications.mjs +3 -3
- package/fesm2022/esolve-ng-esolve-connect-survey.mjs +3 -3
- package/fesm2022/esolve-ng-esolve-connect.mjs +587 -352
- package/fesm2022/esolve-ng-esolve-connect.mjs.map +1 -1
- package/index.d.ts +5 -13
- package/lib/{shared/assets → assets/classes}/esolve-asset.model.d.ts +2 -2
- package/lib/{shared/assets → assets/classes}/esolve-linked-asset.model.d.ts +2 -2
- package/lib/assets/classes/index.d.ts +2 -0
- package/lib/{shared/assets → assets}/esolve-assets.service.d.ts +3 -4
- package/lib/assets/index.d.ts +4 -0
- package/lib/{shared/assets → assets/interfaces}/esolve-asset-options.interface.d.ts +1 -1
- package/lib/{shared/assets → assets/interfaces}/esolve-asset-record.interface.d.ts +1 -1
- package/lib/{shared/assets → assets/interfaces}/esolve-linked-asset-record.interface.d.ts +1 -1
- package/lib/{shared/assets → assets/interfaces}/index.d.ts +0 -5
- package/lib/assets/types/esolve-asset-list.type.d.ts +3 -0
- package/lib/assets/types/index.d.ts +2 -0
- package/lib/banners/{esolve-banner-image-hotspot.model.d.ts → classes/esolve-banner-image-hotspot.model.d.ts} +2 -2
- package/lib/banners/{esolve-banner-image.model.d.ts → classes/esolve-banner-image.model.d.ts} +1 -1
- package/lib/banners/{esolve-banner.model.d.ts → classes/esolve-banner.model.d.ts} +2 -3
- package/lib/banners/classes/index.d.ts +3 -0
- package/lib/banners/esolve-banner.service.d.ts +1 -1
- package/lib/banners/index.d.ts +3 -8
- package/lib/banners/{esolve-banner-image-hotspot-record.interface.d.ts → interfaces/esolve-banner-image-hotspot-record.interface.d.ts} +1 -1
- package/lib/banners/{esolve-banner-image-record.interface.d.ts → interfaces/esolve-banner-image-record.interface.d.ts} +1 -1
- package/lib/banners/{esolve-banner-image-set.interface.d.ts → interfaces/esolve-banner-image-set.interface.d.ts} +1 -1
- package/lib/banners/{esolve-banner-link.interface.d.ts → interfaces/esolve-banner-link.interface.d.ts} +1 -1
- package/lib/banners/{esolve-banner-record.interface.d.ts → interfaces/esolve-banner-record.interface.d.ts} +1 -1
- package/lib/banners/interfaces/index.d.ts +6 -0
- package/lib/banners/types/index.d.ts +2 -0
- package/lib/cart/classes/esolve-cart-alternative.model.d.ts +35 -0
- package/lib/cart/classes/esolve-cart-totals.model.d.ts +11 -2
- package/lib/cart/classes/index.d.ts +1 -0
- package/lib/cart/esolve-cart.service.d.ts +21 -1
- package/lib/cart/interfaces/esolve-cart-alternative-record.interface.d.ts +12 -0
- package/lib/cart/interfaces/esolve-cart-totals-record.interface.d.ts +1 -0
- package/lib/cart/interfaces/index.d.ts +1 -0
- package/lib/cart/types/esolve-cart-alternatives-map.type.d.ts +2 -0
- package/lib/cart/types/index.d.ts +1 -0
- package/lib/category-tree/{esolve-category-tree-item.model.d.ts → classes/esolve-category-tree-item.model.d.ts} +1 -2
- package/lib/category-tree/classes/index.d.ts +1 -0
- package/lib/category-tree/esolve-category-tree.service.d.ts +2 -2
- package/lib/category-tree/index.d.ts +2 -5
- package/lib/category-tree/interfaces/index.d.ts +5 -0
- package/lib/device/classes/esolve-set-device-result.model.d.ts +5 -0
- package/lib/device/classes/esolve-user-device.model.d.ts +25 -0
- package/lib/device/classes/index.d.ts +2 -0
- package/lib/device/esolve-device.service.d.ts +16 -0
- package/lib/device/index.d.ts +3 -0
- package/lib/device/interfaces/esolve-device.interface.d.ts +8 -0
- package/lib/device/interfaces/esolve-user-device-options.interface.d.ts +5 -0
- package/lib/device/interfaces/esolve-user-device-record.interface.d.ts +23 -0
- package/lib/device/interfaces/index.d.ts +3 -0
- package/lib/enquiry/{esolve-enquiry-result.model.d.ts → classes/esolve-enquiry-result.model.d.ts} +2 -2
- package/lib/enquiry/classes/index.d.ts +1 -0
- package/lib/enquiry/esolve-enquiry.service.d.ts +1 -1
- package/lib/enquiry/index.d.ts +2 -2
- package/lib/enquiry/types/esolve-enquiry-response.type.d.ts +2 -0
- package/lib/enquiry/types/index.d.ts +1 -0
- package/lib/geocoder/classes/index.d.ts +3 -0
- package/lib/{shared/geocoder → geocoder}/esolve-geocoder.service.d.ts +1 -1
- package/lib/geocoder/index.d.ts +3 -0
- package/lib/geocoder/interfaces/index.d.ts +2 -0
- package/lib/manufacturers/{esolve-manufacturer.model.d.ts → classes/esolve-manufacturer.model.d.ts} +3 -4
- package/lib/manufacturers/classes/index.d.ts +1 -0
- package/lib/manufacturers/esolve-manufacturers.service.d.ts +2 -2
- package/lib/manufacturers/index.d.ts +3 -4
- package/lib/manufacturers/interfaces/index.d.ts +2 -0
- package/lib/manufacturers/types/index.d.ts +1 -0
- package/lib/news/{esolve-news-article.model.d.ts → classes/esolve-news-article.model.d.ts} +6 -7
- package/lib/news/{esolve-news-group.model.d.ts → classes/esolve-news-group.model.d.ts} +1 -1
- package/lib/news/classes/index.d.ts +4 -0
- package/lib/news/esolve-news.service.d.ts +2 -4
- package/lib/news/index.d.ts +2 -8
- package/lib/news/{esolve-news-article-record.interface.d.ts → interfaces/esolve-news-article-record.interface.d.ts} +4 -4
- package/lib/news/interfaces/index.d.ts +4 -0
- package/lib/ranges/{esolve-range.model.d.ts → classes/esolve-range.model.d.ts} +2 -3
- package/lib/ranges/classes/index.d.ts +1 -0
- package/lib/ranges/esolve-ranges.service.d.ts +2 -2
- package/lib/ranges/index.d.ts +2 -3
- package/lib/ranges/interfaces/index.d.ts +2 -0
- package/lib/seo/classes/index.d.ts +1 -0
- package/lib/{shared/seo → seo}/esolve-seo.service.d.ts +1 -1
- package/lib/seo/index.d.ts +3 -0
- package/lib/{shared/seo → seo/interfaces}/esolve-seo-details.interface.d.ts +1 -1
- package/lib/seo/interfaces/index.d.ts +1 -0
- package/lib/shared/cookie/esolve-cookie.service.d.ts +1 -3
- package/lib/shared/cookie/index.d.ts +1 -0
- package/lib/shared/filters/types/index.d.ts +1 -0
- package/lib/shared/index.d.ts +10 -0
- package/lib/shared/response/{esolve-response-result.model.d.ts → classes/esolve-response-result.model.d.ts} +1 -2
- package/lib/shared/response/classes/index.d.ts +1 -0
- package/lib/shared/response/esolve-response-handler.service.d.ts +2 -3
- package/lib/shared/response/index.d.ts +2 -9
- package/lib/shared/response/interfaces/index.d.ts +8 -0
- package/lib/shipping/classes/esolve-shipping-method.model.d.ts +2 -1
- package/lib/specials/{esolve-special-image-collection.model.d.ts → classes/esolve-special-image-collection.model.d.ts} +1 -1
- package/lib/specials/{esolve-special-image.model.d.ts → classes/esolve-special-image.model.d.ts} +1 -1
- package/lib/specials/{esolve-special.model.d.ts → classes/esolve-special.model.d.ts} +4 -5
- package/lib/specials/classes/index.d.ts +4 -0
- package/lib/specials/esolve-specials.service.d.ts +2 -2
- package/lib/specials/index.d.ts +2 -8
- package/lib/specials/{esolve-special-record.interface.d.ts → interfaces/esolve-special-record.interface.d.ts} +1 -1
- package/lib/specials/interfaces/index.d.ts +4 -0
- package/lib/stock/classes/esolve-stock-item-base.model.d.ts +1 -1
- package/lib/tags/{esolve-tag.model.d.ts → classes/esolve-tag.model.d.ts} +1 -1
- package/lib/tags/classes/index.d.ts +1 -0
- package/lib/tags/esolve-tags.service.d.ts +2 -2
- package/lib/tags/index.d.ts +3 -4
- package/lib/tags/{esolve-tag-options.interface.d.ts → interfaces/esolve-tag-options.interface.d.ts} +1 -1
- package/lib/tags/interfaces/index.d.ts +2 -0
- package/lib/tags/types/index.d.ts +1 -0
- package/lib/topics/{esolve-topic.model.d.ts → classes/esolve-topic.model.d.ts} +2 -1
- package/lib/topics/classes/index.d.ts +1 -0
- package/lib/topics/esolve-topic.service.d.ts +1 -1
- package/lib/topics/index.d.ts +2 -2
- package/lib/topics/interfaces/index.d.ts +1 -0
- package/lib/transactions/classes/esolve-transaction.model.d.ts +3 -0
- package/lib/transactions/interfaces/esolve-transaction-record.interface.d.ts +2 -0
- package/package.json +1 -3
- package/esm2022/lib/banners/esolve-banner-image-hotspot-coords.interface.mjs +0 -2
- package/esm2022/lib/banners/esolve-banner-image-hotspot-record.interface.mjs +0 -2
- package/esm2022/lib/banners/esolve-banner-image-hotspot.model.mjs +0 -9
- package/esm2022/lib/banners/esolve-banner-image-record.interface.mjs +0 -2
- package/esm2022/lib/banners/esolve-banner-image-set.interface.mjs +0 -2
- package/esm2022/lib/banners/esolve-banner-image-type.type.mjs +0 -2
- package/esm2022/lib/banners/esolve-banner-image.model.mjs +0 -14
- package/esm2022/lib/banners/esolve-banner-link.interface.mjs +0 -2
- package/esm2022/lib/banners/esolve-banner-record.interface.mjs +0 -2
- package/esm2022/lib/banners/esolve-banner-type.type.mjs +0 -2
- package/esm2022/lib/banners/esolve-banner.model.mjs +0 -25
- package/esm2022/lib/category-tree/esolve-category-identifier.interface.mjs +0 -2
- package/esm2022/lib/category-tree/esolve-category-record.interface.mjs +0 -2
- package/esm2022/lib/category-tree/esolve-category-tree-item-options.interface.mjs +0 -2
- package/esm2022/lib/category-tree/esolve-category-tree-item-record.interface.mjs +0 -2
- package/esm2022/lib/category-tree/esolve-category-tree-item.model.mjs +0 -48
- package/esm2022/lib/category-tree/esolve-subcategory-record.interface.mjs +0 -2
- package/esm2022/lib/enquiry/esolve-enquiry-response.type.mjs +0 -2
- package/esm2022/lib/enquiry/esolve-enquiry-result.model.mjs +0 -9
- package/esm2022/lib/manufacturers/esolve-manufacturer-image-size.type.mjs +0 -2
- package/esm2022/lib/manufacturers/esolve-manufacturer-options.interface.mjs +0 -2
- package/esm2022/lib/manufacturers/esolve-manufacturer-record.interface.mjs +0 -2
- package/esm2022/lib/manufacturers/esolve-manufacturer.model.mjs +0 -61
- package/esm2022/lib/news/esolve-news-article-author-record.interface.mjs +0 -2
- package/esm2022/lib/news/esolve-news-article-author.model.mjs +0 -9
- package/esm2022/lib/news/esolve-news-article-list.model.mjs +0 -8
- package/esm2022/lib/news/esolve-news-article-options.interface.mjs +0 -2
- package/esm2022/lib/news/esolve-news-article-record.interface.mjs +0 -2
- package/esm2022/lib/news/esolve-news-article.model.mjs +0 -73
- package/esm2022/lib/news/esolve-news-group-record.interface.mjs +0 -2
- package/esm2022/lib/news/esolve-news-group.model.mjs +0 -25
- package/esm2022/lib/ranges/esolve-range-options.interface.mjs +0 -2
- package/esm2022/lib/ranges/esolve-range-record.interface.mjs +0 -2
- package/esm2022/lib/shared/assets/esolve-asset-list.type.mjs +0 -2
- package/esm2022/lib/shared/assets/esolve-asset-options.interface.mjs +0 -2
- package/esm2022/lib/shared/assets/esolve-asset-record.interface.mjs +0 -2
- package/esm2022/lib/shared/assets/esolve-asset-type.type.mjs +0 -2
- package/esm2022/lib/shared/assets/esolve-asset.model.mjs +0 -77
- package/esm2022/lib/shared/assets/esolve-assets.service.mjs +0 -129
- package/esm2022/lib/shared/assets/esolve-linked-asset-record.interface.mjs +0 -2
- package/esm2022/lib/shared/assets/esolve-linked-asset.model.mjs +0 -10
- package/esm2022/lib/shared/assets/esolve-media-asset-options.interface.mjs +0 -2
- package/esm2022/lib/shared/assets/index.mjs +0 -14
- package/esm2022/lib/shared/geocoder/esolve-geocode-address-record.interface.mjs +0 -2
- package/esm2022/lib/shared/geocoder/esolve-geocode-address-result.model.mjs +0 -12
- package/esm2022/lib/shared/geocoder/esolve-geocode-coords-result.model.mjs +0 -7
- package/esm2022/lib/shared/geocoder/esolve-geocode-result-record.interface.mjs +0 -2
- package/esm2022/lib/shared/geocoder/esolve-geocode-result.model.mjs +0 -11
- package/esm2022/lib/shared/geocoder/esolve-geocoder.service.mjs +0 -68
- package/esm2022/lib/shared/geocoder/index.mjs +0 -7
- package/esm2022/lib/shared/response/esolve-delete-response.interface.mjs +0 -2
- package/esm2022/lib/shared/response/esolve-delete-result.interface.mjs +0 -2
- package/esm2022/lib/shared/response/esolve-get-response.interface.mjs +0 -2
- package/esm2022/lib/shared/response/esolve-post-response-item.interface.mjs +0 -2
- package/esm2022/lib/shared/response/esolve-post-response-status.interface.mjs +0 -2
- package/esm2022/lib/shared/response/esolve-response-log-item.interface.mjs +0 -2
- package/esm2022/lib/shared/response/esolve-response-result.model.mjs +0 -9
- package/esm2022/lib/shared/response/esolve-response.interface.mjs +0 -2
- package/esm2022/lib/shared/response/esolve-set-response.interface.mjs +0 -2
- package/esm2022/lib/shared/seo/esolve-seo-details.interface.mjs +0 -2
- package/esm2022/lib/shared/seo/esolve-seo-info.model.mjs +0 -12
- package/esm2022/lib/shared/seo/esolve-seo.service.mjs +0 -122
- package/esm2022/lib/shared/seo/index.mjs +0 -4
- package/esm2022/lib/specials/esolve-special-dates.model.mjs +0 -7
- package/esm2022/lib/specials/esolve-special-image-collection-record.interface.mjs +0 -2
- package/esm2022/lib/specials/esolve-special-image-collection.model.mjs +0 -25
- package/esm2022/lib/specials/esolve-special-image-record.interface.mjs +0 -2
- package/esm2022/lib/specials/esolve-special-image.model.mjs +0 -9
- package/esm2022/lib/specials/esolve-special-options.interface.mjs +0 -2
- package/esm2022/lib/specials/esolve-special-record.interface.mjs +0 -2
- package/esm2022/lib/specials/esolve-special.model.mjs +0 -40
- package/esm2022/lib/tags/esolve-tag-options.interface.mjs +0 -2
- package/esm2022/lib/tags/esolve-tag-phrase-match-mode.type.mjs +0 -2
- package/esm2022/lib/tags/esolve-tag-record.interface.mjs +0 -2
- package/esm2022/lib/tags/esolve-tag.model.mjs +0 -35
- package/esm2022/lib/topics/esolve-topic-record.interface.mjs +0 -2
- package/esm2022/lib/topics/esolve-topic.model.mjs +0 -15
- package/lib/enquiry/esolve-enquiry-response.type.d.ts +0 -2
- package/lib/shared/assets/esolve-asset-list.type.d.ts +0 -3
- package/lib/shared/geocoder/index.d.ts +0 -6
- package/lib/shared/seo/index.d.ts +0 -3
- /package/lib/{shared/assets → assets/interfaces}/esolve-media-asset-options.interface.d.ts +0 -0
- /package/lib/{shared/assets → assets/types}/esolve-asset-type.type.d.ts +0 -0
- /package/lib/banners/{esolve-banner-image-hotspot-coords.interface.d.ts → interfaces/esolve-banner-image-hotspot-coords.interface.d.ts} +0 -0
- /package/lib/banners/{esolve-banner-image-type.type.d.ts → types/esolve-banner-image-type.type.d.ts} +0 -0
- /package/lib/banners/{esolve-banner-type.type.d.ts → types/esolve-banner-type.type.d.ts} +0 -0
- /package/lib/category-tree/{esolve-category-identifier.interface.d.ts → interfaces/esolve-category-identifier.interface.d.ts} +0 -0
- /package/lib/category-tree/{esolve-category-record.interface.d.ts → interfaces/esolve-category-record.interface.d.ts} +0 -0
- /package/lib/category-tree/{esolve-category-tree-item-options.interface.d.ts → interfaces/esolve-category-tree-item-options.interface.d.ts} +0 -0
- /package/lib/category-tree/{esolve-category-tree-item-record.interface.d.ts → interfaces/esolve-category-tree-item-record.interface.d.ts} +0 -0
- /package/lib/category-tree/{esolve-subcategory-record.interface.d.ts → interfaces/esolve-subcategory-record.interface.d.ts} +0 -0
- /package/lib/{shared/geocoder → geocoder/classes}/esolve-geocode-address-result.model.d.ts +0 -0
- /package/lib/{shared/geocoder → geocoder/classes}/esolve-geocode-coords-result.model.d.ts +0 -0
- /package/lib/{shared/geocoder → geocoder/classes}/esolve-geocode-result.model.d.ts +0 -0
- /package/lib/{shared/geocoder → geocoder/interfaces}/esolve-geocode-address-record.interface.d.ts +0 -0
- /package/lib/{shared/geocoder → geocoder/interfaces}/esolve-geocode-result-record.interface.d.ts +0 -0
- /package/lib/manufacturers/{esolve-manufacturer-options.interface.d.ts → interfaces/esolve-manufacturer-options.interface.d.ts} +0 -0
- /package/lib/manufacturers/{esolve-manufacturer-record.interface.d.ts → interfaces/esolve-manufacturer-record.interface.d.ts} +0 -0
- /package/lib/manufacturers/{esolve-manufacturer-image-size.type.d.ts → types/esolve-manufacturer-image-size.type.d.ts} +0 -0
- /package/lib/news/{esolve-news-article-author.model.d.ts → classes/esolve-news-article-author.model.d.ts} +0 -0
- /package/lib/news/{esolve-news-article-list.model.d.ts → classes/esolve-news-article-list.model.d.ts} +0 -0
- /package/lib/news/{esolve-news-article-author-record.interface.d.ts → interfaces/esolve-news-article-author-record.interface.d.ts} +0 -0
- /package/lib/news/{esolve-news-article-options.interface.d.ts → interfaces/esolve-news-article-options.interface.d.ts} +0 -0
- /package/lib/news/{esolve-news-group-record.interface.d.ts → interfaces/esolve-news-group-record.interface.d.ts} +0 -0
- /package/lib/ranges/{esolve-range-options.interface.d.ts → interfaces/esolve-range-options.interface.d.ts} +0 -0
- /package/lib/ranges/{esolve-range-record.interface.d.ts → interfaces/esolve-range-record.interface.d.ts} +0 -0
- /package/lib/{shared/seo → seo/classes}/esolve-seo-info.model.d.ts +0 -0
- /package/lib/shared/response/{esolve-delete-response.interface.d.ts → interfaces/esolve-delete-response.interface.d.ts} +0 -0
- /package/lib/shared/response/{esolve-delete-result.interface.d.ts → interfaces/esolve-delete-result.interface.d.ts} +0 -0
- /package/lib/shared/response/{esolve-get-response.interface.d.ts → interfaces/esolve-get-response.interface.d.ts} +0 -0
- /package/lib/shared/response/{esolve-post-response-item.interface.d.ts → interfaces/esolve-post-response-item.interface.d.ts} +0 -0
- /package/lib/shared/response/{esolve-post-response-status.interface.d.ts → interfaces/esolve-post-response-status.interface.d.ts} +0 -0
- /package/lib/shared/response/{esolve-response-log-item.interface.d.ts → interfaces/esolve-response-log-item.interface.d.ts} +0 -0
- /package/lib/shared/response/{esolve-response.interface.d.ts → interfaces/esolve-response.interface.d.ts} +0 -0
- /package/lib/shared/response/{esolve-set-response.interface.d.ts → interfaces/esolve-set-response.interface.d.ts} +0 -0
- /package/lib/specials/{esolve-special-dates.model.d.ts → classes/esolve-special-dates.model.d.ts} +0 -0
- /package/lib/specials/{esolve-special-image-collection-record.interface.d.ts → interfaces/esolve-special-image-collection-record.interface.d.ts} +0 -0
- /package/lib/specials/{esolve-special-image-record.interface.d.ts → interfaces/esolve-special-image-record.interface.d.ts} +0 -0
- /package/lib/specials/{esolve-special-options.interface.d.ts → interfaces/esolve-special-options.interface.d.ts} +0 -0
- /package/lib/tags/{esolve-tag-record.interface.d.ts → interfaces/esolve-tag-record.interface.d.ts} +0 -0
- /package/lib/tags/{esolve-tag-phrase-match-mode.type.d.ts → types/esolve-tag-phrase-match-mode.type.d.ts} +0 -0
- /package/lib/topics/{esolve-topic-record.interface.d.ts → interfaces/esolve-topic-record.interface.d.ts} +0 -0
package/esm2022/index.mjs
CHANGED
|
@@ -4,22 +4,13 @@
|
|
|
4
4
|
export * from './lib/ng-esolve-connect.module';
|
|
5
5
|
export * from './lib/core';
|
|
6
6
|
export * from './lib/images';
|
|
7
|
-
export * from './lib/shared
|
|
8
|
-
export * from './lib/shared/esolve-result.model';
|
|
9
|
-
export * from './lib/shared/esolve-url-target.type';
|
|
10
|
-
export * from './lib/shared/esolve-hex-hash.function';
|
|
11
|
-
export * from './lib/shared/custom-fields';
|
|
12
|
-
export * from './lib/shared/filters';
|
|
13
|
-
export * from './lib/shared/response';
|
|
14
|
-
export * from './lib/shared/errors';
|
|
15
|
-
export * from './lib/shared/cookie/esolve-cookie.service';
|
|
16
|
-
export * from './lib/shared/sort';
|
|
7
|
+
export * from './lib/shared';
|
|
17
8
|
// SEO
|
|
18
|
-
export * from './lib/
|
|
9
|
+
export * from './lib/seo';
|
|
19
10
|
// Geocoder
|
|
20
|
-
export * from './lib/
|
|
11
|
+
export * from './lib/geocoder';
|
|
21
12
|
// Assets
|
|
22
|
-
export * from './lib/
|
|
13
|
+
export * from './lib/assets';
|
|
23
14
|
// Session
|
|
24
15
|
export * from './lib/session';
|
|
25
16
|
// Auth
|
|
@@ -66,4 +57,6 @@ export * from './lib/coupons';
|
|
|
66
57
|
export * from './lib/vouchers';
|
|
67
58
|
// Transactions
|
|
68
59
|
export * from './lib/transactions';
|
|
69
|
-
|
|
60
|
+
//Device
|
|
61
|
+
export * from './lib/device';
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFFN0IsTUFBTTtBQUNOLGNBQWMsV0FBVyxDQUFDO0FBRTFCLFdBQVc7QUFDWCxjQUFjLGdCQUFnQixDQUFDO0FBRS9CLFNBQVM7QUFDVCxjQUFjLGNBQWMsQ0FBQztBQUU3QixVQUFVO0FBQ1YsY0FBYyxlQUFlLENBQUM7QUFFOUIsT0FBTztBQUNQLGNBQWMsWUFBWSxDQUFDO0FBRTNCLFVBQVU7QUFDVixjQUFjLGVBQWUsQ0FBQztBQUU5QixVQUFVO0FBQ1YsY0FBYyxlQUFlLENBQUM7QUFFOUIsT0FBTztBQUNQLGNBQWMsWUFBWSxDQUFDO0FBRTNCLE9BQU87QUFDUCxjQUFjLFlBQVksQ0FBQztBQUUzQixTQUFTO0FBQ1QsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTztBQUNQLGNBQWMsWUFBWSxDQUFDO0FBRTNCLFFBQVE7QUFDUixjQUFjLGFBQWEsQ0FBQztBQUU1QixnQkFBZ0I7QUFDaEIsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxnQkFBZ0I7QUFDaEIsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxTQUFTO0FBQ1QsY0FBYyxjQUFjLENBQUM7QUFFN0IsV0FBVztBQUNYLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsT0FBTztBQUNQLGNBQWMsWUFBWSxDQUFDO0FBRTNCLFVBQVU7QUFDVixjQUFjLGVBQWUsQ0FBQztBQUU5QixXQUFXO0FBQ1gsY0FBYyxnQkFBZ0IsQ0FBQztBQUUvQixZQUFZO0FBQ1osY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxVQUFVO0FBQ1YsY0FBYyxlQUFlLENBQUM7QUFFOUIsV0FBVztBQUNYLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsWUFBWTtBQUNaLGNBQWMsaUJBQWlCLENBQUM7QUFFaEMsVUFBVTtBQUNWLGNBQWMsZUFBZSxDQUFDO0FBRTlCLFdBQVc7QUFDWCxjQUFjLGdCQUFnQixDQUFDO0FBRS9CLGVBQWU7QUFDZixjQUFjLG9CQUFvQixDQUFDO0FBRW5DLFFBQVE7QUFDUixjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbmctZXNvbHZlLWNvbm5lY3RcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZy1lc29sdmUtY29ubmVjdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbWFnZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkJztcblxuLy8gU0VPXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZW8nO1xuXG4vLyBHZW9jb2RlclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZ2VvY29kZXInO1xuXG4vLyBBc3NldHNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Fzc2V0cyc7XG5cbi8vIFNlc3Npb25cbmV4cG9ydCAqIGZyb20gJy4vbGliL3Nlc3Npb24nO1xuXG4vLyBBdXRoXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdXRoJztcblxuLy8gQWNjb3VudFxuZXhwb3J0ICogZnJvbSAnLi9saWIvYWNjb3VudCc7XG5cbi8vIEJhbm5lcnNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhbm5lcnMnO1xuXG4vLyBNZW51XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZW51JztcblxuLy8gTmV3c1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmV3cyc7XG5cbi8vIFRvcGljc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9waWNzJztcblxuLy8gVGFnc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFncyc7XG5cbi8vIFN0b2NrXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdG9jayc7XG5cbi8vIENhdGVnb3J5IFRyZWVcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhdGVnb3J5LXRyZWUnO1xuXG4vLyBNYW51ZmFjdHVyZXJzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYW51ZmFjdHVyZXJzJztcblxuLy8gUmFuZ2VzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yYW5nZXMnO1xuXG4vLyBTcGVjaWFsc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3BlY2lhbHMnO1xuXG4vLyBDYXJ0XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYXJ0JztcblxuLy8gUGF5bWVudFxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGF5bWVudCc7XG5cbi8vIFNoaXBwaW5nXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGlwcGluZyc7XG5cbi8vIExvY2F0aW9uc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbG9jYXRpb25zJztcblxuLy8gRW5xdWlyeVxuZXhwb3J0ICogZnJvbSAnLi9saWIvZW5xdWlyeSc7XG5cbi8vIFdpc2hsaXN0XG5leHBvcnQgKiBmcm9tICcuL2xpYi93aXNobGlzdCc7XG5cbi8vIFN1cHBsaWVyc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3VwcGxpZXJzJztcblxuLy8gQ291cG9uc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY291cG9ucyc7XG5cbi8vIFZvdWNoZXJzXG5leHBvcnQgKiBmcm9tICcuL2xpYi92b3VjaGVycyc7XG5cbi8vIFRyYW5zYWN0aW9uc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHJhbnNhY3Rpb25zJztcblxuLy9EZXZpY2VcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RldmljZSc7XG4iXX0=
|
|
@@ -382,7 +382,7 @@ export class EsolveAccountService {
|
|
|
382
382
|
if (+record.clients_id <= 0) {
|
|
383
383
|
return undefined;
|
|
384
384
|
}
|
|
385
|
-
const cart_totals = new EsolveCartTotals(record.cart_totals.records, +record.cart_totals.items, +record.cart_totals.total, +record.cart_totals.vat, +record.cart_totals.discount);
|
|
385
|
+
const cart_totals = new EsolveCartTotals(record.cart_totals.records, +record.cart_totals.items, +record.cart_totals.total, +record.cart_totals.vat, +record.cart_totals.discount, +record.cart_totals.vouchers, +record.cart_totals.allowance);
|
|
386
386
|
return new EsolveUserClientAccountBalances(+record.clients_id, record.account, cart_totals, +record.credit_limit, +record.external_account_balance, +record.external_available_balance, +record.new_external_available_balance, !!+record.credit_limit_okay);
|
|
387
387
|
}
|
|
388
388
|
return undefined;
|
|
@@ -411,13 +411,13 @@ export class EsolveAccountService {
|
|
|
411
411
|
return new EsolveLocationUpdateResult(response);
|
|
412
412
|
})));
|
|
413
413
|
}
|
|
414
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
415
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.
|
|
414
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: EsolveAccountService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
415
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: EsolveAccountService, providedIn: 'root' }); }
|
|
416
416
|
}
|
|
417
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.
|
|
417
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: EsolveAccountService, decorators: [{
|
|
418
418
|
type: Injectable,
|
|
419
419
|
args: [{
|
|
420
420
|
providedIn: 'root',
|
|
421
421
|
}]
|
|
422
422
|
}], ctorParameters: function () { return []; } });
|
|
423
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWFjY291bnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hY2NvdW50L2Vzb2x2ZS1hY2NvdW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUNILFVBQVUsRUFFVixVQUFVLEdBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hELE9BQU8sRUFJSCw0QkFBNEIsR0FDL0IsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV6RSxPQUFPLEVBR0gsd0JBQXdCLEdBQzNCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUNILGFBQWEsRUFFYixtQkFBbUIsR0FHdEIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUNILDBCQUEwQixFQUMxQix5QkFBeUIsR0FHNUIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUVILGlCQUFpQixFQUVqQixxQkFBcUIsR0FDeEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQ0gsaUJBQWlCLEVBR2pCLHVCQUF1QixFQUN2QiwrQkFBK0IsR0FFbEMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixP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RTtZQUNULElBQUksT0FBTyxRQUFRLENBQUMsU0FBUyxLQUFLLFFBQVEsRUFBRTtnQkFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO2FBQzNDO1lBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDcEMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxTQUFTO2FBQ2xDLENBQUMsQ0FBQztZQUVILE9BQU8sSUFBSSwwQkFBMEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQ0osQ0FDSixDQUNKLENBQUM7SUFDVixDQUFDOzhHQS9zQlEsb0JBQW9CO2tIQUFwQixvQkFBb0IsY0FGakIsTUFBTTs7MkZBRVQsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBIdHRwQ2xpZW50LFxuICAgIEh0dHBFcnJvclJlc3BvbnNlLFxuICAgIEh0dHBQYXJhbXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBFc29sdmVSZXN1bHQgfSBmcm9tICcuLi9zaGFyZWQvZXNvbHZlLXJlc3VsdC5tb2RlbCc7XG5pbXBvcnQgeyBFc29sdmVFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Vycm9ycyc7XG5pbXBvcnQgeyBFc29sdmVGaWx0ZXJGYWN0b3J5IH0gZnJvbSAnLi4vc2hhcmVkL2ZpbHRlcnMnO1xuaW1wb3J0IHtcbiAgICBFc29sdmVEZWxldGVSZXNwb25zZSxcbiAgICBFc29sdmVTZXRSZXNwb25zZSxcbiAgICBFc29sdmVHZXRSZXNwb25zZSxcbiAgICBFc29sdmVSZXNwb25zZUhhbmRsZXJTZXJ2aWNlLFxufSBmcm9tICcuLi9zaGFyZWQvcmVzcG9uc2UnO1xuXG5pbXBvcnQgeyBFc29sdmVTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL3Nlc3Npb24vZXNvbHZlLXNlc3Npb24uc2VydmljZSc7XG5cbmltcG9ydCB7XG4gICAgRXNvbHZlUmVnaXN0cmF0aW9uUG9zdFJlc3BvbnNlSXRlbSxcbiAgICBFc29sdmVSZWdpc3RyYXRpb25EYXRhLFxuICAgIEVzb2x2ZVJlZ2lzdHJhdGlvblJlc3VsdCxcbn0gZnJvbSAnLi9yZWdpc3RyYXRpb24nO1xuaW1wb3J0IHtcbiAgICBFc29sdmVBZGRyZXNzLFxuICAgIEVzb2x2ZUFkZHJlc3NSZWNvcmQsXG4gICAgRXNvbHZlQWRkcmVzc1Jlc3VsdCxcbiAgICBFc29sdmVBZGRyZXNzUG9zdERhdGEsXG4gICAgRXNvbHZlQWRkcmVzc1Jlc3BvbnNlLFxufSBmcm9tICcuL2FkZHJlc3MnO1xuaW1wb3J0IHtcbiAgICBFc29sdmVDaGFuZ2VQYXNzd29yZFJlc3VsdCxcbiAgICBFc29sdmVSZXNldFBhc3N3b3JkUmVzdWx0LFxuICAgIEVzb2x2ZUZvcmdvdFBhc3N3b3JkUmVzcG9uc2UsXG4gICAgRXNvbHZlRm9yZ290UGFzc3dvcmRHZXRSZXN1bHQsXG59IGZyb20gJy4vcGFzc3dvcmQnO1xuaW1wb3J0IHtcbiAgICBFc29sdmVUcmFuc2FjdGlvblJlY29yZCxcbiAgICBFc29sdmVUcmFuc2FjdGlvbixcbiAgICBFc29sdmVUcmFuc2FjdGlvbk9wdGlvbnMsXG4gICAgRXNvbHZlVHJhbnNhY3Rpb25MaXN0LFxufSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBFc29sdmVVc2VyQWNjb3VudCxcbiAgICBFc29sdmVVc2VyQWNjb3VudERhdGEsXG4gICAgRXNvbHZlVXNlckFjY291bnRSZWNvcmQsXG4gICAgRXNvbHZlVXNlckFjY291bnRSZXN1bHQsXG4gICAgRXNvbHZlVXNlckNsaWVudEFjY291bnRCYWxhbmNlcyxcbiAgICBFc29sdmVVc2VyQ2xpZW50QWNjb3VudEJhbGFuY2VzUmVjb3JkLFxufSBmcm9tICcuL3VzZXItYWNjb3VudCc7XG5pbXBvcnQge1xuICAgIEVzb2x2ZUFjY291bnRDb25maXJtYXRpb25Qb3N0UmVzcG9uc2VJdGVtLFxuICAgIEVzb2x2ZUFjY291bnRDb25maXJtYXRpb25SZXN1bHQsXG59IGZyb20gJy4vY29uZmlybWF0aW9uJztcbmltcG9ydCB7IEVzb2x2ZUxvY2F0aW9uT3B0aW9uLCBFc29sdmVMb2NhdGlvblVwZGF0ZVJlc3VsdCB9IGZyb20gJy4vbG9jYXRpb24nO1xuaW1wb3J0IHsgRXNvbHZlQ2FydFRvdGFscyB9IGZyb20gJy4uL2NhcnQnO1xuaW1wb3J0IHsgRXNvbHZlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFc29sdmVBY2NvdW50U2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWcgPSBpbmplY3QoRXNvbHZlQ29uZmlnU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblNlcnZpY2UgPSBpbmplY3QoRXNvbHZlU2Vzc2lvblNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZXJyb3JIYW5kbGVyID0gaW5qZWN0KEVzb2x2ZUVycm9ySGFuZGxlclNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzcG9uc2VIYW5kbGVyID0gaW5qZWN0KEVzb2x2ZVJlc3BvbnNlSGFuZGxlclNlcnZpY2UpO1xuXG4gICAgcHJpdmF0ZSBfdXNlcl9pZCA9IDA7XG5cbiAgICBwdWJsaWMgZ2V0IHVzZXJfaWQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VzZXJfaWQ7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCB1c2VyX2lkKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZSA+IDAgPyB2YWx1ZSA6IDA7XG5cbiAgICAgICAgaWYgKHRoaXMuX3VzZXJfaWQgIT09IHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl91c2VyX2lkID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zZXNzaW9uU2VydmljZS5nZXRTZXNzaW9uKCkuc3Vic2NyaWJlKChzZXNzaW9uKSA9PiB7XG4gICAgICAgICAgICBpZiAoc2Vzc2lvbi50b2tlbiAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJfaWQgPSBzZXNzaW9uLnVzZXJfaWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVVc2VyQWNjb3VudChcbiAgICAgICAgdXNlcl9hY2NvdW50X2RhdGE6IEVzb2x2ZVVzZXJBY2NvdW50RGF0YSxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZVVzZXJBY2NvdW50UmVzdWx0PiB7XG4gICAgICAgIGNvbnN0IGJvZHkgPSB7XG4gICAgICAgICAgICBhY2NvdW50OiB1c2VyX2FjY291bnRfZGF0YSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZT4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LXVzZXItYWNjb3VudC5waHBgLFxuICAgICAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChodHRwX3Jlc3BvbnNlKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc3BvbnNlSGFuZGxlci52YWxpZGF0ZVNpbmdsZUh0dHBSZXNwb25zZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UpID0+IG5ldyBFc29sdmVVc2VyQWNjb3VudFJlc3VsdChyZXNwb25zZSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBQb3N0RXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2V0LXVzZXItYWNjb3VudCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvclJlcyxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFVzZXJBY2NvdW50KCk6IE9ic2VydmFibGU8RXNvbHZlVXNlckFjY291bnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVVc2VyQWNjb3VudFJlY29yZFtdPj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWFjY291bnQucGhwYCxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzLmxlbmd0aCA9PT0gMFxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkID0gcmVzcG9uc2UucmVjb3Jkc1swXTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzVXNlckFjY291bnQocmVjb3JkKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGRlbGV0ZVVzZXJBY2NvdW50KCk6IE9ic2VydmFibGU8RXNvbHZlUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5kZWxldGU8RXNvbHZlRGVsZXRlUmVzcG9uc2U+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2RlbGV0ZS1hY2NvdW50LnBocGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQgPT09IG51bGwgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UucmVzdWx0LnN0YXR1cyAhPT0gJ3N1Y2Nlc3MnXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgaHR0cF9yZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXNvbHZlUmVzdWx0KFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQuc3RhdHVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQuY29kZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UucmVzdWx0Lm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwRGVsZXRlRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGVsZXRlLWFjY291bnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JSZXMsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRBZGRyZXNzKFxuICAgICAgICBhZGRyZXNzX3Bvc3RfZGF0YTogRXNvbHZlQWRkcmVzc1Bvc3REYXRhLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlQWRkcmVzc1Jlc3VsdD4ge1xuICAgICAgICBjb25zdCBib2R5ID0ge1xuICAgICAgICAgICAgYWRkcmVzczogYWRkcmVzc19wb3N0X2RhdGEsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U8RXNvbHZlQWRkcmVzc1Jlc3BvbnNlPj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LWFkZHJlc3MucGhwYCxcbiAgICAgICAgICAgICAgICBib2R5LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiBuZXcgRXNvbHZlQWRkcmVzc1Jlc3VsdChyZXNwb25zZSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBQb3N0RXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2V0LWFkZHJlc3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JSZXMsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBZGRyZXNzZXMoKTogT2JzZXJ2YWJsZTxFc29sdmVBZGRyZXNzW10+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMubG9naW5HdWFyZCgpO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVBZGRyZXNzUmVjb3JkW10+PihcbiAgICAgICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWFkZHJlc3Nlcy5waHBgLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsgdXNlcl9pZDogdGhpcy51c2VyX2lkIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NVc2VyQWRkcmVzcyhyZXNwb25zZS5yZWNvcmRzKTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBkZWxldGVBZGRyZXNzKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPEVzb2x2ZVJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZGVsZXRlPEVzb2x2ZURlbGV0ZVJlc3BvbnNlPihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9kZWxldGUtYWRkcmVzcy5waHBgLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7IGlkIH0sXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdCA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdCA9PT0gbnVsbCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQuc3RhdHVzICE9PSAnc3VjY2VzcydcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBodHRwX3Jlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVSZXN1bHQoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdC5zdGF0dXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdC5jb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQubWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBEZWxldGVFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICdkZWxldGUtYWRkcmVzcycsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvclJlcyxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyKFxuICAgICAgICB1c2VyX3JlZ2lzdHJhdGlvbjogRXNvbHZlUmVnaXN0cmF0aW9uRGF0YSxcbiAgICAgICAgZ3Vlc3QgPSBmYWxzZSxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZVJlZ2lzdHJhdGlvblJlc3VsdD4ge1xuICAgICAgICBjb25zdCBib2R5ID0ge1xuICAgICAgICAgICAgdXNlcjogdXNlcl9yZWdpc3RyYXRpb24sXG4gICAgICAgICAgICBndWVzdF9yZWdpc3RyYXRpb246IGd1ZXN0LFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5wb3N0PEVzb2x2ZVNldFJlc3BvbnNlPEVzb2x2ZVJlZ2lzdHJhdGlvblBvc3RSZXNwb25zZUl0ZW0+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXQtcmVnaXN0cmF0aW9uLnBocGAsXG4gICAgICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2VIYW5kbGVyLnZhbGlkYXRlU2luZ2xlSHR0cFJlc3BvbnNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5hdXRvX2xvZ2luKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2Vzc2lvblNlcnZpY2UuaGFuZGxlVXBkYXRlU2Vzc2lvbih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyX2lkOiArcmVzcG9uc2UuZXNvbHZlX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb25faWQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgK3Jlc3BvbnNlLnNlc3Npb25fZGF0YS5sb2NhdGlvbl9pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVSZWdpc3RyYXRpb25SZXN1bHQocmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlSHR0cFBvc3RFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICdzZXQtcmVnaXN0cmF0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yUmVzLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2hhbmdlUGFzc3dvcmQoXG4gICAgICAgIHBhc3N3b3JkOiBzdHJpbmcsXG4gICAgICAgIGNvbmZpcm1fcGFzc3dvcmQ6IHN0cmluZyxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUNoYW5nZVBhc3N3b3JkUmVzdWx0PiB7XG4gICAgICAgIGNvbnN0IGJvZHkgPSB7XG4gICAgICAgICAgICBwYXNzd29yZCxcbiAgICAgICAgICAgIGNvbmZpcm1fcGFzc3dvcmQsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1jaGFuZ2UtcGFzc3dvcmQucGhwYCxcbiAgICAgICAgICAgICAgICBib2R5LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVDaGFuZ2VQYXNzd29yZFJlc3VsdChyZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3NldC1jaGFuZ2UtcGFzc3dvcmQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JSZXMsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN1Ym1pdHMgdGhlIHVzZXJzIGNvbmZpcm1hdGlvbiBrZXkgdG8gdGhlIHJlbGV2YW50IGJhY2tlbmQgc2VydmVyIGluIG9yZGVyIHRvXG4gICAgICogY29uZmlybSB0aGUgYWNjb3VudHMgdmFsaWRpdHkuIFRoZSBrZXkgd2FzIGVtYWlsZWQgdG8gdGhlIHVzZXIgaGVuY2UgaWYgaGUgcmVjZWl2ZWRcbiAgICAgKiBpdCBhbmQgZW50ZXJzIHRoZSB2YWx1ZSwgdGhlIGVtYWlsIGFjY291bnQgY2FuIGJlIHNlZW4gYXMgdmFsaWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdGhhdCB3YXMgZW1haWxlZCB0byB0aGUgcmVnaXN0ZXJlZCB1c2VyJ3MgZW1haWwgYWNjb3VudC5cbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgdGhhdCBjb250YWlucyB0aGUgcmVzdWx0IG9mIHRoZSBhY2NvdW50IGNvbmZpcm1hdGlvbiByZXF1ZXN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBhY2NvdW50Q29uZmlybWF0aW9uUmVxdWVzdChcbiAgICAgICAga2V5OiBzdHJpbmcsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVBY2NvdW50Q29uZmlybWF0aW9uUmVzdWx0PiB7XG4gICAgICAgIGNvbnN0IGJvZHkgPSB7XG4gICAgICAgICAgICBrZXksXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U8RXNvbHZlQWNjb3VudENvbmZpcm1hdGlvblBvc3RSZXNwb25zZUl0ZW0+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXQtYWNjb3VudC1jb25maXJtYXRpb24ucGhwYCxcbiAgICAgICAgICAgICAgICBib2R5LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmF1dG9fbG9naW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uU2VydmljZS5oYW5kbGVVcGRhdGVTZXNzaW9uKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfaWQ6ICtyZXNwb25zZS5lc29sdmVfaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbl9pZDogK3Jlc3BvbnNlLmxvY2F0aW9uX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZUFjY291bnRDb25maXJtYXRpb25SZXN1bHQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3NldC1hY2NvdW50LWNvbmZpcm1hdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvclJlcyxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbmRGb3Jnb3RQYXNzd29yZFJlcXVlc3QoZW1haWw6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZUZvcmdvdFBhc3N3b3JkR2V0UmVzdWx0Pj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWZvcmdvdC1wYXNzd29yZC5waHBgLFxuICAgICAgICAgICAgICAgIHsgcGFyYW1zOiB7IGVtYWlsIH0gfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAhKCdyZXNldF9saW5rX3NlbnQnIGluIHJlc3BvbnNlLnJlY29yZHMpXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVjb3Jkcy5yZXNldF9saW5rX3NlbnQ7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXNldFBhc3N3b3JkKFxuICAgICAgICByZXNldF9rZXk6IHN0cmluZyxcbiAgICAgICAgcGFzc3dvcmQ6IHN0cmluZyxcbiAgICAgICAgY29uZmlybV9wYXNzd29yZDogc3RyaW5nLFxuICAgICAgICBhdXRvX2xvZ2luID0gdHJ1ZSxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZVJlc2V0UGFzc3dvcmRSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U8RXNvbHZlRm9yZ290UGFzc3dvcmRSZXNwb25zZT4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1mb3Jnb3QtcGFzc3dvcmQucGhwYCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHJlc2V0X2tleSxcbiAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmQsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpcm1fcGFzc3dvcmQsXG4gICAgICAgICAgICAgICAgICAgIGF1dG9fbG9naW4sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2VIYW5kbGVyLnZhbGlkYXRlU2luZ2xlSHR0cFJlc3BvbnNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcmVzcG9uc2UubG9naW5fcmVxdWlyZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uU2VydmljZS5oYW5kbGVVcGRhdGVTZXNzaW9uKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfaWQ6ICtyZXNwb25zZS5lc29sdmVfaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbl9pZDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArcmVzcG9uc2Uuc2Vzc2lvbl9kYXRhLmxvY2F0aW9uX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZVJlc2V0UGFzc3dvcmRSZXN1bHQocmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlSHR0cFBvc3RFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICdzZXQtZm9yZ290LXBhc3N3b3JkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yUmVzLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlTG9jYXRpb24oXG4gICAgICAgIGxvY2F0aW9uX2lkOiBudW1iZXIsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVMb2NhdGlvblVwZGF0ZVJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVVc2VyTG9jYXRpb24oeyBsb2NhdGlvbl9pZCB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlTG9jYXRpb25PbkVycChcbiAgICAgICAgZXJwOiBzdHJpbmcsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVMb2NhdGlvblVwZGF0ZVJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVVc2VyTG9jYXRpb24oeyBlcnAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIEVzb2x2ZVRyYW5zYWN0aW9uc1NlcnZpY2UgZm9yIGZ1dHVyZSB0cmFuc2FjdGlvbiByZXF1ZXN0c1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRUcmFuc2FjdGlvbnMoXG4gICAgICAgIG9wdGlvbnM6IEVzb2x2ZVRyYW5zYWN0aW9uT3B0aW9ucyA9IHt9LFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlVHJhbnNhY3Rpb25MaXN0PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2luR3VhcmQoKTtcblxuICAgICAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG5cbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3VzZXJfaWQnLCB0aGlzLnVzZXJfaWQpO1xuXG4gICAgICAgICAgICBpZiAob3B0aW9ucy50eXBlKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndHlwZScsIG9wdGlvbnMudHlwZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvcHRpb25zLnBhZ2UpIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdwYWdlJywgb3B0aW9ucy5wYWdlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbnMucm93cykge1xuICAgICAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3Jvd3MnLCBvcHRpb25zLnJvd3MpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5mcm9tX2RhdGUpIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdmcm9tX2RhdGUnLCBvcHRpb25zLmZyb21fZGF0ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvcHRpb25zLnRvX2RhdGUpIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0b19kYXRlJywgb3B0aW9ucy50b19kYXRlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbnMuZmlsdGVycykge1xuICAgICAgICAgICAgICAgIGxldCBmaWx0ZXJzID0gb3B0aW9ucy5maWx0ZXJzO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGZpbHRlcnMpKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcnMgPSBFc29sdmVGaWx0ZXJGYWN0b3J5LmNvdmVydEZyb21PYmooZmlsdGVycyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcGFyYW1zID0gRXNvbHZlRmlsdGVyRmFjdG9yeS5jb252ZXJ0VG9IdHRwUGFyYW1zKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJzLFxuICAgICAgICAgICAgICAgICAgICBwYXJhbXMsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlVHJhbnNhY3Rpb25SZWNvcmRbXT4+KFxuICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtdHJhbnNhY3Rpb25zLnBocGAsXG4gICAgICAgICAgICAgICAgICAgIHsgcGFyYW1zIH0sXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5wcm9jZXNzVHJhbnNhY3Rpb25zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMsXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdG90YWwgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICtyZXNwb25zZS5hZGRpdGlvbmFsX2RhdGEudG90YWxfcmVjb3JkcyA/PyAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm93cyA9IG9wdGlvbnMucm93cyA/PyB0b3RhbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2UgPSBvcHRpb25zLnBhZ2UgfHwgMTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVUcmFuc2FjdGlvbkxpc3QoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3dzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsLFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBFc29sdmVUcmFuc2FjdGlvbnNTZXJ2aWNlIGZvciBmdXR1cmUgdHJhbnNhY3Rpb24gcmVxdWVzdHNcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VHJhbnNhY3Rpb24oaWQ6IG51bWJlcik6IE9ic2VydmFibGU8RXNvbHZlVHJhbnNhY3Rpb24+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMubG9naW5HdWFyZCgpO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVUcmFuc2FjdGlvblJlY29yZFtdPj4oXG4gICAgICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC10cmFuc2FjdGlvbnMucGhwYCxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcl9pZDogdGhpcy51c2VyX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uX2lkOiBpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3Jkcy5sZW5ndGggPD0gMFxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5wcm9jZXNzVHJhbnNhY3Rpb25zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMsXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbXNbMF07XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q2xpZW50QWNjb3VudEJhbGFuY2VzKCk6IE9ic2VydmFibGU8XG4gICAgICAgIEVzb2x2ZVVzZXJDbGllbnRBY2NvdW50QmFsYW5jZXMgfCB1bmRlZmluZWRcbiAgICA+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMubG9naW5HdWFyZCgpO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAgICAgLmdldDxcbiAgICAgICAgICAgICAgICAgICAgRXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlVXNlckNsaWVudEFjY291bnRCYWxhbmNlc1JlY29yZFtdPlxuICAgICAgICAgICAgICAgID4oYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWNsaWVudC1hY2NvdW50LWJhbGFuY2VzLnBocGApXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0NsaWVudEJhbGFuY2VzKHJlc3BvbnNlLnJlY29yZHMpO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzVXNlckFjY291bnQoXG4gICAgICAgIHJlY29yZDogRXNvbHZlVXNlckFjY291bnRSZWNvcmQsXG4gICAgKTogRXNvbHZlVXNlckFjY291bnQge1xuICAgICAgICBpZiAoIXJlY29yZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHJlY29yZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCtyZWNvcmQudXNlcmlkICE9PSB0aGlzLl91c2VyX2lkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdXNlciBhY2NvdW50IHJldHJpZXZlZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVVc2VyQWNjb3VudChyZWNvcmQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc1VzZXJBZGRyZXNzKFxuICAgICAgICByZWNvcmRzOiBFc29sdmVBZGRyZXNzUmVjb3JkW10sXG4gICAgKTogRXNvbHZlQWRkcmVzc1tdIHtcbiAgICAgICAgY29uc3QgdXNlcl9hZGRyZXNzZXM6IEVzb2x2ZUFkZHJlc3NbXSA9IFtdO1xuXG4gICAgICAgIGlmICghcmVjb3JkcyB8fCB0aGlzLl91c2VyX2lkID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdXNlcl9hZGRyZXNzZXM7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XG4gICAgICAgICAgICBpZiAoK3JlY29yZC51c2VyaWQgIT09IHRoaXMuX3VzZXJfaWQpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdXNlcl9hZGRyZXNzZXMucHVzaChcbiAgICAgICAgICAgICAgICBuZXcgRXNvbHZlQWRkcmVzcyhcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5pZCxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnJlY2lwaWVudCxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmFkZHJlc3NfdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnBvYm94LFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQucGxhY2VfbmFtZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN0cmVldF9udW1iZXIsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdHJlZXQsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJ1cmIsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jaXR5LFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQucHJvdmluY2UsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jb3VudHJ5LFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQucG9zdGFsX2NvZGUsXG4gICAgICAgICAgICAgICAgICAgICtyZWNvcmQubGF0aXR1ZGUsXG4gICAgICAgICAgICAgICAgICAgICtyZWNvcmQubG9uZ2l0dWRlLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVzZXJfYWRkcmVzc2VzO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc1RyYW5zYWN0aW9ucyhcbiAgICAgICAgcmVjb3JkczogRXNvbHZlVHJhbnNhY3Rpb25SZWNvcmRbXSxcbiAgICApOiBFc29sdmVUcmFuc2FjdGlvbltdIHtcbiAgICAgICAgY29uc3QgdHJhbnNhY3Rpb25zOiBFc29sdmVUcmFuc2FjdGlvbltdID0gW107XG5cbiAgICAgICAgaWYgKHJlY29yZHMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgcmVjb3JkIG9mIHJlY29yZHMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IG5ldyBFc29sdmVUcmFuc2FjdGlvbihyZWNvcmQpO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25zLnB1c2godHJhbnNhY3Rpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9ucztcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NDbGllbnRCYWxhbmNlcyhcbiAgICAgICAgcmVjb3JkczogRXNvbHZlVXNlckNsaWVudEFjY291bnRCYWxhbmNlc1JlY29yZFtdLFxuICAgICk6IEVzb2x2ZVVzZXJDbGllbnRBY2NvdW50QmFsYW5jZXMgfCB1bmRlZmluZWQge1xuICAgICAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XG4gICAgICAgICAgICBpZiAoK3JlY29yZC5jbGllbnRzX2lkIDw9IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjYXJ0X3RvdGFscyA9IG5ldyBFc29sdmVDYXJ0VG90YWxzKFxuICAgICAgICAgICAgICAgIHJlY29yZC5jYXJ0X3RvdGFscy5yZWNvcmRzLFxuICAgICAgICAgICAgICAgICtyZWNvcmQuY2FydF90b3RhbHMuaXRlbXMsXG4gICAgICAgICAgICAgICAgK3JlY29yZC5jYXJ0X3RvdGFscy50b3RhbCxcbiAgICAgICAgICAgICAgICArcmVjb3JkLmNhcnRfdG90YWxzLnZhdCxcbiAgICAgICAgICAgICAgICArcmVjb3JkLmNhcnRfdG90YWxzLmRpc2NvdW50LFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVVc2VyQ2xpZW50QWNjb3VudEJhbGFuY2VzKFxuICAgICAgICAgICAgICAgICtyZWNvcmQuY2xpZW50c19pZCxcbiAgICAgICAgICAgICAgICByZWNvcmQuYWNjb3VudCxcbiAgICAgICAgICAgICAgICBjYXJ0X3RvdGFscyxcbiAgICAgICAgICAgICAgICArcmVjb3JkLmNyZWRpdF9saW1pdCxcbiAgICAgICAgICAgICAgICArcmVjb3JkLmV4dGVybmFsX2FjY291bnRfYmFsYW5jZSxcbiAgICAgICAgICAgICAgICArcmVjb3JkLmV4dGVybmFsX2F2YWlsYWJsZV9iYWxhbmNlLFxuICAgICAgICAgICAgICAgICtyZWNvcmQubmV3X2V4dGVybmFsX2F2YWlsYWJsZV9iYWxhbmNlLFxuICAgICAgICAgICAgICAgICEhK3JlY29yZC5jcmVkaXRfbGltaXRfb2theSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9naW5HdWFyZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudXNlcl9pZCA8PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmVycm9ySGFuZGxlci50aHJvd0Vycm9yKCdsb2dpbl9yZXF1aXJlZCcsICdMb2dpbiBpcyByZXF1aXJlZCcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVVc2VyTG9jYXRpb24oXG4gICAgICAgIGJvZHk6IEVzb2x2ZUxvY2F0aW9uT3B0aW9uLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlTG9jYXRpb25VcGRhdGVSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1zZXNzaW9uLWxvY2F0aW9uLnBocGAsXG4gICAgICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2VIYW5kbGVyLnZhbGlkYXRlU2luZ2xlSHR0cFJlc3BvbnNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcmVzcG9uc2UuZXNvbHZlX2lkID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcmVzcG9uc2UgaWQuJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uU2VydmljZS5oYW5kbGVVcGRhdGVTZXNzaW9uKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb25faWQ6IHJlc3BvbnNlLmVzb2x2ZV9pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXNvbHZlTG9jYXRpb25VcGRhdGVSZXN1bHQocmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
423
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWFjY291bnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hY2NvdW50L2Vzb2x2ZS1hY2NvdW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUNILFVBQVUsRUFFVixVQUFVLEdBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hELE9BQU8sRUFJSCw0QkFBNEIsR0FDL0IsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV6RSxPQUFPLEVBR0gsd0JBQXdCLEdBQzNCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUNILGFBQWEsRUFFYixtQkFBbUIsR0FHdEIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUNILDBCQUEwQixFQUMxQix5QkFBeUIsR0FHNUIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUVILGlCQUFpQixFQUVqQixxQkFBcUIsR0FDeEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQ0gsaUJBQWlCLEVBR2pCLHVCQUF1QixFQUN2QiwrQkFBK0IsR0FFbEMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixP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RUFBRSxDQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLDBCQUEwQixDQUMzQyxhQUFhLEVBQ2IsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNULElBQUksT0FBTyxRQUFRLENBQUMsU0FBUyxLQUFLLFFBQVEsRUFBRTtnQkFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO2FBQzNDO1lBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDcEMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxTQUFTO2FBQ2xDLENBQUMsQ0FBQztZQUVILE9BQU8sSUFBSSwwQkFBMEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQ0osQ0FDSixDQUNKLENBQUM7SUFDVixDQUFDOzhHQWp0QlEsb0JBQW9CO2tIQUFwQixvQkFBb0IsY0FGakIsTUFBTTs7MkZBRVQsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBIdHRwQ2xpZW50LFxuICAgIEh0dHBFcnJvclJlc3BvbnNlLFxuICAgIEh0dHBQYXJhbXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBFc29sdmVSZXN1bHQgfSBmcm9tICcuLi9zaGFyZWQvZXNvbHZlLXJlc3VsdC5tb2RlbCc7XG5pbXBvcnQgeyBFc29sdmVFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Vycm9ycyc7XG5pbXBvcnQgeyBFc29sdmVGaWx0ZXJGYWN0b3J5IH0gZnJvbSAnLi4vc2hhcmVkL2ZpbHRlcnMnO1xuaW1wb3J0IHtcbiAgICBFc29sdmVEZWxldGVSZXNwb25zZSxcbiAgICBFc29sdmVTZXRSZXNwb25zZSxcbiAgICBFc29sdmVHZXRSZXNwb25zZSxcbiAgICBFc29sdmVSZXNwb25zZUhhbmRsZXJTZXJ2aWNlLFxufSBmcm9tICcuLi9zaGFyZWQvcmVzcG9uc2UnO1xuXG5pbXBvcnQgeyBFc29sdmVTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL3Nlc3Npb24vZXNvbHZlLXNlc3Npb24uc2VydmljZSc7XG5cbmltcG9ydCB7XG4gICAgRXNvbHZlUmVnaXN0cmF0aW9uUG9zdFJlc3BvbnNlSXRlbSxcbiAgICBFc29sdmVSZWdpc3RyYXRpb25EYXRhLFxuICAgIEVzb2x2ZVJlZ2lzdHJhdGlvblJlc3VsdCxcbn0gZnJvbSAnLi9yZWdpc3RyYXRpb24nO1xuaW1wb3J0IHtcbiAgICBFc29sdmVBZGRyZXNzLFxuICAgIEVzb2x2ZUFkZHJlc3NSZWNvcmQsXG4gICAgRXNvbHZlQWRkcmVzc1Jlc3VsdCxcbiAgICBFc29sdmVBZGRyZXNzUG9zdERhdGEsXG4gICAgRXNvbHZlQWRkcmVzc1Jlc3BvbnNlLFxufSBmcm9tICcuL2FkZHJlc3MnO1xuaW1wb3J0IHtcbiAgICBFc29sdmVDaGFuZ2VQYXNzd29yZFJlc3VsdCxcbiAgICBFc29sdmVSZXNldFBhc3N3b3JkUmVzdWx0LFxuICAgIEVzb2x2ZUZvcmdvdFBhc3N3b3JkUmVzcG9uc2UsXG4gICAgRXNvbHZlRm9yZ290UGFzc3dvcmRHZXRSZXN1bHQsXG59IGZyb20gJy4vcGFzc3dvcmQnO1xuaW1wb3J0IHtcbiAgICBFc29sdmVUcmFuc2FjdGlvblJlY29yZCxcbiAgICBFc29sdmVUcmFuc2FjdGlvbixcbiAgICBFc29sdmVUcmFuc2FjdGlvbk9wdGlvbnMsXG4gICAgRXNvbHZlVHJhbnNhY3Rpb25MaXN0LFxufSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBFc29sdmVVc2VyQWNjb3VudCxcbiAgICBFc29sdmVVc2VyQWNjb3VudERhdGEsXG4gICAgRXNvbHZlVXNlckFjY291bnRSZWNvcmQsXG4gICAgRXNvbHZlVXNlckFjY291bnRSZXN1bHQsXG4gICAgRXNvbHZlVXNlckNsaWVudEFjY291bnRCYWxhbmNlcyxcbiAgICBFc29sdmVVc2VyQ2xpZW50QWNjb3VudEJhbGFuY2VzUmVjb3JkLFxufSBmcm9tICcuL3VzZXItYWNjb3VudCc7XG5pbXBvcnQge1xuICAgIEVzb2x2ZUFjY291bnRDb25maXJtYXRpb25Qb3N0UmVzcG9uc2VJdGVtLFxuICAgIEVzb2x2ZUFjY291bnRDb25maXJtYXRpb25SZXN1bHQsXG59IGZyb20gJy4vY29uZmlybWF0aW9uJztcbmltcG9ydCB7IEVzb2x2ZUxvY2F0aW9uT3B0aW9uLCBFc29sdmVMb2NhdGlvblVwZGF0ZVJlc3VsdCB9IGZyb20gJy4vbG9jYXRpb24nO1xuaW1wb3J0IHsgRXNvbHZlQ2FydFRvdGFscyB9IGZyb20gJy4uL2NhcnQnO1xuaW1wb3J0IHsgRXNvbHZlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFc29sdmVBY2NvdW50U2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWcgPSBpbmplY3QoRXNvbHZlQ29uZmlnU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblNlcnZpY2UgPSBpbmplY3QoRXNvbHZlU2Vzc2lvblNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZXJyb3JIYW5kbGVyID0gaW5qZWN0KEVzb2x2ZUVycm9ySGFuZGxlclNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzcG9uc2VIYW5kbGVyID0gaW5qZWN0KEVzb2x2ZVJlc3BvbnNlSGFuZGxlclNlcnZpY2UpO1xuXG4gICAgcHJpdmF0ZSBfdXNlcl9pZCA9IDA7XG5cbiAgICBwdWJsaWMgZ2V0IHVzZXJfaWQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VzZXJfaWQ7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCB1c2VyX2lkKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZSA+IDAgPyB2YWx1ZSA6IDA7XG5cbiAgICAgICAgaWYgKHRoaXMuX3VzZXJfaWQgIT09IHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl91c2VyX2lkID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zZXNzaW9uU2VydmljZS5nZXRTZXNzaW9uKCkuc3Vic2NyaWJlKChzZXNzaW9uKSA9PiB7XG4gICAgICAgICAgICBpZiAoc2Vzc2lvbi50b2tlbiAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJfaWQgPSBzZXNzaW9uLnVzZXJfaWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVVc2VyQWNjb3VudChcbiAgICAgICAgdXNlcl9hY2NvdW50X2RhdGE6IEVzb2x2ZVVzZXJBY2NvdW50RGF0YSxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZVVzZXJBY2NvdW50UmVzdWx0PiB7XG4gICAgICAgIGNvbnN0IGJvZHkgPSB7XG4gICAgICAgICAgICBhY2NvdW50OiB1c2VyX2FjY291bnRfZGF0YSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZT4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LXVzZXItYWNjb3VudC5waHBgLFxuICAgICAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChodHRwX3Jlc3BvbnNlKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc3BvbnNlSGFuZGxlci52YWxpZGF0ZVNpbmdsZUh0dHBSZXNwb25zZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UpID0+IG5ldyBFc29sdmVVc2VyQWNjb3VudFJlc3VsdChyZXNwb25zZSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBQb3N0RXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2V0LXVzZXItYWNjb3VudCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvclJlcyxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFVzZXJBY2NvdW50KCk6IE9ic2VydmFibGU8RXNvbHZlVXNlckFjY291bnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVVc2VyQWNjb3VudFJlY29yZFtdPj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWFjY291bnQucGhwYCxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzLmxlbmd0aCA9PT0gMFxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkID0gcmVzcG9uc2UucmVjb3Jkc1swXTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzVXNlckFjY291bnQocmVjb3JkKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGRlbGV0ZVVzZXJBY2NvdW50KCk6IE9ic2VydmFibGU8RXNvbHZlUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5kZWxldGU8RXNvbHZlRGVsZXRlUmVzcG9uc2U+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2RlbGV0ZS1hY2NvdW50LnBocGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQgPT09IG51bGwgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UucmVzdWx0LnN0YXR1cyAhPT0gJ3N1Y2Nlc3MnXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgaHR0cF9yZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXNvbHZlUmVzdWx0KFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQuc3RhdHVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQuY29kZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UucmVzdWx0Lm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwRGVsZXRlRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGVsZXRlLWFjY291bnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JSZXMsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRBZGRyZXNzKFxuICAgICAgICBhZGRyZXNzX3Bvc3RfZGF0YTogRXNvbHZlQWRkcmVzc1Bvc3REYXRhLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlQWRkcmVzc1Jlc3VsdD4ge1xuICAgICAgICBjb25zdCBib2R5ID0ge1xuICAgICAgICAgICAgYWRkcmVzczogYWRkcmVzc19wb3N0X2RhdGEsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U8RXNvbHZlQWRkcmVzc1Jlc3BvbnNlPj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LWFkZHJlc3MucGhwYCxcbiAgICAgICAgICAgICAgICBib2R5LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiBuZXcgRXNvbHZlQWRkcmVzc1Jlc3VsdChyZXNwb25zZSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBQb3N0RXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2V0LWFkZHJlc3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JSZXMsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBZGRyZXNzZXMoKTogT2JzZXJ2YWJsZTxFc29sdmVBZGRyZXNzW10+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMubG9naW5HdWFyZCgpO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVBZGRyZXNzUmVjb3JkW10+PihcbiAgICAgICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWFkZHJlc3Nlcy5waHBgLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsgdXNlcl9pZDogdGhpcy51c2VyX2lkIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NVc2VyQWRkcmVzcyhyZXNwb25zZS5yZWNvcmRzKTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBkZWxldGVBZGRyZXNzKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPEVzb2x2ZVJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZGVsZXRlPEVzb2x2ZURlbGV0ZVJlc3BvbnNlPihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9kZWxldGUtYWRkcmVzcy5waHBgLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7IGlkIH0sXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdCA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdCA9PT0gbnVsbCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQuc3RhdHVzICE9PSAnc3VjY2VzcydcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBodHRwX3Jlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVSZXN1bHQoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdC5zdGF0dXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdC5jb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQubWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBEZWxldGVFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICdkZWxldGUtYWRkcmVzcycsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvclJlcyxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyKFxuICAgICAgICB1c2VyX3JlZ2lzdHJhdGlvbjogRXNvbHZlUmVnaXN0cmF0aW9uRGF0YSxcbiAgICAgICAgZ3Vlc3QgPSBmYWxzZSxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZVJlZ2lzdHJhdGlvblJlc3VsdD4ge1xuICAgICAgICBjb25zdCBib2R5ID0ge1xuICAgICAgICAgICAgdXNlcjogdXNlcl9yZWdpc3RyYXRpb24sXG4gICAgICAgICAgICBndWVzdF9yZWdpc3RyYXRpb246IGd1ZXN0LFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5wb3N0PEVzb2x2ZVNldFJlc3BvbnNlPEVzb2x2ZVJlZ2lzdHJhdGlvblBvc3RSZXNwb25zZUl0ZW0+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXQtcmVnaXN0cmF0aW9uLnBocGAsXG4gICAgICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2VIYW5kbGVyLnZhbGlkYXRlU2luZ2xlSHR0cFJlc3BvbnNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5hdXRvX2xvZ2luKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2Vzc2lvblNlcnZpY2UuaGFuZGxlVXBkYXRlU2Vzc2lvbih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyX2lkOiArcmVzcG9uc2UuZXNvbHZlX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb25faWQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgK3Jlc3BvbnNlLnNlc3Npb25fZGF0YS5sb2NhdGlvbl9pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVSZWdpc3RyYXRpb25SZXN1bHQocmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlSHR0cFBvc3RFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICdzZXQtcmVnaXN0cmF0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yUmVzLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2hhbmdlUGFzc3dvcmQoXG4gICAgICAgIHBhc3N3b3JkOiBzdHJpbmcsXG4gICAgICAgIGNvbmZpcm1fcGFzc3dvcmQ6IHN0cmluZyxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUNoYW5nZVBhc3N3b3JkUmVzdWx0PiB7XG4gICAgICAgIGNvbnN0IGJvZHkgPSB7XG4gICAgICAgICAgICBwYXNzd29yZCxcbiAgICAgICAgICAgIGNvbmZpcm1fcGFzc3dvcmQsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1jaGFuZ2UtcGFzc3dvcmQucGhwYCxcbiAgICAgICAgICAgICAgICBib2R5LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVDaGFuZ2VQYXNzd29yZFJlc3VsdChyZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3NldC1jaGFuZ2UtcGFzc3dvcmQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JSZXMsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN1Ym1pdHMgdGhlIHVzZXJzIGNvbmZpcm1hdGlvbiBrZXkgdG8gdGhlIHJlbGV2YW50IGJhY2tlbmQgc2VydmVyIGluIG9yZGVyIHRvXG4gICAgICogY29uZmlybSB0aGUgYWNjb3VudHMgdmFsaWRpdHkuIFRoZSBrZXkgd2FzIGVtYWlsZWQgdG8gdGhlIHVzZXIgaGVuY2UgaWYgaGUgcmVjZWl2ZWRcbiAgICAgKiBpdCBhbmQgZW50ZXJzIHRoZSB2YWx1ZSwgdGhlIGVtYWlsIGFjY291bnQgY2FuIGJlIHNlZW4gYXMgdmFsaWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdGhhdCB3YXMgZW1haWxlZCB0byB0aGUgcmVnaXN0ZXJlZCB1c2VyJ3MgZW1haWwgYWNjb3VudC5cbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgdGhhdCBjb250YWlucyB0aGUgcmVzdWx0IG9mIHRoZSBhY2NvdW50IGNvbmZpcm1hdGlvbiByZXF1ZXN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBhY2NvdW50Q29uZmlybWF0aW9uUmVxdWVzdChcbiAgICAgICAga2V5OiBzdHJpbmcsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVBY2NvdW50Q29uZmlybWF0aW9uUmVzdWx0PiB7XG4gICAgICAgIGNvbnN0IGJvZHkgPSB7XG4gICAgICAgICAgICBrZXksXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U8RXNvbHZlQWNjb3VudENvbmZpcm1hdGlvblBvc3RSZXNwb25zZUl0ZW0+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXQtYWNjb3VudC1jb25maXJtYXRpb24ucGhwYCxcbiAgICAgICAgICAgICAgICBib2R5LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmF1dG9fbG9naW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uU2VydmljZS5oYW5kbGVVcGRhdGVTZXNzaW9uKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfaWQ6ICtyZXNwb25zZS5lc29sdmVfaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbl9pZDogK3Jlc3BvbnNlLmxvY2F0aW9uX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZUFjY291bnRDb25maXJtYXRpb25SZXN1bHQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3NldC1hY2NvdW50LWNvbmZpcm1hdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvclJlcyxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbmRGb3Jnb3RQYXNzd29yZFJlcXVlc3QoZW1haWw6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZUZvcmdvdFBhc3N3b3JkR2V0UmVzdWx0Pj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWZvcmdvdC1wYXNzd29yZC5waHBgLFxuICAgICAgICAgICAgICAgIHsgcGFyYW1zOiB7IGVtYWlsIH0gfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAhKCdyZXNldF9saW5rX3NlbnQnIGluIHJlc3BvbnNlLnJlY29yZHMpXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVjb3Jkcy5yZXNldF9saW5rX3NlbnQ7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXNldFBhc3N3b3JkKFxuICAgICAgICByZXNldF9rZXk6IHN0cmluZyxcbiAgICAgICAgcGFzc3dvcmQ6IHN0cmluZyxcbiAgICAgICAgY29uZmlybV9wYXNzd29yZDogc3RyaW5nLFxuICAgICAgICBhdXRvX2xvZ2luID0gdHJ1ZSxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZVJlc2V0UGFzc3dvcmRSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U8RXNvbHZlRm9yZ290UGFzc3dvcmRSZXNwb25zZT4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1mb3Jnb3QtcGFzc3dvcmQucGhwYCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHJlc2V0X2tleSxcbiAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmQsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpcm1fcGFzc3dvcmQsXG4gICAgICAgICAgICAgICAgICAgIGF1dG9fbG9naW4sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2VIYW5kbGVyLnZhbGlkYXRlU2luZ2xlSHR0cFJlc3BvbnNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcmVzcG9uc2UubG9naW5fcmVxdWlyZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uU2VydmljZS5oYW5kbGVVcGRhdGVTZXNzaW9uKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfaWQ6ICtyZXNwb25zZS5lc29sdmVfaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbl9pZDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArcmVzcG9uc2Uuc2Vzc2lvbl9kYXRhLmxvY2F0aW9uX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZVJlc2V0UGFzc3dvcmRSZXN1bHQocmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlSHR0cFBvc3RFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICdzZXQtZm9yZ290LXBhc3N3b3JkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yUmVzLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlTG9jYXRpb24oXG4gICAgICAgIGxvY2F0aW9uX2lkOiBudW1iZXIsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVMb2NhdGlvblVwZGF0ZVJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVVc2VyTG9jYXRpb24oeyBsb2NhdGlvbl9pZCB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlTG9jYXRpb25PbkVycChcbiAgICAgICAgZXJwOiBzdHJpbmcsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVMb2NhdGlvblVwZGF0ZVJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVVc2VyTG9jYXRpb24oeyBlcnAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIEVzb2x2ZVRyYW5zYWN0aW9uc1NlcnZpY2UgZm9yIGZ1dHVyZSB0cmFuc2FjdGlvbiByZXF1ZXN0c1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRUcmFuc2FjdGlvbnMoXG4gICAgICAgIG9wdGlvbnM6IEVzb2x2ZVRyYW5zYWN0aW9uT3B0aW9ucyA9IHt9LFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlVHJhbnNhY3Rpb25MaXN0PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2luR3VhcmQoKTtcblxuICAgICAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG5cbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3VzZXJfaWQnLCB0aGlzLnVzZXJfaWQpO1xuXG4gICAgICAgICAgICBpZiAob3B0aW9ucy50eXBlKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndHlwZScsIG9wdGlvbnMudHlwZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvcHRpb25zLnBhZ2UpIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdwYWdlJywgb3B0aW9ucy5wYWdlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbnMucm93cykge1xuICAgICAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3Jvd3MnLCBvcHRpb25zLnJvd3MpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5mcm9tX2RhdGUpIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdmcm9tX2RhdGUnLCBvcHRpb25zLmZyb21fZGF0ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvcHRpb25zLnRvX2RhdGUpIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0b19kYXRlJywgb3B0aW9ucy50b19kYXRlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbnMuZmlsdGVycykge1xuICAgICAgICAgICAgICAgIGxldCBmaWx0ZXJzID0gb3B0aW9ucy5maWx0ZXJzO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGZpbHRlcnMpKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcnMgPSBFc29sdmVGaWx0ZXJGYWN0b3J5LmNvdmVydEZyb21PYmooZmlsdGVycyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcGFyYW1zID0gRXNvbHZlRmlsdGVyRmFjdG9yeS5jb252ZXJ0VG9IdHRwUGFyYW1zKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJzLFxuICAgICAgICAgICAgICAgICAgICBwYXJhbXMsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlVHJhbnNhY3Rpb25SZWNvcmRbXT4+KFxuICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtdHJhbnNhY3Rpb25zLnBocGAsXG4gICAgICAgICAgICAgICAgICAgIHsgcGFyYW1zIH0sXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5wcm9jZXNzVHJhbnNhY3Rpb25zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMsXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdG90YWwgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICtyZXNwb25zZS5hZGRpdGlvbmFsX2RhdGEudG90YWxfcmVjb3JkcyA/PyAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm93cyA9IG9wdGlvbnMucm93cyA/PyB0b3RhbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2UgPSBvcHRpb25zLnBhZ2UgfHwgMTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVUcmFuc2FjdGlvbkxpc3QoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3dzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsLFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBFc29sdmVUcmFuc2FjdGlvbnNTZXJ2aWNlIGZvciBmdXR1cmUgdHJhbnNhY3Rpb24gcmVxdWVzdHNcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VHJhbnNhY3Rpb24oaWQ6IG51bWJlcik6IE9ic2VydmFibGU8RXNvbHZlVHJhbnNhY3Rpb24+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMubG9naW5HdWFyZCgpO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVUcmFuc2FjdGlvblJlY29yZFtdPj4oXG4gICAgICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC10cmFuc2FjdGlvbnMucGhwYCxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcl9pZDogdGhpcy51c2VyX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uX2lkOiBpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3Jkcy5sZW5ndGggPD0gMFxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5wcm9jZXNzVHJhbnNhY3Rpb25zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMsXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbXNbMF07XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q2xpZW50QWNjb3VudEJhbGFuY2VzKCk6IE9ic2VydmFibGU8XG4gICAgICAgIEVzb2x2ZVVzZXJDbGllbnRBY2NvdW50QmFsYW5jZXMgfCB1bmRlZmluZWRcbiAgICA+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMubG9naW5HdWFyZCgpO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAgICAgLmdldDxcbiAgICAgICAgICAgICAgICAgICAgRXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlVXNlckNsaWVudEFjY291bnRCYWxhbmNlc1JlY29yZFtdPlxuICAgICAgICAgICAgICAgID4oYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWNsaWVudC1hY2NvdW50LWJhbGFuY2VzLnBocGApXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0NsaWVudEJhbGFuY2VzKHJlc3BvbnNlLnJlY29yZHMpO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzVXNlckFjY291bnQoXG4gICAgICAgIHJlY29yZDogRXNvbHZlVXNlckFjY291bnRSZWNvcmQsXG4gICAgKTogRXNvbHZlVXNlckFjY291bnQge1xuICAgICAgICBpZiAoIXJlY29yZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHJlY29yZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCtyZWNvcmQudXNlcmlkICE9PSB0aGlzLl91c2VyX2lkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdXNlciBhY2NvdW50IHJldHJpZXZlZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVVc2VyQWNjb3VudChyZWNvcmQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc1VzZXJBZGRyZXNzKFxuICAgICAgICByZWNvcmRzOiBFc29sdmVBZGRyZXNzUmVjb3JkW10sXG4gICAgKTogRXNvbHZlQWRkcmVzc1tdIHtcbiAgICAgICAgY29uc3QgdXNlcl9hZGRyZXNzZXM6IEVzb2x2ZUFkZHJlc3NbXSA9IFtdO1xuXG4gICAgICAgIGlmICghcmVjb3JkcyB8fCB0aGlzLl91c2VyX2lkID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdXNlcl9hZGRyZXNzZXM7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XG4gICAgICAgICAgICBpZiAoK3JlY29yZC51c2VyaWQgIT09IHRoaXMuX3VzZXJfaWQpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdXNlcl9hZGRyZXNzZXMucHVzaChcbiAgICAgICAgICAgICAgICBuZXcgRXNvbHZlQWRkcmVzcyhcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5pZCxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnJlY2lwaWVudCxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmFkZHJlc3NfdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnBvYm94LFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQucGxhY2VfbmFtZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN0cmVldF9udW1iZXIsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdHJlZXQsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJ1cmIsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jaXR5LFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQucHJvdmluY2UsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jb3VudHJ5LFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQucG9zdGFsX2NvZGUsXG4gICAgICAgICAgICAgICAgICAgICtyZWNvcmQubGF0aXR1ZGUsXG4gICAgICAgICAgICAgICAgICAgICtyZWNvcmQubG9uZ2l0dWRlLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVzZXJfYWRkcmVzc2VzO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc1RyYW5zYWN0aW9ucyhcbiAgICAgICAgcmVjb3JkczogRXNvbHZlVHJhbnNhY3Rpb25SZWNvcmRbXSxcbiAgICApOiBFc29sdmVUcmFuc2FjdGlvbltdIHtcbiAgICAgICAgY29uc3QgdHJhbnNhY3Rpb25zOiBFc29sdmVUcmFuc2FjdGlvbltdID0gW107XG5cbiAgICAgICAgaWYgKHJlY29yZHMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgcmVjb3JkIG9mIHJlY29yZHMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IG5ldyBFc29sdmVUcmFuc2FjdGlvbihyZWNvcmQpO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25zLnB1c2godHJhbnNhY3Rpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9ucztcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NDbGllbnRCYWxhbmNlcyhcbiAgICAgICAgcmVjb3JkczogRXNvbHZlVXNlckNsaWVudEFjY291bnRCYWxhbmNlc1JlY29yZFtdLFxuICAgICk6IEVzb2x2ZVVzZXJDbGllbnRBY2NvdW50QmFsYW5jZXMgfCB1bmRlZmluZWQge1xuICAgICAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XG4gICAgICAgICAgICBpZiAoK3JlY29yZC5jbGllbnRzX2lkIDw9IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjYXJ0X3RvdGFscyA9IG5ldyBFc29sdmVDYXJ0VG90YWxzKFxuICAgICAgICAgICAgICAgIHJlY29yZC5jYXJ0X3RvdGFscy5yZWNvcmRzLFxuICAgICAgICAgICAgICAgICtyZWNvcmQuY2FydF90b3RhbHMuaXRlbXMsXG4gICAgICAgICAgICAgICAgK3JlY29yZC5jYXJ0X3RvdGFscy50b3RhbCxcbiAgICAgICAgICAgICAgICArcmVjb3JkLmNhcnRfdG90YWxzLnZhdCxcbiAgICAgICAgICAgICAgICArcmVjb3JkLmNhcnRfdG90YWxzLmRpc2NvdW50LFxuICAgICAgICAgICAgICAgICtyZWNvcmQuY2FydF90b3RhbHMudm91Y2hlcnMsXG4gICAgICAgICAgICAgICAgK3JlY29yZC5jYXJ0X3RvdGFscy5hbGxvd2FuY2UsXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZVVzZXJDbGllbnRBY2NvdW50QmFsYW5jZXMoXG4gICAgICAgICAgICAgICAgK3JlY29yZC5jbGllbnRzX2lkLFxuICAgICAgICAgICAgICAgIHJlY29yZC5hY2NvdW50LFxuICAgICAgICAgICAgICAgIGNhcnRfdG90YWxzLFxuICAgICAgICAgICAgICAgICtyZWNvcmQuY3JlZGl0X2xpbWl0LFxuICAgICAgICAgICAgICAgICtyZWNvcmQuZXh0ZXJuYWxfYWNjb3VudF9iYWxhbmNlLFxuICAgICAgICAgICAgICAgICtyZWNvcmQuZXh0ZXJuYWxfYXZhaWxhYmxlX2JhbGFuY2UsXG4gICAgICAgICAgICAgICAgK3JlY29yZC5uZXdfZXh0ZXJuYWxfYXZhaWxhYmxlX2JhbGFuY2UsXG4gICAgICAgICAgICAgICAgISErcmVjb3JkLmNyZWRpdF9saW1pdF9va2F5LFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2dpbkd1YXJkKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy51c2VyX2lkIDw9IDApIHtcbiAgICAgICAgICAgIHRoaXMuZXJyb3JIYW5kbGVyLnRocm93RXJyb3IoJ2xvZ2luX3JlcXVpcmVkJywgJ0xvZ2luIGlzIHJlcXVpcmVkJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVVzZXJMb2NhdGlvbihcbiAgICAgICAgYm9keTogRXNvbHZlTG9jYXRpb25PcHRpb24sXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVMb2NhdGlvblVwZGF0ZVJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZT4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LXNlc3Npb24tbG9jYXRpb24ucGhwYCxcbiAgICAgICAgICAgICAgICBib2R5LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiByZXNwb25zZS5lc29sdmVfaWQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCByZXNwb25zZSBpZC4nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlc3Npb25TZXJ2aWNlLmhhbmRsZVVwZGF0ZVNlc3Npb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbl9pZDogcmVzcG9uc2UuZXNvbHZlX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVMb2NhdGlvblVwZGF0ZVJlc3VsdChyZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { EsolveCategoryTreeItem } from '../../category-tree';
|
|
2
|
+
import { EsolveManufacturer } from '../../manufacturers';
|
|
3
|
+
import { EsolveRange } from '../../ranges';
|
|
4
|
+
import { EsolveTag } from '../../tags';
|
|
5
|
+
import { EsolveTopic } from '../../topics';
|
|
6
|
+
export class EsolveAsset {
|
|
7
|
+
/**
|
|
8
|
+
* Shortcut to `getImagePath()`
|
|
9
|
+
*/
|
|
10
|
+
get image_src() {
|
|
11
|
+
return this.getImagePath();
|
|
12
|
+
}
|
|
13
|
+
constructor(record) {
|
|
14
|
+
this.id = 0;
|
|
15
|
+
this.src = '';
|
|
16
|
+
this.name = '';
|
|
17
|
+
this.description = '';
|
|
18
|
+
this.document_number = '';
|
|
19
|
+
this.document_type = '';
|
|
20
|
+
this.area_of_application = '';
|
|
21
|
+
this.asset_category = '';
|
|
22
|
+
this.asset_sub_category = '';
|
|
23
|
+
this.sort_priority = 0;
|
|
24
|
+
this.topics = [];
|
|
25
|
+
this.tags = [];
|
|
26
|
+
this.image_name = '';
|
|
27
|
+
this.id = +record.id;
|
|
28
|
+
this.src = record.src;
|
|
29
|
+
this.name = record.name;
|
|
30
|
+
this.type = record.type;
|
|
31
|
+
this.description = record.description;
|
|
32
|
+
this.document_number = record.document_number ?? '';
|
|
33
|
+
this.document_type = record.document_type ?? '';
|
|
34
|
+
this.area_of_application = record.area_of_application ?? '';
|
|
35
|
+
this.asset_category = record.asset_category ?? '';
|
|
36
|
+
this.asset_sub_category = record.asset_sub_category ?? '';
|
|
37
|
+
this.sort_priority = +(record.sort_priority ?? '');
|
|
38
|
+
this.image_name = record.image_name ?? '';
|
|
39
|
+
if (record.created) {
|
|
40
|
+
this.created = record.created;
|
|
41
|
+
}
|
|
42
|
+
if (record.category) {
|
|
43
|
+
this.category = new EsolveCategoryTreeItem(record.category.type, record.category.id, record.category.parent_id, record.category.description, record.category.sef_description, record.category.short_description, record.category.sort_priority, record.category.active, record.category.display_only, record.category.image, record.category.seo_page_title, record.category.seo_keywords, record.category.seo_description);
|
|
44
|
+
}
|
|
45
|
+
if (record.subcategory) {
|
|
46
|
+
this.subcategory = new EsolveCategoryTreeItem(record.subcategory.type, record.subcategory.id, record.subcategory.parent_id, record.subcategory.description, record.subcategory.sef_description, record.subcategory.short_description, record.subcategory.sort_priority, record.subcategory.active, record.subcategory.display_only, record.subcategory.image, record.subcategory.seo_page_title, record.subcategory.seo_keywords, record.subcategory.seo_description);
|
|
47
|
+
}
|
|
48
|
+
if (record.manufacturer) {
|
|
49
|
+
this.manufacturer = new EsolveManufacturer(record.manufacturer);
|
|
50
|
+
}
|
|
51
|
+
if (record.range) {
|
|
52
|
+
this.range = new EsolveRange(record.range);
|
|
53
|
+
}
|
|
54
|
+
if (record.topics && record.topics.length > 0) {
|
|
55
|
+
for (const topic of record.topics) {
|
|
56
|
+
this.topics.push(new EsolveTopic(topic));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (record.tags && record.tags.length > 0) {
|
|
60
|
+
for (const tag of record.tags) {
|
|
61
|
+
this.tags.push(new EsolveTag(tag));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Retrieve image path
|
|
67
|
+
*
|
|
68
|
+
* @returns Image path on CDN, else empty string if no image exists
|
|
69
|
+
*/
|
|
70
|
+
getImagePath() {
|
|
71
|
+
if (this.image_name !== '') {
|
|
72
|
+
return `/images/documents/${this.image_name}`;
|
|
73
|
+
}
|
|
74
|
+
return '';
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWFzc2V0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2Fzc2V0cy9jbGFzc2VzL2Vzb2x2ZS1hc3NldC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUszQyxNQUFNLE9BQU8sV0FBVztJQXNCcEI7O09BRUc7SUFDSCxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELFlBQVksTUFBeUI7UUE1QjlCLE9BQUUsR0FBRyxDQUFDLENBQUM7UUFDUCxRQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ1QsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUVWLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25CLHdCQUFtQixHQUFHLEVBQUUsQ0FBQztRQUN6QixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUNwQix1QkFBa0IsR0FBRyxFQUFFLENBQUM7UUFDeEIsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFNbEIsV0FBTSxHQUFrQixFQUFFLENBQUM7UUFDM0IsU0FBSSxHQUFnQixFQUFFLENBQUM7UUFFdEIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQVVwQixJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVB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RTtZQUNkLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlDO1FBRUQsSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMzQyxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDNUM7U0FDSjtRQUVELElBQUksTUFBTSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDdkMsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFO2dCQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ3RDO1NBQ0o7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFlBQVk7UUFDZixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssRUFBRSxFQUFFO1lBQ3hCLE9BQU8scUJBQXFCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNqRDtRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbSB9IGZyb20gJy4uLy4uL2NhdGVnb3J5LXRyZWUnO1xuaW1wb3J0IHsgRXNvbHZlTWFudWZhY3R1cmVyIH0gZnJvbSAnLi4vLi4vbWFudWZhY3R1cmVycyc7XG5pbXBvcnQgeyBFc29sdmVSYW5nZSB9IGZyb20gJy4uLy4uL3Jhbmdlcyc7XG5pbXBvcnQgeyBFc29sdmVUYWcgfSBmcm9tICcuLi8uLi90YWdzJztcbmltcG9ydCB7IEVzb2x2ZVRvcGljIH0gZnJvbSAnLi4vLi4vdG9waWNzJztcblxuaW1wb3J0IHsgRXNvbHZlQXNzZXRUeXBlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgRXNvbHZlQXNzZXRSZWNvcmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNsYXNzIEVzb2x2ZUFzc2V0IHtcbiAgICBwdWJsaWMgaWQgPSAwO1xuICAgIHB1YmxpYyBzcmMgPSAnJztcbiAgICBwdWJsaWMgbmFtZSA9ICcnO1xuICAgIHB1YmxpYyB0eXBlPzogRXNvbHZlQXNzZXRUeXBlO1xuICAgIHB1YmxpYyBkZXNjcmlwdGlvbiA9ICcnO1xuICAgIHB1YmxpYyBkb2N1bWVudF9udW1iZXIgPSAnJztcbiAgICBwdWJsaWMgZG9jdW1lbnRfdHlwZSA9ICcnO1xuICAgIHB1YmxpYyBhcmVhX29mX2FwcGxpY2F0aW9uID0gJyc7XG4gICAgcHVibGljIGFzc2V0X2NhdGVnb3J5ID0gJyc7XG4gICAgcHVibGljIGFzc2V0X3N1Yl9jYXRlZ29yeSA9ICcnO1xuICAgIHB1YmxpYyBzb3J0X3ByaW9yaXR5ID0gMDtcbiAgICBwdWJsaWMgY3JlYXRlZD86IHN0cmluZztcbiAgICBwdWJsaWMgY2F0ZWdvcnk/OiBFc29sdmVDYXRlZ29yeVRyZWVJdGVtO1xuICAgIHB1YmxpYyBzdWJjYXRlZ29yeT86IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW07XG4gICAgcHVibGljIG1hbnVmYWN0dXJlcj86IEVzb2x2ZU1hbnVmYWN0dXJlcjtcbiAgICBwdWJsaWMgcmFuZ2U/OiBFc29sdmVSYW5nZTtcbiAgICBwdWJsaWMgdG9waWNzOiBFc29sdmVUb3BpY1tdID0gW107XG4gICAgcHVibGljIHRhZ3M6IEVzb2x2ZVRhZ1tdID0gW107XG5cbiAgICBwcml2YXRlIGltYWdlX25hbWUgPSAnJztcblxuICAgIC8qKlxuICAgICAqIFNob3J0Y3V0IHRvIGBnZXRJbWFnZVBhdGgoKWBcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGltYWdlX3NyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRJbWFnZVBhdGgoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihyZWNvcmQ6IEVzb2x2ZUFzc2V0UmVjb3JkKSB7XG4gICAgICAgIHRoaXMuaWQgPSArcmVjb3JkLmlkO1xuICAgICAgICB0aGlzLnNyYyA9IHJlY29yZC5zcmM7XG4gICAgICAgIHRoaXMubmFtZSA9IHJlY29yZC5uYW1lO1xuICAgICAgICB0aGlzLnR5cGUgPSByZWNvcmQudHlwZTtcbiAgICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IHJlY29yZC5kZXNjcmlwdGlvbjtcblxuICAgICAgICB0aGlzLmRvY3VtZW50X251bWJlciA9IHJlY29yZC5kb2N1bWVudF9udW1iZXIgPz8gJyc7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRfdHlwZSA9IHJlY29yZC5kb2N1bWVudF90eXBlID8/ICcnO1xuICAgICAgICB0aGlzLmFyZWFfb2ZfYXBwbGljYXRpb24gPSByZWNvcmQuYXJlYV9vZl9hcHBsaWNhdGlvbiA/PyAnJztcbiAgICAgICAgdGhpcy5hc3NldF9jYXRlZ29yeSA9IHJlY29yZC5hc3NldF9jYXRlZ29yeSA/PyAnJztcbiAgICAgICAgdGhpcy5hc3NldF9zdWJfY2F0ZWdvcnkgPSByZWNvcmQuYXNzZXRfc3ViX2NhdGVnb3J5ID8/ICcnO1xuICAgICAgICB0aGlzLnNvcnRfcHJpb3JpdHkgPSArKHJlY29yZC5zb3J0X3ByaW9yaXR5ID8/ICcnKTtcbiAgICAgICAgdGhpcy5pbWFnZV9uYW1lID0gcmVjb3JkLmltYWdlX25hbWUgPz8gJyc7XG5cbiAgICAgICAgaWYgKHJlY29yZC5jcmVhdGVkKSB7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZWQgPSByZWNvcmQuY3JlYXRlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZWNvcmQuY2F0ZWdvcnkpIHtcbiAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnkgPSBuZXcgRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbShcbiAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkudHlwZSxcbiAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuaWQsXG4gICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LnBhcmVudF9pZCxcbiAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LnNlZl9kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuc2hvcnRfZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LnNvcnRfcHJpb3JpdHksXG4gICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LmFjdGl2ZSxcbiAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuZGlzcGxheV9vbmx5LFxuICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5pbWFnZSxcbiAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuc2VvX3BhZ2VfdGl0bGUsXG4gICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LnNlb19rZXl3b3JkcyxcbiAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuc2VvX2Rlc2NyaXB0aW9uLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZWNvcmQuc3ViY2F0ZWdvcnkpIHtcbiAgICAgICAgICAgIHRoaXMuc3ViY2F0ZWdvcnkgPSBuZXcgRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbShcbiAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkudHlwZSxcbiAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuaWQsXG4gICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnBhcmVudF9pZCxcbiAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNlZl9kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuc2hvcnRfZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNvcnRfcHJpb3JpdHksXG4gICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmFjdGl2ZSxcbiAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuZGlzcGxheV9vbmx5LFxuICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5pbWFnZSxcbiAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuc2VvX3BhZ2VfdGl0bGUsXG4gICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNlb19rZXl3b3JkcyxcbiAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuc2VvX2Rlc2NyaXB0aW9uLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZWNvcmQubWFudWZhY3R1cmVyKSB7XG4gICAgICAgICAgICB0aGlzLm1hbnVmYWN0dXJlciA9IG5ldyBFc29sdmVNYW51ZmFjdHVyZXIocmVjb3JkLm1hbnVmYWN0dXJlcik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVjb3JkLnJhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLnJhbmdlID0gbmV3IEVzb2x2ZVJhbmdlKHJlY29yZC5yYW5nZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVjb3JkLnRvcGljcyAmJiByZWNvcmQudG9waWNzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgdG9waWMgb2YgcmVjb3JkLnRvcGljcykge1xuICAgICAgICAgICAgICAgIHRoaXMudG9waWNzLnB1c2gobmV3IEVzb2x2ZVRvcGljKHRvcGljKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVjb3JkLnRhZ3MgJiYgcmVjb3JkLnRhZ3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCB0YWcgb2YgcmVjb3JkLnRhZ3MpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRhZ3MucHVzaChuZXcgRXNvbHZlVGFnKHRhZykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmUgaW1hZ2UgcGF0aFxuICAgICAqXG4gICAgICogQHJldHVybnMgSW1hZ2UgcGF0aCBvbiBDRE4sIGVsc2UgZW1wdHkgc3RyaW5nIGlmIG5vIGltYWdlIGV4aXN0c1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRJbWFnZVBhdGgoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuaW1hZ2VfbmFtZSAhPT0gJycpIHtcbiAgICAgICAgICAgIHJldHVybiBgL2ltYWdlcy9kb2N1bWVudHMvJHt0aGlzLmltYWdlX25hbWV9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export class EsolveLinkedAsset {
|
|
2
|
+
constructor(record) {
|
|
3
|
+
this.id = +record.id;
|
|
4
|
+
this.name = record.name;
|
|
5
|
+
this.type = record.type;
|
|
6
|
+
this.description = record.description;
|
|
7
|
+
this.src = record.src;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWxpbmtlZC1hc3NldC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hc3NldHMvY2xhc3Nlcy9lc29sdmUtbGlua2VkLWFzc2V0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxpQkFBaUI7SUFPMUIsWUFBWSxNQUErQjtRQUN2QyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUN0QyxJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDMUIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlQXNzZXRUeXBlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgRXNvbHZlTGlua2VkQXNzZXRSZWNvcmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNsYXNzIEVzb2x2ZUxpbmtlZEFzc2V0IHtcbiAgICBwdWJsaWMgaWQ6IG51bWJlcjtcbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICAgIHB1YmxpYyB0eXBlOiBFc29sdmVBc3NldFR5cGU7XG4gICAgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgcHVibGljIHNyYzogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IocmVjb3JkOiBFc29sdmVMaW5rZWRBc3NldFJlY29yZCkge1xuICAgICAgICB0aGlzLmlkID0gK3JlY29yZC5pZDtcbiAgICAgICAgdGhpcy5uYW1lID0gcmVjb3JkLm5hbWU7XG4gICAgICAgIHRoaXMudHlwZSA9IHJlY29yZC50eXBlO1xuICAgICAgICB0aGlzLmRlc2NyaXB0aW9uID0gcmVjb3JkLmRlc2NyaXB0aW9uO1xuICAgICAgICB0aGlzLnNyYyA9IHJlY29yZC5zcmM7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './esolve-linked-asset.model';
|
|
2
|
+
export * from './esolve-asset.model';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYXNzZXRzL2NsYXNzZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtbGlua2VkLWFzc2V0Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLWFzc2V0Lm1vZGVsJztcbiJdfQ==
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { Injectable, inject } from '@angular/core';
|
|
2
|
+
import { HttpClient, HttpParams } from '@angular/common/http';
|
|
3
|
+
import { throwError } from 'rxjs';
|
|
4
|
+
import { map } from 'rxjs/operators';
|
|
5
|
+
import { EsolveConfigService } from '../core';
|
|
6
|
+
import { EsolveList } from '../shared';
|
|
7
|
+
import { EsolveAsset } from './classes';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class EsolveAssetsService {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.config = inject(EsolveConfigService);
|
|
12
|
+
this.http = inject(HttpClient);
|
|
13
|
+
}
|
|
14
|
+
getAsset(id) {
|
|
15
|
+
const params = new HttpParams({ fromObject: { assets_id: id } });
|
|
16
|
+
return this.getAssetRecords(params).pipe(map((response) => {
|
|
17
|
+
if (response.records === undefined ||
|
|
18
|
+
response.records.length <= 0) {
|
|
19
|
+
throw response;
|
|
20
|
+
}
|
|
21
|
+
const record = response.records[0];
|
|
22
|
+
return this.processAsset(record);
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
getAssets(options) {
|
|
26
|
+
const params = this.parseOptions(options);
|
|
27
|
+
return this.getAssetRecords(params).pipe(map((response) => {
|
|
28
|
+
if (response.records === undefined) {
|
|
29
|
+
throw response;
|
|
30
|
+
}
|
|
31
|
+
const additional_data = response.additional_data;
|
|
32
|
+
const records = response.records;
|
|
33
|
+
const total_records = +additional_data.total_records;
|
|
34
|
+
return this.processAssetLists(records, total_records, options);
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
getMediaAssets(options) {
|
|
38
|
+
let params = this.parseOptions(options);
|
|
39
|
+
if (options.media_id && options.media_id > 0) {
|
|
40
|
+
params = params.set('media_id', options.media_id);
|
|
41
|
+
}
|
|
42
|
+
else if (options.media_identifier &&
|
|
43
|
+
options.media_identifier !== '') {
|
|
44
|
+
params = params.set('media_identifier', options.media_identifier);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
return throwError(() => new Error('Media ID or identifier is required'));
|
|
48
|
+
}
|
|
49
|
+
return this.http
|
|
50
|
+
.get(`${this.config.api_url}/get-media-assets.php`, { params })
|
|
51
|
+
.pipe(map((response) => {
|
|
52
|
+
if (response.records === undefined) {
|
|
53
|
+
throw response;
|
|
54
|
+
}
|
|
55
|
+
const additional_data = response.additional_data;
|
|
56
|
+
const records = response.records;
|
|
57
|
+
const total_records = +additional_data.total_records;
|
|
58
|
+
return this.processAssetLists(records, total_records, options);
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
processAsset(record) {
|
|
62
|
+
return new EsolveAsset(record);
|
|
63
|
+
}
|
|
64
|
+
getAssetRecords(params) {
|
|
65
|
+
return this.http.get(`${this.config.api_url}/get-assets.php`, { params });
|
|
66
|
+
}
|
|
67
|
+
parseOptions(options) {
|
|
68
|
+
let params = new HttpParams();
|
|
69
|
+
if (!options) {
|
|
70
|
+
return params;
|
|
71
|
+
}
|
|
72
|
+
if (options.page) {
|
|
73
|
+
params = params.set('page', options.page);
|
|
74
|
+
}
|
|
75
|
+
if (options.rows) {
|
|
76
|
+
params = params.set('rows', options.rows);
|
|
77
|
+
}
|
|
78
|
+
if (options.asset_type) {
|
|
79
|
+
params = params.set('asset_type', options.asset_type);
|
|
80
|
+
}
|
|
81
|
+
if (options.category_id) {
|
|
82
|
+
params = params.set('category_id', options.category_id);
|
|
83
|
+
}
|
|
84
|
+
if (options.subcategory_id) {
|
|
85
|
+
params = params.set('subcategory_id', options.subcategory_id);
|
|
86
|
+
}
|
|
87
|
+
if (options.manufacturers_id) {
|
|
88
|
+
params = params.set('manufacturers_id', options.manufacturers_id);
|
|
89
|
+
}
|
|
90
|
+
if (options.ranges_id) {
|
|
91
|
+
params = params.set('ranges_id', options.ranges_id);
|
|
92
|
+
}
|
|
93
|
+
if (options.asset_category) {
|
|
94
|
+
params = params.set('asset_category', options.asset_category);
|
|
95
|
+
}
|
|
96
|
+
if (options.asset_sub_category) {
|
|
97
|
+
params = params.set('asset_sub_category', options.asset_sub_category);
|
|
98
|
+
}
|
|
99
|
+
if (options.document_number) {
|
|
100
|
+
params = params.set('document_number', options.document_number);
|
|
101
|
+
}
|
|
102
|
+
if (options.document_type) {
|
|
103
|
+
params = params.set('document_type', options.document_type);
|
|
104
|
+
}
|
|
105
|
+
if (options.area_of_application) {
|
|
106
|
+
params = params.set('area_of_application', options.area_of_application);
|
|
107
|
+
}
|
|
108
|
+
return params;
|
|
109
|
+
}
|
|
110
|
+
processAssetLists(records, total_records, options) {
|
|
111
|
+
const assets = [];
|
|
112
|
+
for (const record of records) {
|
|
113
|
+
assets.push(this.processAsset(record));
|
|
114
|
+
}
|
|
115
|
+
const page = options?.page ?? 0;
|
|
116
|
+
const rows = options?.rows ?? 0;
|
|
117
|
+
const total = total_records;
|
|
118
|
+
return new EsolveList(assets, page, rows, total);
|
|
119
|
+
}
|
|
120
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: EsolveAssetsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
121
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: EsolveAssetsService, providedIn: 'root' }); }
|
|
122
|
+
}
|
|
123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: EsolveAssetsService, decorators: [{
|
|
124
|
+
type: Injectable,
|
|
125
|
+
args: [{
|
|
126
|
+
providedIn: 'root',
|
|
127
|
+
}]
|
|
128
|
+
}] });
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWFzc2V0cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2Fzc2V0cy9lc29sdmUtYXNzZXRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU5RCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUMsT0FBTyxFQUFxQixVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFXeEMsTUFBTSxPQUFPLG1CQUFtQjtJQUhoQztRQUlxQixXQUFNLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDckMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQWlMOUM7SUEvS1UsUUFBUSxDQUFDLEVBQVU7UUFDdEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQ3BDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2IsSUFDSSxRQUFRLENBQUMsT0FBTyxLQUFLLFNBQVM7Z0JBQzlCLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsRUFDOUI7Z0JB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a0hBQW5CLG1CQUFtQixjQUZoQixNQUFNOzsyRkFFVCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEVzb2x2ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB7IEVzb2x2ZUdldFJlc3BvbnNlLCBFc29sdmVMaXN0IH0gZnJvbSAnLi4vc2hhcmVkJztcblxuaW1wb3J0IHsgRXNvbHZlQXNzZXQgfSBmcm9tICcuL2NsYXNzZXMnO1xuaW1wb3J0IHtcbiAgICBFc29sdmVBc3NldE9wdGlvbnMsXG4gICAgRXNvbHZlTWVkaWFBc3NldE9wdGlvbnMsXG4gICAgRXNvbHZlQXNzZXRSZWNvcmQsXG59IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFc29sdmVBc3NldExpc3QgfSBmcm9tICcuL3R5cGVzJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXNvbHZlQXNzZXRzU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWcgPSBpbmplY3QoRXNvbHZlQ29uZmlnU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuXG4gICAgcHVibGljIGdldEFzc2V0KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPEVzb2x2ZUFzc2V0PiB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKHsgZnJvbU9iamVjdDogeyBhc3NldHNfaWQ6IGlkIH0gfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QXNzZXRSZWNvcmRzKHBhcmFtcykucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzLmxlbmd0aCA8PSAwXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZCA9IHJlc3BvbnNlLnJlY29yZHNbMF07XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQXNzZXQocmVjb3JkKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBc3NldHMoXG4gICAgICAgIG9wdGlvbnM/OiBFc29sdmVBc3NldE9wdGlvbnMsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVBc3NldExpc3Q+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5wYXJzZU9wdGlvbnMob3B0aW9ucyk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QXNzZXRSZWNvcmRzKHBhcmFtcykucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGFkZGl0aW9uYWxfZGF0YSA9IHJlc3BvbnNlLmFkZGl0aW9uYWxfZGF0YTtcbiAgICAgICAgICAgICAgICBjb25zdCByZWNvcmRzID0gcmVzcG9uc2UucmVjb3JkcztcbiAgICAgICAgICAgICAgICBjb25zdCB0b3RhbF9yZWNvcmRzID0gK2FkZGl0aW9uYWxfZGF0YS50b3RhbF9yZWNvcmRzO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0Fzc2V0TGlzdHMocmVjb3JkcywgdG90YWxfcmVjb3Jkcywgb3B0aW9ucyk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TWVkaWFBc3NldHMoXG4gICAgICAgIG9wdGlvbnM6IEVzb2x2ZU1lZGlhQXNzZXRPcHRpb25zLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlQXNzZXRMaXN0PiB7XG4gICAgICAgIGxldCBwYXJhbXMgPSB0aGlzLnBhcnNlT3B0aW9ucyhvcHRpb25zKTtcblxuICAgICAgICBpZiAob3B0aW9ucy5tZWRpYV9pZCAmJiBvcHRpb25zLm1lZGlhX2lkID4gMCkge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnbWVkaWFfaWQnLCBvcHRpb25zLm1lZGlhX2lkKTtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIG9wdGlvbnMubWVkaWFfaWRlbnRpZmllciAmJlxuICAgICAgICAgICAgb3B0aW9ucy5tZWRpYV9pZGVudGlmaWVyICE9PSAnJ1xuICAgICAgICApIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ21lZGlhX2lkZW50aWZpZXInLCBvcHRpb25zLm1lZGlhX2lkZW50aWZpZXIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoXG4gICAgICAgICAgICAgICAgKCkgPT4gbmV3IEVycm9yKCdNZWRpYSBJRCBvciBpZGVudGlmaWVyIGlzIHJlcXVpcmVkJyksXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVBc3NldFJlY29yZFtdPj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LW1lZGlhLWFzc2V0cy5waHBgLFxuICAgICAgICAgICAgICAgIHsgcGFyYW1zIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRkaXRpb25hbF9kYXRhID0gcmVzcG9uc2UuYWRkaXRpb25hbF9kYXRhO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZWNvcmRzID0gcmVzcG9uc2UucmVjb3JkcztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdG90YWxfcmVjb3JkcyA9ICthZGRpdGlvbmFsX2RhdGEudG90YWxfcmVjb3JkcztcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQXNzZXRMaXN0cyhcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlY29yZHMsXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3RhbF9yZWNvcmRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzQXNzZXQocmVjb3JkOiBFc29sdmVBc3NldFJlY29yZCk6IEVzb2x2ZUFzc2V0IHtcbiAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVBc3NldChyZWNvcmQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QXNzZXRSZWNvcmRzKFxuICAgICAgICBwYXJhbXM6IEh0dHBQYXJhbXMsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVBc3NldFJlY29yZFtdPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVBc3NldFJlY29yZFtdPj4oXG4gICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtYXNzZXRzLnBocGAsXG4gICAgICAgICAgICB7IHBhcmFtcyB9LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgcGFyc2VPcHRpb25zKG9wdGlvbnM/OiBFc29sdmVBc3NldE9wdGlvbnMpOiBIdHRwUGFyYW1zIHtcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG5cbiAgICAgICAgaWYgKCFvcHRpb25zKSB7XG4gICAgICAgICAgICByZXR1cm4gcGFyYW1zO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG9wdGlvbnMucGFnZSkge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgncGFnZScsIG9wdGlvbnMucGFnZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3B0aW9ucy5yb3dzKSB7XG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdyb3dzJywgb3B0aW9ucy5yb3dzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb25zLmFzc2V0X3R5cGUpIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2Fzc2V0X3R5cGUnLCBvcHRpb25zLmFzc2V0X3R5cGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG9wdGlvbnMuY2F0ZWdvcnlfaWQpIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2NhdGVnb3J5X2lkJywgb3B0aW9ucy5jYXRlZ29yeV9pZCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3B0aW9ucy5zdWJjYXRlZ29yeV9pZCkge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnc3ViY2F0ZWdvcnlfaWQnLCBvcHRpb25zLnN1YmNhdGVnb3J5X2lkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb25zLm1hbnVmYWN0dXJlcnNfaWQpIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ21hbnVmYWN0dXJlcnNfaWQnLCBvcHRpb25zLm1hbnVmYWN0dXJlcnNfaWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG9wdGlvbnMucmFuZ2VzX2lkKSB7XG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdyYW5nZXNfaWQnLCBvcHRpb25zLnJhbmdlc19pZCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3B0aW9ucy5hc3NldF9jYXRlZ29yeSkge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnYXNzZXRfY2F0ZWdvcnknLCBvcHRpb25zLmFzc2V0X2NhdGVnb3J5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb25zLmFzc2V0X3N1Yl9jYXRlZ29yeSkge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChcbiAgICAgICAgICAgICAgICAnYXNzZXRfc3ViX2NhdGVnb3J5JyxcbiAgICAgICAgICAgICAgICBvcHRpb25zLmFzc2V0X3N1Yl9jYXRlZ29yeSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3B0aW9ucy5kb2N1bWVudF9udW1iZXIpIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2RvY3VtZW50X251bWJlcicsIG9wdGlvbnMuZG9jdW1lbnRfbnVtYmVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb25zLmRvY3VtZW50X3R5cGUpIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2RvY3VtZW50X3R5cGUnLCBvcHRpb25zLmRvY3VtZW50X3R5cGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG9wdGlvbnMuYXJlYV9vZl9hcHBsaWNhdGlvbikge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChcbiAgICAgICAgICAgICAgICAnYXJlYV9vZl9hcHBsaWNhdGlvbicsXG4gICAgICAgICAgICAgICAgb3B0aW9ucy5hcmVhX29mX2FwcGxpY2F0aW9uLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwYXJhbXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzQXNzZXRMaXN0cyhcbiAgICAgICAgcmVjb3JkczogRXNvbHZlQXNzZXRSZWNvcmRbXSxcbiAgICAgICAgdG90YWxfcmVjb3JkczogbnVtYmVyLFxuICAgICAgICBvcHRpb25zPzogRXNvbHZlQXNzZXRPcHRpb25zLFxuICAgICkge1xuICAgICAgICBjb25zdCBhc3NldHM6IEVzb2x2ZUFzc2V0W10gPSBbXTtcblxuICAgICAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XG4gICAgICAgICAgICBhc3NldHMucHVzaCh0aGlzLnByb2Nlc3NBc3NldChyZWNvcmQpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhZ2UgPSBvcHRpb25zPy5wYWdlID8/IDA7XG4gICAgICAgIGNvbnN0IHJvd3MgPSBvcHRpb25zPy5yb3dzID8/IDA7XG4gICAgICAgIGNvbnN0IHRvdGFsID0gdG90YWxfcmVjb3JkcztcblxuICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZUxpc3QoYXNzZXRzLCBwYWdlLCByb3dzLCB0b3RhbCk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './classes';
|
|
2
|
+
export * from './interfaces';
|
|
3
|
+
export * from './types';
|
|
4
|
+
// Service
|
|
5
|
+
export * from './esolve-assets.service';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYXNzZXRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLFVBQVU7QUFDVixjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jbGFzc2VzJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbi8vIFNlcnZpY2VcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLWFzc2V0cy5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWFzc2V0LW9wdGlvbnMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2Fzc2V0cy9pbnRlcmZhY2VzL2Vzb2x2ZS1hc3NldC1vcHRpb25zLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlQXNzZXRUeXBlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVzb2x2ZUFzc2V0T3B0aW9ucyB7XG4gICAgcm93cz86IG51bWJlcjtcbiAgICBwYWdlPzogbnVtYmVyO1xuICAgIGNhdGVnb3J5X2lkPzogc3RyaW5nO1xuICAgIHN1YmNhdGVnb3J5X2lkPzogbnVtYmVyO1xuICAgIG1hbnVmYWN0dXJlcnNfaWQ/OiBudW1iZXI7XG4gICAgcmFuZ2VzX2lkPzogbnVtYmVyO1xuICAgIGFzc2V0X3R5cGU/OiBFc29sdmVBc3NldFR5cGU7XG4gICAgYXNzZXRfY2F0ZWdvcnk/OiBzdHJpbmc7XG4gICAgYXNzZXRfc3ViX2NhdGVnb3J5Pzogc3RyaW5nO1xuICAgIGRvY3VtZW50X251bWJlcj86IHN0cmluZztcbiAgICBkb2N1bWVudF90eXBlPzogc3RyaW5nO1xuICAgIGFyZWFfb2ZfYXBwbGljYXRpb24/OiBzdHJpbmc7XG59XG4iXX0=
|