simpo-component-library 3.4.1 → 3.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/esm2022/lib/components/delete-hover-element/delete-hover-element.component.mjs +5 -5
- package/esm2022/lib/components/document/document.component.mjs +5 -5
- package/esm2022/lib/components/hover-elements/hover-elements.component.mjs +4 -4
- package/esm2022/lib/components/image-loading/image-loading.component.mjs +5 -5
- package/esm2022/lib/components/index.mjs +5 -5
- package/esm2022/lib/components/input-fields/input-fields.component.mjs +4 -4
- package/esm2022/lib/components/payment-details/payment-details.component.mjs +5 -5
- package/esm2022/lib/constants/business.constant.mjs +1 -1
- package/esm2022/lib/directive/animation-directive.mjs +4 -4
- package/esm2022/lib/directive/background-directive.mjs +4 -4
- package/esm2022/lib/directive/banner-content-fit-directive.mjs +4 -4
- package/esm2022/lib/directive/blur-content.directive.mjs +4 -4
- package/esm2022/lib/directive/border-directive.mjs +4 -4
- package/esm2022/lib/directive/borderlessImage.directive.mjs +4 -4
- package/esm2022/lib/directive/button-directive.directive.mjs +4 -4
- package/esm2022/lib/directive/button-editor.directive.mjs +4 -4
- package/esm2022/lib/directive/color.directive.mjs +4 -4
- package/esm2022/lib/directive/column-directive.directive.mjs +4 -4
- package/esm2022/lib/directive/container-alignment.directive.mjs +4 -4
- package/esm2022/lib/directive/container-fir.directive.mjs +4 -4
- package/esm2022/lib/directive/content-alignment-directive.mjs +4 -4
- package/esm2022/lib/directive/content-fit-directive.mjs +4 -4
- package/esm2022/lib/directive/content-title-spacing.directive.mjs +4 -4
- package/esm2022/lib/directive/contenteditable.directive.mjs +4 -4
- package/esm2022/lib/directive/corner-directive.mjs +4 -4
- package/esm2022/lib/directive/footer-layout-directive.mjs +4 -4
- package/esm2022/lib/directive/hover-element-directive.mjs +4 -4
- package/esm2022/lib/directive/hoverborder.directive.mjs +4 -4
- package/esm2022/lib/directive/image-container.directive.mjs +4 -4
- package/esm2022/lib/directive/image-directive.directive.mjs +4 -4
- package/esm2022/lib/directive/image-editor.directive.mjs +4 -4
- package/esm2022/lib/directive/image-position.directive.mjs +4 -4
- package/esm2022/lib/directive/overlay-directive.mjs +4 -4
- package/esm2022/lib/directive/position-layout-directive.directive.mjs +4 -4
- package/esm2022/lib/directive/removeCarousel-directive.mjs +4 -4
- package/esm2022/lib/directive/spacing-around.directive.mjs +4 -4
- package/esm2022/lib/directive/spacing-horizontal.directive.mjs +4 -4
- package/esm2022/lib/directive/sticky-directive.mjs +4 -4
- package/esm2022/lib/directive/text-background-directive.directive.mjs +4 -4
- package/esm2022/lib/directive/text-size.directive.mjs +4 -4
- package/esm2022/lib/directive/wrap-containers.directive.mjs +4 -4
- package/esm2022/lib/ecommerce/sections/address/address.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/authenticate-user/authenticate-user.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/authentication-required/authentication-required.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/authentication-required/authentication-required.model.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/cart/cart.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/cart/cart.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/category-product/category-product.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/category-product/category-product.model.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/checkout/checkout.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/checkout/checkout.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/customer-review/customer-review.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/customer-review/customer-review.model.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/featured-category/featured-category.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/featured-category/featured-category.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/featured-category/featured-collection.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/featured-products/featured-products.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/featured-products/featured-products.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/item-varient/item-varient.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/order-details/order-details.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/pagnination/pagnination.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/product-category-list/product-category-list.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/product-category-list/product-category-list.model.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/product-desc/product-desc.component.mjs +35 -5
- package/esm2022/lib/ecommerce/sections/product-desc/product-desc.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/product-list/product-list.component.mjs +6 -6
- package/esm2022/lib/ecommerce/sections/product-list/product-list.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/small-product-listing/small-product-listing.component.mjs +6 -6
- package/esm2022/lib/ecommerce/sections/user-basic-info/user-basic-info.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/user-profile/user-profile.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/user-profile/user-profile.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/verify-payment/verify-payment.component.mjs +5 -5
- package/esm2022/lib/ecommerce/sections/verify-payment/verify-payment.model.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/whislist/whislist.component.mjs +5 -5
- package/esm2022/lib/ecommerce/styles/BaseCollection.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/Collection.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/OrderedItems.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/PincodeLocation.model.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/PincodeLocationInter.model.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/cart.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/category.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/order.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/product.modal.mjs +6 -1
- package/esm2022/lib/ecommerce/styles/review.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/user.modal.mjs +1 -1
- package/esm2022/lib/elements/add-section/add-section.component.mjs +5 -5
- package/esm2022/lib/elements/below-image-card/below-image-card.component.mjs +5 -5
- package/esm2022/lib/elements/button/button.component.mjs +5 -5
- package/esm2022/lib/elements/button/button.model.mjs +1 -1
- package/esm2022/lib/elements/card-skeleton-loader/card-skeleton-loader.component.mjs +5 -5
- package/esm2022/lib/elements/covering-image-card/covering-image-card.component.mjs +5 -5
- package/esm2022/lib/elements/editor-service.service.mjs +4 -4
- package/esm2022/lib/elements/heading-element/heading-element.component.mjs +5 -5
- package/esm2022/lib/elements/image-editor/image-editor.component.mjs +5 -5
- package/esm2022/lib/elements/index.mjs +5 -5
- package/esm2022/lib/elements/link-editor/link-editor.component.mjs +5 -5
- package/esm2022/lib/elements/media-selector/media-selector.component.mjs +5 -5
- package/esm2022/lib/elements/navbar-button-element/navbar-button-element.component.mjs +4 -4
- package/esm2022/lib/elements/portfolio/portfolio.component.mjs +5 -5
- package/esm2022/lib/elements/property/property.component.mjs +5 -5
- package/esm2022/lib/elements/simpo-button/simpo-button.component.mjs +5 -5
- package/esm2022/lib/elements/socia-icons/socia-icons.component.mjs +4 -4
- package/esm2022/lib/elements/svg-divider/svg-divider.component.mjs +5 -5
- package/esm2022/lib/elements/text/text.component.mjs +5 -5
- package/esm2022/lib/elements/text-editor/text-editor.component.mjs +5 -5
- package/esm2022/lib/elements/top-of-image-card/top-of-image-card.component.mjs +5 -5
- package/esm2022/lib/pipes/amount.pipe.mjs +4 -4
- package/esm2022/lib/pipes/gender.pipe.mjs +4 -4
- package/esm2022/lib/sections/BaseSection.mjs +1 -1
- package/esm2022/lib/sections/add-new-section/add-new-section.component.mjs +5 -5
- package/esm2022/lib/sections/appointment-form/appointment-form.component.mjs +5 -5
- package/esm2022/lib/sections/appointment-form/appointment-form.model.mjs +1 -1
- package/esm2022/lib/sections/banner-carousel/banner-carousel.component.mjs +5 -5
- package/esm2022/lib/sections/banner-carousel/banner-carousel.model.mjs +1 -1
- package/esm2022/lib/sections/banner-grid-section/banner-grid-section.component.mjs +5 -5
- package/esm2022/lib/sections/banner-section/banner-section.component.mjs +4 -4
- package/esm2022/lib/sections/blog-list/blog-list.component.mjs +5 -5
- package/esm2022/lib/sections/blog-list/blog-list.model.mjs +1 -1
- package/esm2022/lib/sections/carousel-banner/carousel-banner.component.mjs +4 -4
- package/esm2022/lib/sections/choose-us-section/choose-us-section.component.mjs +5 -5
- package/esm2022/lib/sections/choose-us-section/choose-us-section.model.mjs +1 -1
- package/esm2022/lib/sections/contact-us/contact-us.component.mjs +4 -4
- package/esm2022/lib/sections/faq-section/faq-section.component.mjs +5 -5
- package/esm2022/lib/sections/faq-section/faq-section.modal.mjs +1 -1
- package/esm2022/lib/sections/features-section/features-section.component.mjs +5 -5
- package/esm2022/lib/sections/features-section/features-section.model.mjs +1 -1
- package/esm2022/lib/sections/footer/footer.component.mjs +5 -5
- package/esm2022/lib/sections/footer/footer.modal.mjs +1 -1
- package/esm2022/lib/sections/footer-section/footer-section.component.mjs +4 -4
- package/esm2022/lib/sections/header-section/header-section.component.mjs +5 -5
- package/esm2022/lib/sections/header-section/header-section.model.mjs +1 -1
- package/esm2022/lib/sections/header-text/header-text.component.mjs +5 -5
- package/esm2022/lib/sections/header-text/header-text.model.mjs +1 -1
- package/esm2022/lib/sections/image-carousel-section/image-carousel-section.component.mjs +5 -5
- package/esm2022/lib/sections/image-carousel-section/image-carousel.model.mjs +1 -1
- package/esm2022/lib/sections/image-grid-section/image-grid-section.component.mjs +5 -5
- package/esm2022/lib/sections/image-grid-section/image-grid-section.model.mjs +1 -1
- package/esm2022/lib/sections/image-section/image-section.component.mjs +5 -5
- package/esm2022/lib/sections/image-section/image-section.model.mjs +1 -1
- package/esm2022/lib/sections/location-section/location-section.component.mjs +5 -5
- package/esm2022/lib/sections/location-section/location-section.modal.mjs +1 -1
- package/esm2022/lib/sections/logo-gallery/logo-gallery.component.mjs +4 -4
- package/esm2022/lib/sections/logo-showcase/logo-showcase.component.mjs +5 -5
- package/esm2022/lib/sections/logo-showcase/logo-showcase.modal.mjs +1 -1
- package/esm2022/lib/sections/navbar-section/navbar-section.component.mjs +4 -4
- package/esm2022/lib/sections/new-services/new-services.component.mjs +5 -5
- package/esm2022/lib/sections/new-services/new-services.model.mjs +1 -1
- package/esm2022/lib/sections/new-testimonials/new-testimonials.component.mjs +5 -5
- package/esm2022/lib/sections/new-testimonials/new-testimonials.model.mjs +1 -1
- package/esm2022/lib/sections/pricing-section/pricing-section.component.mjs +5 -5
- package/esm2022/lib/sections/pricing-section/pricing-section.modal.mjs +1 -1
- package/esm2022/lib/sections/process-modern/process-modern.component.mjs +5 -5
- package/esm2022/lib/sections/process-modern/process-modern.model.mjs +1 -1
- package/esm2022/lib/sections/process-section/process-section.component.mjs +5 -5
- package/esm2022/lib/sections/process-section/process-section.modal.mjs +1 -1
- package/esm2022/lib/sections/property-component/property-component.component.mjs +5 -5
- package/esm2022/lib/sections/property-component/property-component.modal.mjs +1 -1
- package/esm2022/lib/sections/property-list/property-list.component.mjs +5 -5
- package/esm2022/lib/sections/property-list/property-list.modal.mjs +1 -1
- package/esm2022/lib/sections/recent-blog-post-section/recent-blog-post-section.component.mjs +5 -5
- package/esm2022/lib/sections/recent-blog-post-section/recent-blog-post-section.model.mjs +1 -1
- package/esm2022/lib/sections/registration-form/registration-form.component.mjs +6 -6
- package/esm2022/lib/sections/registration-form/registrationForm.model.mjs +1 -1
- package/esm2022/lib/sections/service-section/service-section.component.mjs +5 -5
- package/esm2022/lib/sections/service-section/service-section.model.mjs +1 -1
- package/esm2022/lib/sections/skeleton-loader-section/skeleton-loader-section.component.mjs +5 -5
- package/esm2022/lib/sections/team-member-section/team-member-section.component.mjs +5 -5
- package/esm2022/lib/sections/team-member-section/team-member-section.model.mjs +1 -1
- package/esm2022/lib/sections/testimonial-fullwidth/testimonial-fullwidth.component.mjs +5 -5
- package/esm2022/lib/sections/testimonial-fullwidth/testimonial-fullwidth.model.mjs +1 -1
- package/esm2022/lib/sections/testimonial-section/testimonial-section.component.mjs +5 -5
- package/esm2022/lib/sections/testimonial-section/testimonial-section.model.mjs +1 -1
- package/esm2022/lib/sections/testimonial-video/testimonial-video.component.mjs +5 -5
- package/esm2022/lib/sections/testimonial-video/testimonial-video.model.mjs +1 -1
- package/esm2022/lib/sections/text-image-section/text-image-section.component.mjs +4 -4
- package/esm2022/lib/sections/text-section/text-section.component.mjs +4 -4
- package/esm2022/lib/sections/text-section/text-section.model.mjs +1 -1
- package/esm2022/lib/sections/usp-video-section/usp-video-section.component.mjs +5 -5
- package/esm2022/lib/sections/usp-video-section/usp-video-section.model.mjs +1 -1
- package/esm2022/lib/sections/video-section/video-section.component.mjs +5 -5
- package/esm2022/lib/sections/video-section/video-section.model.mjs +1 -1
- package/esm2022/lib/sections/view-blog/view-blog.component.mjs +5 -5
- package/esm2022/lib/services/cart.service.mjs +4 -4
- package/esm2022/lib/services/endUser.service.mjs +4 -4
- package/esm2022/lib/services/events.service.mjs +4 -4
- package/esm2022/lib/services/image-upload-service.service.mjs +4 -4
- package/esm2022/lib/services/rest.service.mjs +17 -9
- package/esm2022/lib/services/sanitizeHtml.mjs +4 -4
- package/esm2022/lib/services/storage.service.mjs +4 -4
- package/esm2022/lib/styles/index.mjs +1 -1
- package/esm2022/lib/styles/style.model.mjs +1 -1
- package/esm2022/lib/styles/types.mjs +1 -1
- package/esm2022/lib/tokens/api-token.mjs +1 -1
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/simpo-component-library.mjs +520 -477
- package/fesm2022/simpo-component-library.mjs.map +1 -1
- package/lib/ecommerce/sections/product-desc/product-desc.component.d.ts +4 -0
- package/lib/ecommerce/styles/product.modal.d.ts +5 -0
- package/lib/services/rest.service.d.ts +3 -0
- package/package.json +1 -1
- package/simpo-component-library-3.4.3.tgz +0 -0
- package/src/lib/styles/global-styles.css +191 -191
- package/simpo-component-library-3.4.1.tgz +0 -0
@@ -186,12 +186,12 @@ export class MediaSelectorComponent {
|
|
186
186
|
}
|
187
187
|
});
|
188
188
|
}
|
189
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
190
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MediaSelectorComponent, isStandalone: true, selector: "simpo-media-selector", viewQueries: [{ propertyName: "viewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], ngImport: i0, template: "<section>\n <div class=\"header d-flex justify-content-between align-items-center\">\n <div class=\"heading\">Upload Image</div>\n <mat-icon (click)=\"_dialogRef.close()\" class=\"d-flex align-items-center justify-content-center f-18 cp\">close</mat-icon>\n </div>\n <div class=\"tabs d-flex align-items-center justify-content-between\">\n <div *ngFor=\"let tab of tabs\" [ngClass]=\"{'selectedTab': activeTab === tab}\" (click)=\"activeTab = tab\">{{tab}}</div>\n </div>\n\n <ng-container *ngIf=\"activeTab === 'Unsplash'\">\n <ng-container *ngTemplateOutlet=\"unsplashImagesTemplate\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"activeTab === 'Upload'\">\n <ng-container *ngTemplateOutlet=\"uploadImageTemplate\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"activeTab === 'Library'\">\n <ng-container *ngTemplateOutlet=\"imageLibraryTemplate\"></ng-container>\n </ng-container>\n\n <div class=\"uploadButton d-flex\" *ngIf=\"this.selectedImage.size > 0\">\n <button (click)=\"uploadImage()\" [disabled]=\"buttonLoader\">\n <span *ngIf=\"buttonLoader\" ><i class=\"fas fa-circle-notch fa-spin\"></i> Loading</span>\n <span *ngIf=\"!buttonLoader\" >Upload Image</span></button>\n </div>\n</section>\n\n<ng-template #unsplashImagesTemplate>\n\n <div class=\"input-container d-flex align-items-center\">\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/314661c1741844234442Vector%20%281%29.png\"\n alt=\"search-bar-icon\">\n <input type=\"text\" placeholder=\"Search images\" [formControl]=\"searchControl\">\n </div>\n <cdk-virtual-scroll-viewport [itemSize]=\"imageSize\" [minBufferPx]=\"800\" [maxBufferPx]=\"1600\"\n class=\"scroll-container\">\n <div class=\"row image-container\">\n <div class=\"col-md-4 col-6\" *cdkVirtualFor=\"let image of unsplashImages\">\n <img [lazyLoad]=\"image.urls.thumb\" [errorImage]=\"'assets/error.jpg'\" (click)=\"selectUnsplashImage(image)\"\n [ngClass]=\"{'selectedImage': selectedImage.has(image.id)}\" alt=\"Image\" class=\"cp\" />\n </div>\n </div>\n </cdk-virtual-scroll-viewport>\n\n <p *ngIf=\"isLoading\">Loading more results...</p>\n\n</ng-template>\n\n<ng-template #uploadImageTemplate>\n <div>\n <div class=\"image-upload-container\">\n <div class=\"upload-img-container d-flex align-items-center justify-content-center\">\n <img lazy src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/547500c1744698830343upload-one%20%281%29.png\" alt=\"upload-image\" class=\"upload-img\">\n </div>\n <div class=\"text-container text-center\">\n <div class=\"top-text\">Choose a file or drag and drop it here</div>\n <div class=\"middle-text\">JPEG, PNG formats up to 50MB</div>\n <div class=\"upload-btn d-flex align-items-center justify-content-center\">\n <div class=\"uploads cp\" (click)=\"fileInput.click()\">\n Upload\n </div>\n </div>\n </div>\n </div>\n\n <input type=\"file\" style=\"display: none\" (change)=\"uploadImageFromSystem($event)\" [multiple]=\"multiple\"\n accept=\"image/png, image/jpeg, image/jpg, image/gif\" #fileInput />\n\n <div class=\"row image-container mt-3 h-30-overflow\">\n <ng-container *ngFor=\"let image of selectedImage | keyvalue\">\n <div class=\"col-md-4 systemImage\" *ngIf=\"image.value.file\">\n <img [src]=\"image.value.assets[0].url\" alt=\"Image\" />\n <mat-icon (click)=\"deleteSystemImage(image.key)\">delete</mat-icon>\n </div>\n </ng-container>\n </div>\n\n </div>\n</ng-template>\n\n<ng-template #imageLibraryTemplate>\n <div class=\"row image-container mt-3 h-75-overflow\">\n <ng-container *ngIf=\"imageLibrary.length > 0; else emptyScreen\">\n <ng-container *ngFor=\"let image of imageLibrary\">\n <div class=\"col-md-4 col-6\">\n <img [src]=\"image.assets[0].url\" alt=\"Image\" (click)=\"selectFromImageLibrary(image)\" [ngClass]=\"{'selectedImage': selectedImage.has(image.uniqueId)}\"/>\n </div>\n </ng-container>\n </ng-container>\n </div>\n <ng-template #emptyScreen>\n <div class=\"empty-container d-flex justify-content-center align-items-center w-100 flex-column\">\n <div class=\"empty-img-container d-flex justify-content-center align-items-center\">\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/935737c1743411798188image%20%287%29.png\" alt=\"\">\n </div>\n <div class=\"empty-main-text\">\n Uh-oh!\n </div>\n <div class=\"sub-text-1\">\n No images here\n </div>\n <div class=\"sub-text-2\">\n I looked left, right\u2026 even turned around! Still nothing\n </div>\n </div>\n </ng-template>\n</ng-template>\n", styles: ["*{font-family:var(--primary-font-family)}mat-icon{font-family:Material Icons!important}section{height:100%;position:relative}img{width:100%;height:200px}.scroll-container{height:calc(66vh + -0px);width:100%;overflow-y:scroll}.selectedImage{position:relative;border-radius:10px;overflow:hidden;border:3px solid hsl(227,52%,36%)}.uploadButton{position:absolute;bottom:0;padding:10px;background:#fff;width:100%;justify-content:end;box-shadow:0 0 4px #00000040}.uploadButton button{background:var(--primary-bg-color);color:#fff;font-weight:600;border:unset;font-size:15px!important;padding:8px;border-radius:8px;width:15%!important}.systemImage{position:relative}.systemImage mat-icon{display:none}.systemImage:hover mat-icon{display:inline;position:absolute;right:15px;top:5px;color:red;cursor:pointer}.f-18{font-size:18px}.header{padding:10px;box-shadow:0 0 4px #00000040}.header .heading{font-size:15px;font-weight:600;line-height:24px}.header mat-icon{color:#2d264b}.tabs{padding:20px 40px}.tabs div{width:22%;cursor:pointer;text-align:center;padding:8px}.selectedTab{background:var(--primary-bg-color);background-clip:text;-webkit-text-fill-color:transparent;font-weight:500;color:#fff;box-shadow:0 0 4px #00000040;border-radius:10px;font-weight:600;position:relative}.selectedTab:before{content:\"\";position:absolute;inset:0;padding:1px;border-radius:10px;background:var(--primary-bg-color);mask:linear-gradient(white 0 0) content-box,linear-gradient(white 0 0);mask-composite:xor;mask-composite:exclude}.input-container{padding:6px 10px;gap:10px;margin:0 40px 20px;box-shadow:0 0 4px #00000040;border-radius:13px}.input-container input{width:90%;border:unset;appearance:unset;outline:unset}.input-container img{width:20px;height:20px}.image-container{margin:0 40px 20px}.image-container div{margin-bottom:20px}.image-container div img{border-radius:13px}.image-upload-container{margin:0 40px;border-radius:17px;padding:15px;border:3px dashed rgba(44,44,44,.6)}.upload-img{width:12%;height:10%}.cp{cursor:pointer}.middle-text{font-size:15px;color:#686868}.top-text{background:var(--primary-bg-color);background-clip:text;-webkit-text-fill-color:transparent;font-size:17px;font-weight:600}.uploads{width:20%;padding:8px;background:var(--primary-bg-color);background-clip:text;-webkit-text-fill-color:transparent;font-size:17px;font-weight:600;position:relative;margin-top:15px}.uploads:before{content:\"\";position:absolute;inset:0;padding:1px;border-radius:10px;background:var(--primary-bg-color);mask:linear-gradient(white 0 0) content-box,linear-gradient(white 0 0);mask-composite:xor;mask-composite:exclude}.h-30-overflow{height:calc(30vh + -0px);overflow-y:scroll}.h-75-overflow{height:calc(75vh + -0px);overflow-y:scroll}.empty-main-text{font-weight:900;font-size:42px;background:var(--primary-bg-color);background-clip:text;-webkit-text-fill-color:transparent}.sub-text-1{font-size:19px;font-weight:600;color:#101010e5}.sub-text-2{font-size:16px;font-weight:600;color:#101010e5}@media screen and (max-width : 475px){.tabs div{width:30%!important}.uploadButton button{width:35%!important}.uploads{width:30%!important}.sub-text-2{text-align:center!important}img{height:150px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i5.KeyValuePipe, name: "keyvalue" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "ngmodule", type: LazyLoadImageModule }, { kind: "directive", type: i7.LazyLoadImageDirective, selector: "[lazyLoad]", inputs: ["lazyLoad", "defaultImage", "errorImage", "scrollTarget", "customObservable", "offset", "useSrcset", "decode", "debug"], outputs: ["onStateChange"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i8.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i8.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
189
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: MediaSelectorComponent, deps: [{ token: i1.ImageUplaodService }, { token: i2.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i3.MatSnackBar }, { token: i4.ElementServiceService }], target: i0.ɵɵFactoryTarget.Component }); }
|
190
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: MediaSelectorComponent, isStandalone: true, selector: "simpo-media-selector", viewQueries: [{ propertyName: "viewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], ngImport: i0, template: "<section>\r\n <div class=\"header d-flex justify-content-between align-items-center\">\r\n <div class=\"heading\">Upload Image</div>\r\n <mat-icon (click)=\"_dialogRef.close()\" class=\"d-flex align-items-center justify-content-center f-18 cp\">close</mat-icon>\r\n </div>\r\n <div class=\"tabs d-flex align-items-center justify-content-between\">\r\n <div *ngFor=\"let tab of tabs\" [ngClass]=\"{'selectedTab': activeTab === tab}\" (click)=\"activeTab = tab\">{{tab}}</div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"activeTab === 'Unsplash'\">\r\n <ng-container *ngTemplateOutlet=\"unsplashImagesTemplate\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"activeTab === 'Upload'\">\r\n <ng-container *ngTemplateOutlet=\"uploadImageTemplate\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"activeTab === 'Library'\">\r\n <ng-container *ngTemplateOutlet=\"imageLibraryTemplate\"></ng-container>\r\n </ng-container>\r\n\r\n <div class=\"uploadButton d-flex\" *ngIf=\"this.selectedImage.size > 0\">\r\n <button (click)=\"uploadImage()\" [disabled]=\"buttonLoader\">\r\n <span *ngIf=\"buttonLoader\" ><i class=\"fas fa-circle-notch fa-spin\"></i> Loading</span>\r\n <span *ngIf=\"!buttonLoader\" >Upload Image</span></button>\r\n </div>\r\n</section>\r\n\r\n<ng-template #unsplashImagesTemplate>\r\n\r\n <div class=\"input-container d-flex align-items-center\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/314661c1741844234442Vector%20%281%29.png\"\r\n alt=\"search-bar-icon\">\r\n <input type=\"text\" placeholder=\"Search images\" [formControl]=\"searchControl\">\r\n </div>\r\n <cdk-virtual-scroll-viewport [itemSize]=\"imageSize\" [minBufferPx]=\"800\" [maxBufferPx]=\"1600\"\r\n class=\"scroll-container\">\r\n <div class=\"row image-container\">\r\n <div class=\"col-md-4 col-6\" *cdkVirtualFor=\"let image of unsplashImages\">\r\n <img [lazyLoad]=\"image.urls.thumb\" [errorImage]=\"'assets/error.jpg'\" (click)=\"selectUnsplashImage(image)\"\r\n [ngClass]=\"{'selectedImage': selectedImage.has(image.id)}\" alt=\"Image\" class=\"cp\" />\r\n </div>\r\n </div>\r\n </cdk-virtual-scroll-viewport>\r\n\r\n <p *ngIf=\"isLoading\">Loading more results...</p>\r\n\r\n</ng-template>\r\n\r\n<ng-template #uploadImageTemplate>\r\n <div>\r\n <div class=\"image-upload-container\">\r\n <div class=\"upload-img-container d-flex align-items-center justify-content-center\">\r\n <img lazy src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/547500c1744698830343upload-one%20%281%29.png\" alt=\"upload-image\" class=\"upload-img\">\r\n </div>\r\n <div class=\"text-container text-center\">\r\n <div class=\"top-text\">Choose a file or drag and drop it here</div>\r\n <div class=\"middle-text\">JPEG, PNG formats up to 50MB</div>\r\n <div class=\"upload-btn d-flex align-items-center justify-content-center\">\r\n <div class=\"uploads cp\" (click)=\"fileInput.click()\">\r\n Upload\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <input type=\"file\" style=\"display: none\" (change)=\"uploadImageFromSystem($event)\" [multiple]=\"multiple\"\r\n accept=\"image/png, image/jpeg, image/jpg, image/gif\" #fileInput />\r\n\r\n <div class=\"row image-container mt-3 h-30-overflow\">\r\n <ng-container *ngFor=\"let image of selectedImage | keyvalue\">\r\n <div class=\"col-md-4 systemImage\" *ngIf=\"image.value.file\">\r\n <img [src]=\"image.value.assets[0].url\" alt=\"Image\" />\r\n <mat-icon (click)=\"deleteSystemImage(image.key)\">delete</mat-icon>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #imageLibraryTemplate>\r\n <div class=\"row image-container mt-3 h-75-overflow\">\r\n <ng-container *ngIf=\"imageLibrary.length > 0; else emptyScreen\">\r\n <ng-container *ngFor=\"let image of imageLibrary\">\r\n <div class=\"col-md-4 col-6\">\r\n <img [src]=\"image.assets[0].url\" alt=\"Image\" (click)=\"selectFromImageLibrary(image)\" [ngClass]=\"{'selectedImage': selectedImage.has(image.uniqueId)}\"/>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n <ng-template #emptyScreen>\r\n <div class=\"empty-container d-flex justify-content-center align-items-center w-100 flex-column\">\r\n <div class=\"empty-img-container d-flex justify-content-center align-items-center\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/935737c1743411798188image%20%287%29.png\" alt=\"\">\r\n </div>\r\n <div class=\"empty-main-text\">\r\n Uh-oh!\r\n </div>\r\n <div class=\"sub-text-1\">\r\n No images here\r\n </div>\r\n <div class=\"sub-text-2\">\r\n I looked left, right\u2026 even turned around! Still nothing\r\n </div>\r\n </div>\r\n </ng-template>\r\n</ng-template>\r\n", styles: ["*{font-family:var(--primary-font-family)}mat-icon{font-family:Material Icons!important}section{height:100%;position:relative}img{width:100%;height:200px}.scroll-container{height:calc(66vh + -0px);width:100%;overflow-y:scroll}.selectedImage{position:relative;border-radius:10px;overflow:hidden;border:3px solid hsl(227,52%,36%)}.uploadButton{position:absolute;bottom:0;padding:10px;background:#fff;width:100%;justify-content:end;box-shadow:0 0 4px #00000040}.uploadButton button{background:var(--primary-bg-color);color:#fff;font-weight:600;border:unset;font-size:15px!important;padding:8px;border-radius:8px;width:15%!important}.systemImage{position:relative}.systemImage mat-icon{display:none}.systemImage:hover mat-icon{display:inline;position:absolute;right:15px;top:5px;color:red;cursor:pointer}.f-18{font-size:18px}.header{padding:10px;box-shadow:0 0 4px #00000040}.header .heading{font-size:15px;font-weight:600;line-height:24px}.header mat-icon{color:#2d264b}.tabs{padding:20px 40px}.tabs div{width:22%;cursor:pointer;text-align:center;padding:8px}.selectedTab{background:var(--primary-bg-color);background-clip:text;-webkit-text-fill-color:transparent;font-weight:500;color:#fff;box-shadow:0 0 4px #00000040;border-radius:10px;font-weight:600;position:relative}.selectedTab:before{content:\"\";position:absolute;inset:0;padding:1px;border-radius:10px;background:var(--primary-bg-color);mask:linear-gradient(white 0 0) content-box,linear-gradient(white 0 0);mask-composite:xor;mask-composite:exclude}.input-container{padding:6px 10px;gap:10px;margin:0 40px 20px;box-shadow:0 0 4px #00000040;border-radius:13px}.input-container input{width:90%;border:unset;appearance:unset;outline:unset}.input-container img{width:20px;height:20px}.image-container{margin:0 40px 20px}.image-container div{margin-bottom:20px}.image-container div img{border-radius:13px}.image-upload-container{margin:0 40px;border-radius:17px;padding:15px;border:3px dashed rgba(44,44,44,.6)}.upload-img{width:12%;height:10%}.cp{cursor:pointer}.middle-text{font-size:15px;color:#686868}.top-text{background:var(--primary-bg-color);background-clip:text;-webkit-text-fill-color:transparent;font-size:17px;font-weight:600}.uploads{width:20%;padding:8px;background:var(--primary-bg-color);background-clip:text;-webkit-text-fill-color:transparent;font-size:17px;font-weight:600;position:relative;margin-top:15px}.uploads:before{content:\"\";position:absolute;inset:0;padding:1px;border-radius:10px;background:var(--primary-bg-color);mask:linear-gradient(white 0 0) content-box,linear-gradient(white 0 0);mask-composite:xor;mask-composite:exclude}.h-30-overflow{height:calc(30vh + -0px);overflow-y:scroll}.h-75-overflow{height:calc(75vh + -0px);overflow-y:scroll}.empty-main-text{font-weight:900;font-size:42px;background:var(--primary-bg-color);background-clip:text;-webkit-text-fill-color:transparent}.sub-text-1{font-size:19px;font-weight:600;color:#101010e5}.sub-text-2{font-size:16px;font-weight:600;color:#101010e5}@media screen and (max-width : 475px){.tabs div{width:30%!important}.uploadButton button{width:35%!important}.uploads{width:30%!important}.sub-text-2{text-align:center!important}img{height:150px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i5.KeyValuePipe, name: "keyvalue" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "ngmodule", type: LazyLoadImageModule }, { kind: "directive", type: i7.LazyLoadImageDirective, selector: "[lazyLoad]", inputs: ["lazyLoad", "defaultImage", "errorImage", "scrollTarget", "customObservable", "offset", "useSrcset", "decode", "debug"], outputs: ["onStateChange"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i8.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i8.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
191
191
|
}
|
192
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
192
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: MediaSelectorComponent, decorators: [{
|
193
193
|
type: Component,
|
194
|
-
args: [{ selector: 'simpo-media-selector', standalone: true, imports: [CommonModule, FormsModule, ReactiveFormsModule, CdkVirtualScrollViewport, LazyLoadImageModule, ScrollingModule, MatIconModule], template: "<section>\n <div class=\"header d-flex justify-content-between align-items-center\">\n <div class=\"heading\">Upload Image</div>\n <mat-icon (click)=\"_dialogRef.close()\" class=\"d-flex align-items-center justify-content-center f-18 cp\">close</mat-icon>\n </div>\n <div class=\"tabs d-flex align-items-center justify-content-between\">\n <div *ngFor=\"let tab of tabs\" [ngClass]=\"{'selectedTab': activeTab === tab}\" (click)=\"activeTab = tab\">{{tab}}</div>\n </div>\n\n <ng-container *ngIf=\"activeTab === 'Unsplash'\">\n <ng-container *ngTemplateOutlet=\"unsplashImagesTemplate\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"activeTab === 'Upload'\">\n <ng-container *ngTemplateOutlet=\"uploadImageTemplate\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"activeTab === 'Library'\">\n <ng-container *ngTemplateOutlet=\"imageLibraryTemplate\"></ng-container>\n </ng-container>\n\n <div class=\"uploadButton d-flex\" *ngIf=\"this.selectedImage.size > 0\">\n <button (click)=\"uploadImage()\" [disabled]=\"buttonLoader\">\n <span *ngIf=\"buttonLoader\" ><i class=\"fas fa-circle-notch fa-spin\"></i> Loading</span>\n <span *ngIf=\"!buttonLoader\" >Upload Image</span></button>\n </div>\n</section>\n\n<ng-template #unsplashImagesTemplate>\n\n <div class=\"input-container d-flex align-items-center\">\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/314661c1741844234442Vector%20%281%29.png\"\n alt=\"search-bar-icon\">\n <input type=\"text\" placeholder=\"Search images\" [formControl]=\"searchControl\">\n </div>\n <cdk-virtual-scroll-viewport [itemSize]=\"imageSize\" [minBufferPx]=\"800\" [maxBufferPx]=\"1600\"\n class=\"scroll-container\">\n <div class=\"row image-container\">\n <div class=\"col-md-4 col-6\" *cdkVirtualFor=\"let image of unsplashImages\">\n <img [lazyLoad]=\"image.urls.thumb\" [errorImage]=\"'assets/error.jpg'\" (click)=\"selectUnsplashImage(image)\"\n [ngClass]=\"{'selectedImage': selectedImage.has(image.id)}\" alt=\"Image\" class=\"cp\" />\n </div>\n </div>\n </cdk-virtual-scroll-viewport>\n\n <p *ngIf=\"isLoading\">Loading more results...</p>\n\n</ng-template>\n\n<ng-template #uploadImageTemplate>\n <div>\n <div class=\"image-upload-container\">\n <div class=\"upload-img-container d-flex align-items-center justify-content-center\">\n <img lazy src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/547500c1744698830343upload-one%20%281%29.png\" alt=\"upload-image\" class=\"upload-img\">\n </div>\n <div class=\"text-container text-center\">\n <div class=\"top-text\">Choose a file or drag and drop it here</div>\n <div class=\"middle-text\">JPEG, PNG formats up to 50MB</div>\n <div class=\"upload-btn d-flex align-items-center justify-content-center\">\n <div class=\"uploads cp\" (click)=\"fileInput.click()\">\n Upload\n </div>\n </div>\n </div>\n </div>\n\n <input type=\"file\" style=\"display: none\" (change)=\"uploadImageFromSystem($event)\" [multiple]=\"multiple\"\n accept=\"image/png, image/jpeg, image/jpg, image/gif\" #fileInput />\n\n <div class=\"row image-container mt-3 h-30-overflow\">\n <ng-container *ngFor=\"let image of selectedImage | keyvalue\">\n <div class=\"col-md-4 systemImage\" *ngIf=\"image.value.file\">\n <img [src]=\"image.value.assets[0].url\" alt=\"Image\" />\n <mat-icon (click)=\"deleteSystemImage(image.key)\">delete</mat-icon>\n </div>\n </ng-container>\n </div>\n\n </div>\n</ng-template>\n\n<ng-template #imageLibraryTemplate>\n <div class=\"row image-container mt-3 h-75-overflow\">\n <ng-container *ngIf=\"imageLibrary.length > 0; else emptyScreen\">\n <ng-container *ngFor=\"let image of imageLibrary\">\n <div class=\"col-md-4 col-6\">\n <img [src]=\"image.assets[0].url\" alt=\"Image\" (click)=\"selectFromImageLibrary(image)\" [ngClass]=\"{'selectedImage': selectedImage.has(image.uniqueId)}\"/>\n </div>\n </ng-container>\n </ng-container>\n </div>\n <ng-template #emptyScreen>\n <div class=\"empty-container d-flex justify-content-center align-items-center w-100 flex-column\">\n <div class=\"empty-img-container d-flex justify-content-center align-items-center\">\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/935737c1743411798188image%20%287%29.png\" alt=\"\">\n </div>\n <div class=\"empty-main-text\">\n Uh-oh!\n </div>\n <div class=\"sub-text-1\">\n No images here\n </div>\n <div class=\"sub-text-2\">\n I looked left, right\u2026 even turned around! Still nothing\n </div>\n </div>\n </ng-template>\n</ng-template>\n", styles: ["*{font-family:var(--primary-font-family)}mat-icon{font-family:Material Icons!important}section{height:100%;position:relative}img{width:100%;height:200px}.scroll-container{height:calc(66vh + -0px);width:100%;overflow-y:scroll}.selectedImage{position:relative;border-radius:10px;overflow:hidden;border:3px solid hsl(227,52%,36%)}.uploadButton{position:absolute;bottom:0;padding:10px;background:#fff;width:100%;justify-content:end;box-shadow:0 0 4px #00000040}.uploadButton button{background:var(--primary-bg-color);color:#fff;font-weight:600;border:unset;font-size:15px!important;padding:8px;border-radius:8px;width:15%!important}.systemImage{position:relative}.systemImage mat-icon{display:none}.systemImage:hover mat-icon{display:inline;position:absolute;right:15px;top:5px;color:red;cursor:pointer}.f-18{font-size:18px}.header{padding:10px;box-shadow:0 0 4px #00000040}.header .heading{font-size:15px;font-weight:600;line-height:24px}.header mat-icon{color:#2d264b}.tabs{padding:20px 40px}.tabs div{width:22%;cursor:pointer;text-align:center;padding:8px}.selectedTab{background:var(--primary-bg-color);background-clip:text;-webkit-text-fill-color:transparent;font-weight:500;color:#fff;box-shadow:0 0 4px #00000040;border-radius:10px;font-weight:600;position:relative}.selectedTab:before{content:\"\";position:absolute;inset:0;padding:1px;border-radius:10px;background:var(--primary-bg-color);mask:linear-gradient(white 0 0) content-box,linear-gradient(white 0 0);mask-composite:xor;mask-composite:exclude}.input-container{padding:6px 10px;gap:10px;margin:0 40px 20px;box-shadow:0 0 4px #00000040;border-radius:13px}.input-container input{width:90%;border:unset;appearance:unset;outline:unset}.input-container img{width:20px;height:20px}.image-container{margin:0 40px 20px}.image-container div{margin-bottom:20px}.image-container div img{border-radius:13px}.image-upload-container{margin:0 40px;border-radius:17px;padding:15px;border:3px dashed rgba(44,44,44,.6)}.upload-img{width:12%;height:10%}.cp{cursor:pointer}.middle-text{font-size:15px;color:#686868}.top-text{background:var(--primary-bg-color);background-clip:text;-webkit-text-fill-color:transparent;font-size:17px;font-weight:600}.uploads{width:20%;padding:8px;background:var(--primary-bg-color);background-clip:text;-webkit-text-fill-color:transparent;font-size:17px;font-weight:600;position:relative;margin-top:15px}.uploads:before{content:\"\";position:absolute;inset:0;padding:1px;border-radius:10px;background:var(--primary-bg-color);mask:linear-gradient(white 0 0) content-box,linear-gradient(white 0 0);mask-composite:xor;mask-composite:exclude}.h-30-overflow{height:calc(30vh + -0px);overflow-y:scroll}.h-75-overflow{height:calc(75vh + -0px);overflow-y:scroll}.empty-main-text{font-weight:900;font-size:42px;background:var(--primary-bg-color);background-clip:text;-webkit-text-fill-color:transparent}.sub-text-1{font-size:19px;font-weight:600;color:#101010e5}.sub-text-2{font-size:16px;font-weight:600;color:#101010e5}@media screen and (max-width : 475px){.tabs div{width:30%!important}.uploadButton button{width:35%!important}.uploads{width:30%!important}.sub-text-2{text-align:center!important}img{height:150px}}\n"] }]
|
194
|
+
args: [{ selector: 'simpo-media-selector', standalone: true, imports: [CommonModule, FormsModule, ReactiveFormsModule, CdkVirtualScrollViewport, LazyLoadImageModule, ScrollingModule, MatIconModule], template: "<section>\r\n <div class=\"header d-flex justify-content-between align-items-center\">\r\n <div class=\"heading\">Upload Image</div>\r\n <mat-icon (click)=\"_dialogRef.close()\" class=\"d-flex align-items-center justify-content-center f-18 cp\">close</mat-icon>\r\n </div>\r\n <div class=\"tabs d-flex align-items-center justify-content-between\">\r\n <div *ngFor=\"let tab of tabs\" [ngClass]=\"{'selectedTab': activeTab === tab}\" (click)=\"activeTab = tab\">{{tab}}</div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"activeTab === 'Unsplash'\">\r\n <ng-container *ngTemplateOutlet=\"unsplashImagesTemplate\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"activeTab === 'Upload'\">\r\n <ng-container *ngTemplateOutlet=\"uploadImageTemplate\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"activeTab === 'Library'\">\r\n <ng-container *ngTemplateOutlet=\"imageLibraryTemplate\"></ng-container>\r\n </ng-container>\r\n\r\n <div class=\"uploadButton d-flex\" *ngIf=\"this.selectedImage.size > 0\">\r\n <button (click)=\"uploadImage()\" [disabled]=\"buttonLoader\">\r\n <span *ngIf=\"buttonLoader\" ><i class=\"fas fa-circle-notch fa-spin\"></i> Loading</span>\r\n <span *ngIf=\"!buttonLoader\" >Upload Image</span></button>\r\n </div>\r\n</section>\r\n\r\n<ng-template #unsplashImagesTemplate>\r\n\r\n <div class=\"input-container d-flex align-items-center\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/314661c1741844234442Vector%20%281%29.png\"\r\n alt=\"search-bar-icon\">\r\n <input type=\"text\" placeholder=\"Search images\" [formControl]=\"searchControl\">\r\n </div>\r\n <cdk-virtual-scroll-viewport [itemSize]=\"imageSize\" [minBufferPx]=\"800\" [maxBufferPx]=\"1600\"\r\n class=\"scroll-container\">\r\n <div class=\"row image-container\">\r\n <div class=\"col-md-4 col-6\" *cdkVirtualFor=\"let image of unsplashImages\">\r\n <img [lazyLoad]=\"image.urls.thumb\" [errorImage]=\"'assets/error.jpg'\" (click)=\"selectUnsplashImage(image)\"\r\n [ngClass]=\"{'selectedImage': selectedImage.has(image.id)}\" alt=\"Image\" class=\"cp\" />\r\n </div>\r\n </div>\r\n </cdk-virtual-scroll-viewport>\r\n\r\n <p *ngIf=\"isLoading\">Loading more results...</p>\r\n\r\n</ng-template>\r\n\r\n<ng-template #uploadImageTemplate>\r\n <div>\r\n <div class=\"image-upload-container\">\r\n <div class=\"upload-img-container d-flex align-items-center justify-content-center\">\r\n <img lazy src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/547500c1744698830343upload-one%20%281%29.png\" alt=\"upload-image\" class=\"upload-img\">\r\n </div>\r\n <div class=\"text-container text-center\">\r\n <div class=\"top-text\">Choose a file or drag and drop it here</div>\r\n <div class=\"middle-text\">JPEG, PNG formats up to 50MB</div>\r\n <div class=\"upload-btn d-flex align-items-center justify-content-center\">\r\n <div class=\"uploads cp\" (click)=\"fileInput.click()\">\r\n Upload\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <input type=\"file\" style=\"display: none\" (change)=\"uploadImageFromSystem($event)\" [multiple]=\"multiple\"\r\n accept=\"image/png, image/jpeg, image/jpg, image/gif\" #fileInput />\r\n\r\n <div class=\"row image-container mt-3 h-30-overflow\">\r\n <ng-container *ngFor=\"let image of selectedImage | keyvalue\">\r\n <div class=\"col-md-4 systemImage\" *ngIf=\"image.value.file\">\r\n <img [src]=\"image.value.assets[0].url\" alt=\"Image\" />\r\n <mat-icon (click)=\"deleteSystemImage(image.key)\">delete</mat-icon>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #imageLibraryTemplate>\r\n <div class=\"row image-container mt-3 h-75-overflow\">\r\n <ng-container *ngIf=\"imageLibrary.length > 0; else emptyScreen\">\r\n <ng-container *ngFor=\"let image of imageLibrary\">\r\n <div class=\"col-md-4 col-6\">\r\n <img [src]=\"image.assets[0].url\" alt=\"Image\" (click)=\"selectFromImageLibrary(image)\" [ngClass]=\"{'selectedImage': selectedImage.has(image.uniqueId)}\"/>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n <ng-template #emptyScreen>\r\n <div class=\"empty-container d-flex justify-content-center align-items-center w-100 flex-column\">\r\n <div class=\"empty-img-container d-flex justify-content-center align-items-center\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/935737c1743411798188image%20%287%29.png\" alt=\"\">\r\n </div>\r\n <div class=\"empty-main-text\">\r\n Uh-oh!\r\n </div>\r\n <div class=\"sub-text-1\">\r\n No images here\r\n </div>\r\n <div class=\"sub-text-2\">\r\n I looked left, right\u2026 even turned around! Still nothing\r\n </div>\r\n </div>\r\n </ng-template>\r\n</ng-template>\r\n", styles: ["*{font-family:var(--primary-font-family)}mat-icon{font-family:Material Icons!important}section{height:100%;position:relative}img{width:100%;height:200px}.scroll-container{height:calc(66vh + -0px);width:100%;overflow-y:scroll}.selectedImage{position:relative;border-radius:10px;overflow:hidden;border:3px solid hsl(227,52%,36%)}.uploadButton{position:absolute;bottom:0;padding:10px;background:#fff;width:100%;justify-content:end;box-shadow:0 0 4px #00000040}.uploadButton button{background:var(--primary-bg-color);color:#fff;font-weight:600;border:unset;font-size:15px!important;padding:8px;border-radius:8px;width:15%!important}.systemImage{position:relative}.systemImage mat-icon{display:none}.systemImage:hover mat-icon{display:inline;position:absolute;right:15px;top:5px;color:red;cursor:pointer}.f-18{font-size:18px}.header{padding:10px;box-shadow:0 0 4px #00000040}.header .heading{font-size:15px;font-weight:600;line-height:24px}.header mat-icon{color:#2d264b}.tabs{padding:20px 40px}.tabs div{width:22%;cursor:pointer;text-align:center;padding:8px}.selectedTab{background:var(--primary-bg-color);background-clip:text;-webkit-text-fill-color:transparent;font-weight:500;color:#fff;box-shadow:0 0 4px #00000040;border-radius:10px;font-weight:600;position:relative}.selectedTab:before{content:\"\";position:absolute;inset:0;padding:1px;border-radius:10px;background:var(--primary-bg-color);mask:linear-gradient(white 0 0) content-box,linear-gradient(white 0 0);mask-composite:xor;mask-composite:exclude}.input-container{padding:6px 10px;gap:10px;margin:0 40px 20px;box-shadow:0 0 4px #00000040;border-radius:13px}.input-container input{width:90%;border:unset;appearance:unset;outline:unset}.input-container img{width:20px;height:20px}.image-container{margin:0 40px 20px}.image-container div{margin-bottom:20px}.image-container div img{border-radius:13px}.image-upload-container{margin:0 40px;border-radius:17px;padding:15px;border:3px dashed rgba(44,44,44,.6)}.upload-img{width:12%;height:10%}.cp{cursor:pointer}.middle-text{font-size:15px;color:#686868}.top-text{background:var(--primary-bg-color);background-clip:text;-webkit-text-fill-color:transparent;font-size:17px;font-weight:600}.uploads{width:20%;padding:8px;background:var(--primary-bg-color);background-clip:text;-webkit-text-fill-color:transparent;font-size:17px;font-weight:600;position:relative;margin-top:15px}.uploads:before{content:\"\";position:absolute;inset:0;padding:1px;border-radius:10px;background:var(--primary-bg-color);mask:linear-gradient(white 0 0) content-box,linear-gradient(white 0 0);mask-composite:xor;mask-composite:exclude}.h-30-overflow{height:calc(30vh + -0px);overflow-y:scroll}.h-75-overflow{height:calc(75vh + -0px);overflow-y:scroll}.empty-main-text{font-weight:900;font-size:42px;background:var(--primary-bg-color);background-clip:text;-webkit-text-fill-color:transparent}.sub-text-1{font-size:19px;font-weight:600;color:#101010e5}.sub-text-2{font-size:16px;font-weight:600;color:#101010e5}@media screen and (max-width : 475px){.tabs div{width:30%!important}.uploadButton button{width:35%!important}.uploads{width:30%!important}.sub-text-2{text-align:center!important}img{height:150px}}\n"] }]
|
195
195
|
}], ctorParameters: () => [{ type: i1.ImageUplaodService }, { type: i2.MatDialogRef }, { type: undefined, decorators: [{
|
196
196
|
type: Inject,
|
197
197
|
args: [MAT_DIALOG_DATA]
|
@@ -199,4 +199,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
199
199
|
type: ViewChild,
|
200
200
|
args: [CdkVirtualScrollViewport]
|
201
201
|
}] } });
|
202
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lbGVtZW50cy9tZWRpYS1zZWxlY3Rvci9tZWRpYS1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL21lZGlhLXNlbGVjdG9yL21lZGlhLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBaUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFXdkQsTUFBTSxPQUFPLHNCQUFzQjtJQWVqQyxZQUFvQixrQkFBc0MsRUFDaEQsVUFBZ0QsRUFDdkIsVUFBZSxFQUN4QyxRQUFxQixFQUNyQixhQUFxQztRQUozQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ2hELGVBQVUsR0FBVixVQUFVLENBQXNDO1FBQ3ZCLGVBQVUsR0FB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ZUFBZTttR0FqQmQsc0JBQXNCLDBIQUN0Qix3QkFBd0IsZ0RDckJyQyxxd0pBNEdBLDBxR0Q1RlksWUFBWSwrakJBQUUsV0FBVyxzWkFBRSxtQkFBbUIsa05BQUUsd0JBQXdCLGdKQUFFLG1CQUFtQiw0UUFBRSxlQUFlLCtZQUFFLGFBQWE7OzRGQUk1SCxzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsd0JBQXdCLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQzs7MEJBcUJySSxNQUFNOzJCQUFDLGVBQWU7dUdBaEJZLFFBQVE7c0JBQTVDLFNBQVM7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBBZnRlclZpZXdJbml0LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCwgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJbWFnZVVwbGFvZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pbWFnZS11cGxvYWQtc2VydmljZS5zZXJ2aWNlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMYXp5TG9hZEltYWdlTW9kdWxlIH0gZnJvbSAnbmctbGF6eWxvYWQtaW1hZ2UnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRWxlbWVudFNlcnZpY2VTZXJ2aWNlIH0gZnJvbSAnLi4vZWRpdG9yLXNlcnZpY2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpbXBvLW1lZGlhLXNlbGVjdG9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCwgTGF6eUxvYWRJbWFnZU1vZHVsZSwgU2Nyb2xsaW5nTW9kdWxlLCBNYXRJY29uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21lZGlhLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL21lZGlhLXNlbGVjdG9yLmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIE1lZGlhU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQFZpZXdDaGlsZChDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQpIHZpZXdwb3J0ITogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xuXG4gIHRhYnM6IHN0cmluZ1tdID0gWydVbnNwbGFzaCcsICdVcGxvYWQnLCAnTGlicmFyeSddO1xuICBhY3RpdmVUYWI6IHN0cmluZyA9ICdVbnNwbGFzaCc7XG4gIHNlYXJjaENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuICBwYWdlTm86IG51bWJlciA9IDE7XG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICB1bnNwbGFzaEltYWdlczogYW55W10gPSBbXTtcbiAgaW1hZ2VMaWJyYXJ5OiBhbnlbXSA9IFtdO1xuICBpbWFnZVNpemUgPSA1MDtcbiAgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VsZWN0ZWRJbWFnZTogTWFwPHN0cmluZywgYW55PiA9IG5ldyBNYXA8c3RyaW5nLCBhbnk+O1xuICBidXR0b25Mb2FkZXI6IGJvb2xlYW49IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW1hZ2VVcGxvYWRTZXJ2aWNlOiBJbWFnZVVwbGFvZFNlcnZpY2UsXG4gICAgcHVibGljICBfZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8TWVkaWFTZWxlY3RvckNvbXBvbmVudD4sXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHByaXZhdGUgZGlhbG9nRGF0YTogYW55LFxuICAgIHByaXZhdGUgc25hY2tCYXI6IE1hdFNuYWNrQmFyLFxuICAgIHByaXZhdGUgZWRpdG9yU2VydmljZSA6IEVsZW1lbnRTZXJ2aWNlU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubXVsdGlwbGUgPSB0aGlzLmRpYWxvZ0RhdGE/Lm11bHRpcGxlID8/IHRydWU7XG4gICAgdGhpcy5zZWFyY2hVbnNwbGFzaEltYWdlcygpO1xuICAgIHRoaXMuZ2V0SW1hZ2VMaWJyYXJ5KCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5zZXR1cEluZmluaXRlU2Nyb2xsKCk7XG4gIH1cblxuICBnZXRJbWFnZUxpYnJhcnkoKSB7XG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmdldEltYWdlTGlicmFyeSgpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuaW1hZ2VMaWJyYXJ5ID0gcmVzPy5kYXRhPy5jb250ZW50IHx8IFtdO1xuICAgIH0pXG4gIH1cblxuICAvKiog4pyFIFNlYXJjaCBBUEkgd2l0aCBkZWJvdW5jZSB0byByZWR1Y2UgdW5uZWNlc3NhcnkgY2FsbHMgKi9cbiAgc2VhcmNoVW5zcGxhc2hJbWFnZXMoKSB7XG4gICAgdGhpcy5zZWFyY2hDb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aCgnJyksIC8vIExvYWQgaW1hZ2VzIGluaXRpYWxseVxuICAgICAgICBkZWJvdW5jZVRpbWUoNTAwKSwgLy8gV2FpdCA1MDBtcyBhZnRlciB0eXBpbmcgc3RvcHNcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgLy8gT25seSBjYWxsIEFQSSBpZiB2YWx1ZSBjaGFuZ2VzXG4gICAgICAgIHN3aXRjaE1hcCh2YWx1ZSA9PiB7XG4gICAgICAgICAgdGhpcy5wYWdlTm8gPSAxO1xuICAgICAgICAgIHJldHVybiB0aGlzLmltYWdlVXBsb2FkU2VydmljZS5zZWFyY2hQaG90b3NJblVuc3BsYXNoKHZhbHVlIHx8ICdUZWNobm9sb2d5JywgdGhpcy5wYWdlTm8pO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0czogYW55KSA9PiB7XG4gICAgICAgIHRoaXMudW5zcGxhc2hJbWFnZXMgPSByZXN1bHRzLnJlc3VsdHM7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKiDinIUgSW5maW5pdGUgU2Nyb2xsICovXG4gIHNldHVwSW5maW5pdGVTY3JvbGwoKSB7XG4gICAgdGhpcy52aWV3cG9ydC5lbGVtZW50U2Nyb2xsZWQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSgyMDApLCAvLyDinIUgV2FpdCAyMDBtcyBiZWZvcmUgY2hlY2tpbmdcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSAvLyDinIUgT25seSB0cmlnZ2VyIGlmIHZhbHVlIGNoYW5nZXNcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBjb25zdCBlbmQgPSB0aGlzLnZpZXdwb3J0Lm1lYXN1cmVTY3JvbGxPZmZzZXQoJ2JvdHRvbScpO1xuXG4gICAgICAgIGlmIChlbmQgPCAzMDAgJiYgIXRoaXMuaXNMb2FkaW5nKSB7IC8vIOKchSBUcmlnZ2VyIG9ubHkgd2hlbiBjbG9zZSB0byB0aGUgYm90dG9tXG4gICAgICAgICAgdGhpcy5sb2FkTW9yZUltYWdlcygpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKiDinIUgTG9hZCBNb3JlIEltYWdlcyAqL1xuICBsb2FkTW9yZUltYWdlcygpIHtcbiAgICBpZiAodGhpcy5pc0xvYWRpbmcpIHJldHVybjsgLy8g4pyFIFByZXZlbnQgbXVsdGlwbGUgcmVxdWVzdHNcblxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnBhZ2VObysrO1xuXG4gICAgdGhpcy5pbWFnZVVwbG9hZFNlcnZpY2Uuc2VhcmNoUGhvdG9zSW5VbnNwbGFzaCh0aGlzLnNlYXJjaENvbnRyb2wudmFsdWUgfHwgJ1RlY2hub2xvZ3knLCB0aGlzLnBhZ2VObylcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdHM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnVuc3BsYXNoSW1hZ2VzID0gWy4uLnRoaXMudW5zcGxhc2hJbWFnZXMsIC4uLnJlc3VsdHMucmVzdWx0c107XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICB9LCAoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7IC8vIOKchSBFbnN1cmUgaXQncyByZXNldCBldmVuIG9uIGZhaWx1cmVcbiAgICAgIH0pO1xuICB9XG5cbiAgc2VsZWN0VW5zcGxhc2hJbWFnZShpbWFnZTogYW55KSB7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlKVxuICAgICAgdGhpcy5zZWxlY3RlZEltYWdlID0gbmV3IE1hcDxhbnksIGFueT47XG5cbiAgICBsZXQgdXBsb2FkSW1hZ2U6IGFueSA9IHtcbiAgICAgIGJ1c2luZXNzSWQ6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdidXNpbmVzc0lkJyksXG4gICAgICB1bmlxdWVJZDogaW1hZ2UuaWQsXG4gICAgICBhc3NldHM6IFt7XG4gICAgICAgIHVybDogaW1hZ2UudXJscy5yYXcsXG4gICAgICAgIHdpZHRoOiBpbWFnZS53aWR0aCxcbiAgICAgICAgaGVpZ2h0OiBpbWFnZS5oZWlnaHRcbiAgICAgIH1dLFxuICAgICAgYXV0aG9yOiB7XG4gICAgICAgIGlkOiBpbWFnZS51c2VyLmlkLFxuICAgICAgICB1c2VyTmFtZTogaW1hZ2UudXNlci51c2VybmFtZSxcbiAgICAgICAgbmFtZTogaW1hZ2UudXNlci5uYW1lLFxuICAgICAgICB0d2l0dGVyVXNlck5hbWU6IGltYWdlLnVzZXIudHdpdHRlcl91c2VybmFtZSxcbiAgICAgICAgcG9ydEZvbGlvVXJsOiBpbWFnZS51c2VyLnBvcnRmb2xpb191cmwsXG4gICAgICAgIGluc3RhZ3JhbVVzZXJOYW1lOiBpbWFnZS51c2VyLmluc3RhZ3JhbV91c2VybmFtZSxcbiAgICAgIH0sXG4gICAgICBtZWRpYTogXCJVTlNQTEFTSFwiLFxuICAgIH1cblxuICAgIGlmICh0aGlzLnNlbGVjdGVkSW1hZ2UuaGFzKGltYWdlLmlkKSkge1xuICAgICAgdGhpcy5zZWxlY3RlZEltYWdlLmRlbGV0ZShpbWFnZS5pZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbWFnZS5zZXQoaW1hZ2UuaWQsIHVwbG9hZEltYWdlKTtcbiAgICB9XG4gIH1cblxuICB1cGxvYWRJbWFnZUZyb21TeXN0ZW0oZXZlbnQ6IGFueSkge1xuICAgIGlmICghdGhpcy5tdWx0aXBsZSlcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbWFnZSA9IG5ldyBNYXA8YW55LCBhbnk+O1xuXG4gICAgbGV0IGZpbGVzID0gZXZlbnQudGFyZ2V0LmZpbGVzO1xuICAgIGNvbnN0IG1heGltdW1GaWxlU2l6ZSA9IDQgKiAxMDI0ICogMTAyNDsgLy8gTWF4IGlzIDRtYlxuXG4gICAgZm9yIChsZXQgZmlsZSBvZiBmaWxlcykge1xuICAgICAgaWYgKG1heGltdW1GaWxlU2l6ZSA8IGZpbGUuc2l6ZSkge1xuICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oJ01heGltdW0gZmlsZSBzaXplIGxpbWl0IGlzIDRNQicsICdjbG9zZScsIHsgZHVyYXRpb246IDE1MDAgfSlcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG5cbiAgICAgIGNvbnN0IGltYWdlOiBhbnkgPSB7XG4gICAgICAgIGJ1c2luZXNzSWQ6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdidXNpbmVzc0lkJyksXG4gICAgICAgIHVuaXF1ZUlkOiBmaWxlLm5hbWUgKyAnXycgKyBmaWxlLnNpemUsXG4gICAgICAgIGJsdXJIYXNoOiBudWxsLFxuICAgICAgICBhc3NldHM6IFt7XG4gICAgICAgICAgd2lkdGg6IDAsXG4gICAgICAgICAgaGVpZ2h0OiAwLFxuICAgICAgICAgIGJsdXJoYXNoOiAnJyxcbiAgICAgICAgICB1cmw6ICcnLFxuICAgICAgICB9XSxcbiAgICAgICAgYXV0aG9yOiBudWxsLFxuICAgICAgICBtZWRpYTogJ0RFVklDRScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBmaWxlLm5hbWUsXG4gICAgICAgIGFsdERlc2NyaXB0aW9uOiBmaWxlLm5hbWUsXG4gICAgICAgIGZpbGU6IGZpbGUsXG4gICAgICB9O1xuXG4gICAgICByZWFkZXIub25sb2FkID0gKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgaW1hZ2UuYXNzZXRzWzBdLnVybCA9IHJlc3BvbnNlLnRhcmdldC5yZXN1bHQ7XG4gICAgICB9O1xuICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG5cbiAgICAgIGlmICghdGhpcy5zZWxlY3RlZEltYWdlLmhhcyhpbWFnZS51bmlxdWVJZCkpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEltYWdlLnNldChpbWFnZS51bmlxdWVJZCwgaW1hZ2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGRlbGV0ZVN5c3RlbUltYWdlKGltYWdlSWQ6IHN0cmluZykge1xuICAgIHRoaXMuc2VsZWN0ZWRJbWFnZS5kZWxldGUoaW1hZ2VJZCk7XG4gIH1cblxuICBzZWxlY3RGcm9tSW1hZ2VMaWJyYXJ5KGltYWdlOiBhbnkpIHtcbiAgICBpZiAoIXRoaXMubXVsdGlwbGUpXG4gICAgICB0aGlzLnNlbGVjdGVkSW1hZ2UgPSBuZXcgTWFwPGFueSwgYW55PjtcblxuICAgIGlmICh0aGlzLnNlbGVjdGVkSW1hZ2UuaGFzKGltYWdlLnVuaXF1ZUlkKSkge1xuICAgICAgdGhpcy5zZWxlY3RlZEltYWdlLmRlbGV0ZShpbWFnZS51bmlxdWVJZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbWFnZS5zZXQoaW1hZ2UudW5pcXVlSWQsIGltYWdlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyB1cGxvYWRJbWFnZSgpIHtcbiAgICB0aGlzLmJ1dHRvbkxvYWRlciA9dHJ1ZTtcbiAgICBsZXQgcmVxdWVzdDogYW55W10gPSBbXTtcblxuICAgIGZvcihsZXQgaW1hZ2Ugb2YgdGhpcy5zZWxlY3RlZEltYWdlLnZhbHVlcygpKSB7XG4gICAgICBpZiAoaW1hZ2UuZmlsZSkge1xuICAgICAgICBjb25zdCBmaWxlVXJsOiBhbnkgPVxuICAgICAgICAgIGF3YWl0IHRoaXMuaW1hZ2VVcGxvYWRTZXJ2aWNlLnVwbG9hZEZpbGVJbkFXUyhcbiAgICAgICAgICAgIGltYWdlLmZpbGUsXG4gICAgICAgICAgICAnbGlicmFyeS1tZWRpYSdcbiAgICAgICAgICApO1xuXG4gICAgICAgIGltYWdlLmFzc2V0c1swXS51cmwgPSBmaWxlVXJsO1xuICAgICAgfVxuXG4gICAgICByZXF1ZXN0LnB1c2goaW1hZ2UpO1xuICAgIH1cbiAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc2F2ZUltYWdlc1RvQnVzaW5lc3NMaWJyYXJ5KHtkYXRhOiByZXF1ZXN0fSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy5fZGlhbG9nUmVmLmNsb3NlKHJlcXVlc3QpO1xuICAgICAgICB0aGlzLmJ1dHRvbkxvYWRlcj0gZmFsc2U7XG4gICAgICB9LFxuICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgdGhpcy5idXR0b25Mb2FkZXI9ZmFsc2U7XG4gICAgICB9XG4gICAgfSlcbiAgfVxufVxuIiwiPHNlY3Rpb24+XG4gIDxkaXYgY2xhc3M9XCJoZWFkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nXCI+VXBsb2FkIEltYWdlPC9kaXY+XG4gICAgPG1hdC1pY29uIChjbGljayk9XCJfZGlhbG9nUmVmLmNsb3NlKClcIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBmLTE4IGNwXCI+Y2xvc2U8L21hdC1pY29uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInRhYnMgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzXCIgW25nQ2xhc3NdPVwieydzZWxlY3RlZFRhYic6IGFjdGl2ZVRhYiA9PT0gdGFifVwiIChjbGljayk9XCJhY3RpdmVUYWIgPSB0YWJcIj57e3RhYn19PC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJhY3RpdmVUYWIgPT09ICdVbnNwbGFzaCdcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidW5zcGxhc2hJbWFnZXNUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWN0aXZlVGFiID09PSAnVXBsb2FkJ1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ1cGxvYWRJbWFnZVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJhY3RpdmVUYWIgPT09ICdMaWJyYXJ5J1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbWFnZUxpYnJhcnlUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8ZGl2IGNsYXNzPVwidXBsb2FkQnV0dG9uIGQtZmxleFwiICpuZ0lmPVwidGhpcy5zZWxlY3RlZEltYWdlLnNpemUgPiAwXCI+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwidXBsb2FkSW1hZ2UoKVwiIFtkaXNhYmxlZF09XCJidXR0b25Mb2FkZXJcIj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiYnV0dG9uTG9hZGVyXCIgPjxpIGNsYXNzPVwiZmFzIGZhLWNpcmNsZS1ub3RjaCBmYS1zcGluXCI+PC9pPiZuYnNwO0xvYWRpbmc8L3NwYW4+XG4gICAgICA8c3BhbiAqbmdJZj1cIiFidXR0b25Mb2FkZXJcIiA+VXBsb2FkIEltYWdlPC9zcGFuPjwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvc2VjdGlvbj5cblxuPG5nLXRlbXBsYXRlICN1bnNwbGFzaEltYWdlc1RlbXBsYXRlPlxuXG4gIDxkaXYgY2xhc3M9XCJpbnB1dC1jb250YWluZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy8zMTQ2NjFjMTc0MTg0NDIzNDQ0MlZlY3RvciUyMCUyODElMjkucG5nXCJcbiAgICBhbHQ9XCJzZWFyY2gtYmFyLWljb25cIj5cbiAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCBpbWFnZXNcIiBbZm9ybUNvbnRyb2xdPVwic2VhcmNoQ29udHJvbFwiPlxuICA8L2Rpdj5cbiAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCBbaXRlbVNpemVdPVwiaW1hZ2VTaXplXCIgW21pbkJ1ZmZlclB4XT1cIjgwMFwiIFttYXhCdWZmZXJQeF09XCIxNjAwXCJcbiAgICBjbGFzcz1cInNjcm9sbC1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwicm93IGltYWdlLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00IGNvbC02XCIgKmNka1ZpcnR1YWxGb3I9XCJsZXQgaW1hZ2Ugb2YgdW5zcGxhc2hJbWFnZXNcIj5cbiAgICAgICAgPGltZyBbbGF6eUxvYWRdPVwiaW1hZ2UudXJscy50aHVtYlwiIFtlcnJvckltYWdlXT1cIidhc3NldHMvZXJyb3IuanBnJ1wiIChjbGljayk9XCJzZWxlY3RVbnNwbGFzaEltYWdlKGltYWdlKVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieydzZWxlY3RlZEltYWdlJzogc2VsZWN0ZWRJbWFnZS5oYXMoaW1hZ2UuaWQpfVwiIGFsdD1cIkltYWdlXCIgY2xhc3M9XCJjcFwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XG5cbiAgPHAgKm5nSWY9XCJpc0xvYWRpbmdcIj5Mb2FkaW5nIG1vcmUgcmVzdWx0cy4uLjwvcD5cblxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN1cGxvYWRJbWFnZVRlbXBsYXRlPlxuICA8ZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpbWFnZS11cGxvYWQtY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLWltZy1jb250YWluZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgIDxpbWcgbGF6eSBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzU0NzUwMGMxNzQ0Njk4ODMwMzQzdXBsb2FkLW9uZSUyMCUyODElMjkucG5nXCIgYWx0PVwidXBsb2FkLWltYWdlXCIgY2xhc3M9XCJ1cGxvYWQtaW1nXCI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNvbnRhaW5lciB0ZXh0LWNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLXRleHRcIj5DaG9vc2UgYSBmaWxlIG9yIGRyYWcgYW5kIGRyb3AgaXQgaGVyZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlkZGxlLXRleHRcIj5KUEVHLCBQTkcgZm9ybWF0cyB1cCB0byA1ME1CPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWQtYnRuIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWRzIGNwXCIgIChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiPlxuICAgICAgICAgICAgVXBsb2FkXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIiAoY2hhbmdlKT1cInVwbG9hZEltYWdlRnJvbVN5c3RlbSgkZXZlbnQpXCIgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICAgIGFjY2VwdD1cImltYWdlL3BuZywgaW1hZ2UvanBlZywgaW1hZ2UvanBnLCBpbWFnZS9naWZcIiAjZmlsZUlucHV0IC8+XG5cbiAgICA8ZGl2IGNsYXNzPVwicm93IGltYWdlLWNvbnRhaW5lciBtdC0zIGgtMzAtb3ZlcmZsb3dcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGltYWdlIG9mIHNlbGVjdGVkSW1hZ2UgfCBrZXl2YWx1ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgc3lzdGVtSW1hZ2VcIiAqbmdJZj1cImltYWdlLnZhbHVlLmZpbGVcIj5cbiAgICAgICAgICA8aW1nIFtzcmNdPVwiaW1hZ2UudmFsdWUuYXNzZXRzWzBdLnVybFwiIGFsdD1cIkltYWdlXCIgLz5cbiAgICAgICAgICA8bWF0LWljb24gKGNsaWNrKT1cImRlbGV0ZVN5c3RlbUltYWdlKGltYWdlLmtleSlcIj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpbWFnZUxpYnJhcnlUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cInJvdyBpbWFnZS1jb250YWluZXIgbXQtMyBoLTc1LW92ZXJmbG93XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImltYWdlTGlicmFyeS5sZW5ndGggPiAwOyBlbHNlIGVtcHR5U2NyZWVuXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpbWFnZSBvZiBpbWFnZUxpYnJhcnlcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00IGNvbC02XCI+XG4gICAgICAgICAgPGltZyBbc3JjXT1cImltYWdlLmFzc2V0c1swXS51cmxcIiBhbHQ9XCJJbWFnZVwiIChjbGljayk9XCJzZWxlY3RGcm9tSW1hZ2VMaWJyYXJ5KGltYWdlKVwiIFtuZ0NsYXNzXT1cInsnc2VsZWN0ZWRJbWFnZSc6IHNlbGVjdGVkSW1hZ2UuaGFzKGltYWdlLnVuaXF1ZUlkKX1cIi8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI2VtcHR5U2NyZWVuPlxuICAgIDxkaXYgY2xhc3M9XCJlbXB0eS1jb250YWluZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIHctMTAwIGZsZXgtY29sdW1uXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZW1wdHktaW1nLWNvbnRhaW5lciBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzkzNTczN2MxNzQzNDExNzk4MTg4aW1hZ2UlMjAlMjg3JTI5LnBuZ1wiIGFsdD1cIlwiPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZW1wdHktbWFpbi10ZXh0XCI+XG4gICAgICAgIFVoLW9oIVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic3ViLXRleHQtMVwiPlxuICAgICAgICBObyBpbWFnZXMgaGVyZVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic3ViLXRleHQtMlwiPlxuICAgICAgICBJIGxvb2tlZCBsZWZ0LCByaWdodOKApiBldmVuIHR1cm5lZCBhcm91bmQhIFN0aWxsIG5vdGhpbmdcbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lbGVtZW50cy9tZWRpYS1zZWxlY3Rvci9tZWRpYS1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL21lZGlhLXNlbGVjdG9yL21lZGlhLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBaUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFXdkQsTUFBTSxPQUFPLHNCQUFzQjtJQWVqQyxZQUFvQixrQkFBc0MsRUFDaEQsVUFBZ0QsRUFDdkIsVUFBZSxFQUN4QyxRQUFxQixFQUNyQixhQUFxQztRQUozQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ2hELGVBQVUsR0FBVixVQUFVLENBQXNDO1FBQ3ZCLGVBQVUsR0FB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ZUFBZTtrR0FqQmQsc0JBQXNCLDBIQUN0Qix3QkFBd0IsZ0RDckJyQyw2OUpBNEdBLDBxR0Q1RlksWUFBWSwrakJBQUUsV0FBVyxzWkFBRSxtQkFBbUIsa05BQUUsd0JBQXdCLGdKQUFFLG1CQUFtQiw0UUFBRSxlQUFlLCtZQUFFLGFBQWE7OzJGQUk1SCxzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsd0JBQXdCLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQzs7MEJBcUJySSxNQUFNOzJCQUFDLGVBQWU7dUdBaEJZLFFBQVE7c0JBQTVDLFNBQVM7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIEFmdGVyVmlld0luaXQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQsIFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEltYWdlVXBsYW9kU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ltYWdlLXVwbG9hZC1zZXJ2aWNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzdGFydFdpdGgsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBMYXp5TG9hZEltYWdlTW9kdWxlIH0gZnJvbSAnbmctbGF6eWxvYWQtaW1hZ2UnO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Jlc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IEVsZW1lbnRTZXJ2aWNlU2VydmljZSB9IGZyb20gJy4uL2VkaXRvci1zZXJ2aWNlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzaW1wby1tZWRpYS1zZWxlY3RvcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LCBMYXp5TG9hZEltYWdlTW9kdWxlLCBTY3JvbGxpbmdNb2R1bGUsIE1hdEljb25Nb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tZWRpYS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL21lZGlhLXNlbGVjdG9yLmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZWRpYVNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQFZpZXdDaGlsZChDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQpIHZpZXdwb3J0ITogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xyXG5cclxuICB0YWJzOiBzdHJpbmdbXSA9IFsnVW5zcGxhc2gnLCAnVXBsb2FkJywgJ0xpYnJhcnknXTtcclxuICBhY3RpdmVUYWI6IHN0cmluZyA9ICdVbnNwbGFzaCc7XHJcbiAgc2VhcmNoQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XHJcbiAgcGFnZU5vOiBudW1iZXIgPSAxO1xyXG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHVuc3BsYXNoSW1hZ2VzOiBhbnlbXSA9IFtdO1xyXG4gIGltYWdlTGlicmFyeTogYW55W10gPSBbXTtcclxuICBpbWFnZVNpemUgPSA1MDtcclxuICBtdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNlbGVjdGVkSW1hZ2U6IE1hcDxzdHJpbmcsIGFueT4gPSBuZXcgTWFwPHN0cmluZywgYW55PjtcclxuICBidXR0b25Mb2FkZXI6IGJvb2xlYW49IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGltYWdlVXBsb2FkU2VydmljZTogSW1hZ2VVcGxhb2RTZXJ2aWNlLFxyXG4gICAgcHVibGljICBfZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8TWVkaWFTZWxlY3RvckNvbXBvbmVudD4sXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHJpdmF0ZSBkaWFsb2dEYXRhOiBhbnksXHJcbiAgICBwcml2YXRlIHNuYWNrQmFyOiBNYXRTbmFja0JhcixcclxuICAgIHByaXZhdGUgZWRpdG9yU2VydmljZSA6IEVsZW1lbnRTZXJ2aWNlU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5tdWx0aXBsZSA9IHRoaXMuZGlhbG9nRGF0YT8ubXVsdGlwbGUgPz8gdHJ1ZTtcclxuICAgIHRoaXMuc2VhcmNoVW5zcGxhc2hJbWFnZXMoKTtcclxuICAgIHRoaXMuZ2V0SW1hZ2VMaWJyYXJ5KCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnNldHVwSW5maW5pdGVTY3JvbGwoKTtcclxuICB9XHJcblxyXG4gIGdldEltYWdlTGlicmFyeSgpIHtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5nZXRJbWFnZUxpYnJhcnkoKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuaW1hZ2VMaWJyYXJ5ID0gcmVzPy5kYXRhPy5jb250ZW50IHx8IFtdO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIC8qKiDinIUgU2VhcmNoIEFQSSB3aXRoIGRlYm91bmNlIHRvIHJlZHVjZSB1bm5lY2Vzc2FyeSBjYWxscyAqL1xyXG4gIHNlYXJjaFVuc3BsYXNoSW1hZ2VzKCkge1xyXG4gICAgdGhpcy5zZWFyY2hDb250cm9sLnZhbHVlQ2hhbmdlc1xyXG4gICAgICAucGlwZShcclxuICAgICAgICBzdGFydFdpdGgoJycpLCAvLyBMb2FkIGltYWdlcyBpbml0aWFsbHlcclxuICAgICAgICBkZWJvdW5jZVRpbWUoNTAwKSwgLy8gV2FpdCA1MDBtcyBhZnRlciB0eXBpbmcgc3RvcHNcclxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCAvLyBPbmx5IGNhbGwgQVBJIGlmIHZhbHVlIGNoYW5nZXNcclxuICAgICAgICBzd2l0Y2hNYXAodmFsdWUgPT4ge1xyXG4gICAgICAgICAgdGhpcy5wYWdlTm8gPSAxO1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuaW1hZ2VVcGxvYWRTZXJ2aWNlLnNlYXJjaFBob3Rvc0luVW5zcGxhc2godmFsdWUgfHwgJ1RlY2hub2xvZ3knLCB0aGlzLnBhZ2VObyk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHRzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnVuc3BsYXNoSW1hZ2VzID0gcmVzdWx0cy5yZXN1bHRzO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKiDinIUgSW5maW5pdGUgU2Nyb2xsICovXHJcbiAgc2V0dXBJbmZpbml0ZVNjcm9sbCgpIHtcclxuICAgIHRoaXMudmlld3BvcnQuZWxlbWVudFNjcm9sbGVkKClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZGVib3VuY2VUaW1lKDIwMCksIC8vIOKchSBXYWl0IDIwMG1zIGJlZm9yZSBjaGVja2luZ1xyXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkgLy8g4pyFIE9ubHkgdHJpZ2dlciBpZiB2YWx1ZSBjaGFuZ2VzXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZW5kID0gdGhpcy52aWV3cG9ydC5tZWFzdXJlU2Nyb2xsT2Zmc2V0KCdib3R0b20nKTtcclxuXHJcbiAgICAgICAgaWYgKGVuZCA8IDMwMCAmJiAhdGhpcy5pc0xvYWRpbmcpIHsgLy8g4pyFIFRyaWdnZXIgb25seSB3aGVuIGNsb3NlIHRvIHRoZSBib3R0b21cclxuICAgICAgICAgIHRoaXMubG9hZE1vcmVJbWFnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqIOKchSBMb2FkIE1vcmUgSW1hZ2VzICovXHJcbiAgbG9hZE1vcmVJbWFnZXMoKSB7XHJcbiAgICBpZiAodGhpcy5pc0xvYWRpbmcpIHJldHVybjsgLy8g4pyFIFByZXZlbnQgbXVsdGlwbGUgcmVxdWVzdHNcclxuXHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLnBhZ2VObysrO1xyXG5cclxuICAgIHRoaXMuaW1hZ2VVcGxvYWRTZXJ2aWNlLnNlYXJjaFBob3Rvc0luVW5zcGxhc2godGhpcy5zZWFyY2hDb250cm9sLnZhbHVlIHx8ICdUZWNobm9sb2d5JywgdGhpcy5wYWdlTm8pXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdHM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMudW5zcGxhc2hJbWFnZXMgPSBbLi4udGhpcy51bnNwbGFzaEltYWdlcywgLi4ucmVzdWx0cy5yZXN1bHRzXTtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9LCAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTsgLy8g4pyFIEVuc3VyZSBpdCdzIHJlc2V0IGV2ZW4gb24gZmFpbHVyZVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHNlbGVjdFVuc3BsYXNoSW1hZ2UoaW1hZ2U6IGFueSkge1xyXG4gICAgaWYgKCF0aGlzLm11bHRpcGxlKVxyXG4gICAgICB0aGlzLnNlbGVjdGVkSW1hZ2UgPSBuZXcgTWFwPGFueSwgYW55PjtcclxuXHJcbiAgICBsZXQgdXBsb2FkSW1hZ2U6IGFueSA9IHtcclxuICAgICAgYnVzaW5lc3NJZDogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2J1c2luZXNzSWQnKSxcclxuICAgICAgdW5pcXVlSWQ6IGltYWdlLmlkLFxyXG4gICAgICBhc3NldHM6IFt7XHJcbiAgICAgICAgdXJsOiBpbWFnZS51cmxzLnJhdyxcclxuICAgICAgICB3aWR0aDogaW1hZ2Uud2lkdGgsXHJcbiAgICAgICAgaGVpZ2h0OiBpbWFnZS5oZWlnaHRcclxuICAgICAgfV0sXHJcbiAgICAgIGF1dGhvcjoge1xyXG4gICAgICAgIGlkOiBpbWFnZS51c2VyLmlkLFxyXG4gICAgICAgIHVzZXJOYW1lOiBpbWFnZS51c2VyLnVzZXJuYW1lLFxyXG4gICAgICAgIG5hbWU6IGltYWdlLnVzZXIubmFtZSxcclxuICAgICAgICB0d2l0dGVyVXNlck5hbWU6IGltYWdlLnVzZXIudHdpdHRlcl91c2VybmFtZSxcclxuICAgICAgICBwb3J0Rm9saW9Vcmw6IGltYWdlLnVzZXIucG9ydGZvbGlvX3VybCxcclxuICAgICAgICBpbnN0YWdyYW1Vc2VyTmFtZTogaW1hZ2UudXNlci5pbnN0YWdyYW1fdXNlcm5hbWUsXHJcbiAgICAgIH0sXHJcbiAgICAgIG1lZGlhOiBcIlVOU1BMQVNIXCIsXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJbWFnZS5oYXMoaW1hZ2UuaWQpKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbWFnZS5kZWxldGUoaW1hZ2UuaWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEltYWdlLnNldChpbWFnZS5pZCwgdXBsb2FkSW1hZ2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBsb2FkSW1hZ2VGcm9tU3lzdGVtKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICghdGhpcy5tdWx0aXBsZSlcclxuICAgICAgdGhpcy5zZWxlY3RlZEltYWdlID0gbmV3IE1hcDxhbnksIGFueT47XHJcblxyXG4gICAgbGV0IGZpbGVzID0gZXZlbnQudGFyZ2V0LmZpbGVzO1xyXG4gICAgY29uc3QgbWF4aW11bUZpbGVTaXplID0gNCAqIDEwMjQgKiAxMDI0OyAvLyBNYXggaXMgNG1iXHJcblxyXG4gICAgZm9yIChsZXQgZmlsZSBvZiBmaWxlcykge1xyXG4gICAgICBpZiAobWF4aW11bUZpbGVTaXplIDwgZmlsZS5zaXplKSB7XHJcbiAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKCdNYXhpbXVtIGZpbGUgc2l6ZSBsaW1pdCBpcyA0TUInLCAnY2xvc2UnLCB7IGR1cmF0aW9uOiAxNTAwIH0pXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcblxyXG4gICAgICBjb25zdCBpbWFnZTogYW55ID0ge1xyXG4gICAgICAgIGJ1c2luZXNzSWQ6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdidXNpbmVzc0lkJyksXHJcbiAgICAgICAgdW5pcXVlSWQ6IGZpbGUubmFtZSArICdfJyArIGZpbGUuc2l6ZSxcclxuICAgICAgICBibHVySGFzaDogbnVsbCxcclxuICAgICAgICBhc3NldHM6IFt7XHJcbiAgICAgICAgICB3aWR0aDogMCxcclxuICAgICAgICAgIGhlaWdodDogMCxcclxuICAgICAgICAgIGJsdXJoYXNoOiAnJyxcclxuICAgICAgICAgIHVybDogJycsXHJcbiAgICAgICAgfV0sXHJcbiAgICAgICAgYXV0aG9yOiBudWxsLFxyXG4gICAgICAgIG1lZGlhOiAnREVWSUNFJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogZmlsZS5uYW1lLFxyXG4gICAgICAgIGFsdERlc2NyaXB0aW9uOiBmaWxlLm5hbWUsXHJcbiAgICAgICAgZmlsZTogZmlsZSxcclxuICAgICAgfTtcclxuXHJcbiAgICAgIHJlYWRlci5vbmxvYWQgPSAocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgIGltYWdlLmFzc2V0c1swXS51cmwgPSByZXNwb25zZS50YXJnZXQucmVzdWx0O1xyXG4gICAgICB9O1xyXG4gICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcclxuXHJcbiAgICAgIGlmICghdGhpcy5zZWxlY3RlZEltYWdlLmhhcyhpbWFnZS51bmlxdWVJZCkpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSW1hZ2Uuc2V0KGltYWdlLnVuaXF1ZUlkLCBpbWFnZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRlbGV0ZVN5c3RlbUltYWdlKGltYWdlSWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5zZWxlY3RlZEltYWdlLmRlbGV0ZShpbWFnZUlkKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdEZyb21JbWFnZUxpYnJhcnkoaW1hZ2U6IGFueSkge1xyXG4gICAgaWYgKCF0aGlzLm11bHRpcGxlKVxyXG4gICAgICB0aGlzLnNlbGVjdGVkSW1hZ2UgPSBuZXcgTWFwPGFueSwgYW55PjtcclxuXHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZEltYWdlLmhhcyhpbWFnZS51bmlxdWVJZCkpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEltYWdlLmRlbGV0ZShpbWFnZS51bmlxdWVJZCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSW1hZ2Uuc2V0KGltYWdlLnVuaXF1ZUlkLCBpbWFnZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyB1cGxvYWRJbWFnZSgpIHtcclxuICAgIHRoaXMuYnV0dG9uTG9hZGVyID10cnVlO1xyXG4gICAgbGV0IHJlcXVlc3Q6IGFueVtdID0gW107XHJcblxyXG4gICAgZm9yKGxldCBpbWFnZSBvZiB0aGlzLnNlbGVjdGVkSW1hZ2UudmFsdWVzKCkpIHtcclxuICAgICAgaWYgKGltYWdlLmZpbGUpIHtcclxuICAgICAgICBjb25zdCBmaWxlVXJsOiBhbnkgPVxyXG4gICAgICAgICAgYXdhaXQgdGhpcy5pbWFnZVVwbG9hZFNlcnZpY2UudXBsb2FkRmlsZUluQVdTKFxyXG4gICAgICAgICAgICBpbWFnZS5maWxlLFxyXG4gICAgICAgICAgICAnbGlicmFyeS1tZWRpYSdcclxuICAgICAgICAgICk7XHJcblxyXG4gICAgICAgIGltYWdlLmFzc2V0c1swXS51cmwgPSBmaWxlVXJsO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXF1ZXN0LnB1c2goaW1hZ2UpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnNhdmVJbWFnZXNUb0J1c2luZXNzTGlicmFyeSh7ZGF0YTogcmVxdWVzdH0pLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6ICgpID0+IHtcclxuICAgICAgICB0aGlzLl9kaWFsb2dSZWYuY2xvc2UocmVxdWVzdCk7XHJcbiAgICAgICAgdGhpcy5idXR0b25Mb2FkZXI9IGZhbHNlO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuYnV0dG9uTG9hZGVyPWZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxufVxyXG4iLCI8c2VjdGlvbj5cclxuICA8ZGl2IGNsYXNzPVwiaGVhZGVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nXCI+VXBsb2FkIEltYWdlPC9kaXY+XHJcbiAgICA8bWF0LWljb24gKGNsaWNrKT1cIl9kaWFsb2dSZWYuY2xvc2UoKVwiIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGYtMTggY3BcIj5jbG9zZTwvbWF0LWljb24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInRhYnMgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnNcIiBbbmdDbGFzc109XCJ7J3NlbGVjdGVkVGFiJzogYWN0aXZlVGFiID09PSB0YWJ9XCIgKGNsaWNrKT1cImFjdGl2ZVRhYiA9IHRhYlwiPnt7dGFifX08L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFjdGl2ZVRhYiA9PT0gJ1Vuc3BsYXNoJ1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInVuc3BsYXNoSW1hZ2VzVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFjdGl2ZVRhYiA9PT0gJ1VwbG9hZCdcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ1cGxvYWRJbWFnZVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJhY3RpdmVUYWIgPT09ICdMaWJyYXJ5J1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImltYWdlTGlicmFyeVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJ1cGxvYWRCdXR0b24gZC1mbGV4XCIgKm5nSWY9XCJ0aGlzLnNlbGVjdGVkSW1hZ2Uuc2l6ZSA+IDBcIj5cclxuICAgIDxidXR0b24gKGNsaWNrKT1cInVwbG9hZEltYWdlKClcIiBbZGlzYWJsZWRdPVwiYnV0dG9uTG9hZGVyXCI+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwiYnV0dG9uTG9hZGVyXCIgPjxpIGNsYXNzPVwiZmFzIGZhLWNpcmNsZS1ub3RjaCBmYS1zcGluXCI+PC9pPiZuYnNwO0xvYWRpbmc8L3NwYW4+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwiIWJ1dHRvbkxvYWRlclwiID5VcGxvYWQgSW1hZ2U8L3NwYW4+PC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvc2VjdGlvbj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdW5zcGxhc2hJbWFnZXNUZW1wbGF0ZT5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImlucHV0LWNvbnRhaW5lciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICA8aW1nIHNyYz1cImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvMzE0NjYxYzE3NDE4NDQyMzQ0NDJWZWN0b3IlMjAlMjgxJTI5LnBuZ1wiXHJcbiAgICBhbHQ9XCJzZWFyY2gtYmFyLWljb25cIj5cclxuICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoIGltYWdlc1wiIFtmb3JtQ29udHJvbF09XCJzZWFyY2hDb250cm9sXCI+XHJcbiAgPC9kaXY+XHJcbiAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCBbaXRlbVNpemVdPVwiaW1hZ2VTaXplXCIgW21pbkJ1ZmZlclB4XT1cIjgwMFwiIFttYXhCdWZmZXJQeF09XCIxNjAwXCJcclxuICAgIGNsYXNzPVwic2Nyb2xsLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBpbWFnZS1jb250YWluZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00IGNvbC02XCIgKmNka1ZpcnR1YWxGb3I9XCJsZXQgaW1hZ2Ugb2YgdW5zcGxhc2hJbWFnZXNcIj5cclxuICAgICAgICA8aW1nIFtsYXp5TG9hZF09XCJpbWFnZS51cmxzLnRodW1iXCIgW2Vycm9ySW1hZ2VdPVwiJ2Fzc2V0cy9lcnJvci5qcGcnXCIgKGNsaWNrKT1cInNlbGVjdFVuc3BsYXNoSW1hZ2UoaW1hZ2UpXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsnc2VsZWN0ZWRJbWFnZSc6IHNlbGVjdGVkSW1hZ2UuaGFzKGltYWdlLmlkKX1cIiBhbHQ9XCJJbWFnZVwiIGNsYXNzPVwiY3BcIiAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxyXG5cclxuICA8cCAqbmdJZj1cImlzTG9hZGluZ1wiPkxvYWRpbmcgbW9yZSByZXN1bHRzLi4uPC9wPlxyXG5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdXBsb2FkSW1hZ2VUZW1wbGF0ZT5cclxuICA8ZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImltYWdlLXVwbG9hZC1jb250YWluZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInVwbG9hZC1pbWctY29udGFpbmVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgIDxpbWcgbGF6eSBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzU0NzUwMGMxNzQ0Njk4ODMwMzQzdXBsb2FkLW9uZSUyMCUyODElMjkucG5nXCIgYWx0PVwidXBsb2FkLWltYWdlXCIgY2xhc3M9XCJ1cGxvYWQtaW1nXCI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jb250YWluZXIgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLXRleHRcIj5DaG9vc2UgYSBmaWxlIG9yIGRyYWcgYW5kIGRyb3AgaXQgaGVyZTwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWRkbGUtdGV4dFwiPkpQRUcsIFBORyBmb3JtYXRzIHVwIHRvIDUwTUI8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLWJ0biBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWRzIGNwXCIgIChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiPlxyXG4gICAgICAgICAgICBVcGxvYWRcclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiIChjaGFuZ2UpPVwidXBsb2FkSW1hZ2VGcm9tU3lzdGVtKCRldmVudClcIiBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxyXG4gICAgICBhY2NlcHQ9XCJpbWFnZS9wbmcsIGltYWdlL2pwZWcsIGltYWdlL2pwZywgaW1hZ2UvZ2lmXCIgI2ZpbGVJbnB1dCAvPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3cgaW1hZ2UtY29udGFpbmVyIG10LTMgaC0zMC1vdmVyZmxvd1wiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpbWFnZSBvZiBzZWxlY3RlZEltYWdlIHwga2V5dmFsdWVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgc3lzdGVtSW1hZ2VcIiAqbmdJZj1cImltYWdlLnZhbHVlLmZpbGVcIj5cclxuICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZS52YWx1ZS5hc3NldHNbMF0udXJsXCIgYWx0PVwiSW1hZ2VcIiAvPlxyXG4gICAgICAgICAgPG1hdC1pY29uIChjbGljayk9XCJkZWxldGVTeXN0ZW1JbWFnZShpbWFnZS5rZXkpXCI+ZGVsZXRlPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2ltYWdlTGlicmFyeVRlbXBsYXRlPlxyXG4gIDxkaXYgY2xhc3M9XCJyb3cgaW1hZ2UtY29udGFpbmVyIG10LTMgaC03NS1vdmVyZmxvd1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImltYWdlTGlicmFyeS5sZW5ndGggPiAwOyBlbHNlIGVtcHR5U2NyZWVuXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGltYWdlIG9mIGltYWdlTGlicmFyeVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBjb2wtNlwiPlxyXG4gICAgICAgICAgPGltZyBbc3JjXT1cImltYWdlLmFzc2V0c1swXS51cmxcIiBhbHQ9XCJJbWFnZVwiIChjbGljayk9XCJzZWxlY3RGcm9tSW1hZ2VMaWJyYXJ5KGltYWdlKVwiIFtuZ0NsYXNzXT1cInsnc2VsZWN0ZWRJbWFnZSc6IHNlbGVjdGVkSW1hZ2UuaGFzKGltYWdlLnVuaXF1ZUlkKX1cIi8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbiAgPG5nLXRlbXBsYXRlICNlbXB0eVNjcmVlbj5cclxuICAgIDxkaXYgY2xhc3M9XCJlbXB0eS1jb250YWluZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIHctMTAwIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJlbXB0eS1pbWctY29udGFpbmVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy85MzU3MzdjMTc0MzQxMTc5ODE4OGltYWdlJTIwJTI4NyUyOS5wbmdcIiBhbHQ9XCJcIj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJlbXB0eS1tYWluLXRleHRcIj5cclxuICAgICAgICBVaC1vaCFcclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzdWItdGV4dC0xXCI+XHJcbiAgICAgICAgTm8gaW1hZ2VzIGhlcmVcclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzdWItdGV4dC0yXCI+XHJcbiAgICAgICAgSSBsb29rZWQgbGVmdCwgcmlnaHTigKYgZXZlbiB0dXJuZWQgYXJvdW5kISBTdGlsbCBub3RoaW5nXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
@@ -18,10 +18,10 @@ export class NavbarButtonElementComponent {
|
|
18
18
|
changePage(pageData) {
|
19
19
|
this._eventService.pageRedirectionButton.emit({ data: pageData ? pageData : this.buttonData });
|
20
20
|
}
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NavbarButtonElementComponent, isStandalone: true, selector: "simpo-navbar-button-element", inputs: { buttonData: "buttonData", buttonStyle: "buttonStyle", selectedStyle: "selectedStyle", bgColor: "bgColor", sectionId: "sectionId", accentColor: "accentColor" }, ngImport: i0, template: "<div *ngIf=\"false\">\r\n <div *ngIf=\"selectedStyle === HeaderButtonStyle.TAB\">\r\n <div *ngIf=\"!buttonData?.folder\">\r\n <button mat-stroked-button style=\"border: none; white-space: nowrap;\" [id]=\"sectionId\" [simpoColor]=\"bgColor\"\r\n [ngStyle]=\"{color:buttonStyle?.color}\" class=\"navbar-button\">{{buttonData?.label}}</button>\r\n <div [ngStyle]=\"{'border-bottom':'1px solid'+buttonStyle?.color}\" (click)=\"changePage()\" [id]=\"sectionId\"></div>\r\n </div>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button mat-stroked-button class=\"navbar-button dropdown-toggle\" [simpoColor]=\"bgColor\" style=\"border: none; white-space: nowrap;\"\r\n [ngStyle]=\"{color:buttonStyle?.color}\" type=\"button\"\r\n id=\"headerDropdownButton\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div [ngStyle]=\"{'border-bottom':'1px solid'+buttonStyle?.color}\" [id]=\"sectionId\"></div>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedStyle === HeaderButtonStyle.ROUND_SUBTLE\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button\" *ngIf=\"!buttonData?.folder\"\r\n style=\"border: none;width: max-content!important; border-radius: 8px;\"\r\n [ngStyle]=\"{color:buttonStyle?.color,'background-color':buttonStyle?.subtleColor}\" (click)=\"changePage()\"\r\n [id]=\"sectionId\">{{buttonData?.label}}</button>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button dropdown-toggle\"\r\n style=\"border: none;width: max-content!important; border-radius: 8px;\"\r\n [ngStyle]=\"{color:buttonStyle?.color,'background-color':buttonStyle?.subtleColor}\" type=\"button\"\r\n id=\"headerDropdownButton\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedStyle === HeaderButtonStyle.ROUND_BOLD\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button\" *ngIf=\"!buttonData?.folder\"\r\n style=\"border: none;width: max-content!important; border-radius: 8px;\"\r\n [ngStyle]=\"{color:buttonStyle?.boldColor,'background-color':buttonStyle?.backgroundColor}\" (click)=\"changePage()\"\r\n [id]=\"sectionId\">{{buttonData?.label}}</button>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button dropdown-toggle\"\r\n style=\"border: none;width: max-content!important; border-radius: 8px;\"\r\n [ngStyle]=\"{color:buttonStyle?.boldColor,'background-color':buttonStyle?.backgroundColor}\" type=\"button\"\r\n id=\"headerDropdownButton\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedStyle === HeaderButtonStyle.SQUARE_SUBTLE\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button\" *ngIf=\"!buttonData?.folder\"\r\n style=\"border: none;border-radius: 0px !important;width: max-content!important;\"\r\n [ngStyle]=\"{color:buttonStyle?.color,'background-color':buttonStyle?.subtleColor}\" (click)=\"changePage()\"\r\n [id]=\"sectionId\">{{buttonData?.label}}</button>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button dropdown-toggle\"\r\n style=\"border: none;border-radius: 0px !important;width: max-content!important;\"\r\n [ngStyle]=\"{color:buttonStyle?.color,'background-color':buttonStyle?.subtleColor}\" type=\"button\"\r\n id=\"headerDropdownButton\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedStyle === HeaderButtonStyle.SQUARE_BOLD\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button\" *ngIf=\"!buttonData?.folder\"\r\n style=\"border: none;width: max-content!important; border-radius: 0px !important;\"\r\n [ngStyle]=\"{color:buttonStyle?.boldColor,'background-color':buttonStyle?.backgroundColor}\" (click)=\"changePage()\"\r\n [id]=\"sectionId\">{{buttonData?.label}}</button>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button dropdown-toggle\"\r\n style=\"border: none;width: max-content!important; border-radius: 0px !important;\"\r\n [ngStyle]=\"{color:buttonStyle?.boldColor,'background-color':buttonStyle?.backgroundColor}\" type=\"button\"\r\n id=\"headerDropdownButton\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <button mat-stroked-button color=\"primary btn-lg px-4 me-md-2\">{{buttonData?.content?.label}}</button> -->\r\n\r\n</div>\r\n<div>\r\n <!-- <button mat-stroked-button style=\"border: none;width: max-content!important;\" *ngIf=\"!buttonData?.folder\" [simpoColor]=\"buttonData?.status ? '' : bgColor\"\r\n (click)=\"changePage()\" [id]=\"sectionId\" [style.color]=\"buttonData?.status ? accentColor : ''\" [style.fontWeight]=\"buttonData?.status ? '700' : ''\"\r\n class=\"status-navbar-button\">{{buttonData?.label}}</button> -->\r\n <button c *ngIf=\"!buttonData?.folder\" [simpoColor]=\"buttonData?.status ? '' : bgColor\"\r\n (click)=\"changePage()\" [id]=\"sectionId\" [style.color]=\"buttonData?.status ? accentColor : ''\" [style.fontWeight]=\"buttonData?.status ? '700' : ''\"\r\n class=\"status-navbar-button button\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button class=\"status-navbar-button not-selected-dropdown dropdown-toggle\" [style.fontWeight]=\"buttonData?.status ? '700' : ''\" [simpoColor]=\"buttonData?.status ? '' : bgColor\"\r\n style=\"border: none;width: max-content!important;\" [style.color]=\"buttonData?.status ? accentColor : ''\" type=\"button\" id=\"headerDropdownButton\"\r\n data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".navbar-button,.status-navbar-button{font-size:14px!important}@media only screen and (max-width : 475px){.navbar-button{width:100%!important;display:flex;justify-content:flex-start}.status-navbar-button{color:#000!important;display:flex;justify-content:flex-start}.dropdown{padding-left:10px}.dropdown-toggle{display:flex;align-items:center;gap:10px}}.not-selected-dropdown{background:transparent;font-size:16px!important}.dropdown-item{font-size:15px;padding:10px;font-family:Roboto,sans-serif;border-bottom:1px solid #dee2e6}.dropdown-menu{top:40px;border:none;border-radius:10px}.button{border:none;background:none;outline:none;font-size:16px!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: ColorDirective, selector: "[simpoColor]", inputs: ["simpoColor"] }] }); }
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: NavbarButtonElementComponent, deps: [{ token: i1.EventsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: NavbarButtonElementComponent, isStandalone: true, selector: "simpo-navbar-button-element", inputs: { buttonData: "buttonData", buttonStyle: "buttonStyle", selectedStyle: "selectedStyle", bgColor: "bgColor", sectionId: "sectionId", accentColor: "accentColor" }, ngImport: i0, template: "<div *ngIf=\"false\">\r\n <div *ngIf=\"selectedStyle === HeaderButtonStyle.TAB\">\r\n <div *ngIf=\"!buttonData?.folder\">\r\n <button mat-stroked-button style=\"border: none; white-space: nowrap;\" [id]=\"sectionId\" [simpoColor]=\"bgColor\"\r\n [ngStyle]=\"{color:buttonStyle?.color}\" class=\"navbar-button\">{{buttonData?.label}}</button>\r\n <div [ngStyle]=\"{'border-bottom':'1px solid'+buttonStyle?.color}\" (click)=\"changePage()\" [id]=\"sectionId\"></div>\r\n </div>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button mat-stroked-button class=\"navbar-button dropdown-toggle\" [simpoColor]=\"bgColor\" style=\"border: none; white-space: nowrap;\"\r\n [ngStyle]=\"{color:buttonStyle?.color}\" type=\"button\"\r\n id=\"headerDropdownButton\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div [ngStyle]=\"{'border-bottom':'1px solid'+buttonStyle?.color}\" [id]=\"sectionId\"></div>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedStyle === HeaderButtonStyle.ROUND_SUBTLE\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button\" *ngIf=\"!buttonData?.folder\"\r\n style=\"border: none;width: max-content!important; border-radius: 8px;\"\r\n [ngStyle]=\"{color:buttonStyle?.color,'background-color':buttonStyle?.subtleColor}\" (click)=\"changePage()\"\r\n [id]=\"sectionId\">{{buttonData?.label}}</button>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button dropdown-toggle\"\r\n style=\"border: none;width: max-content!important; border-radius: 8px;\"\r\n [ngStyle]=\"{color:buttonStyle?.color,'background-color':buttonStyle?.subtleColor}\" type=\"button\"\r\n id=\"headerDropdownButton\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedStyle === HeaderButtonStyle.ROUND_BOLD\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button\" *ngIf=\"!buttonData?.folder\"\r\n style=\"border: none;width: max-content!important; border-radius: 8px;\"\r\n [ngStyle]=\"{color:buttonStyle?.boldColor,'background-color':buttonStyle?.backgroundColor}\" (click)=\"changePage()\"\r\n [id]=\"sectionId\">{{buttonData?.label}}</button>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button dropdown-toggle\"\r\n style=\"border: none;width: max-content!important; border-radius: 8px;\"\r\n [ngStyle]=\"{color:buttonStyle?.boldColor,'background-color':buttonStyle?.backgroundColor}\" type=\"button\"\r\n id=\"headerDropdownButton\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedStyle === HeaderButtonStyle.SQUARE_SUBTLE\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button\" *ngIf=\"!buttonData?.folder\"\r\n style=\"border: none;border-radius: 0px !important;width: max-content!important;\"\r\n [ngStyle]=\"{color:buttonStyle?.color,'background-color':buttonStyle?.subtleColor}\" (click)=\"changePage()\"\r\n [id]=\"sectionId\">{{buttonData?.label}}</button>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button dropdown-toggle\"\r\n style=\"border: none;border-radius: 0px !important;width: max-content!important;\"\r\n [ngStyle]=\"{color:buttonStyle?.color,'background-color':buttonStyle?.subtleColor}\" type=\"button\"\r\n id=\"headerDropdownButton\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedStyle === HeaderButtonStyle.SQUARE_BOLD\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button\" *ngIf=\"!buttonData?.folder\"\r\n style=\"border: none;width: max-content!important; border-radius: 0px !important;\"\r\n [ngStyle]=\"{color:buttonStyle?.boldColor,'background-color':buttonStyle?.backgroundColor}\" (click)=\"changePage()\"\r\n [id]=\"sectionId\">{{buttonData?.label}}</button>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button dropdown-toggle\"\r\n style=\"border: none;width: max-content!important; border-radius: 0px !important;\"\r\n [ngStyle]=\"{color:buttonStyle?.boldColor,'background-color':buttonStyle?.backgroundColor}\" type=\"button\"\r\n id=\"headerDropdownButton\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <button mat-stroked-button color=\"primary btn-lg px-4 me-md-2\">{{buttonData?.content?.label}}</button> -->\r\n\r\n</div>\r\n<div>\r\n <!-- <button mat-stroked-button style=\"border: none;width: max-content!important;\" *ngIf=\"!buttonData?.folder\" [simpoColor]=\"buttonData?.status ? '' : bgColor\"\r\n (click)=\"changePage()\" [id]=\"sectionId\" [style.color]=\"buttonData?.status ? accentColor : ''\" [style.fontWeight]=\"buttonData?.status ? '700' : ''\"\r\n class=\"status-navbar-button\">{{buttonData?.label}}</button> -->\r\n <button c *ngIf=\"!buttonData?.folder\" [simpoColor]=\"buttonData?.status ? '' : bgColor\"\r\n (click)=\"changePage()\" [id]=\"sectionId\" [style.color]=\"buttonData?.status ? accentColor : ''\" [style.fontWeight]=\"buttonData?.status ? '700' : ''\"\r\n class=\"status-navbar-button button\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button class=\"status-navbar-button not-selected-dropdown dropdown-toggle\" [style.fontWeight]=\"buttonData?.status ? '700' : ''\" [simpoColor]=\"buttonData?.status ? '' : bgColor\"\r\n style=\"border: none;width: max-content!important;\" [style.color]=\"buttonData?.status ? accentColor : ''\" type=\"button\" id=\"headerDropdownButton\"\r\n data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".navbar-button,.status-navbar-button{font-size:14px!important}@media only screen and (max-width : 475px){.navbar-button{width:100%!important;display:flex;justify-content:flex-start}.status-navbar-button{color:#000!important;display:flex;justify-content:flex-start}.dropdown{padding-left:10px}.dropdown-toggle{display:flex;align-items:center;gap:10px}}.not-selected-dropdown{background:transparent;font-size:16px!important}.dropdown-item{font-size:15px;padding:10px;font-family:Roboto,sans-serif;border-bottom:1px solid #dee2e6}.dropdown-menu{top:40px;border:none;border-radius:10px}.button{border:none;background:none;outline:none;font-size:16px!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: ColorDirective, selector: "[simpoColor]", inputs: ["simpoColor"] }] }); }
|
23
23
|
}
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: NavbarButtonElementComponent, decorators: [{
|
25
25
|
type: Component,
|
26
26
|
args: [{ selector: 'simpo-navbar-button-element', standalone: true, imports: [CommonModule, MatButtonModule, ColorDirective], template: "<div *ngIf=\"false\">\r\n <div *ngIf=\"selectedStyle === HeaderButtonStyle.TAB\">\r\n <div *ngIf=\"!buttonData?.folder\">\r\n <button mat-stroked-button style=\"border: none; white-space: nowrap;\" [id]=\"sectionId\" [simpoColor]=\"bgColor\"\r\n [ngStyle]=\"{color:buttonStyle?.color}\" class=\"navbar-button\">{{buttonData?.label}}</button>\r\n <div [ngStyle]=\"{'border-bottom':'1px solid'+buttonStyle?.color}\" (click)=\"changePage()\" [id]=\"sectionId\"></div>\r\n </div>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button mat-stroked-button class=\"navbar-button dropdown-toggle\" [simpoColor]=\"bgColor\" style=\"border: none; white-space: nowrap;\"\r\n [ngStyle]=\"{color:buttonStyle?.color}\" type=\"button\"\r\n id=\"headerDropdownButton\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div [ngStyle]=\"{'border-bottom':'1px solid'+buttonStyle?.color}\" [id]=\"sectionId\"></div>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedStyle === HeaderButtonStyle.ROUND_SUBTLE\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button\" *ngIf=\"!buttonData?.folder\"\r\n style=\"border: none;width: max-content!important; border-radius: 8px;\"\r\n [ngStyle]=\"{color:buttonStyle?.color,'background-color':buttonStyle?.subtleColor}\" (click)=\"changePage()\"\r\n [id]=\"sectionId\">{{buttonData?.label}}</button>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button dropdown-toggle\"\r\n style=\"border: none;width: max-content!important; border-radius: 8px;\"\r\n [ngStyle]=\"{color:buttonStyle?.color,'background-color':buttonStyle?.subtleColor}\" type=\"button\"\r\n id=\"headerDropdownButton\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedStyle === HeaderButtonStyle.ROUND_BOLD\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button\" *ngIf=\"!buttonData?.folder\"\r\n style=\"border: none;width: max-content!important; border-radius: 8px;\"\r\n [ngStyle]=\"{color:buttonStyle?.boldColor,'background-color':buttonStyle?.backgroundColor}\" (click)=\"changePage()\"\r\n [id]=\"sectionId\">{{buttonData?.label}}</button>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button dropdown-toggle\"\r\n style=\"border: none;width: max-content!important; border-radius: 8px;\"\r\n [ngStyle]=\"{color:buttonStyle?.boldColor,'background-color':buttonStyle?.backgroundColor}\" type=\"button\"\r\n id=\"headerDropdownButton\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedStyle === HeaderButtonStyle.SQUARE_SUBTLE\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button\" *ngIf=\"!buttonData?.folder\"\r\n style=\"border: none;border-radius: 0px !important;width: max-content!important;\"\r\n [ngStyle]=\"{color:buttonStyle?.color,'background-color':buttonStyle?.subtleColor}\" (click)=\"changePage()\"\r\n [id]=\"sectionId\">{{buttonData?.label}}</button>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button dropdown-toggle\"\r\n style=\"border: none;border-radius: 0px !important;width: max-content!important;\"\r\n [ngStyle]=\"{color:buttonStyle?.color,'background-color':buttonStyle?.subtleColor}\" type=\"button\"\r\n id=\"headerDropdownButton\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedStyle === HeaderButtonStyle.SQUARE_BOLD\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button\" *ngIf=\"!buttonData?.folder\"\r\n style=\"border: none;width: max-content!important; border-radius: 0px !important;\"\r\n [ngStyle]=\"{color:buttonStyle?.boldColor,'background-color':buttonStyle?.backgroundColor}\" (click)=\"changePage()\"\r\n [id]=\"sectionId\">{{buttonData?.label}}</button>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button dropdown-toggle\"\r\n style=\"border: none;width: max-content!important; border-radius: 0px !important;\"\r\n [ngStyle]=\"{color:buttonStyle?.boldColor,'background-color':buttonStyle?.backgroundColor}\" type=\"button\"\r\n id=\"headerDropdownButton\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <button mat-stroked-button color=\"primary btn-lg px-4 me-md-2\">{{buttonData?.content?.label}}</button> -->\r\n\r\n</div>\r\n<div>\r\n <!-- <button mat-stroked-button style=\"border: none;width: max-content!important;\" *ngIf=\"!buttonData?.folder\" [simpoColor]=\"buttonData?.status ? '' : bgColor\"\r\n (click)=\"changePage()\" [id]=\"sectionId\" [style.color]=\"buttonData?.status ? accentColor : ''\" [style.fontWeight]=\"buttonData?.status ? '700' : ''\"\r\n class=\"status-navbar-button\">{{buttonData?.label}}</button> -->\r\n <button c *ngIf=\"!buttonData?.folder\" [simpoColor]=\"buttonData?.status ? '' : bgColor\"\r\n (click)=\"changePage()\" [id]=\"sectionId\" [style.color]=\"buttonData?.status ? accentColor : ''\" [style.fontWeight]=\"buttonData?.status ? '700' : ''\"\r\n class=\"status-navbar-button button\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button class=\"status-navbar-button not-selected-dropdown dropdown-toggle\" [style.fontWeight]=\"buttonData?.status ? '700' : ''\" [simpoColor]=\"buttonData?.status ? '' : bgColor\"\r\n style=\"border: none;width: max-content!important;\" [style.color]=\"buttonData?.status ? accentColor : ''\" type=\"button\" id=\"headerDropdownButton\"\r\n data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".navbar-button,.status-navbar-button{font-size:14px!important}@media only screen and (max-width : 475px){.navbar-button{width:100%!important;display:flex;justify-content:flex-start}.status-navbar-button{color:#000!important;display:flex;justify-content:flex-start}.dropdown{padding-left:10px}.dropdown-toggle{display:flex;align-items:center;gap:10px}}.not-selected-dropdown{background:transparent;font-size:16px!important}.dropdown-item{font-size:15px;padding:10px;font-family:Roboto,sans-serif;border-bottom:1px solid #dee2e6}.dropdown-menu{top:40px;border:none;border-radius:10px}.button{border:none;background:none;outline:none;font-size:16px!important}\n"] }]
|
27
27
|
}], ctorParameters: () => [{ type: i1.EventsService }], propDecorators: { buttonData: [{
|
@@ -37,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
37
37
|
}], accentColor: [{
|
38
38
|
type: Input
|
39
39
|
}] } });
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLWJ1dHRvbi1lbGVtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWxlbWVudHMvbmF2YmFyLWJ1dHRvbi1lbGVtZW50L25hdmJhci1idXR0b24tZWxlbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL25hdmJhci1idXR0b24tZWxlbWVudC9uYXZiYXItYnV0dG9uLWVsZW1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7O0FBU2pFLE1BQU0sT0FBTyw0QkFBNEI7SUFTdkMsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFEaEQsc0JBQWlCLEdBQUcsaUJBQWlCLENBQUE7SUFDYSxDQUFDO0lBRW5ELFFBQVE7UUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUMvQixDQUFDO0lBRUQsVUFBVSxDQUFDLFFBQWM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFBO0lBQzlGLENBQUM7K0dBakJVLDRCQUE0QjttR0FBNUIsNEJBQTRCLGlRQ2Z6QyxvbFFBOEdBLDJzQkRuR1ksWUFBWSxvVkFBRSxlQUFlLDROQUFFLGNBQWM7OzRGQUk1Qyw0QkFBNEI7a0JBUHhDLFNBQVM7K0JBQ0UsNkJBQTZCLGNBQzNCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDO2tGQUsvQyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IEhlYWRlckJ1dHRvbk1vZGVsLCBIZWFkZXJCdXR0b25TdHlsZU1vZGVsLCBOYXZiYXJCdXR0b24gfSBmcm9tICcuLy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbCc7XHJcbmltcG9ydCB7IEhlYWRlckJ1dHRvblN0eWxlIH0gZnJvbSAnLi8uLi8uLi9zdHlsZXMvaW5kZXgnO1xyXG5pbXBvcnQgeyBFdmVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZXZlbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb2xvckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9jb2xvci5kaXJlY3RpdmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzaW1wby1uYXZiYXItYnV0dG9uLWVsZW1lbnQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBDb2xvckRpcmVjdGl2ZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL25hdmJhci1idXR0b24tZWxlbWVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL25hdmJhci1idXR0b24tZWxlbWVudC5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTmF2YmFyQnV0dG9uRWxlbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuICBASW5wdXQoKSBidXR0b25EYXRhPzogTmF2YmFyQnV0dG9uO1xyXG4gIEBJbnB1dCgpIGJ1dHRvblN0eWxlPzogSGVhZGVyQnV0dG9uU3R5bGVNb2RlbFxyXG4gIEBJbnB1dCgpIHNlbGVjdGVkU3R5bGU/OiBIZWFkZXJCdXR0b25TdHlsZVxyXG4gIEBJbnB1dCgpIGJnQ29sb3I/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2VjdGlvbklkPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGFjY2VudENvbG9yPzogc3RyaW5nO1xyXG5cclxuICBIZWFkZXJCdXR0b25TdHlsZSA9IEhlYWRlckJ1dHRvblN0eWxlXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZXZlbnRTZXJ2aWNlOiBFdmVudHNTZXJ2aWNlKXt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgY29uc29sZS5sb2codGhpcy5hY2NlbnRDb2xvcilcclxuICB9XHJcblxyXG4gIGNoYW5nZVBhZ2UocGFnZURhdGE/OiBhbnkpe1xyXG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLnBhZ2VSZWRpcmVjdGlvbkJ1dHRvbi5lbWl0KHtkYXRhOiBwYWdlRGF0YSA/IHBhZ2VEYXRhIDogdGhpcy5idXR0b25EYXRhfSlcclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cImZhbHNlXCI+XHJcbiAgPGRpdiAqbmdJZj1cInNlbGVjdGVkU3R5bGUgPT09IEhlYWRlckJ1dHRvblN0eWxlLlRBQlwiPlxyXG4gICAgPGRpdiAqbmdJZj1cIiFidXR0b25EYXRhPy5mb2xkZXJcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gc3R5bGU9XCJib3JkZXI6IG5vbmU7IHdoaXRlLXNwYWNlOiBub3dyYXA7XCIgW2lkXT1cInNlY3Rpb25JZFwiIFtzaW1wb0NvbG9yXT1cImJnQ29sb3JcIlxyXG4gICAgICBbbmdTdHlsZV09XCJ7Y29sb3I6YnV0dG9uU3R5bGU/LmNvbG9yfVwiIGNsYXNzPVwibmF2YmFyLWJ1dHRvblwiPnt7YnV0dG9uRGF0YT8ubGFiZWx9fTwvYnV0dG9uPlxyXG4gICAgICA8ZGl2IFtuZ1N0eWxlXT1cInsnYm9yZGVyLWJvdHRvbSc6JzFweCBzb2xpZCcrYnV0dG9uU3R5bGU/LmNvbG9yfVwiIChjbGljayk9XCJjaGFuZ2VQYWdlKClcIiBbaWRdPVwic2VjdGlvbklkXCI+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93blwiICpuZ0lmPVwiYnV0dG9uRGF0YT8uZm9sZGVyICYmIChidXR0b25EYXRhPy5mb2xkZXI/LnBhZ2VzPy5sZW5ndGggfHwgMCkgPiAwXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwibmF2YmFyLWJ1dHRvbiBkcm9wZG93bi10b2dnbGVcIiBbc2ltcG9Db2xvcl09XCJiZ0NvbG9yXCIgc3R5bGU9XCJib3JkZXI6IG5vbmU7IHdoaXRlLXNwYWNlOiBub3dyYXA7XCJcclxuICAgICAgW25nU3R5bGVdPVwie2NvbG9yOmJ1dHRvblN0eWxlPy5jb2xvcn1cIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICBpZD1cImhlYWRlckRyb3Bkb3duQnV0dG9uXCIgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCI+XHJcbiAgICAgICAge3tidXR0b25EYXRhPy5sYWJlbH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8ZGl2IFtuZ1N0eWxlXT1cInsnYm9yZGVyLWJvdHRvbSc6JzFweCBzb2xpZCcrYnV0dG9uU3R5bGU/LmNvbG9yfVwiIFtpZF09XCJzZWN0aW9uSWRcIj48L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIiBhcmlhLWxhYmVsbGVkYnk9XCJoZWFkZXJEcm9wZG93bkJ1dHRvblwiPlxyXG4gICAgICAgIDxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiICpuZ0Zvcj1cImxldCBwYWdlIG9mIGJ1dHRvbkRhdGE/LmZvbGRlcj8ucGFnZXNcIiAoY2xpY2spPVwiY2hhbmdlUGFnZShwYWdlKVwiPnt7cGFnZS5sYWJlbH19PC9hPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFN0eWxlID09PSBIZWFkZXJCdXR0b25TdHlsZS5ST1VORF9TVUJUTEVcIj5cclxuICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwicHJpbWFyeSBidG4tbGcgcHgtNCBtZS1tZC0yIG5hdmJhci1idXR0b25cIiAqbmdJZj1cIiFidXR0b25EYXRhPy5mb2xkZXJcIlxyXG4gICAgICBzdHlsZT1cImJvcmRlcjogbm9uZTt3aWR0aDogbWF4LWNvbnRlbnQhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiA4cHg7XCJcclxuICAgICAgW25nU3R5bGVdPVwie2NvbG9yOmJ1dHRvblN0eWxlPy5jb2xvciwnYmFja2dyb3VuZC1jb2xvcic6YnV0dG9uU3R5bGU/LnN1YnRsZUNvbG9yfVwiIChjbGljayk9XCJjaGFuZ2VQYWdlKClcIlxyXG4gICAgICBbaWRdPVwic2VjdGlvbklkXCI+e3tidXR0b25EYXRhPy5sYWJlbH19PC9idXR0b24+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25cIiAqbmdJZj1cImJ1dHRvbkRhdGE/LmZvbGRlciAmJiAoYnV0dG9uRGF0YT8uZm9sZGVyPy5wYWdlcz8ubGVuZ3RoIHx8IDApID4gMFwiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInByaW1hcnkgYnRuLWxnIHB4LTQgbWUtbWQtMiBuYXZiYXItYnV0dG9uIGRyb3Bkb3duLXRvZ2dsZVwiXHJcbiAgICAgICAgc3R5bGU9XCJib3JkZXI6IG5vbmU7d2lkdGg6IG1heC1jb250ZW50IWltcG9ydGFudDsgYm9yZGVyLXJhZGl1czogOHB4O1wiXHJcbiAgICAgICAgW25nU3R5bGVdPVwie2NvbG9yOmJ1dHRvblN0eWxlPy5jb2xvciwnYmFja2dyb3VuZC1jb2xvcic6YnV0dG9uU3R5bGU/LnN1YnRsZUNvbG9yfVwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgIGlkPVwiaGVhZGVyRHJvcGRvd25CdXR0b25cIiBkYXRhLWJzLXRvZ2dsZT1cImRyb3Bkb3duXCIgYXJpYS1oYXNwb3B1cD1cInRydWVcIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIj5cclxuICAgICAgICB7e2J1dHRvbkRhdGE/LmxhYmVsfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51XCIgYXJpYS1sYWJlbGxlZGJ5PVwiaGVhZGVyRHJvcGRvd25CdXR0b25cIj5cclxuICAgICAgICA8YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiAqbmdGb3I9XCJsZXQgcGFnZSBvZiBidXR0b25EYXRhPy5mb2xkZXI/LnBhZ2VzXCIgKGNsaWNrKT1cImNoYW5nZVBhZ2UocGFnZSlcIj57e3BhZ2UubGFiZWx9fTwvYT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRTdHlsZSA9PT0gSGVhZGVyQnV0dG9uU3R5bGUuUk9VTkRfQk9MRFwiPlxyXG4gICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJwcmltYXJ5IGJ0bi1sZyBweC00IG1lLW1kLTIgbmF2YmFyLWJ1dHRvblwiICpuZ0lmPVwiIWJ1dHRvbkRhdGE/LmZvbGRlclwiXHJcbiAgICAgIHN0eWxlPVwiYm9yZGVyOiBub25lO3dpZHRoOiBtYXgtY29udGVudCFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6IDhweDtcIlxyXG4gICAgICBbbmdTdHlsZV09XCJ7Y29sb3I6YnV0dG9uU3R5bGU/LmJvbGRDb2xvciwnYmFja2dyb3VuZC1jb2xvcic6YnV0dG9uU3R5bGU/LmJhY2tncm91bmRDb2xvcn1cIiAoY2xpY2spPVwiY2hhbmdlUGFnZSgpXCJcclxuICAgICAgW2lkXT1cInNlY3Rpb25JZFwiPnt7YnV0dG9uRGF0YT8ubGFiZWx9fTwvYnV0dG9uPlxyXG4gICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duXCIgKm5nSWY9XCJidXR0b25EYXRhPy5mb2xkZXIgJiYgKGJ1dHRvbkRhdGE/LmZvbGRlcj8ucGFnZXM/Lmxlbmd0aCB8fCAwKSA+IDBcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJwcmltYXJ5IGJ0bi1sZyBweC00IG1lLW1kLTIgbmF2YmFyLWJ1dHRvbiBkcm9wZG93bi10b2dnbGVcIlxyXG4gICAgICAgIHN0eWxlPVwiYm9yZGVyOiBub25lO3dpZHRoOiBtYXgtY29udGVudCFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6IDhweDtcIlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cIntjb2xvcjpidXR0b25TdHlsZT8uYm9sZENvbG9yLCdiYWNrZ3JvdW5kLWNvbG9yJzpidXR0b25TdHlsZT8uYmFja2dyb3VuZENvbG9yfVwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgIGlkPVwiaGVhZGVyRHJvcGRvd25CdXR0b25cIiBkYXRhLWJzLXRvZ2dsZT1cImRyb3Bkb3duXCIgYXJpYS1oYXNwb3B1cD1cInRydWVcIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIj5cclxuICAgICAgICB7e2J1dHRvbkRhdGE/LmxhYmVsfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51XCIgYXJpYS1sYWJlbGxlZGJ5PVwiaGVhZGVyRHJvcGRvd25CdXR0b25cIj5cclxuICAgICAgICA8YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiAqbmdGb3I9XCJsZXQgcGFnZSBvZiBidXR0b25EYXRhPy5mb2xkZXI/LnBhZ2VzXCIgKGNsaWNrKT1cImNoYW5nZVBhZ2UocGFnZSlcIj57e3BhZ2UubGFiZWx9fTwvYT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRTdHlsZSA9PT0gSGVhZGVyQnV0dG9uU3R5bGUuU1FVQVJFX1NVQlRMRVwiPlxyXG4gICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJwcmltYXJ5IGJ0bi1sZyBweC00IG1lLW1kLTIgbmF2YmFyLWJ1dHRvblwiICpuZ0lmPVwiIWJ1dHRvbkRhdGE/LmZvbGRlclwiXHJcbiAgICAgIHN0eWxlPVwiYm9yZGVyOiBub25lO2JvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O3dpZHRoOiBtYXgtY29udGVudCFpbXBvcnRhbnQ7XCJcclxuICAgICAgW25nU3R5bGVdPVwie2NvbG9yOmJ1dHRvblN0eWxlPy5jb2xvciwnYmFja2dyb3VuZC1jb2xvcic6YnV0dG9uU3R5bGU/LnN1YnRsZUNvbG9yfVwiIChjbGljayk9XCJjaGFuZ2VQYWdlKClcIlxyXG4gICAgICBbaWRdPVwic2VjdGlvbklkXCI+e3tidXR0b25EYXRhPy5sYWJlbH19PC9idXR0b24+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25cIiAqbmdJZj1cImJ1dHRvbkRhdGE/LmZvbGRlciAmJiAoYnV0dG9uRGF0YT8uZm9sZGVyPy5wYWdlcz8ubGVuZ3RoIHx8IDApID4gMFwiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInByaW1hcnkgYnRuLWxnIHB4LTQgbWUtbWQtMiBuYXZiYXItYnV0dG9uIGRyb3Bkb3duLXRvZ2dsZVwiXHJcbiAgICAgICAgc3R5bGU9XCJib3JkZXI6IG5vbmU7Ym9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7d2lkdGg6IG1heC1jb250ZW50IWltcG9ydGFudDtcIlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cIntjb2xvcjpidXR0b25TdHlsZT8uY29sb3IsJ2JhY2tncm91bmQtY29sb3InOmJ1dHRvblN0eWxlPy5zdWJ0bGVDb2xvcn1cIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICBpZD1cImhlYWRlckRyb3Bkb3duQnV0dG9uXCIgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCI+XHJcbiAgICAgICAge3tidXR0b25EYXRhPy5sYWJlbH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudVwiIGFyaWEtbGFiZWxsZWRieT1cImhlYWRlckRyb3Bkb3duQnV0dG9uXCI+XHJcbiAgICAgICAgPGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgKm5nRm9yPVwibGV0IHBhZ2Ugb2YgYnV0dG9uRGF0YT8uZm9sZGVyPy5wYWdlc1wiIChjbGljayk9XCJjaGFuZ2VQYWdlKHBhZ2UpXCI+e3twYWdlLmxhYmVsfX08L2E+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cInNlbGVjdGVkU3R5bGUgPT09IEhlYWRlckJ1dHRvblN0eWxlLlNRVUFSRV9CT0xEXCI+XHJcbiAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInByaW1hcnkgYnRuLWxnIHB4LTQgbWUtbWQtMiBuYXZiYXItYnV0dG9uXCIgKm5nSWY9XCIhYnV0dG9uRGF0YT8uZm9sZGVyXCJcclxuICAgICAgc3R5bGU9XCJib3JkZXI6IG5vbmU7d2lkdGg6IG1heC1jb250ZW50IWltcG9ydGFudDsgYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XCJcclxuICAgICAgW25nU3R5bGVdPVwie2NvbG9yOmJ1dHRvblN0eWxlPy5ib2xkQ29sb3IsJ2JhY2tncm91bmQtY29sb3InOmJ1dHRvblN0eWxlPy5iYWNrZ3JvdW5kQ29sb3J9XCIgKGNsaWNrKT1cImNoYW5nZVBhZ2UoKVwiXHJcbiAgICAgIFtpZF09XCJzZWN0aW9uSWRcIj57e2J1dHRvbkRhdGE/LmxhYmVsfX08L2J1dHRvbj5cclxuICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93blwiICpuZ0lmPVwiYnV0dG9uRGF0YT8uZm9sZGVyICYmIChidXR0b25EYXRhPy5mb2xkZXI/LnBhZ2VzPy5sZW5ndGggfHwgMCkgPiAwXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwicHJpbWFyeSBidG4tbGcgcHgtNCBtZS1tZC0yIG5hdmJhci1idXR0b24gZHJvcGRvd24tdG9nZ2xlXCJcclxuICAgICAgc3R5bGU9XCJib3JkZXI6IG5vbmU7d2lkdGg6IG1heC1jb250ZW50IWltcG9ydGFudDsgYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XCJcclxuICAgICAgW25nU3R5bGVdPVwie2NvbG9yOmJ1dHRvblN0eWxlPy5ib2xkQ29sb3IsJ2JhY2tncm91bmQtY29sb3InOmJ1dHRvblN0eWxlPy5iYWNrZ3JvdW5kQ29sb3J9XCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgaWQ9XCJoZWFkZXJEcm9wZG93bkJ1dHRvblwiIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIiBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiPlxyXG4gICAgICAgIHt7YnV0dG9uRGF0YT8ubGFiZWx9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIiBhcmlhLWxhYmVsbGVkYnk9XCJoZWFkZXJEcm9wZG93bkJ1dHRvblwiPlxyXG4gICAgICAgIDxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiICpuZ0Zvcj1cImxldCBwYWdlIG9mIGJ1dHRvbkRhdGE/LmZvbGRlcj8ucGFnZXNcIiAoY2xpY2spPVwiY2hhbmdlUGFnZShwYWdlKVwiPnt7cGFnZS5sYWJlbH19PC9hPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDwhLS0gPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5IGJ0bi1sZyBweC00IG1lLW1kLTJcIj57e2J1dHRvbkRhdGE/LmNvbnRlbnQ/LmxhYmVsfX08L2J1dHRvbj4gLS0+XHJcblxyXG48L2Rpdj5cclxuPGRpdj5cclxuICA8IS0tIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIHN0eWxlPVwiYm9yZGVyOiBub25lO3dpZHRoOiBtYXgtY29udGVudCFpbXBvcnRhbnQ7XCIgKm5nSWY9XCIhYnV0dG9uRGF0YT8uZm9sZGVyXCIgW3NpbXBvQ29sb3JdPVwiYnV0dG9uRGF0YT8uc3RhdHVzID8gJycgOiBiZ0NvbG9yXCJcclxuICAgIChjbGljayk9XCJjaGFuZ2VQYWdlKClcIiBbaWRdPVwic2VjdGlvbklkXCIgW3N0eWxlLmNvbG9yXT1cImJ1dHRvbkRhdGE/LnN0YXR1cyA/IGFjY2VudENvbG9yIDogJydcIiAgW3N0eWxlLmZvbnRXZWlnaHRdPVwiYnV0dG9uRGF0YT8uc3RhdHVzID8gJzcwMCcgOiAnJ1wiXHJcbiAgICBjbGFzcz1cInN0YXR1cy1uYXZiYXItYnV0dG9uXCI+e3tidXR0b25EYXRhPy5sYWJlbH19PC9idXR0b24+IC0tPlxyXG4gICAgPGJ1dHRvbiBjICpuZ0lmPVwiIWJ1dHRvbkRhdGE/LmZvbGRlclwiIFtzaW1wb0NvbG9yXT1cImJ1dHRvbkRhdGE/LnN0YXR1cyA/ICcnIDogYmdDb2xvclwiXHJcbiAgICAoY2xpY2spPVwiY2hhbmdlUGFnZSgpXCIgW2lkXT1cInNlY3Rpb25JZFwiIFtzdHlsZS5jb2xvcl09XCJidXR0b25EYXRhPy5zdGF0dXMgPyBhY2NlbnRDb2xvciA6ICcnXCIgIFtzdHlsZS5mb250V2VpZ2h0XT1cImJ1dHRvbkRhdGE/LnN0YXR1cyA/ICc3MDAnIDogJydcIlxyXG4gICAgY2xhc3M9XCJzdGF0dXMtbmF2YmFyLWJ1dHRvbiBidXR0b25cIj5cclxuICAgIHt7YnV0dG9uRGF0YT8ubGFiZWx9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPGRpdiBjbGFzcz1cImRyb3Bkb3duXCIgKm5nSWY9XCJidXR0b25EYXRhPy5mb2xkZXIgJiYgKGJ1dHRvbkRhdGE/LmZvbGRlcj8ucGFnZXM/Lmxlbmd0aCB8fCAwKSA+IDBcIj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJzdGF0dXMtbmF2YmFyLWJ1dHRvbiBub3Qtc2VsZWN0ZWQtZHJvcGRvd24gZHJvcGRvd24tdG9nZ2xlXCIgW3N0eWxlLmZvbnRXZWlnaHRdPVwiYnV0dG9uRGF0YT8uc3RhdHVzID8gJzcwMCcgOiAnJ1wiIFtzaW1wb0NvbG9yXT1cImJ1dHRvbkRhdGE/LnN0YXR1cyA/ICcnIDogYmdDb2xvclwiXHJcbiAgICAgIHN0eWxlPVwiYm9yZGVyOiBub25lO3dpZHRoOiBtYXgtY29udGVudCFpbXBvcnRhbnQ7XCIgW3N0eWxlLmNvbG9yXT1cImJ1dHRvbkRhdGE/LnN0YXR1cyA/IGFjY2VudENvbG9yIDogJydcIiB0eXBlPVwiYnV0dG9uXCIgaWQ9XCJoZWFkZXJEcm9wZG93bkJ1dHRvblwiXHJcbiAgICAgIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIiBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiPlxyXG4gICAgICB7e2J1dHRvbkRhdGE/LmxhYmVsfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIiBhcmlhLWxhYmVsbGVkYnk9XCJoZWFkZXJEcm9wZG93bkJ1dHRvblwiPlxyXG4gICAgICA8YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiAqbmdGb3I9XCJsZXQgcGFnZSBvZiBidXR0b25EYXRhPy5mb2xkZXI/LnBhZ2VzXCIgKGNsaWNrKT1cImNoYW5nZVBhZ2UocGFnZSlcIj57e3BhZ2UubGFiZWx9fTwvYT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLWJ1dHRvbi1lbGVtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWxlbWVudHMvbmF2YmFyLWJ1dHRvbi1lbGVtZW50L25hdmJhci1idXR0b24tZWxlbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL25hdmJhci1idXR0b24tZWxlbWVudC9uYXZiYXItYnV0dG9uLWVsZW1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7O0FBU2pFLE1BQU0sT0FBTyw0QkFBNEI7SUFTdkMsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFEaEQsc0JBQWlCLEdBQUcsaUJBQWlCLENBQUE7SUFDYSxDQUFDO0lBRW5ELFFBQVE7UUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUMvQixDQUFDO0lBRUQsVUFBVSxDQUFDLFFBQWM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFBO0lBQzlGLENBQUM7OEdBakJVLDRCQUE0QjtrR0FBNUIsNEJBQTRCLGlRQ2Z6QyxvbFFBOEdBLDJzQkRuR1ksWUFBWSxvVkFBRSxlQUFlLDROQUFFLGNBQWM7OzJGQUk1Qyw0QkFBNEI7a0JBUHhDLFNBQVM7K0JBQ0UsNkJBQTZCLGNBQzNCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDO2tGQUsvQyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IEhlYWRlckJ1dHRvbk1vZGVsLCBIZWFkZXJCdXR0b25TdHlsZU1vZGVsLCBOYXZiYXJCdXR0b24gfSBmcm9tICcuLy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbCc7XHJcbmltcG9ydCB7IEhlYWRlckJ1dHRvblN0eWxlIH0gZnJvbSAnLi8uLi8uLi9zdHlsZXMvaW5kZXgnO1xyXG5pbXBvcnQgeyBFdmVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZXZlbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb2xvckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9jb2xvci5kaXJlY3RpdmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzaW1wby1uYXZiYXItYnV0dG9uLWVsZW1lbnQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBDb2xvckRpcmVjdGl2ZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL25hdmJhci1idXR0b24tZWxlbWVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL25hdmJhci1idXR0b24tZWxlbWVudC5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTmF2YmFyQnV0dG9uRWxlbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuICBASW5wdXQoKSBidXR0b25EYXRhPzogTmF2YmFyQnV0dG9uO1xyXG4gIEBJbnB1dCgpIGJ1dHRvblN0eWxlPzogSGVhZGVyQnV0dG9uU3R5bGVNb2RlbFxyXG4gIEBJbnB1dCgpIHNlbGVjdGVkU3R5bGU/OiBIZWFkZXJCdXR0b25TdHlsZVxyXG4gIEBJbnB1dCgpIGJnQ29sb3I/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2VjdGlvbklkPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGFjY2VudENvbG9yPzogc3RyaW5nO1xyXG5cclxuICBIZWFkZXJCdXR0b25TdHlsZSA9IEhlYWRlckJ1dHRvblN0eWxlXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZXZlbnRTZXJ2aWNlOiBFdmVudHNTZXJ2aWNlKXt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgY29uc29sZS5sb2codGhpcy5hY2NlbnRDb2xvcilcclxuICB9XHJcblxyXG4gIGNoYW5nZVBhZ2UocGFnZURhdGE/OiBhbnkpe1xyXG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLnBhZ2VSZWRpcmVjdGlvbkJ1dHRvbi5lbWl0KHtkYXRhOiBwYWdlRGF0YSA/IHBhZ2VEYXRhIDogdGhpcy5idXR0b25EYXRhfSlcclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cImZhbHNlXCI+XHJcbiAgPGRpdiAqbmdJZj1cInNlbGVjdGVkU3R5bGUgPT09IEhlYWRlckJ1dHRvblN0eWxlLlRBQlwiPlxyXG4gICAgPGRpdiAqbmdJZj1cIiFidXR0b25EYXRhPy5mb2xkZXJcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gc3R5bGU9XCJib3JkZXI6IG5vbmU7IHdoaXRlLXNwYWNlOiBub3dyYXA7XCIgW2lkXT1cInNlY3Rpb25JZFwiIFtzaW1wb0NvbG9yXT1cImJnQ29sb3JcIlxyXG4gICAgICBbbmdTdHlsZV09XCJ7Y29sb3I6YnV0dG9uU3R5bGU/LmNvbG9yfVwiIGNsYXNzPVwibmF2YmFyLWJ1dHRvblwiPnt7YnV0dG9uRGF0YT8ubGFiZWx9fTwvYnV0dG9uPlxyXG4gICAgICA8ZGl2IFtuZ1N0eWxlXT1cInsnYm9yZGVyLWJvdHRvbSc6JzFweCBzb2xpZCcrYnV0dG9uU3R5bGU/LmNvbG9yfVwiIChjbGljayk9XCJjaGFuZ2VQYWdlKClcIiBbaWRdPVwic2VjdGlvbklkXCI+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93blwiICpuZ0lmPVwiYnV0dG9uRGF0YT8uZm9sZGVyICYmIChidXR0b25EYXRhPy5mb2xkZXI/LnBhZ2VzPy5sZW5ndGggfHwgMCkgPiAwXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwibmF2YmFyLWJ1dHRvbiBkcm9wZG93bi10b2dnbGVcIiBbc2ltcG9Db2xvcl09XCJiZ0NvbG9yXCIgc3R5bGU9XCJib3JkZXI6IG5vbmU7IHdoaXRlLXNwYWNlOiBub3dyYXA7XCJcclxuICAgICAgW25nU3R5bGVdPVwie2NvbG9yOmJ1dHRvblN0eWxlPy5jb2xvcn1cIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICBpZD1cImhlYWRlckRyb3Bkb3duQnV0dG9uXCIgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCI+XHJcbiAgICAgICAge3tidXR0b25EYXRhPy5sYWJlbH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8ZGl2IFtuZ1N0eWxlXT1cInsnYm9yZGVyLWJvdHRvbSc6JzFweCBzb2xpZCcrYnV0dG9uU3R5bGU/LmNvbG9yfVwiIFtpZF09XCJzZWN0aW9uSWRcIj48L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIiBhcmlhLWxhYmVsbGVkYnk9XCJoZWFkZXJEcm9wZG93bkJ1dHRvblwiPlxyXG4gICAgICAgIDxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiICpuZ0Zvcj1cImxldCBwYWdlIG9mIGJ1dHRvbkRhdGE/LmZvbGRlcj8ucGFnZXNcIiAoY2xpY2spPVwiY2hhbmdlUGFnZShwYWdlKVwiPnt7cGFnZS5sYWJlbH19PC9hPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFN0eWxlID09PSBIZWFkZXJCdXR0b25TdHlsZS5ST1VORF9TVUJUTEVcIj5cclxuICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwicHJpbWFyeSBidG4tbGcgcHgtNCBtZS1tZC0yIG5hdmJhci1idXR0b25cIiAqbmdJZj1cIiFidXR0b25EYXRhPy5mb2xkZXJcIlxyXG4gICAgICBzdHlsZT1cImJvcmRlcjogbm9uZTt3aWR0aDogbWF4LWNvbnRlbnQhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiA4cHg7XCJcclxuICAgICAgW25nU3R5bGVdPVwie2NvbG9yOmJ1dHRvblN0eWxlPy5jb2xvciwnYmFja2dyb3VuZC1jb2xvcic6YnV0dG9uU3R5bGU/LnN1YnRsZUNvbG9yfVwiIChjbGljayk9XCJjaGFuZ2VQYWdlKClcIlxyXG4gICAgICBbaWRdPVwic2VjdGlvbklkXCI+e3tidXR0b25EYXRhPy5sYWJlbH19PC9idXR0b24+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25cIiAqbmdJZj1cImJ1dHRvbkRhdGE/LmZvbGRlciAmJiAoYnV0dG9uRGF0YT8uZm9sZGVyPy5wYWdlcz8ubGVuZ3RoIHx8IDApID4gMFwiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInByaW1hcnkgYnRuLWxnIHB4LTQgbWUtbWQtMiBuYXZiYXItYnV0dG9uIGRyb3Bkb3duLXRvZ2dsZVwiXHJcbiAgICAgICAgc3R5bGU9XCJib3JkZXI6IG5vbmU7d2lkdGg6IG1heC1jb250ZW50IWltcG9ydGFudDsgYm9yZGVyLXJhZGl1czogOHB4O1wiXHJcbiAgICAgICAgW25nU3R5bGVdPVwie2NvbG9yOmJ1dHRvblN0eWxlPy5jb2xvciwnYmFja2dyb3VuZC1jb2xvcic6YnV0dG9uU3R5bGU/LnN1YnRsZUNvbG9yfVwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgIGlkPVwiaGVhZGVyRHJvcGRvd25CdXR0b25cIiBkYXRhLWJzLXRvZ2dsZT1cImRyb3Bkb3duXCIgYXJpYS1oYXNwb3B1cD1cInRydWVcIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIj5cclxuICAgICAgICB7e2J1dHRvbkRhdGE/LmxhYmVsfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51XCIgYXJpYS1sYWJlbGxlZGJ5PVwiaGVhZGVyRHJvcGRvd25CdXR0b25cIj5cclxuICAgICAgICA8YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiAqbmdGb3I9XCJsZXQgcGFnZSBvZiBidXR0b25EYXRhPy5mb2xkZXI/LnBhZ2VzXCIgKGNsaWNrKT1cImNoYW5nZVBhZ2UocGFnZSlcIj57e3BhZ2UubGFiZWx9fTwvYT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRTdHlsZSA9PT0gSGVhZGVyQnV0dG9uU3R5bGUuUk9VTkRfQk9MRFwiPlxyXG4gICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJwcmltYXJ5IGJ0bi1sZyBweC00IG1lLW1kLTIgbmF2YmFyLWJ1dHRvblwiICpuZ0lmPVwiIWJ1dHRvbkRhdGE/LmZvbGRlclwiXHJcbiAgICAgIHN0eWxlPVwiYm9yZGVyOiBub25lO3dpZHRoOiBtYXgtY29udGVudCFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6IDhweDtcIlxyXG4gICAgICBbbmdTdHlsZV09XCJ7Y29sb3I6YnV0dG9uU3R5bGU/LmJvbGRDb2xvciwnYmFja2dyb3VuZC1jb2xvcic6YnV0dG9uU3R5bGU/LmJhY2tncm91bmRDb2xvcn1cIiAoY2xpY2spPVwiY2hhbmdlUGFnZSgpXCJcclxuICAgICAgW2lkXT1cInNlY3Rpb25JZFwiPnt7YnV0dG9uRGF0YT8ubGFiZWx9fTwvYnV0dG9uPlxyXG4gICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duXCIgKm5nSWY9XCJidXR0b25EYXRhPy5mb2xkZXIgJiYgKGJ1dHRvbkRhdGE/LmZvbGRlcj8ucGFnZXM/Lmxlbmd0aCB8fCAwKSA+IDBcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJwcmltYXJ5IGJ0bi1sZyBweC00IG1lLW1kLTIgbmF2YmFyLWJ1dHRvbiBkcm9wZG93bi10b2dnbGVcIlxyXG4gICAgICAgIHN0eWxlPVwiYm9yZGVyOiBub25lO3dpZHRoOiBtYXgtY29udGVudCFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6IDhweDtcIlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cIntjb2xvcjpidXR0b25TdHlsZT8uYm9sZENvbG9yLCdiYWNrZ3JvdW5kLWNvbG9yJzpidXR0b25TdHlsZT8uYmFja2dyb3VuZENvbG9yfVwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgIGlkPVwiaGVhZGVyRHJvcGRvd25CdXR0b25cIiBkYXRhLWJzLXRvZ2dsZT1cImRyb3Bkb3duXCIgYXJpYS1oYXNwb3B1cD1cInRydWVcIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIj5cclxuICAgICAgICB7e2J1dHRvbkRhdGE/LmxhYmVsfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51XCIgYXJpYS1sYWJlbGxlZGJ5PVwiaGVhZGVyRHJvcGRvd25CdXR0b25cIj5cclxuICAgICAgICA8YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiAqbmdGb3I9XCJsZXQgcGFnZSBvZiBidXR0b25EYXRhPy5mb2xkZXI/LnBhZ2VzXCIgKGNsaWNrKT1cImNoYW5nZVBhZ2UocGFnZSlcIj57e3BhZ2UubGFiZWx9fTwvYT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRTdHlsZSA9PT0gSGVhZGVyQnV0dG9uU3R5bGUuU1FVQVJFX1NVQlRMRVwiPlxyXG4gICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJwcmltYXJ5IGJ0bi1sZyBweC00IG1lLW1kLTIgbmF2YmFyLWJ1dHRvblwiICpuZ0lmPVwiIWJ1dHRvbkRhdGE/LmZvbGRlclwiXHJcbiAgICAgIHN0eWxlPVwiYm9yZGVyOiBub25lO2JvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O3dpZHRoOiBtYXgtY29udGVudCFpbXBvcnRhbnQ7XCJcclxuICAgICAgW25nU3R5bGVdPVwie2NvbG9yOmJ1dHRvblN0eWxlPy5jb2xvciwnYmFja2dyb3VuZC1jb2xvcic6YnV0dG9uU3R5bGU/LnN1YnRsZUNvbG9yfVwiIChjbGljayk9XCJjaGFuZ2VQYWdlKClcIlxyXG4gICAgICBbaWRdPVwic2VjdGlvbklkXCI+e3tidXR0b25EYXRhPy5sYWJlbH19PC9idXR0b24+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25cIiAqbmdJZj1cImJ1dHRvbkRhdGE/LmZvbGRlciAmJiAoYnV0dG9uRGF0YT8uZm9sZGVyPy5wYWdlcz8ubGVuZ3RoIHx8IDApID4gMFwiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInByaW1hcnkgYnRuLWxnIHB4LTQgbWUtbWQtMiBuYXZiYXItYnV0dG9uIGRyb3Bkb3duLXRvZ2dsZVwiXHJcbiAgICAgICAgc3R5bGU9XCJib3JkZXI6IG5vbmU7Ym9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7d2lkdGg6IG1heC1jb250ZW50IWltcG9ydGFudDtcIlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cIntjb2xvcjpidXR0b25TdHlsZT8uY29sb3IsJ2JhY2tncm91bmQtY29sb3InOmJ1dHRvblN0eWxlPy5zdWJ0bGVDb2xvcn1cIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICBpZD1cImhlYWRlckRyb3Bkb3duQnV0dG9uXCIgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCI+XHJcbiAgICAgICAge3tidXR0b25EYXRhPy5sYWJlbH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudVwiIGFyaWEtbGFiZWxsZWRieT1cImhlYWRlckRyb3Bkb3duQnV0dG9uXCI+XHJcbiAgICAgICAgPGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgKm5nRm9yPVwibGV0IHBhZ2Ugb2YgYnV0dG9uRGF0YT8uZm9sZGVyPy5wYWdlc1wiIChjbGljayk9XCJjaGFuZ2VQYWdlKHBhZ2UpXCI+e3twYWdlLmxhYmVsfX08L2E+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cInNlbGVjdGVkU3R5bGUgPT09IEhlYWRlckJ1dHRvblN0eWxlLlNRVUFSRV9CT0xEXCI+XHJcbiAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInByaW1hcnkgYnRuLWxnIHB4LTQgbWUtbWQtMiBuYXZiYXItYnV0dG9uXCIgKm5nSWY9XCIhYnV0dG9uRGF0YT8uZm9sZGVyXCJcclxuICAgICAgc3R5bGU9XCJib3JkZXI6IG5vbmU7d2lkdGg6IG1heC1jb250ZW50IWltcG9ydGFudDsgYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XCJcclxuICAgICAgW25nU3R5bGVdPVwie2NvbG9yOmJ1dHRvblN0eWxlPy5ib2xkQ29sb3IsJ2JhY2tncm91bmQtY29sb3InOmJ1dHRvblN0eWxlPy5iYWNrZ3JvdW5kQ29sb3J9XCIgKGNsaWNrKT1cImNoYW5nZVBhZ2UoKVwiXHJcbiAgICAgIFtpZF09XCJzZWN0aW9uSWRcIj57e2J1dHRvbkRhdGE/LmxhYmVsfX08L2J1dHRvbj5cclxuICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93blwiICpuZ0lmPVwiYnV0dG9uRGF0YT8uZm9sZGVyICYmIChidXR0b25EYXRhPy5mb2xkZXI/LnBhZ2VzPy5sZW5ndGggfHwgMCkgPiAwXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwicHJpbWFyeSBidG4tbGcgcHgtNCBtZS1tZC0yIG5hdmJhci1idXR0b24gZHJvcGRvd24tdG9nZ2xlXCJcclxuICAgICAgc3R5bGU9XCJib3JkZXI6IG5vbmU7d2lkdGg6IG1heC1jb250ZW50IWltcG9ydGFudDsgYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XCJcclxuICAgICAgW25nU3R5bGVdPVwie2NvbG9yOmJ1dHRvblN0eWxlPy5ib2xkQ29sb3IsJ2JhY2tncm91bmQtY29sb3InOmJ1dHRvblN0eWxlPy5iYWNrZ3JvdW5kQ29sb3J9XCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgaWQ9XCJoZWFkZXJEcm9wZG93bkJ1dHRvblwiIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIiBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiPlxyXG4gICAgICAgIHt7YnV0dG9uRGF0YT8ubGFiZWx9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIiBhcmlhLWxhYmVsbGVkYnk9XCJoZWFkZXJEcm9wZG93bkJ1dHRvblwiPlxyXG4gICAgICAgIDxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiICpuZ0Zvcj1cImxldCBwYWdlIG9mIGJ1dHRvbkRhdGE/LmZvbGRlcj8ucGFnZXNcIiAoY2xpY2spPVwiY2hhbmdlUGFnZShwYWdlKVwiPnt7cGFnZS5sYWJlbH19PC9hPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDwhLS0gPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5IGJ0bi1sZyBweC00IG1lLW1kLTJcIj57e2J1dHRvbkRhdGE/LmNvbnRlbnQ/LmxhYmVsfX08L2J1dHRvbj4gLS0+XHJcblxyXG48L2Rpdj5cclxuPGRpdj5cclxuICA8IS0tIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIHN0eWxlPVwiYm9yZGVyOiBub25lO3dpZHRoOiBtYXgtY29udGVudCFpbXBvcnRhbnQ7XCIgKm5nSWY9XCIhYnV0dG9uRGF0YT8uZm9sZGVyXCIgW3NpbXBvQ29sb3JdPVwiYnV0dG9uRGF0YT8uc3RhdHVzID8gJycgOiBiZ0NvbG9yXCJcclxuICAgIChjbGljayk9XCJjaGFuZ2VQYWdlKClcIiBbaWRdPVwic2VjdGlvbklkXCIgW3N0eWxlLmNvbG9yXT1cImJ1dHRvbkRhdGE/LnN0YXR1cyA/IGFjY2VudENvbG9yIDogJydcIiAgW3N0eWxlLmZvbnRXZWlnaHRdPVwiYnV0dG9uRGF0YT8uc3RhdHVzID8gJzcwMCcgOiAnJ1wiXHJcbiAgICBjbGFzcz1cInN0YXR1cy1uYXZiYXItYnV0dG9uXCI+e3tidXR0b25EYXRhPy5sYWJlbH19PC9idXR0b24+IC0tPlxyXG4gICAgPGJ1dHRvbiBjICpuZ0lmPVwiIWJ1dHRvbkRhdGE/LmZvbGRlclwiIFtzaW1wb0NvbG9yXT1cImJ1dHRvbkRhdGE/LnN0YXR1cyA/ICcnIDogYmdDb2xvclwiXHJcbiAgICAoY2xpY2spPVwiY2hhbmdlUGFnZSgpXCIgW2lkXT1cInNlY3Rpb25JZFwiIFtzdHlsZS5jb2xvcl09XCJidXR0b25EYXRhPy5zdGF0dXMgPyBhY2NlbnRDb2xvciA6ICcnXCIgIFtzdHlsZS5mb250V2VpZ2h0XT1cImJ1dHRvbkRhdGE/LnN0YXR1cyA/ICc3MDAnIDogJydcIlxyXG4gICAgY2xhc3M9XCJzdGF0dXMtbmF2YmFyLWJ1dHRvbiBidXR0b25cIj5cclxuICAgIHt7YnV0dG9uRGF0YT8ubGFiZWx9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPGRpdiBjbGFzcz1cImRyb3Bkb3duXCIgKm5nSWY9XCJidXR0b25EYXRhPy5mb2xkZXIgJiYgKGJ1dHRvbkRhdGE/LmZvbGRlcj8ucGFnZXM/Lmxlbmd0aCB8fCAwKSA+IDBcIj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJzdGF0dXMtbmF2YmFyLWJ1dHRvbiBub3Qtc2VsZWN0ZWQtZHJvcGRvd24gZHJvcGRvd24tdG9nZ2xlXCIgW3N0eWxlLmZvbnRXZWlnaHRdPVwiYnV0dG9uRGF0YT8uc3RhdHVzID8gJzcwMCcgOiAnJ1wiIFtzaW1wb0NvbG9yXT1cImJ1dHRvbkRhdGE/LnN0YXR1cyA/ICcnIDogYmdDb2xvclwiXHJcbiAgICAgIHN0eWxlPVwiYm9yZGVyOiBub25lO3dpZHRoOiBtYXgtY29udGVudCFpbXBvcnRhbnQ7XCIgW3N0eWxlLmNvbG9yXT1cImJ1dHRvbkRhdGE/LnN0YXR1cyA/IGFjY2VudENvbG9yIDogJydcIiB0eXBlPVwiYnV0dG9uXCIgaWQ9XCJoZWFkZXJEcm9wZG93bkJ1dHRvblwiXHJcbiAgICAgIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIiBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiPlxyXG4gICAgICB7e2J1dHRvbkRhdGE/LmxhYmVsfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIiBhcmlhLWxhYmVsbGVkYnk9XCJoZWFkZXJEcm9wZG93bkJ1dHRvblwiPlxyXG4gICAgICA8YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiAqbmdGb3I9XCJsZXQgcGFnZSBvZiBidXR0b25EYXRhPy5mb2xkZXI/LnBhZ2VzXCIgKGNsaWNrKT1cImNoYW5nZVBhZ2UocGFnZSlcIj57e3BhZ2UubGFiZWx9fTwvYT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
@@ -44,11 +44,11 @@ export class PortfolioComponent {
|
|
44
44
|
{ icon: "https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/776806c1739529625699Group%201707483072.png", text: "Total Sq.ft Owned", count: "43" }
|
45
45
|
];
|
46
46
|
}
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
48
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.
|
47
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: PortfolioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
48
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: PortfolioComponent, isStandalone: true, selector: "simpo-portfolio", ngImport: i0, template: "<section class=\"main-container\">\r\n <div class=\"head-container\">\r\n <div class=\"icon-div text-end\"><mat-icon class=\"clr-white\">remove_red_eye</mat-icon></div>\r\n <div class=\"top-text\">Current Portfolio Value</div>\r\n <div class=\"main-text\">\u20B96.22 Lac</div>\r\n <div class=\"bottom-text\">Investment increase by : <span class=\"amnt clr-white\">\r\n \u20B954,290</span> <span class=\"percent-text\">+2.1%</span></div>\r\n </div>\r\n <div class=\"content-area\">\r\n <div class=\"inside-header\">\r\n <div class=\"left-section\">Investor Overview</div>\r\n <div class=\"right-section d-flex\">\r\n <div class=\"input-box\">\r\n <div class=\"filter-container d-flex align-items-center\">\r\n <div class=\"filter-item\">\r\n <input type=\"date\" class=\"custom-date-picker\" />\r\n </div>\r\n <div class=\"filter-item\">\r\n <select class=\"custom-dropdown\">\r\n <option *ngFor=\"let ele of dropDownValues\">{{ele}}</option>\r\n </select>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"inside-content\">\r\n <div class=\"content1 d-flex justify-content-between\">\r\n <div class=\"d1\" *ngFor=\"let ele of topCards\">\r\n <div class=\"d1_name\">{{ele.text}}</div>\r\n <div class=\"card1 d-flex align-items-center g-10\">\r\n <div class=\"card1_img d-flex align-items-center justify-content-center\">\r\n <div class=\"d1_img\">\r\n <img [src]=\"ele.icon\" alt=\"img1\">\r\n </div>\r\n </div>\r\n <div class=\"no_of\">{{ele.count}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"content2 d-flex align-items-center\">\r\n <div class=\"d2 d-flex\">\r\n <div class=\"left_d2\">\r\n <div class=\"d2_value\" *ngFor=\"let value of property_list\">\r\n <div class=\"value_left\">\r\n <div class=\"value_color\" [ngStyle]=\"{'background-color': value.color}\"></div>\r\n <div class=\"property_name\">{{value.name}}</div>\r\n </div>\r\n <div class=\"value_right\">\r\n <div>{{value.sq_ft}}</div>\r\n <div class=\"constant_line\">|</div>\r\n <div>{{value.price}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d3\">\r\n <div class=\"d3_card1 common-style-1\">\r\n <div class=\"d3_card1_name\">Internal Rate of Return</div>\r\n <div class=\"value_d3_card1_name\"> 12%</div>\r\n </div>\r\n <div class=\"d3_card2 common-style-1\">\r\n <div class=\"d3_card2_name\">Annual Return</div>\r\n <div class=\"value_d3_card1_name\"> 10%</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>", styles: ["*{font-family:DM Sans}mat-icon{font-family:Material Icons!important}.head-container{background:linear-gradient(180deg,#0d1b2a,#172b40);padding:15px;border-radius:10px}.clr-white{color:#fff!important}.top-text{font-size:14px;font-weight:600;line-height:24px;color:#fff9;margin-bottom:15px}.main-text{font-weight:700;font-size:40px;line-height:24px;color:#fff;margin-bottom:15px}.bottom-text{font-weight:500;font-size:14px;line-height:24px;color:#fff9}.percent-text{color:#36b37e}.content1{gap:2rem;padding:15px 0}.d1_img img{width:40px;height:auto}.no_of{font-size:28px;font-weight:600;line-height:24px;color:#01161e}.top_navigation_section{width:100%;height:6vh;padding:4px 2px}.backToLeads{color:#000!important}.arrowLeft{position:relative;top:2px}.edit-icon,.delete-icon{border:1px solid #F1F1F1;padding:4px 8px;border-radius:8px}.mainSection_es{height:calc(100vh + -0px);z-index:2;position:absolute;top:0;background:#fff;width:100%;overflow-y:hidden}.top_navigation{height:calc(7vh + -0px)}.botton_rendering{height:calc(93vh + -0px)}.leadDetailsSection_es{width:20%;height:100%}.activityAndNotesSection_es{width:90%;padding:5px 23px;height:100%;margin-left:5%}.companyDetailsSection-es{width:15%;padding:10px;height:100%}.content-area{background:#f1f6ff;border-radius:8px;padding:10px 0;height:calc(65vh - 72px);gap:1px}.inside-header{height:7vh;display:flex;flex-direction:row;justify-content:space-between}.left-section{align-content:center;font-weight:600;font-size:16px;padding-left:25px;color:#000}.cal{width:30%}.inside-content{border-radius:8px;height:calc(60vh - 72px);display:flex;flex-direction:column;gap:2px}.d1{background-color:#fff;border-radius:10px;border:1px solid rgba(0,0,0,.03);padding:15px;width:30%}.d1_name{text-align:start;font-size:16px;font-weight:500;line-height:24px;color:#01161e;margin-bottom:15px}.card1{gap:8px}.content2{gap:5%;border-radius:8px;width:100%}.d2{background-color:#fff;border-radius:8px;padding:4px 5px;height:25vh;width:65%;flex-direction:row;gap:2px}.left_d2{width:60%;align-content:center;height:auto;overflow-y:scroll;padding:12px}.d2_img{width:36%;align-content:center;height:20vh}.d3{border-radius:8px;width:30%;display:flex;flex-direction:column;gap:4px}.d3_card1{border-left:8px solid rgb(52,84,177)!important}.d3_card2{border-left:8px solid rgb(39,29,109)!important}.common-style-1{background-color:#fff;border-radius:8px;padding:15px;margin-bottom:15px}.d3_card1_name,.d3_card2_name{text-align:start;font-size:16px;line-height:24px;margin-bottom:10px;font-weight:500;color:#01161e}.value_d3_card1_name{text-align:start;font-size:28px;line-height:24px;font-weight:700;color:#01161e}.d2_value{display:flex;justify-content:space-between;padding:6px 2px}.value_left{display:flex;gap:8px;font-family:sans-serif;font-weight:500}.value_color{width:8px;height:21px;border-radius:3px}.value_right{display:flex;gap:2px;width:44%;justify-content:space-evenly}.filter-container{gap:10px}.filter-item{width:12vw}.custom-date-picker,.custom-dropdown{width:100%;padding:10px!important;border:1px solid rgba(0,0,0,.03);border-radius:8px;background-color:#fff;cursor:pointer;appearance:none;outline:none;font-size:14px;font-weight:500;line-height:24px;color:#000}.custom-dropdown{background-position:right 10px center;background-size:14px;padding-right:30px}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
|
49
49
|
}
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: PortfolioComponent, decorators: [{
|
51
51
|
type: Component,
|
52
|
-
args: [{ selector: 'simpo-portfolio', standalone: true, imports: [MatIcon, CommonModule], template: "<section class=\"main-container\">\n <div class=\"head-container\">\n <div class=\"icon-div text-end\"><mat-icon class=\"clr-white\">remove_red_eye</mat-icon></div>\n <div class=\"top-text\">Current Portfolio Value</div>\n <div class=\"main-text\">\u20B96.22 Lac</div>\n <div class=\"bottom-text\">Investment increase by : <span class=\"amnt clr-white\">\n \u20B954,290</span> <span class=\"percent-text\">+2.1%</span></div>\n </div>\n <div class=\"content-area\">\n <div class=\"inside-header\">\n <div class=\"left-section\">Investor Overview</div>\n <div class=\"right-section d-flex\">\n <div class=\"input-box\">\n <div class=\"filter-container d-flex align-items-center\">\n <div class=\"filter-item\">\n <input type=\"date\" class=\"custom-date-picker\" />\n </div>\n <div class=\"filter-item\">\n <select class=\"custom-dropdown\">\n <option *ngFor=\"let ele of dropDownValues\">{{ele}}</option>\n </select>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"inside-content\">\n <div class=\"content1 d-flex justify-content-between\">\n <div class=\"d1\" *ngFor=\"let ele of topCards\">\n <div class=\"d1_name\">{{ele.text}}</div>\n <div class=\"card1 d-flex align-items-center g-10\">\n <div class=\"card1_img d-flex align-items-center justify-content-center\">\n <div class=\"d1_img\">\n <img [src]=\"ele.icon\" alt=\"img1\">\n </div>\n </div>\n <div class=\"no_of\">{{ele.count}}</div>\n </div>\n </div>\n </div>\n <div class=\"content2 d-flex align-items-center\">\n <div class=\"d2 d-flex\">\n <div class=\"left_d2\">\n <div class=\"d2_value\" *ngFor=\"let value of property_list\">\n <div class=\"value_left\">\n <div class=\"value_color\" [ngStyle]=\"{'background-color': value.color}\"></div>\n <div class=\"property_name\">{{value.name}}</div>\n </div>\n <div class=\"value_right\">\n <div>{{value.sq_ft}}</div>\n <div class=\"constant_line\">|</div>\n <div>{{value.price}}</div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"d3\">\n <div class=\"d3_card1 common-style-1\">\n <div class=\"d3_card1_name\">Internal Rate of Return</div>\n <div class=\"value_d3_card1_name\"> 12%</div>\n </div>\n <div class=\"d3_card2 common-style-1\">\n <div class=\"d3_card2_name\">Annual Return</div>\n <div class=\"value_d3_card1_name\"> 10%</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</section>", styles: ["*{font-family:DM Sans}mat-icon{font-family:Material Icons!important}.head-container{background:linear-gradient(180deg,#0d1b2a,#172b40);padding:15px;border-radius:10px}.clr-white{color:#fff!important}.top-text{font-size:14px;font-weight:600;line-height:24px;color:#fff9;margin-bottom:15px}.main-text{font-weight:700;font-size:40px;line-height:24px;color:#fff;margin-bottom:15px}.bottom-text{font-weight:500;font-size:14px;line-height:24px;color:#fff9}.percent-text{color:#36b37e}.content1{gap:2rem;padding:15px 0}.d1_img img{width:40px;height:auto}.no_of{font-size:28px;font-weight:600;line-height:24px;color:#01161e}.top_navigation_section{width:100%;height:6vh;padding:4px 2px}.backToLeads{color:#000!important}.arrowLeft{position:relative;top:2px}.edit-icon,.delete-icon{border:1px solid #F1F1F1;padding:4px 8px;border-radius:8px}.mainSection_es{height:calc(100vh + -0px);z-index:2;position:absolute;top:0;background:#fff;width:100%;overflow-y:hidden}.top_navigation{height:calc(7vh + -0px)}.botton_rendering{height:calc(93vh + -0px)}.leadDetailsSection_es{width:20%;height:100%}.activityAndNotesSection_es{width:90%;padding:5px 23px;height:100%;margin-left:5%}.companyDetailsSection-es{width:15%;padding:10px;height:100%}.content-area{background:#f1f6ff;border-radius:8px;padding:10px 0;height:calc(65vh - 72px);gap:1px}.inside-header{height:7vh;display:flex;flex-direction:row;justify-content:space-between}.left-section{align-content:center;font-weight:600;font-size:16px;padding-left:25px;color:#000}.cal{width:30%}.inside-content{border-radius:8px;height:calc(60vh - 72px);display:flex;flex-direction:column;gap:2px}.d1{background-color:#fff;border-radius:10px;border:1px solid rgba(0,0,0,.03);padding:15px;width:30%}.d1_name{text-align:start;font-size:16px;font-weight:500;line-height:24px;color:#01161e;margin-bottom:15px}.card1{gap:8px}.content2{gap:5%;border-radius:8px;width:100%}.d2{background-color:#fff;border-radius:8px;padding:4px 5px;height:25vh;width:65%;flex-direction:row;gap:2px}.left_d2{width:60%;align-content:center;height:auto;overflow-y:scroll;padding:12px}.d2_img{width:36%;align-content:center;height:20vh}.d3{border-radius:8px;width:30%;display:flex;flex-direction:column;gap:4px}.d3_card1{border-left:8px solid rgb(52,84,177)!important}.d3_card2{border-left:8px solid rgb(39,29,109)!important}.common-style-1{background-color:#fff;border-radius:8px;padding:15px;margin-bottom:15px}.d3_card1_name,.d3_card2_name{text-align:start;font-size:16px;line-height:24px;margin-bottom:10px;font-weight:500;color:#01161e}.value_d3_card1_name{text-align:start;font-size:28px;line-height:24px;font-weight:700;color:#01161e}.d2_value{display:flex;justify-content:space-between;padding:6px 2px}.value_left{display:flex;gap:8px;font-family:sans-serif;font-weight:500}.value_color{width:8px;height:21px;border-radius:3px}.value_right{display:flex;gap:2px;width:44%;justify-content:space-evenly}.filter-container{gap:10px}.filter-item{width:12vw}.custom-date-picker,.custom-dropdown{width:100%;padding:10px!important;border:1px solid rgba(0,0,0,.03);border-radius:8px;background-color:#fff;cursor:pointer;appearance:none;outline:none;font-size:14px;font-weight:500;line-height:24px;color:#000}.custom-dropdown{background-position:right 10px center;background-size:14px;padding-right:30px}\n"] }]
|
52
|
+
args: [{ selector: 'simpo-portfolio', standalone: true, imports: [MatIcon, CommonModule], template: "<section class=\"main-container\">\r\n <div class=\"head-container\">\r\n <div class=\"icon-div text-end\"><mat-icon class=\"clr-white\">remove_red_eye</mat-icon></div>\r\n <div class=\"top-text\">Current Portfolio Value</div>\r\n <div class=\"main-text\">\u20B96.22 Lac</div>\r\n <div class=\"bottom-text\">Investment increase by : <span class=\"amnt clr-white\">\r\n \u20B954,290</span> <span class=\"percent-text\">+2.1%</span></div>\r\n </div>\r\n <div class=\"content-area\">\r\n <div class=\"inside-header\">\r\n <div class=\"left-section\">Investor Overview</div>\r\n <div class=\"right-section d-flex\">\r\n <div class=\"input-box\">\r\n <div class=\"filter-container d-flex align-items-center\">\r\n <div class=\"filter-item\">\r\n <input type=\"date\" class=\"custom-date-picker\" />\r\n </div>\r\n <div class=\"filter-item\">\r\n <select class=\"custom-dropdown\">\r\n <option *ngFor=\"let ele of dropDownValues\">{{ele}}</option>\r\n </select>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"inside-content\">\r\n <div class=\"content1 d-flex justify-content-between\">\r\n <div class=\"d1\" *ngFor=\"let ele of topCards\">\r\n <div class=\"d1_name\">{{ele.text}}</div>\r\n <div class=\"card1 d-flex align-items-center g-10\">\r\n <div class=\"card1_img d-flex align-items-center justify-content-center\">\r\n <div class=\"d1_img\">\r\n <img [src]=\"ele.icon\" alt=\"img1\">\r\n </div>\r\n </div>\r\n <div class=\"no_of\">{{ele.count}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"content2 d-flex align-items-center\">\r\n <div class=\"d2 d-flex\">\r\n <div class=\"left_d2\">\r\n <div class=\"d2_value\" *ngFor=\"let value of property_list\">\r\n <div class=\"value_left\">\r\n <div class=\"value_color\" [ngStyle]=\"{'background-color': value.color}\"></div>\r\n <div class=\"property_name\">{{value.name}}</div>\r\n </div>\r\n <div class=\"value_right\">\r\n <div>{{value.sq_ft}}</div>\r\n <div class=\"constant_line\">|</div>\r\n <div>{{value.price}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d3\">\r\n <div class=\"d3_card1 common-style-1\">\r\n <div class=\"d3_card1_name\">Internal Rate of Return</div>\r\n <div class=\"value_d3_card1_name\"> 12%</div>\r\n </div>\r\n <div class=\"d3_card2 common-style-1\">\r\n <div class=\"d3_card2_name\">Annual Return</div>\r\n <div class=\"value_d3_card1_name\"> 10%</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>", styles: ["*{font-family:DM Sans}mat-icon{font-family:Material Icons!important}.head-container{background:linear-gradient(180deg,#0d1b2a,#172b40);padding:15px;border-radius:10px}.clr-white{color:#fff!important}.top-text{font-size:14px;font-weight:600;line-height:24px;color:#fff9;margin-bottom:15px}.main-text{font-weight:700;font-size:40px;line-height:24px;color:#fff;margin-bottom:15px}.bottom-text{font-weight:500;font-size:14px;line-height:24px;color:#fff9}.percent-text{color:#36b37e}.content1{gap:2rem;padding:15px 0}.d1_img img{width:40px;height:auto}.no_of{font-size:28px;font-weight:600;line-height:24px;color:#01161e}.top_navigation_section{width:100%;height:6vh;padding:4px 2px}.backToLeads{color:#000!important}.arrowLeft{position:relative;top:2px}.edit-icon,.delete-icon{border:1px solid #F1F1F1;padding:4px 8px;border-radius:8px}.mainSection_es{height:calc(100vh + -0px);z-index:2;position:absolute;top:0;background:#fff;width:100%;overflow-y:hidden}.top_navigation{height:calc(7vh + -0px)}.botton_rendering{height:calc(93vh + -0px)}.leadDetailsSection_es{width:20%;height:100%}.activityAndNotesSection_es{width:90%;padding:5px 23px;height:100%;margin-left:5%}.companyDetailsSection-es{width:15%;padding:10px;height:100%}.content-area{background:#f1f6ff;border-radius:8px;padding:10px 0;height:calc(65vh - 72px);gap:1px}.inside-header{height:7vh;display:flex;flex-direction:row;justify-content:space-between}.left-section{align-content:center;font-weight:600;font-size:16px;padding-left:25px;color:#000}.cal{width:30%}.inside-content{border-radius:8px;height:calc(60vh - 72px);display:flex;flex-direction:column;gap:2px}.d1{background-color:#fff;border-radius:10px;border:1px solid rgba(0,0,0,.03);padding:15px;width:30%}.d1_name{text-align:start;font-size:16px;font-weight:500;line-height:24px;color:#01161e;margin-bottom:15px}.card1{gap:8px}.content2{gap:5%;border-radius:8px;width:100%}.d2{background-color:#fff;border-radius:8px;padding:4px 5px;height:25vh;width:65%;flex-direction:row;gap:2px}.left_d2{width:60%;align-content:center;height:auto;overflow-y:scroll;padding:12px}.d2_img{width:36%;align-content:center;height:20vh}.d3{border-radius:8px;width:30%;display:flex;flex-direction:column;gap:4px}.d3_card1{border-left:8px solid rgb(52,84,177)!important}.d3_card2{border-left:8px solid rgb(39,29,109)!important}.common-style-1{background-color:#fff;border-radius:8px;padding:15px;margin-bottom:15px}.d3_card1_name,.d3_card2_name{text-align:start;font-size:16px;line-height:24px;margin-bottom:10px;font-weight:500;color:#01161e}.value_d3_card1_name{text-align:start;font-size:28px;line-height:24px;font-weight:700;color:#01161e}.d2_value{display:flex;justify-content:space-between;padding:6px 2px}.value_left{display:flex;gap:8px;font-family:sans-serif;font-weight:500}.value_color{width:8px;height:21px;border-radius:3px}.value_right{display:flex;gap:2px;width:44%;justify-content:space-evenly}.filter-container{gap:10px}.filter-item{width:12vw}.custom-date-picker,.custom-dropdown{width:100%;padding:10px!important;border:1px solid rgba(0,0,0,.03);border-radius:8px;background-color:#fff;cursor:pointer;appearance:none;outline:none;font-size:14px;font-weight:500;line-height:24px;color:#000}.custom-dropdown{background-position:right 10px center;background-size:14px;padding-right:30px}\n"] }]
|
53
53
|
}] });
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGZvbGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWxlbWVudHMvcG9ydGZvbGlvL3BvcnRmb2xpby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL3BvcnRmb2xpby9wb3J0Zm9saW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFTakQsTUFBTSxPQUFPLGtCQUFrQjtJQVAvQjtRQVNFLGtCQUFhLEdBQUU7WUFDYjtnQkFDRSxJQUFJLEVBQUUsWUFBWTtnQkFDbEIsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLEtBQUssRUFBRSxRQUFRO2dCQUNmLEtBQUssRUFBQyxTQUFTO2FBQ2hCO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLGNBQWM7Z0JBQ3BCLEtBQUssRUFBRSxRQUFRO2dCQUNmLEtBQUssRUFBRSxPQUFPO2dCQUNkLEtBQUssRUFBQyxTQUFTO2FBQ2hCO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFlBQVk7Z0JBQ2xCLEtBQUssRUFBRSxTQUFTO2dCQUNoQixLQUFLLEVBQUUsUUFBUTtnQkFDZixLQUFLLEVBQUMsU0FBUzthQUNoQjtZQUNEO2dCQUNFLElBQUksRUFBRSxhQUFhO2dCQUNuQixLQUFLLEVBQUUsU0FBUztnQkFDaEIsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsS0FBSyxFQUFDLEtBQUs7YUFDWjtZQUNEO2dCQUNFLElBQUksRUFBRSxnQkFBZ0I7Z0JBQ3RCLEtBQUssRUFBRSxTQUFTO2dCQUNoQixLQUFLLEVBQUUsUUFBUTtnQkFDZixLQUFLLEVBQUMsUUFBUTthQUNmO1NBQ0YsQ0FBQTtRQUVELG1CQUFjLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBQyxZQUFZLEVBQUMsWUFBWSxDQUFDLENBQUE7UUFFN0QsYUFBUSxHQUFHO1lBQ1QsRUFBQyxJQUFJLEVBQUcsaUhBQWlILEVBQUMsSUFBSSxFQUFDLGtCQUFrQixFQUFDLEtBQUssRUFBQyxHQUFHLEVBQUM7WUFDNUosRUFBQyxJQUFJLEVBQUcsaUhBQWlILEVBQUMsSUFBSSxFQUFDLHdCQUF3QixFQUFDLEtBQUssRUFBQyxRQUFRLEVBQUM7WUFDdkssRUFBQyxJQUFJLEVBQUcsdUdBQXVHLEVBQUMsSUFBSSxFQUFDLG1CQUFtQixFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUM7U0FDckosQ0FBQTtLQUVGOzhHQTNDWSxrQkFBa0I7a0dBQWxCLGtCQUFrQiwyRUNYL0IsNm9IQXFFVSxneUdEOURFLE9BQU8sMElBQUMsWUFBWTs7MkZBSW5CLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1AsQ0FBQyxPQUFPLEVBQUMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ltcG8tcG9ydGZvbGlvJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtNYXRJY29uLENvbW1vbk1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BvcnRmb2xpby5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3BvcnRmb2xpby5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUG9ydGZvbGlvQ29tcG9uZW50IHtcclxuXHJcbiAgcHJvcGVydHlfbGlzdCA9W1xyXG4gICAge1xyXG4gICAgICBuYW1lIDonQW5hbnRhIG9uZScsXHJcbiAgICAgIHNxX2Z0IDonMTMgU3FmdCcsXHJcbiAgICAgIHByaWNlOiAnMTIuMSBMJyxcclxuICAgICAgY29sb3I6JyNmYWE1NDgnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lIDonQW5hbnRhIEhpbGxzJyxcclxuICAgICAgc3FfZnQgOic4IFNxZnQnLFxyXG4gICAgICBwcmljZTogJzkuNyBMJyxcclxuICAgICAgY29sb3I6JyM2YmE5ZDknXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lIDonTGVvIFRvd2VycycsXHJcbiAgICAgIHNxX2Z0IDonMTAgU3FmdCcsXHJcbiAgICAgIHByaWNlOiAnMTAuMSBMJyxcclxuICAgICAgY29sb3I6JyM2YmQ5OTAnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lIDonTkNEIFZpdmFudGEnLFxyXG4gICAgICBzcV9mdCA6JzEwIFNxZnQnLFxyXG4gICAgICBwcmljZTogJzIwLjEgTCcsXHJcbiAgICAgIGNvbG9yOidyZWQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lIDonTVkgSG9tZSBBYm9vamEnLFxyXG4gICAgICBzcV9mdCA6JzEwIFNxZnQnLFxyXG4gICAgICBwcmljZTogJzQwLjEgTCcsXHJcbiAgICAgIGNvbG9yOid5ZWxsb3cnXHJcbiAgICB9XHJcbiAgXVxyXG5cclxuICBkcm9wRG93blZhbHVlcyA9IFtcIkFsbCBQcm9wZXJ0aWVzXCIsXCJQcm9wZXJ0eSAxXCIsXCJQcm9wZXJ0eSAyXCJdXHJcblxyXG4gIHRvcENhcmRzID0gW1xyXG4gICAge2ljb24gOiBcImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvOTkwNzE4YzE3Mzk1Mjk2MDY0ODlHcm91cCUyMDE3MDc0ODMwNzIlMjAlMjgxJTI5LnBuZ1wiLHRleHQ6XCJQcm9wZXJ0aWVzIE93bmVkXCIsY291bnQ6XCIyXCJ9LFxyXG4gICAge2ljb24gOiBcImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvNjgxODY3YzE3Mzk1Mjk2NzE0MjJHcm91cCUyMDE3MDc0ODMwNzIlMjAlMjgyJTI5LnBuZ1wiLHRleHQ6XCJUb3RhbCBJbnZlc3RtZW50IFZhbHVlXCIsY291bnQ6XCI1LjczIExcIn0sXHJcbiAgICB7aWNvbiA6IFwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy83NzY4MDZjMTczOTUyOTYyNTY5OUdyb3VwJTIwMTcwNzQ4MzA3Mi5wbmdcIix0ZXh0OlwiVG90YWwgU3EuZnQgT3duZWRcIixjb3VudDpcIjQzXCJ9XHJcbiAgXVxyXG5cclxufVxyXG4iLCI8c2VjdGlvbiBjbGFzcz1cIm1haW4tY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaGVhZC1jb250YWluZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1kaXYgdGV4dC1lbmRcIj48bWF0LWljb24gY2xhc3M9XCJjbHItd2hpdGVcIj5yZW1vdmVfcmVkX2V5ZTwvbWF0LWljb24+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRvcC10ZXh0XCI+Q3VycmVudCBQb3J0Zm9saW8gVmFsdWU8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi10ZXh0XCI+4oK5Ni4yMiBMYWM8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm90dG9tLXRleHRcIj5JbnZlc3RtZW50IGluY3JlYXNlIGJ5IDogJm5ic3A7PHNwYW4gY2xhc3M9XCJhbW50IGNsci13aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAg4oK5NTQsMjkwPC9zcGFuPiZuYnNwOyZuYnNwOzxzcGFuIGNsYXNzPVwicGVyY2VudC10ZXh0XCI+KzIuMSU8L3NwYW4+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWFyZWFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWhlYWRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1zZWN0aW9uXCI+SW52ZXN0b3IgT3ZlcnZpZXc8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0LXNlY3Rpb24gZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtYm94XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1jb250YWluZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiZGF0ZVwiIGNsYXNzPVwiY3VzdG9tLWRhdGUtcGlja2VyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImN1c3RvbS1kcm9wZG93blwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGVsZSBvZiBkcm9wRG93blZhbHVlc1wiPnt7ZWxlfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQxIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQxXCIgKm5nRm9yPVwibGV0IGVsZSBvZiB0b3BDYXJkc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkMV9uYW1lXCI+e3tlbGUudGV4dH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQxIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZy0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZDFfaW1nIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQxX2ltZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJlbGUuaWNvblwiIGFsdD1cImltZzFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vX29mXCI+e3tlbGUuY291bnR9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudDIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQyIGQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0X2QyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkMl92YWx1ZVwiICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiBwcm9wZXJ0eV9saXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVfbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZV9jb2xvclwiIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1jb2xvcic6IHZhbHVlLmNvbG9yfVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9wZXJ0eV9uYW1lXCI+e3t2YWx1ZS5uYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlX3JpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj57e3ZhbHVlLnNxX2Z0fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29uc3RhbnRfbGluZVwiPnw8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2Pnt7dmFsdWUucHJpY2V9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZDNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZDNfY2FyZDEgY29tbW9uLXN0eWxlLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQzX2NhcmQxX25hbWVcIj5JbnRlcm5hbCBSYXRlIG9mIFJldHVybjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVfZDNfY2FyZDFfbmFtZVwiPiAxMiU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZDNfY2FyZDIgY29tbW9uLXN0eWxlLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQzX2NhcmQyX25hbWVcIj5Bbm51YWwgUmV0dXJuPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZV9kM19jYXJkMV9uYW1lXCI+IDEwJTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvc2VjdGlvbj4iXX0=
|