simpo-component-library 1.4.304 → 1.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (124) hide show
  1. package/README.md +24 -24
  2. package/esm2022/lib/components/delete-hover-element/delete-hover-element.component.mjs +3 -3
  3. package/esm2022/lib/components/hover-elements/hover-elements.component.mjs +3 -3
  4. package/esm2022/lib/constants/business.constant.mjs +1 -1
  5. package/esm2022/lib/directive/blur-content.directive.mjs +1 -1
  6. package/esm2022/lib/directive/borderlessImage.directive.mjs +1 -1
  7. package/esm2022/lib/directive/button-directive.directive.mjs +1 -1
  8. package/esm2022/lib/directive/color.directive.mjs +1 -1
  9. package/esm2022/lib/directive/column-directive.directive.mjs +1 -1
  10. package/esm2022/lib/directive/container-alignment.directive.mjs +1 -1
  11. package/esm2022/lib/directive/container-fir.directive.mjs +1 -1
  12. package/esm2022/lib/directive/content-title-spacing.directive.mjs +1 -1
  13. package/esm2022/lib/directive/corner-directive.mjs +1 -1
  14. package/esm2022/lib/directive/hoverborder.directive.mjs +1 -1
  15. package/esm2022/lib/directive/image-container.directive.mjs +1 -1
  16. package/esm2022/lib/directive/image-directive.directive.mjs +1 -1
  17. package/esm2022/lib/directive/image-position.directive.mjs +1 -1
  18. package/esm2022/lib/directive/position-layout-directive.directive.mjs +1 -1
  19. package/esm2022/lib/directive/spacing-horizontal.directive.mjs +1 -1
  20. package/esm2022/lib/directive/sticky-directive.mjs +1 -1
  21. package/esm2022/lib/directive/text-background-directive.directive.mjs +1 -1
  22. package/esm2022/lib/directive/text-size.directive.mjs +1 -1
  23. package/esm2022/lib/directive/wrap-containers.directive.mjs +1 -1
  24. package/esm2022/lib/ecommerce/sections/address/address.component.mjs +3 -3
  25. package/esm2022/lib/ecommerce/sections/authenticate-user/authenticate-user.component.mjs +3 -3
  26. package/esm2022/lib/ecommerce/sections/cart/cart.component.mjs +3 -3
  27. package/esm2022/lib/ecommerce/sections/cart/cart.modal.mjs +1 -1
  28. package/esm2022/lib/ecommerce/sections/checkout/checkout.component.mjs +3 -3
  29. package/esm2022/lib/ecommerce/sections/checkout/checkout.modal.mjs +1 -1
  30. package/esm2022/lib/ecommerce/sections/featured-category/featured-category.component.mjs +3 -3
  31. package/esm2022/lib/ecommerce/sections/featured-category/featured-category.modal.mjs +1 -1
  32. package/esm2022/lib/ecommerce/sections/featured-products/featured-products.component.mjs +3 -3
  33. package/esm2022/lib/ecommerce/sections/featured-products/featured-products.modal.mjs +1 -1
  34. package/esm2022/lib/ecommerce/sections/item-varient/item-varient.component.mjs +3 -3
  35. package/esm2022/lib/ecommerce/sections/order-details/order-details.component.mjs +3 -3
  36. package/esm2022/lib/ecommerce/sections/pagnination/pagnination.component.mjs +3 -3
  37. package/esm2022/lib/ecommerce/sections/product-desc/product-desc.component.mjs +3 -3
  38. package/esm2022/lib/ecommerce/sections/product-desc/product-desc.modal.mjs +1 -1
  39. package/esm2022/lib/ecommerce/sections/product-list/product-list.component.mjs +3 -3
  40. package/esm2022/lib/ecommerce/sections/product-list/product-list.modal.mjs +1 -1
  41. package/esm2022/lib/ecommerce/sections/user-basic-info/user-basic-info.component.mjs +3 -3
  42. package/esm2022/lib/ecommerce/sections/user-profile/user-profile.component.mjs +3 -3
  43. package/esm2022/lib/ecommerce/sections/user-profile/user-profile.modal.mjs +1 -1
  44. package/esm2022/lib/ecommerce/sections/verify-payment/verify-payment.component.mjs +3 -3
  45. package/esm2022/lib/ecommerce/sections/verify-payment/verify-payment.model.mjs +1 -1
  46. package/esm2022/lib/ecommerce/sections/whislist/whislist.component.mjs +3 -3
  47. package/esm2022/lib/ecommerce/styles/BaseCollection.modal.mjs +1 -1
  48. package/esm2022/lib/ecommerce/styles/Collection.modal.mjs +1 -1
  49. package/esm2022/lib/ecommerce/styles/OrderedItems.modal.mjs +1 -1
  50. package/esm2022/lib/ecommerce/styles/cart.modal.mjs +1 -1
  51. package/esm2022/lib/ecommerce/styles/category.modal.mjs +1 -1
  52. package/esm2022/lib/ecommerce/styles/order.modal.mjs +1 -1
  53. package/esm2022/lib/ecommerce/styles/product.modal.mjs +1 -1
  54. package/esm2022/lib/ecommerce/styles/user.modal.mjs +1 -1
  55. package/esm2022/lib/elements/below-image-card/below-image-card.component.mjs +3 -3
  56. package/esm2022/lib/elements/button/button.component.mjs +3 -3
  57. package/esm2022/lib/elements/button/button.model.mjs +1 -1
  58. package/esm2022/lib/elements/covering-image-card/covering-image-card.component.mjs +3 -3
  59. package/esm2022/lib/elements/heading-element/heading-element.component.mjs +3 -3
  60. package/esm2022/lib/elements/index.mjs +1 -1
  61. package/esm2022/lib/elements/simpo-button/simpo-button.component.mjs +3 -3
  62. package/esm2022/lib/elements/text/text.component.mjs +3 -3
  63. package/esm2022/lib/elements/top-of-image-card/top-of-image-card.component.mjs +3 -3
  64. package/esm2022/lib/pipes/amount.pipe.mjs +1 -1
  65. package/esm2022/lib/pipes/gender.pipe.mjs +1 -1
  66. package/esm2022/lib/sections/BaseSection.mjs +1 -1
  67. package/esm2022/lib/sections/add-new-section/add-new-section.component.mjs +3 -3
  68. package/esm2022/lib/sections/banner-carousel/banner-carousel.component.mjs +3 -3
  69. package/esm2022/lib/sections/banner-carousel/banner-carousel.model.mjs +1 -1
  70. package/esm2022/lib/sections/banner-grid-section/banner-grid-section.component.mjs +3 -3
  71. package/esm2022/lib/sections/blog-list/blog-list.component.mjs +3 -3
  72. package/esm2022/lib/sections/blog-list/blog-list.model.mjs +1 -1
  73. package/esm2022/lib/sections/carousel-banner/carousel-banner.component.mjs +3 -3
  74. package/esm2022/lib/sections/choose-us-section/choose-us-section.component.mjs +3 -3
  75. package/esm2022/lib/sections/choose-us-section/choose-us-section.model.mjs +1 -1
  76. package/esm2022/lib/sections/faq-section/faq-section.component.mjs +3 -3
  77. package/esm2022/lib/sections/faq-section/faq-section.modal.mjs +1 -1
  78. package/esm2022/lib/sections/features-section/features-section.component.mjs +3 -3
  79. package/esm2022/lib/sections/features-section/features-section.model.mjs +1 -1
  80. package/esm2022/lib/sections/header-text/header-text.component.mjs +3 -3
  81. package/esm2022/lib/sections/header-text/header-text.model.mjs +1 -1
  82. package/esm2022/lib/sections/image-carousel-section/image-carousel-section.component.mjs +3 -3
  83. package/esm2022/lib/sections/image-carousel-section/image-carousel.model.mjs +1 -1
  84. package/esm2022/lib/sections/image-grid-section/image-grid-section.component.mjs +3 -3
  85. package/esm2022/lib/sections/image-grid-section/image-grid-section.model.mjs +1 -1
  86. package/esm2022/lib/sections/image-section/image-section.component.mjs +3 -3
  87. package/esm2022/lib/sections/image-section/image-section.model.mjs +1 -1
  88. package/esm2022/lib/sections/location-section/location-section.component.mjs +3 -3
  89. package/esm2022/lib/sections/location-section/location-section.modal.mjs +1 -1
  90. package/esm2022/lib/sections/logo-showcase/logo-showcase.component.mjs +3 -3
  91. package/esm2022/lib/sections/logo-showcase/logo-showcase.modal.mjs +1 -1
  92. package/esm2022/lib/sections/pricing-section/pricing-section.component.mjs +3 -3
  93. package/esm2022/lib/sections/pricing-section/pricing-section.modal.mjs +1 -1
  94. package/esm2022/lib/sections/process-modern/process-modern.component.mjs +3 -3
  95. package/esm2022/lib/sections/process-modern/process-modern.model.mjs +1 -1
  96. package/esm2022/lib/sections/process-section/process-section.component.mjs +3 -3
  97. package/esm2022/lib/sections/process-section/process-section.modal.mjs +1 -1
  98. package/esm2022/lib/sections/recent-blog-post-section/recent-blog-post-section.component.mjs +3 -3
  99. package/esm2022/lib/sections/recent-blog-post-section/recent-blog-post-section.model.mjs +1 -1
  100. package/esm2022/lib/sections/service-section/service-section.component.mjs +3 -3
  101. package/esm2022/lib/sections/service-section/service-section.model.mjs +1 -1
  102. package/esm2022/lib/sections/skeleton-loader-section/skeleton-loader-section.component.mjs +3 -3
  103. package/esm2022/lib/sections/team-member-section/team-member-section.component.mjs +3 -3
  104. package/esm2022/lib/sections/team-member-section/team-member-section.model.mjs +1 -1
  105. package/esm2022/lib/sections/testimonial-fullwidth/testimonial-fullwidth.component.mjs +3 -3
  106. package/esm2022/lib/sections/testimonial-fullwidth/testimonial-fullwidth.model.mjs +1 -1
  107. package/esm2022/lib/sections/testimonial-section/testimonial-section.component.mjs +3 -3
  108. package/esm2022/lib/sections/testimonial-section/testimonial-section.model.mjs +1 -1
  109. package/esm2022/lib/sections/text-section/text-section.model.mjs +1 -1
  110. package/esm2022/lib/sections/video-section/video-section.component.mjs +3 -3
  111. package/esm2022/lib/sections/video-section/video-section.model.mjs +1 -1
  112. package/esm2022/lib/sections/view-blog/view-blog.component.mjs +3 -3
  113. package/esm2022/lib/services/cart.service.mjs +1 -1
  114. package/esm2022/lib/services/endUser.service.mjs +1 -1
  115. package/esm2022/lib/services/rest.service.mjs +1 -1
  116. package/esm2022/lib/services/storage.service.mjs +1 -1
  117. package/esm2022/lib/styles/index.mjs +1 -1
  118. package/esm2022/lib/styles/style.model.mjs +1 -1
  119. package/esm2022/lib/styles/types.mjs +1 -1
  120. package/esm2022/public-api.mjs +1 -1
  121. package/fesm2022/simpo-component-library.mjs +96 -96
  122. package/fesm2022/simpo-component-library.mjs.map +1 -1
  123. package/package.json +1 -1
  124. package/simpo-component-library-1.4.304.tgz +0 -0
@@ -77,7 +77,7 @@ export class UserBasicInfoComponent {
77
77
  return this.email?.includes("@") && this.email.includes(".com") || (this.email?.length == 0);
78
78
  }
79
79
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: UserBasicInfoComponent, deps: [{ token: i1.RestService }, { token: i2.Router }, { token: i3.MatDialogRef }, { token: i4.StorageServiceService }, { token: i5.MessageService }], target: i0.ɵɵFactoryTarget.Component }); }
80
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: UserBasicInfoComponent, isStandalone: true, selector: "simpo-user-basic-info", providers: [MessageService], ngImport: i0, template: "<section style=\"padding: 20px\" class=\"position-relative\">\r\n <div class=\"d-flex flex-wrap justify-content-between\">\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">First Name</div>\r\n <input type=\"text\" placeholder=\"Enter first name\" [(ngModel)]=\"firstName\" (keydown)=\"validateName($event)\">\r\n </div>\r\n <!-- <div class=\"form-control-group-3\">\r\n <div class=\"label\">Middle Name</div>\r\n <input type=\"text\" placeholder=\"Enter middle name\" [(ngModel)]=\"middleName\">\r\n </div> -->\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">Last Name</div>\r\n <input type=\"text\" placeholder=\"Enter last name\" [(ngModel)]=\"lastName\" (keydown)=\"validateName($event)\">\r\n </div>\r\n\r\n <div class=\"form-control-group\" *ngIf=\"isEdit\">\r\n <div class=\"label required\">Mobile</div>\r\n <input type=\"number\" placeholder=\"Enter mobile\" [(ngModel)]=\"mobile\" disabled>\r\n </div>\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">Email</div>\r\n <input type=\"text\" placeholder=\"Enter email\" [(ngModel)]=\"email\">\r\n <span class=\"error-msg\" [style.visibility]=\"isEmailValid ? 'hidden' : 'visible'\">Please enter valid email</span>\r\n </div>\r\n \r\n <div class=\"form-control-group-full\">\r\n <div class=\"label\">Select Gender</div>\r\n <div class=\"d-flex align-items-center\">\r\n <img loading=\"lazy\" onerror=\"this.src='https://i.postimg.cc/hPS2JpV0/no-image-available.jpg'\" src=\"https://img.icons8.com/?size=100&id=108296&format=png&color=000000\" alt=\"\"\r\n (click)=\"gender = 'MALE'\" [ngClass]=\"{'active': gender == 'MALE' }\">\r\n <img loading=\"lazy\" onerror=\"this.src='https://i.postimg.cc/hPS2JpV0/no-image-available.jpg'\" src=\"https://img.icons8.com/?size=100&id=108295&format=png&color=000000\" alt=\"\"\r\n (click)=\"gender = 'FEMALE'\" [ngClass]=\"{'active': gender == 'FEMALE'}\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"action-btn\">\r\n <span class=\"skip-btn\" (click)=\"close()\">{{!isEdit ? 'Skip' : 'Close'}}</span>\r\n <button (click)=\"saveProfile()\">Save Profile</button>\r\n </div>\r\n</section>\r\n<p-toast position=\"bottom-right\" [baseZIndex]=\"10000000000\" [autoZIndex]=\"true\"></p-toast>", styles: [".form-control-group,.form-control-group-3,.form-control-group-full{width:100%}:is(.form-control-group,.form-control-group-3,.form-control-group-full)>input{width:100%;padding:10px;border-radius:3px;border:1.5px solid lightgray}.label{color:#000}.form-control-group-3{width:32%!important}.form-control-group-full{width:100%}img{height:60px;width:60px;object-fit:cover;margin:0 5px;border:2px solid transparent;cursor:pointer;border-radius:50%}.active{border:2px solid #0267C1}.form-control-group{margin:10px 0}.action-btn{position:relative;bottom:0;right:0;display:flex;align-items:center;justify-content:flex-end;gap:20px}.action-btn .skip-btn{color:#0267c1;cursor:pointer}.action-btn button{width:100px!important;border:none;background-color:#0267c1;color:#fff;cursor:pointer;border-radius:3px;padding:8px 0;font-size:14px!important;font-weight:500!important}.required:after{content:\"*\";color:tomato}.error-msg{color:tomato}@media screen and (max-width: 475px){.action-btn .skip-btn{color:#0267c1;cursor:pointer}.action-btn button{width:100px!important;border:none;background-color:#0267c1;color:#fff;cursor:pointer;border-radius:3px;padding:8px 0;font-size:14px!important;font-weight:500!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ToastModule }, { kind: "component", type: i8.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }] }); }
80
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: UserBasicInfoComponent, isStandalone: true, selector: "simpo-user-basic-info", providers: [MessageService], ngImport: i0, template: "<section style=\"padding: 20px\" class=\"position-relative\">\n <div class=\"d-flex flex-wrap justify-content-between\">\n <div class=\"form-control-group\">\n <div class=\"label\">First Name</div>\n <input type=\"text\" placeholder=\"Enter first name\" [(ngModel)]=\"firstName\" (keydown)=\"validateName($event)\">\n </div>\n <!-- <div class=\"form-control-group-3\">\n <div class=\"label\">Middle Name</div>\n <input type=\"text\" placeholder=\"Enter middle name\" [(ngModel)]=\"middleName\">\n </div> -->\n <div class=\"form-control-group\">\n <div class=\"label\">Last Name</div>\n <input type=\"text\" placeholder=\"Enter last name\" [(ngModel)]=\"lastName\" (keydown)=\"validateName($event)\">\n </div>\n\n <div class=\"form-control-group\" *ngIf=\"isEdit\">\n <div class=\"label required\">Mobile</div>\n <input type=\"number\" placeholder=\"Enter mobile\" [(ngModel)]=\"mobile\" disabled>\n </div>\n <div class=\"form-control-group\">\n <div class=\"label\">Email</div>\n <input type=\"text\" placeholder=\"Enter email\" [(ngModel)]=\"email\">\n <span class=\"error-msg\" [style.visibility]=\"isEmailValid ? 'hidden' : 'visible'\">Please enter valid email</span>\n </div>\n \n <div class=\"form-control-group-full\">\n <div class=\"label\">Select Gender</div>\n <div class=\"d-flex align-items-center\">\n <img loading=\"lazy\" onerror=\"this.src='https://i.postimg.cc/hPS2JpV0/no-image-available.jpg'\" src=\"https://img.icons8.com/?size=100&id=108296&format=png&color=000000\" alt=\"\"\n (click)=\"gender = 'MALE'\" [ngClass]=\"{'active': gender == 'MALE' }\">\n <img loading=\"lazy\" onerror=\"this.src='https://i.postimg.cc/hPS2JpV0/no-image-available.jpg'\" src=\"https://img.icons8.com/?size=100&id=108295&format=png&color=000000\" alt=\"\"\n (click)=\"gender = 'FEMALE'\" [ngClass]=\"{'active': gender == 'FEMALE'}\">\n </div>\n </div>\n </div>\n <div class=\"action-btn\">\n <span class=\"skip-btn\" (click)=\"close()\">{{!isEdit ? 'Skip' : 'Close'}}</span>\n <button (click)=\"saveProfile()\">Save Profile</button>\n </div>\n</section>\n<p-toast position=\"bottom-right\" [baseZIndex]=\"10000000000\" [autoZIndex]=\"true\"></p-toast>", styles: [".form-control-group,.form-control-group-3,.form-control-group-full{width:100%}:is(.form-control-group,.form-control-group-3,.form-control-group-full)>input{width:100%;padding:10px;border-radius:3px;border:1.5px solid lightgray}.label{color:#000}.form-control-group-3{width:32%!important}.form-control-group-full{width:100%}img{height:60px;width:60px;object-fit:cover;margin:0 5px;border:2px solid transparent;cursor:pointer;border-radius:50%}.active{border:2px solid #0267C1}.form-control-group{margin:10px 0}.action-btn{position:relative;bottom:0;right:0;display:flex;align-items:center;justify-content:flex-end;gap:20px}.action-btn .skip-btn{color:#0267c1;cursor:pointer}.action-btn button{width:100px!important;border:none;background-color:#0267c1;color:#fff;cursor:pointer;border-radius:3px;padding:8px 0;font-size:14px!important;font-weight:500!important}.required:after{content:\"*\";color:tomato}.error-msg{color:tomato}@media screen and (max-width: 475px){.action-btn .skip-btn{color:#0267c1;cursor:pointer}.action-btn button{width:100px!important;border:none;background-color:#0267c1;color:#fff;cursor:pointer;border-radius:3px;padding:8px 0;font-size:14px!important;font-weight:500!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ToastModule }, { kind: "component", type: i8.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }] }); }
81
81
  }
82
82
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: UserBasicInfoComponent, decorators: [{
83
83
  type: Component,
@@ -86,6 +86,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
86
86
  MatDialogModule,
87
87
  FormsModule,
88
88
  ToastModule
89
- ], providers: [MessageService], template: "<section style=\"padding: 20px\" class=\"position-relative\">\r\n <div class=\"d-flex flex-wrap justify-content-between\">\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">First Name</div>\r\n <input type=\"text\" placeholder=\"Enter first name\" [(ngModel)]=\"firstName\" (keydown)=\"validateName($event)\">\r\n </div>\r\n <!-- <div class=\"form-control-group-3\">\r\n <div class=\"label\">Middle Name</div>\r\n <input type=\"text\" placeholder=\"Enter middle name\" [(ngModel)]=\"middleName\">\r\n </div> -->\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">Last Name</div>\r\n <input type=\"text\" placeholder=\"Enter last name\" [(ngModel)]=\"lastName\" (keydown)=\"validateName($event)\">\r\n </div>\r\n\r\n <div class=\"form-control-group\" *ngIf=\"isEdit\">\r\n <div class=\"label required\">Mobile</div>\r\n <input type=\"number\" placeholder=\"Enter mobile\" [(ngModel)]=\"mobile\" disabled>\r\n </div>\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">Email</div>\r\n <input type=\"text\" placeholder=\"Enter email\" [(ngModel)]=\"email\">\r\n <span class=\"error-msg\" [style.visibility]=\"isEmailValid ? 'hidden' : 'visible'\">Please enter valid email</span>\r\n </div>\r\n \r\n <div class=\"form-control-group-full\">\r\n <div class=\"label\">Select Gender</div>\r\n <div class=\"d-flex align-items-center\">\r\n <img loading=\"lazy\" onerror=\"this.src='https://i.postimg.cc/hPS2JpV0/no-image-available.jpg'\" src=\"https://img.icons8.com/?size=100&id=108296&format=png&color=000000\" alt=\"\"\r\n (click)=\"gender = 'MALE'\" [ngClass]=\"{'active': gender == 'MALE' }\">\r\n <img loading=\"lazy\" onerror=\"this.src='https://i.postimg.cc/hPS2JpV0/no-image-available.jpg'\" src=\"https://img.icons8.com/?size=100&id=108295&format=png&color=000000\" alt=\"\"\r\n (click)=\"gender = 'FEMALE'\" [ngClass]=\"{'active': gender == 'FEMALE'}\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"action-btn\">\r\n <span class=\"skip-btn\" (click)=\"close()\">{{!isEdit ? 'Skip' : 'Close'}}</span>\r\n <button (click)=\"saveProfile()\">Save Profile</button>\r\n </div>\r\n</section>\r\n<p-toast position=\"bottom-right\" [baseZIndex]=\"10000000000\" [autoZIndex]=\"true\"></p-toast>", styles: [".form-control-group,.form-control-group-3,.form-control-group-full{width:100%}:is(.form-control-group,.form-control-group-3,.form-control-group-full)>input{width:100%;padding:10px;border-radius:3px;border:1.5px solid lightgray}.label{color:#000}.form-control-group-3{width:32%!important}.form-control-group-full{width:100%}img{height:60px;width:60px;object-fit:cover;margin:0 5px;border:2px solid transparent;cursor:pointer;border-radius:50%}.active{border:2px solid #0267C1}.form-control-group{margin:10px 0}.action-btn{position:relative;bottom:0;right:0;display:flex;align-items:center;justify-content:flex-end;gap:20px}.action-btn .skip-btn{color:#0267c1;cursor:pointer}.action-btn button{width:100px!important;border:none;background-color:#0267c1;color:#fff;cursor:pointer;border-radius:3px;padding:8px 0;font-size:14px!important;font-weight:500!important}.required:after{content:\"*\";color:tomato}.error-msg{color:tomato}@media screen and (max-width: 475px){.action-btn .skip-btn{color:#0267c1;cursor:pointer}.action-btn button{width:100px!important;border:none;background-color:#0267c1;color:#fff;cursor:pointer;border-radius:3px;padding:8px 0;font-size:14px!important;font-weight:500!important}}\n"] }]
89
+ ], providers: [MessageService], template: "<section style=\"padding: 20px\" class=\"position-relative\">\n <div class=\"d-flex flex-wrap justify-content-between\">\n <div class=\"form-control-group\">\n <div class=\"label\">First Name</div>\n <input type=\"text\" placeholder=\"Enter first name\" [(ngModel)]=\"firstName\" (keydown)=\"validateName($event)\">\n </div>\n <!-- <div class=\"form-control-group-3\">\n <div class=\"label\">Middle Name</div>\n <input type=\"text\" placeholder=\"Enter middle name\" [(ngModel)]=\"middleName\">\n </div> -->\n <div class=\"form-control-group\">\n <div class=\"label\">Last Name</div>\n <input type=\"text\" placeholder=\"Enter last name\" [(ngModel)]=\"lastName\" (keydown)=\"validateName($event)\">\n </div>\n\n <div class=\"form-control-group\" *ngIf=\"isEdit\">\n <div class=\"label required\">Mobile</div>\n <input type=\"number\" placeholder=\"Enter mobile\" [(ngModel)]=\"mobile\" disabled>\n </div>\n <div class=\"form-control-group\">\n <div class=\"label\">Email</div>\n <input type=\"text\" placeholder=\"Enter email\" [(ngModel)]=\"email\">\n <span class=\"error-msg\" [style.visibility]=\"isEmailValid ? 'hidden' : 'visible'\">Please enter valid email</span>\n </div>\n \n <div class=\"form-control-group-full\">\n <div class=\"label\">Select Gender</div>\n <div class=\"d-flex align-items-center\">\n <img loading=\"lazy\" onerror=\"this.src='https://i.postimg.cc/hPS2JpV0/no-image-available.jpg'\" src=\"https://img.icons8.com/?size=100&id=108296&format=png&color=000000\" alt=\"\"\n (click)=\"gender = 'MALE'\" [ngClass]=\"{'active': gender == 'MALE' }\">\n <img loading=\"lazy\" onerror=\"this.src='https://i.postimg.cc/hPS2JpV0/no-image-available.jpg'\" src=\"https://img.icons8.com/?size=100&id=108295&format=png&color=000000\" alt=\"\"\n (click)=\"gender = 'FEMALE'\" [ngClass]=\"{'active': gender == 'FEMALE'}\">\n </div>\n </div>\n </div>\n <div class=\"action-btn\">\n <span class=\"skip-btn\" (click)=\"close()\">{{!isEdit ? 'Skip' : 'Close'}}</span>\n <button (click)=\"saveProfile()\">Save Profile</button>\n </div>\n</section>\n<p-toast position=\"bottom-right\" [baseZIndex]=\"10000000000\" [autoZIndex]=\"true\"></p-toast>", styles: [".form-control-group,.form-control-group-3,.form-control-group-full{width:100%}:is(.form-control-group,.form-control-group-3,.form-control-group-full)>input{width:100%;padding:10px;border-radius:3px;border:1.5px solid lightgray}.label{color:#000}.form-control-group-3{width:32%!important}.form-control-group-full{width:100%}img{height:60px;width:60px;object-fit:cover;margin:0 5px;border:2px solid transparent;cursor:pointer;border-radius:50%}.active{border:2px solid #0267C1}.form-control-group{margin:10px 0}.action-btn{position:relative;bottom:0;right:0;display:flex;align-items:center;justify-content:flex-end;gap:20px}.action-btn .skip-btn{color:#0267c1;cursor:pointer}.action-btn button{width:100px!important;border:none;background-color:#0267c1;color:#fff;cursor:pointer;border-radius:3px;padding:8px 0;font-size:14px!important;font-weight:500!important}.required:after{content:\"*\";color:tomato}.error-msg{color:tomato}@media screen and (max-width: 475px){.action-btn .skip-btn{color:#0267c1;cursor:pointer}.action-btn button{width:100px!important;border:none;background-color:#0267c1;color:#fff;cursor:pointer;border-radius:3px;padding:8px 0;font-size:14px!important;font-weight:500!important}}\n"] }]
90
90
  }], ctorParameters: () => [{ type: i1.RestService }, { type: i2.Router }, { type: i3.MatDialogRef }, { type: i4.StorageServiceService }, { type: i5.MessageService }] });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1iYXNpYy1pbmZvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWNvbW1lcmNlL3NlY3Rpb25zL3VzZXItYmFzaWMtaW5mby91c2VyLWJhc2ljLWluZm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvdXNlci1iYXNpYy1pbmZvL3VzZXItYmFzaWMtaW5mby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQztBQUt6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7Ozs7QUFlN0MsTUFBTSxPQUFPLHNCQUFzQjtJQVlqQyxZQUNtQixXQUF3QixFQUN4QixNQUFjLEVBQ2QsU0FBK0MsRUFDL0MsY0FBcUMsRUFDckMsY0FBOEI7UUFKOUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGNBQVMsR0FBVCxTQUFTLENBQXNDO1FBQy9DLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFmMUMsV0FBTSxHQUE2QixJQUFJLENBQUM7UUFDeEMsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUN2QixlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLGFB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bmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3Jlc3Quc2VydmljZVwiO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3VzZXIubW9kYWwnO1xyXG5pbXBvcnQgeyBUb2FzdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ltcG8tdXNlci1iYXNpYy1pbmZvJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdERpYWxvZ01vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgVG9hc3RNb2R1bGVcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW01lc3NhZ2VTZXJ2aWNlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1iYXNpYy1pbmZvLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdXNlci1iYXNpYy1pbmZvLmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2VyQmFzaWNJbmZvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgcHVibGljIGdlbmRlcjogJ01BTEUnIHwgJ0ZFTUFMRScgfCBudWxsID0gbnVsbDtcclxuICBwdWJsaWMgZmlyc3ROYW1lOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyBtaWRkbGVOYW1lOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyBsYXN0TmFtZTogc3RyaW5nID0gXCJcIjtcclxuICBwdWJsaWMgbW9iaWxlOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyBlbWFpbDogc3RyaW5nID0gXCJcIjtcclxuICBwdWJsaWMgcHJvZmlsZVBpYzogc3RyaW5nID0gXCJcIjtcclxuICBwdWJsaWMgdXNlckRldGFpbHM6IFVzZXIgfCBudWxsID0gbnVsbDtcclxuICBwdWJsaWMgaXNFZGl0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXN0U2VydmljZTogUmVzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxVc2VyQmFzaWNJbmZvQ29tcG9uZW50PixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlXHJcbiAgKSB7fVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICB0aGlzLnVzZXJEZXRhaWxzID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VyKCk7XHJcbiAgICAgIHRoaXMuaXNFZGl0ID0gISF0aGlzLnVzZXJEZXRhaWxzO1xyXG5cclxuICAgICAgdGhpcy5maXJzdE5hbWUgPSB0aGlzLnVzZXJEZXRhaWxzPy5jb250YWN0Py5uYW1lPy5zcGxpdChcIiBcIik/LlswXSA/PyBcIlwiO1xyXG4gICAgICAvLyB0aGlzLm1pZGRsZU5hbWUgPSB0aGlzLnVzZXJEZXRhaWxzPy5jb250YWN0Py5uYW1lPy5zcGxpdChcIiBcIik/LlsxXSA/PyBcIlwiO1xyXG4gICAgICB0aGlzLmxhc3ROYW1lID0gdGhpcy51c2VyRGV0YWlscz8uY29udGFjdD8ubmFtZT8uc3BsaXQoXCIgXCIpPy5bMV0gPz8gXCJcIjtcclxuICAgICAgdGhpcy5lbWFpbCA9IHRoaXMudXNlckRldGFpbHM/LmNvbnRhY3Q/LmVtYWlsID8/IFwiXCI7XHJcbiAgICAgIHRoaXMubW9iaWxlID0gdGhpcy51c2VyRGV0YWlscz8uY29udGFjdC5tb2JpbGUgPz8gXCJcIjtcclxuICAgICAgdGhpcy5nZW5kZXIgPSB0aGlzLnVzZXJEZXRhaWxzPy5nZW5kZXIgYXMgKFwiTUFMRVwiIHwgXCJGRU1BTEVcIik7XHJcbiAgICAgIHRoaXMucHJvZmlsZVBpYyA9IHRoaXMudXNlckRldGFpbHM/LnByb2ZpbGVQaWMgPz8gXCJcIjtcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICB9XHJcbiAgc2F2ZVByb2ZpbGUoKSB7XHJcbiAgICBjb25zdCBwYXlsb2FkID0ge1xyXG4gICAgICB1c2VySWQ6IHRoaXMudXNlckRldGFpbHM/LnVzZXJJZCxcclxuICAgICAgYnVzaW5lc3NJZDogbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJiSWRcIikgPz8gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJidXNpbmVzc0lkXCIpLFxyXG4gICAgICBnZW5kZXI6IHRoaXMuZ2VuZGVyLFxyXG4gICAgICBwcm9maWxlUGljOiB0aGlzLnByb2ZpbGVQaWMsXHJcbiAgICAgIGNvbnRhY3Q6IHtcclxuICAgICAgICBjb3VudHJ5Q29kZTogXCI5MVwiLFxyXG4gICAgICAgIGVtYWlsOiB0aGlzLmVtYWlsLFxyXG4gICAgICAgIG5hbWU6IHRoaXMuZmlyc3ROYW1lICsgXCIgXCIgKyAodGhpcy5taWRkbGVOYW1lPy5sZW5ndGggPiAwID8gdGhpcy5taWRkbGVOYW1lICsgXCIgXCIgOiBcIlwiKSArIHRoaXMubGFzdE5hbWVcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5yZXN0U2VydmljZS51cGRhdGVQcm9maWxlKHBheWxvYWQpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSk9PiB7XHJcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0VXNlcihyZXNwb25zZS5kYXRhKTtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ3N1Y2Nlc3MnLCBzdW1tYXJ5OiAnVXBkYXRlZCBTdWNjZXNzZnVsbHknLCBkZXRhaWw6ICdVc2VyIGRldGFpbCB1cGRhdGVkJyB9KTtcclxuICAgICAgaWYgKHRoaXMuZGlhbG9nUmVmKVxyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy8nXSk7XHJcbiAgICB9LCAoZXJyb3IpPT4ge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiAnRXJyb3InLCBkZXRhaWw6ICdGYWlsZWQgdG8gdXBkYXRlIHlvdXIgZGV0YWlscyB0cnkgYWdpbi4nIH0pO1xyXG4gICAgfSlcclxuICB9XHJcbiAgdmFsaWRhdGVOYW1lKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAoKGV2ZW50LmtleUNvZGUgPj0gNjUgJiYgZXZlbnQua2V5Q29kZSA8PSA5MCkgfHwgZXZlbnQua2V5Q29kZSA9PSAxNiB8fCBldmVudC5rZXlDb2RlID09IDggfHwgZXZlbnQua2V5Q29kZSA9PSAzMiB8fCBldmVudC5rZXlDb2RlID09IDQ2KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNFbWFpbFZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZW1haWw/LmluY2x1ZGVzKFwiQFwiKSAmJiB0aGlzLmVtYWlsLmluY2x1ZGVzKFwiLmNvbVwiKSB8fCAodGhpcy5lbWFpbD8ubGVuZ3RoID09IDApO1xyXG4gIH1cclxufVxyXG4iLCI8c2VjdGlvbiBzdHlsZT1cInBhZGRpbmc6IDIwcHhcIiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtd3JhcCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNvbnRyb2wtZ3JvdXBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+Rmlyc3QgTmFtZTwvZGl2PlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cIkVudGVyIGZpcnN0IG5hbWVcIiBbKG5nTW9kZWwpXT1cImZpcnN0TmFtZVwiIChrZXlkb3duKT1cInZhbGlkYXRlTmFtZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZm9ybS1jb250cm9sLWdyb3VwLTNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+TWlkZGxlIE5hbWU8L2Rpdj5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJFbnRlciBtaWRkbGUgbmFtZVwiIFsobmdNb2RlbCldPVwibWlkZGxlTmFtZVwiPlxyXG4gICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jb250cm9sLWdyb3VwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiPkxhc3QgTmFtZTwvZGl2PlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cIkVudGVyIGxhc3QgbmFtZVwiIFsobmdNb2RlbCldPVwibGFzdE5hbWVcIiAoa2V5ZG93bik9XCJ2YWxpZGF0ZU5hbWUoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jb250cm9sLWdyb3VwXCIgKm5nSWY9XCJpc0VkaXRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsIHJlcXVpcmVkXCI+TW9iaWxlPC9kaXY+XHJcbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgcGxhY2Vob2xkZXI9XCJFbnRlciBtb2JpbGVcIiBbKG5nTW9kZWwpXT1cIm1vYmlsZVwiIGRpc2FibGVkPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNvbnRyb2wtZ3JvdXBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+RW1haWw8L2Rpdj5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJFbnRlciBlbWFpbFwiIFsobmdNb2RlbCldPVwiZW1haWxcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tc2dcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJpc0VtYWlsVmFsaWQgPyAnaGlkZGVuJyA6ICd2aXNpYmxlJ1wiPlBsZWFzZSBlbnRlciB2YWxpZCBlbWFpbDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jb250cm9sLWdyb3VwLWZ1bGxcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+U2VsZWN0IEdlbmRlcjwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiIG9uZXJyb3I9XCJ0aGlzLnNyYz0naHR0cHM6Ly9pLnBvc3RpbWcuY2MvaFBTMkpwVjAvbm8taW1hZ2UtYXZhaWxhYmxlLmpwZydcIiAgIHNyYz1cImh0dHBzOi8vaW1nLmljb25zOC5jb20vP3NpemU9MTAwJmlkPTEwODI5NiZmb3JtYXQ9cG5nJmNvbG9yPTAwMDAwMFwiIGFsdD1cIlwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImdlbmRlciA9ICdNQUxFJ1wiIFtuZ0NsYXNzXT1cInsnYWN0aXZlJzogZ2VuZGVyID09ICdNQUxFJyB9XCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCIgb25lcnJvcj1cInRoaXMuc3JjPSdodHRwczovL2kucG9zdGltZy5jYy9oUFMySnBWMC9uby1pbWFnZS1hdmFpbGFibGUuanBnJ1wiICAgc3JjPVwiaHR0cHM6Ly9pbWcuaWNvbnM4LmNvbS8/c2l6ZT0xMDAmaWQ9MTA4Mjk1JmZvcm1hdD1wbmcmY29sb3I9MDAwMDAwXCIgYWx0PVwiXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ2VuZGVyID0gJ0ZFTUFMRSdcIiBbbmdDbGFzc109XCJ7J2FjdGl2ZSc6IGdlbmRlciA9PSAnRkVNQUxFJ31cIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJhY3Rpb24tYnRuXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJza2lwLWJ0blwiIChjbGljayk9XCJjbG9zZSgpXCI+e3shaXNFZGl0ID8gJ1NraXAnIDogJ0Nsb3NlJ319PC9zcGFuPlxyXG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cInNhdmVQcm9maWxlKClcIj5TYXZlIFByb2ZpbGU8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG48L3NlY3Rpb24+XHJcbjxwLXRvYXN0IHBvc2l0aW9uPVwiYm90dG9tLXJpZ2h0XCIgW2Jhc2VaSW5kZXhdPVwiMTAwMDAwMDAwMDBcIiBbYXV0b1pJbmRleF09XCJ0cnVlXCI+PC9wLXRvYXN0PiJdfQ==
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1iYXNpYy1pbmZvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWNvbW1lcmNlL3NlY3Rpb25zL3VzZXItYmFzaWMtaW5mby91c2VyLWJhc2ljLWluZm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvdXNlci1iYXNpYy1pbmZvL3VzZXItYmFzaWMtaW5mby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQztBQUt6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7Ozs7QUFlN0MsTUFBTSxPQUFPLHNCQUFzQjtJQVlqQyxZQUNtQixXQUF3QixFQUN4QixNQUFjLEVBQ2QsU0FBK0MsRUFDL0MsY0FBcUMsRUFDckMsY0FBOEI7UUFKOUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGNBQVMsR0FBVCxTQUFTLENBQXNDO1FBQy9DLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFmMUMsV0FBTSxHQUE2QixJQUFJLENBQUM7UUFDeEMsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUN2QixlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLGFB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bXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2VcIjtcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uLy4uL3N0eWxlcy91c2VyLm1vZGFsJztcbmltcG9ydCB7IFRvYXN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b2FzdCc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2ltcG8tdXNlci1iYXNpYy1pbmZvJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgVG9hc3RNb2R1bGVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbTWVzc2FnZVNlcnZpY2VdLFxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1iYXNpYy1pbmZvLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3VzZXItYmFzaWMtaW5mby5jb21wb25lbnQuY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBVc2VyQmFzaWNJbmZvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgZ2VuZGVyOiAnTUFMRScgfCAnRkVNQUxFJyB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgZmlyc3ROYW1lOiBzdHJpbmcgPSBcIlwiO1xuICBwdWJsaWMgbWlkZGxlTmFtZTogc3RyaW5nID0gXCJcIjtcbiAgcHVibGljIGxhc3ROYW1lOiBzdHJpbmcgPSBcIlwiO1xuICBwdWJsaWMgbW9iaWxlOiBzdHJpbmcgPSBcIlwiO1xuICBwdWJsaWMgZW1haWw6IHN0cmluZyA9IFwiXCI7XG4gIHB1YmxpYyBwcm9maWxlUGljOiBzdHJpbmcgPSBcIlwiO1xuICBwdWJsaWMgdXNlckRldGFpbHM6IFVzZXIgfCBudWxsID0gbnVsbDtcbiAgcHVibGljIGlzRWRpdDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzdFNlcnZpY2U6IFJlc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxVc2VyQmFzaWNJbmZvQ29tcG9uZW50PixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2VcbiAgKSB7fVxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgIHRoaXMudXNlckRldGFpbHMgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXIoKTtcbiAgICAgIHRoaXMuaXNFZGl0ID0gISF0aGlzLnVzZXJEZXRhaWxzO1xuXG4gICAgICB0aGlzLmZpcnN0TmFtZSA9IHRoaXMudXNlckRldGFpbHM/LmNvbnRhY3Q/Lm5hbWU/LnNwbGl0KFwiIFwiKT8uWzBdID8/IFwiXCI7XG4gICAgICAvLyB0aGlzLm1pZGRsZU5hbWUgPSB0aGlzLnVzZXJEZXRhaWxzPy5jb250YWN0Py5uYW1lPy5zcGxpdChcIiBcIik/LlsxXSA/PyBcIlwiO1xuICAgICAgdGhpcy5sYXN0TmFtZSA9IHRoaXMudXNlckRldGFpbHM/LmNvbnRhY3Q/Lm5hbWU/LnNwbGl0KFwiIFwiKT8uWzFdID8/IFwiXCI7XG4gICAgICB0aGlzLmVtYWlsID0gdGhpcy51c2VyRGV0YWlscz8uY29udGFjdD8uZW1haWwgPz8gXCJcIjtcbiAgICAgIHRoaXMubW9iaWxlID0gdGhpcy51c2VyRGV0YWlscz8uY29udGFjdC5tb2JpbGUgPz8gXCJcIjtcbiAgICAgIHRoaXMuZ2VuZGVyID0gdGhpcy51c2VyRGV0YWlscz8uZ2VuZGVyIGFzIChcIk1BTEVcIiB8IFwiRkVNQUxFXCIpO1xuICAgICAgdGhpcy5wcm9maWxlUGljID0gdGhpcy51c2VyRGV0YWlscz8ucHJvZmlsZVBpYyA/PyBcIlwiO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgfVxuICBzYXZlUHJvZmlsZSgpIHtcbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgdXNlcklkOiB0aGlzLnVzZXJEZXRhaWxzPy51c2VySWQsXG4gICAgICBidXNpbmVzc0lkOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJJZFwiKSA/PyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzSWRcIiksXG4gICAgICBnZW5kZXI6IHRoaXMuZ2VuZGVyLFxuICAgICAgcHJvZmlsZVBpYzogdGhpcy5wcm9maWxlUGljLFxuICAgICAgY29udGFjdDoge1xuICAgICAgICBjb3VudHJ5Q29kZTogXCI5MVwiLFxuICAgICAgICBlbWFpbDogdGhpcy5lbWFpbCxcbiAgICAgICAgbmFtZTogdGhpcy5maXJzdE5hbWUgKyBcIiBcIiArICh0aGlzLm1pZGRsZU5hbWU/Lmxlbmd0aCA+IDAgPyB0aGlzLm1pZGRsZU5hbWUgKyBcIiBcIiA6IFwiXCIpICsgdGhpcy5sYXN0TmFtZVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnJlc3RTZXJ2aWNlLnVwZGF0ZVByb2ZpbGUocGF5bG9hZCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KT0+IHtcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0VXNlcihyZXNwb25zZS5kYXRhKTtcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdzdWNjZXNzJywgc3VtbWFyeTogJ1VwZGF0ZWQgU3VjY2Vzc2Z1bGx5JywgZGV0YWlsOiAnVXNlciBkZXRhaWwgdXBkYXRlZCcgfSk7XG4gICAgICBpZiAodGhpcy5kaWFsb2dSZWYpXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgICBlbHNlXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLyddKTtcbiAgICB9LCAoZXJyb3IpPT4ge1xuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2Vycm9yJywgc3VtbWFyeTogJ0Vycm9yJywgZGV0YWlsOiAnRmFpbGVkIHRvIHVwZGF0ZSB5b3VyIGRldGFpbHMgdHJ5IGFnaW4uJyB9KTtcbiAgICB9KVxuICB9XG4gIHZhbGlkYXRlTmFtZShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICgoZXZlbnQua2V5Q29kZSA+PSA2NSAmJiBldmVudC5rZXlDb2RlIDw9IDkwKSB8fCBldmVudC5rZXlDb2RlID09IDE2IHx8IGV2ZW50LmtleUNvZGUgPT0gOCB8fCBldmVudC5rZXlDb2RlID09IDMyIHx8IGV2ZW50LmtleUNvZGUgPT0gNDYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIGdldCBpc0VtYWlsVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZW1haWw/LmluY2x1ZGVzKFwiQFwiKSAmJiB0aGlzLmVtYWlsLmluY2x1ZGVzKFwiLmNvbVwiKSB8fCAodGhpcy5lbWFpbD8ubGVuZ3RoID09IDApO1xuICB9XG59XG4iLCI8c2VjdGlvbiBzdHlsZT1cInBhZGRpbmc6IDIwcHhcIiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlXCI+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXdyYXAganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY29udHJvbC1ncm91cFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+Rmlyc3QgTmFtZTwvZGl2PlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJFbnRlciBmaXJzdCBuYW1lXCIgWyhuZ01vZGVsKV09XCJmaXJzdE5hbWVcIiAoa2V5ZG93bik9XCJ2YWxpZGF0ZU5hbWUoJGV2ZW50KVwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZm9ybS1jb250cm9sLWdyb3VwLTNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiPk1pZGRsZSBOYW1lPC9kaXY+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cIkVudGVyIG1pZGRsZSBuYW1lXCIgWyhuZ01vZGVsKV09XCJtaWRkbGVOYW1lXCI+XG4gICAgICAgIDwvZGl2PiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY29udHJvbC1ncm91cFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+TGFzdCBOYW1lPC9kaXY+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cIkVudGVyIGxhc3QgbmFtZVwiIFsobmdNb2RlbCldPVwibGFzdE5hbWVcIiAoa2V5ZG93bik9XCJ2YWxpZGF0ZU5hbWUoJGV2ZW50KVwiPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jb250cm9sLWdyb3VwXCIgKm5nSWY9XCJpc0VkaXRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbCByZXF1aXJlZFwiPk1vYmlsZTwvZGl2PlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJudW1iZXJcIiBwbGFjZWhvbGRlcj1cIkVudGVyIG1vYmlsZVwiIFsobmdNb2RlbCldPVwibW9iaWxlXCIgZGlzYWJsZWQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jb250cm9sLWdyb3VwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIj5FbWFpbDwvZGl2PlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJFbnRlciBlbWFpbFwiIFsobmdNb2RlbCldPVwiZW1haWxcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbXNnXCIgW3N0eWxlLnZpc2liaWxpdHldPVwiaXNFbWFpbFZhbGlkID8gJ2hpZGRlbicgOiAndmlzaWJsZSdcIj5QbGVhc2UgZW50ZXIgdmFsaWQgZW1haWw8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY29udHJvbC1ncm91cC1mdWxsXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIj5TZWxlY3QgR2VuZGVyPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxpbWcgbG9hZGluZz1cImxhenlcIiBvbmVycm9yPVwidGhpcy5zcmM9J2h0dHBzOi8vaS5wb3N0aW1nLmNjL2hQUzJKcFYwL25vLWltYWdlLWF2YWlsYWJsZS5qcGcnXCIgICBzcmM9XCJodHRwczovL2ltZy5pY29uczguY29tLz9zaXplPTEwMCZpZD0xMDgyOTYmZm9ybWF0PXBuZyZjb2xvcj0wMDAwMDBcIiBhbHQ9XCJcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ2VuZGVyID0gJ01BTEUnXCIgW25nQ2xhc3NdPVwieydhY3RpdmUnOiBnZW5kZXIgPT0gJ01BTEUnIH1cIj5cbiAgICAgICAgICAgICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCIgb25lcnJvcj1cInRoaXMuc3JjPSdodHRwczovL2kucG9zdGltZy5jYy9oUFMySnBWMC9uby1pbWFnZS1hdmFpbGFibGUuanBnJ1wiICAgc3JjPVwiaHR0cHM6Ly9pbWcuaWNvbnM4LmNvbS8/c2l6ZT0xMDAmaWQ9MTA4Mjk1JmZvcm1hdD1wbmcmY29sb3I9MDAwMDAwXCIgYWx0PVwiXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImdlbmRlciA9ICdGRU1BTEUnXCIgW25nQ2xhc3NdPVwieydhY3RpdmUnOiBnZW5kZXIgPT0gJ0ZFTUFMRSd9XCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImFjdGlvbi1idG5cIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJza2lwLWJ0blwiIChjbGljayk9XCJjbG9zZSgpXCI+e3shaXNFZGl0ID8gJ1NraXAnIDogJ0Nsb3NlJ319PC9zcGFuPlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJzYXZlUHJvZmlsZSgpXCI+U2F2ZSBQcm9maWxlPC9idXR0b24+XG4gICAgPC9kaXY+XG48L3NlY3Rpb24+XG48cC10b2FzdCBwb3NpdGlvbj1cImJvdHRvbS1yaWdodFwiIFtiYXNlWkluZGV4XT1cIjEwMDAwMDAwMDAwXCIgW2F1dG9aSW5kZXhdPVwidHJ1ZVwiPjwvcC10b2FzdD4iXX0=