simpo-component-library 3.6.989 → 3.6.990

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.
Files changed (113) hide show
  1. package/esm2022/lib/directive/button-editor.directive.mjs +1 -1
  2. package/esm2022/lib/directive/image-directive.directive.mjs +1 -1
  3. package/esm2022/lib/directive/image-editor.directive.mjs +1 -1
  4. package/esm2022/lib/directive/image-position.directive.mjs +1 -1
  5. package/esm2022/lib/directive/merge-header.directive.mjs +1 -1
  6. package/esm2022/lib/directive/spacing-around.directive.mjs +1 -1
  7. package/esm2022/lib/directive/video-directive.directive.mjs +1 -1
  8. package/esm2022/lib/ecommerce/sections/address/address.component.mjs +3 -3
  9. package/esm2022/lib/ecommerce/sections/authentication-required/authentication-required.component.mjs +3 -3
  10. package/esm2022/lib/ecommerce/sections/authentication-required/authentication-required.model.mjs +1 -1
  11. package/esm2022/lib/ecommerce/sections/brands-with-image-background-columns/brands-with-image-background-columns.component.mjs +35 -0
  12. package/esm2022/lib/ecommerce/sections/cart/cart.modal.mjs +1 -1
  13. package/esm2022/lib/ecommerce/sections/categories-with-image-background-columns/categories-with-image-background-columns.component.mjs +3 -3
  14. package/esm2022/lib/ecommerce/sections/category-product/category-product.component.mjs +3 -3
  15. package/esm2022/lib/ecommerce/sections/category-product/category-product.model.mjs +1 -1
  16. package/esm2022/lib/ecommerce/sections/featured-brand/featured-brand.component.mjs +168 -0
  17. package/esm2022/lib/ecommerce/sections/featured-brand/featured-brand.modal.mjs +2 -0
  18. package/esm2022/lib/ecommerce/sections/featured-category/featured-category.component.mjs +1 -1
  19. package/esm2022/lib/ecommerce/sections/featured-category/featured-category.modal.mjs +1 -1
  20. package/esm2022/lib/ecommerce/sections/featured-category/featured-collection.component.mjs +1 -1
  21. package/esm2022/lib/ecommerce/sections/featured-products/featured-products.component.mjs +7 -8
  22. package/esm2022/lib/ecommerce/sections/featured-products/featured-products.modal.mjs +1 -1
  23. package/esm2022/lib/ecommerce/sections/product-desc/product-desc.modal.mjs +1 -1
  24. package/esm2022/lib/ecommerce/sections/refer-earn/refer-earn.component.mjs +3 -3
  25. package/esm2022/lib/ecommerce/sections/refer-earn/refer-earn.modal.mjs +1 -1
  26. package/esm2022/lib/ecommerce/sections/scheme-details/scheme-details.component.mjs +1 -1
  27. package/esm2022/lib/ecommerce/sections/schemes/schemes.component.mjs +5 -5
  28. package/esm2022/lib/ecommerce/sections/verify-payment/verify-payment.component.mjs +34 -10
  29. package/esm2022/lib/ecommerce/sections/whislist/whislist.component.mjs +3 -3
  30. package/esm2022/lib/ecommerce/styles/OrderedItems.modal.mjs +1 -1
  31. package/esm2022/lib/elements/add-section/add-section.component.mjs +3 -3
  32. package/esm2022/lib/elements/below-image-card/below-image-card.component.mjs +1 -1
  33. package/esm2022/lib/elements/covering-image-card/covering-image-card.component.mjs +1 -1
  34. package/esm2022/lib/elements/editor-service.service.mjs +1 -1
  35. package/esm2022/lib/elements/link-editor/link-editor.component.mjs +3 -3
  36. package/esm2022/lib/elements/media-selector/media-selector.component.mjs +3 -3
  37. package/esm2022/lib/elements/pricing-s1/pricing-s1.component.mjs +3 -3
  38. package/esm2022/lib/elements/text-editor/text-editor.component.mjs +9 -9
  39. package/esm2022/lib/elements/top-of-image-card/top-of-image-card.component.mjs +1 -1
  40. package/esm2022/lib/pipes/gender.pipe.mjs +1 -1
  41. package/esm2022/lib/sections/BaseSection.mjs +1 -1
  42. package/esm2022/lib/sections/appointment-form/appointment-booking/appointment-booking/appointment-booking.component.mjs +3 -3
  43. package/esm2022/lib/sections/banner-carousel/banner-carousel.component.mjs +3 -3
  44. package/esm2022/lib/sections/banner-grid-section/banner-grid-section.component.mjs +3 -3
  45. package/esm2022/lib/sections/brand-story-section/brand-story-section.component.mjs +3 -3
  46. package/esm2022/lib/sections/brand-story-section/brand-story-section.modal.mjs +1 -1
  47. package/esm2022/lib/sections/button-grid-section/button-grid-section.component.mjs +3 -3
  48. package/esm2022/lib/sections/choose-us-section/choose-us-section.component.mjs +3 -3
  49. package/esm2022/lib/sections/condensed-and-gradient/condensed-and-gradient.component.mjs +3 -3
  50. package/esm2022/lib/sections/countdown-banner/countdown-banner.component.model.mjs +1 -1
  51. package/esm2022/lib/sections/faq-columns-cards/faq-columns-cards.component.mjs +3 -3
  52. package/esm2022/lib/sections/faq-columns-cards/faq-columns-cards.modal.mjs +1 -1
  53. package/esm2022/lib/sections/faq-section/faq-section.component.mjs +3 -3
  54. package/esm2022/lib/sections/feature-experience-section/feature-experience-section.component.mjs +3 -3
  55. package/esm2022/lib/sections/feature-experience-section/feature-experience-section.modal.mjs +1 -1
  56. package/esm2022/lib/sections/features-section/features-section.component.mjs +3 -3
  57. package/esm2022/lib/sections/footer/footer.modal.mjs +1 -1
  58. package/esm2022/lib/sections/four-features-centered-image/four-features-centered-image.component.mjs +3 -3
  59. package/esm2022/lib/sections/four-features-centered-image/four-features-centered-image.modal.mjs +1 -1
  60. package/esm2022/lib/sections/header-text/header-text.component.mjs +3 -3
  61. package/esm2022/lib/sections/image-background/image-background/image-background.component.mjs +3 -3
  62. package/esm2022/lib/sections/image-background/image-background/image-background.component.model.mjs +1 -1
  63. package/esm2022/lib/sections/image-carousel-section/image-carousel-section.component.mjs +3 -3
  64. package/esm2022/lib/sections/image-grid-hotspot/image-grid-hotspot.component.mjs +3 -3
  65. package/esm2022/lib/sections/image-grid-hotspot/image-grid-hotspot.model.mjs +1 -1
  66. package/esm2022/lib/sections/image-grid-section/image-grid-section.component.mjs +3 -3
  67. package/esm2022/lib/sections/image-grid-section/image-grid-section.model.mjs +1 -1
  68. package/esm2022/lib/sections/image-section/image-section.component.mjs +3 -3
  69. package/esm2022/lib/sections/location-section/location-section.component.mjs +3 -3
  70. package/esm2022/lib/sections/new-services/new-services.component.mjs +3 -3
  71. package/esm2022/lib/sections/new-testimonials/new-testimonials.component.mjs +3 -3
  72. package/esm2022/lib/sections/news-letter-component/news-letter-component.component.mjs +3 -3
  73. package/esm2022/lib/sections/overlapping-image/overlapping-image.component.mjs +3 -3
  74. package/esm2022/lib/sections/overlapping-image/overlapping-image.component.modal.mjs +1 -1
  75. package/esm2022/lib/sections/pricing-section/pricing-section.component.mjs +3 -3
  76. package/esm2022/lib/sections/process-modern/process-modern.component.mjs +3 -3
  77. package/esm2022/lib/sections/process-section/process-section.component.mjs +3 -3
  78. package/esm2022/lib/sections/product-info-section/product-info-section.component.mjs +3 -3
  79. package/esm2022/lib/sections/product-info-section/product-info-section.component.modal.mjs +1 -1
  80. package/esm2022/lib/sections/scheme-detail/scheme-detail.component.mjs +3 -3
  81. package/esm2022/lib/sections/service-section/service-section.component.mjs +3 -3
  82. package/esm2022/lib/sections/service-section/service-section.model.mjs +1 -1
  83. package/esm2022/lib/sections/team-member-section/team-member-section.component.mjs +3 -3
  84. package/esm2022/lib/sections/team-member-section/team-member-section.model.mjs +1 -1
  85. package/esm2022/lib/sections/testimonial-fullwidth/testimonial-fullwidth.component.mjs +3 -3
  86. package/esm2022/lib/sections/testimonial-masonry/testimonial-masonry.component.mjs +3 -3
  87. package/esm2022/lib/sections/testimonial-masonry/testimonial-masonry.model.mjs +1 -1
  88. package/esm2022/lib/sections/testimonial-section/testimonial-section.component.mjs +3 -3
  89. package/esm2022/lib/sections/testimonial-slider/testimonial-slider.component.mjs +3 -3
  90. package/esm2022/lib/sections/testimonial-slider/testimonial-slider.model.mjs +1 -1
  91. package/esm2022/lib/sections/testimonial-video/testimonial-video.component.mjs +3 -3
  92. package/esm2022/lib/sections/video-carousel-section/video-carousel-section.component.mjs +3 -3
  93. package/esm2022/lib/sections/video-carousel-section/video-carousel.model.mjs +1 -1
  94. package/esm2022/lib/sections/video-grid-section/video-grid-section.model.mjs +1 -1
  95. package/esm2022/lib/sections/video-showcase/video-showcase.component.mjs +3 -3
  96. package/esm2022/lib/services/events.service.mjs +2 -1
  97. package/esm2022/lib/services/sanitizeHtml.mjs +1 -1
  98. package/esm2022/lib/services/storage.service.mjs +5 -9
  99. package/esm2022/lib/styles/gradient-extension.mjs +1 -1
  100. package/esm2022/lib/styles/style.model.mjs +1 -1
  101. package/esm2022/lib/styles/text-size.extension.mjs +1 -1
  102. package/esm2022/lib/styles/types.mjs +1 -1
  103. package/esm2022/public-api.mjs +2 -1
  104. package/fesm2022/simpo-component-library.mjs +321 -131
  105. package/fesm2022/simpo-component-library.mjs.map +1 -1
  106. package/lib/ecommerce/sections/brands-with-image-background-columns/brands-with-image-background-columns.component.d.ts +17 -0
  107. package/lib/ecommerce/sections/featured-brand/featured-brand.component.d.ts +42 -0
  108. package/lib/ecommerce/sections/featured-brand/featured-brand.modal.d.ts +25 -0
  109. package/lib/services/events.service.d.ts +1 -0
  110. package/package.json +1 -1
  111. package/public-api.d.ts +1 -0
  112. package/simpo-component-library-3.6.990.tgz +0 -0
  113. package/simpo-component-library-3.6.989.tgz +0 -0
@@ -124,11 +124,11 @@ export class VideoShowcaseComponent {
124
124
  }
125
125
  }
126
126
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: VideoShowcaseComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.MessageService }, { token: i3.CartService }], target: i0.ɵɵFactoryTarget.Component }); }
127
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: VideoShowcaseComponent, isStandalone: true, selector: "simpo-video-showcase", providers: [MessageService], viewQueries: [{ propertyName: "videoPlayer", first: true, predicate: ["videoPlayer"], descendants: true }], ngImport: i0, template: "<section class=\"overlay\"></section>\r\n\r\n<section class=\"main_section d-flex align-items-center justify-content-center\">\r\n <div class=\"videos-container\">\r\n <div class=\"video-card\">\r\n <div class=\"top-bar d-flex align-items-center\">\r\n <span class=\"progress-bar\"></span>\r\n <img src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/802576c1770375389274muted-svgrepo-com.svg\"\r\n class=\"mute-unmute\" *ngIf=\"videoMuted\" (click)=\"videoMuted = false\">\r\n <img src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/711833c1770375515828volume-loud-svgrepo-com.svg\"\r\n class=\"mute-unmute\" *ngIf=\"!videoMuted\" (click)=\"videoMuted=true\">\r\n <span class=\"close\" (click)=\"closeDialog()\">\u2715</span>\r\n </div>\r\n\r\n <!-- Video -->\r\n <video #videoPlayer class=\"video-content\" autoplay loop playsinline [src]=\"videoUrl\" [controls]=\"false\"\r\n [muted]=\"videoMuted\">\r\n </video>\r\n\r\n <!-- Navigation arrows -->\r\n <div class=\"d-flex align-items-center nav-arrows w-100\"\r\n [ngClass]=\"{'justify-content-end' :currentIndex < listItemdata.videos.length - 1 , 'justify-content-between' : currentIndex > 0 }\">\r\n <button class=\"nav left d-flex align-items-center justify-content-center\" *ngIf=\"currentIndex > 0\"><mat-icon\r\n style=\"width:20px !important\" (click)=\"playPreviousVideo()\">keyboard_arrow_left</mat-icon></button>\r\n <button class=\"nav right d-flex align-items-center justify-content-center\" (click)=\"playNextVideo()\"\r\n *ngIf=\"currentIndex < listItemdata.videos.length - 1\"><mat-icon\r\n style=\"width:20px !important\">keyboard_arrow_right</mat-icon></button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"products-list-container position-fixed d-flex flex-column gap-4\">\r\n <ng-container *ngFor=\"let product of productsList\">\r\n <div class=\"product-badge cursor-pointer\">\r\n <a [href]=\"product.redirectionUrl\" class=\"product-link\">\r\n <img [src]=\"product.itemImages[0].imgUrl\" alt=\"Ring\" class=\"product-img\" /></a>\r\n <div class=\"product-info justify-content-between\">\r\n <a [href]=\"product.redirectionUrl\" class=\"product-link\">\r\n <div class=\"product-details d-flex flex-column gap-1\">\r\n <div class=\"product-title\">\r\n {{product.name.length > 30 ? product.name.slice(0, 30) + '...' : product.name}}\r\n </div>\r\n <div class=\"product-price d-flex align-items-start\">\r\n \u20B9{{product.price.sellingPrice}}\r\n </div>\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-center justify-content-center gap-1\">\r\n <img src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/700072c1770270395432favourite-svgrepo-com.svg\"\r\n style=\"width: 18px;\" *ngIf=\"!product.whislist\" (click)=\"toggleItemToFav($event, product, 'ADD')\">\r\n <img\r\n src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/304116c1770274132910favourite-svgrepo-com_(1).svg\"\r\n style=\"width: 18px;\" *ngIf=\"product.whislist\" (click)=\"toggleItemToFav($event, product, 'REMOVE')\">\r\n <img\r\n src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/695144c1770270669546cart-shopping-svgrepo-com.svg\"\r\n style=\"width:19px\" *ngIf=\"product.quantity <= 0\" (click)=\"addItemToCart($event, product, 'ADD')\">\r\n <img\r\n src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/795342c1770275383344shopping-cart-fill-svgrepo-com.svg\"\r\n style=\"width:19px\" *ngIf=\"product.quantity >= 1\" (click)=\"addItemToCart($event, product, 'SUBSTRACT')\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</section>", styles: [".overlay{position:fixed;inset:0;background:#00000073;z-index:999}.main_section{position:fixed;inset:0;background:transparent;z-index:1000}.mute-unmute{width:30px;margin-right:10px;cursor:pointer}.videos-container{width:fit-content}.video-card{position:relative;width:360px;height:85vh;border-radius:18px;overflow:hidden;background:transparent}.video-content{width:100%;height:100%;object-fit:cover}.top-bar{position:absolute;top:10px;left:10px;right:10px;display:flex;align-items:center;justify-content:space-between;z-index:2}.progress-bar{flex:1;height:3px;background:#fff6;border-radius:2px;margin-right:10px}.close{font-size:22px;color:#fff;cursor:pointer}.nav-arrows{position:absolute;top:50%;padding:0 1rem}.nav{width:36px!important;height:36px;border-radius:50%;border:none;background:#0006;color:#fff;font-size:22px;cursor:pointer;z-index:2;outline:none}.nav.left{left:10px}.nav.right{right:10px}.products-list-container{right:13%;top:10%;max-height:100%;overflow-y:scroll}.product-card{position:absolute;bottom:14px;left:14px;right:14px;background:#fff;border-radius:14px;padding:10px;display:flex;align-items:center;gap:10px;z-index:2}.product-card img{width:44px;height:44px;border-radius:8px;object-fit:cover}.product-card .info{flex:1}.product-card .title{font-size:14px;font-weight:500;margin:0;color:#222}.product-card .price{font-size:15px;font-weight:600;margin:2px 0 0;color:#000}.product-badge{display:flex;align-items:center;gap:12px;padding:10px;background:#fff9;border-radius:10px;width:322px;box-shadow:0 6px 18px #00000026;transition:background .3s ease,box-shadow .3s ease}.product-badge:hover{background:#f0f0f0e6;box-shadow:0 8px 22px #0003}.product-img{width:42px;height:42px;object-fit:contain;flex-shrink:0}.product-info{display:flex;gap:4px;width:90%}.product-title{font-size:12px;font-weight:500;color:#1a1a1a;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-link{text-decoration:none;color:inherit}.products-cards{bottom:0;overflow-x:scroll}.product-price{font-size:16px;font-weight:700;color:#000}@media screen and (max-width: 475px){.video-card{width:100%}}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
127
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: VideoShowcaseComponent, isStandalone: true, selector: "simpo-video-showcase", providers: [MessageService], viewQueries: [{ propertyName: "videoPlayer", first: true, predicate: ["videoPlayer"], descendants: true }], ngImport: i0, template: "<section class=\"overlay\"></section>\n\n<section class=\"main_section d-flex align-items-center justify-content-center\">\n <div class=\"videos-container\">\n <div class=\"video-card\">\n <div class=\"top-bar d-flex align-items-center\">\n <span class=\"progress-bar\"></span>\n <img src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/802576c1770375389274muted-svgrepo-com.svg\"\n class=\"mute-unmute\" *ngIf=\"videoMuted\" (click)=\"videoMuted = false\">\n <img src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/711833c1770375515828volume-loud-svgrepo-com.svg\"\n class=\"mute-unmute\" *ngIf=\"!videoMuted\" (click)=\"videoMuted=true\">\n <span class=\"close\" (click)=\"closeDialog()\">\u2715</span>\n </div>\n\n <!-- Video -->\n <video #videoPlayer class=\"video-content\" autoplay loop playsinline [src]=\"videoUrl\" [controls]=\"false\"\n [muted]=\"videoMuted\">\n </video>\n\n <!-- Navigation arrows -->\n <div class=\"d-flex align-items-center nav-arrows w-100\"\n [ngClass]=\"{'justify-content-end' :currentIndex < listItemdata.videos.length - 1 , 'justify-content-between' : currentIndex > 0 }\">\n <button class=\"nav left d-flex align-items-center justify-content-center\" *ngIf=\"currentIndex > 0\"><mat-icon\n style=\"width:20px !important\" (click)=\"playPreviousVideo()\">keyboard_arrow_left</mat-icon></button>\n <button class=\"nav right d-flex align-items-center justify-content-center\" (click)=\"playNextVideo()\"\n *ngIf=\"currentIndex < listItemdata.videos.length - 1\"><mat-icon\n style=\"width:20px !important\">keyboard_arrow_right</mat-icon></button>\n </div>\n </div>\n </div>\n <div class=\"products-list-container position-fixed d-flex flex-column gap-4\">\n <ng-container *ngFor=\"let product of productsList\">\n <div class=\"product-badge cursor-pointer\">\n <a [href]=\"product.redirectionUrl\" class=\"product-link\">\n <img [src]=\"product.itemImages[0].imgUrl\" alt=\"Ring\" class=\"product-img\" /></a>\n <div class=\"product-info justify-content-between\">\n <a [href]=\"product.redirectionUrl\" class=\"product-link\">\n <div class=\"product-details d-flex flex-column gap-1\">\n <div class=\"product-title\">\n {{product.name.length > 30 ? product.name.slice(0, 30) + '...' : product.name}}\n </div>\n <div class=\"product-price d-flex align-items-start\">\n \u20B9{{product.price.sellingPrice}}\n </div>\n </div>\n </a>\n <div class=\"d-flex align-items-center justify-content-center gap-1\">\n <img src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/700072c1770270395432favourite-svgrepo-com.svg\"\n style=\"width: 18px;\" *ngIf=\"!product.whislist\" (click)=\"toggleItemToFav($event, product, 'ADD')\">\n <img\n src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/304116c1770274132910favourite-svgrepo-com_(1).svg\"\n style=\"width: 18px;\" *ngIf=\"product.whislist\" (click)=\"toggleItemToFav($event, product, 'REMOVE')\">\n <img\n src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/695144c1770270669546cart-shopping-svgrepo-com.svg\"\n style=\"width:19px\" *ngIf=\"product.quantity <= 0\" (click)=\"addItemToCart($event, product, 'ADD')\">\n <img\n src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/795342c1770275383344shopping-cart-fill-svgrepo-com.svg\"\n style=\"width:19px\" *ngIf=\"product.quantity >= 1\" (click)=\"addItemToCart($event, product, 'SUBSTRACT')\">\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n</section>", styles: [".overlay{position:fixed;inset:0;background:#00000073;z-index:999}.main_section{position:fixed;inset:0;background:transparent;z-index:1000}.mute-unmute{width:30px;margin-right:10px;cursor:pointer}.videos-container{width:fit-content}.video-card{position:relative;width:360px;height:85vh;border-radius:18px;overflow:hidden;background:transparent}.video-content{width:100%;height:100%;object-fit:cover}.top-bar{position:absolute;top:10px;left:10px;right:10px;display:flex;align-items:center;justify-content:space-between;z-index:2}.progress-bar{flex:1;height:3px;background:#fff6;border-radius:2px;margin-right:10px}.close{font-size:22px;color:#fff;cursor:pointer}.nav-arrows{position:absolute;top:50%;padding:0 1rem}.nav{width:36px!important;height:36px;border-radius:50%;border:none;background:#0006;color:#fff;font-size:22px;cursor:pointer;z-index:2;outline:none}.nav.left{left:10px}.nav.right{right:10px}.products-list-container{right:13%;top:10%;max-height:100%;overflow-y:scroll}.product-card{position:absolute;bottom:14px;left:14px;right:14px;background:#fff;border-radius:14px;padding:10px;display:flex;align-items:center;gap:10px;z-index:2}.product-card img{width:44px;height:44px;border-radius:8px;object-fit:cover}.product-card .info{flex:1}.product-card .title{font-size:14px;font-weight:500;margin:0;color:#222}.product-card .price{font-size:15px;font-weight:600;margin:2px 0 0;color:#000}.product-badge{display:flex;align-items:center;gap:12px;padding:10px;background:#fff9;border-radius:10px;width:322px;box-shadow:0 6px 18px #00000026;transition:background .3s ease,box-shadow .3s ease}.product-badge:hover{background:#f0f0f0e6;box-shadow:0 8px 22px #0003}.product-img{width:42px;height:42px;object-fit:contain;flex-shrink:0}.product-info{display:flex;gap:4px;width:90%}.product-title{font-size:12px;font-weight:500;color:#1a1a1a;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-link{text-decoration:none;color:inherit}.products-cards{bottom:0;overflow-x:scroll}.product-price{font-size:16px;font-weight:700;color:#000}@media screen and (max-width: 475px){.video-card{width:100%}}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
128
128
  }
129
129
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: VideoShowcaseComponent, decorators: [{
130
130
  type: Component,
131
- args: [{ selector: 'simpo-video-showcase', standalone: true, imports: [MatIcon, CommonModule], providers: [MessageService], template: "<section class=\"overlay\"></section>\r\n\r\n<section class=\"main_section d-flex align-items-center justify-content-center\">\r\n <div class=\"videos-container\">\r\n <div class=\"video-card\">\r\n <div class=\"top-bar d-flex align-items-center\">\r\n <span class=\"progress-bar\"></span>\r\n <img src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/802576c1770375389274muted-svgrepo-com.svg\"\r\n class=\"mute-unmute\" *ngIf=\"videoMuted\" (click)=\"videoMuted = false\">\r\n <img src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/711833c1770375515828volume-loud-svgrepo-com.svg\"\r\n class=\"mute-unmute\" *ngIf=\"!videoMuted\" (click)=\"videoMuted=true\">\r\n <span class=\"close\" (click)=\"closeDialog()\">\u2715</span>\r\n </div>\r\n\r\n <!-- Video -->\r\n <video #videoPlayer class=\"video-content\" autoplay loop playsinline [src]=\"videoUrl\" [controls]=\"false\"\r\n [muted]=\"videoMuted\">\r\n </video>\r\n\r\n <!-- Navigation arrows -->\r\n <div class=\"d-flex align-items-center nav-arrows w-100\"\r\n [ngClass]=\"{'justify-content-end' :currentIndex < listItemdata.videos.length - 1 , 'justify-content-between' : currentIndex > 0 }\">\r\n <button class=\"nav left d-flex align-items-center justify-content-center\" *ngIf=\"currentIndex > 0\"><mat-icon\r\n style=\"width:20px !important\" (click)=\"playPreviousVideo()\">keyboard_arrow_left</mat-icon></button>\r\n <button class=\"nav right d-flex align-items-center justify-content-center\" (click)=\"playNextVideo()\"\r\n *ngIf=\"currentIndex < listItemdata.videos.length - 1\"><mat-icon\r\n style=\"width:20px !important\">keyboard_arrow_right</mat-icon></button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"products-list-container position-fixed d-flex flex-column gap-4\">\r\n <ng-container *ngFor=\"let product of productsList\">\r\n <div class=\"product-badge cursor-pointer\">\r\n <a [href]=\"product.redirectionUrl\" class=\"product-link\">\r\n <img [src]=\"product.itemImages[0].imgUrl\" alt=\"Ring\" class=\"product-img\" /></a>\r\n <div class=\"product-info justify-content-between\">\r\n <a [href]=\"product.redirectionUrl\" class=\"product-link\">\r\n <div class=\"product-details d-flex flex-column gap-1\">\r\n <div class=\"product-title\">\r\n {{product.name.length > 30 ? product.name.slice(0, 30) + '...' : product.name}}\r\n </div>\r\n <div class=\"product-price d-flex align-items-start\">\r\n \u20B9{{product.price.sellingPrice}}\r\n </div>\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-center justify-content-center gap-1\">\r\n <img src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/700072c1770270395432favourite-svgrepo-com.svg\"\r\n style=\"width: 18px;\" *ngIf=\"!product.whislist\" (click)=\"toggleItemToFav($event, product, 'ADD')\">\r\n <img\r\n src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/304116c1770274132910favourite-svgrepo-com_(1).svg\"\r\n style=\"width: 18px;\" *ngIf=\"product.whislist\" (click)=\"toggleItemToFav($event, product, 'REMOVE')\">\r\n <img\r\n src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/695144c1770270669546cart-shopping-svgrepo-com.svg\"\r\n style=\"width:19px\" *ngIf=\"product.quantity <= 0\" (click)=\"addItemToCart($event, product, 'ADD')\">\r\n <img\r\n src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/795342c1770275383344shopping-cart-fill-svgrepo-com.svg\"\r\n style=\"width:19px\" *ngIf=\"product.quantity >= 1\" (click)=\"addItemToCart($event, product, 'SUBSTRACT')\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</section>", styles: [".overlay{position:fixed;inset:0;background:#00000073;z-index:999}.main_section{position:fixed;inset:0;background:transparent;z-index:1000}.mute-unmute{width:30px;margin-right:10px;cursor:pointer}.videos-container{width:fit-content}.video-card{position:relative;width:360px;height:85vh;border-radius:18px;overflow:hidden;background:transparent}.video-content{width:100%;height:100%;object-fit:cover}.top-bar{position:absolute;top:10px;left:10px;right:10px;display:flex;align-items:center;justify-content:space-between;z-index:2}.progress-bar{flex:1;height:3px;background:#fff6;border-radius:2px;margin-right:10px}.close{font-size:22px;color:#fff;cursor:pointer}.nav-arrows{position:absolute;top:50%;padding:0 1rem}.nav{width:36px!important;height:36px;border-radius:50%;border:none;background:#0006;color:#fff;font-size:22px;cursor:pointer;z-index:2;outline:none}.nav.left{left:10px}.nav.right{right:10px}.products-list-container{right:13%;top:10%;max-height:100%;overflow-y:scroll}.product-card{position:absolute;bottom:14px;left:14px;right:14px;background:#fff;border-radius:14px;padding:10px;display:flex;align-items:center;gap:10px;z-index:2}.product-card img{width:44px;height:44px;border-radius:8px;object-fit:cover}.product-card .info{flex:1}.product-card .title{font-size:14px;font-weight:500;margin:0;color:#222}.product-card .price{font-size:15px;font-weight:600;margin:2px 0 0;color:#000}.product-badge{display:flex;align-items:center;gap:12px;padding:10px;background:#fff9;border-radius:10px;width:322px;box-shadow:0 6px 18px #00000026;transition:background .3s ease,box-shadow .3s ease}.product-badge:hover{background:#f0f0f0e6;box-shadow:0 8px 22px #0003}.product-img{width:42px;height:42px;object-fit:contain;flex-shrink:0}.product-info{display:flex;gap:4px;width:90%}.product-title{font-size:12px;font-weight:500;color:#1a1a1a;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-link{text-decoration:none;color:inherit}.products-cards{bottom:0;overflow-x:scroll}.product-price{font-size:16px;font-weight:700;color:#000}@media screen and (max-width: 475px){.video-card{width:100%}}\n"] }]
131
+ args: [{ selector: 'simpo-video-showcase', standalone: true, imports: [MatIcon, CommonModule], providers: [MessageService], template: "<section class=\"overlay\"></section>\n\n<section class=\"main_section d-flex align-items-center justify-content-center\">\n <div class=\"videos-container\">\n <div class=\"video-card\">\n <div class=\"top-bar d-flex align-items-center\">\n <span class=\"progress-bar\"></span>\n <img src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/802576c1770375389274muted-svgrepo-com.svg\"\n class=\"mute-unmute\" *ngIf=\"videoMuted\" (click)=\"videoMuted = false\">\n <img src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/711833c1770375515828volume-loud-svgrepo-com.svg\"\n class=\"mute-unmute\" *ngIf=\"!videoMuted\" (click)=\"videoMuted=true\">\n <span class=\"close\" (click)=\"closeDialog()\">\u2715</span>\n </div>\n\n <!-- Video -->\n <video #videoPlayer class=\"video-content\" autoplay loop playsinline [src]=\"videoUrl\" [controls]=\"false\"\n [muted]=\"videoMuted\">\n </video>\n\n <!-- Navigation arrows -->\n <div class=\"d-flex align-items-center nav-arrows w-100\"\n [ngClass]=\"{'justify-content-end' :currentIndex < listItemdata.videos.length - 1 , 'justify-content-between' : currentIndex > 0 }\">\n <button class=\"nav left d-flex align-items-center justify-content-center\" *ngIf=\"currentIndex > 0\"><mat-icon\n style=\"width:20px !important\" (click)=\"playPreviousVideo()\">keyboard_arrow_left</mat-icon></button>\n <button class=\"nav right d-flex align-items-center justify-content-center\" (click)=\"playNextVideo()\"\n *ngIf=\"currentIndex < listItemdata.videos.length - 1\"><mat-icon\n style=\"width:20px !important\">keyboard_arrow_right</mat-icon></button>\n </div>\n </div>\n </div>\n <div class=\"products-list-container position-fixed d-flex flex-column gap-4\">\n <ng-container *ngFor=\"let product of productsList\">\n <div class=\"product-badge cursor-pointer\">\n <a [href]=\"product.redirectionUrl\" class=\"product-link\">\n <img [src]=\"product.itemImages[0].imgUrl\" alt=\"Ring\" class=\"product-img\" /></a>\n <div class=\"product-info justify-content-between\">\n <a [href]=\"product.redirectionUrl\" class=\"product-link\">\n <div class=\"product-details d-flex flex-column gap-1\">\n <div class=\"product-title\">\n {{product.name.length > 30 ? product.name.slice(0, 30) + '...' : product.name}}\n </div>\n <div class=\"product-price d-flex align-items-start\">\n \u20B9{{product.price.sellingPrice}}\n </div>\n </div>\n </a>\n <div class=\"d-flex align-items-center justify-content-center gap-1\">\n <img src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/700072c1770270395432favourite-svgrepo-com.svg\"\n style=\"width: 18px;\" *ngIf=\"!product.whislist\" (click)=\"toggleItemToFav($event, product, 'ADD')\">\n <img\n src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/304116c1770274132910favourite-svgrepo-com_(1).svg\"\n style=\"width: 18px;\" *ngIf=\"product.whislist\" (click)=\"toggleItemToFav($event, product, 'REMOVE')\">\n <img\n src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/695144c1770270669546cart-shopping-svgrepo-com.svg\"\n style=\"width:19px\" *ngIf=\"product.quantity <= 0\" (click)=\"addItemToCart($event, product, 'ADD')\">\n <img\n src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/795342c1770275383344shopping-cart-fill-svgrepo-com.svg\"\n style=\"width:19px\" *ngIf=\"product.quantity >= 1\" (click)=\"addItemToCart($event, product, 'SUBSTRACT')\">\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n</section>", styles: [".overlay{position:fixed;inset:0;background:#00000073;z-index:999}.main_section{position:fixed;inset:0;background:transparent;z-index:1000}.mute-unmute{width:30px;margin-right:10px;cursor:pointer}.videos-container{width:fit-content}.video-card{position:relative;width:360px;height:85vh;border-radius:18px;overflow:hidden;background:transparent}.video-content{width:100%;height:100%;object-fit:cover}.top-bar{position:absolute;top:10px;left:10px;right:10px;display:flex;align-items:center;justify-content:space-between;z-index:2}.progress-bar{flex:1;height:3px;background:#fff6;border-radius:2px;margin-right:10px}.close{font-size:22px;color:#fff;cursor:pointer}.nav-arrows{position:absolute;top:50%;padding:0 1rem}.nav{width:36px!important;height:36px;border-radius:50%;border:none;background:#0006;color:#fff;font-size:22px;cursor:pointer;z-index:2;outline:none}.nav.left{left:10px}.nav.right{right:10px}.products-list-container{right:13%;top:10%;max-height:100%;overflow-y:scroll}.product-card{position:absolute;bottom:14px;left:14px;right:14px;background:#fff;border-radius:14px;padding:10px;display:flex;align-items:center;gap:10px;z-index:2}.product-card img{width:44px;height:44px;border-radius:8px;object-fit:cover}.product-card .info{flex:1}.product-card .title{font-size:14px;font-weight:500;margin:0;color:#222}.product-card .price{font-size:15px;font-weight:600;margin:2px 0 0;color:#000}.product-badge{display:flex;align-items:center;gap:12px;padding:10px;background:#fff9;border-radius:10px;width:322px;box-shadow:0 6px 18px #00000026;transition:background .3s ease,box-shadow .3s ease}.product-badge:hover{background:#f0f0f0e6;box-shadow:0 8px 22px #0003}.product-img{width:42px;height:42px;object-fit:contain;flex-shrink:0}.product-info{display:flex;gap:4px;width:90%}.product-title{font-size:12px;font-weight:500;color:#1a1a1a;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-link{text-decoration:none;color:inherit}.products-cards{bottom:0;overflow-x:scroll}.product-price{font-size:16px;font-weight:700;color:#000}@media screen and (max-width: 475px){.video-card{width:100%}}\n"] }]
132
132
  }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
133
133
  type: Inject,
134
134
  args: [MAT_DIALOG_DATA]
@@ -136,4 +136,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
136
136
  type: ViewChild,
137
137
  args: ['videoPlayer']
138
138
  }] } });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8tc2hvd2Nhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZWN0aW9ucy92aWRlby1zaG93Y2FzZS92aWRlby1zaG93Y2FzZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3ZpZGVvLXNob3djYXNlL3ZpZGVvLXNob3djYXNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7OztBQVV6RSxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQ1MsU0FBK0MsRUFDdEIsWUFBaUIsRUFDaEMsY0FBOEIsRUFDOUIsV0FBd0I7UUFIbEMsY0FBUyxHQUFULFNBQVMsQ0FBc0M7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQUs7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBYzNDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUN0QixpQkFBWSxHQUFXLENBQUMsQ0FBQztRQUN6QixpQkFBWSxHQUFVLEVBQUUsQ0FBQztRQUNqQixrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFD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LENBQUMsSUFBa0IsRUFBRSxFQUFFO2dCQUM3QyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUN4QyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7b0JBQ2pDLFNBQVMsR0FBRyxJQUFJLENBQUM7Z0JBQ25CLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQTtZQUNGLElBQUksQ0FBQyxTQUFTO2dCQUNaLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksWUFBWSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN2RSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFrQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0csQ0FBQztJQUNILENBQUM7K0dBOUdVLHNCQUFzQiw4Q0FHdkIsZUFBZTttR0FIZCxzQkFBc0IsbUVBSnRCLENBQUMsY0FBYyxDQUFDLHNJQ2I3Qiw4NkhBK0RVLDBvRURuREUsT0FBTywwSUFBRSxZQUFZOzs0RkFLcEIsc0JBQXNCO2tCQVJsQyxTQUFTOytCQUNFLHNCQUFzQixjQUNwQixJQUFJLFdBQ1AsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLGFBQ3JCLENBQUMsY0FBYyxDQUFDOzswQkFPeEIsTUFBTTsyQkFBQyxlQUFlO2dHQU1DLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEl0ZW1WYXJpYW50LCBQcm9kdWN0IH0gZnJvbSAncHJvamVjdHMvc2ltcG8tdWkvc3JjL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBPcmRlcmVkSXRlbXMgfSBmcm9tICcuLi8uLi9lY29tbWVyY2Uvc3R5bGVzL09yZGVyZWRJdGVtcy5tb2RhbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpbXBvLXZpZGVvLXNob3djYXNlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01hdEljb24sIENvbW1vbk1vZHVsZV0sXG4gIHByb3ZpZGVyczogW01lc3NhZ2VTZXJ2aWNlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3ZpZGVvLXNob3djYXNlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3ZpZGVvLXNob3djYXNlLmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIFZpZGVvU2hvd2Nhc2VDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VmlkZW9TaG93Y2FzZUNvbXBvbmVudD4sXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBsaXN0SXRlbWRhdGE6IGFueSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSxcbiAgKSB7XG4gICAgY29uc29sZS5sb2coJ2xpc3RJdGVtZGF0YScsIGxpc3RJdGVtZGF0YSk7XG4gIH1cbiAgQFZpZXdDaGlsZCgndmlkZW9QbGF5ZXInKSB2aWRlb1BsYXllciE6IEVsZW1lbnRSZWY8SFRNTFZpZGVvRWxlbWVudD47XG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubGlzdEl0ZW1kYXRhLnZpZGVvcy5mb3JFYWNoKChpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgIGlmIChpdGVtLnZpZGVvLmlkID09PSB0aGlzLmxpc3RJdGVtZGF0YS5pbml0aWF0ZVZpZGVvSWQpIHtcbiAgICAgICAgdGhpcy52aWRlb1VybCA9IGl0ZW0udmlkZW8udXJsO1xuICAgICAgICB0aGlzLnByb2R1Y3RzTGlzdCA9IGl0ZW0udmlkZW8ucHJvZHVjdHM7XG4gICAgICAgIHRoaXMuY3VycmVudEluZGV4ID0gaW5kZXg7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgdmlkZW9NdXRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICB2aWRlb1VybDogc3RyaW5nID0gJyc7XG4gIGN1cnJlbnRJbmRleDogbnVtYmVyID0gMDtcbiAgcHJvZHVjdHNMaXN0OiBhbnlbXSA9IFtdO1xuICBwcml2YXRlIFVTRVJfV0lTSExJU1Q6IE9yZGVyZWRJdGVtc1tdID0gW107XG4gIHByaXZhdGUgVVNFUl9DQVJUOiBPcmRlcmVkSXRlbXNbXSA9IFtdO1xuICBjbG9zZURpYWxvZygpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICB9XG4gIHBsYXlOZXh0VmlkZW8oKSB7XG4gICAgdGhpcy5jdXJyZW50SW5kZXgrKztcbiAgICB0aGlzLnZpZGVvVXJsID0gdGhpcy5saXN0SXRlbWRhdGEudmlkZW9zW3RoaXMuY3VycmVudEluZGV4XS52aWRlby51cmw7XG4gICAgdGhpcy5wcm9kdWN0c0xpc3QgPSB0aGlzLmxpc3RJdGVtZGF0YS52aWRlb3NbdGhpcy5jdXJyZW50SW5kZXhdLnZpZGVvLnByb2R1Y3RzO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy52aWRlb1BsYXllci5uYXRpdmVFbGVtZW50LmxvYWQoKTtcbiAgICAgIHRoaXMudmlkZW9QbGF5ZXIubmF0aXZlRWxlbWVudC5wbGF5KCk7XG4gICAgfSk7XG4gIH1cbiAgcGxheVByZXZpb3VzVmlkZW8oKSB7XG4gICAgdGhpcy5jdXJyZW50SW5kZXgtLTtcbiAgICB0aGlzLnZpZGVvVXJsID0gdGhpcy5saXN0SXRlbWRhdGEudmlkZW9zW3RoaXMuY3VycmVudEluZGV4XS52aWRlby51cmw7XG4gICAgdGhpcy5wcm9kdWN0c0xpc3QgPSB0aGlzLmxpc3RJdGVtZGF0YS52aWRlb3NbdGhpcy5jdXJyZW50SW5kZXhdLnZpZGVvLnByb2R1Y3RzO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy52aWRlb1BsYXllci5uYXRpdmVFbGVtZW50LmxvYWQoKTtcbiAgICAgIHRoaXMudmlkZW9QbGF5ZXIubmF0aXZlRWxlbWVudC5wbGF5KCk7XG4gICAgfSk7XG4gIH0gZ2V0SXRlbVZhcmllbnQocHJvZHVjdDogUHJvZHVjdCwgdmFyaWVudElkOiBzdHJpbmcpOiBJdGVtVmFyaWFudCB8IG51bGwge1xuICAgIGxldCBzZWxlY3RlZFZhcmllbnQ6IEl0ZW1WYXJpYW50IHwgbnVsbCA9IG51bGw7XG4gICAgcHJvZHVjdD8uaXRlbVZhcmlhbnQ/LmZvckVhY2goKHZhcmllbnQ6IEl0ZW1WYXJpYW50KSA9PiB7XG4gICAgICBpZiAodmFyaWVudC52YXJpYW50SWQgPT09IHZhcmllbnRJZClcbiAgICAgICAgc2VsZWN0ZWRWYXJpZW50ID0gdmFyaWVudDtcbiAgICB9KVxuICAgIHJldHVybiBzZWxlY3RlZFZhcmllbnQ7XG4gIH1cbiAgdG9nZ2xlSXRlbVRvRmF2KGV2ZW50OiBQb2ludGVyRXZlbnQgfCBNb3VzZUV2ZW50LCBwcm9kdWN0OiBQcm9kdWN0LCB0eXBlOiAnQUREJyB8ICdSRU1PVkUnKSB7XG4gICAgaWYgKHR5cGUgPT0gJ0FERCcpIHtcbiAgICAgIHByb2R1Y3Qud2hpc2xpc3QgPSB0cnVlO1xuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ3N1Y2Nlc3MnLCBzdW1tYXJ5OiAnV2lzaGxpc3QnLCBkZXRhaWw6ICdJdGVtIGFkZGVkIHRvIHlvdXIgd2lzaGxpc3QnIH0pO1xuICAgICAgaWYgKHByb2R1Y3Q/Lml0ZW1WYXJpYW50Py5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgaXRlbVZhcmllbnQ6IEl0ZW1WYXJpYW50IHwgbnVsbCA9IHRoaXMuZ2V0SXRlbVZhcmllbnQocHJvZHVjdCwgcHJvZHVjdC52YXJpZW50SWQpO1xuICAgICAgICBpZiAoaXRlbVZhcmllbnQpIHtcbiAgICAgICAgICBpdGVtVmFyaWVudC53aXNobGlzdCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5jYXJ0U2VydmljZS5hZGRJdGVtVG9GYXZvdXJpdGUocHJvZHVjdCBhcyBQcm9kdWN0LCBpdGVtVmFyaWVudC52YXJpYW50SWQpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLmFkZEl0ZW1Ub0Zhdm91cml0ZShwcm9kdWN0KTtcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBwcm9kdWN0LndoaXNsaXN0ID0gZmFsc2U7XG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnaW5mbycsIHN1bW1hcnk6ICdXaXNobGlzdCcsIGRldGFpbDogJ0l0ZW0gcmVtb3ZlZCBmcm9tIHlvdXIgd2lzaGxpc3QnIH0pO1xuICAgICAgdGhpcy5jYXJ0U2VydmljZS5yZW1vdmVJdGVtRnJvbUZhdm91cml0ZShwcm9kdWN0LnZhcmllbnRJZCwgcHJvZHVjdC5pdGVtSWQpO1xuICAgIH1cbiAgICBpZiAocHJvZHVjdC53aGlzbGlzdCkge1xuICAgICAgdGhpcy5VU0VSX1dJU0hMSVNUPy5wdXNoKG5ldyBPcmRlcmVkSXRlbXMocHJvZHVjdCwgcHJvZHVjdC52YXJpZW50SWQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5VU0VSX1dJU0hMSVNUID0gdGhpcy5VU0VSX1dJU0hMSVNUPy5maWx0ZXIoKGl0ZW06IE9yZGVyZWRJdGVtcykgPT4gaXRlbS52YXJpZW50SWQgIT0gcHJvZHVjdC52YXJpZW50SWQpID8/IFtdO1xuICAgIH1cbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuICBpc0l0ZW1PdXRPZlN0b2NrKHByb2R1Y3Q6IFByb2R1Y3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gcHJvZHVjdC5pdGVtSW52ZW50b3J5Py5vcGVuaW5nU3RvY2sgPT0gMDtcbiAgfVxuICBhZGRJdGVtVG9DYXJ0KGV2ZW50OiBQb2ludGVyRXZlbnQgfCBNb3VzZUV2ZW50LCBwcm9kdWN0OiBQcm9kdWN0LCB0eXBlOiAnQUREJyB8ICdTVUJTVFJBQ1QnKSB7XG4gICAgaWYgKHRoaXMuaXNJdGVtT3V0T2ZTdG9jayhwcm9kdWN0KSkge1xuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ3dhcm4nLCBzdW1tYXJ5OiAnQ2FydCcsIGRldGFpbDogJ0l0ZW0gaXMgbm90IGF2YWlsYWJsZSBhcyBvZiBub3cuIFdlIHdpbGwgbm90aWZ5IHlvdSBvbmNlIGF2YWlsYWJsZScgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHByb2R1Y3QucXVhbnRpdHkgKz0gKHR5cGUgPT0gJ0FERCcgPyAxIDogLTEpO1xuICAgIGlmIChwcm9kdWN0Py5pdGVtVmFyaWFudD8ubGVuZ3RoKSB7XG4gICAgICBjb25zdCBpdGVtVmFyaWVudDogSXRlbVZhcmlhbnQgfCBudWxsID0gdGhpcy5nZXRJdGVtVmFyaWVudChwcm9kdWN0LCBwcm9kdWN0LnZhcmllbnRJZCk7XG4gICAgICBpZiAoaXRlbVZhcmllbnQpIHtcbiAgICAgICAgaXRlbVZhcmllbnQucXVhbnRpdHkgPSBwcm9kdWN0LnF1YW50aXR5O1xuICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLmFkZEl0ZW1Ub0NhcnQocHJvZHVjdCwgaXRlbVZhcmllbnQudmFyaWFudElkKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jYXJ0U2VydmljZS5hZGRJdGVtVG9DYXJ0KHByb2R1Y3QpO1xuICAgIH1cbiAgICBpZiAocHJvZHVjdC5xdWFudGl0eSkge1xuICAgICAgbGV0IGlzUHJlc2VudDogYm9vbGVhbiA9IGZhbHNlO1xuICAgICAgdGhpcy5VU0VSX0NBUlQ/LmZvckVhY2goKGl0ZW06IE9yZGVyZWRJdGVtcykgPT4ge1xuICAgICAgICBpZiAoaXRlbS52YXJpZW50SWQgPT0gcHJvZHVjdC52YXJpZW50SWQpIHtcbiAgICAgICAgICBpdGVtLnF1YW50aXR5ID0gcHJvZHVjdC5xdWFudGl0eTtcbiAgICAgICAgICBpc1ByZXNlbnQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgaWYgKCFpc1ByZXNlbnQpXG4gICAgICAgIHRoaXMuVVNFUl9DQVJUPy5wdXNoKG5ldyBPcmRlcmVkSXRlbXMocHJvZHVjdCwgcHJvZHVjdC52YXJpZW50SWQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5VU0VSX0NBUlQgPSB0aGlzLlVTRVJfQ0FSVD8uZmlsdGVyKChpdGVtOiBPcmRlcmVkSXRlbXMpID0+IGl0ZW0udmFyaWVudElkICE9IHByb2R1Y3QudmFyaWVudElkKSA/PyBbXTtcbiAgICB9XG4gIH1cbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwib3ZlcmxheVwiPjwvc2VjdGlvbj5cclxuXHJcbjxzZWN0aW9uIGNsYXNzPVwibWFpbl9zZWN0aW9uIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ2aWRlb3MtY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidmlkZW8tY2FyZFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidG9wLWJhciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwcm9ncmVzcy1iYXJcIj48L3NwYW4+XHJcbiAgICAgICAgPGltZyBzcmM9XCJodHRwczovL2Qyejk0OTd4cDh4YjEyLmNsb3VkZnJvbnQubmV0L3Byb2QtaW1hZ2VzLzgwMjU3NmMxNzcwMzc1Mzg5Mjc0bXV0ZWQtc3ZncmVwby1jb20uc3ZnXCJcclxuICAgICAgICAgIGNsYXNzPVwibXV0ZS11bm11dGVcIiAqbmdJZj1cInZpZGVvTXV0ZWRcIiAoY2xpY2spPVwidmlkZW9NdXRlZCA9IGZhbHNlXCI+XHJcbiAgICAgICAgPGltZyBzcmM9XCJodHRwczovL2Qyejk0OTd4cDh4YjEyLmNsb3VkZnJvbnQubmV0L3Byb2QtaW1hZ2VzLzcxMTgzM2MxNzcwMzc1NTE1ODI4dm9sdW1lLWxvdWQtc3ZncmVwby1jb20uc3ZnXCJcclxuICAgICAgICAgIGNsYXNzPVwibXV0ZS11bm11dGVcIiAqbmdJZj1cIiF2aWRlb011dGVkXCIgKGNsaWNrKT1cInZpZGVvTXV0ZWQ9dHJ1ZVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY2xvc2VcIiAoY2xpY2spPVwiY2xvc2VEaWFsb2coKVwiPuKclTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tIFZpZGVvIC0tPlxyXG4gICAgICA8dmlkZW8gI3ZpZGVvUGxheWVyIGNsYXNzPVwidmlkZW8tY29udGVudFwiIGF1dG9wbGF5IGxvb3AgcGxheXNpbmxpbmUgW3NyY109XCJ2aWRlb1VybFwiIFtjb250cm9sc109XCJmYWxzZVwiXHJcbiAgICAgICAgW211dGVkXT1cInZpZGVvTXV0ZWRcIj5cclxuICAgICAgPC92aWRlbz5cclxuXHJcbiAgICAgIDwhLS0gTmF2aWdhdGlvbiBhcnJvd3MgLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG5hdi1hcnJvd3Mgdy0xMDBcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInsnanVzdGlmeS1jb250ZW50LWVuZCcgOmN1cnJlbnRJbmRleCA8IGxpc3RJdGVtZGF0YS52aWRlb3MubGVuZ3RoIC0gMSAsICdqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbicgOiBjdXJyZW50SW5kZXggPiAwIH1cIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibmF2IGxlZnQgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCIgKm5nSWY9XCJjdXJyZW50SW5kZXggPiAwXCI+PG1hdC1pY29uXHJcbiAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6MjBweCAhaW1wb3J0YW50XCIgKGNsaWNrKT1cInBsYXlQcmV2aW91c1ZpZGVvKClcIj5rZXlib2FyZF9hcnJvd19sZWZ0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibmF2IHJpZ2h0IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiIChjbGljayk9XCJwbGF5TmV4dFZpZGVvKClcIlxyXG4gICAgICAgICAgKm5nSWY9XCJjdXJyZW50SW5kZXggPCBsaXN0SXRlbWRhdGEudmlkZW9zLmxlbmd0aCAtIDFcIj48bWF0LWljb25cclxuICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDoyMHB4ICFpbXBvcnRhbnRcIj5rZXlib2FyZF9hcnJvd19yaWdodDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInByb2R1Y3RzLWxpc3QtY29udGFpbmVyIHBvc2l0aW9uLWZpeGVkIGQtZmxleCBmbGV4LWNvbHVtbiBnYXAtNFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcHJvZHVjdCBvZiBwcm9kdWN0c0xpc3RcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInByb2R1Y3QtYmFkZ2UgY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICA8YSBbaHJlZl09XCJwcm9kdWN0LnJlZGlyZWN0aW9uVXJsXCIgY2xhc3M9XCJwcm9kdWN0LWxpbmtcIj5cclxuICAgICAgICAgIDxpbWcgW3NyY109XCJwcm9kdWN0Lml0ZW1JbWFnZXNbMF0uaW1nVXJsXCIgYWx0PVwiUmluZ1wiIGNsYXNzPVwicHJvZHVjdC1pbWdcIiAvPjwvYT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZHVjdC1pbmZvIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICA8YSBbaHJlZl09XCJwcm9kdWN0LnJlZGlyZWN0aW9uVXJsXCIgY2xhc3M9XCJwcm9kdWN0LWxpbmtcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2R1Y3QtZGV0YWlscyBkLWZsZXggZmxleC1jb2x1bW4gZ2FwLTFcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZHVjdC10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAge3twcm9kdWN0Lm5hbWUubGVuZ3RoID4gMzAgPyBwcm9kdWN0Lm5hbWUuc2xpY2UoMCwgMzApICsgJy4uLicgOiBwcm9kdWN0Lm5hbWV9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9kdWN0LXByaWNlIGQtZmxleCBhbGlnbi1pdGVtcy1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAg4oK5e3twcm9kdWN0LnByaWNlLnNlbGxpbmdQcmljZX19XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBnYXAtMVwiPlxyXG4gICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vZDJ6OTQ5N3hwOHhiMTIuY2xvdWRmcm9udC5uZXQvcHJvZC1pbWFnZXMvNzAwMDcyYzE3NzAyNzAzOTU0MzJmYXZvdXJpdGUtc3ZncmVwby1jb20uc3ZnXCJcclxuICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiAxOHB4O1wiICpuZ0lmPVwiIXByb2R1Y3Qud2hpc2xpc3RcIiAoY2xpY2spPVwidG9nZ2xlSXRlbVRvRmF2KCRldmVudCwgcHJvZHVjdCwgJ0FERCcpXCI+XHJcbiAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICBzcmM9XCJodHRwczovL2Qyejk0OTd4cDh4YjEyLmNsb3VkZnJvbnQubmV0L3Byb2QtaW1hZ2VzLzMwNDExNmMxNzcwMjc0MTMyOTEwZmF2b3VyaXRlLXN2Z3JlcG8tY29tXygxKS5zdmdcIlxyXG4gICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDE4cHg7XCIgKm5nSWY9XCJwcm9kdWN0LndoaXNsaXN0XCIgKGNsaWNrKT1cInRvZ2dsZUl0ZW1Ub0ZhdigkZXZlbnQsIHByb2R1Y3QsICdSRU1PVkUnKVwiPlxyXG4gICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9kMno5NDk3eHA4eGIxMi5jbG91ZGZyb250Lm5ldC9wcm9kLWltYWdlcy82OTUxNDRjMTc3MDI3MDY2OTU0NmNhcnQtc2hvcHBpbmctc3ZncmVwby1jb20uc3ZnXCJcclxuICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOjE5cHhcIiAqbmdJZj1cInByb2R1Y3QucXVhbnRpdHkgPD0gMFwiIChjbGljayk9XCJhZGRJdGVtVG9DYXJ0KCRldmVudCwgcHJvZHVjdCwgJ0FERCcpXCI+XHJcbiAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICBzcmM9XCJodHRwczovL2Qyejk0OTd4cDh4YjEyLmNsb3VkZnJvbnQubmV0L3Byb2QtaW1hZ2VzLzc5NTM0MmMxNzcwMjc1MzgzMzQ0c2hvcHBpbmctY2FydC1maWxsLXN2Z3JlcG8tY29tLnN2Z1wiXHJcbiAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDoxOXB4XCIgKm5nSWY9XCJwcm9kdWN0LnF1YW50aXR5ID49IDFcIiAoY2xpY2spPVwiYWRkSXRlbVRvQ2FydCgkZXZlbnQsIHByb2R1Y3QsICdTVUJTVFJBQ1QnKVwiPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbjwvc2VjdGlvbj4iXX0=
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8tc2hvd2Nhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZWN0aW9ucy92aWRlby1zaG93Y2FzZS92aWRlby1zaG93Y2FzZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3ZpZGVvLXNob3djYXNlL3ZpZGVvLXNob3djYXNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7OztBQVV6RSxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQ1MsU0FBK0MsRUFDdEIsWUFBaUIsRUFDaEMsY0FBOEIsRUFDOUIsV0FBd0I7UUFIbEMsY0FBUyxHQUFULFNBQVMsQ0FBc0M7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQUs7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBYzNDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUN0QixpQkFBWSxHQUFXLENBQUMsQ0FBQztRQUN6QixpQkFBWSxHQUFVLEVBQUUsQ0FBQztRQUNqQixrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFD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LENBQUMsSUFBa0IsRUFBRSxFQUFFO2dCQUM3QyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUN4QyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7b0JBQ2pDLFNBQVMsR0FBRyxJQUFJLENBQUM7Z0JBQ25CLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQTtZQUNGLElBQUksQ0FBQyxTQUFTO2dCQUNaLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksWUFBWSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN2RSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFrQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0csQ0FBQztJQUNILENBQUM7K0dBOUdVLHNCQUFzQiw4Q0FHdkIsZUFBZTttR0FIZCxzQkFBc0IsbUVBSnRCLENBQUMsY0FBYyxDQUFDLHNJQ2I3QixnekhBK0RVLDBvRURuREUsT0FBTywwSUFBRSxZQUFZOzs0RkFLcEIsc0JBQXNCO2tCQVJsQyxTQUFTOytCQUNFLHNCQUFzQixjQUNwQixJQUFJLFdBQ1AsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLGFBQ3JCLENBQUMsY0FBYyxDQUFDOzswQkFPeEIsTUFBTTsyQkFBQyxlQUFlO2dHQU1DLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEl0ZW1WYXJpYW50LCBQcm9kdWN0IH0gZnJvbSAncHJvamVjdHMvc2ltcG8tdWkvc3JjL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBPcmRlcmVkSXRlbXMgfSBmcm9tICcuLi8uLi9lY29tbWVyY2Uvc3R5bGVzL09yZGVyZWRJdGVtcy5tb2RhbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpbXBvLXZpZGVvLXNob3djYXNlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01hdEljb24sIENvbW1vbk1vZHVsZV0sXG4gIHByb3ZpZGVyczogW01lc3NhZ2VTZXJ2aWNlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3ZpZGVvLXNob3djYXNlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3ZpZGVvLXNob3djYXNlLmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIFZpZGVvU2hvd2Nhc2VDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VmlkZW9TaG93Y2FzZUNvbXBvbmVudD4sXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBsaXN0SXRlbWRhdGE6IGFueSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSxcbiAgKSB7XG4gICAgY29uc29sZS5sb2coJ2xpc3RJdGVtZGF0YScsIGxpc3RJdGVtZGF0YSk7XG4gIH1cbiAgQFZpZXdDaGlsZCgndmlkZW9QbGF5ZXInKSB2aWRlb1BsYXllciE6IEVsZW1lbnRSZWY8SFRNTFZpZGVvRWxlbWVudD47XG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubGlzdEl0ZW1kYXRhLnZpZGVvcy5mb3JFYWNoKChpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgIGlmIChpdGVtLnZpZGVvLmlkID09PSB0aGlzLmxpc3RJdGVtZGF0YS5pbml0aWF0ZVZpZGVvSWQpIHtcbiAgICAgICAgdGhpcy52aWRlb1VybCA9IGl0ZW0udmlkZW8udXJsO1xuICAgICAgICB0aGlzLnByb2R1Y3RzTGlzdCA9IGl0ZW0udmlkZW8ucHJvZHVjdHM7XG4gICAgICAgIHRoaXMuY3VycmVudEluZGV4ID0gaW5kZXg7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgdmlkZW9NdXRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICB2aWRlb1VybDogc3RyaW5nID0gJyc7XG4gIGN1cnJlbnRJbmRleDogbnVtYmVyID0gMDtcbiAgcHJvZHVjdHNMaXN0OiBhbnlbXSA9IFtdO1xuICBwcml2YXRlIFVTRVJfV0lTSExJU1Q6IE9yZGVyZWRJdGVtc1tdID0gW107XG4gIHByaXZhdGUgVVNFUl9DQVJUOiBPcmRlcmVkSXRlbXNbXSA9IFtdO1xuICBjbG9zZURpYWxvZygpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICB9XG4gIHBsYXlOZXh0VmlkZW8oKSB7XG4gICAgdGhpcy5jdXJyZW50SW5kZXgrKztcbiAgICB0aGlzLnZpZGVvVXJsID0gdGhpcy5saXN0SXRlbWRhdGEudmlkZW9zW3RoaXMuY3VycmVudEluZGV4XS52aWRlby51cmw7XG4gICAgdGhpcy5wcm9kdWN0c0xpc3QgPSB0aGlzLmxpc3RJdGVtZGF0YS52aWRlb3NbdGhpcy5jdXJyZW50SW5kZXhdLnZpZGVvLnByb2R1Y3RzO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy52aWRlb1BsYXllci5uYXRpdmVFbGVtZW50LmxvYWQoKTtcbiAgICAgIHRoaXMudmlkZW9QbGF5ZXIubmF0aXZlRWxlbWVudC5wbGF5KCk7XG4gICAgfSk7XG4gIH1cbiAgcGxheVByZXZpb3VzVmlkZW8oKSB7XG4gICAgdGhpcy5jdXJyZW50SW5kZXgtLTtcbiAgICB0aGlzLnZpZGVvVXJsID0gdGhpcy5saXN0SXRlbWRhdGEudmlkZW9zW3RoaXMuY3VycmVudEluZGV4XS52aWRlby51cmw7XG4gICAgdGhpcy5wcm9kdWN0c0xpc3QgPSB0aGlzLmxpc3RJdGVtZGF0YS52aWRlb3NbdGhpcy5jdXJyZW50SW5kZXhdLnZpZGVvLnByb2R1Y3RzO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy52aWRlb1BsYXllci5uYXRpdmVFbGVtZW50LmxvYWQoKTtcbiAgICAgIHRoaXMudmlkZW9QbGF5ZXIubmF0aXZlRWxlbWVudC5wbGF5KCk7XG4gICAgfSk7XG4gIH0gZ2V0SXRlbVZhcmllbnQocHJvZHVjdDogUHJvZHVjdCwgdmFyaWVudElkOiBzdHJpbmcpOiBJdGVtVmFyaWFudCB8IG51bGwge1xuICAgIGxldCBzZWxlY3RlZFZhcmllbnQ6IEl0ZW1WYXJpYW50IHwgbnVsbCA9IG51bGw7XG4gICAgcHJvZHVjdD8uaXRlbVZhcmlhbnQ/LmZvckVhY2goKHZhcmllbnQ6IEl0ZW1WYXJpYW50KSA9PiB7XG4gICAgICBpZiAodmFyaWVudC52YXJpYW50SWQgPT09IHZhcmllbnRJZClcbiAgICAgICAgc2VsZWN0ZWRWYXJpZW50ID0gdmFyaWVudDtcbiAgICB9KVxuICAgIHJldHVybiBzZWxlY3RlZFZhcmllbnQ7XG4gIH1cbiAgdG9nZ2xlSXRlbVRvRmF2KGV2ZW50OiBQb2ludGVyRXZlbnQgfCBNb3VzZUV2ZW50LCBwcm9kdWN0OiBQcm9kdWN0LCB0eXBlOiAnQUREJyB8ICdSRU1PVkUnKSB7XG4gICAgaWYgKHR5cGUgPT0gJ0FERCcpIHtcbiAgICAgIHByb2R1Y3Qud2hpc2xpc3QgPSB0cnVlO1xuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ3N1Y2Nlc3MnLCBzdW1tYXJ5OiAnV2lzaGxpc3QnLCBkZXRhaWw6ICdJdGVtIGFkZGVkIHRvIHlvdXIgd2lzaGxpc3QnIH0pO1xuICAgICAgaWYgKHByb2R1Y3Q/Lml0ZW1WYXJpYW50Py5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgaXRlbVZhcmllbnQ6IEl0ZW1WYXJpYW50IHwgbnVsbCA9IHRoaXMuZ2V0SXRlbVZhcmllbnQocHJvZHVjdCwgcHJvZHVjdC52YXJpZW50SWQpO1xuICAgICAgICBpZiAoaXRlbVZhcmllbnQpIHtcbiAgICAgICAgICBpdGVtVmFyaWVudC53aXNobGlzdCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5jYXJ0U2VydmljZS5hZGRJdGVtVG9GYXZvdXJpdGUocHJvZHVjdCBhcyBQcm9kdWN0LCBpdGVtVmFyaWVudC52YXJpYW50SWQpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLmFkZEl0ZW1Ub0Zhdm91cml0ZShwcm9kdWN0KTtcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBwcm9kdWN0LndoaXNsaXN0ID0gZmFsc2U7XG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnaW5mbycsIHN1bW1hcnk6ICdXaXNobGlzdCcsIGRldGFpbDogJ0l0ZW0gcmVtb3ZlZCBmcm9tIHlvdXIgd2lzaGxpc3QnIH0pO1xuICAgICAgdGhpcy5jYXJ0U2VydmljZS5yZW1vdmVJdGVtRnJvbUZhdm91cml0ZShwcm9kdWN0LnZhcmllbnRJZCwgcHJvZHVjdC5pdGVtSWQpO1xuICAgIH1cbiAgICBpZiAocHJvZHVjdC53aGlzbGlzdCkge1xuICAgICAgdGhpcy5VU0VSX1dJU0hMSVNUPy5wdXNoKG5ldyBPcmRlcmVkSXRlbXMocHJvZHVjdCwgcHJvZHVjdC52YXJpZW50SWQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5VU0VSX1dJU0hMSVNUID0gdGhpcy5VU0VSX1dJU0hMSVNUPy5maWx0ZXIoKGl0ZW06IE9yZGVyZWRJdGVtcykgPT4gaXRlbS52YXJpZW50SWQgIT0gcHJvZHVjdC52YXJpZW50SWQpID8/IFtdO1xuICAgIH1cbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuICBpc0l0ZW1PdXRPZlN0b2NrKHByb2R1Y3Q6IFByb2R1Y3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gcHJvZHVjdC5pdGVtSW52ZW50b3J5Py5vcGVuaW5nU3RvY2sgPT0gMDtcbiAgfVxuICBhZGRJdGVtVG9DYXJ0KGV2ZW50OiBQb2ludGVyRXZlbnQgfCBNb3VzZUV2ZW50LCBwcm9kdWN0OiBQcm9kdWN0LCB0eXBlOiAnQUREJyB8ICdTVUJTVFJBQ1QnKSB7XG4gICAgaWYgKHRoaXMuaXNJdGVtT3V0T2ZTdG9jayhwcm9kdWN0KSkge1xuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ3dhcm4nLCBzdW1tYXJ5OiAnQ2FydCcsIGRldGFpbDogJ0l0ZW0gaXMgbm90IGF2YWlsYWJsZSBhcyBvZiBub3cuIFdlIHdpbGwgbm90aWZ5IHlvdSBvbmNlIGF2YWlsYWJsZScgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHByb2R1Y3QucXVhbnRpdHkgKz0gKHR5cGUgPT0gJ0FERCcgPyAxIDogLTEpO1xuICAgIGlmIChwcm9kdWN0Py5pdGVtVmFyaWFudD8ubGVuZ3RoKSB7XG4gICAgICBjb25zdCBpdGVtVmFyaWVudDogSXRlbVZhcmlhbnQgfCBudWxsID0gdGhpcy5nZXRJdGVtVmFyaWVudChwcm9kdWN0LCBwcm9kdWN0LnZhcmllbnRJZCk7XG4gICAgICBpZiAoaXRlbVZhcmllbnQpIHtcbiAgICAgICAgaXRlbVZhcmllbnQucXVhbnRpdHkgPSBwcm9kdWN0LnF1YW50aXR5O1xuICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLmFkZEl0ZW1Ub0NhcnQocHJvZHVjdCwgaXRlbVZhcmllbnQudmFyaWFudElkKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jYXJ0U2VydmljZS5hZGRJdGVtVG9DYXJ0KHByb2R1Y3QpO1xuICAgIH1cbiAgICBpZiAocHJvZHVjdC5xdWFudGl0eSkge1xuICAgICAgbGV0IGlzUHJlc2VudDogYm9vbGVhbiA9IGZhbHNlO1xuICAgICAgdGhpcy5VU0VSX0NBUlQ/LmZvckVhY2goKGl0ZW06IE9yZGVyZWRJdGVtcykgPT4ge1xuICAgICAgICBpZiAoaXRlbS52YXJpZW50SWQgPT0gcHJvZHVjdC52YXJpZW50SWQpIHtcbiAgICAgICAgICBpdGVtLnF1YW50aXR5ID0gcHJvZHVjdC5xdWFudGl0eTtcbiAgICAgICAgICBpc1ByZXNlbnQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgaWYgKCFpc1ByZXNlbnQpXG4gICAgICAgIHRoaXMuVVNFUl9DQVJUPy5wdXNoKG5ldyBPcmRlcmVkSXRlbXMocHJvZHVjdCwgcHJvZHVjdC52YXJpZW50SWQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5VU0VSX0NBUlQgPSB0aGlzLlVTRVJfQ0FSVD8uZmlsdGVyKChpdGVtOiBPcmRlcmVkSXRlbXMpID0+IGl0ZW0udmFyaWVudElkICE9IHByb2R1Y3QudmFyaWVudElkKSA/PyBbXTtcbiAgICB9XG4gIH1cbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwib3ZlcmxheVwiPjwvc2VjdGlvbj5cblxuPHNlY3Rpb24gY2xhc3M9XCJtYWluX3NlY3Rpb24gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJ2aWRlb3MtY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cInZpZGVvLWNhcmRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0b3AtYmFyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwcm9ncmVzcy1iYXJcIj48L3NwYW4+XG4gICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9kMno5NDk3eHA4eGIxMi5jbG91ZGZyb250Lm5ldC9wcm9kLWltYWdlcy84MDI1NzZjMTc3MDM3NTM4OTI3NG11dGVkLXN2Z3JlcG8tY29tLnN2Z1wiXG4gICAgICAgICAgY2xhc3M9XCJtdXRlLXVubXV0ZVwiICpuZ0lmPVwidmlkZW9NdXRlZFwiIChjbGljayk9XCJ2aWRlb011dGVkID0gZmFsc2VcIj5cbiAgICAgICAgPGltZyBzcmM9XCJodHRwczovL2Qyejk0OTd4cDh4YjEyLmNsb3VkZnJvbnQubmV0L3Byb2QtaW1hZ2VzLzcxMTgzM2MxNzcwMzc1NTE1ODI4dm9sdW1lLWxvdWQtc3ZncmVwby1jb20uc3ZnXCJcbiAgICAgICAgICBjbGFzcz1cIm11dGUtdW5tdXRlXCIgKm5nSWY9XCIhdmlkZW9NdXRlZFwiIChjbGljayk9XCJ2aWRlb011dGVkPXRydWVcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjbG9zZVwiIChjbGljayk9XCJjbG9zZURpYWxvZygpXCI+4pyVPC9zcGFuPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gVmlkZW8gLS0+XG4gICAgICA8dmlkZW8gI3ZpZGVvUGxheWVyIGNsYXNzPVwidmlkZW8tY29udGVudFwiIGF1dG9wbGF5IGxvb3AgcGxheXNpbmxpbmUgW3NyY109XCJ2aWRlb1VybFwiIFtjb250cm9sc109XCJmYWxzZVwiXG4gICAgICAgIFttdXRlZF09XCJ2aWRlb011dGVkXCI+XG4gICAgICA8L3ZpZGVvPlxuXG4gICAgICA8IS0tIE5hdmlnYXRpb24gYXJyb3dzIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbmF2LWFycm93cyB3LTEwMFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsnanVzdGlmeS1jb250ZW50LWVuZCcgOmN1cnJlbnRJbmRleCA8IGxpc3RJdGVtZGF0YS52aWRlb3MubGVuZ3RoIC0gMSAsICdqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbicgOiBjdXJyZW50SW5kZXggPiAwIH1cIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm5hdiBsZWZ0IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiICpuZ0lmPVwiY3VycmVudEluZGV4ID4gMFwiPjxtYXQtaWNvblxuICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDoyMHB4ICFpbXBvcnRhbnRcIiAoY2xpY2spPVwicGxheVByZXZpb3VzVmlkZW8oKVwiPmtleWJvYXJkX2Fycm93X2xlZnQ8L21hdC1pY29uPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibmF2IHJpZ2h0IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiIChjbGljayk9XCJwbGF5TmV4dFZpZGVvKClcIlxuICAgICAgICAgICpuZ0lmPVwiY3VycmVudEluZGV4IDwgbGlzdEl0ZW1kYXRhLnZpZGVvcy5sZW5ndGggLSAxXCI+PG1hdC1pY29uXG4gICAgICAgICAgICBzdHlsZT1cIndpZHRoOjIwcHggIWltcG9ydGFudFwiPmtleWJvYXJkX2Fycm93X3JpZ2h0PC9tYXQtaWNvbj48L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInByb2R1Y3RzLWxpc3QtY29udGFpbmVyIHBvc2l0aW9uLWZpeGVkIGQtZmxleCBmbGV4LWNvbHVtbiBnYXAtNFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHByb2R1Y3Qgb2YgcHJvZHVjdHNMaXN0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicHJvZHVjdC1iYWRnZSBjdXJzb3ItcG9pbnRlclwiPlxuICAgICAgICA8YSBbaHJlZl09XCJwcm9kdWN0LnJlZGlyZWN0aW9uVXJsXCIgY2xhc3M9XCJwcm9kdWN0LWxpbmtcIj5cbiAgICAgICAgICA8aW1nIFtzcmNdPVwicHJvZHVjdC5pdGVtSW1hZ2VzWzBdLmltZ1VybFwiIGFsdD1cIlJpbmdcIiBjbGFzcz1cInByb2R1Y3QtaW1nXCIgLz48L2E+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9kdWN0LWluZm8ganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cbiAgICAgICAgICA8YSBbaHJlZl09XCJwcm9kdWN0LnJlZGlyZWN0aW9uVXJsXCIgY2xhc3M9XCJwcm9kdWN0LWxpbmtcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9kdWN0LWRldGFpbHMgZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0xXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9kdWN0LXRpdGxlXCI+XG4gICAgICAgICAgICAgICAge3twcm9kdWN0Lm5hbWUubGVuZ3RoID4gMzAgPyBwcm9kdWN0Lm5hbWUuc2xpY2UoMCwgMzApICsgJy4uLicgOiBwcm9kdWN0Lm5hbWV9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2R1Y3QtcHJpY2UgZC1mbGV4IGFsaWduLWl0ZW1zLXN0YXJ0XCI+XG4gICAgICAgICAgICAgICAg4oK5e3twcm9kdWN0LnByaWNlLnNlbGxpbmdQcmljZX19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9hPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgZ2FwLTFcIj5cbiAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9kMno5NDk3eHA4eGIxMi5jbG91ZGZyb250Lm5ldC9wcm9kLWltYWdlcy83MDAwNzJjMTc3MDI3MDM5NTQzMmZhdm91cml0ZS1zdmdyZXBvLWNvbS5zdmdcIlxuICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiAxOHB4O1wiICpuZ0lmPVwiIXByb2R1Y3Qud2hpc2xpc3RcIiAoY2xpY2spPVwidG9nZ2xlSXRlbVRvRmF2KCRldmVudCwgcHJvZHVjdCwgJ0FERCcpXCI+XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vZDJ6OTQ5N3hwOHhiMTIuY2xvdWRmcm9udC5uZXQvcHJvZC1pbWFnZXMvMzA0MTE2YzE3NzAyNzQxMzI5MTBmYXZvdXJpdGUtc3ZncmVwby1jb21fKDEpLnN2Z1wiXG4gICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDE4cHg7XCIgKm5nSWY9XCJwcm9kdWN0LndoaXNsaXN0XCIgKGNsaWNrKT1cInRvZ2dsZUl0ZW1Ub0ZhdigkZXZlbnQsIHByb2R1Y3QsICdSRU1PVkUnKVwiPlxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICBzcmM9XCJodHRwczovL2Qyejk0OTd4cDh4YjEyLmNsb3VkZnJvbnQubmV0L3Byb2QtaW1hZ2VzLzY5NTE0NGMxNzcwMjcwNjY5NTQ2Y2FydC1zaG9wcGluZy1zdmdyZXBvLWNvbS5zdmdcIlxuICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOjE5cHhcIiAqbmdJZj1cInByb2R1Y3QucXVhbnRpdHkgPD0gMFwiIChjbGljayk9XCJhZGRJdGVtVG9DYXJ0KCRldmVudCwgcHJvZHVjdCwgJ0FERCcpXCI+XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vZDJ6OTQ5N3hwOHhiMTIuY2xvdWRmcm9udC5uZXQvcHJvZC1pbWFnZXMvNzk1MzQyYzE3NzAyNzUzODMzNDRzaG9wcGluZy1jYXJ0LWZpbGwtc3ZncmVwby1jb20uc3ZnXCJcbiAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDoxOXB4XCIgKm5nSWY9XCJwcm9kdWN0LnF1YW50aXR5ID49IDFcIiAoY2xpY2spPVwiYWRkSXRlbVRvQ2FydCgkZXZlbnQsIHByb2R1Y3QsICdTVUJTVFJBQ1QnKVwiPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvc2VjdGlvbj4iXX0=
@@ -42,6 +42,7 @@ export class EventsService {
42
42
  this.categoryProductList = new EventEmitter();
43
43
  this.collectionsListEvent = new EventEmitter();
44
44
  this.categoryListEvent = new EventEmitter();
45
+ this.brandListEvent = new EventEmitter();
45
46
  this.activateSmartSearch = new EventEmitter();
46
47
  this.showLoadingScreen = new EventEmitter();
47
48
  this.environmentType = new EventEmitter();
@@ -67,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
67
68
  providedIn: 'root',
68
69
  }]
69
70
  }], ctorParameters: () => [] });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDOztBQUtqRSxNQUFNLE9BQU8sYUFBYTtJQUN4QjtRQU1BLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMxQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN4QyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNyQyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDN0MsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNqRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDNUMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzdDLDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDcEQsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNoRCxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDOUMsb0JBQW9CO1FBRXBCLCtCQUEwQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDekQsNkJBQXdCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN2RCwwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3BELDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDcEQsaUNBQTRCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMzRCx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2xELHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDakQseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNuRCwyQkFBc0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3JELDJCQUFzQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDckQsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNqRCx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2pELCtCQUEwQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDekQsNEJBQXVCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN0RCw4QkFBeUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3hELGdDQUEyQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDMUQsOEJBQXlCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN4RCx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2xELHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDbEQsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNsRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDNUMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNoRCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2hELHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7UUFDN0MsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDekMsMEJBQXFCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNwRCx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ2pELHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFDcEQsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMvQyx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2xELHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDaEQsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTdDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUM1QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDMUMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMvQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDNUMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzFDLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDNUMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNqRCxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN2QyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQy9DLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUM5QyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUEzRHpDLENBQUM7SUFFTCxRQUFRLEtBQVcsQ0FBQzsrR0FMVCxhQUFhO21IQUFiLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXZlbnRzU2VydmljZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IoXHJcblxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQgeyB9XHJcblxyXG4gIGVkaXRTZWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGR1cGxpY2F0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBkZWxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgY2hhbmdlUG9zaXRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgYWRkTmV3U2VjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGNoYW5nZUNvbnRlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgcmVzdHlsZVNlY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgcGFnZVJlZGlyZWN0aW9uQnV0dG9uID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGJ1dHRvblJlZGlyZWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGNvbnRhY3RGb3JtRGF0YSA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICAvL3JlZmVyZW5jZSBzZXJ2aWNlc1xyXG5cclxuICBiYWNrZ3JvdW5kSW1hZ2VDaGFuZ2VDaGVjayA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBjb2xvck92ZXJsYXlDaGFuZ2VDaGVja3MgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgYWxpZ25tZW50Q2hhbmdlQ2hlY2tzID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGFuaW1hdGlvbkNoYW5nZUNoZWNrcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBjb250ZW50QW5pbWF0aW9uQ2hhbmdlQ2hlY2tzID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIHNwYWNpbmdDaGFuZ2VDaGVja3MgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgYm9yZGVyQ2hhbmdlQ2hlY2tzID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGNhcmRTaXplQ2hhbmdlQ2hlY2tzID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGltYWdlU3R5bGVDaGFuZ2VDaGVja3MgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgdmlkZW9TdHlsZUNoYW5nZUNoZWNrcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBvcGVuUHJvZHVjdHNFZGl0b3IgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgY29ybmVyQ2hhbmdlQ2hlY2tzID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIHRleHRCYWNrZ3JvdW5kQ2hhbmdlQ2hlY2tzID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGJ1dHRvblN0eWxlQ2hhbmdlQ2hlY2tzID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIHBvc3Rpb25MYXlvdXRDaGFuZ2VDaGVja3MgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgY29udGVudEFsaWdubWVudENoYW5nZUNoZWNrID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIG9iamVjdFBvc2l0aW9uQ2hhbmdlQ2hlY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgbG9jYXRpb25DaGFuZ2VDaGVjayA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBtYXBTdHlsZUNoYW5nZUNoZWNrID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIHRleHRTaXplQ2hhbmdlQ2hlY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgYmxvZ0J5SWRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBvcGVuQmxvZ0xpc3RFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICB0b2dnbGVFZGl0b3JFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBjbG9zZUVkaXRvckV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxmYWxzZT4oKTtcclxuICBwbGFjZU9yZGVyID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGZlYXR1cmVDb2xsZWN0aW9uTGlzdCA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBjYXRlZ29yeVByb2R1Y3RMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgY29sbGVjdGlvbnNMaXN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xyXG4gIGNhdGVnb3J5TGlzdEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgYWN0aXZhdGVTbWFydFNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBzaG93TG9hZGluZ1NjcmVlbiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBlbnZpcm9ubWVudFR5cGUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgY2FzaEZyZWVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBzaG93QmFnSWNvbiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBmb3JtRmllbGRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGVsZW1lbnRIZWlnaHQgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgaWNvbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgZW1pdENvdW50RG93bkRhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBzaG93RHVtbXlDYXJ0SXRlbXMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgbWVudUxpc3QgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgb3BlbkJ1dHRvbkVkaXRvciA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBvcGVuSW1hZ2VFZGl0b3IgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgb3BlblRleHRFZGl0b3IgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbn1cclxuIl19
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDOztBQUtqRSxNQUFNLE9BQU8sYUFBYTtJQUN4QjtRQU1BLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMxQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN4QyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNyQyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDN0MsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNqRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDNUMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzdDLDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDcEQsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNoRCxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDOUMsb0JBQW9CO1FBRXBCLCtCQUEwQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDekQsNkJBQXdCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN2RCwwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3BELDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDcEQsaUNBQTRCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMzRCx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2xELHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDakQseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNuRCwyQkFBc0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3JELDJCQUFzQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDckQsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNqRCx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2pELCtCQUEwQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDekQsNEJBQXVCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN0RCw4QkFBeUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3hELGdDQUEyQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDMUQsOEJBQXlCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN4RCx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2xELHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDbEQsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNsRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDNUMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNoRCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2hELHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7UUFDN0MsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDekMsMEJBQXFCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNwRCx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ2pELHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFDcEQsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMvQyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDNUMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNsRCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2hELG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUU3QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDNUMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzFDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDL0Msa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzVDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMxQyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzVDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDakQsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDdkMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMvQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDOUMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBNUR6QyxDQUFDO0lBRUwsUUFBUSxLQUFXLENBQUM7K0dBTFQsYUFBYTttSEFBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEV2ZW50c1NlcnZpY2UgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG5cclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHsgfVxyXG5cclxuICBlZGl0U2VjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBkdXBsaWNhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgZGVsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGNoYW5nZVBvc2l0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGFkZE5ld1NlY3Rpb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBjaGFuZ2VDb250ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIHJlc3R5bGVTZWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIHBhZ2VSZWRpcmVjdGlvbkJ1dHRvbiA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBidXR0b25SZWRpcmVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBjb250YWN0Rm9ybURhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgLy9yZWZlcmVuY2Ugc2VydmljZXNcclxuXHJcbiAgYmFja2dyb3VuZEltYWdlQ2hhbmdlQ2hlY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgY29sb3JPdmVybGF5Q2hhbmdlQ2hlY2tzID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGFsaWdubWVudENoYW5nZUNoZWNrcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBhbmltYXRpb25DaGFuZ2VDaGVja3MgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgY29udGVudEFuaW1hdGlvbkNoYW5nZUNoZWNrcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBzcGFjaW5nQ2hhbmdlQ2hlY2tzID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGJvcmRlckNoYW5nZUNoZWNrcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBjYXJkU2l6ZUNoYW5nZUNoZWNrcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBpbWFnZVN0eWxlQ2hhbmdlQ2hlY2tzID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIHZpZGVvU3R5bGVDaGFuZ2VDaGVja3MgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgb3BlblByb2R1Y3RzRWRpdG9yID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGNvcm5lckNoYW5nZUNoZWNrcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICB0ZXh0QmFja2dyb3VuZENoYW5nZUNoZWNrcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBidXR0b25TdHlsZUNoYW5nZUNoZWNrcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBwb3N0aW9uTGF5b3V0Q2hhbmdlQ2hlY2tzID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGNvbnRlbnRBbGlnbm1lbnRDaGFuZ2VDaGVjayA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBvYmplY3RQb3NpdGlvbkNoYW5nZUNoZWNrID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGxvY2F0aW9uQ2hhbmdlQ2hlY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgbWFwU3R5bGVDaGFuZ2VDaGVjayA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICB0ZXh0U2l6ZUNoYW5nZUNoZWNrID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGJsb2dCeUlkRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgb3BlbkJsb2dMaXN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgdG9nZ2xlRWRpdG9yRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgY2xvc2VFZGl0b3JFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8ZmFsc2U+KCk7XHJcbiAgcGxhY2VPcmRlciA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBmZWF0dXJlQ29sbGVjdGlvbkxpc3QgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgY2F0ZWdvcnlQcm9kdWN0TGlzdCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIGNvbGxlY3Rpb25zTGlzdEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcclxuICBjYXRlZ29yeUxpc3RFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIGJyYW5kTGlzdEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgYWN0aXZhdGVTbWFydFNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBzaG93TG9hZGluZ1NjcmVlbiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBlbnZpcm9ubWVudFR5cGUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgY2FzaEZyZWVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBzaG93QmFnSWNvbiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBmb3JtRmllbGRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGVsZW1lbnRIZWlnaHQgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgaWNvbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgZW1pdENvdW50RG93bkRhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBzaG93RHVtbXlDYXJ0SXRlbXMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgbWVudUxpc3QgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgb3BlbkJ1dHRvbkVkaXRvciA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBvcGVuSW1hZ2VFZGl0b3IgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgb3BlblRleHRFZGl0b3IgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbn1cclxuIl19
@@ -29,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
29
29
  standalone: true
30
30
  }]
31
31
  }], ctorParameters: () => [{ type: i1.DomSanitizer }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FuaXRpemVIdG1sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZXJ2aWNlcy9zYW5pdGl6ZUh0bWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQU9wRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLFlBQW9CLFVBQXVCO1FBQXZCLGVBQVUsR0FBVixVQUFVLENBQWE7SUFDM0MsQ0FBQztJQUVELFNBQVMsQ0FBQyxDQUE0QjtRQUNwQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDUCxPQUFPLEVBQUUsQ0FBQyxDQUFFLCtEQUErRDtRQUM3RSxDQUFDO1FBQ0QsMkRBQTJEO1FBQzNELE1BQU0sU0FBUyxHQUFHLENBQUM7YUFDaEIsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUM7YUFDckIsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUM7YUFDckIsT0FBTyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUM7YUFDdEIsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUM7YUFDdkIsT0FBTyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUM7YUFDdEIsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUUzQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUQsQ0FBQzsrR0FuQlUsZ0JBQWdCOzZHQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBSjVCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGNBQWM7b0JBQ3BCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ3Nhbml0aXplSHRtbCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FuaXRpemVIdG1sUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zYW5pdGl6ZXI6RG9tU2FuaXRpemVyKSB7XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm0odjogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IFNhZmVIdG1sIHtcclxuICAgIGlmICghdikge1xyXG4gICAgICByZXR1cm4gJyc7ICAvLyBSZXR1cm4gYW4gZW1wdHkgc3RyaW5nIGlmIHZhbHVlIGlzIG51bGwsIHVuZGVmaW5lZCwgb3IgZW1wdHlcclxuICAgIH1cclxuICAgIC8vIFVuZXNjYXBlIGNvbW1vbiBIVE1MIGVudGl0aWVzIHRvIGFsbG93IHJlbmRlcmluZyBvZiB0YWdzXHJcbiAgICBjb25zdCB1bmVzY2FwZWQgPSB2XHJcbiAgICAgIC5yZXBsYWNlKC8mbHQ7L2csICc8JylcclxuICAgICAgLnJlcGxhY2UoLyZndDsvZywgJz4nKVxyXG4gICAgICAucmVwbGFjZSgvJmFtcDsvZywgJyYnKVxyXG4gICAgICAucmVwbGFjZSgvJnF1b3Q7L2csICdcIicpXHJcbiAgICAgIC5yZXBsYWNlKC8mIzM5Oy9nLCBcIidcIilcclxuICAgICAgLnJlcGxhY2UoLyZuYnNwOy9nLCAnICcpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLl9zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodW5lc2NhcGVkKTtcclxuICB9XHJcbn1cclxuIl19
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FuaXRpemVIdG1sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZXJ2aWNlcy9zYW5pdGl6ZUh0bWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQU9wRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLFlBQW9CLFVBQXVCO1FBQXZCLGVBQVUsR0FBVixVQUFVLENBQWE7SUFDM0MsQ0FBQztJQUVELFNBQVMsQ0FBQyxDQUE0QjtRQUNwQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDUCxPQUFPLEVBQUUsQ0FBQyxDQUFFLCtEQUErRDtRQUM3RSxDQUFDO1FBQ0QsMkRBQTJEO1FBQzNELE1BQU0sU0FBUyxHQUFHLENBQUM7YUFDaEIsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUM7YUFDckIsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUM7YUFDckIsT0FBTyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUM7YUFDdEIsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUM7YUFDdkIsT0FBTyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUM7YUFDdEIsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUUzQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUQsQ0FBQzsrR0FuQlUsZ0JBQWdCOzZHQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBSjVCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGNBQWM7b0JBQ3BCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdzYW5pdGl6ZUh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFNhbml0aXplSHRtbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zYW5pdGl6ZXI6RG9tU2FuaXRpemVyKSB7XG4gIH1cblxuICB0cmFuc2Zvcm0odjogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IFNhZmVIdG1sIHtcbiAgICBpZiAoIXYpIHtcbiAgICAgIHJldHVybiAnJzsgIC8vIFJldHVybiBhbiBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbnVsbCwgdW5kZWZpbmVkLCBvciBlbXB0eVxuICAgIH1cbiAgICAvLyBVbmVzY2FwZSBjb21tb24gSFRNTCBlbnRpdGllcyB0byBhbGxvdyByZW5kZXJpbmcgb2YgdGFnc1xuICAgIGNvbnN0IHVuZXNjYXBlZCA9IHZcbiAgICAgIC5yZXBsYWNlKC8mbHQ7L2csICc8JylcbiAgICAgIC5yZXBsYWNlKC8mZ3Q7L2csICc+JylcbiAgICAgIC5yZXBsYWNlKC8mYW1wOy9nLCAnJicpXG4gICAgICAucmVwbGFjZSgvJnF1b3Q7L2csICdcIicpXG4gICAgICAucmVwbGFjZSgvJiMzOTsvZywgXCInXCIpXG4gICAgICAucmVwbGFjZSgvJm5ic3A7L2csICcgJyk7XG5cbiAgICByZXR1cm4gdGhpcy5fc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHVuZXNjYXBlZCk7XG4gIH1cbn1cbiJdfQ==
@@ -122,19 +122,15 @@ export class StorageServiceService {
122
122
  this.dbReady = new Promise((resolve, reject) => {
123
123
  if (isPlatformBrowser(this.platformId) && window.indexedDB) {
124
124
  const request = window.indexedDB.open(this.databaseName, this.databaseVersion);
125
+ this.eventService.showLoadingScreen.emit(true);
125
126
  request.onerror = () => {
126
127
  console.error('[IndexedDB] Failed to open database');
127
- resolve();
128
- };
129
- request.onblocked = () => {
130
- console.warn('[IndexedDB] Database upgrade blocked by open connection');
131
- resolve();
128
+ this.eventService.showLoadingScreen.emit(false);
129
+ reject();
132
130
  };
133
131
  request.onsuccess = async (event) => {
134
132
  this.database = event.target.result;
135
- this.database.onversionchange = () => {
136
- this.database.close();
137
- };
133
+ this.eventService.showLoadingScreen.emit(false);
138
134
  this.calculateCartTotals();
139
135
  this.calculateWishlistTotals();
140
136
  this.calculateBookingCartTotals();
@@ -425,4 +421,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
425
421
  type: Inject,
426
422
  args: [PLATFORM_ID]
427
423
  }] }] });
428
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUtuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhDLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7QUFPaEUsTUFBTSxPQUFPLHFCQUFxQjtJQUtoQyxZQUNtQixZQUEyQixFQUMzQixhQUE0QixFQUM1QixXQUF3QixFQUNWLE9BQW9CLEVBQzNDLE1BQWMsRUFDTyxVQUFrQjtRQUw5QixpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQUMzQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNWLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFDM0MsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNPLGVBQVUsR0FBVixVQUFVLENBQVE7UUFXekMsbUJBQWMsR0FBVyxDQUFDLENBQUM7UUFDbkMsdUJBQWtCLEdBQVcsQ0FBQyxDQUFDO1FBUXZCLHVCQUFrQixHQUFXLENBQUMsQ0FBQztRQU92Qyw4RkFBOEY7UUFDdEYsc0JBQWlCLEdBQVcsQ0FBQyxDQUFDO1FBdUR0QyxpQkFBWSxHQUFXLE1BQU0sQ0FBQztRQUM5Qiw0RkFBNEY7UUFDNUYsNEZBQTRGO1FBQzVGLG9GQUFvRjtRQUNwRixvQkFBZSxH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QUFNLElBQUksR0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTTtnQkFBRSxPQUFPLElBQUksQ0FBQztZQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzNDLE9BQU8sSUFBSSxDQUFDO1FBRWQsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGNBQWM7UUFDWixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOytHQTdiVSxxQkFBcUIsdUdBU3RCLGFBQWEsbUNBRWIsV0FBVzttSEFYVixxQkFBcUIsY0FGcEIsTUFBTTs7NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBVUksTUFBTTsyQkFBQyxhQUFhOzswQkFFcEIsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPcmRlcmVkSXRlbXMgfSBmcm9tICcuLi9lY29tbWVyY2Uvc3R5bGVzL09yZGVyZWRJdGVtcy5tb2RhbCc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vZWNvbW1lcmNlL3N0eWxlcy91c2VyLm1vZGFsJztcbmltcG9ydCB7IEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuL2V2ZW50cy5zZXJ2aWNlJztcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xuaW1wb3J0IHsgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FydCwgY2FydFR5cGUgfSBmcm9tICcuLy4uL2Vjb21tZXJjZS9zdHlsZXMvY2FydC5tb2RhbCc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JhZ2VMaWtlIH0gZnJvbSAnLi4vc2VydmljZXMvc3RvcmFnZS1saWtlJztcbmltcG9ydCB7IExPQ0FMX1NUT1JBR0UgfSBmcm9tICcuLi9zZXJ2aWNlcy9sb2NhbC1zdG9yYWdlLnRva2VuJztcblxuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFN0b3JhZ2VTZXJ2aWNlU2VydmljZSB7XG5cblxuICBwcml2YXRlIGRiUmVhZHkhOiBQcm9taXNlPHZvaWQ+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRTZXJ2aWNlOiBFdmVudHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29va2llU2VydmljZTogQ29va2llU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSxcbiAgICBASW5qZWN0KExPQ0FMX1NUT1JBR0UpIHByaXZhdGUgc3RvcmFnZTogU3RvcmFnZUxpa2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IE9iamVjdFxuICApIHtcbiAgICB0aGlzLmNyZWF0ZURhdGFCYXNlKCk7XG4gICAgY29uc3QgdXNlckRldGFpbHMgPSB0aGlzLmdldFVzZXIoKTtcbiAgICBpZiAoISF1c2VyRGV0YWlscykge1xuICAgICAgdGhpcy5yZXN0U2VydmljZS5nZXRVc2VySW5mbyh1c2VyRGV0YWlscy51c2VySWQpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnNldFVzZXIocmVzcG9uc2UuZGF0YSk7XG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdG90YWxDYXJ0SXRlbXM6IG51bWJlciA9IDA7XG4gIGdldENhcnRUb3RhbEFtb3VudDogbnVtYmVyID0gMDtcbiAgZ2V0IGdldFRvdGFsQ2FydEl0ZW1zKCkge1xuICAgIGlmICh0aGlzLnRvdGFsQ2FydEl0ZW1zIDwgMClcbiAgICAgIHRoaXMudG90YWxDYXJ0SXRlbXMgPSAwO1xuICAgIC8vIHRoaXMuZXZlbnRTZXJ2aWNlLnNob3dCYWdJY29uLmVtaXQodGhpcy50b3RhbENhcnRJdGVtcyA+IDApO1xuICAgIHJldHVybiB0aGlzLnRvdGFsQ2FydEl0ZW1zO1xuICB9XG5cbiAgcHJpdmF0ZSB0b3RhbFdpc2hsaXN0SXRlbXM6IG51bWJlciA9IDA7XG4gIGdldCBnZXRUb3RhbFdpc2hsaXN0SXRlbXMoKSB7XG4gICAgaWYgKHRoaXMudG90YWxXaXNobGlzdEl0ZW1zIDwgMClcbiAgICAgIHRoaXMudG90YWxXaXNobGlzdEl0ZW1zID0gMDtcbiAgICByZXR1cm4gdGhpcy50b3RhbFdpc2hsaXN0SXRlbXM7XG4gIH1cblxuICAvKiogQ29tYmluZWQgY291bnQgYWNyb3NzIEhPTUVfVklTSVRfQ0FSVCArIFZJREVPX0NBTExfQ0FSVCwgZm9yIHRoZSBoZWFkZXIgQm9va2luZ3MgYmFkZ2UuICovXG4gIHByaXZhdGUgdG90YWxCb29raW5nSXRlbXM6IG51bWJlciA9IDA7XG4gIGdldCBnZXRUb3RhbEJvb2tpbmdJdGVtcygpIHtcbiAgICBpZiAodGhpcy50b3RhbEJvb2tpbmdJdGVtcyA8IDApXG4gICAgICB0aGlzLnRvdGFsQm9va2luZ0l0ZW1zID0gMDtcbiAgICByZXR1cm4gdGhpcy50b3RhbEJvb2tpbmdJdGVtcztcbiAgfVxuXG4gIGNhbGN1bGF0ZUJvb2tpbmdDYXJ0VG90YWxzKCkge1xuICAgIGlmICghdGhpcy5kYXRhYmFzZSkgcmV0dXJuO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBtb2RlczogKCdIT01FX1ZJU0lUJyB8ICdWSURFT19DQUxMJylbXSA9IFsnSE9NRV9WSVNJVCcsICdWSURFT19DQUxMJ107XG4gICAgICBjb25zdCBjb3VudHM6IG51bWJlcltdID0gWzAsIDBdO1xuICAgICAgbW9kZXMuZm9yRWFjaCgobW9kZSwgaSkgPT4ge1xuICAgICAgICBjb25zdCBzdG9yZU5hbWUgPSB0aGlzLmJvb2tpbmdDYXJ0U3RvcmVOYW1lKG1vZGUpO1xuICAgICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHRoaXMuZGF0YWJhc2UudHJhbnNhY3Rpb24oc3RvcmVOYW1lLCBcInJlYWRvbmx5XCIpO1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoc3RvcmVOYW1lKS5nZXRBbGwoKTtcbiAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSAoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgIGNvdW50c1tpXSA9IChldmVudC50YXJnZXQucmVzdWx0IHx8IFtdKS5sZW5ndGg7XG4gICAgICAgICAgdGhpcy50b3RhbEJvb2tpbmdJdGVtcyA9IGNvdW50cy5yZWR1Y2UoKGEsIGIpID0+IGEgKyBiLCAwKTtcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUud2FybihcIkVycm9yIGNhbGN1bGF0aW5nIGJvb2tpbmcgY2FydCB0b3RhbHM6XCIsIGUpO1xuICAgIH1cbiAgfVxuXG4gIGNhbGN1bGF0ZUNhcnRUb3RhbHMoKSB7XG4gICAgaWYgKCF0aGlzLmRhdGFiYXNlKSByZXR1cm47XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNhcnRUcmFuc2FjdGlvbiA9IHRoaXMuZGF0YWJhc2UudHJhbnNhY3Rpb24odGhpcy5jYXJ0Q29sbGVjdGlvbk5hbWUsIFwicmVhZG9ubHlcIik7XG4gICAgICBjb25zdCBjYXJ0UmVxdWVzdCA9IGNhcnRUcmFuc2FjdGlvbi5vYmplY3RTdG9yZSh0aGlzLmNhcnRDb2xsZWN0aW9uTmFtZSkuZ2V0QWxsKCk7XG4gICAgICBjYXJ0UmVxdWVzdC5vbnN1Y2Nlc3MgPSAoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBpdGVtcyA9IGV2ZW50LnRhcmdldC5yZXN1bHQgfHwgW107XG4gICAgICAgIHRoaXMudG90YWxDYXJ0SXRlbXMgPSBpdGVtcy5sZW5ndGg7XG4gICAgICAgIHRoaXMuZ2V0Q2FydFRvdGFsQW1vdW50ID0gaXRlbXMucmVkdWNlKChhY2M6IG51bWJlciwgaXRlbTogYW55KSA9PiBhY2MgKyAoKGl0ZW0uc2VsbGluZ1ByaWNlIHx8IDApICogKGl0ZW0ucXVhbnRpdHkgfHwgMSkpLCAwKTtcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS53YXJuKFwiRXJyb3IgY2FsY3VsYXRpbmcgY2FydCB0b3RhbHM6XCIsIGUpO1xuICAgIH1cbiAgfVxuXG4gIGNhbGN1bGF0ZVdpc2hsaXN0VG90YWxzKCkge1xuICAgIGlmICghdGhpcy5kYXRhYmFzZSkgcmV0dXJuO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB3aXNobGlzdFRyYW5zYWN0aW9uID0gdGhpcy5kYXRhYmFzZS50cmFuc2FjdGlvbih0aGlzLmZhdm91cml0ZUNvbGxlY3Rpb25OYW1lLCBcInJlYWRvbmx5XCIpO1xuICAgICAgY29uc3Qgd2lzaGxpc3RSZXF1ZXN0ID0gd2lzaGxpc3RUcmFuc2FjdGlvbi5vYmplY3RTdG9yZSh0aGlzLmZhdm91cml0ZUNvbGxlY3Rpb25OYW1lKS5nZXRBbGwoKTtcbiAgICAgIHdpc2hsaXN0UmVxdWVzdC5vbnN1Y2Nlc3MgPSAoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBpdGVtcyA9IGV2ZW50LnRhcmdldC5yZXN1bHQgfHwgW107XG4gICAgICAgIHRoaXMudG90YWxXaXNobGlzdEl0ZW1zID0gaXRlbXMubGVuZ3RoO1xuICAgICAgfTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLndhcm4oXCJFcnJvciBjYWxjdWxhdGluZyB3aXNobGlzdCB0b3RhbHM6XCIsIGUpO1xuICAgIH1cbiAgfVxuXG4gIGRhdGFiYXNlTmFtZTogc3RyaW5nID0gXCJVU0VSXCI7XG4gIC8vIEJ1bXBlZCAxIC0+IDIgdG8gYWRkIHRoZSB0d28gYm9va2luZy1jYXJ0IHN0b3JlcyBiZWxvdy4gSW5kZXhlZERCIG9ubHkgY3JlYXRlcyBuZXcgb2JqZWN0XG4gIC8vIHN0b3JlcyBpbnNpZGUgb251cGdyYWRlbmVlZGVkLCB3aGljaCBvbmx5IGZpcmVzIG9uIGEgdmVyc2lvbiBidW1wIC0gd2l0aG91dCB0aGlzLCB0aGUgbmV3XG4gIC8vIHN0b3JlcyB3b3VsZCBzaWxlbnRseSBuZXZlciBnZXQgY3JlYXRlZCBmb3IgYW55b25lIHdobyBhbHJlYWR5IGhhcyBhIHYxIGRhdGFiYXNlLlxuICBkYXRhYmFzZVZlcnNpb246IG51bWJlciA9IDI7XG4gIGNhcnRDb2xsZWN0aW9uTmFtZTogc3RyaW5nID0gXCJVU0VSX0NBUlRcIjtcbiAgZmF2b3VyaXRlQ29sbGVjdGlvbk5hbWU6IHN0cmluZyA9IFwiVVNFUl9GQVZPVVJJVEVcIjtcbiAgdHJpYWxDYXJ0Q29sbGVjdGlvbk5hbWU6IHN0cmluZyA9ICdUUklBTF9DQVJUJ1xuICB1c2VyQ29sbGVjdGlvbk5hbWU6IHN0cmluZyA9IFwiVVNFUlwiO1xuICAvKipcbiAgICogT25lIGJ1Y2tldCBwZXIgYm9va2luZyBtb2RlIChIb21lIFZpc2l0IC8gVmlkZW8gQ2FsbCksIGxvY2FsLW9ubHksIG5vIHNlcnZlciBzeW5jIC0gdW5saWtlXG4gICAqIFRSSUFMX0NBUlQsIHRoZSBuZXcgZ3JvdXAvY2FydCBib29raW5nIEFQSSB0YWtlcyBwcm9kdWN0IGxpbmVzIGRpcmVjdGx5IGluIHRoZSBob2xkIHJlcXVlc3QsXG4gICAqIHNvIHRoZXJlJ3Mgbm8gc2VydmVyLXNpZGUgY2FydCB0byBrZWVwIHRoZXNlIGluIHN5bmMgd2l0aC4gS2VwdCBzZXBhcmF0ZSBmcm9tIGVhY2ggb3RoZXIgc29cbiAgICogYSBjdXN0b21lciBjYW4gaG9sZCBhIHBlbmRpbmcgY2FydCBmb3IgZWFjaCBtb2RlIGF0IG9uY2UuXG4gICAqL1xuICBob21lVmlzaXRDYXJ0Q29sbGVjdGlvbk5hbWU6IHN0cmluZyA9ICdIT01FX1ZJU0lUX0NBUlQnO1xuICB2aWRlb0NhbGxDYXJ0Q29sbGVjdGlvbk5hbWU6IHN0cmluZyA9ICdWSURFT19DQUxMX0NBUlQnO1xuICBkYXRhYmFzZSE6IElEQkRhdGFiYXNlO1xuXG4gIGNhcnRDb2xsZWN0aW9uUmVmOiBJREJPYmplY3RTdG9yZSB8IG51bGwgPSBudWxsO1xuICBmYXZvdXJpdGVDb2xsZWN0aW9uUmVmOiBJREJPYmplY3RTdG9yZSB8IG51bGwgPSBudWxsO1xuICB1c2VyQ29sbGVjdGlvblJlZjogSURCT2JqZWN0U3RvcmUgfCBudWxsID0gbnVsbDtcbiAgdHJpYWxDYXJ0Q29sbGVjdGlvblJlZjogSURCT2JqZWN0U3RvcmUgfCBudWxsID0gbnVsbDtcblxuICBjcmVhdGVEYXRhQmFzZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmRiUmVhZHkgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cbiAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpICYmIHdpbmRvdy5pbmRleGVkREIpIHtcbiAgICAgICAgY29uc3QgcmVxdWVzdDogSURCT3BlbkRCUmVxdWVzdCA9IHdpbmRvdy5pbmRleGVkREIub3Blbih0aGlzLmRhdGFiYXNlTmFtZSwgdGhpcy5kYXRhYmFzZVZlcnNpb24pO1xuXG4gICAgICAgIHJlcXVlc3Qub25lcnJvciA9ICgpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdbSW5kZXhlZERCXSBGYWlsZWQgdG8gb3BlbiBkYXRhYmFzZScpO1xuICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgfTtcblxuICAgICAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9ICgpID0+IHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oJ1tJbmRleGVkREJdIERhdGFiYXNlIHVwZ3JhZGUgYmxvY2tlZCBieSBvcGVuIGNvbm5lY3Rpb24nKTtcbiAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBhc3luYyAoZXZlbnQpID0+IHtcbiAgICAgICAgICB0aGlzLmRhdGFiYXNlID0gKGV2ZW50LnRhcmdldCBhcyBJREJPcGVuREJSZXF1ZXN0KS5yZXN1bHQ7XG4gICAgICAgICAgdGhpcy5kYXRhYmFzZS5vbnZlcnNpb25jaGFuZ2UgPSAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRhdGFiYXNlLmNsb3NlKCk7XG4gICAgICAgICAgfTtcbiAgICAgICAgICB0aGlzLmNhbGN1bGF0ZUNhcnRUb3RhbHMoKTtcbiAgICAgICAgICB0aGlzLmNhbGN1bGF0ZVdpc2hsaXN0VG90YWxzKCk7XG4gICAgICAgICAgdGhpcy5jYWxjdWxhdGVCb29raW5nQ2FydFRvdGFscygpO1xuICAgICAgICAgIHJlc29sdmUoKTsgLy8g4pyFIFZFUlkgSU1QT1JUQU5UXG4gICAgICAgIH07XG5cbiAgICAgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICB0aGlzLmRhdGFiYXNlID0gKGV2ZW50LnRhcmdldCBhcyBJREJPcGVuREJSZXF1ZXN0KS5yZXN1bHQ7XG5cbiAgICAgICAgICBpZiAoIXRoaXMuZGF0YWJhc2Uub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyh0aGlzLmNhcnRDb2xsZWN0aW9uTmFtZSkpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YWJhc2UuY3JlYXRlT2JqZWN0U3RvcmUodGhpcy5jYXJ0Q29sbGVjdGlvbk5hbWUsIHsga2V5UGF0aDogXCJ2YXJpZW50SWRcIiB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCF0aGlzLmRhdGFiYXNlLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnModGhpcy50cmlhbENhcnRDb2xsZWN0aW9uTmFtZSkpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YWJhc2UuY3JlYXRlT2JqZWN0U3RvcmUodGhpcy50cmlhbENhcnRDb2xsZWN0aW9uTmFtZSwgeyBrZXlQYXRoOiBcInZhcmllbnRJZFwiIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIXRoaXMuZGF0YWJhc2Uub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyh0aGlzLmZhdm91cml0ZUNvbGxlY3Rpb25OYW1lKSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhYmFzZS5jcmVhdGVPYmplY3RTdG9yZSh0aGlzLmZhdm91cml0ZUNvbGxlY3Rpb25OYW1lLCB7IGtleVBhdGg6IFwidmFyaWVudElkXCIgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghdGhpcy5kYXRhYmFzZS5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKHRoaXMudXNlckNvbGxlY3Rpb25OYW1lKSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhYmFzZS5jcmVhdGVPYmplY3RTdG9yZSh0aGlzLnVzZXJDb2xsZWN0aW9uTmFtZSwgeyBrZXlQYXRoOiBcInVzZXJJZFwiIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIXRoaXMuZGF0YWJhc2Uub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyh0aGlzLmhvbWVWaXNpdENhcnRDb2xsZWN0aW9uTmFtZSkpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YWJhc2UuY3JlYXRlT2JqZWN0U3RvcmUodGhpcy5ob21lVmlzaXRDYXJ0Q29sbGVjdGlvbk5hbWUsIHsga2V5UGF0aDogXCJ2YXJpZW50SWRcIiB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCF0aGlzLmRhdGFiYXNlLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnModGhpcy52aWRlb0NhbGxDYXJ0Q29sbGVjdGlvbk5hbWUpKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGFiYXNlLmNyZWF0ZU9iamVjdFN0b3JlKHRoaXMudmlkZW9DYWxsQ2FydENvbGxlY3Rpb25OYW1lLCB7IGtleVBhdGg6IFwidmFyaWVudElkXCIgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1tTU1JdIEluZGV4ZWREQiBub3QgYXZhaWxhYmxlJyk7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH1cblxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuZGJSZWFkeTtcbiAgfVxuXG4gIHNldFRva2VuKHRva2VuOiBhbnkpIHtcbiAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KFwicGFzc0Jvb2tUb2tlblwiLCB0b2tlbilcbiAgICAvLyBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcInBhc3NCb29rVG9rZW5cIiwgdG9rZW4pO1xuICAgIHRoaXMuc3RvcmFnZS5zZXRJdGVtKFwicGFzc0Jvb2tUb2tlblwiLCB0b2tlbik7XG4gIH1cblxuICBnZXRUb2tlbigpIHtcbiAgICBsZXQgdG9rZW46IGFueSA9IHRoaXMuY29va2llU2VydmljZS5nZXQoJ3Bhc3NCb29rVG9rZW4nKVxuICAgIGlmICghdG9rZW4pXG4gICAgICB0b2tlbiA9IHRoaXMuc3RvcmFnZS5nZXRJdGVtKCdwYXNzQm9va1Rva2VuJykgfHwgXCJcIlxuICAgIHJldHVybiB0b2tlbjtcbiAgfVxuXG5cbiAgc2V0UmVmZXJyYWxEZXRhaWxzKGRldGFpbHM6IGFueSkge1xuICAgIHRoaXMuY29va2llU2VydmljZS5zZXQoXCJyZWZlcnJhbERldGFpbHNcIiwgSlNPTi5zdHJpbmdpZnkoZGV0YWlscykpXG4gICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0oXCJyZWZlcnJhbERldGFpbHNcIiwgSlNPTi5zdHJpbmdpZnkoZGV0YWlscykpO1xuICB9XG5cbiAgZ2V0UmVmZXJyYWxEZXRhaWxzKCkge1xuICAgIGxldCByZWZlcnJhbERldGFpbHM6IGFueSA9IHRoaXMuY29va2llU2VydmljZS5nZXQoJ3JlZmVycmFsRGV0YWlscycpXG4gICAgaWYgKCFyZWZlcnJhbERldGFpbHMpIHtcbiAgICAgIHJlZmVycmFsRGV0YWlscyA9IHRoaXMuc3RvcmFnZS5nZXRJdGVtKFwicmVmZXJyYWxEZXRhaWxzXCIpO1xuICAgIH1cbiAgICByZXR1cm4gcmVmZXJyYWxEZXRhaWxzO1xuICB9XG5cbiAgdXBkYXRlQWxsRGF0YSgpIHtcbiAgICBpZiAodGhpcy5yb3V0ZXIudXJsLmluY2x1ZGVzKCdjYXJ0JykpXG4gICAgICByZXR1cm47XG5cbiAgICBjb25zdCB1c2VyRGV0YWlscyA9IHRoaXMuZ2V0VXNlcigpO1xuICAgIGlmICghIXVzZXJEZXRhaWxzKSB7XG4gICAgICB0aGlzLmV2ZW50U2VydmljZS5zaG93TG9hZGluZ1NjcmVlbi5lbWl0KHRydWUpO1xuICAgICAgY29uc3QgcmVxdWVzdCA9IGZvcmtKb2luKFtcbiAgICAgICAgdGhpcy5yZXN0U2VydmljZS5nZXRVc2VySXRlbXModXNlckRldGFpbHMudXNlcklkLCBcIkNBUlRcIiksXG4gICAgICAgIHRoaXMucmVzdFNlcnZpY2UuZ2V0VXNlckl0ZW1zKHVzZXJEZXRhaWxzLnVzZXJJZCwgXCJXSVNITElTVFwiKVxuICAgICAgXSk7XG4gICAgICByZXF1ZXN0LnN1YnNjcmliZSgoY2FydFJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgdXNlckRldGFpbHMgPSB0aGlzLmdldFVzZXIoKSBhcyBVc2VyO1xuICAgICAgICBjb25zdCB1c2VyQ2FydDogQ2FydCA9IGNhcnRSZXNwb25zZT8uWzBdLmRhdGFbMF0gPyBjYXJ0UmVzcG9uc2U/LlswXS5kYXRhWzBdIGFzIENhcnQgOiBuZXcgQ2FydCh7ICdjYXJ0VHlwZSc6IGNhcnRUeXBlLkNBUlQsICd1c2VyRGV0YWlscyc6IHVzZXJEZXRhaWxzLCAncGxhdGZvcm0nOiAnV0VCJyB9KTtcblxuICAgICAgICBpZiAodXNlckNhcnQ/LmNhcnRJZClcbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImNhcnRJZFwiLCB1c2VyQ2FydD8uY2FydElkKTtcbiAgICAgICAgdGhpcy5nZXRVc2VyQ2FydCgpLnRoZW4oKHVzZXJDYXJ0UmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB1c2VyQ2FydFJlc3BvbnNlLm9uc3VjY2VzcyA9ICh1c2VyQ2FydEluZGV4REI6IGFueSkgPT4ge1xuICAgICAgICAgICAgdXNlckNhcnQub3JkZXJlZEl0ZW1zID0gdGhpcy5tZXJnZUFsbEl0ZW1zKHVzZXJDYXJ0SW5kZXhEQi50YXJnZXQucmVzdWx0ID8/IFtdLCB1c2VyQ2FydD8ub3JkZXJlZEl0ZW1zID8/IFtdKTtcblxuICAgICAgICAgICAgdGhpcy5hZGRBbGxQcm9kdWN0c1RvQ2FydCh1c2VyQ2FydC5vcmRlcmVkSXRlbXMpO1xuICAgICAgICAgICAgLy8gdGhpcy5yZXN0U2VydmljZS5hZGRJdGVtVG9EQih1c2VyQ2FydCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgICAgLy8gICBpZihyZXM/LmRhdGE/LmNhcnRJZCAmJiAhbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2NhcnRJZCcpKVxuICAgICAgICAgICAgLy8gICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdjYXJ0SWQnLCByZXMuZGF0YS5jYXJ0SWQpO1xuICAgICAgICAgICAgLy8gfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgY29uc3QgdXNlcldpc2hsaXN0OiBDYXJ0ID0gY2FydFJlc3BvbnNlPy5bMV0uZGF0YSBhcyBDYXJ0O1xuICAgICAgICBpZiAodXNlcldpc2hsaXN0LmNhcnRJZClcbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIndpc2hsaXN0SWRcIiwgdXNlcldpc2hsaXN0LmNhcnRJZCk7XG4gICAgICAgIHRoaXMuZ2V0VXNlcldoaXNobGlzdCgpLnRoZW4oKHVzZXJXaXNobGlzdFJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdXNlcldpc2hsaXN0UmVzcG9uc2Uub25zdWNjZXNzID0gKHVzZXJXaXNobGlzdEluZGV4REI6IGFueSkgPT4ge1xuICAgICAgICAgICAgdXNlcldpc2hsaXN0Lm9yZGVyZWRJdGVtcyA9IFsuLi4odXNlcldpc2hsaXN0SW5kZXhEQi50YXJnZXQucmVzdWx0ID8/IFtdKSwgLi4uKHVzZXJXaXNobGlzdC5vcmRlcmVkSXRlbXMgPz8gW10pXTtcbiAgICAgICAgICAgIHRoaXMuYWRkQWxsUHJvZHVjdFRvV2lzaGxpc3QodXNlcldpc2hsaXN0Lm9yZGVyZWRJdGVtcyk7XG4gICAgICAgICAgICB0aGlzLnJlc3RTZXJ2aWNlLmFkZEl0ZW1Ub0RCKHVzZXJXaXNobGlzdCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuXG4gICAgICAgIHRoaXMuZXZlbnRTZXJ2aWNlLnNob3dMb2FkaW5nU2NyZWVuLmVtaXQoZmFsc2UpO1xuICAgICAgfSlcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdGhpcy5zdG9yZURhdGFUb0pTT04oKTtcbiAgICB9XG4gIH1cblxuICBtZXJnZUFsbEl0ZW1zKHVuU3luY2VkSXRlbTogYW55W10sIHN5bmNlZEl0ZW06IGFueVtdKSB7XG4gICAgZm9yIChsZXQgcHJvZHVjdCBvZiBzeW5jZWRJdGVtKSB7XG4gICAgICBsZXQgaXRlbUZvdW5kID0gZmFsc2U7XG4gICAgICBmb3IgKGxldCBjYXJ0SXRlbSBvZiB1blN5bmNlZEl0ZW0pIHtcbiAgICAgICAgaWYgKGNhcnRJdGVtLnZhcmllbnRJZCA9PT0gcHJvZHVjdC52YXJpZW50SWQpIHtcbiAgICAgICAgICBpdGVtRm91bmQgPSB0cnVlO1xuICAgICAgICAgIC8vIGNhcnRJdGVtLnF1YW50aXR5ID0gcHJvZHVjdC5xdWFudGl0eTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFpdGVtRm91bmQpIHtcbiAgICAgICAgdW5TeW5jZWRJdGVtLnB1c2gocHJvZHVjdCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1blN5bmNlZEl0ZW07XG4gIH1cblxuICAvLyBDQVJUIFNFUlZJQ0VcbiAgYXN5bmMgZ2V0VXNlckNhcnQoKTogUHJvbWlzZTxJREJSZXF1ZXN0PE9yZGVyZWRJdGVtc1tdPj4ge1xuICAgIGF3YWl0IHRoaXMuZGJSZWFkeTtcblxuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdGhpcy5kYXRhYmFzZT8udHJhbnNhY3Rpb24odGhpcy5jYXJ0Q29sbGVjdGlvbk5hbWUgPz8gXCJVU0VSX0NBUlRcIiwgXCJyZWFkd3JpdGVcIik7XG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKHRoaXMuY2FydENvbGxlY3Rpb25OYW1lKS5nZXRBbGwoKTtcbiAgfVxuXG4gIGFkZFByb2R1Y3RUb0NhcnQocHJvZHVjdDogT3JkZXJlZEl0ZW1zKSB7XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSB0aGlzLmRhdGFiYXNlPy50cmFuc2FjdGlvbih0aGlzLmNhcnRDb2xsZWN0aW9uTmFtZSA/PyBcIlVTRVJfQ0FSVFwiLCBcInJlYWR3cml0ZVwiKTtcbiAgICBjb25zdCByZXF1ZXN0ID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUodGhpcy5jYXJ0Q29sbGVjdGlvbk5hbWUpLnB1dChwcm9kdWN0KTtcbiAgICB0cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gKCkgPT4ge1xuICAgICAgdGhpcy5jYWxjdWxhdGVDYXJ0VG90YWxzKCk7XG4gICAgfTtcbiAgICByZXR1cm4gcmVxdWVzdDtcbiAgfVxuXG4gIGFkZEFsbFByb2R1Y3RUb1dpc2hsaXN0KHByb2R1Y3RzOiBPcmRlcmVkSXRlbXNbXSk6IElEQlRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHRoaXMuZGF0YWJhc2U/LnRyYW5zYWN0aW9uKHRoaXMuZmF2b3VyaXRlQ29sbGVjdGlvbk5hbWUgPz8gXCJVU0VSX0ZBVk9VUklURVwiLCBcInJlYWR3cml0ZVwiKTtcbiAgICBwcm9kdWN0cy5mb3JFYWNoKChwcm9kdWN0KSA9PiB7XG4gICAgICB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSh0aGlzLmZhdm91cml0ZUNvbGxlY3Rpb25OYW1lKS5wdXQocHJvZHVjdCk7XG4gICAgfSlcbiAgICB0cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gKCkgPT4ge1xuICAgICAgdGhpcy5jYWxjdWxhdGVXaXNobGlzdFRvdGFscygpO1xuICAgIH07XG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uO1xuICB9XG4gIGFkZEFsbFByb2R1Y3RzVG9DYXJ0KHByb2R1Y3RzOiBPcmRlcmVkSXRlbXNbXSk6IElEQlRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHRoaXMuZGF0YWJhc2U/LnRyYW5zYWN0aW9uKHRoaXMuY2FydENvbGxlY3Rpb25OYW1lID8/IFwiVVNFUl9DQVJUXCIsIFwicmVhZHdyaXRlXCIpO1xuICAgIHByb2R1Y3RzLmZvckVhY2goKHByb2R1Y3QpID0+IHtcbiAgICAgIHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKHRoaXMuY2FydENvbGxlY3Rpb25OYW1lKS5wdXQocHJvZHVjdCk7XG4gICAgfSlcbiAgICB0cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gKCkgPT4ge1xuICAgICAgdGhpcy5jYWxjdWxhdGVDYXJ0VG90YWxzKCk7XG4gICAgfTtcbiAgICByZXR1cm4gdHJhbnNhY3Rpb247XG4gIH1cbiAgcmVtb3ZlUHJvZHVjdEZyb21DYXJ0KHByb2R1Y3RJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSB0aGlzLmRhdGFiYXNlPy50cmFuc2FjdGlvbih0aGlzLmNhcnRDb2xsZWN0aW9uTmFtZSA/PyBcIlVTRVJfQ0FSVFwiLCBcInJlYWR3cml0ZVwiKTtcbiAgICBjb25zdCByZXF1ZXN0ID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUodGhpcy5jYXJ0Q29sbGVjdGlvbk5hbWUpLmRlbGV0ZShwcm9kdWN0SWQpO1xuICAgIHRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSAoKSA9PiB7XG4gICAgICB0aGlzLmNhbGN1bGF0ZUNhcnRUb3RhbHMoKTtcbiAgICB9O1xuICAgIHJldHVybiByZXF1ZXN0O1xuICB9XG4gIGFzeW5jIGdldFByb2R1Y3RGcm9tQ2FydChwcm9kdWN0SWQ6IHN0cmluZykge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdGhpcy5kYXRhYmFzZT8udHJhbnNhY3Rpb24odGhpcy5jYXJ0Q29sbGVjdGlvbk5hbWUgPz8gXCJVU0VSX0NBUlRcIiwgXCJyZWFkd3JpdGVcIik7XG4gICAgcmV0dXJuIGF3YWl0IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKHRoaXMuY2FydENvbGxlY3Rpb25OYW1lKS5nZXQocHJvZHVjdElkKTtcbiAgfVxuXG4gIC8vIFdJU0hMSVNUIFNFUlZJQ0VcbiAgYXN5bmMgZ2V0VXNlcldoaXNobGlzdCgpOiBQcm9taXNlPElEQlJlcXVlc3Q8T3JkZXJlZEl0ZW1zW10+PiB7XG5cbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHRoaXMuZGF0YWJhc2UudHJhbnNhY3Rpb24odGhpcy5mYXZvdXJpdGVDb2xsZWN0aW9uTmFtZSwgXCJyZWFkd3JpdGVcIik7XG4gICAgcmV0dXJuIGF3YWl0IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKHRoaXMuZmF2b3VyaXRlQ29sbGVjdGlvbk5hbWUpLmdldEFsbCgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VHJpYWxDYXJ0KCk6IFByb21pc2U8SURCUmVxdWVzdDxPcmRlcmVkSXRlbXNbXT4+IHtcblxuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdGhpcy5kYXRhYmFzZS50cmFuc2FjdGlvbih0aGlzLnRyaWFsQ2FydENvbGxlY3Rpb25OYW1lLCBcInJlYWR3cml0ZVwiKTtcbiAgICByZXR1cm4gYXdhaXQgdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUodGhpcy50cmlhbENhcnRDb2xsZWN0aW9uTmFtZSkuZ2V0QWxsKCk7XG4gIH1cblxuICBhZGRQcm9kdWN0VG9XaXNobGlzdChwcm9kdWN0OiBPcmRlcmVkSXRlbXMpIHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHRoaXMuZGF0YWJhc2UudHJhbnNhY3Rpb24odGhpcy5mYXZvdXJpdGVDb2xsZWN0aW9uTmFtZSwgXCJyZWFkd3JpdGVcIik7XG4gICAgY29uc3QgcmVxdWVzdCA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKHRoaXMuZmF2b3VyaXRlQ29sbGVjdGlvbk5hbWUpLnB1dChwcm9kdWN0KTtcbiAgICB0cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gKCkgPT4ge1xuICAgICAgdGhpcy5jYWxjdWxhdGVXaXNobGlzdFRvdGFscygpO1xuICAgIH07XG4gICAgcmV0dXJuIHJlcXVlc3Q7XG4gIH1cbiAgYWRkUHJvZHVjdFRvVHJpYWwocHJvZHVjdDogT3JkZXJlZEl0ZW1zKSB7XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSB0aGlzLmRhdGFiYXNlLnRyYW5zYWN0aW9uKHRoaXMudHJpYWxDYXJ0Q29sbGVjdGlvbk5hbWUsIFwicmVhZHdyaXRlXCIpO1xuICAgIHJldHVybiB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSh0aGlzLnRyaWFsQ2FydENvbGxlY3Rpb25OYW1lKS5wdXQocHJvZHVjdCk7XG4gIH1cbiAgcmVtb3ZlUHJvZHVjdEZyb21XaXNobGlzdChwcm9kdWN0SWQ6IHN0cmluZykge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdGhpcy5kYXRhYmFzZS50cmFuc2FjdGlvbih0aGlzLmZhdm91cml0ZUNvbGxlY3Rpb25OYW1lLCBcInJlYWR3cml0ZVwiKTtcbiAgICBjb25zdCByZXF1ZXN0ID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUodGhpcy5mYXZvdXJpdGVDb2xsZWN0aW9uTmFtZSkuZGVsZXRlKHByb2R1Y3RJZCk7XG4gICAgdHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9ICgpID0+IHtcbiAgICAgIHRoaXMuY2FsY3VsYXRlV2lzaGxpc3RUb3RhbHMoKTtcbiAgICB9O1xuICAgIHJldHVybiByZXF1ZXN0O1xuICB9XG5cbiAgY2xlYXJVc2VyQ2FydCgpIHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHRoaXMuZGF0YWJhc2U/LnRyYW5zYWN0aW9uKHRoaXMuY2FydENvbGxlY3Rpb25OYW1lID8/IFwiVVNFUl9DQVJUXCIsIFwicmVhZHdyaXRlXCIpO1xuICAgIGNvbnN0IHJlcXVlc3QgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSh0aGlzLmNhcnRDb2xsZWN0aW9uTmFtZSkuY2xlYXIoKTtcbiAgICB0cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gKCkgPT4ge1xuICAgICAgdGhpcy5jYWxjdWxhdGVDYXJ0VG90YWxzKCk7XG4gICAgfTtcbiAgICByZXR1cm4gcmVxdWVzdDtcbiAgfVxuXG4gIGNsZWFyVHJpYWxDYXJ0KCkge1xuICAgIHRoaXMudG90YWxDYXJ0SXRlbXMgPSAwO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdGhpcy5kYXRhYmFzZT8udHJhbnNhY3Rpb24odGhpcy50cmlhbENhcnRDb2xsZWN0aW9uTmFtZSwgXCJyZWFkd3JpdGVcIik7XG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKHRoaXMudHJpYWxDYXJ0Q29sbGVjdGlvbk5hbWUpLmNsZWFyKCk7XG4gIH1cblxuICByZW1vdmVQcm9kdWN0RnJvbVRyaWFsQ2FydChwcm9kdWN0SWQ6IHN0cmluZykge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdGhpcy5kYXRhYmFzZS50cmFuc2FjdGlvbih0aGlzLnRyaWFsQ2FydENvbGxlY3Rpb25OYW1lLCBcInJlYWR3cml0ZVwiKTtcbiAgICByZXR1cm4gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUodGhpcy50cmlhbENhcnRDb2xsZWN0aW9uTmFtZSkuZGVsZXRlKHByb2R1Y3RJZCk7XG4gIH1cblxuICAvLyBCT09LSU5HIFBST0RVQ1QgQ0FSVFMgKEhvbWUgVmlzaXQgLyBWaWRlbyBDYWxsKSDigJQgbG9jYWwtb25seSwgc2VlIGZpZWxkIGNvbW1lbnRzIGFib3ZlLlxuICBwcml2YXRlIGJvb2tpbmdDYXJ0U3RvcmVOYW1lKG1vZGU6ICdIT01FX1ZJU0lUJyB8ICdWSURFT19DQUxMJyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG1vZGUgPT09ICdIT01FX1ZJU0lUJyA/IHRoaXMuaG9tZVZpc2l0Q2FydENvbGxlY3Rpb25OYW1lIDogdGhpcy52aWRlb0NhbGxDYXJ0Q29sbGVjdGlvbk5hbWU7XG4gIH1cblxuICBhc3luYyBnZXRCb29raW5nQ2FydChtb2RlOiAnSE9NRV9WSVNJVCcgfCAnVklERU9fQ0FMTCcpOiBQcm9taXNlPElEQlJlcXVlc3Q8T3JkZXJlZEl0ZW1zW10+PiB7XG4gICAgYXdhaXQgdGhpcy5kYlJlYWR5O1xuICAgIGNvbnN0IHN0b3JlTmFtZSA9IHRoaXMuYm9va2luZ0NhcnRTdG9yZU5hbWUobW9kZSk7XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSB0aGlzLmRhdGFiYXNlLnRyYW5zYWN0aW9uKHN0b3JlTmFtZSwgXCJyZWFkd3JpdGVcIik7XG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKHN0b3JlTmFtZSkuZ2V0QWxsKCk7XG4gIH1cblxuICBhc3luYyBhZGRQcm9kdWN0VG9Cb29raW5nQ2FydChtb2RlOiAnSE9NRV9WSVNJVCcgfCAnVklERU9fQ0FMTCcsIHByb2R1Y3Q6IE9yZGVyZWRJdGVtcykge1xuICAgIGF3YWl0IHRoaXMuZGJSZWFkeTtcbiAgICBjb25zdCBzdG9yZU5hbWUgPSB0aGlzLmJvb2tpbmdDYXJ0U3RvcmVOYW1lKG1vZGUpO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdGhpcy5kYXRhYmFzZS50cmFuc2FjdGlvbihzdG9yZU5hbWUsIFwicmVhZHdyaXRlXCIpO1xuICAgIHRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSAoKSA9PiB0aGlzLmNhbGN1bGF0ZUJvb2tpbmdDYXJ0VG90YWxzKCk7XG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKHN0b3JlTmFtZSkucHV0KHByb2R1Y3QpO1xuICB9XG5cbiAgYXN5bmMgcmVtb3ZlUHJvZHVjdEZyb21Cb29raW5nQ2FydChtb2RlOiAnSE9NRV9WSVNJVCcgfCAnVklERU9fQ0FMTCcsIHByb2R1Y3RJZDogc3RyaW5nKSB7XG4gICAgYXdhaXQgdGhpcy5kYlJlYWR5O1xuICAgIGNvbnN0IHN0b3JlTmFtZSA9IHRoaXMuYm9va2luZ0NhcnRTdG9yZU5hbWUobW9kZSk7XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSB0aGlzLmRhdGFiYXNlLnRyYW5zYWN0aW9uKHN0b3JlTmFtZSwgXCJyZWFkd3JpdGVcIik7XG4gICAgdHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9ICgpID0+IHRoaXMuY2FsY3VsYXRlQm9va2luZ0NhcnRUb3RhbHMoKTtcbiAgICByZXR1cm4gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoc3RvcmVOYW1lKS5kZWxldGUocHJvZHVjdElkKTtcbiAgfVxuXG4gIGFzeW5jIGNsZWFyQm9va2luZ0NhcnQobW9kZTogJ0hPTUVfVklTSVQnIHwgJ1ZJREVPX0NBTEwnKSB7XG4gICAgYXdhaXQgdGhpcy5kYlJlYWR5O1xuICAgIGNvbnN0IHN0b3JlTmFtZSA9IHRoaXMuYm9va2luZ0NhcnRTdG9yZU5hbWUobW9kZSk7XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSB0aGlzLmRhdGFiYXNlLnRyYW5zYWN0aW9uKHN0b3JlTmFtZSwgXCJyZWFkd3JpdGVcIik7XG4gICAgdHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9ICgpID0+IHRoaXMuY2FsY3VsYXRlQm9va2luZ0NhcnRUb3RhbHMoKTtcbiAgICByZXR1cm4gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoc3RvcmVOYW1lKS5jbGVhcigpO1xuICB9XG5cbiAgLy8gVVNFUiBTRVJWSUNFXG4gIHNldFVzZXIodXNlcjogVXNlcik6IFVzZXIge1xuICAgIHRoaXMuY29va2llU2VydmljZS5zZXQoXCJ1c2VyXCIsIEpTT04uc3RyaW5naWZ5KHVzZXIgPz8gXCJ7fVwiKSwgNyk7XG4gICAgLy8gbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJ1c2VyXCIsIEpTT04uc3RyaW5naWZ5KHVzZXIgPz8gXCJ7fVwiKSk7XG4gICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0oXCJ1c2VyXCIsIEpTT04uc3RyaW5naWZ5KHVzZXIgPz8gXCJ7fVwiKSk7XG4gICAgcmV0dXJuIHVzZXI7XG4gIH1cbiAgZ2V0VXNlcigpOiBVc2VyIHwgbnVsbCB7XG4gICAgdHJ5IHtcbiAgICAgIGxldCB1c2VyU3RyID0gdGhpcy5jb29raWVTZXJ2aWNlLmdldChcInVzZXJcIik7XG4gICAgICBpZiAoIXVzZXJTdHIpIHtcbiAgICAgICAgdXNlclN0ciA9IHRoaXMuc3RvcmFnZS5nZXRJdGVtKFwidXNlclwiKSB8fCBcIlwiOyAvLyDinIUgZmFsbGJhY2tcbiAgICAgIH1cbiAgICAgIGlmICghdXNlclN0cikgcmV0dXJuIG51bGw7XG4gICAgICBjb25zdCB1c2VyOiBVc2VyID0gSlNPTi5wYXJzZSh1c2VyU3RyKTtcbiAgICAgIGlmICghdXNlcj8udXNlcklkKSByZXR1cm4gbnVsbDtcbiAgICAgIHRoaXMuc3RvcmFnZS5zZXRJdGVtKFwicGVySWRcIiwgdXNlci51c2VySWQpO1xuICAgICAgcmV0dXJuIHVzZXI7XG5cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU3RhYmxlIHBlci1icm93c2VyIGlkLCBwZXJzaXN0ZWQgcmVnYXJkbGVzcyBvZiBsb2dpbiBzdGF0ZSwgc28gYmVoYXZpb3IgY2FuIGJlIHRyYWNrZWRcbiAgICogYmVmb3JlIGEgdmlzaXRvciBsb2dzIGluLiBNaXJyb3JzIHNldFVzZXIoKSdzIGR1YWwgY29va2llK3N0b3JhZ2Ugd3JpdGUgc28gaXQgc3Vydml2ZXNcbiAgICogdGhlIHNhbWUgd2F5LiBNZXJnZWQgb250byB0aGUgcmVhbCB1c2VySWQgc2VydmVyLXNpZGUgb25jZSB0aGV5IGxvZyBpbiAoQW5hbHl0aWNzU2VydmljZS5tZXJnZUFub255bW91c1VzZXIpLlxuICAgKi9cbiAgZ2V0QW5vbnltb3VzSWQoKTogc3RyaW5nIHtcbiAgICBsZXQgYW5vbklkID0gdGhpcy5jb29raWVTZXJ2aWNlLmdldChcImFub25JZFwiKSB8fCB0aGlzLnN0b3JhZ2UuZ2V0SXRlbShcImFub25JZFwiKTtcbiAgICBpZiAoIWFub25JZCkge1xuICAgICAgYW5vbklkID0gY3J5cHRvLnJhbmRvbVVVSUQoKTtcbiAgICAgIHRoaXMuY29va2llU2VydmljZS5zZXQoXCJhbm9uSWRcIiwgYW5vbklkLCAzNjUpO1xuICAgICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0oXCJhbm9uSWRcIiwgYW5vbklkKTtcbiAgICB9XG4gICAgcmV0dXJuIGFub25JZDtcbiAgfVxuXG59XG4iXX0=
424
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUtuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhDLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7QUFPaEUsTUFBTSxPQUFPLHFCQUFxQjtJQUtoQyxZQUNtQixZQUEyQixFQUMzQixhQUE0QixFQUM1QixXQUF3QixFQUNWLE9BQW9CLEVBQzNDLE1BQWMsRUFDTyxVQUFrQjtRQUw5QixpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQUMzQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNWLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFDM0MsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNPLGVBQVUsR0FBVixVQUFVLENBQVE7UUFXekMsbUJBQWMsR0FBVyxDQUFDLENBQUM7UUFDbkMsdUJBQWtCLEdBQVcsQ0FBQyxDQUFDO1FBUXZCLHVCQUFrQixHQUFXLENBQUMsQ0FBQztRQU92Qyw4RkFBOEY7UUFDdEYsc0JBQWlCLEdBQVcsQ0FBQyxDQUFDO1FBdUR0QyxpQkFBWSxHQUFXLE1BQU0sQ0FBQztRQUM5Qiw0RkFBNEY7UUFDNUYsNEZBQTRGO1FBQzVGLG9GQUFvRjtRQUNwRixvQkFBZSxH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QUMsT0FBTyxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0MsT0FBTyxJQUFJLENBQUM7UUFFZCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsY0FBYztRQUNaLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7K0dBemJVLHFCQUFxQix1R0FTdEIsYUFBYSxtQ0FFYixXQUFXO21IQVhWLHFCQUFxQixjQUZwQixNQUFNOzs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFVSSxNQUFNOzJCQUFDLGFBQWE7OzBCQUVwQixNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9yZGVyZWRJdGVtcyB9IGZyb20gJy4uL2Vjb21tZXJjZS9zdHlsZXMvT3JkZXJlZEl0ZW1zLm1vZGFsJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi9lY29tbWVyY2Uvc3R5bGVzL3VzZXIubW9kYWwnO1xuaW1wb3J0IHsgRXZlbnRzU2VydmljZSB9IGZyb20gJy4vZXZlbnRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gJ25neC1jb29raWUtc2VydmljZSc7XG5pbXBvcnQgeyBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuL3Jlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBDYXJ0LCBjYXJ0VHlwZSB9IGZyb20gJy4vLi4vZWNvbW1lcmNlL3N0eWxlcy9jYXJ0Lm1vZGFsJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmFnZUxpa2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zdG9yYWdlLWxpa2UnO1xuaW1wb3J0IHsgTE9DQUxfU1RPUkFHRSB9IGZyb20gJy4uL3NlcnZpY2VzL2xvY2FsLXN0b3JhZ2UudG9rZW4nO1xuXG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3RvcmFnZVNlcnZpY2VTZXJ2aWNlIHtcblxuXG4gIHByaXZhdGUgZGJSZWFkeSE6IFByb21pc2U8dm9pZD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBldmVudFNlcnZpY2U6IEV2ZW50c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb29raWVTZXJ2aWNlOiBDb29raWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzdFNlcnZpY2U6IFJlc3RTZXJ2aWNlLFxuICAgIEBJbmplY3QoTE9DQUxfU1RPUkFHRSkgcHJpdmF0ZSBzdG9yYWdlOiBTdG9yYWdlTGlrZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogT2JqZWN0XG4gICkge1xuICAgIHRoaXMuY3JlYXRlRGF0YUJhc2UoKTtcbiAgICBjb25zdCB1c2VyRGV0YWlscyA9IHRoaXMuZ2V0VXNlcigpO1xuICAgIGlmICghIXVzZXJEZXRhaWxzKSB7XG4gICAgICB0aGlzLnJlc3RTZXJ2aWNlLmdldFVzZXJJbmZvKHVzZXJEZXRhaWxzLnVzZXJJZCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuc2V0VXNlcihyZXNwb25zZS5kYXRhKTtcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0b3RhbENhcnRJdGVtczogbnVtYmVyID0gMDtcbiAgZ2V0Q2FydFRvdGFsQW1vdW50OiBudW1iZXIgPSAwO1xuICBnZXQgZ2V0VG90YWxDYXJ0SXRlbXMoKSB7XG4gICAgaWYgKHRoaXMudG90YWxDYXJ0SXRlbXMgPCAwKVxuICAgICAgdGhpcy50b3RhbENhcnRJdGVtcyA9IDA7XG4gICAgLy8gdGhpcy5ldmVudFNlcnZpY2Uuc2hvd0JhZ0ljb24uZW1pdCh0aGlzLnRvdGFsQ2FydEl0ZW1zID4gMCk7XG4gICAgcmV0dXJuIHRoaXMudG90YWxDYXJ0SXRlbXM7XG4gIH1cblxuICBwcml2YXRlIHRvdGFsV2lzaGxpc3RJdGVtczogbnVtYmVyID0gMDtcbiAgZ2V0IGdldFRvdGFsV2lzaGxpc3RJdGVtcygpIHtcbiAgICBpZiAodGhpcy50b3RhbFdpc2hsaXN0SXRlbXMgPCAwKVxuICAgICAgdGhpcy50b3RhbFdpc2hsaXN0SXRlbXMgPSAwO1xuICAgIHJldHVybiB0aGlzLnRvdGFsV2lzaGxpc3RJdGVtcztcbiAgfVxuXG4gIC8qKiBDb21iaW5lZCBjb3VudCBhY3Jvc3MgSE9NRV9WSVNJVF9DQVJUICsgVklERU9fQ0FMTF9DQVJULCBmb3IgdGhlIGhlYWRlciBCb29raW5ncyBiYWRnZS4gKi9cbiAgcHJpdmF0ZSB0b3RhbEJvb2tpbmdJdGVtczogbnVtYmVyID0gMDtcbiAgZ2V0IGdldFRvdGFsQm9va2luZ0l0ZW1zKCkge1xuICAgIGlmICh0aGlzLnRvdGFsQm9va2luZ0l0ZW1zIDwgMClcbiAgICAgIHRoaXMudG90YWxCb29raW5nSXRlbXMgPSAwO1xuICAgIHJldHVybiB0aGlzLnRvdGFsQm9va2luZ0l0ZW1zO1xuICB9XG5cbiAgY2FsY3VsYXRlQm9va2luZ0NhcnRUb3RhbHMoKSB7XG4gICAgaWYgKCF0aGlzLmRhdGFiYXNlKSByZXR1cm47XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG1vZGVzOiAoJ0hPTUVfVklTSVQnIHwgJ1ZJREVPX0NBTEwnKVtdID0gWydIT01FX1ZJU0lUJywgJ1ZJREVPX0NBTEwnXTtcbiAgICAgIGNvbnN0IGNvdW50czogbnVtYmVyW10gPSBbMCwgMF07XG4gICAgICBtb2Rlcy5mb3JFYWNoKChtb2RlLCBpKSA9PiB7XG4gICAgICAgIGNvbnN0IHN0b3JlTmFtZSA9IHRoaXMuYm9va2luZ0NhcnRTdG9yZU5hbWUobW9kZSk7XG4gICAgICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdGhpcy5kYXRhYmFzZS50cmFuc2FjdGlvbihzdG9yZU5hbWUsIFwicmVhZG9ubHlcIik7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZShzdG9yZU5hbWUpLmdldEFsbCgpO1xuICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgY291bnRzW2ldID0gKGV2ZW50LnRhcmdldC5yZXN1bHQgfHwgW10pLmxlbmd0aDtcbiAgICAgICAgICB0aGlzLnRvdGFsQm9va2luZ0l0ZW1zID0gY291bnRzLnJlZHVjZSgoYSwgYikgPT4gYSArIGIsIDApO1xuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS53YXJuKFwiRXJyb3IgY2FsY3VsYXRpbmcgYm9va2luZyBjYXJ0IHRvdGFsczpcIiwgZSk7XG4gICAgfVxuICB9XG5cbiAgY2FsY3VsYXRlQ2FydFRvdGFscygpIHtcbiAgICBpZiAoIXRoaXMuZGF0YWJhc2UpIHJldHVybjtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY2FydFRyYW5zYWN0aW9uID0gdGhpcy5kYXRhYmFzZS50cmFuc2FjdGlvbih0aGlzLmNhcnRDb2xsZWN0aW9uTmFtZSwgXCJyZWFkb25seVwiKTtcbiAgICAgIGNvbnN0IGNhcnRSZXF1ZXN0ID0gY2FydFRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKHRoaXMuY2FydENvbGxlY3Rpb25OYW1lKS5nZXRBbGwoKTtcbiAgICAgIGNhcnRSZXF1ZXN0Lm9uc3VjY2VzcyA9IChldmVudDogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCB8fCBbXTtcbiAgICAgICAgdGhpcy50b3RhbENhcnRJdGVtcyA9IGl0ZW1zLmxlbmd0aDtcbiAgICAgICAgdGhpcy5nZXRDYXJ0VG90YWxBbW91bnQgPSBpdGVtcy5yZWR1Y2UoKGFjYzogbnVtYmVyLCBpdGVtOiBhbnkpID0+IGFjYyArICgoaXRlbS5zZWxsaW5nUHJpY2UgfHwgMCkgKiAoaXRlbS5xdWFudGl0eSB8fCAxKSksIDApO1xuICAgICAgfTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLndhcm4oXCJFcnJvciBjYWxjdWxhdGluZyBjYXJ0IHRvdGFsczpcIiwgZSk7XG4gICAgfVxuICB9XG5cbiAgY2FsY3VsYXRlV2lzaGxpc3RUb3RhbHMoKSB7XG4gICAgaWYgKCF0aGlzLmRhdGFiYXNlKSByZXR1cm47XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHdpc2hsaXN0VHJhbnNhY3Rpb24gPSB0aGlzLmRhdGFiYXNlLnRyYW5zYWN0aW9uKHRoaXMuZmF2b3VyaXRlQ29sbGVjdGlvbk5hbWUsIFwicmVhZG9ubHlcIik7XG4gICAgICBjb25zdCB3aXNobGlzdFJlcXVlc3QgPSB3aXNobGlzdFRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKHRoaXMuZmF2b3VyaXRlQ29sbGVjdGlvbk5hbWUpLmdldEFsbCgpO1xuICAgICAgd2lzaGxpc3RSZXF1ZXN0Lm9uc3VjY2VzcyA9IChldmVudDogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCB8fCBbXTtcbiAgICAgICAgdGhpcy50b3RhbFdpc2hsaXN0SXRlbXMgPSBpdGVtcy5sZW5ndGg7XG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUud2FybihcIkVycm9yIGNhbGN1bGF0aW5nIHdpc2hsaXN0IHRvdGFsczpcIiwgZSk7XG4gICAgfVxuICB9XG5cbiAgZGF0YWJhc2VOYW1lOiBzdHJpbmcgPSBcIlVTRVJcIjtcbiAgLy8gQnVtcGVkIDEgLT4gMiB0byBhZGQgdGhlIHR3byBib29raW5nLWNhcnQgc3RvcmVzIGJlbG93LiBJbmRleGVkREIgb25seSBjcmVhdGVzIG5ldyBvYmplY3RcbiAgLy8gc3RvcmVzIGluc2lkZSBvbnVwZ3JhZGVuZWVkZWQsIHdoaWNoIG9ubHkgZmlyZXMgb24gYSB2ZXJzaW9uIGJ1bXAgLSB3aXRob3V0IHRoaXMsIHRoZSBuZXdcbiAgLy8gc3RvcmVzIHdvdWxkIHNpbGVudGx5IG5ldmVyIGdldCBjcmVhdGVkIGZvciBhbnlvbmUgd2hvIGFscmVhZHkgaGFzIGEgdjEgZGF0YWJhc2UuXG4gIGRhdGFiYXNlVmVyc2lvbjogbnVtYmVyID0gMjtcbiAgY2FydENvbGxlY3Rpb25OYW1lOiBzdHJpbmcgPSBcIlVTRVJfQ0FSVFwiO1xuICBmYXZvdXJpdGVDb2xsZWN0aW9uTmFtZTogc3RyaW5nID0gXCJVU0VSX0ZBVk9VUklURVwiO1xuICB0cmlhbENhcnRDb2xsZWN0aW9uTmFtZTogc3RyaW5nID0gJ1RSSUFMX0NBUlQnXG4gIHVzZXJDb2xsZWN0aW9uTmFtZTogc3RyaW5nID0gXCJVU0VSXCI7XG4gIC8qKlxuICAgKiBPbmUgYnVja2V0IHBlciBib29raW5nIG1vZGUgKEhvbWUgVmlzaXQgLyBWaWRlbyBDYWxsKSwgbG9jYWwtb25seSwgbm8gc2VydmVyIHN5bmMgLSB1bmxpa2VcbiAgICogVFJJQUxfQ0FSVCwgdGhlIG5ldyBncm91cC9jYXJ0IGJvb2tpbmcgQVBJIHRha2VzIHByb2R1Y3QgbGluZXMgZGlyZWN0bHkgaW4gdGhlIGhvbGQgcmVxdWVzdCxcbiAgICogc28gdGhlcmUncyBubyBzZXJ2ZXItc2lkZSBjYXJ0IHRvIGtlZXAgdGhlc2UgaW4gc3luYyB3aXRoLiBLZXB0IHNlcGFyYXRlIGZyb20gZWFjaCBvdGhlciBzb1xuICAgKiBhIGN1c3RvbWVyIGNhbiBob2xkIGEgcGVuZGluZyBjYXJ0IGZvciBlYWNoIG1vZGUgYXQgb25jZS5cbiAgICovXG4gIGhvbWVWaXNpdENhcnRDb2xsZWN0aW9uTmFtZTogc3RyaW5nID0gJ0hPTUVfVklTSVRfQ0FSVCc7XG4gIHZpZGVvQ2FsbENhcnRDb2xsZWN0aW9uTmFtZTogc3RyaW5nID0gJ1ZJREVPX0NBTExfQ0FSVCc7XG4gIGRhdGFiYXNlITogSURCRGF0YWJhc2U7XG5cbiAgY2FydENvbGxlY3Rpb25SZWY6IElEQk9iamVjdFN0b3JlIHwgbnVsbCA9IG51bGw7XG4gIGZhdm91cml0ZUNvbGxlY3Rpb25SZWY6IElEQk9iamVjdFN0b3JlIHwgbnVsbCA9IG51bGw7XG4gIHVzZXJDb2xsZWN0aW9uUmVmOiBJREJPYmplY3RTdG9yZSB8IG51bGwgPSBudWxsO1xuICB0cmlhbENhcnRDb2xsZWN0aW9uUmVmOiBJREJPYmplY3RTdG9yZSB8IG51bGwgPSBudWxsO1xuXG4gIGNyZWF0ZURhdGFCYXNlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuZGJSZWFkeSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcblxuICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgJiYgd2luZG93LmluZGV4ZWREQikge1xuICAgICAgICBjb25zdCByZXF1ZXN0OiBJREJPcGVuREJSZXF1ZXN0ID0gd2luZG93LmluZGV4ZWREQi5vcGVuKHRoaXMuZGF0YWJhc2VOYW1lLCB0aGlzLmRhdGFiYXNlVmVyc2lvbik7XG5cbiAgICAgICAgdGhpcy5ldmVudFNlcnZpY2Uuc2hvd0xvYWRpbmdTY3JlZW4uZW1pdCh0cnVlKTtcblxuICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSAoKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignW0luZGV4ZWREQl0gRmFpbGVkIHRvIG9wZW4gZGF0YWJhc2UnKTtcbiAgICAgICAgICB0aGlzLmV2ZW50U2VydmljZS5zaG93TG9hZGluZ1NjcmVlbi5lbWl0KGZhbHNlKTtcbiAgICAgICAgICByZWplY3QoKTtcbiAgICAgICAgfTtcblxuICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGFzeW5jIChldmVudCkgPT4ge1xuICAgICAgICAgIHRoaXMuZGF0YWJhc2UgPSAoZXZlbnQudGFyZ2V0IGFzIElEQk9wZW5EQlJlcXVlc3QpLnJlc3VsdDtcbiAgICAgICAgICB0aGlzLmV2ZW50U2VydmljZS5zaG93TG9hZGluZ1NjcmVlbi5lbWl0KGZhbHNlKTtcbiAgICAgICAgICB0aGlzLmNhbGN1bGF0ZUNhcnRUb3RhbHMoKTtcbiAgICAgICAgICB0aGlzLmNhbGN1bGF0ZVdpc2hsaXN0VG90YWxzKCk7XG4gICAgICAgICAgdGhpcy5jYWxjdWxhdGVCb29raW5nQ2FydFRvdGFscygpO1xuICAgICAgICAgIHJlc29sdmUoKTsgLy8g4pyFIFZFUlkgSU1QT1JUQU5UXG4gICAgICAgIH07XG5cbiAgICAgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICB0aGlzLmRhdGFiYXNlID0gKGV2ZW50LnRhcmdldCBhcyBJREJPcGVuREJSZXF1ZXN0KS5yZXN1bHQ7XG5cbiAgICAgICAgICBpZiAoIXRoaXMuZGF0YWJhc2Uub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyh0aGlzLmNhcnRDb2xsZWN0aW9uTmFtZSkpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YWJhc2UuY3JlYXRlT2JqZWN0U3RvcmUodGhpcy5jYXJ0Q29sbGVjdGlvbk5hbWUsIHsga2V5UGF0aDogXCJ2YXJpZW50SWRcIiB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCF0aGlzLmRhdGFiYXNlLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnModGhpcy50cmlhbENhcnRDb2xsZWN0aW9uTmFtZSkpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YWJhc2UuY3JlYXRlT2JqZWN0U3RvcmUodGhpcy50cmlhbENhcnRDb2xsZWN0aW9uTmFtZSwgeyBrZXlQYXRoOiBcInZhcmllbnRJZFwiIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIXRoaXMuZGF0YWJhc2Uub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyh0aGlzLmZhdm91cml0ZUNvbGxlY3Rpb25OYW1lKSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhYmFzZS5jcmVhdGVPYmplY3RTdG9yZSh0aGlzLmZhdm91cml0ZUNvbGxlY3Rpb25OYW1lLCB7IGtleVBhdGg6IFwidmFyaWVudElkXCIgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghdGhpcy5kYXRhYmFzZS5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKHRoaXMudXNlckNvbGxlY3Rpb25OYW1lKSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhYmFzZS5jcmVhdGVPYmplY3RTdG9yZSh0aGlzLnVzZXJDb2xsZWN0aW9uTmFtZSwgeyBrZXlQYXRoOiBcInVzZXJJZFwiIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIXRoaXMuZGF0YWJhc2Uub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyh0aGlzLmhvbWVWaXNpdENhcnRDb2xsZWN0aW9uTmFtZSkpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YWJhc2UuY3JlYXRlT2JqZWN0U3RvcmUodGhpcy5ob21lVmlzaXRDYXJ0Q29sbGVjdGlvbk5hbWUsIHsga2V5UGF0aDogXCJ2YXJpZW50SWRcIiB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCF0aGlzLmRhdGFiYXNlLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnModGhpcy52aWRlb0NhbGxDYXJ0Q29sbGVjdGlvbk5hbWUpKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGFiYXNlLmNyZWF0ZU9iamVjdFN0b3JlKHRoaXMudmlkZW9DYWxsQ2FydENvbGxlY3Rpb25OYW1lLCB7IGtleVBhdGg6IFwidmFyaWVudElkXCIgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1tTU1JdIEluZGV4ZWREQiBub3QgYXZhaWxhYmxlJyk7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH1cblxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuZGJSZWFkeTtcbiAgfVxuXG4gIHNldFRva2VuKHRva2VuOiBhbnkpIHtcbiAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KFwicGFzc0Jvb2tUb2tlblwiLCB0b2tlbilcbiAgICAvLyBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcInBhc3NCb29rVG9rZW5cIiwgdG9rZW4pO1xuICAgIHRoaXMuc3RvcmFnZS5zZXRJdGVtKFwicGFzc0Jvb2tUb2tlblwiLCB0b2tlbik7XG4gIH1cblxuICBnZXRUb2tlbigpIHtcbiAgICBsZXQgdG9rZW46IGFueSA9IHRoaXMuY29va2llU2VydmljZS5nZXQoJ3Bhc3NCb29rVG9rZW4nKVxuICAgIGlmICghdG9rZW4pXG4gICAgICB0b2tlbiA9IHRoaXMuc3RvcmFnZS5nZXRJdGVtKCdwYXNzQm9va1Rva2VuJykgfHwgXCJcIlxuICAgIHJldHVybiB0b2tlbjtcbiAgfVxuXG5cbiAgc2V0UmVmZXJyYWxEZXRhaWxzKGRldGFpbHM6IGFueSkge1xuICAgIHRoaXMuY29va2llU2VydmljZS5zZXQoXCJyZWZlcnJhbERldGFpbHNcIiwgSlNPTi5zdHJpbmdpZnkoZGV0YWlscykpXG4gICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0oXCJyZWZlcnJhbERldGFpbHNcIiwgSlNPTi5zdHJpbmdpZnkoZGV0YWlscykpO1xuICB9XG5cbiAgZ2V0UmVmZXJyYWxEZXRhaWxzKCkge1xuICAgIGxldCByZWZlcnJhbERldGFpbHM6IGFueSA9IHRoaXMuY29va2llU2VydmljZS5nZXQoJ3JlZmVycmFsRGV0YWlscycpXG4gICAgaWYgKCFyZWZlcnJhbERldGFpbHMpIHtcbiAgICAgIHJlZmVycmFsRGV0YWlscyA9IHRoaXMuc3RvcmFnZS5nZXRJdGVtKFwicmVmZXJyYWxEZXRhaWxzXCIpO1xuICAgIH1cbiAgICByZXR1cm4gcmVmZXJyYWxEZXRhaWxzO1xuICB9XG5cbiAgdXBkYXRlQWxsRGF0YSgpIHtcbiAgICBpZiAodGhpcy5yb3V0ZXIudXJsLmluY2x1ZGVzKCdjYXJ0JykpXG4gICAgICByZXR1cm47XG5cbiAgICBjb25zdCB1c2VyRGV0YWlscyA9IHRoaXMuZ2V0VXNlcigpO1xuICAgIGlmICghIXVzZXJEZXRhaWxzKSB7XG4gICAgICB0aGlzLmV2ZW50U2VydmljZS5zaG93TG9hZGluZ1NjcmVlbi5lbWl0KHRydWUpO1xuICAgICAgY29uc3QgcmVxdWVzdCA9IGZvcmtKb2luKFtcbiAgICAgICAgdGhpcy5yZXN0U2VydmljZS5nZXRVc2VySXRlbXModXNlckRldGFpbHMudXNlcklkLCBcIkNBUlRcIiksXG4gICAgICAgIHRoaXMucmVzdFNlcnZpY2UuZ2V0VXNlckl0ZW1zKHVzZXJEZXRhaWxzLnVzZXJJZCwgXCJXSVNITElTVFwiKVxuICAgICAgXSk7XG4gICAgICByZXF1ZXN0LnN1YnNjcmliZSgoY2FydFJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgdXNlckRldGFpbHMgPSB0aGlzLmdldFVzZXIoKSBhcyBVc2VyO1xuICAgICAgICBjb25zdCB1c2VyQ2FydDogQ2FydCA9IGNhcnRSZXNwb25zZT8uWzBdLmRhdGFbMF0gPyBjYXJ0UmVzcG9uc2U/LlswXS5kYXRhWzBdIGFzIENhcnQgOiBuZXcgQ2FydCh7ICdjYXJ0VHlwZSc6IGNhcnRUeXBlLkNBUlQsICd1c2VyRGV0YWlscyc6IHVzZXJEZXRhaWxzLCAncGxhdGZvcm0nOiAnV0VCJyB9KTtcblxuICAgICAgICBpZiAodXNlckNhcnQ/LmNhcnRJZClcbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImNhcnRJZFwiLCB1c2VyQ2FydD8uY2FydElkKTtcbiAgICAgICAgdGhpcy5nZXRVc2VyQ2FydCgpLnRoZW4oKHVzZXJDYXJ0UmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB1c2VyQ2FydFJlc3BvbnNlLm9uc3VjY2VzcyA9ICh1c2VyQ2FydEluZGV4REI6IGFueSkgPT4ge1xuICAgICAgICAgICAgdXNlckNhcnQub3JkZXJlZEl0ZW1zID0gdGhpcy5tZXJnZUFsbEl0ZW1zKHVzZXJDYXJ0SW5kZXhEQi50YXJnZXQucmVzdWx0ID8/IFtdLCB1c2VyQ2FydD8ub3JkZXJlZEl0ZW1zID8/IFtdKTtcblxuICAgICAgICAgICAgdGhpcy5hZGRBbGxQcm9kdWN0c1RvQ2FydCh1c2VyQ2FydC5vcmRlcmVkSXRlbXMpO1xuICAgICAgICAgICAgLy8gdGhpcy5yZXN0U2VydmljZS5hZGRJdGVtVG9EQih1c2VyQ2FydCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgICAgLy8gICBpZihyZXM/LmRhdGE/LmNhcnRJZCAmJiAhbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2NhcnRJZCcpKVxuICAgICAgICAgICAgLy8gICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdjYXJ0SWQnLCByZXMuZGF0YS5jYXJ0SWQpO1xuICAgICAgICAgICAgLy8gfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgY29uc3QgdXNlcldpc2hsaXN0OiBDYXJ0ID0gY2FydFJlc3BvbnNlPy5bMV0uZGF0YSBhcyBDYXJ0O1xuICAgICAgICBpZiAodXNlcldpc2hsaXN0LmNhcnRJZClcbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIndpc2hsaXN0SWRcIiwgdXNlcldpc2hsaXN0LmNhcnRJZCk7XG4gICAgICAgIHRoaXMuZ2V0VXNlcldoaXNobGlzdCgpLnRoZW4oKHVzZXJXaXNobGlzdFJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdXNlcldpc2hsaXN0UmVzcG9uc2Uub25zdWNjZXNzID0gKHVzZXJXaXNobGlzdEluZGV4REI6IGFueSkgPT4ge1xuICAgICAgICAgICAgdXNlcldpc2hsaXN0Lm9yZGVyZWRJdGVtcyA9IFsuLi4odXNlcldpc2hsaXN0SW5kZXhEQi50YXJnZXQucmVzdWx0ID8/IFtdKSwgLi4uKHVzZXJXaXNobGlzdC5vcmRlcmVkSXRlbXMgPz8gW10pXTtcbiAgICAgICAgICAgIHRoaXMuYWRkQWxsUHJvZHVjdFRvV2lzaGxpc3QodXNlcldpc2hsaXN0Lm9yZGVyZWRJdGVtcyk7XG4gICAgICAgICAgICB0aGlzLnJlc3RTZXJ2aWNlLmFkZEl0ZW1Ub0RCKHVzZXJXaXNobGlzdCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuXG4gICAgICAgIHRoaXMuZXZlbnRTZXJ2aWNlLnNob3dMb2FkaW5nU2NyZWVuLmVtaXQoZmFsc2UpO1xuICAgICAgfSlcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdGhpcy5zdG9yZURhdGFUb0pTT04oKTtcbiAgICB9XG4gIH1cblxuICBtZXJnZUFsbEl0ZW1zKHVuU3luY2VkSXRlbTogYW55W10sIHN5bmNlZEl0ZW06IGFueVtdKSB7XG4gICAgZm9yIChsZXQgcHJvZHVjdCBvZiBzeW5jZWRJdGVtKSB7XG4gICAgICBsZXQgaXRlbUZvdW5kID0gZmFsc2U7XG4gICAgICBmb3IgKGxldCBjYXJ0SXRlbSBvZiB1blN5bmNlZEl0ZW0pIHtcbiAgICAgICAgaWYgKGNhcnRJdGVtLnZhcmllbnRJZCA9PT0gcHJvZHVjdC52YXJpZW50SWQpIHtcbiAgICAgICAgICBpdGVtRm91bmQgPSB0cnVlO1xuICAgICAgICAgIC8vIGNhcnRJdGVtLnF1YW50aXR5ID0gcHJvZHVjdC5xdWFudGl0eTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFpdGVtRm91bmQpIHtcbiAgICAgICAgdW5TeW5jZWRJdGVtLnB1c2gocHJvZHVjdCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1blN5bmNlZEl0ZW07XG4gIH1cblxuICAvLyBDQVJUIFNFUlZJQ0VcbiAgYXN5bmMgZ2V0VXNlckNhcnQoKTogUHJvbWlzZTxJREJSZXF1ZXN0PE9yZGVyZWRJdGVtc1tdPj4ge1xuICAgIGF3YWl0IHRoaXMuZGJSZWFkeTtcblxuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdGhpcy5kYXRhYmFzZT8udHJhbnNhY3Rpb24odGhpcy5jYXJ0Q29sbGVjdGlvbk5hbWUgPz8gXCJVU0VSX0NBUlRcIiwgXCJyZWFkd3JpdGVcIik7XG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKHRoaXMuY2FydENvbGxlY3Rpb25OYW1lKS5nZXRBbGwoKTtcbiAgfVxuXG4gIGFkZFByb2R1Y3RUb0NhcnQocHJvZHVjdDogT3JkZXJlZEl0ZW1zKSB7XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSB0aGlzLmRhdGFiYXNlPy50cmFuc2FjdGlvbih0aGlzLmNhcnRDb2xsZWN0aW9uTmFtZSA/PyBcIlVTRVJfQ0FSVFwiLCBcInJlYWR3cml0ZVwiKTtcbiAgICBjb25zdCByZXF1ZXN0ID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUodGhpcy5jYXJ0Q29sbGVjdGlvbk5hbWUpLnB1dChwcm9kdWN0KTtcbiAgICB0cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gKCkgPT4ge1xuICAgICAgdGhpcy5jYWxjdWxhdGVDYXJ0VG90YWxzKCk7XG4gICAgfTtcbiAgICByZXR1cm4gcmVxdWVzdDtcbiAgfVxuXG4gIGFkZEFsbFByb2R1Y3RUb1dpc2hsaXN0KHByb2R1Y3RzOiBPcmRlcmVkSXRlbXNbXSk6IElEQlRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHRoaXMuZGF0YWJhc2U/LnRyYW5zYWN0aW9uKHRoaXMuZmF2b3VyaXRlQ29sbGVjdGlvbk5hbWUgPz8gXCJVU0VSX0ZBVk9VUklURVwiLCBcInJlYWR3cml0ZVwiKTtcbiAgICBwcm9kdWN0cy5mb3JFYWNoKChwcm9kdWN0KSA9PiB7XG4gICAgICB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSh0aGlzLmZhdm91cml0ZUNvbGxlY3Rpb25OYW1lKS5wdXQocHJvZHVjdCk7XG4gICAgfSlcbiAgICB0cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gKCkgPT4ge1xuICAgICAgdGhpcy5jYWxjdWxhdGVXaXNobGlzdFRvdGFscygpO1xuICAgIH07XG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uO1xuICB9XG4gIGFkZEFsbFByb2R1Y3RzVG9DYXJ0KHByb2R1Y3RzOiBPcmRlcmVkSXRlbXNbXSk6IElEQlRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHRoaXMuZGF0YWJhc2U/LnRyYW5zYWN0aW9uKHRoaXMuY2FydENvbGxlY3Rpb25OYW1lID8/IFwiVVNFUl9DQVJUXCIsIFwicmVhZHdyaXRlXCIpO1xuICAgIHByb2R1Y3RzLmZvckVhY2goKHByb2R1Y3QpID0+IHtcbiAgICAgIHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKHRoaXMuY2FydENvbGxlY3Rpb25OYW1lKS5wdXQocHJvZHVjdCk7XG4gICAgfSlcbiAgICB0cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gKCkgPT4ge1xuICAgICAgdGhpcy5jYWxjdWxhdGVDYXJ0VG90YWxzKCk7XG4gICAgfTtcbiAgICByZXR1cm4gdHJhbnNhY3Rpb247XG4gIH1cbiAgcmVtb3ZlUHJvZHVjdEZyb21DYXJ0KHByb2R1Y3RJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSB0aGlzLmRhdGFiYXNlPy50cmFuc2FjdGlvbih0aGlzLmNhcnRDb2xsZWN0aW9uTmFtZSA/PyBcIlVTRVJfQ0FSVFwiLCBcInJlYWR3cml0ZVwiKTtcbiAgICBjb25zdCByZXF1ZXN0ID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUodGhpcy5jYXJ0Q29sbGVjdGlvbk5hbWUpLmRlbGV0ZShwcm9kdWN0SWQpO1xuICAgIHRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSAoKSA9PiB7XG4gICAgICB0aGlzLmNhbGN1bGF0ZUNhcnRUb3RhbHMoKTtcbiAgICB9O1xuICAgIHJldHVybiByZXF1ZXN0O1xuICB9XG4gIGFzeW5jIGdldFByb2R1Y3RGcm9tQ2FydChwcm9kdWN0SWQ6IHN0cmluZykge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdGhpcy5kYXRhYmFzZT8udHJhbnNhY3Rpb24odGhpcy5jYXJ0Q29sbGVjdGlvbk5hbWUgPz8gXCJVU0VSX0NBUlRcIiwgXCJyZWFkd3JpdGVcIik7XG4gICAgcmV0dXJuIGF3YWl0IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKHRoaXMuY2FydENvbGxlY3Rpb25OYW1lKS5nZXQocHJvZHVjdElkKTtcbiAgfVxuXG4gIC8vIFdJU0hMSVNUIFNFUlZJQ0VcbiAgYXN5bmMgZ2V0VXNlcldoaXNobGlzdCgpOiBQcm9taXNlPElEQlJlcXVlc3Q8T3JkZXJlZEl0ZW1zW10+PiB7XG5cbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHRoaXMuZGF0YWJhc2UudHJhbnNhY3Rpb24odGhpcy5mYXZvdXJpdGVDb2xsZWN0aW9uTmFtZSwgXCJyZWFkd3JpdGVcIik7XG4gICAgcmV0dXJuIGF3YWl0IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKHRoaXMuZmF2b3VyaXRlQ29sbGVjdGlvbk5hbWUpLmdldEFsbCgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VHJpYWxDYXJ0KCk6IFByb21pc2U8SURCUmVxdWVzdDxPcmRlcmVkSXRlbXNbXT4+IHtcblxuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdGhpcy5kYXRhYmFzZS50cmFuc2FjdGlvbih0aGlzLnRyaWFsQ2FydENvbGxlY3Rpb25OYW1lLCBcInJlYWR3cml0ZVwiKTtcbiAgICByZXR1cm4gYXdhaXQgdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUodGhpcy50cmlhbENhcnRDb2xsZWN0aW9uTmFtZSkuZ2V0QWxsKCk7XG4gIH1cblxuICBhZGRQcm9kdWN0VG9XaXNobGlzdChwcm9kdWN0OiBPcmRlcmVkSXRlbXMpIHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHRoaXMuZGF0YWJhc2UudHJhbnNhY3Rpb24odGhpcy5mYXZvdXJpdGVDb2xsZWN0aW9uTmFtZSwgXCJyZWFkd3JpdGVcIik7XG4gICAgY29uc3QgcmVxdWVzdCA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKHRoaXMuZmF2b3VyaXRlQ29sbGVjdGlvbk5hbWUpLnB1dChwcm9kdWN0KTtcbiAgICB0cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gKCkgPT4ge1xuICAgICAgdGhpcy5jYWxjdWxhdGVXaXNobGlzdFRvdGFscygpO1xuICAgIH07XG4gICAgcmV0dXJuIHJlcXVlc3Q7XG4gIH1cbiAgYWRkUHJvZHVjdFRvVHJpYWwocHJvZHVjdDogT3JkZXJlZEl0ZW1zKSB7XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSB0aGlzLmRhdGFiYXNlLnRyYW5zYWN0aW9uKHRoaXMudHJpYWxDYXJ0Q29sbGVjdGlvbk5hbWUsIFwicmVhZHdyaXRlXCIpO1xuICAgIHJldHVybiB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSh0aGlzLnRyaWFsQ2FydENvbGxlY3Rpb25OYW1lKS5wdXQocHJvZHVjdCk7XG4gIH1cbiAgcmVtb3ZlUHJvZHVjdEZyb21XaXNobGlzdChwcm9kdWN0SWQ6IHN0cmluZykge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdGhpcy5kYXRhYmFzZS50cmFuc2FjdGlvbih0aGlzLmZhdm91cml0ZUNvbGxlY3Rpb25OYW1lLCBcInJlYWR3cml0ZVwiKTtcbiAgICBjb25zdCByZXF1ZXN0ID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUodGhpcy5mYXZvdXJpdGVDb2xsZWN0aW9uTmFtZSkuZGVsZXRlKHByb2R1Y3RJZCk7XG4gICAgdHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9ICgpID0+IHtcbiAgICAgIHRoaXMuY2FsY3VsYXRlV2lzaGxpc3RUb3RhbHMoKTtcbiAgICB9O1xuICAgIHJldHVybiByZXF1ZXN0O1xuICB9XG5cbiAgY2xlYXJVc2VyQ2FydCgpIHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHRoaXMuZGF0YWJhc2U/LnRyYW5zYWN0aW9uKHRoaXMuY2FydENvbGxlY3Rpb25OYW1lID8/IFwiVVNFUl9DQVJUXCIsIFwicmVhZHdyaXRlXCIpO1xuICAgIGNvbnN0IHJlcXVlc3QgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSh0aGlzLmNhcnRDb2xsZWN0aW9uTmFtZSkuY2xlYXIoKTtcbiAgICB0cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gKCkgPT4ge1xuICAgICAgdGhpcy5jYWxjdWxhdGVDYXJ0VG90YWxzKCk7XG4gICAgfTtcbiAgICByZXR1cm4gcmVxdWVzdDtcbiAgfVxuXG4gIGNsZWFyVHJpYWxDYXJ0KCkge1xuICAgIHRoaXMudG90YWxDYXJ0SXRlbXMgPSAwO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdGhpcy5kYXRhYmFzZT8udHJhbnNhY3Rpb24odGhpcy50cmlhbENhcnRDb2xsZWN0aW9uTmFtZSwgXCJyZWFkd3JpdGVcIik7XG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKHRoaXMudHJpYWxDYXJ0Q29sbGVjdGlvbk5hbWUpLmNsZWFyKCk7XG4gIH1cblxuICByZW1vdmVQcm9kdWN0RnJvbVRyaWFsQ2FydChwcm9kdWN0SWQ6IHN0cmluZykge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdGhpcy5kYXRhYmFzZS50cmFuc2FjdGlvbih0aGlzLnRyaWFsQ2FydENvbGxlY3Rpb25OYW1lLCBcInJlYWR3cml0ZVwiKTtcbiAgICByZXR1cm4gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUodGhpcy50cmlhbENhcnRDb2xsZWN0aW9uTmFtZSkuZGVsZXRlKHByb2R1Y3RJZCk7XG4gIH1cblxuICAvLyBCT09LSU5HIFBST0RVQ1QgQ0FSVFMgKEhvbWUgVmlzaXQgLyBWaWRlbyBDYWxsKSDigJQgbG9jYWwtb25seSwgc2VlIGZpZWxkIGNvbW1lbnRzIGFib3ZlLlxuICBwcml2YXRlIGJvb2tpbmdDYXJ0U3RvcmVOYW1lKG1vZGU6ICdIT01FX1ZJU0lUJyB8ICdWSURFT19DQUxMJyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG1vZGUgPT09ICdIT01FX1ZJU0lUJyA/IHRoaXMuaG9tZVZpc2l0Q2FydENvbGxlY3Rpb25OYW1lIDogdGhpcy52aWRlb0NhbGxDYXJ0Q29sbGVjdGlvbk5hbWU7XG4gIH1cblxuICBhc3luYyBnZXRCb29raW5nQ2FydChtb2RlOiAnSE9NRV9WSVNJVCcgfCAnVklERU9fQ0FMTCcpOiBQcm9taXNlPElEQlJlcXVlc3Q8T3JkZXJlZEl0ZW1zW10+PiB7XG4gICAgYXdhaXQgdGhpcy5kYlJlYWR5O1xuICAgIGNvbnN0IHN0b3JlTmFtZSA9IHRoaXMuYm9va2luZ0NhcnRTdG9yZU5hbWUobW9kZSk7XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSB0aGlzLmRhdGFiYXNlLnRyYW5zYWN0aW9uKHN0b3JlTmFtZSwgXCJyZWFkd3JpdGVcIik7XG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKHN0b3JlTmFtZSkuZ2V0QWxsKCk7XG4gIH1cblxuICBhc3luYyBhZGRQcm9kdWN0VG9Cb29raW5nQ2FydChtb2RlOiAnSE9NRV9WSVNJVCcgfCAnVklERU9fQ0FMTCcsIHByb2R1Y3Q6IE9yZGVyZWRJdGVtcykge1xuICAgIGF3YWl0IHRoaXMuZGJSZWFkeTtcbiAgICBjb25zdCBzdG9yZU5hbWUgPSB0aGlzLmJvb2tpbmdDYXJ0U3RvcmVOYW1lKG1vZGUpO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdGhpcy5kYXRhYmFzZS50cmFuc2FjdGlvbihzdG9yZU5hbWUsIFwicmVhZHdyaXRlXCIpO1xuICAgIHRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSAoKSA9PiB0aGlzLmNhbGN1bGF0ZUJvb2tpbmdDYXJ0VG90YWxzKCk7XG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKHN0b3JlTmFtZSkucHV0KHByb2R1Y3QpO1xuICB9XG5cbiAgYXN5bmMgcmVtb3ZlUHJvZHVjdEZyb21Cb29raW5nQ2FydChtb2RlOiAnSE9NRV9WSVNJVCcgfCAnVklERU9fQ0FMTCcsIHByb2R1Y3RJZDogc3RyaW5nKSB7XG4gICAgYXdhaXQgdGhpcy5kYlJlYWR5O1xuICAgIGNvbnN0IHN0b3JlTmFtZSA9IHRoaXMuYm9va2luZ0NhcnRTdG9yZU5hbWUobW9kZSk7XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSB0aGlzLmRhdGFiYXNlLnRyYW5zYWN0aW9uKHN0b3JlTmFtZSwgXCJyZWFkd3JpdGVcIik7XG4gICAgdHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9ICgpID0+IHRoaXMuY2FsY3VsYXRlQm9va2luZ0NhcnRUb3RhbHMoKTtcbiAgICByZXR1cm4gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoc3RvcmVOYW1lKS5kZWxldGUocHJvZHVjdElkKTtcbiAgfVxuXG4gIGFzeW5jIGNsZWFyQm9va2luZ0NhcnQobW9kZTogJ0hPTUVfVklTSVQnIHwgJ1ZJREVPX0NBTEwnKSB7XG4gICAgYXdhaXQgdGhpcy5kYlJlYWR5O1xuICAgIGNvbnN0IHN0b3JlTmFtZSA9IHRoaXMuYm9va2luZ0NhcnRTdG9yZU5hbWUobW9kZSk7XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSB0aGlzLmRhdGFiYXNlLnRyYW5zYWN0aW9uKHN0b3JlTmFtZSwgXCJyZWFkd3JpdGVcIik7XG4gICAgdHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9ICgpID0+IHRoaXMuY2FsY3VsYXRlQm9va2luZ0NhcnRUb3RhbHMoKTtcbiAgICByZXR1cm4gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoc3RvcmVOYW1lKS5jbGVhcigpO1xuICB9XG5cbiAgLy8gVVNFUiBTRVJWSUNFXG4gIHNldFVzZXIodXNlcjogVXNlcik6IFVzZXIge1xuICAgIHRoaXMuY29va2llU2VydmljZS5zZXQoXCJ1c2VyXCIsIEpTT04uc3RyaW5naWZ5KHVzZXIgPz8gXCJ7fVwiKSwgNyk7XG4gICAgLy8gbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJ1c2VyXCIsIEpTT04uc3RyaW5naWZ5KHVzZXIgPz8gXCJ7fVwiKSk7XG4gICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0oXCJ1c2VyXCIsIEpTT04uc3RyaW5naWZ5KHVzZXIgPz8gXCJ7fVwiKSk7XG4gICAgcmV0dXJuIHVzZXI7XG4gIH1cbiAgZ2V0VXNlcigpOiBVc2VyIHwgbnVsbCB7XG4gICAgdHJ5IHtcbiAgICAgIGxldCB1c2VyU3RyID0gdGhpcy5jb29raWVTZXJ2aWNlLmdldChcInVzZXJcIik7XG4gICAgICBpZiAoIXVzZXJTdHIpIHtcbiAgICAgICAgdXNlclN0ciA9IHRoaXMuc3RvcmFnZS5nZXRJdGVtKFwidXNlclwiKSB8fCBcIlwiOyAvLyDinIUgZmFsbGJhY2tcbiAgICAgIH1cbiAgICAgIGlmICghdXNlclN0cikgcmV0dXJuIG51bGw7XG4gICAgICBjb25zdCB1c2VyOiBVc2VyID0gSlNPTi5wYXJzZSh1c2VyU3RyKTtcbiAgICAgIGlmICghdXNlcj8udXNlcklkKSByZXR1cm4gbnVsbDtcbiAgICAgIHRoaXMuc3RvcmFnZS5zZXRJdGVtKFwicGVySWRcIiwgdXNlci51c2VySWQpO1xuICAgICAgcmV0dXJuIHVzZXI7XG5cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU3RhYmxlIHBlci1icm93c2VyIGlkLCBwZXJzaXN0ZWQgcmVnYXJkbGVzcyBvZiBsb2dpbiBzdGF0ZSwgc28gYmVoYXZpb3IgY2FuIGJlIHRyYWNrZWRcbiAgICogYmVmb3JlIGEgdmlzaXRvciBsb2dzIGluLiBNaXJyb3JzIHNldFVzZXIoKSdzIGR1YWwgY29va2llK3N0b3JhZ2Ugd3JpdGUgc28gaXQgc3Vydml2ZXNcbiAgICogdGhlIHNhbWUgd2F5LiBNZXJnZWQgb250byB0aGUgcmVhbCB1c2VySWQgc2VydmVyLXNpZGUgb25jZSB0aGV5IGxvZyBpbiAoQW5hbHl0aWNzU2VydmljZS5tZXJnZUFub255bW91c1VzZXIpLlxuICAgKi9cbiAgZ2V0QW5vbnltb3VzSWQoKTogc3RyaW5nIHtcbiAgICBsZXQgYW5vbklkID0gdGhpcy5jb29raWVTZXJ2aWNlLmdldChcImFub25JZFwiKSB8fCB0aGlzLnN0b3JhZ2UuZ2V0SXRlbShcImFub25JZFwiKTtcbiAgICBpZiAoIWFub25JZCkge1xuICAgICAgYW5vbklkID0gY3J5cHRvLnJhbmRvbVVVSUQoKTtcbiAgICAgIHRoaXMuY29va2llU2VydmljZS5zZXQoXCJhbm9uSWRcIiwgYW5vbklkLCAzNjUpO1xuICAgICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0oXCJhbm9uSWRcIiwgYW5vbklkKTtcbiAgICB9XG4gICAgcmV0dXJuIGFub25JZDtcbiAgfVxuXG59XG4iXX0=
@@ -59,4 +59,4 @@ export const GradientExtension = Extension.create({
59
59
  ];
60
60
  },
61
61
  });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhZGllbnQtZXh0ZW5zaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zdHlsZXMvZ3JhZGllbnQtZXh0ZW5zaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekMsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQzFCLFNBQVMsQ0FBQyxNQUFNLENBQUM7SUFFYixJQUFJLEVBQUUsVUFBVTtJQUVoQixtQkFBbUI7UUFFZixPQUFPO1lBRUg7Z0JBQ0ksS0FBSyxFQUFFLENBQUMsV0FBVyxDQUFDO2dCQUVwQixVQUFVLEVBQUU7b0JBRVIsZUFBZSxFQUFFO3dCQUViLE9BQU8sRUFBRSxJQUFJO3dCQUViLFNBQVMsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUNqQixPQUFPLENBQUMsS0FBSyxDQUFDLGVBQWU7d0JBRWpDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRTs0QkFFckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7Z0NBQ2pDLE9BQU8sRUFBRSxDQUFDOzRCQUNkLENBQUM7NEJBRUQsT0FBTztnQ0FDSCxLQUFLLEVBQ0Qsb0JBQW9CLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHOzZCQUMzRCxDQUFDO3dCQUVOLENBQUM7cUJBRUo7b0JBRUQsY0FBYyxFQUFFO3dCQUVaLE9BQU8sRUFBRSxJQUFJO3dCQUViLFNBQVMsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUNqQixPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWM7d0JBRWhDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRTs0QkFFckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7Z0NBQ2hDLE9BQU8sRUFBRSxDQUFDOzRCQUNkLENBQUM7NEJBRUQsT0FBTztnQ0FDSCxLQUFLLEVBQ0QsbUJBQW1CLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHOzZCQUN6RCxDQUFDO3dCQUVOLENBQUM7cUJBRUo7b0JBRUQsb0JBQW9CLEVBQUU7d0JBRWxCLE9BQU8sRUFBRSxJQUFJO3dCQUViLFNBQVMsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUNqQixPQUFPLENBQUMsS0FBSyxDQUFDLG9CQUFvQjt3QkFFdEMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFOzRCQUVyQixJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztnQ0FDdEMsT0FBTyxFQUFFLENBQUM7NEJBQ2QsQ0FBQzs0QkFFRCxPQUFPO2dDQUNILEtBQUssRUFDRCwyQkFBMkIsVUFBVSxDQUFDLHNCQUFzQixDQUFDLEdBQUc7NkJBQ3ZFLENBQUM7d0JBRU4sQ0FBQztxQkFFSjtvQkFFRCxtQkFBbUIsRUFBRTt3QkFFakIsT0FBTyxFQUFFLElBQUk7d0JBRWIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsbUJBQW1CO3dCQUVyQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEVBQUU7NEJBRXJCLElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO2dDQUNyQyxPQUFPLEVBQUUsQ0FBQzs0QkFDZCxDQUFDOzRCQUVELE9BQU87Z0NBQ0gsS0FBSyxFQUNELDJCQUEyQixVQUFVLENBQUMscUJBQXFCLENBQUMsR0FBRzs2QkFDdEUsQ0FBQzt3QkFFTixDQUFDO3FCQUVKO2lCQUVKO2FBRUo7U0FFSixDQUFDO0lBRU4sQ0FBQztDQUVKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4dGVuc2lvbiB9IGZyb20gJ0B0aXB0YXAvY29yZSc7XHJcblxyXG5leHBvcnQgY29uc3QgR3JhZGllbnRFeHRlbnNpb24gPVxyXG4gICAgRXh0ZW5zaW9uLmNyZWF0ZSh7XHJcblxyXG4gICAgICAgIG5hbWU6ICdncmFkaWVudCcsXHJcblxyXG4gICAgICAgIGFkZEdsb2JhbEF0dHJpYnV0ZXMoKSB7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gW1xyXG5cclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB0eXBlczogWyd0ZXh0U3R5bGUnXSxcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlczoge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZEltYWdlOiB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogbnVsbCxcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZUhUTUw6IGVsZW1lbnQgPT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnN0eWxlLmJhY2tncm91bmRJbWFnZSxcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJIVE1MOiBhdHRyaWJ1dGVzID0+IHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFhdHRyaWJ1dGVzWydiYWNrZ3JvdW5kSW1hZ2UnXSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBiYWNrZ3JvdW5kLWltYWdlOiR7YXR0cmlidXRlc1snYmFja2dyb3VuZEltYWdlJ119O2BcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENsaXA6IHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBudWxsLFxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlSFRNTDogZWxlbWVudCA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZENsaXAsXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVySFRNTDogYXR0cmlidXRlcyA9PiB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghYXR0cmlidXRlc1snYmFja2dyb3VuZENsaXAnXSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBiYWNrZ3JvdW5kLWNsaXA6JHthdHRyaWJ1dGVzWydiYWNrZ3JvdW5kQ2xpcCddfTtgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFdlYmtpdEJhY2tncm91bmRDbGlwOiB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogbnVsbCxcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZUhUTUw6IGVsZW1lbnQgPT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnN0eWxlLndlYmtpdEJhY2tncm91bmRDbGlwLFxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlckhUTUw6IGF0dHJpYnV0ZXMgPT4ge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWF0dHJpYnV0ZXNbJ1dlYmtpdEJhY2tncm91bmRDbGlwJ10pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6JHthdHRyaWJ1dGVzWydXZWJraXRCYWNrZ3JvdW5kQ2xpcCddfTtgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFdlYmtpdFRleHRGaWxsQ29sb3I6IHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBudWxsLFxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlSFRNTDogZWxlbWVudCA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUud2Via2l0VGV4dEZpbGxDb2xvcixcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJIVE1MOiBhdHRyaWJ1dGVzID0+IHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFhdHRyaWJ1dGVzWydXZWJraXRUZXh0RmlsbENvbG9yJ10pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6JHthdHRyaWJ1dGVzWydXZWJraXRUZXh0RmlsbENvbG9yJ119O2BcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG5cclxuICAgICAgICAgICAgICAgIH0sXHJcblxyXG4gICAgICAgICAgICBdO1xyXG5cclxuICAgICAgICB9LFxyXG5cclxuICAgIH0pOyJdfQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhZGllbnQtZXh0ZW5zaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zdHlsZXMvZ3JhZGllbnQtZXh0ZW5zaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekMsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQzFCLFNBQVMsQ0FBQyxNQUFNLENBQUM7SUFFYixJQUFJLEVBQUUsVUFBVTtJQUVoQixtQkFBbUI7UUFFZixPQUFPO1lBRUg7Z0JBQ0ksS0FBSyxFQUFFLENBQUMsV0FBVyxDQUFDO2dCQUVwQixVQUFVLEVBQUU7b0JBRVIsZUFBZSxFQUFFO3dCQUViLE9BQU8sRUFBRSxJQUFJO3dCQUViLFNBQVMsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUNqQixPQUFPLENBQUMsS0FBSyxDQUFDLGVBQWU7d0JBRWpDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRTs0QkFFckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7Z0NBQ2pDLE9BQU8sRUFBRSxDQUFDOzRCQUNkLENBQUM7NEJBRUQsT0FBTztnQ0FDSCxLQUFLLEVBQ0Qsb0JBQW9CLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHOzZCQUMzRCxDQUFDO3dCQUVOLENBQUM7cUJBRUo7b0JBRUQsY0FBYyxFQUFFO3dCQUVaLE9BQU8sRUFBRSxJQUFJO3dCQUViLFNBQVMsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUNqQixPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWM7d0JBRWhDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRTs0QkFFckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7Z0NBQ2hDLE9BQU8sRUFBRSxDQUFDOzRCQUNkLENBQUM7NEJBRUQsT0FBTztnQ0FDSCxLQUFLLEVBQ0QsbUJBQW1CLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHOzZCQUN6RCxDQUFDO3dCQUVOLENBQUM7cUJBRUo7b0JBRUQsb0JBQW9CLEVBQUU7d0JBRWxCLE9BQU8sRUFBRSxJQUFJO3dCQUViLFNBQVMsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUNqQixPQUFPLENBQUMsS0FBSyxDQUFDLG9CQUFvQjt3QkFFdEMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFOzRCQUVyQixJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztnQ0FDdEMsT0FBTyxFQUFFLENBQUM7NEJBQ2QsQ0FBQzs0QkFFRCxPQUFPO2dDQUNILEtBQUssRUFDRCwyQkFBMkIsVUFBVSxDQUFDLHNCQUFzQixDQUFDLEdBQUc7NkJBQ3ZFLENBQUM7d0JBRU4sQ0FBQztxQkFFSjtvQkFFRCxtQkFBbUIsRUFBRTt3QkFFakIsT0FBTyxFQUFFLElBQUk7d0JBRWIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsbUJBQW1CO3dCQUVyQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEVBQUU7NEJBRXJCLElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO2dDQUNyQyxPQUFPLEVBQUUsQ0FBQzs0QkFDZCxDQUFDOzRCQUVELE9BQU87Z0NBQ0gsS0FBSyxFQUNELDJCQUEyQixVQUFVLENBQUMscUJBQXFCLENBQUMsR0FBRzs2QkFDdEUsQ0FBQzt3QkFFTixDQUFDO3FCQUVKO2lCQUVKO2FBRUo7U0FFSixDQUFDO0lBRU4sQ0FBQztDQUVKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4dGVuc2lvbiB9IGZyb20gJ0B0aXB0YXAvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBHcmFkaWVudEV4dGVuc2lvbiA9XG4gICAgRXh0ZW5zaW9uLmNyZWF0ZSh7XG5cbiAgICAgICAgbmFtZTogJ2dyYWRpZW50JyxcblxuICAgICAgICBhZGRHbG9iYWxBdHRyaWJ1dGVzKCkge1xuXG4gICAgICAgICAgICByZXR1cm4gW1xuXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0eXBlczogWyd0ZXh0U3R5bGUnXSxcblxuICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRJbWFnZToge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogbnVsbCxcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlSFRNTDogZWxlbWVudCA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnN0eWxlLmJhY2tncm91bmRJbWFnZSxcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlckhUTUw6IGF0dHJpYnV0ZXMgPT4ge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghYXR0cmlidXRlc1snYmFja2dyb3VuZEltYWdlJ10pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYmFja2dyb3VuZC1pbWFnZToke2F0dHJpYnV0ZXNbJ2JhY2tncm91bmRJbWFnZSddfTtgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ2xpcDoge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogbnVsbCxcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlSFRNTDogZWxlbWVudCA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnN0eWxlLmJhY2tncm91bmRDbGlwLFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVySFRNTDogYXR0cmlidXRlcyA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFhdHRyaWJ1dGVzWydiYWNrZ3JvdW5kQ2xpcCddKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGJhY2tncm91bmQtY2xpcDoke2F0dHJpYnV0ZXNbJ2JhY2tncm91bmRDbGlwJ119O2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIFdlYmtpdEJhY2tncm91bmRDbGlwOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBudWxsLFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VIVE1MOiBlbGVtZW50ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUud2Via2l0QmFja2dyb3VuZENsaXAsXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJIVE1MOiBhdHRyaWJ1dGVzID0+IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWF0dHJpYnV0ZXNbJ1dlYmtpdEJhY2tncm91bmRDbGlwJ10pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6JHthdHRyaWJ1dGVzWydXZWJraXRCYWNrZ3JvdW5kQ2xpcCddfTtgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICAgICAgICAgICAgICBXZWJraXRUZXh0RmlsbENvbG9yOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBudWxsLFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VIVE1MOiBlbGVtZW50ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUud2Via2l0VGV4dEZpbGxDb2xvcixcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlckhUTUw6IGF0dHJpYnV0ZXMgPT4ge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghYXR0cmlidXRlc1snV2Via2l0VGV4dEZpbGxDb2xvciddKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiR7YXR0cmlidXRlc1snV2Via2l0VGV4dEZpbGxDb2xvciddfTtgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICBdO1xuXG4gICAgICAgIH0sXG5cbiAgICB9KTsiXX0=
@@ -1,3 +1,3 @@
1
1
  import { AlignContent } from '.';
2
2
  export { AlignContent };
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3N0eWxlcy9zdHlsZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUErSCxNQUFNLEdBQUcsQ0FBQztBQXVSOUosT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9pbnQgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgQWxpZ25Db250ZW50LCBDb3JuZXJzLCBEZXZpZGVyVHlwZSwgSW1hZ2VGaXQsIEltYWdlUmF0aW8sIE92ZXJsYXlWYWx1ZSwgUmVkaXJlY3Rpb25MaW5rVHlwZSwgU1BBQ0lORywgVEVYVF9TSVpFLCBUZXh0UG9zaXRpb24sIFZpZGVvUmF0aW8gfSBmcm9tICcuJztcclxuaW1wb3J0IHtcclxuICBBTElHTixcclxuICBBTklNQVRJT05fRElSRUNUSU9OLFxyXG4gIEFOSU1BVElPTl9TUEVFRCxcclxuICBCVVRUT05fU0hBUEUsXHJcbiAgQlVUVE9OX1RZUEUsXHJcbiAgQ0FSRF9TSVpFLFxyXG4gIEZJVCxcclxuICBMQVlPVVRQT1NJVElPTixcclxuICBMSU5LX1RZUEUsXHJcbiAgU1BBQ0lOR19UWVBFLFxyXG4gIENPTlRFTlRQT1NJVElPTixcclxuICBCT1JERVJfRElSRUNUSU9OLFxyXG4gIEJBQ0tHUk9VTkRfVFlQRSxcclxuICBGSUxFX1RZUEUsXHJcbiAgR1JBRElFTlRfRElSRUNUSU9OLFxyXG4gIENPTlRFTlRfQU5JTUFUSU9OLFxyXG4gIEJBQ0tHUk9VTkRfQU5JTUFUSU9OXHJcbn0gZnJvbSAnLi90eXBlcyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNwYWNpbmdNb2RlbCB7XHJcbiAgdG9wOiBTUEFDSU5HX1RZUEU7XHJcbiAgYm90dG9tOiBTUEFDSU5HX1RZUEU7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBQb3NpdGlvbk1vZGVsIHtcclxuICB4OiBudW1iZXI7XHJcbiAgeTogbnVtYmVyO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQm9yZGVyTW9kZWwge1xyXG4gIGRpc3BsYXk6IGJvb2xlYW47XHJcbiAgY29sb3I6IHN0cmluZztcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgdGhpY2tuZXNzOiBzdHJpbmc7XHJcbiAgZGlyZWN0aW9uPzogQk9SREVSX0RJUkVDVElPTltdO1xyXG4gIHJhZGl1cz86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEZXZpZGVyTW9kZWwge1xyXG4gIGRpc3BsYXk6IGJvb2xlYW47XHJcbiAgZGV2aWRlclR5cGU6IERldmlkZXJUeXBlXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGF5T3V0TW9kZWwge1xyXG4gIGFsaWduOiBBTElHTjtcclxuICBmaXQ6IEZJVDtcclxuICBoZWFkaW5nU3BhY2luZz86IFNQQUNJTkc7XHJcbiAgc3BhY2luZzogU3BhY2luZ01vZGVsO1xyXG4gIHNwYWNpbmdIb3Jpem9udGFsPzogU1BBQ0lOR19UWVBFXHJcbiAgc3BhY2luZ0Fyb3VuZD86IFNQQUNJTkdfVFlQRVxyXG4gIHNldENvbnRlbnRQb3NpdGlvbj86IHN0cmluZ1xyXG4gIGltYWdlUG9zaXRpb24/OiBzdHJpbmdcclxuXHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBjb250ZW50QW5pbWF0aW9uTW9kZWwge1xyXG4gIGNvbnRlbnRBbmltYXRpb246IENPTlRFTlRfQU5JTUFUSU9OXHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBCYW5uZXJMYXlPdXRNb2RlbCB7XHJcbiAgbGF5b3V0QWxpZ25tZW50OiBQb3NpdGlvbkxheW91dE1vZGFsO1xyXG4gIGNvbnRlbnRBbGlnbm1lbnQ6IGNvbnRlbnRBbGlnbm1lbnRNb2RhbDtcclxuICBmaXQ6IEZJVDtcclxuICBzcGFjaW5nOiBTcGFjaW5nTW9kZWw7XHJcbiAgYmFubmVySW1hZ2VEaXNwbGF5OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGNvbnRlbnRBbGlnbm1lbnRNb2RhbCB7XHJcbiAgbGFiZWw6IHN0cmluZyxcclxuICB2YWx1ZTogQ09OVEVOVFBPU0lUSU9OLFxyXG4gIHR5cGVzOiBbXVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBvc2l0aW9uTGF5b3V0TW9kYWwge1xyXG4gIGxhYmVsOiBzdHJpbmcsXHJcbiAgdmFsdWU6IExBWU9VVFBPU0lUSU9OLFxyXG4gIHR5cGVzOiBbXCJsZWZ0XCIsIFwicmlnaHRcIiwgXCJ0b3BcIiwgXCJib3R0b21cIl1cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEJhY2tncm91bmRNb2RlbCB7XHJcbiAgY29sb3I6IHN0cmluZztcclxuICBhY2NlbnRDb2xvcjogc3RyaW5nXHJcbiAgaW1hZ2U6IHN0cmluZztcclxuICBhbHROYW1lOiBzdHJpbmc7XHJcbiAgb3BhY2l0eTogbnVtYmVyO1xyXG4gIHNob3dJbWFnZTogYm9vbGVhbjtcclxuICBwb3NpdGlvbjogUG9zaXRpb25Nb2RlbDtcclxuICBibHVyPzoga2V5b2YgdHlwZW9mIE92ZXJsYXlWYWx1ZTtcclxuICBvdmVybGF5PzogT3ZlcmxheVZhbHVlLFxyXG4gIGJhY2tncm91bmRUeXBlOiBCQUNLR1JPVU5EX1RZUEU7XHJcbiAgc2Vjb25kYXJ5QWNjZW50Q29sb3I6IHN0cmluZztcclxuICBncmFkaWVudERpcmVjdGlvbjogR1JBRElFTlRfRElSRUNUSU9OO1xyXG4gIGFjY2VudEJhY2tncm91bmRUeXBlOiBCQUNLR1JPVU5EX1RZUEU7XHJcbiAgc2Vjb25kYXJ5Q29sb3I6IHN0cmluZztcclxuICBiYWNrZ3JvdW5kR3JhZGllbnREaXJlY3Rpb246IEdSQURJRU5UX0RJUkVDVElPTjtcclxuICBiYWNrZ3JvdW5kQW5pbWF0aW9uPzogQkFDS0dST1VORF9BTklNQVRJT04sXHJcbiAgc2hvd0JhY2tncm91bmQ/OiBib29sZWFuXHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBBbmltYXRpb25Nb2RlbCB7XHJcbiAgdHlwZTogQU5JTUFUSU9OX0RJUkVDVElPTjtcclxuICBzcGVlZDogQU5JTUFUSU9OX1NQRUVEO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgU3R5bGVzTW9kZWwge1xyXG4gIGxheW91dDogTGF5T3V0TW9kZWw7XHJcbiAgYmFja2dyb3VuZDogQmFja2dyb3VuZE1vZGVsO1xyXG4gIGFuaW1hdGlvbjogQW5pbWF0aW9uTW9kZWw7XHJcbiAgYm9yZGVyOiBCb3JkZXJNb2RlbDtcclxuICBkZXZpZGVyOiBEZXZpZGVyTW9kZWw7XHJcbiAgZGl2aWRlckltYWdlPzogRGl2aWRlckltYWdlO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERpdmlkZXJJbWFnZSB7XHJcbiAgdXJsOiBzdHJpbmc7XHJcbiAgc2hvd0RpdmlkZXI6IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBEaXNwbGF5U2VjdGlvbiB7XHJcbiAgc2hvd0hlYWRpbmc6IGJvb2xlYW47XHJcbiAgc2hvd0NvbnRlbnQ6IGJvb2xlYW47XHJcbiAgc2hvd0ltYWdlOiBib29sZWFuO1xyXG4gIHNob3dMaW5rOiBib29sZWFuO1xyXG4gIHNob3dDYXJkOiBib29sZWFuXHJcbiAgc2hvd0ljb246IGJvb2xlYW5cclxuICBsaW5rVHlwZTogTElOS19UWVBFO1xyXG4gIHNob3dIZWFkbGluZTogYm9vbGVhbjtcclxuICBzaG93U2hyaW5raW5nSGVhZGVyOiBib29sZWFuO1xyXG4gIHNob3dUZXh0OiBib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQnV0dG9uIHtcclxuICBsaW5rVHlwZTogUmVkaXJlY3Rpb25MaW5rVHlwZTtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIHJlZGlyZWN0aW9uVXJsOiBzdHJpbmc7XHJcbiAgcGFnZUlkOiBzdHJpbmc7XHJcbiAgbmV3VGFiOiBib29sZWFuO1xyXG4gIHNob3dJY29uPzogYm9vbGVhbjtcclxuICBpY29uPzogSWNvbiB8IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOYXZiYXJCdXR0b24ge1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgcmVkaXJlY3Rpb25Vcmw6IHN0cmluZztcclxuICBzdGF0dXM6IGJvb2xlYW47XHJcbiAgcGFnZUlkOiBzdHJpbmc7XHJcbiAgc2hvd0hlYWRlcjogYm9vbGVhbjtcclxuICBmb2xkZXI6IEZvbGRlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGb2xkZXIge1xyXG4gIGZvbGRlcklkOiBzdHJpbmc7XHJcbiAgcGFnZXM6IFBhZ2VbXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2Uge1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgcGFnZUlkOiBhbnk7XHJcbiAgcmVkaXJlY3Rpb25Vcmw6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUYWcge1xyXG4gIGxhYmVsOiBzdHJpbmcsXHJcbiAgcG9zaXRpb246IFBvaW50XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGlzdEl0ZW1Nb2RhbDxUPiB7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBkYXRhOiBUW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2FyZFN0eWxlcyB7XHJcbiAgaW1hZ2U6IEltYWdlU3R5bGU7XHJcbiAgY29ybmVyczogQ29ybmVycztcclxuICBzaXplOiBDQVJEX1NJWkU7XHJcbiAgdGV4dFBvc2l0aW9uOiBUZXh0UG9zaXRpb25cclxuICB0ZXh0QmFja2dyb3VuZDogVGV4dEJhY2tncm91bmQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGV4dEJhY2tncm91bmQge1xyXG4gIGNvbG9yOiBzdHJpbmc7XHJcbiAgYW1vdW50OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VTdHlsZSB7XHJcbiAgZml0OiBJbWFnZUZpdDtcclxuICByYXRpbzogSW1hZ2VSYXRpbztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFZpZGVvU3R5bGUge1xyXG4gIGZpdDogSW1hZ2VGaXQ7XHJcbiAgcmF0aW86IFZpZGVvUmF0aW87XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBCYW5uZXJTdHlsZXNNb2RlbCB7XHJcbiAgbGF5b3V0OiBMYXlPdXRNb2RlbDtcclxuICBwb3NpdGlvbkxheW91dDogUG9zaXRpb25MYXlvdXRNb2RhbDtcclxuICBjb250ZW50QWxpZ25tZW50OiBBbGlnbkNvbnRlbnQ7XHJcbiAgYm9yZGVyTGVzc0ltYWdlOiBib29sZWFuO1xyXG4gIGJhY2tncm91bmQ6IEJhY2tncm91bmRNb2RlbDtcclxuICBhbmltYXRpb246IEFuaW1hdGlvbk1vZGVsO1xyXG4gIGJvcmRlcjogQm9yZGVyTW9kZWw7XHJcbiAgZGV2aWRlcjogRGV2aWRlck1vZGVsO1xyXG4gIGltYWdlOiBJbWFnZVN0eWxlO1xyXG4gIGNvcm5lcnM6IENvcm5lcnM7XHJcbiAgbWVyZ2U/OiBib29sZWFuO1xyXG4gIHRleHRTaXplOiBUZXh0U2l6ZTtcclxuICBzaG93SW1hZ2U6IGJvb2xlYW47XHJcbiAgcmV2ZXJ0SW1hZ2U6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW5wdXRUZXh0TW9kZWwge1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgdmFsdWU6IHN0cmluZztcclxuICBpc1JURTogYm9vbGVhbjtcclxuICBpbWFnZT86IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIHVybDogc3RyaW5nO1xyXG4gIGJsdXJoYXNoOiBzdHJpbmc7XHJcbiAgYWx0VGV4dDogc3RyaW5nO1xyXG4gIHR5cGU/OiBGSUxFX1RZUEU7XHJcbiAgcG9zaXRpb246IFBvc2l0aW9uTW9kZWw7XHJcbiAgY29udGVudD86IEJ1dHRvblxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgVmlkZW8ge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgdXJsOiBzdHJpbmc7XHJcbiAgYmx1cmhhc2g6IHN0cmluZztcclxuICBwb3NpdGlvbjogUG9zaXRpb25Nb2RlbDtcclxuICBjb250ZW50PzogQnV0dG9uO1xyXG4gIGlzVmlkZW9QbGF5aW5nOiBib29sZWFuO1xyXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgcHJvZHVjdHM6IGFueVxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgSWNvbiB7XHJcbiAgaWQ/OiBzdHJpbmc7XHJcbiAgdXJsOiBzdHJpbmc7XHJcbiAgYWx0VGV4dD86IHN0cmluZztcclxuICBjb2xvcjogc3RyaW5nO1xyXG4gIHNob3dCYWNrZ3JvdW5kPzogYm9vbGVhbjtcclxuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XHJcbiAgYmFja2dyb3VuZFR5cGU/OiBCQUNLR1JPVU5EX1RZUEU7XHJcbiAgc2Vjb25kYXJ5Q29sb3I/OiBzdHJpbmc7XHJcbiAgYmFja2dyb3VuZEdyYWRpZW50RGlyZWN0aW9uPzogR1JBRElFTlRfRElSRUNUSU9OO1xyXG4gIGljb25Qb3NpdGlvbj86ICdsZWZ0JyB8ICdyaWdodCdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCdXR0b25TdHlsZU1vZGVsIHtcclxuICB0eXBlOiBCVVRUT05fVFlQRTtcclxuICBzaGFwZTogQlVUVE9OX1NIQVBFO1xyXG4gIGNvbG9yVHlwZT86ICdTb2xpZCcgfCAnR3JhZGllbnQnO1xyXG4gIGdyYWRpZW50RGlyZWN0aW9uPzogR1JBRElFTlRfRElSRUNUSU9OO1xyXG4gIGJhY2tncm91bmQ/OiBzdHJpbmc7XHJcbiAgc2Vjb25kYXJ5QmFja2dyb3VuZD86IHN0cmluZ1xyXG4gIHRleHRDb2xvcj86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBIZWFkZXJCdXR0b25TdHlsZU1vZGVsIHtcclxuICBjb2xvcjogc3RyaW5nLFxyXG4gIGJvbGRDb2xvcjogc3RyaW5nLFxyXG4gIGJhY2tncm91bmRDb2xvcjogc3RyaW5nLFxyXG4gIHN1YnRsZUNvbG9yOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25Nb2RlbCB7XHJcbiAgZGlzcGxheTogYm9vbGVhbjtcclxuICBidXR0b25zOiBCdXR0b25Nb2RlbFtdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQnV0dG9uTW9kZWwge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgY29udGVudDogQnV0dG9uO1xyXG4gIHN0eWxlczogQnV0dG9uU3R5bGVNb2RlbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBIZWFkZXJCdXR0b25Nb2RlbCB7XHJcbiAgaWQ6IHN0cmluZ1xyXG4gIGNvbnRlbnQ6IE5hdmJhckJ1dHRvbixcclxuICBzdHlsZXM6IEhlYWRlckJ1dHRvblN0eWxlTW9kZWxcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUZXh0U2l6ZSB7XHJcbiAgaGVhZGluZzogVEVYVF9TSVpFO1xyXG4gIGRlc2M6IFRFWFRfU0laRTtcclxufVxyXG5cclxuZXhwb3J0IHsgQWxpZ25Db250ZW50IH07Il19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3N0eWxlcy9zdHlsZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUErSCxNQUFNLEdBQUcsQ0FBQztBQXVSOUosT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9pbnQgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IEFsaWduQ29udGVudCwgQ29ybmVycywgRGV2aWRlclR5cGUsIEltYWdlRml0LCBJbWFnZVJhdGlvLCBPdmVybGF5VmFsdWUsIFJlZGlyZWN0aW9uTGlua1R5cGUsIFNQQUNJTkcsIFRFWFRfU0laRSwgVGV4dFBvc2l0aW9uLCBWaWRlb1JhdGlvIH0gZnJvbSAnLic7XG5pbXBvcnQge1xuICBBTElHTixcbiAgQU5JTUFUSU9OX0RJUkVDVElPTixcbiAgQU5JTUFUSU9OX1NQRUVELFxuICBCVVRUT05fU0hBUEUsXG4gIEJVVFRPTl9UWVBFLFxuICBDQVJEX1NJWkUsXG4gIEZJVCxcbiAgTEFZT1VUUE9TSVRJT04sXG4gIExJTktfVFlQRSxcbiAgU1BBQ0lOR19UWVBFLFxuICBDT05URU5UUE9TSVRJT04sXG4gIEJPUkRFUl9ESVJFQ1RJT04sXG4gIEJBQ0tHUk9VTkRfVFlQRSxcbiAgRklMRV9UWVBFLFxuICBHUkFESUVOVF9ESVJFQ1RJT04sXG4gIENPTlRFTlRfQU5JTUFUSU9OLFxuICBCQUNLR1JPVU5EX0FOSU1BVElPTlxufSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBTcGFjaW5nTW9kZWwge1xuICB0b3A6IFNQQUNJTkdfVFlQRTtcbiAgYm90dG9tOiBTUEFDSU5HX1RZUEU7XG59XG5leHBvcnQgaW50ZXJmYWNlIFBvc2l0aW9uTW9kZWwge1xuICB4OiBudW1iZXI7XG4gIHk6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQm9yZGVyTW9kZWwge1xuICBkaXNwbGF5OiBib29sZWFuO1xuICBjb2xvcjogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIHRoaWNrbmVzczogc3RyaW5nO1xuICBkaXJlY3Rpb24/OiBCT1JERVJfRElSRUNUSU9OW107XG4gIHJhZGl1cz86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXZpZGVyTW9kZWwge1xuICBkaXNwbGF5OiBib29sZWFuO1xuICBkZXZpZGVyVHlwZTogRGV2aWRlclR5cGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXlPdXRNb2RlbCB7XG4gIGFsaWduOiBBTElHTjtcbiAgZml0OiBGSVQ7XG4gIGhlYWRpbmdTcGFjaW5nPzogU1BBQ0lORztcbiAgc3BhY2luZzogU3BhY2luZ01vZGVsO1xuICBzcGFjaW5nSG9yaXpvbnRhbD86IFNQQUNJTkdfVFlQRVxuICBzcGFjaW5nQXJvdW5kPzogU1BBQ0lOR19UWVBFXG4gIHNldENvbnRlbnRQb3NpdGlvbj86IHN0cmluZ1xuICBpbWFnZVBvc2l0aW9uPzogc3RyaW5nXG5cbn1cbmV4cG9ydCBpbnRlcmZhY2UgY29udGVudEFuaW1hdGlvbk1vZGVsIHtcbiAgY29udGVudEFuaW1hdGlvbjogQ09OVEVOVF9BTklNQVRJT05cbn1cbmV4cG9ydCBpbnRlcmZhY2UgQmFubmVyTGF5T3V0TW9kZWwge1xuICBsYXlvdXRBbGlnbm1lbnQ6IFBvc2l0aW9uTGF5b3V0TW9kYWw7XG4gIGNvbnRlbnRBbGlnbm1lbnQ6IGNvbnRlbnRBbGlnbm1lbnRNb2RhbDtcbiAgZml0OiBGSVQ7XG4gIHNwYWNpbmc6IFNwYWNpbmdNb2RlbDtcbiAgYmFubmVySW1hZ2VEaXNwbGF5OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIGNvbnRlbnRBbGlnbm1lbnRNb2RhbCB7XG4gIGxhYmVsOiBzdHJpbmcsXG4gIHZhbHVlOiBDT05URU5UUE9TSVRJT04sXG4gIHR5cGVzOiBbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvc2l0aW9uTGF5b3V0TW9kYWwge1xuICBsYWJlbDogc3RyaW5nLFxuICB2YWx1ZTogTEFZT1VUUE9TSVRJT04sXG4gIHR5cGVzOiBbXCJsZWZ0XCIsIFwicmlnaHRcIiwgXCJ0b3BcIiwgXCJib3R0b21cIl1cbn1cbmV4cG9ydCBpbnRlcmZhY2UgQmFja2dyb3VuZE1vZGVsIHtcbiAgY29sb3I6IHN0cmluZztcbiAgYWNjZW50Q29sb3I6IHN0cmluZ1xuICBpbWFnZTogc3RyaW5nO1xuICBhbHROYW1lOiBzdHJpbmc7XG4gIG9wYWNpdHk6IG51bWJlcjtcbiAgc2hvd0ltYWdlOiBib29sZWFuO1xuICBwb3NpdGlvbjogUG9zaXRpb25Nb2RlbDtcbiAgYmx1cj86IGtleW9mIHR5cGVvZiBPdmVybGF5VmFsdWU7XG4gIG92ZXJsYXk/OiBPdmVybGF5VmFsdWUsXG4gIGJhY2tncm91bmRUeXBlOiBCQUNLR1JPVU5EX1RZUEU7XG4gIHNlY29uZGFyeUFjY2VudENvbG9yOiBzdHJpbmc7XG4gIGdyYWRpZW50RGlyZWN0aW9uOiBHUkFESUVOVF9ESVJFQ1RJT047XG4gIGFjY2VudEJhY2tncm91bmRUeXBlOiBCQUNLR1JPVU5EX1RZUEU7XG4gIHNlY29uZGFyeUNvbG9yOiBzdHJpbmc7XG4gIGJhY2tncm91bmRHcmFkaWVudERpcmVjdGlvbjogR1JBRElFTlRfRElSRUNUSU9OO1xuICBiYWNrZ3JvdW5kQW5pbWF0aW9uPzogQkFDS0dST1VORF9BTklNQVRJT04sXG4gIHNob3dCYWNrZ3JvdW5kPzogYm9vbGVhblxufVxuZXhwb3J0IGludGVyZmFjZSBBbmltYXRpb25Nb2RlbCB7XG4gIHR5cGU6IEFOSU1BVElPTl9ESVJFQ1RJT047XG4gIHNwZWVkOiBBTklNQVRJT05fU1BFRUQ7XG59XG5leHBvcnQgaW50ZXJmYWNlIFN0eWxlc01vZGVsIHtcbiAgbGF5b3V0OiBMYXlPdXRNb2RlbDtcbiAgYmFja2dyb3VuZDogQmFja2dyb3VuZE1vZGVsO1xuICBhbmltYXRpb246IEFuaW1hdGlvbk1vZGVsO1xuICBib3JkZXI6IEJvcmRlck1vZGVsO1xuICBkZXZpZGVyOiBEZXZpZGVyTW9kZWw7XG4gIGRpdmlkZXJJbWFnZT86IERpdmlkZXJJbWFnZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXZpZGVySW1hZ2Uge1xuICB1cmw6IHN0cmluZztcbiAgc2hvd0RpdmlkZXI6IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIERpc3BsYXlTZWN0aW9uIHtcbiAgc2hvd0hlYWRpbmc6IGJvb2xlYW47XG4gIHNob3dDb250ZW50OiBib29sZWFuO1xuICBzaG93SW1hZ2U6IGJvb2xlYW47XG4gIHNob3dMaW5rOiBib29sZWFuO1xuICBzaG93Q2FyZDogYm9vbGVhblxuICBzaG93SWNvbjogYm9vbGVhblxuICBsaW5rVHlwZTogTElOS19UWVBFO1xuICBzaG93SGVhZGxpbmU6IGJvb2xlYW47XG4gIHNob3dTaHJpbmtpbmdIZWFkZXI6IGJvb2xlYW47XG4gIHNob3dUZXh0OiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnV0dG9uIHtcbiAgbGlua1R5cGU6IFJlZGlyZWN0aW9uTGlua1R5cGU7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHJlZGlyZWN0aW9uVXJsOiBzdHJpbmc7XG4gIHBhZ2VJZDogc3RyaW5nO1xuICBuZXdUYWI6IGJvb2xlYW47XG4gIHNob3dJY29uPzogYm9vbGVhbjtcbiAgaWNvbj86IEljb24gfCBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2YmFyQnV0dG9uIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgcmVkaXJlY3Rpb25Vcmw6IHN0cmluZztcbiAgc3RhdHVzOiBib29sZWFuO1xuICBwYWdlSWQ6IHN0cmluZztcbiAgc2hvd0hlYWRlcjogYm9vbGVhbjtcbiAgZm9sZGVyOiBGb2xkZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9sZGVyIHtcbiAgZm9sZGVySWQ6IHN0cmluZztcbiAgcGFnZXM6IFBhZ2VbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHBhZ2VJZDogYW55O1xuICByZWRpcmVjdGlvblVybDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhZyB7XG4gIGxhYmVsOiBzdHJpbmcsXG4gIHBvc2l0aW9uOiBQb2ludFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RJdGVtTW9kYWw8VD4ge1xuICBsYWJlbDogc3RyaW5nO1xuICBkYXRhOiBUW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FyZFN0eWxlcyB7XG4gIGltYWdlOiBJbWFnZVN0eWxlO1xuICBjb3JuZXJzOiBDb3JuZXJzO1xuICBzaXplOiBDQVJEX1NJWkU7XG4gIHRleHRQb3NpdGlvbjogVGV4dFBvc2l0aW9uXG4gIHRleHRCYWNrZ3JvdW5kOiBUZXh0QmFja2dyb3VuZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXh0QmFja2dyb3VuZCB7XG4gIGNvbG9yOiBzdHJpbmc7XG4gIGFtb3VudDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlU3R5bGUge1xuICBmaXQ6IEltYWdlRml0O1xuICByYXRpbzogSW1hZ2VSYXRpbztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVmlkZW9TdHlsZSB7XG4gIGZpdDogSW1hZ2VGaXQ7XG4gIHJhdGlvOiBWaWRlb1JhdGlvO1xufVxuZXhwb3J0IGludGVyZmFjZSBCYW5uZXJTdHlsZXNNb2RlbCB7XG4gIGxheW91dDogTGF5T3V0TW9kZWw7XG4gIHBvc2l0aW9uTGF5b3V0OiBQb3NpdGlvbkxheW91dE1vZGFsO1xuICBjb250ZW50QWxpZ25tZW50OiBBbGlnbkNvbnRlbnQ7XG4gIGJvcmRlckxlc3NJbWFnZTogYm9vbGVhbjtcbiAgYmFja2dyb3VuZDogQmFja2dyb3VuZE1vZGVsO1xuICBhbmltYXRpb246IEFuaW1hdGlvbk1vZGVsO1xuICBib3JkZXI6IEJvcmRlck1vZGVsO1xuICBkZXZpZGVyOiBEZXZpZGVyTW9kZWw7XG4gIGltYWdlOiBJbWFnZVN0eWxlO1xuICBjb3JuZXJzOiBDb3JuZXJzO1xuICBtZXJnZT86IGJvb2xlYW47XG4gIHRleHRTaXplOiBUZXh0U2l6ZTtcbiAgc2hvd0ltYWdlOiBib29sZWFuO1xuICByZXZlcnRJbWFnZTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnB1dFRleHRNb2RlbCB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGlzUlRFOiBib29sZWFuO1xuICBpbWFnZT86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlIHtcbiAgaWQ6IHN0cmluZztcbiAgdXJsOiBzdHJpbmc7XG4gIGJsdXJoYXNoOiBzdHJpbmc7XG4gIGFsdFRleHQ6IHN0cmluZztcbiAgdHlwZT86IEZJTEVfVFlQRTtcbiAgcG9zaXRpb246IFBvc2l0aW9uTW9kZWw7XG4gIGNvbnRlbnQ/OiBCdXR0b25cbn1cbmV4cG9ydCBpbnRlcmZhY2UgVmlkZW8ge1xuICBpZDogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbiAgYmx1cmhhc2g6IHN0cmluZztcbiAgcG9zaXRpb246IFBvc2l0aW9uTW9kZWw7XG4gIGNvbnRlbnQ/OiBCdXR0b247XG4gIGlzVmlkZW9QbGF5aW5nOiBib29sZWFuO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBwcm9kdWN0czogYW55XG59XG5leHBvcnQgaW50ZXJmYWNlIEljb24ge1xuICBpZD86IHN0cmluZztcbiAgdXJsOiBzdHJpbmc7XG4gIGFsdFRleHQ/OiBzdHJpbmc7XG4gIGNvbG9yOiBzdHJpbmc7XG4gIHNob3dCYWNrZ3JvdW5kPzogYm9vbGVhbjtcbiAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICBiYWNrZ3JvdW5kVHlwZT86IEJBQ0tHUk9VTkRfVFlQRTtcbiAgc2Vjb25kYXJ5Q29sb3I/OiBzdHJpbmc7XG4gIGJhY2tncm91bmRHcmFkaWVudERpcmVjdGlvbj86IEdSQURJRU5UX0RJUkVDVElPTjtcbiAgaWNvblBvc2l0aW9uPzogJ2xlZnQnIHwgJ3JpZ2h0J1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1dHRvblN0eWxlTW9kZWwge1xuICB0eXBlOiBCVVRUT05fVFlQRTtcbiAgc2hhcGU6IEJVVFRPTl9TSEFQRTtcbiAgY29sb3JUeXBlPzogJ1NvbGlkJyB8ICdHcmFkaWVudCc7XG4gIGdyYWRpZW50RGlyZWN0aW9uPzogR1JBRElFTlRfRElSRUNUSU9OO1xuICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xuICBzZWNvbmRhcnlCYWNrZ3JvdW5kPzogc3RyaW5nXG4gIHRleHRDb2xvcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIZWFkZXJCdXR0b25TdHlsZU1vZGVsIHtcbiAgY29sb3I6IHN0cmluZyxcbiAgYm9sZENvbG9yOiBzdHJpbmcsXG4gIGJhY2tncm91bmRDb2xvcjogc3RyaW5nLFxuICBzdWJ0bGVDb2xvcjogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uTW9kZWwge1xuICBkaXNwbGF5OiBib29sZWFuO1xuICBidXR0b25zOiBCdXR0b25Nb2RlbFtdO1xufVxuZXhwb3J0IGludGVyZmFjZSBCdXR0b25Nb2RlbCB7XG4gIGlkOiBzdHJpbmc7XG4gIGNvbnRlbnQ6IEJ1dHRvbjtcbiAgc3R5bGVzOiBCdXR0b25TdHlsZU1vZGVsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlckJ1dHRvbk1vZGVsIHtcbiAgaWQ6IHN0cmluZ1xuICBjb250ZW50OiBOYXZiYXJCdXR0b24sXG4gIHN0eWxlczogSGVhZGVyQnV0dG9uU3R5bGVNb2RlbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRTaXplIHtcbiAgaGVhZGluZzogVEVYVF9TSVpFO1xuICBkZXNjOiBURVhUX1NJWkU7XG59XG5cbmV4cG9ydCB7IEFsaWduQ29udGVudCB9OyJdfQ==