@adlfe/campaign-management-library 2.15.7 → 2.15.9

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 (31) hide show
  1. package/adlfe-campaign-management-library.d.ts +12 -11
  2. package/adlfe-campaign-management-library.metadata.json +1 -1
  3. package/bundles/adlfe-campaign-management-library.umd.js +106 -22
  4. package/bundles/adlfe-campaign-management-library.umd.js.map +1 -1
  5. package/bundles/adlfe-campaign-management-library.umd.min.js +2 -2
  6. package/bundles/adlfe-campaign-management-library.umd.min.js.map +1 -1
  7. package/esm2015/adlfe-campaign-management-library.js +13 -12
  8. package/esm2015/environments/environment.js +3 -3
  9. package/esm2015/lib/campaign-management/campaign-management.module.js +4 -2
  10. package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.js +11 -7
  11. package/esm2015/lib/campaign-management/modules/new-campaign/general-information/general-information.component.js +17 -3
  12. package/esm2015/lib/campaign-management/util/video-poster.pipe.js +60 -0
  13. package/esm2015/lib/core/util/form-utils.js +4 -0
  14. package/esm2015/lib/core/util/index.js +2 -1
  15. package/esm5/adlfe-campaign-management-library.js +13 -12
  16. package/esm5/environments/environment.js +3 -3
  17. package/esm5/lib/campaign-management/campaign-management.module.js +4 -2
  18. package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.js +11 -7
  19. package/esm5/lib/campaign-management/modules/new-campaign/general-information/general-information.component.js +17 -3
  20. package/esm5/lib/campaign-management/util/video-poster.pipe.js +63 -0
  21. package/esm5/lib/core/util/form-utils.js +4 -0
  22. package/esm5/lib/core/util/index.js +2 -1
  23. package/fesm2015/adlfe-campaign-management-library.js +93 -13
  24. package/fesm2015/adlfe-campaign-management-library.js.map +1 -1
  25. package/fesm5/adlfe-campaign-management-library.js +96 -13
  26. package/fesm5/adlfe-campaign-management-library.js.map +1 -1
  27. package/lib/campaign-management/modules/new-campaign/general-information/general-information.component.d.ts +4 -0
  28. package/lib/campaign-management/util/video-poster.pipe.d.ts +4 -0
  29. package/lib/core/util/form-utils.d.ts +2 -0
  30. package/lib/core/util/index.d.ts +1 -0
  31. package/package.json +1 -1
@@ -11,6 +11,8 @@ let GeneralInformationComponent = class GeneralInformationComponent {
11
11
  this.isTouchedSMSForm = false;
12
12
  this.isTouchedEmailForm = false;
13
13
  this.isShowMore = false;
14
+ this.showVideoModal = false;
15
+ this.currentVideoUrl = '';
14
16
  this.twilioResultCounter = {
15
17
  segments: 0,
16
18
  characters: 0,
@@ -98,6 +100,18 @@ let GeneralInformationComponent = class GeneralInformationComponent {
98
100
  }
99
101
  this.form.disable();
100
102
  }
103
+ openVideo(url) {
104
+ if (!url)
105
+ return;
106
+ this.currentVideoUrl = url;
107
+ this.showVideoModal = true;
108
+ document.body.style.overflow = 'hidden';
109
+ }
110
+ closeVideo() {
111
+ this.showVideoModal = false;
112
+ this.currentVideoUrl = '';
113
+ document.body.style.overflow = '';
114
+ }
101
115
  updateGeneralInformationForm(form) {
102
116
  this.generalInformationForm = form;
103
117
  this.isShowMore = false;
@@ -181,9 +195,9 @@ __decorate([
181
195
  GeneralInformationComponent = __decorate([
182
196
  Component({
183
197
  selector: 'lib-new-campaign-general-information',
184
- template: "<form autocomplete=\"off\" [formGroup]=\"form\">\r\n <div class=\"campaign-info\">\r\n <div class=\"campaign-info-child\">\r\n <mat-card>\r\n <mat-card-content>\r\n <h3 class=\"font-22px font-PoppinsBold mb-4\">General Information</h3>\r\n\r\n <div class=\"form-group\">\r\n <mat-form-field appearance=\"outline\" floatLabel=\"always\" class=\"w-100\">\r\n <mat-label class=\"asterix--after\">Broadcast Name</mat-label>\r\n\r\n <input\r\n matInput\r\n type=\"text\"\r\n formControlName=\"campaignName\"\r\n placeholder=\"Enter Broadcast name\"\r\n />\r\n </mat-form-field>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center w-100\">\r\n <mat-hint align=\"start\">\r\n {{ form.get('campaignName').value?.length || 0 }}/100\r\n </mat-hint>\r\n\r\n <div>\r\n <mat-error\r\n align=\"end\"\r\n *ngFor=\"let validation of validationMessages.campaignName\"\r\n >\r\n <p\r\n class=\"font-12px mb-0\"\r\n *ngIf=\"\r\n form.get('campaignName').touched &&\r\n form.get('campaignName').hasError(validation.type)\r\n \"\r\n >\r\n {{ validation.message }}\r\n </p>\r\n </mat-error>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-group\">\r\n <mat-form-field appearance=\"outline\" floatLabel=\"always\" class=\"w-100\">\r\n <mat-label class=\"asterix--after\">Channel</mat-label>\r\n\r\n <mat-select placeholder=\"Select channel\" formControlName=\"medium\">\r\n <mat-option\r\n *ngFor=\"let option of channelOption\"\r\n [value]=\"option.value\"\r\n >\r\n {{ option.label }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-error align=\"end\" *ngFor=\"let validation of validationMessages.medium\">\r\n <p\r\n class=\"font-12px mb-0\"\r\n *ngIf=\"\r\n form.get('medium').touched &&\r\n form.get('medium').hasError(validation.type)\r\n \"\r\n >\r\n {{ validation.message }}\r\n </p>\r\n </mat-error>\r\n </div>\r\n\r\n <ng-container *ngIf=\"form.get('medium').value === 'WA'\">\r\n <lib-general-information-wa\r\n [isTouchedForm]=\"isTouchedWAForm\"\r\n [isReadOnlyMode]=\"isReadOnlyMode\"\r\n (updateGeneralInformationForm)=\"updateGeneralInformationForm($event)\"\r\n ></lib-general-information-wa>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"form.get('medium').value === 'LINE'\">\r\n <lib-general-information-line\r\n [isTouchedForm]=\"isTouchedSMSForm\"\r\n [isReadOnlyMode]=\"isReadOnlyMode\"\r\n (updateGeneralInformationForm)=\"updateGeneralInformationForm($event)\"\r\n ></lib-general-information-line>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"form.get('medium').value === 'SMS'\">\r\n <lib-general-information-sms\r\n [isTouchedForm]=\"isTouchedSMSForm\"\r\n [isReadOnlyMode]=\"isReadOnlyMode\"\r\n (updateGeneralInformationForm)=\"updateGeneralInformationForm($event)\"\r\n ></lib-general-information-sms>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"form.get('medium').value === 'EMAIL'\">\r\n <lib-general-information-email\r\n [isTouchedForm]=\"isTouchedEmailForm\"\r\n [isReadOnlyMode]=\"isReadOnlyMode\"\r\n (updateGeneralInformationForm)=\"updateGeneralInformationForm($event)\"\r\n ></lib-general-information-email>\r\n </ng-container>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n\r\n <div class=\"campaign-info-child pl-20px\">\r\n <h3 class=\"font-22px font-PoppinsBold\">Broadcast Content</h3>\r\n\r\n <div\r\n [ngClass]=\"\r\n form.get('medium').value === 'SMS' || form.get('medium').value === 'EMAIL'\r\n ? 'campaign-border-preview'\r\n : 'campaign-preview'\r\n \"\r\n >\r\n <section\r\n *ngIf=\"\r\n form.get('medium').value === 'SMS' || form.get('medium').value === 'EMAIL'\r\n \"\r\n >\r\n <p\r\n *ngIf=\"getBody\"\r\n class=\"body my-2\"\r\n style=\"max-width: 500px; word-wrap: break-word\"\r\n [innerHTML]=\"getBody\"\r\n ></p>\r\n </section>\r\n\r\n <section *ngIf=\"form.get('medium').value === 'WA'\" class=\"campaign-preview__wa\">\r\n <div class=\"header-preview\">\r\n <div class=\"heading\">\r\n {{ getHeader }}\r\n </div>\r\n </div>\r\n <div class=\"body-preview\">\r\n <section *ngIf=\"getBody || getMedia || displayFile\">\r\n <div\r\n class=\"chat\"\r\n [ngClass]=\"{ 'no-bottom-border': getTemplate?.buttons?.length > 0 }\"\r\n >\r\n <img\r\n *ngIf=\"\r\n (getMedia === 'IMAGE' ||\r\n getTemplate?.header?.type?.toLowerCase() === 'image') &&\r\n displayFile\r\n \"\r\n style=\"max-width: 100%\"\r\n alt=\"image\"\r\n [src]=\"displayFile\"\r\n />\r\n\r\n <video\r\n *ngIf=\"\r\n (getMedia === 'VIDEO' ||\r\n getTemplate?.header?.type?.toLowerCase() === 'video') &&\r\n displayFile\r\n \"\r\n id=\"video\"\r\n style=\"width: 100%\"\r\n [src]=\"displayFile\"\r\n controls\r\n ></video>\r\n\r\n <div *ngIf=\"getMedia === 'DOCUMENT'\" style=\"display: flex\">\r\n <img\r\n style=\"width: 13px; height: 18px\"\r\n alt=\"document\"\r\n src=\"../../../../../assets/images/icon-file.png\"\r\n />\r\n\r\n <span style=\"margin-left: 10px\">Document</span>\r\n </div>\r\n\r\n <ng-container *ngIf=\"getMedia === 'LOCATION'\">\r\n <agm-map\r\n style=\"width: 100%; height: 200px\"\r\n [disableDefaultUI]=\"true\"\r\n [latitude]=\"maps.latitude\"\r\n [longitude]=\"maps.longitude\"\r\n [zoom]=\"maps.zoom\"\r\n >\r\n <agm-marker\r\n [latitude]=\"maps.latitude\"\r\n [longitude]=\"maps.longitude\"\r\n [markerDraggable]=\"false\"\r\n ></agm-marker>\r\n </agm-map>\r\n <a\r\n [href]=\"\r\n 'https://www.google.com/maps/search/?api=1&query=' +\r\n maps.latitude +\r\n ',' +\r\n maps.longitude\r\n \"\r\n >\r\n https://www.google.com/maps/search/?api=1&query={{\r\n maps.latitude\r\n }},{{ maps.longitude }}\r\n </a>\r\n </ng-container>\r\n\r\n <p *ngIf=\"getBody\" class=\"body my-2\" [innerHTML]=\"getBody\"></p>\r\n\r\n <p\r\n *ngIf=\"getTemplate?.footer\"\r\n class=\"mb-2\"\r\n style=\"color: rgb(160, 160, 160)\"\r\n >\r\n {{ getTemplate.footer }}\r\n </p>\r\n </div>\r\n </section>\r\n <section *ngIf=\"getTemplate?.buttons?.length > 0\">\r\n <div\r\n *ngFor=\"let button of getTemplateButton\"\r\n class=\"params-btn pb-0 pointer\"\r\n >\r\n <p class=\"mb-0\">\r\n {{ button?.text || button?.type }}\r\n </p>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"getTemplate?.buttons?.length > 3\"\r\n class=\"params-btn pb-0 pointer\"\r\n (click)=\"isShowMore = !isShowMore\"\r\n >\r\n <p class=\"mb-0\"><mat-icon>list</mat-icon> See all options</p>\r\n </div>\r\n </section>\r\n <!-- ========================================== -->\r\n <!-- WA CAROUSEL PREVIEW -->\r\n <!-- ========================================== -->\r\n <div\r\n *ngIf=\"getTemplate?.carousel?.length > 0\"\r\n class=\"wa-carousel-container\"\r\n >\r\n <div class=\"d-flex gap-2 mt-2 pb-2 wa-carousel-scroll\">\r\n <div\r\n *ngFor=\"let card of getTemplate?.carousel\"\r\n class=\"wa-carousel-card\"\r\n >\r\n <img\r\n *ngIf=\"card.header?.url || card.headerURL\"\r\n class=\"card-header-image\"\r\n [src]=\"card.header?.url || card.headerURL\"\r\n alt=\"Carousel Header Image\"\r\n />\r\n\r\n <div class=\"card-body-content\">\r\n <p\r\n *ngIf=\"card.body?.text || card.bodyText\"\r\n class=\"card-text\"\r\n >\r\n {{ card.body?.text || card.bodyText }}\r\n </p>\r\n </div>\r\n\r\n <section\r\n *ngIf=\"card.buttons?.length > 0 || card.button?.length > 0\"\r\n class=\"card-buttons-wrapper\"\r\n >\r\n <div\r\n *ngFor=\"let btn of card.buttons || card.button\"\r\n class=\"card-button\"\r\n >\r\n <!-- Kondisi Dinamis untuk Icon Button -->\r\n <ng-container\r\n [ngSwitch]=\"\r\n btn?.type || btn?.actionType || 'QUICK_REPLY'\r\n \"\r\n >\r\n <!-- ICON: QUICK REPLY (Panah Melengkung) -->\r\n <svg\r\n *ngSwitchCase=\"'QUICK_REPLY'\"\r\n width=\"15\"\r\n height=\"15\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"#00a884\"\r\n stroke-width=\"2.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n >\r\n <path d=\"M9 14 4 9l5-5\" />\r\n <path d=\"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5v3.5\" />\r\n </svg>\r\n\r\n <!-- ICON: URL (External Link) -->\r\n <svg\r\n *ngSwitchCase=\"'URL'\"\r\n width=\"15\"\r\n height=\"15\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"#00a884\"\r\n stroke-width=\"2.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n >\r\n <path\r\n d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\r\n ></path>\r\n <polyline points=\"15 3 21 3 21 9\"></polyline>\r\n <line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line>\r\n </svg>\r\n\r\n <!-- ICON: DEFAULT (Fallback ke Quick Reply) -->\r\n <svg\r\n *ngSwitchDefault\r\n width=\"15\"\r\n height=\"15\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"#00a884\"\r\n stroke-width=\"2.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n >\r\n <path d=\"M9 14 4 9l5-5\" />\r\n <path d=\"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5v3.5\" />\r\n </svg>\r\n </ng-container>\r\n\r\n <p class=\"text-center btn-text\">\r\n {{ btn?.text || btn?.type || 'Button' }}\r\n </p>\r\n </div>\r\n </section>\r\n </div>\r\n </div>\r\n\r\n <!-- Dot Indicators -->\r\n <div\r\n *ngIf=\"getTemplate?.carousel?.length > 1\"\r\n class=\"wa-carousel-indicators\"\r\n >\r\n <div\r\n *ngFor=\"let card of getTemplate?.carousel; let i = index\"\r\n class=\"dot\"\r\n [style.background-color]=\"i === 0 ? '#8696a0' : '#d1d7db'\"\r\n ></div>\r\n </div>\r\n </div>\r\n <!-- ========================================== -->\r\n </div>\r\n </section>\r\n\r\n <section *ngIf=\"form.get('medium').value === 'LINE'\" class=\"campaign-preview__line\">\r\n <div class=\"header-preview\">\r\n <div class=\"heading\">\r\n {{ getHeader }}\r\n </div>\r\n </div>\r\n <div class=\"body-preview\">\r\n <section *ngIf=\"isText || !isJSON\" class=\"chat\">\r\n <p class=\"body my-2\" [innerHTML]=\"getBody\"></p>\r\n </section>\r\n\r\n <section\r\n *ngIf=\"['buttons', 'confirm'].includes(getTemplateLine?.type)\"\r\n class=\"chat\"\r\n [ngClass]=\"{ 'no-bottom-border': getTemplateLine?.actions?.length > 0 }\"\r\n >\r\n <img\r\n *ngIf=\"getTemplateLine?.thumbnailImageUrl\"\r\n style=\"max-width: 100%\"\r\n class=\"mb-1\"\r\n [src]=\"getTemplateLine?.thumbnailImageUrl\"\r\n />\r\n\r\n <p\r\n *ngIf=\"getTemplateLine?.title\"\r\n class=\"font-PoppinsBold mb-1\"\r\n [innerHTML]=\"getTemplateLine?.title\"\r\n ></p>\r\n\r\n <p\r\n *ngIf=\"getTemplateLine?.text\"\r\n class=\"mb-0\"\r\n [innerHTML]=\"getTemplateLine?.text\"\r\n ></p>\r\n </section>\r\n <div\r\n *ngIf=\"['carousel'].includes(getTemplateLine?.type)\"\r\n class=\"d-flex gap-2 overflow-auto\"\r\n >\r\n <div *ngFor=\"let column of getTemplateLine?.columns\">\r\n <section\r\n class=\"chat w-100\"\r\n [ngClass]=\"{ 'no-bottom-border': column?.actions?.length > 0 }\"\r\n >\r\n <img\r\n *ngIf=\"column.thumbnailImageUrl\"\r\n style=\"max-width: 100%\"\r\n class=\"mb-1\"\r\n [src]=\"column.thumbnailImageUrl\"\r\n />\r\n\r\n <p\r\n *ngIf=\"column.title\"\r\n class=\"font-PoppinsBold mb-1\"\r\n [innerHTML]=\"column.title\"\r\n ></p>\r\n\r\n <p\r\n *ngIf=\"column.text\"\r\n class=\"mb-0\"\r\n [innerHTML]=\"column.text\"\r\n ></p>\r\n </section>\r\n <section *ngIf=\"column?.actions?.length > 0\">\r\n <div\r\n *ngFor=\"let button of column?.actions\"\r\n class=\"params-btn mw-100 pb-0 pointer\"\r\n >\r\n <p class=\"mb-0\">\r\n {{ button?.text }}\r\n </p>\r\n </div>\r\n </section>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"['image_carousel'].includes(getTemplateLine?.type)\"\r\n class=\"d-flex gap-2 overflow-auto\"\r\n >\r\n <div *ngFor=\"let column of getTemplateLine?.columns\">\r\n <div class=\"image-container\">\r\n <img [src]=\"column.imageUrl\" alt=\"image\" />\r\n\r\n <div class=\"d-flex justify-content-center\">\r\n <p class=\"font-13px overlay-text\">\r\n {{ column.action.label }}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <section\r\n *ngIf=\"\r\n getTemplateLine?.type !== 'confirm' &&\r\n getTemplateLine?.actions?.length > 0\r\n \"\r\n >\r\n <div\r\n *ngFor=\"let button of getTemplateLine?.actions\"\r\n class=\"params-btn pb-0 pointer\"\r\n >\r\n <p class=\"mb-0\">\r\n {{ button?.text }}\r\n </p>\r\n </div>\r\n </section>\r\n <section\r\n *ngIf=\"\r\n getTemplateLine?.type === 'confirm' &&\r\n getTemplateLine?.actions?.length > 0\r\n \"\r\n class=\"d-flex justify-content-around mw-70 bg-white\"\r\n >\r\n <div\r\n *ngFor=\"let button of getTemplateLine?.actions\"\r\n class=\"params-btn flex pb-0 pointer\"\r\n >\r\n <p class=\"mb-0\">\r\n {{ button?.text }}\r\n </p>\r\n </div>\r\n </section>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n <div class=\"d-flex\" style=\"flex-direction: column\">\r\n <span\r\n *ngIf=\"form.get('medium').value === 'SMS'\"\r\n style=\"text-align: right; width: 100%\"\r\n >\r\n {{ twilioResultCounter.fulltext }}\r\n </span>\r\n <span\r\n style=\"text-align: right; width: 100%; color: red\"\r\n *ngIf=\"twilioResultCounter.segments > 10 && form.get('medium').value === 'SMS'\"\r\n >\r\n Maximum Segment is 10\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n<ng-template #isSpinner>\r\n <div class=\"text-center my-auto\">\r\n <img src=\"../../../../../assets/images/spinner.svg\" />\r\n </div>\r\n</ng-template>\r\n",
185
- styles: [".campaign-info{display:flex}.campaign-info-child{flex:1}.campaign-info .asterix--after:after{content:\"*\";color:red}.campaign-info .pl-20px{padding-left:20px}.campaign-info .mw-70{max-width:70%}.campaign-info .campaign-preview{width:75%}.campaign-info .campaign-preview .header-preview{padding:15px;min-height:60px;border-radius:10px 10px 0 0}.campaign-info .campaign-preview .header-preview .heading{width:100%;color:#e0e0e0;margin-left:5px;font-size:20px}.campaign-info .campaign-preview .body-preview{padding:15px;min-height:470px}.campaign-info .campaign-preview .body-preview .chat{width:70%;padding:11px;font-size:14px;line-height:22px;color:#494949;border-radius:8px;background:#fff;overflow-wrap:break-word;white-space:pre-line;box-shadow:12px 12px 20px rgba(44,59,113,.04)}.campaign-info .campaign-preview .body-preview .chat .body{max-height:400px;overflow-y:auto;overscroll-behavior-y:contain}.campaign-info .campaign-preview .body-preview .chat.no-bottom-border{border-bottom-left-radius:0;border-bottom-right-radius:0}.campaign-info .campaign-preview__wa .header-preview{background:#065f54}.campaign-info .campaign-preview__wa .body-preview{border-bottom-left-radius:8px;border-bottom-right-radius:8px;background-image:url(../../../../assets/svg/whatsapp-bg.svg);background-position:center;background-repeat:no-repeat;background-size:cover}.campaign-info .campaign-preview__wa .body-preview .params-btn{width:auto;max-width:70%;color:#34b7f1;background:#fff;box-shadow:12px 12px 20px rgba(44,59,113,.04);border-radius:0;font-size:16px;line-height:43px;padding:0;text-align:center;font-family:Poppins;overflow-wrap:break-word}.campaign-info .campaign-preview__wa .body-preview .params-btn b{font-family:PoppinsBold}.campaign-info .campaign-preview__line .header-preview{background:#273046}.campaign-info .campaign-preview__line .body-preview{background:#7692bf;border-bottom-left-radius:8px;border-bottom-right-radius:8px}.campaign-info .campaign-preview__line .body-preview .params-btn{width:auto;max-width:70%;color:#34b7f1;background:#fff;box-shadow:12px 12px 20px rgba(44,59,113,.04);border-radius:0;font-size:16px;line-height:43px;padding:0;text-align:center;font-family:Poppins;overflow-wrap:break-word}.campaign-info .campaign-preview__line .body-preview .params-btn b{font-family:PoppinsBold}.campaign-info .campaign-preview__line .body-preview .image-container{position:relative;width:200px;height:200px}.campaign-info .campaign-preview__line .body-preview .image-container img{display:block;width:100%;height:100%}.campaign-info .campaign-preview__line .body-preview .image-container .overlay-text{top:170px;position:absolute;padding:2px 5px;color:#fff;background-color:rgba(49,57,60,.62);border-radius:10px}.campaign-info .campaign-border-preview{width:100%;min-height:100px;padding:32px;border:1px solid #e2e2e2;border-radius:8px}.wa-carousel-container{width:100%}.wa-carousel-container .wa-carousel-scroll{width:100%;padding-right:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-ms-overflow-style:none;scrollbar-width:none}.wa-carousel-container .wa-carousel-scroll::-webkit-scrollbar{display:none}.wa-carousel-container .wa-carousel-card{min-width:220px;flex-shrink:0;padding:0;overflow:hidden;background:#fff;border-radius:12px;border:1px solid #d1d7db;display:flex;flex-direction:column;scroll-snap-align:start}.wa-carousel-container .wa-carousel-card .card-header-image{width:100%;height:130px;-o-object-fit:cover;object-fit:cover;background:#e0e0e0}.wa-carousel-container .wa-carousel-card .card-body-content{padding:12px;flex-grow:1}.wa-carousel-container .wa-carousel-card .card-body-content .card-text{white-space:pre-wrap;font-size:12px;color:#111b21;margin:0}.wa-carousel-container .wa-carousel-card .card-buttons-wrapper{width:100%}.wa-carousel-container .wa-carousel-card .card-buttons-wrapper .card-button{border-top:1px solid #f0f2f5;width:100%;padding:8px 0;background:#fff;display:flex;justify-content:center;align-items:center;gap:8px;cursor:pointer}.wa-carousel-container .wa-carousel-card .card-buttons-wrapper .card-button .btn-text{color:#00a884;font-size:12px;font-weight:500;margin-bottom:0}.wa-carousel-container .wa-carousel-indicators{display:flex;justify-content:center;gap:6px;padding:10px 0}.wa-carousel-container .wa-carousel-indicators .dot{width:6px;height:6px;border-radius:50%;transition:background-color .3s}"]
198
+ template: "<form autocomplete=\"off\" [formGroup]=\"form\">\r\n <div class=\"campaign-info\">\r\n <div class=\"campaign-info-child\">\r\n <mat-card>\r\n <mat-card-content>\r\n <h3 class=\"font-22px font-PoppinsBold mb-4\">General Information</h3>\r\n\r\n <div class=\"form-group\">\r\n <mat-form-field appearance=\"outline\" floatLabel=\"always\" class=\"w-100\">\r\n <mat-label class=\"asterix--after\">Broadcast Name</mat-label>\r\n\r\n <input\r\n matInput\r\n type=\"text\"\r\n formControlName=\"campaignName\"\r\n placeholder=\"Enter Broadcast name\"\r\n />\r\n </mat-form-field>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center w-100\">\r\n <mat-hint align=\"start\">\r\n {{ form.get('campaignName').value?.length || 0 }}/100\r\n </mat-hint>\r\n\r\n <div>\r\n <mat-error\r\n align=\"end\"\r\n *ngFor=\"let validation of validationMessages.campaignName\"\r\n >\r\n <p\r\n class=\"font-12px mb-0\"\r\n *ngIf=\"\r\n form.get('campaignName').touched &&\r\n form.get('campaignName').hasError(validation.type)\r\n \"\r\n >\r\n {{ validation.message }}\r\n </p>\r\n </mat-error>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-group\">\r\n <mat-form-field appearance=\"outline\" floatLabel=\"always\" class=\"w-100\">\r\n <mat-label class=\"asterix--after\">Channel</mat-label>\r\n\r\n <mat-select placeholder=\"Select channel\" formControlName=\"medium\">\r\n <mat-option\r\n *ngFor=\"let option of channelOption\"\r\n [value]=\"option.value\"\r\n >\r\n {{ option.label }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-error align=\"end\" *ngFor=\"let validation of validationMessages.medium\">\r\n <p\r\n class=\"font-12px mb-0\"\r\n *ngIf=\"\r\n form.get('medium').touched &&\r\n form.get('medium').hasError(validation.type)\r\n \"\r\n >\r\n {{ validation.message }}\r\n </p>\r\n </mat-error>\r\n </div>\r\n\r\n <ng-container *ngIf=\"form.get('medium').value === 'WA'\">\r\n <lib-general-information-wa\r\n [isTouchedForm]=\"isTouchedWAForm\"\r\n [isReadOnlyMode]=\"isReadOnlyMode\"\r\n (updateGeneralInformationForm)=\"updateGeneralInformationForm($event)\"\r\n ></lib-general-information-wa>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"form.get('medium').value === 'LINE'\">\r\n <lib-general-information-line\r\n [isTouchedForm]=\"isTouchedSMSForm\"\r\n [isReadOnlyMode]=\"isReadOnlyMode\"\r\n (updateGeneralInformationForm)=\"updateGeneralInformationForm($event)\"\r\n ></lib-general-information-line>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"form.get('medium').value === 'SMS'\">\r\n <lib-general-information-sms\r\n [isTouchedForm]=\"isTouchedSMSForm\"\r\n [isReadOnlyMode]=\"isReadOnlyMode\"\r\n (updateGeneralInformationForm)=\"updateGeneralInformationForm($event)\"\r\n ></lib-general-information-sms>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"form.get('medium').value === 'EMAIL'\">\r\n <lib-general-information-email\r\n [isTouchedForm]=\"isTouchedEmailForm\"\r\n [isReadOnlyMode]=\"isReadOnlyMode\"\r\n (updateGeneralInformationForm)=\"updateGeneralInformationForm($event)\"\r\n ></lib-general-information-email>\r\n </ng-container>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n\r\n <div class=\"campaign-info-child pl-20px\">\r\n <h3 class=\"font-22px font-PoppinsBold\">Broadcast Content</h3>\r\n\r\n <div\r\n [ngClass]=\"\r\n form.get('medium').value === 'SMS' || form.get('medium').value === 'EMAIL'\r\n ? 'campaign-border-preview'\r\n : 'campaign-preview'\r\n \"\r\n >\r\n <section\r\n *ngIf=\"\r\n form.get('medium').value === 'SMS' || form.get('medium').value === 'EMAIL'\r\n \"\r\n >\r\n <p\r\n *ngIf=\"getBody\"\r\n class=\"body my-2\"\r\n style=\"max-width: 500px; word-wrap: break-word\"\r\n [innerHTML]=\"getBody\"\r\n ></p>\r\n </section>\r\n\r\n <section *ngIf=\"form.get('medium').value === 'WA'\" class=\"campaign-preview__wa\">\r\n <div class=\"header-preview\">\r\n <div class=\"heading\">\r\n {{ getHeader }}\r\n </div>\r\n </div>\r\n <div class=\"body-preview\">\r\n <section *ngIf=\"getBody || getMedia || displayFile\">\r\n <div\r\n class=\"chat\"\r\n [ngClass]=\"{ 'no-bottom-border': getTemplate?.buttons?.length > 0 }\"\r\n >\r\n <img\r\n *ngIf=\"\r\n (getMedia === 'IMAGE' ||\r\n getTemplate?.header?.type?.toLowerCase() === 'image') &&\r\n displayFile\r\n \"\r\n style=\"max-width: 100%\"\r\n alt=\"image\"\r\n [src]=\"displayFile\"\r\n />\r\n\r\n <video\r\n *ngIf=\"\r\n (getMedia === 'VIDEO' ||\r\n getTemplate?.header?.type?.toLowerCase() === 'video') &&\r\n displayFile\r\n \"\r\n id=\"video\"\r\n style=\"width: 100%\"\r\n [src]=\"displayFile\"\r\n controls\r\n ></video>\r\n\r\n <div *ngIf=\"getMedia === 'DOCUMENT'\" style=\"display: flex\">\r\n <img\r\n style=\"width: 13px; height: 18px\"\r\n alt=\"document\"\r\n src=\"../../../../../assets/images/icon-file.png\"\r\n />\r\n\r\n <span style=\"margin-left: 10px\">Document</span>\r\n </div>\r\n\r\n <ng-container *ngIf=\"getMedia === 'LOCATION'\">\r\n <agm-map\r\n style=\"width: 100%; height: 200px\"\r\n [disableDefaultUI]=\"true\"\r\n [latitude]=\"maps.latitude\"\r\n [longitude]=\"maps.longitude\"\r\n [zoom]=\"maps.zoom\"\r\n >\r\n <agm-marker\r\n [latitude]=\"maps.latitude\"\r\n [longitude]=\"maps.longitude\"\r\n [markerDraggable]=\"false\"\r\n ></agm-marker>\r\n </agm-map>\r\n <a\r\n [href]=\"\r\n 'https://www.google.com/maps/search/?api=1&query=' +\r\n maps.latitude +\r\n ',' +\r\n maps.longitude\r\n \"\r\n >\r\n https://www.google.com/maps/search/?api=1&query={{\r\n maps.latitude\r\n }},{{ maps.longitude }}\r\n </a>\r\n </ng-container>\r\n\r\n <p *ngIf=\"getBody\" class=\"body my-2\" [innerHTML]=\"getBody\"></p>\r\n\r\n <p\r\n *ngIf=\"getTemplate?.footer\"\r\n class=\"mb-2\"\r\n style=\"color: rgb(160, 160, 160)\"\r\n >\r\n {{ getTemplate.footer }}\r\n </p>\r\n </div>\r\n </section>\r\n <section *ngIf=\"getTemplate?.buttons?.length > 0\">\r\n <div\r\n *ngFor=\"let button of getTemplateButton\"\r\n class=\"params-btn pb-0 pointer\"\r\n >\r\n <p class=\"mb-0\">\r\n {{ button?.text || button?.type }}\r\n </p>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"getTemplate?.buttons?.length > 3\"\r\n class=\"params-btn pb-0 pointer\"\r\n (click)=\"isShowMore = !isShowMore\"\r\n >\r\n <p class=\"mb-0\"><mat-icon>list</mat-icon> See all options</p>\r\n </div>\r\n </section>\r\n <!-- ========================================== -->\r\n <!-- WA CAROUSEL PREVIEW -->\r\n <!-- ========================================== -->\r\n <div\r\n *ngIf=\"getTemplate?.carousel?.length > 0\"\r\n class=\"wa-carousel-container\"\r\n >\r\n <div class=\"d-flex gap-2 mt-2 pb-2 wa-carousel-scroll\">\r\n <div\r\n *ngFor=\"let card of getTemplate?.carousel\"\r\n class=\"wa-carousel-card\"\r\n >\r\n <ng-container *ngIf=\"card.header?.url || card.headerURL\">\r\n <div\r\n *ngIf=\"card.header?.type === 'VIDEO'\"\r\n class=\"wa-carousel-video-thumbnail\"\r\n (click)=\"openVideo(card.header?.url || card.headerURL)\"\r\n style=\"\r\n position: relative;\r\n width: 100%;\r\n height: 160px;\r\n background-color: #e4e6e7;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n overflow: hidden;\r\n border-top-left-radius: inherit;\r\n border-top-right-radius: inherit;\r\n \"\r\n >\r\n <ng-container\r\n *ngIf=\"\r\n card.header?.url || card.headerURL\r\n | videoPoster\r\n | async as posterUrl;\r\n else loadingVideo\r\n \"\r\n >\r\n <img\r\n [src]=\"posterUrl\"\r\n style=\"\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n \"\r\n alt=\"Video Thumbnail\"\r\n />\r\n </ng-container>\r\n <ng-template #loadingVideo>\r\n <span\r\n style=\"\r\n color: #8696a0;\r\n font-size: 12px;\r\n z-index: 1;\r\n \"\r\n >Load Video...</span\r\n >\r\n </ng-template>\r\n <div class=\"play-overlay\">\r\n <svg\r\n viewBox=\"0 0 24 24\"\r\n fill=\"white\"\r\n width=\"24\"\r\n height=\"24\"\r\n >\r\n <path d=\"M8 5v14l11-7z\"></path>\r\n </svg>\r\n </div>\r\n </div>\r\n <img\r\n *ngIf=\"card.header?.type !== 'VIDEO'\"\r\n class=\"card-header-image\"\r\n [src]=\"card.header?.url || card.headerURL\"\r\n alt=\"Carousel Header Media\"\r\n />\r\n </ng-container>\r\n\r\n <div class=\"card-body-content\">\r\n <p\r\n *ngIf=\"card.body?.text || card.bodyText\"\r\n class=\"card-text\"\r\n >\r\n {{ card.body?.text || card.bodyText }}\r\n </p>\r\n </div>\r\n\r\n <section\r\n *ngIf=\"card.buttons?.length > 0 || card.button?.length > 0\"\r\n class=\"card-buttons-wrapper\"\r\n >\r\n <div\r\n *ngFor=\"let btn of card.buttons || card.button\"\r\n class=\"card-button\"\r\n >\r\n <ng-container\r\n [ngSwitch]=\"\r\n btn?.type || btn?.actionType || 'QUICK_REPLY'\r\n \"\r\n >\r\n <svg\r\n *ngSwitchCase=\"'QUICK_REPLY'\"\r\n width=\"15\"\r\n height=\"15\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"#00a884\"\r\n stroke-width=\"2.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n >\r\n <path d=\"M9 14 4 9l5-5\" />\r\n <path d=\"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5v3.5\" />\r\n </svg>\r\n <svg\r\n *ngSwitchCase=\"'URL'\"\r\n width=\"15\"\r\n height=\"15\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"#00a884\"\r\n stroke-width=\"2.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n >\r\n <path\r\n d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\r\n ></path>\r\n <polyline points=\"15 3 21 3 21 9\"></polyline>\r\n <line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line>\r\n </svg>\r\n <svg\r\n *ngSwitchDefault\r\n width=\"15\"\r\n height=\"15\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"#00a884\"\r\n stroke-width=\"2.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n >\r\n <path d=\"M9 14 4 9l5-5\" />\r\n <path d=\"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5v3.5\" />\r\n </svg>\r\n </ng-container>\r\n\r\n <p class=\"text-center btn-text\">\r\n {{ btn?.text || btn?.type || 'Button' }}\r\n </p>\r\n </div>\r\n </section>\r\n </div>\r\n </div>\r\n <!-- Dot Indicators -->\r\n <div\r\n *ngIf=\"getTemplate?.carousel?.length > 1\"\r\n class=\"wa-carousel-indicators\"\r\n >\r\n <div\r\n *ngFor=\"let card of getTemplate?.carousel; let i = index\"\r\n class=\"dot\"\r\n [style.background-color]=\"i === 0 ? '#8696a0' : '#d1d7db'\"\r\n ></div>\r\n </div>\r\n </div>\r\n <!-- Modal Video Custom -->\r\n <div\r\n class=\"custom-video-modal\"\r\n *ngIf=\"showVideoModal\"\r\n (click)=\"closeVideo()\"\r\n >\r\n <button\r\n type=\"button\"\r\n class=\"close-btn\"\r\n (click)=\"closeVideo()\"\r\n aria-label=\"Close modal\"\r\n >\r\n <svg\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"white\"\r\n stroke-width=\"2\"\r\n width=\"28\"\r\n height=\"28\"\r\n >\r\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line>\r\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line>\r\n </svg>\r\n </button>\r\n <div class=\"modal-content-wrapper\" (click)=\"$event.stopPropagation()\">\r\n <video\r\n [src]=\"currentVideoUrl\"\r\n controls\r\n autoplay\r\n playsinline\r\n ></video>\r\n </div>\r\n </div>\r\n <!-- ========================================== -->\r\n </div>\r\n </section>\r\n\r\n <section *ngIf=\"form.get('medium').value === 'LINE'\" class=\"campaign-preview__line\">\r\n <div class=\"header-preview\">\r\n <div class=\"heading\">\r\n {{ getHeader }}\r\n </div>\r\n </div>\r\n <div class=\"body-preview\">\r\n <section *ngIf=\"isText || !isJSON\" class=\"chat\">\r\n <p class=\"body my-2\" [innerHTML]=\"getBody\"></p>\r\n </section>\r\n\r\n <section\r\n *ngIf=\"['buttons', 'confirm'].includes(getTemplateLine?.type)\"\r\n class=\"chat\"\r\n [ngClass]=\"{ 'no-bottom-border': getTemplateLine?.actions?.length > 0 }\"\r\n >\r\n <img\r\n *ngIf=\"getTemplateLine?.thumbnailImageUrl\"\r\n style=\"max-width: 100%\"\r\n class=\"mb-1\"\r\n [src]=\"getTemplateLine?.thumbnailImageUrl\"\r\n />\r\n\r\n <p\r\n *ngIf=\"getTemplateLine?.title\"\r\n class=\"font-PoppinsBold mb-1\"\r\n [innerHTML]=\"getTemplateLine?.title\"\r\n ></p>\r\n\r\n <p\r\n *ngIf=\"getTemplateLine?.text\"\r\n class=\"mb-0\"\r\n [innerHTML]=\"getTemplateLine?.text\"\r\n ></p>\r\n </section>\r\n <div\r\n *ngIf=\"['carousel'].includes(getTemplateLine?.type)\"\r\n class=\"d-flex gap-2 overflow-auto\"\r\n >\r\n <div *ngFor=\"let column of getTemplateLine?.columns\">\r\n <section\r\n class=\"chat w-100\"\r\n [ngClass]=\"{ 'no-bottom-border': column?.actions?.length > 0 }\"\r\n >\r\n <img\r\n *ngIf=\"column.thumbnailImageUrl\"\r\n style=\"max-width: 100%\"\r\n class=\"mb-1\"\r\n [src]=\"column.thumbnailImageUrl\"\r\n />\r\n\r\n <p\r\n *ngIf=\"column.title\"\r\n class=\"font-PoppinsBold mb-1\"\r\n [innerHTML]=\"column.title\"\r\n ></p>\r\n\r\n <p\r\n *ngIf=\"column.text\"\r\n class=\"mb-0\"\r\n [innerHTML]=\"column.text\"\r\n ></p>\r\n </section>\r\n <section *ngIf=\"column?.actions?.length > 0\">\r\n <div\r\n *ngFor=\"let button of column?.actions\"\r\n class=\"params-btn mw-100 pb-0 pointer\"\r\n >\r\n <p class=\"mb-0\">\r\n {{ button?.text }}\r\n </p>\r\n </div>\r\n </section>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"['image_carousel'].includes(getTemplateLine?.type)\"\r\n class=\"d-flex gap-2 overflow-auto\"\r\n >\r\n <div *ngFor=\"let column of getTemplateLine?.columns\">\r\n <div class=\"image-container\">\r\n <img [src]=\"column.imageUrl\" alt=\"image\" />\r\n\r\n <div class=\"d-flex justify-content-center\">\r\n <p class=\"font-13px overlay-text\">\r\n {{ column.action.label }}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <section\r\n *ngIf=\"\r\n getTemplateLine?.type !== 'confirm' &&\r\n getTemplateLine?.actions?.length > 0\r\n \"\r\n >\r\n <div\r\n *ngFor=\"let button of getTemplateLine?.actions\"\r\n class=\"params-btn pb-0 pointer\"\r\n >\r\n <p class=\"mb-0\">\r\n {{ button?.text }}\r\n </p>\r\n </div>\r\n </section>\r\n <section\r\n *ngIf=\"\r\n getTemplateLine?.type === 'confirm' &&\r\n getTemplateLine?.actions?.length > 0\r\n \"\r\n class=\"d-flex justify-content-around mw-70 bg-white\"\r\n >\r\n <div\r\n *ngFor=\"let button of getTemplateLine?.actions\"\r\n class=\"params-btn flex pb-0 pointer\"\r\n >\r\n <p class=\"mb-0\">\r\n {{ button?.text }}\r\n </p>\r\n </div>\r\n </section>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n <div class=\"d-flex\" style=\"flex-direction: column\">\r\n <span\r\n *ngIf=\"form.get('medium').value === 'SMS'\"\r\n style=\"text-align: right; width: 100%\"\r\n >\r\n {{ twilioResultCounter.fulltext }}\r\n </span>\r\n <span\r\n style=\"text-align: right; width: 100%; color: red\"\r\n *ngIf=\"twilioResultCounter.segments > 10 && form.get('medium').value === 'SMS'\"\r\n >\r\n Maximum Segment is 10\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n<ng-template #isSpinner>\r\n <div class=\"text-center my-auto\">\r\n <img src=\"../../../../../assets/images/spinner.svg\" />\r\n </div>\r\n</ng-template>\r\n",
199
+ styles: [".campaign-info{display:flex;justify-content:space-between;align-items:flex-start;gap:40px}.campaign-info-child{flex:1;min-width:49%}.campaign-info-child mat-card{width:100%}.campaign-info .asterix--after:after{content:\"*\";color:red}.campaign-info .pl-20px{padding-left:20px}.campaign-info .mw-70{max-width:70%}.campaign-info .campaign-preview{width:100%;max-width:550px;flex-shrink:0}.campaign-info .campaign-preview .header-preview{padding:15px;min-height:60px;border-radius:10px 10px 0 0}.campaign-info .campaign-preview .header-preview .heading{width:100%;color:#e0e0e0;margin-left:5px;font-size:20px}.campaign-info .campaign-preview .body-preview{padding:15px;min-height:470px}.campaign-info .campaign-preview .body-preview .chat{width:90%;padding:11px;font-size:14px;line-height:22px;color:#494949;border-radius:8px;background:#fff;overflow-wrap:break-word;white-space:pre-line;box-shadow:12px 12px 20px rgba(44,59,113,.04);margin-left:auto}.campaign-info .campaign-preview .body-preview .chat .body{max-height:400px;overflow-y:auto;overscroll-behavior-y:contain}.campaign-info .campaign-preview .body-preview .chat.no-bottom-border{border-bottom-left-radius:0;border-bottom-right-radius:0}.campaign-info .campaign-preview__wa .header-preview{background:#065f54}.campaign-info .campaign-preview__wa .body-preview{border-bottom-left-radius:8px;border-bottom-right-radius:8px;background-image:url(../../../../assets/svg/whatsapp-bg.svg);background-position:center;background-repeat:no-repeat;background-size:cover}.campaign-info .campaign-preview__wa .body-preview .params-btn{width:auto;max-width:100%;color:#34b7f1;background:#fff;box-shadow:12px 12px 20px rgba(44,59,113,.04);border-radius:0;font-size:16px;line-height:43px;padding:0;text-align:center;font-family:Poppins;overflow-wrap:break-word}.campaign-info .campaign-preview__wa .body-preview .params-btn b{font-family:PoppinsBold}.campaign-info .campaign-preview__line .header-preview{background:#273046}.campaign-info .campaign-preview__line .body-preview{background:#7692bf;border-bottom-left-radius:8px;border-bottom-right-radius:8px}.campaign-info .campaign-preview__line .body-preview .params-btn{width:auto;max-width:70%;color:#34b7f1;background:#fff;box-shadow:12px 12px 20px rgba(44,59,113,.04);border-radius:0;font-size:16px;line-height:43px;padding:0;text-align:center;font-family:Poppins;overflow-wrap:break-word}.campaign-info .campaign-preview__line .body-preview .params-btn b{font-family:PoppinsBold}.campaign-info .campaign-preview__line .body-preview .image-container{position:relative;width:200px;height:200px}.campaign-info .campaign-preview__line .body-preview .image-container img{display:block;width:100%;height:100%}.campaign-info .campaign-preview__line .body-preview .image-container .overlay-text{top:170px;position:absolute;padding:2px 5px;color:#fff;background-color:rgba(49,57,60,.62);border-radius:10px}.campaign-info .campaign-border-preview{width:100%;min-height:100px;padding:32px;border:1px solid #e2e2e2;border-radius:8px}.wa-carousel-container{width:100%}.wa-carousel-container .wa-carousel-scroll{width:100%;padding-right:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-ms-overflow-style:none;scrollbar-width:none}.wa-carousel-container .wa-carousel-scroll::-webkit-scrollbar{display:none}.wa-carousel-container .wa-carousel-card{min-width:220px;flex-shrink:0;padding:0;overflow:hidden;background:#fff;border-radius:12px;border:1px solid #d1d7db;display:flex;flex-direction:column;scroll-snap-align:start}.wa-carousel-container .wa-carousel-card .card-header-image{width:100%;height:130px;-o-object-fit:cover;object-fit:cover;background:#e0e0e0}.wa-carousel-container .wa-carousel-card .card-body-content{padding:12px;flex-grow:1}.wa-carousel-container .wa-carousel-card .card-body-content .card-text{white-space:pre-wrap;font-size:12px;color:#111b21;margin:0}.wa-carousel-container .wa-carousel-card .card-buttons-wrapper{width:100%}.wa-carousel-container .wa-carousel-card .card-buttons-wrapper .card-button{border-top:1px solid #f0f2f5;width:100%;padding:8px 0;background:#fff;display:flex;justify-content:center;align-items:center;gap:8px;cursor:pointer}.wa-carousel-container .wa-carousel-card .card-buttons-wrapper .card-button .btn-text{color:#00a884;font-size:12px;font-weight:500;margin-bottom:0}.wa-carousel-container .wa-carousel-indicators{display:flex;justify-content:center;gap:6px;padding:10px 0}.wa-carousel-container .wa-carousel-indicators .dot{width:6px;height:6px;border-radius:50%;transition:background-color .3s}.wa-carousel-video-thumbnail{position:relative;width:100%;height:160px;background-color:#e4e6e7;display:flex;align-items:center;justify-content:center;overflow:hidden;border-top-left-radius:inherit;border-top-right-radius:inherit}.wa-carousel-video-thumbnail .poster-image{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.wa-carousel-video-thumbnail .loading-text{color:#8696a0;font-size:12px;z-index:1}.wa-carousel-video-thumbnail .play-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;width:48px;height:48px;background-color:rgba(0,0,0,.6);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s ease-in-out}.wa-carousel-video-thumbnail .play-overlay svg{margin-left:2px}.wa-carousel-video-thumbnail .play-overlay:hover{background-color:rgba(0,0,0,.8);transform:translate(-50%,-50%) scale(1.1)}.wa-carousel-video-thumbnail .play-overlay:active{transform:translate(-50%,-50%) scale(.95)}.custom-video-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.9);z-index:99999;display:flex;align-items:center;justify-content:center}.custom-video-modal .close-btn{position:absolute;top:20px;right:20px;background:rgba(255,255,255,.2);border:none;border-radius:50%;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;z-index:2;transition:background .2s}.custom-video-modal .close-btn:hover{background:rgba(255,255,255,.4)}.custom-video-modal .modal-content-wrapper{max-width:90%;max-height:90%;display:flex;align-items:center;justify-content:center}.custom-video-modal .modal-content-wrapper video{max-width:100%;max-height:85vh;outline:0;box-shadow:0 4px 20px rgba(0,0,0,.5);border-radius:8px;background-color:#000}"]
186
200
  })
187
201
  ], GeneralInformationComponent);
188
202
  export { GeneralInformationComponent };
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbC1pbmZvcm1hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRsZmUvY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kdWxlcy9uZXctY2FtcGFpZ24vZ2VuZXJhbC1pbmZvcm1hdGlvbi9nZW5lcmFsLWluZm9ybWF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUNILHdDQUF3QyxFQUN4QyxtQkFBbUIsR0FDdEIsTUFBTSx3QkFBd0IsQ0FBQztBQWVoQyxJQUFhLDJCQUEyQixHQUF4QyxNQUFhLDJCQUEyQjtJQXlCcEMsWUFBb0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQWZwQyxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUNqQyxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBQ3BDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFHNUIsd0JBQW1CLEdBQUc7WUFDekIsUUFBUSxFQUFFLENBQUM7WUFDWCxVQUFVLEVBQUUsQ0FBQztZQUNiLFFBQVEsRUFBRSxFQUFFO1lBQ1osUUFBUSxFQUFFLGdDQUFnQztTQUM3QyxDQUFDO1FBd0tLLHlCQUFvQixHQUFHLEdBQVMsRUFBRTs7WUFDckMsTUFBTSxhQUFhLFNBQUcsSUFBSSxDQUFDLHNCQUFzQiwwQ0FB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Vyw0Q0FBSSxTQUFTLENBQUM7SUFDaEYsQ0FBQztJQUVPLGdCQUFnQixDQUFDLFVBQVU7UUFDL0IsT0FBTyxVQUFVO2FBQ1osVUFBVSxDQUFDLGdCQUFnQixFQUFFLGVBQWUsQ0FBQzthQUM3QyxVQUFVLENBQUMsc0JBQXNCLEVBQUUscUJBQXFCLENBQUM7YUFDekQsVUFBVSxDQUFDLGdDQUFnQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzFELENBQUM7Q0FxQ0osQ0FBQTs7WUF2TWtDLFlBQVk7O0FBdkIzQztJQURDLE1BQU0sRUFBRTt1RUFJTjtBQWtCTTtJQUFSLEtBQUssRUFBRTttRUFBZ0M7QUF2Qi9CLDJCQUEyQjtJQUx2QyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsc0NBQXNDO1FBQ2hELDZvMUJBQW1EOztLQUV0RCxDQUFDO0dBQ1csMkJBQTJCLENBZ092QztTQWhPWSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBTZWdtZW50ZWRNZXNzYWdlIH0gZnJvbSAnc21zLXNlZ21lbnRzLWNhbGN1bGF0b3InO1xyXG5pbXBvcnQge1xyXG4gICAgR2VuZXJhbEluZm9ybWF0aW9uTWVzc2FnZVZhbGlkYXRpb25Db25zdCxcclxuICAgIFBsYXRmb3JtT3B0aW9uQ29uc3QsXHJcbn0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9jb25zdCc7XHJcblxyXG5pbnRlcmZhY2UgSU1hcHMge1xyXG4gICAgem9vbTogbnVtYmVyO1xyXG4gICAgbGF0aXR1ZGU6IG51bWJlcjtcclxuICAgIGxvbmdpdHVkZTogbnVtYmVyO1xyXG4gICAgaXNEcmFnZ2FibGU6IGJvb2xlYW47XHJcbiAgICBpc0RvdWJsZUNsaWNrWm9vbTogYm9vbGVhbjtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2xpYi1uZXctY2FtcGFpZ24tZ2VuZXJhbC1pbmZvcm1hdGlvbicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZ2VuZXJhbC1pbmZvcm1hdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9nZW5lcmFsLWluZm9ybWF0aW9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHZW5lcmFsSW5mb3JtYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgZ2VuZXJhbEluZm9ybWF0aW9uOiBFdmVudEVtaXR0ZXI8e1xyXG4gICAgICAgIHBhcmVudDogRm9ybUdyb3VwO1xyXG4gICAgICAgIGNoaWxkOiBGb3JtR3JvdXA7XHJcbiAgICB9PjtcclxuXHJcbiAgICBwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xyXG4gICAgcHVibGljIGNoYW5uZWxPcHRpb246IGFueVtdO1xyXG4gICAgcHVibGljIGdlbmVyYWxJbmZvcm1hdGlvbkZvcm06IEZvcm1Hcm91cDtcclxuICAgIHB1YmxpYyBpc1RvdWNoZWRXQUZvcm06IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBpc1RvdWNoZWRTTVNGb3JtOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaXNUb3VjaGVkRW1haWxGb3JtOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaXNTaG93TW9yZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIHZhbGlkYXRpb25NZXNzYWdlczogYW55O1xyXG4gICAgcHVibGljIG1hcHM6IElNYXBzO1xyXG4gICAgcHVibGljIHR3aWxpb1Jlc3VsdENvdW50ZXIgPSB7XHJcbiAgICAgICAgc2VnbWVudHM6IDAsXHJcbiAgICAgICAgY2hhcmFjdGVyczogMCxcclxuICAgICAgICBlbmNvZGluZzogJycsXHJcbiAgICAgICAgZnVsbHRleHQ6IGBFbmNvZGUgLSAvIENoYXJzIDAgLyBTZWdtZW50IDFgLFxyXG4gICAgfTtcclxuXHJcbiAgICBASW5wdXQoKSBwdWJsaWMgaXNSZWFkT25seU1vZGU6IGJvb2xlYW47XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xyXG4gICAgICAgIHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY2hhbm5lbE9wdGlvbiA9IFBsYXRmb3JtT3B0aW9uQ29uc3Q7XHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9uTWVzc2FnZXMgPSBHZW5lcmFsSW5mb3JtYXRpb25NZXNzYWdlVmFsaWRhdGlvbkNvbnN0O1xyXG4gICAgICAgIHRoaXMubWFwcyA9IHtcclxuICAgICAgICAgICAgem9vbTogMTUsXHJcbiAgICAgICAgICAgIGxhdGl0dWRlOiBudWxsLFxyXG4gICAgICAgICAgICBsb25naXR1ZGU6IG51bGwsXHJcbiAgICAgICAgICAgIGlzRHJhZ2dhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICBpc0RvdWJsZUNsaWNrWm9vbTogdHJ1ZSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmluaXRGb3JtKCk7XHJcbiAgICAgICAgdGhpcy5pbml0RWRpdCgpO1xyXG4gICAgICAgIHRoaXMuaW5pdERpc2FibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGluaXRGb3JtKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgICAgICAgICBpZDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgICAgICAgICBjYW1wYWlnbk5hbWU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTAwKV0pLFxyXG4gICAgICAgICAgICBtZWRpdW06IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNUb3VjaGVkV0FGb3JtID0gIXRoaXMuaXNUb3VjaGVkV0FGb3JtO1xyXG4gICAgICAgICAgICB0aGlzLmlzVG91Y2hlZFNNU0Zvcm0gPSAhdGhpcy5pc1RvdWNoZWRTTVNGb3JtO1xyXG4gICAgICAgICAgICB0aGlzLmlzVG91Y2hlZEVtYWlsRm9ybSA9ICF0aGlzLmlzVG91Y2hlZEVtYWlsRm9ybTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uLmVtaXQoe1xyXG4gICAgICAgICAgICAgICAgcGFyZW50OiB0aGlzLmZvcm0sXHJcbiAgICAgICAgICAgICAgICBjaGlsZDogdGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMub25DaGVja1R3aWxpb0NvdW50ZXIoKTtcclxuICAgICAgICB9LCA0MDApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5pdEVkaXQoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgY2FtcGFpZ24gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndGVsaW4uY2FtcGFpZ24nKVxyXG4gICAgICAgICAgICA/IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3RlbGluLmNhbXBhaWduJykpXHJcbiAgICAgICAgICAgIDoge307XHJcblxyXG4gICAgICAgIGlmIChPYmplY3QuZW50cmllcyhjYW1wYWlnbikubGVuZ3RoID09PSAwKSByZXR1cm47XHJcblxyXG4gICAgICAgIHRoaXMuZm9ybS5nZXQoJ2lkJykuc2V0VmFsdWUoY2FtcGFpZ24/LmdlbmVyYWxJbmZvcm1hdGlvbj8uaWQpO1xyXG4gICAgICAgIHRoaXMuZm9ybS5nZXQoJ2NhbXBhaWduTmFtZScpLnNldFZhbHVlKGNhbXBhaWduPy5nZW5lcmFsSW5mb3JtYXRpb24/LmZvcm0uY2FtcGFpZ25OYW1lKTtcclxuICAgICAgICB0aGlzLmZvcm0uZ2V0KCdtZWRpdW0nKS5zZXRWYWx1ZShjYW1wYWlnbj8uZ2VuZXJhbEluZm9ybWF0aW9uPy5mb3JtLm1lZGl1bSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpbml0RGlzYWJsZSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuaXNSZWFkT25seU1vZGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5mb3JtLmRpc2FibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdXBkYXRlR2VuZXJhbEluZm9ybWF0aW9uRm9ybShmb3JtOiBGb3JtR3JvdXApOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0gPSBmb3JtO1xyXG4gICAgICAgIHRoaXMuaXNTaG93TW9yZSA9IGZhbHNlO1xyXG5cclxuICAgICAgICB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbi5lbWl0KHtcclxuICAgICAgICAgICAgcGFyZW50OiB0aGlzLmZvcm0sXHJcbiAgICAgICAgICAgIGNoaWxkOiB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0sXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmdldE1lZGlhID09PSAnTE9DQVRJT04nKSB0aGlzLmdldExvY2F0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGdldEhlYWRlcigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0/LmdldFJhd1ZhbHVlKCk/LmZyb20/Lm5hbWUgfHwgJyc7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGdldEJvZHlTdHJpbmcoKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBib2R5ID1cclxuICAgICAgICAgICAgdGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy50ZXh0IHx8XHJcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybT8uZ2V0UmF3VmFsdWUoKT8udGVtcGxhdGU/LmJvZHk/LnRleHQgfHxcclxuICAgICAgICAgICAgdGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy5ib2R5Py50ZXh0O1xyXG5cclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICBib2R5XHJcbiAgICAgICAgICAgICAgICA/LnNwbGl0KC9cXFxcbnxcXG4vKVxyXG4gICAgICAgICAgICAgICAgLmpvaW4oJzxiciAvPicpXHJcbiAgICAgICAgICAgICAgICAuc3BsaXQoL1xcXFx0fFxcdC8pXHJcbiAgICAgICAgICAgICAgICAuam9pbignICAgICcpID8/ICcnXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZ2V0Qm9keSgpOiBhbnkge1xyXG4gICAgICAgIGNvbnN0IGJvZHkgPVxyXG4gICAgICAgICAgICB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0/LmdldFJhd1ZhbHVlKCk/LnRleHQgfHxcclxuICAgICAgICAgICAgdGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy50ZW1wbGF0ZT8uYm9keT8udGV4dCB8fFxyXG4gICAgICAgICAgICB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0/LmdldFJhd1ZhbHVlKCk/LmJvZHk/LnRleHQ7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChcclxuICAgICAgICAgICAgdGhpcy5maXhHZW5lcmF0ZWRIdG1sKFxyXG4gICAgICAgICAgICAgICAgYm9keVxyXG4gICAgICAgICAgICAgICAgICAgID8uc3BsaXQoL1xcXFxufFxcbi8pXHJcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oJzxiciAvPicpXHJcbiAgICAgICAgICAgICAgICAgICAgLnNwbGl0KC9cXFxcdHxcXHQvKVxyXG4gICAgICAgICAgICAgICAgICAgIC5qb2luKCcgICAgJykgPz8gJydcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGdldE1lZGlhKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybT8uZ2V0UmF3VmFsdWUoKT8ubWVkaWEgfHwgJyc7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGdldFRlbXBsYXRlKCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybT8uZ2V0UmF3VmFsdWUoKT8udGVtcGxhdGUgfHwge307XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGdldFRlbXBsYXRlQnV0dG9uKCk6IGFueSB7XHJcbiAgICAgICAgY29uc3QgbGltaXQgPVxyXG4gICAgICAgICAgICAhdGhpcy5pc1Nob3dNb3JlICYmIHRoaXMuZ2V0VGVtcGxhdGU/LmJ1dHRvbnM/Lmxlbmd0aCA+IDNcclxuICAgICAgICAgICAgICAgID8gMlxyXG4gICAgICAgICAgICAgICAgOiB0aGlzLmdldFRlbXBsYXRlPy5idXR0b25zPy5sZW5ndGg7XHJcblxyXG4gICAgICAgIHJldHVybiBbLi4udGhpcy5nZXRUZW1wbGF0ZT8uYnV0dG9uc10uc3BsaWNlKDAsIGxpbWl0KSB8fCBbXTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZGlzcGxheUZpbGUoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAoXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0/LmdldFJhd1ZhbHVlKCk/LnRhcmdldFVSTCB8fFxyXG4gICAgICAgICAgICAgICAgdGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy50ZW1wbGF0ZT8uaGVhZGVyPy51cmxcclxuICAgICAgICAgICAgKT8ucmVwbGFjZSgnYWRsc2FuZGJveC5jb20nLCAnYWRsc2FuZGJveC5uZXQnKSA/PyAnJ1xyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyogTElORSAqL1xyXG4gICAgZ2V0IGlzVGV4dCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy5jaGFubmVsID09PSAnVEVYVCc7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGlzSlNPTigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy5pc0pTT047XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGdldFRlbXBsYXRlTGluZSgpOiBhbnkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmlzSlNPTlxyXG4gICAgICAgICAgICA/IEpTT04ucGFyc2UodGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy50ZW1wbGF0ZT8uYm9keT8udGV4dClcclxuICAgICAgICAgICAgOiB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0/LmdldFJhd1ZhbHVlKCk/LnRlbXBsYXRlPy5ib2R5Py50ZXh0O1xyXG4gICAgfVxyXG4gICAgLyogLi8gTElORSAqL1xyXG5cclxuICAgIHByaXZhdGUgZ2V0TG9jYXRpb24oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5tYXBzLmxhdGl0dWRlID0gdGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy5sYXRpdHVkZTtcclxuICAgICAgICB0aGlzLm1hcHMubG9uZ2l0dWRlID0gdGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy5sb25naXR1ZGU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBmaXhHZW5lcmF0ZWRIdG1sKGh0bWxTdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gaHRtbFN0cmluZ1xyXG4gICAgICAgICAgICAucmVwbGFjZUFsbCgvZGl2IHNyYz1cImh0dHAvZywgJ2ltZyBzcmM9XCJodHRwJylcclxuICAgICAgICAgICAgLnJlcGxhY2VBbGwoL2RpdiBzcmM9XCJkYXRhOmltYWdlL2csICdpbWcgc3JjPVwiZGF0YTppbWFnZScpXHJcbiAgICAgICAgICAgIC5yZXBsYWNlQWxsKC9EcmFnIGFuZCBkcm9wIHlvdXIgaW1hZ2UgaGVyZS9nLCAnJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uQ2hlY2tUd2lsaW9Db3VudGVyID0gKCk6IHZvaWQgPT4ge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlc0dlbmVyYWwgPSB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0/LmdldFJhd1ZhbHVlKCk7XHJcbiAgICAgICAgaWYgKHZhbHVlc0dlbmVyYWw/LmNoYW5uZWwgPT09ICdURVhUJykge1xyXG4gICAgICAgICAgICBjb25zdCBzZWdtZW50ZWRNZXNzYWdlID0gbmV3IFNlZ21lbnRlZE1lc3NhZ2UodGhpcy5nZXRCb2R5U3RyaW5nKTtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0ge1xyXG4gICAgICAgICAgICAgICAgc2VnbWVudHM6IHNlZ21lbnRlZE1lc3NhZ2Uuc2VnbWVudHNDb3VudCxcclxuICAgICAgICAgICAgICAgIGVuY29kaW5nOiBzZWdtZW50ZWRNZXNzYWdlLmVuY29kaW5nTmFtZSxcclxuICAgICAgICAgICAgICAgIGNoYXJhY3RlcnM6IHNlZ21lbnRlZE1lc3NhZ2UubnVtYmVyT2ZVbmljb2RlU2NhbGFycyxcclxuICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMudHdpbGlvUmVzdWx0Q291bnRlciA9IHtcclxuICAgICAgICAgICAgICAgIC4uLnJlc3VsdCxcclxuICAgICAgICAgICAgICAgIGZ1bGx0ZXh0OiBgRW5jb2RlICR7cmVzdWx0LmVuY29kaW5nfSAvIENoYXJzICR7cmVzdWx0LmNoYXJhY3RlcnN9IC8gU2VnbWVudCAke3Jlc3VsdC5zZWdtZW50c31gLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGxldCB2YWx1ZVJlc3VsdCA9IHRoaXMuZ2V0Qm9keVN0cmluZztcclxuICAgICAgICAgICAgQXJyYXkuZnJvbSh2YWx1ZXNHZW5lcmFsPy50ZW1wbGF0ZT8uYm9keT8uZXhhbXBsZXMgfHwgW10pLm1hcCgoZW50cnksIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwbGFjZWhvbGRlciA9IGB7eyR7ZW50cnl9fX1gO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB2YWx1ZXNHZW5lcmFsLnBhcmFtQm9keVtpbmRleF0/Lm5hbWU7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZVJlc3VsdCA9IHZhbHVlUmVzdWx0LnNwbGl0KHBsYWNlaG9sZGVyKS5qb2luKHZhbHVlKTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBzZWdtZW50ZWRNZXNzYWdlID0gbmV3IFNlZ21lbnRlZE1lc3NhZ2UodmFsdWVSZXN1bHQpO1xyXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSB7XHJcbiAgICAgICAgICAgICAgICBzZWdtZW50czogc2VnbWVudGVkTWVzc2FnZS5zZWdtZW50c0NvdW50LFxyXG4gICAgICAgICAgICAgICAgZW5jb2Rpbmc6IHNlZ21lbnRlZE1lc3NhZ2UuZW5jb2RpbmdOYW1lLFxyXG4gICAgICAgICAgICAgICAgY2hhcmFjdGVyczogc2VnbWVudGVkTWVzc2FnZS5udW1iZXJPZlVuaWNvZGVTY2FsYXJzLFxyXG4gICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgdGhpcy50d2lsaW9SZXN1bHRDb3VudGVyID0ge1xyXG4gICAgICAgICAgICAgICAgLi4ucmVzdWx0LFxyXG4gICAgICAgICAgICAgICAgZnVsbHRleHQ6IGBFbmNvZGUgJHtyZXN1bHQuZW5jb2Rpbmd9IC8gQ2hhcnMgJHtyZXN1bHQuY2hhcmFjdGVyc30gLyBTZWdtZW50ICR7cmVzdWx0LnNlZ21lbnRzfWAsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxufVxyXG4iXX0=
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbC1pbmZvcm1hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRsZmUvY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kdWxlcy9uZXctY2FtcGFpZ24vZ2VuZXJhbC1pbmZvcm1hdGlvbi9nZW5lcmFsLWluZm9ybWF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUNILHdDQUF3QyxFQUN4QyxtQkFBbUIsR0FDdEIsTUFBTSx3QkFBd0IsQ0FBQztBQWVoQyxJQUFhLDJCQUEyQixHQUF4QyxNQUFhLDJCQUEyQjtJQTJCcEMsWUFBb0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQWpCcEMsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFDakMscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUNwQyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBRzVCLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLG9CQUFlLEdBQVcsRUFBRSxDQUFDO1FBQzdCLHdCQUFtQixHQUFHO1lBQ3pCLFFBQVEsRUFBRSxDQUFDO1lBQ1gsVUFBVSxFQUFFLENBQUM7WUFDYixRQUFRLEVBQUUsRUFBRTtZQUNaLFFBQVEsRUFBRSxnQ0FBZ0M7U0FDN0MsQ0FBQztRQXFMSyx5QkFBb0IsR0FB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SUFBSSxlQUFlOztRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU07WUFDZCxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUsseUJBQUMsSUFBSSxDQUFDLHNCQUFzQiwwQ0FBRSxXQUFXLDRDQUFJLFFBQVEsMENBQUUsSUFBSSwwQ0FBRSxJQUFJLENBQUM7WUFDOUUsQ0FBQyx5QkFBQyxJQUFJLENBQUMsc0JBQXNCLDBDQUFFLFdBQVcsNENBQUksUUFBUSwwQ0FBRSxJQUFJLDBDQUFFLElBQUksQ0FBQztJQUMzRSxDQUFDO0lBQ0QsYUFBYTtJQUVMLFdBQVc7O1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLGVBQUcsSUFBSSxDQUFDLHNCQUFzQiwwQ0FBRSxXQUFXLDRDQUFJLFFBQVEsQ0FBQztRQUMxRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsZUFBRyxJQUFJLENBQUMsc0JBQXNCLDBDQUFFLFdBQVcsNENBQUksU0FBUyxDQUFDO0lBQ2hGLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxVQUFVO1FBQy9CLE9BQU8sVUFBVTthQUNaLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLENBQUM7YUFDN0MsVUFBVSxDQUFDLHNCQUFzQixFQUFFLHFCQUFxQixDQUFDO2FBQ3pELFVBQVUsQ0FBQyxnQ0FBZ0MsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDO0NBcUNKLENBQUE7O1lBcE5rQyxZQUFZOztBQXpCM0M7SUFEQyxNQUFNLEVBQUU7dUVBSU47QUFvQk07SUFBUixLQUFLLEVBQUU7bUVBQWdDO0FBekIvQiwyQkFBMkI7SUFMdkMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLHNDQUFzQztRQUNoRCwwamdDQUFtRDs7S0FFdEQsQ0FBQztHQUNXLDJCQUEyQixDQStPdkM7U0EvT1ksMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgU2VnbWVudGVkTWVzc2FnZSB9IGZyb20gJ3Ntcy1zZWdtZW50cy1jYWxjdWxhdG9yJztcclxuaW1wb3J0IHtcclxuICAgIEdlbmVyYWxJbmZvcm1hdGlvbk1lc3NhZ2VWYWxpZGF0aW9uQ29uc3QsXHJcbiAgICBQbGF0Zm9ybU9wdGlvbkNvbnN0LFxyXG59IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvY29uc3QnO1xyXG5cclxuaW50ZXJmYWNlIElNYXBzIHtcclxuICAgIHpvb206IG51bWJlcjtcclxuICAgIGxhdGl0dWRlOiBudW1iZXI7XHJcbiAgICBsb25naXR1ZGU6IG51bWJlcjtcclxuICAgIGlzRHJhZ2dhYmxlOiBib29sZWFuO1xyXG4gICAgaXNEb3VibGVDbGlja1pvb206IGJvb2xlYW47XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdsaWItbmV3LWNhbXBhaWduLWdlbmVyYWwtaW5mb3JtYXRpb24nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2dlbmVyYWwtaW5mb3JtYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZ2VuZXJhbC1pbmZvcm1hdGlvbi5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR2VuZXJhbEluZm9ybWF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGdlbmVyYWxJbmZvcm1hdGlvbjogRXZlbnRFbWl0dGVyPHtcclxuICAgICAgICBwYXJlbnQ6IEZvcm1Hcm91cDtcclxuICAgICAgICBjaGlsZDogRm9ybUdyb3VwO1xyXG4gICAgfT47XHJcblxyXG4gICAgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcclxuICAgIHB1YmxpYyBjaGFubmVsT3B0aW9uOiBhbnlbXTtcclxuICAgIHB1YmxpYyBnZW5lcmFsSW5mb3JtYXRpb25Gb3JtOiBGb3JtR3JvdXA7XHJcbiAgICBwdWJsaWMgaXNUb3VjaGVkV0FGb3JtOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaXNUb3VjaGVkU01TRm9ybTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGlzVG91Y2hlZEVtYWlsRm9ybTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGlzU2hvd01vcmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyB2YWxpZGF0aW9uTWVzc2FnZXM6IGFueTtcclxuICAgIHB1YmxpYyBtYXBzOiBJTWFwcztcclxuICAgIHB1YmxpYyBzaG93VmlkZW9Nb2RhbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGN1cnJlbnRWaWRlb1VybDogc3RyaW5nID0gJyc7XHJcbiAgICBwdWJsaWMgdHdpbGlvUmVzdWx0Q291bnRlciA9IHtcclxuICAgICAgICBzZWdtZW50czogMCxcclxuICAgICAgICBjaGFyYWN0ZXJzOiAwLFxyXG4gICAgICAgIGVuY29kaW5nOiAnJyxcclxuICAgICAgICBmdWxsdGV4dDogYEVuY29kZSAtIC8gQ2hhcnMgMCAvIFNlZ21lbnQgMWAsXHJcbiAgICB9O1xyXG5cclxuICAgIEBJbnB1dCgpIHB1YmxpYyBpc1JlYWRPbmx5TW9kZTogYm9vbGVhbjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7XHJcbiAgICAgICAgdGhpcy5nZW5lcmFsSW5mb3JtYXRpb24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jaGFubmVsT3B0aW9uID0gUGxhdGZvcm1PcHRpb25Db25zdDtcclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25NZXNzYWdlcyA9IEdlbmVyYWxJbmZvcm1hdGlvbk1lc3NhZ2VWYWxpZGF0aW9uQ29uc3Q7XHJcbiAgICAgICAgdGhpcy5tYXBzID0ge1xyXG4gICAgICAgICAgICB6b29tOiAxNSxcclxuICAgICAgICAgICAgbGF0aXR1ZGU6IG51bGwsXHJcbiAgICAgICAgICAgIGxvbmdpdHVkZTogbnVsbCxcclxuICAgICAgICAgICAgaXNEcmFnZ2FibGU6IHRydWUsXHJcbiAgICAgICAgICAgIGlzRG91YmxlQ2xpY2tab29tOiB0cnVlLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuaW5pdEZvcm0oKTtcclxuICAgICAgICB0aGlzLmluaXRFZGl0KCk7XHJcbiAgICAgICAgdGhpcy5pbml0RGlzYWJsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5pdEZvcm0oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5mb3JtID0gbmV3IEZvcm1Hcm91cCh7XHJcbiAgICAgICAgICAgIGlkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgICAgICAgIGNhbXBhaWduTmFtZTogbmV3IEZvcm1Db250cm9sKG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgxMDApXSksXHJcbiAgICAgICAgICAgIG1lZGl1bTogbmV3IEZvcm1Db250cm9sKG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc1RvdWNoZWRXQUZvcm0gPSAhdGhpcy5pc1RvdWNoZWRXQUZvcm07XHJcbiAgICAgICAgICAgIHRoaXMuaXNUb3VjaGVkU01TRm9ybSA9ICF0aGlzLmlzVG91Y2hlZFNNU0Zvcm07XHJcbiAgICAgICAgICAgIHRoaXMuaXNUb3VjaGVkRW1haWxGb3JtID0gIXRoaXMuaXNUb3VjaGVkRW1haWxGb3JtO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5nZW5lcmFsSW5mb3JtYXRpb24uZW1pdCh7XHJcbiAgICAgICAgICAgICAgICBwYXJlbnQ6IHRoaXMuZm9ybSxcclxuICAgICAgICAgICAgICAgIGNoaWxkOiB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0sXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5vbkNoZWNrVHdpbGlvQ291bnRlcigpO1xyXG4gICAgICAgIH0sIDQwMCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpbml0RWRpdCgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBjYW1wYWlnbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd0ZWxpbi5jYW1wYWlnbicpXHJcbiAgICAgICAgICAgID8gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndGVsaW4uY2FtcGFpZ24nKSlcclxuICAgICAgICAgICAgOiB7fTtcclxuXHJcbiAgICAgICAgaWYgKE9iamVjdC5lbnRyaWVzKGNhbXBhaWduKS5sZW5ndGggPT09IDApIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5mb3JtLmdldCgnaWQnKS5zZXRWYWx1ZShjYW1wYWlnbj8uZ2VuZXJhbEluZm9ybWF0aW9uPy5pZCk7XHJcbiAgICAgICAgdGhpcy5mb3JtLmdldCgnY2FtcGFpZ25OYW1lJykuc2V0VmFsdWUoY2FtcGFpZ24/LmdlbmVyYWxJbmZvcm1hdGlvbj8uZm9ybS5jYW1wYWlnbk5hbWUpO1xyXG4gICAgICAgIHRoaXMuZm9ybS5nZXQoJ21lZGl1bScpLnNldFZhbHVlKGNhbXBhaWduPy5nZW5lcmFsSW5mb3JtYXRpb24/LmZvcm0ubWVkaXVtKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGluaXREaXNhYmxlKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5pc1JlYWRPbmx5TW9kZSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmZvcm0uZGlzYWJsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9wZW5WaWRlbyh1cmw6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdXJsKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5jdXJyZW50VmlkZW9VcmwgPSB1cmw7XHJcbiAgICAgICAgdGhpcy5zaG93VmlkZW9Nb2RhbCA9IHRydWU7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nO1xyXG4gICAgfVxyXG5cclxuICAgIGNsb3NlVmlkZW8oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zaG93VmlkZW9Nb2RhbCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFZpZGVvVXJsID0gJyc7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICcnO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB1cGRhdGVHZW5lcmFsSW5mb3JtYXRpb25Gb3JtKGZvcm06IEZvcm1Hcm91cCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybSA9IGZvcm07XHJcbiAgICAgICAgdGhpcy5pc1Nob3dNb3JlID0gZmFsc2U7XHJcblxyXG4gICAgICAgIHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uLmVtaXQoe1xyXG4gICAgICAgICAgICBwYXJlbnQ6IHRoaXMuZm9ybSxcclxuICAgICAgICAgICAgY2hpbGQ6IHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybSxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuZ2V0TWVkaWEgPT09ICdMT0NBVElPTicpIHRoaXMuZ2V0TG9jYXRpb24oKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZ2V0SGVhZGVyKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybT8uZ2V0UmF3VmFsdWUoKT8uZnJvbT8ubmFtZSB8fCAnJztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZ2V0Qm9keVN0cmluZygpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGJvZHkgPVxyXG4gICAgICAgICAgICB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0/LmdldFJhd1ZhbHVlKCk/LnRleHQgfHxcclxuICAgICAgICAgICAgdGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy50ZW1wbGF0ZT8uYm9keT8udGV4dCB8fFxyXG4gICAgICAgICAgICB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0/LmdldFJhd1ZhbHVlKCk/LmJvZHk/LnRleHQ7XHJcblxyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIGJvZHlcclxuICAgICAgICAgICAgICAgID8uc3BsaXQoL1xcXFxufFxcbi8pXHJcbiAgICAgICAgICAgICAgICAuam9pbignPGJyIC8+JylcclxuICAgICAgICAgICAgICAgIC5zcGxpdCgvXFxcXHR8XFx0LylcclxuICAgICAgICAgICAgICAgIC5qb2luKCcgICAgJykgPz8gJydcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBnZXRCb2R5KCk6IGFueSB7XHJcbiAgICAgICAgY29uc3QgYm9keSA9XHJcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybT8uZ2V0UmF3VmFsdWUoKT8udGV4dCB8fFxyXG4gICAgICAgICAgICB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0/LmdldFJhd1ZhbHVlKCk/LnRlbXBsYXRlPy5ib2R5Py50ZXh0IHx8XHJcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybT8uZ2V0UmF3VmFsdWUoKT8uYm9keT8udGV4dDtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKFxyXG4gICAgICAgICAgICB0aGlzLmZpeEdlbmVyYXRlZEh0bWwoXHJcbiAgICAgICAgICAgICAgICBib2R5XHJcbiAgICAgICAgICAgICAgICAgICAgPy5zcGxpdCgvXFxcXG58XFxuLylcclxuICAgICAgICAgICAgICAgICAgICAuam9pbignPGJyIC8+JylcclxuICAgICAgICAgICAgICAgICAgICAuc3BsaXQoL1xcXFx0fFxcdC8pXHJcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oJyAgICAnKSA/PyAnJ1xyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZ2V0TWVkaWEoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy5tZWRpYSB8fCAnJztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZ2V0VGVtcGxhdGUoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy50ZW1wbGF0ZSB8fCB7fTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZ2V0VGVtcGxhdGVCdXR0b24oKTogYW55IHtcclxuICAgICAgICBjb25zdCBsaW1pdCA9XHJcbiAgICAgICAgICAgICF0aGlzLmlzU2hvd01vcmUgJiYgdGhpcy5nZXRUZW1wbGF0ZT8uYnV0dG9ucz8ubGVuZ3RoID4gM1xyXG4gICAgICAgICAgICAgICAgPyAyXHJcbiAgICAgICAgICAgICAgICA6IHRoaXMuZ2V0VGVtcGxhdGU/LmJ1dHRvbnM/Lmxlbmd0aDtcclxuXHJcbiAgICAgICAgcmV0dXJuIFsuLi50aGlzLmdldFRlbXBsYXRlPy5idXR0b25zXS5zcGxpY2UoMCwgbGltaXQpIHx8IFtdO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBkaXNwbGF5RmlsZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIChcclxuICAgICAgICAgICAgICAgIHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybT8uZ2V0UmF3VmFsdWUoKT8udGFyZ2V0VVJMIHx8XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0/LmdldFJhd1ZhbHVlKCk/LnRlbXBsYXRlPy5oZWFkZXI/LnVybFxyXG4gICAgICAgICAgICApPy5yZXBsYWNlKCdhZGxzYW5kYm94LmNvbScsICdhZGxzYW5kYm94Lm5ldCcpID8/ICcnXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBMSU5FICovXHJcbiAgICBnZXQgaXNUZXh0KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0/LmdldFJhd1ZhbHVlKCk/LmNoYW5uZWwgPT09ICdURVhUJztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgaXNKU09OKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0/LmdldFJhd1ZhbHVlKCk/LmlzSlNPTjtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZ2V0VGVtcGxhdGVMaW5lKCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNKU09OXHJcbiAgICAgICAgICAgID8gSlNPTi5wYXJzZSh0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0/LmdldFJhd1ZhbHVlKCk/LnRlbXBsYXRlPy5ib2R5Py50ZXh0KVxyXG4gICAgICAgICAgICA6IHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybT8uZ2V0UmF3VmFsdWUoKT8udGVtcGxhdGU/LmJvZHk/LnRleHQ7XHJcbiAgICB9XHJcbiAgICAvKiAuLyBMSU5FICovXHJcblxyXG4gICAgcHJpdmF0ZSBnZXRMb2NhdGlvbigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm1hcHMubGF0aXR1ZGUgPSB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0/LmdldFJhd1ZhbHVlKCk/LmxhdGl0dWRlO1xyXG4gICAgICAgIHRoaXMubWFwcy5sb25naXR1ZGUgPSB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0/LmdldFJhd1ZhbHVlKCk/LmxvbmdpdHVkZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGZpeEdlbmVyYXRlZEh0bWwoaHRtbFN0cmluZykge1xyXG4gICAgICAgIHJldHVybiBodG1sU3RyaW5nXHJcbiAgICAgICAgICAgIC5yZXBsYWNlQWxsKC9kaXYgc3JjPVwiaHR0cC9nLCAnaW1nIHNyYz1cImh0dHAnKVxyXG4gICAgICAgICAgICAucmVwbGFjZUFsbCgvZGl2IHNyYz1cImRhdGE6aW1hZ2UvZywgJ2ltZyBzcmM9XCJkYXRhOmltYWdlJylcclxuICAgICAgICAgICAgLnJlcGxhY2VBbGwoL0RyYWcgYW5kIGRyb3AgeW91ciBpbWFnZSBoZXJlL2csICcnKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25DaGVja1R3aWxpb0NvdW50ZXIgPSAoKTogdm9pZCA9PiB7XHJcbiAgICAgICAgY29uc3QgdmFsdWVzR2VuZXJhbCA9IHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybT8uZ2V0UmF3VmFsdWUoKTtcclxuICAgICAgICBpZiAodmFsdWVzR2VuZXJhbD8uY2hhbm5lbCA9PT0gJ1RFWFQnKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNlZ21lbnRlZE1lc3NhZ2UgPSBuZXcgU2VnbWVudGVkTWVzc2FnZSh0aGlzLmdldEJvZHlTdHJpbmcpO1xyXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSB7XHJcbiAgICAgICAgICAgICAgICBzZWdtZW50czogc2VnbWVudGVkTWVzc2FnZS5zZWdtZW50c0NvdW50LFxyXG4gICAgICAgICAgICAgICAgZW5jb2Rpbmc6IHNlZ21lbnRlZE1lc3NhZ2UuZW5jb2RpbmdOYW1lLFxyXG4gICAgICAgICAgICAgICAgY2hhcmFjdGVyczogc2VnbWVudGVkTWVzc2FnZS5udW1iZXJPZlVuaWNvZGVTY2FsYXJzLFxyXG4gICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgdGhpcy50d2lsaW9SZXN1bHRDb3VudGVyID0ge1xyXG4gICAgICAgICAgICAgICAgLi4ucmVzdWx0LFxyXG4gICAgICAgICAgICAgICAgZnVsbHRleHQ6IGBFbmNvZGUgJHtyZXN1bHQuZW5jb2Rpbmd9IC8gQ2hhcnMgJHtyZXN1bHQuY2hhcmFjdGVyc30gLyBTZWdtZW50ICR7cmVzdWx0LnNlZ21lbnRzfWAsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbGV0IHZhbHVlUmVzdWx0ID0gdGhpcy5nZXRCb2R5U3RyaW5nO1xyXG4gICAgICAgICAgICBBcnJheS5mcm9tKHZhbHVlc0dlbmVyYWw/LnRlbXBsYXRlPy5ib2R5Py5leGFtcGxlcyB8fCBbXSkubWFwKChlbnRyeSwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyID0gYHt7JHtlbnRyeX19fWA7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlc0dlbmVyYWwucGFyYW1Cb2R5W2luZGV4XT8ubmFtZTtcclxuICAgICAgICAgICAgICAgIHZhbHVlUmVzdWx0ID0gdmFsdWVSZXN1bHQuc3BsaXQocGxhY2Vob2xkZXIpLmpvaW4odmFsdWUpO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHNlZ21lbnRlZE1lc3NhZ2UgPSBuZXcgU2VnbWVudGVkTWVzc2FnZSh2YWx1ZVJlc3VsdCk7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHtcclxuICAgICAgICAgICAgICAgIHNlZ21lbnRzOiBzZWdtZW50ZWRNZXNzYWdlLnNlZ21lbnRzQ291bnQsXHJcbiAgICAgICAgICAgICAgICBlbmNvZGluZzogc2VnbWVudGVkTWVzc2FnZS5lbmNvZGluZ05hbWUsXHJcbiAgICAgICAgICAgICAgICBjaGFyYWN0ZXJzOiBzZWdtZW50ZWRNZXNzYWdlLm51bWJlck9mVW5pY29kZVNjYWxhcnMsXHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICB0aGlzLnR3aWxpb1Jlc3VsdENvdW50ZXIgPSB7XHJcbiAgICAgICAgICAgICAgICAuLi5yZXN1bHQsXHJcbiAgICAgICAgICAgICAgICBmdWxsdGV4dDogYEVuY29kZSAke3Jlc3VsdC5lbmNvZGluZ30gLyBDaGFycyAke3Jlc3VsdC5jaGFyYWN0ZXJzfSAvIFNlZ21lbnQgJHtyZXN1bHQuc2VnbWVudHN9YCxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,60 @@
1
+ import { __decorate } from "tslib";
2
+ import { Pipe } from '@angular/core';
3
+ let VideoPosterPipe = class VideoPosterPipe {
4
+ transform(videoUrl) {
5
+ return new Promise((resolve) => {
6
+ if (!videoUrl) {
7
+ resolve('');
8
+ return;
9
+ }
10
+ const video = document.createElement('video');
11
+ video.crossOrigin = 'anonymous'; // Wajib biar nggak kena error CORS dari BE
12
+ video.src = videoUrl;
13
+ video.muted = true;
14
+ video.setAttribute('playsinline', 'true');
15
+ video.preload = 'metadata';
16
+ video.addEventListener('loadedmetadata', () => {
17
+ video.currentTime = 0.1; // Geser dikit cari frame yang jelas
18
+ });
19
+ video.addEventListener('seeked', () => {
20
+ try {
21
+ const canvas = document.createElement('canvas');
22
+ const context = canvas.getContext('2d');
23
+ // Tentukan lebar maksimal thumbnail biar memori gak jebol
24
+ const MAX_WIDTH = 320;
25
+ let width = video.videoWidth;
26
+ let height = video.videoHeight;
27
+ // Kalkulasi rasio ukuran baru
28
+ if (width > MAX_WIDTH) {
29
+ height = Math.floor(height * (MAX_WIDTH / width));
30
+ width = MAX_WIDTH;
31
+ }
32
+ canvas.width = width;
33
+ canvas.height = height;
34
+ if (context) {
35
+ // Gambar ulang dengan ukuran yang udah di-scale down
36
+ context.drawImage(video, 0, 0, width, height);
37
+ // Convert ke Base64 dengan kualitas 70%
38
+ resolve(canvas.toDataURL('image/jpeg', 0.7));
39
+ }
40
+ else {
41
+ resolve('');
42
+ }
43
+ }
44
+ catch (e) {
45
+ resolve('');
46
+ }
47
+ });
48
+ video.addEventListener('error', () => {
49
+ resolve('');
50
+ });
51
+ });
52
+ }
53
+ };
54
+ VideoPosterPipe = __decorate([
55
+ Pipe({
56
+ name: 'videoPoster',
57
+ })
58
+ ], VideoPosterPipe);
59
+ export { VideoPosterPipe };
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8tcG9zdGVyLnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRsZmUvY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL2NhbXBhaWduLW1hbmFnZW1lbnQvdXRpbC92aWRlby1wb3N0ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFLcEQsSUFBYSxlQUFlLEdBQTVCLE1BQWEsZUFBZTtJQUN4QixTQUFTLENBQUMsUUFBZ0I7UUFDdEIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzNCLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ1gsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNaLE9BQU87YUFDVjtZQUVELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDOUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsQ0FBQywyQ0FBMkM7WUFDNUUsS0FBSyxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUM7WUFDckIsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbkIsS0FBSyxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDMUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUM7WUFFM0IsS0FBSyxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLEdBQUcsRUFBRTtnQkFDMUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsQ0FBQyxvQ0FBb0M7WUFDakUsQ0FBQyxDQUFDLENBQUM7WUFFSCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtnQkFDbEMsSUFBSTtvQkFDQSxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUNoRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUV4QywwREFBMEQ7b0JBQzFELE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQztvQkFDdEIsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztvQkFDN0IsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztvQkFFL0IsOEJBQThCO29CQUM5QixJQUFJLEtBQUssR0FBRyxTQUFTLEVBQUU7d0JBQ25CLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO3dCQUNsRCxLQUFLLEdBQUcsU0FBUyxDQUFDO3FCQUNyQjtvQkFFRCxNQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztvQkFDckIsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7b0JBRXZCLElBQUksT0FBTyxFQUFFO3dCQUNULHFEQUFxRDt3QkFDckQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7d0JBRTlDLHdDQUF3Qzt3QkFDeEMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7cUJBQ2hEO3lCQUFNO3dCQUNILE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztxQkFDZjtpQkFDSjtnQkFBQyxPQUFPLENBQUMsRUFBRTtvQkFDUixPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQ2Y7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUVILEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO2dCQUNqQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSixDQUFBO0FBekRZLGVBQWU7SUFIM0IsSUFBSSxDQUFDO1FBQ0YsSUFBSSxFQUFFLGFBQWE7S0FDdEIsQ0FBQztHQUNXLGVBQWUsQ0F5RDNCO1NBekRZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiAndmlkZW9Qb3N0ZXInLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmlkZW9Qb3N0ZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgICB0cmFuc2Zvcm0odmlkZW9Vcmw6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghdmlkZW9VcmwpIHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUoJycpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBjb25zdCB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7XHJcbiAgICAgICAgICAgIHZpZGVvLmNyb3NzT3JpZ2luID0gJ2Fub255bW91cyc7IC8vIFdhamliIGJpYXIgbmdnYWsga2VuYSBlcnJvciBDT1JTIGRhcmkgQkVcclxuICAgICAgICAgICAgdmlkZW8uc3JjID0gdmlkZW9Vcmw7XHJcbiAgICAgICAgICAgIHZpZGVvLm11dGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgdmlkZW8uc2V0QXR0cmlidXRlKCdwbGF5c2lubGluZScsICd0cnVlJyk7XHJcbiAgICAgICAgICAgIHZpZGVvLnByZWxvYWQgPSAnbWV0YWRhdGEnO1xyXG5cclxuICAgICAgICAgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcignbG9hZGVkbWV0YWRhdGEnLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB2aWRlby5jdXJyZW50VGltZSA9IDAuMTsgLy8gR2VzZXIgZGlraXQgY2FyaSBmcmFtZSB5YW5nIGplbGFzXHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcignc2Vla2VkJywgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vIFRlbnR1a2FuIGxlYmFyIG1ha3NpbWFsIHRodW1ibmFpbCBiaWFyIG1lbW9yaSBnYWsgamVib2xcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBNQVhfV0lEVEggPSAzMjA7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHdpZHRoID0gdmlkZW8udmlkZW9XaWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaGVpZ2h0ID0gdmlkZW8udmlkZW9IZWlnaHQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vIEthbGt1bGFzaSByYXNpbyB1a3VyYW4gYmFydVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh3aWR0aCA+IE1BWF9XSURUSCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQgPSBNYXRoLmZsb29yKGhlaWdodCAqIChNQVhfV0lEVEggLyB3aWR0aCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCA9IE1BWF9XSURUSDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGNhbnZhcy53aWR0aCA9IHdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChjb250ZXh0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEdhbWJhciB1bGFuZyBkZW5nYW4gdWt1cmFuIHlhbmcgdWRhaCBkaS1zY2FsZSBkb3duXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQuZHJhd0ltYWdlKHZpZGVvLCAwLCAwLCB3aWR0aCwgaGVpZ2h0KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbnZlcnQga2UgQmFzZTY0IGRlbmdhbiBrdWFsaXRhcyA3MCVcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShjYW52YXMudG9EYXRhVVJMKCdpbWFnZS9qcGVnJywgMC43KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgnJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoJycpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgnJyk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export const getFormControl = (form, controlName) => {
2
+ return form ? form.get(controlName) : null;
3
+ };
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhZGxmZS9jYW1wYWlnbi1tYW5hZ2VtZW50LWxpYnJhcnkvIiwic291cmNlcyI6WyJsaWIvY29yZS91dGlsL2Zvcm0tdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQzFCLElBQWtDLEVBQ2xDLFdBQW1CLEVBQ0csRUFBRTtJQUN4QixPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQy9DLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldEZvcm1Db250cm9sID0gKFxyXG4gICAgZm9ybTogRm9ybUdyb3VwIHwgbnVsbCB8IHVuZGVmaW5lZCxcclxuICAgIGNvbnRyb2xOYW1lOiBzdHJpbmdcclxuKTogQWJzdHJhY3RDb250cm9sIHwgbnVsbCA9PiB7XHJcbiAgICByZXR1cm4gZm9ybSA/IGZvcm0uZ2V0KGNvbnRyb2xOYW1lKSA6IG51bGw7XHJcbn07XHJcbiJdfQ==
@@ -2,4 +2,5 @@ export * from './custom-paginator';
2
2
  export * from './download-blob-file';
3
3
  export * from './enum-to-option-generator';
4
4
  export * from './http-param-generator';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRsZmUvY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL2NvcmUvdXRpbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jdXN0b20tcGFnaW5hdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi9kb3dubG9hZC1ibG9iLWZpbGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2VudW0tdG8tb3B0aW9uLWdlbmVyYXRvcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vaHR0cC1wYXJhbS1nZW5lcmF0b3InO1xyXG4iXX0=
5
+ export * from './form-utils';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRsZmUvY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL2NvcmUvdXRpbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jdXN0b20tcGFnaW5hdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi9kb3dubG9hZC1ibG9iLWZpbGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2VudW0tdG8tb3B0aW9uLWdlbmVyYXRvcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vaHR0cC1wYXJhbS1nZW5lcmF0b3InO1xyXG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tdXRpbHMnO1xyXG4iXX0=
@@ -2,10 +2,10 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './public-api';
5
- export { InputNumericComponent as ɵs } from './lib/campaign-management/components/input-numeric/input-numeric.component';
6
- export { InputNumericModule as ɵr } from './lib/campaign-management/components/input-numeric/input-numeric.module';
7
- export { FilterInListOfCampaignComponent as ɵo } from './lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign';
8
- export { ViewingListOfCampaignTableComponent as ɵn } from './lib/campaign-management/modules/campaign-index/component/viewing-list-of-campaign-table';
5
+ export { InputNumericComponent as ɵt } from './lib/campaign-management/components/input-numeric/input-numeric.component';
6
+ export { InputNumericModule as ɵs } from './lib/campaign-management/components/input-numeric/input-numeric.module';
7
+ export { FilterInListOfCampaignComponent as ɵp } from './lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign';
8
+ export { ViewingListOfCampaignTableComponent as ɵo } from './lib/campaign-management/modules/campaign-index/component/viewing-list-of-campaign-table';
9
9
  export { PendingApprovalDialogViewComponent as ɵk } from './lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view';
10
10
  export { NewCampaignComponent as ɵb } from './lib/campaign-management/modules/new-campaign';
11
11
  export { GeneralInformationEmailComponent as ɵj } from './lib/campaign-management/modules/new-campaign/components/general-information-email';
@@ -18,11 +18,12 @@ export { NewNumberBasesComponent as ɵf } from './lib/campaign-management/module
18
18
  export { SchedulerComponent as ɵd } from './lib/campaign-management/modules/new-campaign/scheduler';
19
19
  export { SummaryComponent as ɵe } from './lib/campaign-management/modules/new-campaign/summary';
20
20
  export { WizardComponent as ɵa } from './lib/campaign-management/modules/wizard';
21
- export { MatSelectInfiniteScrollDirective as ɵq } from './lib/core/directives';
22
- export { ApiAdapterServiceService as ɵm } from './lib/core/services';
23
- export { ApiAdapterServiceService as ɵp } from './lib/core/services/api-adapter-service.service';
24
- export { CustomPaginator as ɵt } from './lib/core/util';
25
- export { ConfirmationComponent as ɵu } from './lib/global/confirmation/confirmation';
26
- export { ConfirmationModel as ɵv } from './lib/global/confirmation/shared/model';
27
- export { SharedServicesService as ɵw } from './lib/global/confirmation/shared/shared-services.service';
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRsZmUtY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFkbGZlL2NhbXBhaWduLW1hbmFnZW1lbnQtbGlicmFyeS8iLCJzb3VyY2VzIjpbImFkbGZlLWNhbXBhaWduLW1hbmFnZW1lbnQtbGlicmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw0RUFBNEUsQ0FBQztBQUN2SCxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0seUVBQXlFLENBQUM7QUFDakgsT0FBTyxFQUFDLCtCQUErQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVGQUF1RixDQUFDO0FBQzVJLE9BQU8sRUFBQyxtQ0FBbUMsSUFBSSxFQUFFLEVBQUMsTUFBTSwyRkFBMkYsQ0FBQztBQUNwSixPQUFPLEVBQUMsa0NBQWtDLElBQUksRUFBRSxFQUFDLE1BQU0sc0ZBQXNGLENBQUM7QUFDOUksT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxnQ0FBZ0MsSUFBSSxFQUFFLEVBQUMsTUFBTSxxRkFBcUYsQ0FBQztBQUMzSSxPQUFPLEVBQUMsK0JBQStCLElBQUksRUFBRSxFQUFDLE1BQU0sb0ZBQW9GLENBQUM7QUFDekksT0FBTyxFQUFDLDhCQUE4QixJQUFJLEVBQUUsRUFBQyxNQUFNLG1GQUFtRixDQUFDO0FBQ3ZJLE9BQU8sRUFBQyw2QkFBNkIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrRkFBa0YsQ0FBQztBQUNySSxPQUFPLEVBQUMsMEJBQTBCLElBQUksRUFBRSxFQUFDLE1BQU0sbUVBQW1FLENBQUM7QUFDbkgsT0FBTyxFQUFDLDJCQUEyQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9FQUFvRSxDQUFDO0FBQ3JILE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUM5RyxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDbEcsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQzlGLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFDLGdDQUFnQyxJQUFJLEVBQUUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzdFLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0saURBQWlELENBQUM7QUFDL0YsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDbkYsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSwwREFBMEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtJbnB1dE51bWVyaWNDb21wb25lbnQgYXMgybVzfSBmcm9tICcuL2xpYi9jYW1wYWlnbi1tYW5hZ2VtZW50L2NvbXBvbmVudHMvaW5wdXQtbnVtZXJpYy9pbnB1dC1udW1lcmljLmNvbXBvbmVudCc7XG5leHBvcnQge0lucHV0TnVtZXJpY01vZHVsZSBhcyDJtXJ9IGZyb20gJy4vbGliL2NhbXBhaWduLW1hbmFnZW1lbnQvY29tcG9uZW50cy9pbnB1dC1udW1lcmljL2lucHV0LW51bWVyaWMubW9kdWxlJztcbmV4cG9ydCB7RmlsdGVySW5MaXN0T2ZDYW1wYWlnbkNvbXBvbmVudCBhcyDJtW99IGZyb20gJy4vbGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kdWxlcy9jYW1wYWlnbi1pbmRleC9jb21wb25lbnQvZmlsdGVyLWluLWxpc3Qtb2YtY2FtcGFpZ24nO1xuZXhwb3J0IHtWaWV3aW5nTGlzdE9mQ2FtcGFpZ25UYWJsZUNvbXBvbmVudCBhcyDJtW59IGZyb20gJy4vbGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kdWxlcy9jYW1wYWlnbi1pbmRleC9jb21wb25lbnQvdmlld2luZy1saXN0LW9mLWNhbXBhaWduLXRhYmxlJztcbmV4cG9ydCB7UGVuZGluZ0FwcHJvdmFsRGlhbG9nVmlld0NvbXBvbmVudCBhcyDJtWt9IGZyb20gJy4vbGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kdWxlcy9jYW1wYWlnbi1pbmRleC9kaWFsb2cvcGVuZGluZy1hcHByb3ZhbC1kaWFsb2ctdmlldyc7XG5leHBvcnQge05ld0NhbXBhaWduQ29tcG9uZW50IGFzIMm1Yn0gZnJvbSAnLi9saWIvY2FtcGFpZ24tbWFuYWdlbWVudC9tb2R1bGVzL25ldy1jYW1wYWlnbic7XG5leHBvcnQge0dlbmVyYWxJbmZvcm1hdGlvbkVtYWlsQ29tcG9uZW50IGFzIMm1an0gZnJvbSAnLi9saWIvY2FtcGFpZ24tbWFuYWdlbWVudC9tb2R1bGVzL25ldy1jYW1wYWlnbi9jb21wb25lbnRzL2dlbmVyYWwtaW5mb3JtYXRpb24tZW1haWwnO1xuZXhwb3J0IHtHZW5lcmFsSW5mb3JtYXRpb25MaW5lQ29tcG9uZW50IGFzIMm1Z30gZnJvbSAnLi9saWIvY2FtcGFpZ24tbWFuYWdlbWVudC9tb2R1bGVzL25ldy1jYW1wYWlnbi9jb21wb25lbnRzL2dlbmVyYWwtaW5mb3JtYXRpb24tbGluZSc7XG5leHBvcnQge0dlbmVyYWxJbmZvcm1hdGlvblNNU0NvbXBvbmVudCBhcyDJtWl9IGZyb20gJy4vbGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kdWxlcy9uZXctY2FtcGFpZ24vY29tcG9uZW50cy9nZW5lcmFsLWluZm9ybWF0aW9uLXNtcyc7XG5leHBvcnQge0dlbmVyYWxJbmZvcm1hdGlvbldBQ29tcG9uZW50IGFzIMm1aH0gZnJvbSAnLi9saWIvY2FtcGFpZ24tbWFuYWdlbWVudC9tb2R1bGVzL25ldy1jYW1wYWlnbi9jb21wb25lbnRzL2dlbmVyYWwtaW5mb3JtYXRpb24td2EnO1xuZXhwb3J0IHtGYWlsb3Zlck1lY2hhbmlzbUNvbXBvbmVudCBhcyDJtWx9IGZyb20gJy4vbGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kdWxlcy9uZXctY2FtcGFpZ24vZmFpbG92ZXItbWVjaGFuaXNtJztcbmV4cG9ydCB7R2VuZXJhbEluZm9ybWF0aW9uQ29tcG9uZW50IGFzIMm1Y30gZnJvbSAnLi9saWIvY2FtcGFpZ24tbWFuYWdlbWVudC9tb2R1bGVzL25ldy1jYW1wYWlnbi9nZW5lcmFsLWluZm9ybWF0aW9uJztcbmV4cG9ydCB7TmV3TnVtYmVyQmFzZXNDb21wb25lbnQgYXMgybVmfSBmcm9tICcuL2xpYi9jYW1wYWlnbi1tYW5hZ2VtZW50L21vZHVsZXMvbmV3LWNhbXBhaWduL25ldy1udW1iZXItYmFzZXMnO1xuZXhwb3J0IHtTY2hlZHVsZXJDb21wb25lbnQgYXMgybVkfSBmcm9tICcuL2xpYi9jYW1wYWlnbi1tYW5hZ2VtZW50L21vZHVsZXMvbmV3LWNhbXBhaWduL3NjaGVkdWxlcic7XG5leHBvcnQge1N1bW1hcnlDb21wb25lbnQgYXMgybVlfSBmcm9tICcuL2xpYi9jYW1wYWlnbi1tYW5hZ2VtZW50L21vZHVsZXMvbmV3LWNhbXBhaWduL3N1bW1hcnknO1xuZXhwb3J0IHtXaXphcmRDb21wb25lbnQgYXMgybVhfSBmcm9tICcuL2xpYi9jYW1wYWlnbi1tYW5hZ2VtZW50L21vZHVsZXMvd2l6YXJkJztcbmV4cG9ydCB7TWF0U2VsZWN0SW5maW5pdGVTY3JvbGxEaXJlY3RpdmUgYXMgybVxfSBmcm9tICcuL2xpYi9jb3JlL2RpcmVjdGl2ZXMnO1xuZXhwb3J0IHtBcGlBZGFwdGVyU2VydmljZVNlcnZpY2UgYXMgybVtfSBmcm9tICcuL2xpYi9jb3JlL3NlcnZpY2VzJztcbmV4cG9ydCB7QXBpQWRhcHRlclNlcnZpY2VTZXJ2aWNlIGFzIMm1cH0gZnJvbSAnLi9saWIvY29yZS9zZXJ2aWNlcy9hcGktYWRhcHRlci1zZXJ2aWNlLnNlcnZpY2UnO1xuZXhwb3J0IHtDdXN0b21QYWdpbmF0b3IgYXMgybV0fSBmcm9tICcuL2xpYi9jb3JlL3V0aWwnO1xuZXhwb3J0IHtDb25maXJtYXRpb25Db21wb25lbnQgYXMgybV1fSBmcm9tICcuL2xpYi9nbG9iYWwvY29uZmlybWF0aW9uL2NvbmZpcm1hdGlvbic7XG5leHBvcnQge0NvbmZpcm1hdGlvbk1vZGVsIGFzIMm1dn0gZnJvbSAnLi9saWIvZ2xvYmFsL2NvbmZpcm1hdGlvbi9zaGFyZWQvbW9kZWwnO1xuZXhwb3J0IHtTaGFyZWRTZXJ2aWNlc1NlcnZpY2UgYXMgybV3fSBmcm9tICcuL2xpYi9nbG9iYWwvY29uZmlybWF0aW9uL3NoYXJlZC9zaGFyZWQtc2VydmljZXMuc2VydmljZSc7Il19
21
+ export { VideoPosterPipe as ɵm } from './lib/campaign-management/util/video-poster.pipe';
22
+ export { MatSelectInfiniteScrollDirective as ɵr } from './lib/core/directives';
23
+ export { ApiAdapterServiceService as ɵn } from './lib/core/services';
24
+ export { ApiAdapterServiceService as ɵq } from './lib/core/services/api-adapter-service.service';
25
+ export { CustomPaginator as ɵu } from './lib/core/util';
26
+ export { ConfirmationComponent as ɵv } from './lib/global/confirmation/confirmation';
27
+ export { ConfirmationModel as ɵw } from './lib/global/confirmation/shared/model';
28
+ export { SharedServicesService as ɵx } from './lib/global/confirmation/shared/shared-services.service';
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRsZmUtY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFkbGZlL2NhbXBhaWduLW1hbmFnZW1lbnQtbGlicmFyeS8iLCJzb3VyY2VzIjpbImFkbGZlLWNhbXBhaWduLW1hbmFnZW1lbnQtbGlicmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw0RUFBNEUsQ0FBQztBQUN2SCxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0seUVBQXlFLENBQUM7QUFDakgsT0FBTyxFQUFDLCtCQUErQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVGQUF1RixDQUFDO0FBQzVJLE9BQU8sRUFBQyxtQ0FBbUMsSUFBSSxFQUFFLEVBQUMsTUFBTSwyRkFBMkYsQ0FBQztBQUNwSixPQUFPLEVBQUMsa0NBQWtDLElBQUksRUFBRSxFQUFDLE1BQU0sc0ZBQXNGLENBQUM7QUFDOUksT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxnQ0FBZ0MsSUFBSSxFQUFFLEVBQUMsTUFBTSxxRkFBcUYsQ0FBQztBQUMzSSxPQUFPLEVBQUMsK0JBQStCLElBQUksRUFBRSxFQUFDLE1BQU0sb0ZBQW9GLENBQUM7QUFDekksT0FBTyxFQUFDLDhCQUE4QixJQUFJLEVBQUUsRUFBQyxNQUFNLG1GQUFtRixDQUFDO0FBQ3ZJLE9BQU8sRUFBQyw2QkFBNkIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrRkFBa0YsQ0FBQztBQUNySSxPQUFPLEVBQUMsMEJBQTBCLElBQUksRUFBRSxFQUFDLE1BQU0sbUVBQW1FLENBQUM7QUFDbkgsT0FBTyxFQUFDLDJCQUEyQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9FQUFvRSxDQUFDO0FBQ3JILE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUM5RyxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDbEcsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQzlGLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUN2RixPQUFPLEVBQUMsZ0NBQWdDLElBQUksRUFBRSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDN0UsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ25FLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUMvRixPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBEQUEwRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0lucHV0TnVtZXJpY0NvbXBvbmVudCBhcyDJtXR9IGZyb20gJy4vbGliL2NhbXBhaWduLW1hbmFnZW1lbnQvY29tcG9uZW50cy9pbnB1dC1udW1lcmljL2lucHV0LW51bWVyaWMuY29tcG9uZW50JztcbmV4cG9ydCB7SW5wdXROdW1lcmljTW9kdWxlIGFzIMm1c30gZnJvbSAnLi9saWIvY2FtcGFpZ24tbWFuYWdlbWVudC9jb21wb25lbnRzL2lucHV0LW51bWVyaWMvaW5wdXQtbnVtZXJpYy5tb2R1bGUnO1xuZXhwb3J0IHtGaWx0ZXJJbkxpc3RPZkNhbXBhaWduQ29tcG9uZW50IGFzIMm1cH0gZnJvbSAnLi9saWIvY2FtcGFpZ24tbWFuYWdlbWVudC9tb2R1bGVzL2NhbXBhaWduLWluZGV4L2NvbXBvbmVudC9maWx0ZXItaW4tbGlzdC1vZi1jYW1wYWlnbic7XG5leHBvcnQge1ZpZXdpbmdMaXN0T2ZDYW1wYWlnblRhYmxlQ29tcG9uZW50IGFzIMm1b30gZnJvbSAnLi9saWIvY2FtcGFpZ24tbWFuYWdlbWVudC9tb2R1bGVzL2NhbXBhaWduLWluZGV4L2NvbXBvbmVudC92aWV3aW5nLWxpc3Qtb2YtY2FtcGFpZ24tdGFibGUnO1xuZXhwb3J0IHtQZW5kaW5nQXBwcm92YWxEaWFsb2dWaWV3Q29tcG9uZW50IGFzIMm1a30gZnJvbSAnLi9saWIvY2FtcGFpZ24tbWFuYWdlbWVudC9tb2R1bGVzL2NhbXBhaWduLWluZGV4L2RpYWxvZy9wZW5kaW5nLWFwcHJvdmFsLWRpYWxvZy12aWV3JztcbmV4cG9ydCB7TmV3Q2FtcGFpZ25Db21wb25lbnQgYXMgybVifSBmcm9tICcuL2xpYi9jYW1wYWlnbi1tYW5hZ2VtZW50L21vZHVsZXMvbmV3LWNhbXBhaWduJztcbmV4cG9ydCB7R2VuZXJhbEluZm9ybWF0aW9uRW1haWxDb21wb25lbnQgYXMgybVqfSBmcm9tICcuL2xpYi9jYW1wYWlnbi1tYW5hZ2VtZW50L21vZHVsZXMvbmV3LWNhbXBhaWduL2NvbXBvbmVudHMvZ2VuZXJhbC1pbmZvcm1hdGlvbi1lbWFpbCc7XG5leHBvcnQge0dlbmVyYWxJbmZvcm1hdGlvbkxpbmVDb21wb25lbnQgYXMgybVnfSBmcm9tICcuL2xpYi9jYW1wYWlnbi1tYW5hZ2VtZW50L21vZHVsZXMvbmV3LWNhbXBhaWduL2NvbXBvbmVudHMvZ2VuZXJhbC1pbmZvcm1hdGlvbi1saW5lJztcbmV4cG9ydCB7R2VuZXJhbEluZm9ybWF0aW9uU01TQ29tcG9uZW50IGFzIMm1aX0gZnJvbSAnLi9saWIvY2FtcGFpZ24tbWFuYWdlbWVudC9tb2R1bGVzL25ldy1jYW1wYWlnbi9jb21wb25lbnRzL2dlbmVyYWwtaW5mb3JtYXRpb24tc21zJztcbmV4cG9ydCB7R2VuZXJhbEluZm9ybWF0aW9uV0FDb21wb25lbnQgYXMgybVofSBmcm9tICcuL2xpYi9jYW1wYWlnbi1tYW5hZ2VtZW50L21vZHVsZXMvbmV3LWNhbXBhaWduL2NvbXBvbmVudHMvZ2VuZXJhbC1pbmZvcm1hdGlvbi13YSc7XG5leHBvcnQge0ZhaWxvdmVyTWVjaGFuaXNtQ29tcG9uZW50IGFzIMm1bH0gZnJvbSAnLi9saWIvY2FtcGFpZ24tbWFuYWdlbWVudC9tb2R1bGVzL25ldy1jYW1wYWlnbi9mYWlsb3Zlci1tZWNoYW5pc20nO1xuZXhwb3J0IHtHZW5lcmFsSW5mb3JtYXRpb25Db21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9jYW1wYWlnbi1tYW5hZ2VtZW50L21vZHVsZXMvbmV3LWNhbXBhaWduL2dlbmVyYWwtaW5mb3JtYXRpb24nO1xuZXhwb3J0IHtOZXdOdW1iZXJCYXNlc0NvbXBvbmVudCBhcyDJtWZ9IGZyb20gJy4vbGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kdWxlcy9uZXctY2FtcGFpZ24vbmV3LW51bWJlci1iYXNlcyc7XG5leHBvcnQge1NjaGVkdWxlckNvbXBvbmVudCBhcyDJtWR9IGZyb20gJy4vbGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kdWxlcy9uZXctY2FtcGFpZ24vc2NoZWR1bGVyJztcbmV4cG9ydCB7U3VtbWFyeUNvbXBvbmVudCBhcyDJtWV9IGZyb20gJy4vbGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kdWxlcy9uZXctY2FtcGFpZ24vc3VtbWFyeSc7XG5leHBvcnQge1dpemFyZENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kdWxlcy93aXphcmQnO1xuZXhwb3J0IHtWaWRlb1Bvc3RlclBpcGUgYXMgybVtfSBmcm9tICcuL2xpYi9jYW1wYWlnbi1tYW5hZ2VtZW50L3V0aWwvdmlkZW8tcG9zdGVyLnBpcGUnO1xuZXhwb3J0IHtNYXRTZWxlY3RJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSBhcyDJtXJ9IGZyb20gJy4vbGliL2NvcmUvZGlyZWN0aXZlcyc7XG5leHBvcnQge0FwaUFkYXB0ZXJTZXJ2aWNlU2VydmljZSBhcyDJtW59IGZyb20gJy4vbGliL2NvcmUvc2VydmljZXMnO1xuZXhwb3J0IHtBcGlBZGFwdGVyU2VydmljZVNlcnZpY2UgYXMgybVxfSBmcm9tICcuL2xpYi9jb3JlL3NlcnZpY2VzL2FwaS1hZGFwdGVyLXNlcnZpY2Uuc2VydmljZSc7XG5leHBvcnQge0N1c3RvbVBhZ2luYXRvciBhcyDJtXV9IGZyb20gJy4vbGliL2NvcmUvdXRpbCc7XG5leHBvcnQge0NvbmZpcm1hdGlvbkNvbXBvbmVudCBhcyDJtXZ9IGZyb20gJy4vbGliL2dsb2JhbC9jb25maXJtYXRpb24vY29uZmlybWF0aW9uJztcbmV4cG9ydCB7Q29uZmlybWF0aW9uTW9kZWwgYXMgybV3fSBmcm9tICcuL2xpYi9nbG9iYWwvY29uZmlybWF0aW9uL3NoYXJlZC9tb2RlbCc7XG5leHBvcnQge1NoYXJlZFNlcnZpY2VzU2VydmljZSBhcyDJtXh9IGZyb20gJy4vbGliL2dsb2JhbC9jb25maXJtYXRpb24vc2hhcmVkL3NoYXJlZC1zZXJ2aWNlcy5zZXJ2aWNlJzsiXX0=
@@ -28,14 +28,14 @@ else if (origin.includes('dashboard-qa')) {
28
28
  }
29
29
  // 4. Cek Demo Dev secara spesifik
30
30
  else if (origin.includes('demo-dev')) {
31
- API_CONST = 'https://apibsp-dev.adlsandbox.net';
31
+ API_CONST = 'https://api-staging.neuapix.com';
32
32
  }
33
33
  // 5. Default (Localhost atau lainnya)
34
34
  else {
35
- API_CONST = 'https://apibsp-dev.adlsandbox.net';
35
+ API_CONST = 'https://api-staging.neuapix.com';
36
36
  }
37
37
  export var environment = {
38
38
  production: false,
39
39
  api: API_CONST,
40
40
  };
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRsZmUvY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LyIsInNvdXJjZXMiOlsiZW52aXJvbm1lbnRzL2Vudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNCQUFzQjtBQUV0QixxREFBcUQ7QUFDckQsMENBQTBDO0FBQzFDLGtFQUFrRTtBQUNsRSxrREFBa0Q7QUFDbEQsZ0VBQWdFO0FBQ2hFLG1EQUFtRDtBQUNuRCxnRUFBZ0U7QUFDaEUsb0RBQW9EO0FBQ3BELHdEQUF3RDtBQUV4RCwrQkFBK0I7QUFDL0Isc0JBQXNCO0FBQ3RCLG1CQUFtQjtBQUNuQixLQUFLO0FBQ0wsSUFBSSxTQUFTLEdBQUcsRUFBRSxDQUFDO0FBQ25CLElBQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7QUFFL0Isb0JBQW9CO0FBQ3BCLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFO0lBQzFDLFNBQVMsR0FBRyx5QkFBeUIsQ0FBQztDQUN6QztBQUNELGlCQUFpQjtLQUNaLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFO0lBQzNDLFNBQVMsR0FBRyxpQ0FBaUMsQ0FBQztDQUNqRDtBQUNELFlBQVk7S0FDUCxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUU7SUFDdEMsU0FBUyxHQUFHLGtDQUFrQyxDQUFDO0NBQ2xEO0FBQ0Qsa0NBQWtDO0tBQzdCLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtJQUNsQyxTQUFTLEdBQUcsbUNBQW1DLENBQUM7Q0FDbkQ7QUFDRCxzQ0FBc0M7S0FDakM7SUFDRCxTQUFTLEdBQUcsbUNBQW1DLENBQUM7Q0FDbkQ7QUFFRCxNQUFNLENBQUMsSUFBTSxXQUFXLEdBQUc7SUFDdkIsVUFBVSxFQUFFLEtBQUs7SUFDakIsR0FBRyxFQUFFLFNBQVM7Q0FDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGxldCBBUElfQ09OU1QgPSAnJztcclxuXHJcbi8vIGlmIChsb2NhdGlvbi5vcmlnaW4uaW5jbHVkZXMoJ2Rhc2hib2FyZC5uZXVhcGl4JykpXHJcbi8vIFx0QVBJX0NPTlNUID0gJ2h0dHBzOi8vYXBpLm5ldWFwaXguY29tJztcclxuLy8gZWxzZSBpZiAobG9jYXRpb24ub3JpZ2luLmluY2x1ZGVzKCdkYXNoYm9hcmQtc3RhZ2luZy5uZXVhcGl4JykpXHJcbi8vIFx0QVBJX0NPTlNUID0gJ2h0dHBzOi8vYXBpLXN0YWdpbmcubmV1YXBpeC5jb20nO1xyXG4vLyBlbHNlIGlmIChsb2NhdGlvbi5vcmlnaW4uaW5jbHVkZXMoJ2Rhc2hib2FyZC1xYS5hZGxzYW5kYm94JykpXHJcbi8vIFx0QVBJX0NPTlNUID0gJ2h0dHBzOi8vYXBpYnNwLXFhLmFkbHNhbmRib3gubmV0JztcclxuLy8gZWxzZSBpZiAobG9jYXRpb24ub3JpZ2luLmluY2x1ZGVzKCdkZW1vLWRldi5hZGxzYW5kYm94Lm5ldCcpKVxyXG4vLyBcdEFQSV9DT05TVCA9ICdodHRwczovL2FwaWJzcC1kZXYuYWRsc2FuZGJveC5uZXQnO1xyXG4vLyBlbHNlIEFQSV9DT05TVCA9ICdodHRwczovL2FwaWJzcC1kZXYuYWRsc2FuZGJveC5uZXQnO1xyXG5cclxuLy8gZXhwb3J0IGNvbnN0IGVudmlyb25tZW50ID0ge1xyXG4vLyBcdHByb2R1Y3Rpb246IGZhbHNlLFxyXG4vLyBcdGFwaTogQVBJX0NPTlNULFxyXG4vLyB9O1xyXG5sZXQgQVBJX0NPTlNUID0gJyc7XHJcbmNvbnN0IG9yaWdpbiA9IGxvY2F0aW9uLm9yaWdpbjtcclxuXHJcbi8vIDEuIENlayBQcm9kdWN0aW9uXHJcbmlmIChvcmlnaW4uaW5jbHVkZXMoJ2Rhc2hib2FyZC5uZXVhcGl4LmNvbScpKSB7XHJcbiAgICBBUElfQ09OU1QgPSAnaHR0cHM6Ly9hcGkubmV1YXBpeC5jb20nO1xyXG59XHJcbi8vIDIuIENlayBTdGFnaW5nXHJcbmVsc2UgaWYgKG9yaWdpbi5pbmNsdWRlcygnZGFzaGJvYXJkLXN0YWdpbmcnKSkge1xyXG4gICAgQVBJX0NPTlNUID0gJ2h0dHBzOi8vYXBpLXN0YWdpbmcubmV1YXBpeC5jb20nO1xyXG59XHJcbi8vIDMuIENlayBRQVxyXG5lbHNlIGlmIChvcmlnaW4uaW5jbHVkZXMoJ2Rhc2hib2FyZC1xYScpKSB7XHJcbiAgICBBUElfQ09OU1QgPSAnaHR0cHM6Ly9hcGlic3AtcWEuYWRsc2FuZGJveC5uZXQnO1xyXG59XHJcbi8vIDQuIENlayBEZW1vIERldiBzZWNhcmEgc3Blc2lmaWtcclxuZWxzZSBpZiAob3JpZ2luLmluY2x1ZGVzKCdkZW1vLWRldicpKSB7XHJcbiAgICBBUElfQ09OU1QgPSAnaHR0cHM6Ly9hcGlic3AtZGV2LmFkbHNhbmRib3gubmV0JztcclxufVxyXG4vLyA1LiBEZWZhdWx0IChMb2NhbGhvc3QgYXRhdSBsYWlubnlhKVxyXG5lbHNlIHtcclxuICAgIEFQSV9DT05TVCA9ICdodHRwczovL2FwaWJzcC1kZXYuYWRsc2FuZGJveC5uZXQnO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgZW52aXJvbm1lbnQgPSB7XHJcbiAgICBwcm9kdWN0aW9uOiBmYWxzZSxcclxuICAgIGFwaTogQVBJX0NPTlNULFxyXG59O1xyXG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRsZmUvY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LyIsInNvdXJjZXMiOlsiZW52aXJvbm1lbnRzL2Vudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNCQUFzQjtBQUV0QixxREFBcUQ7QUFDckQsMENBQTBDO0FBQzFDLGtFQUFrRTtBQUNsRSxrREFBa0Q7QUFDbEQsZ0VBQWdFO0FBQ2hFLG1EQUFtRDtBQUNuRCxnRUFBZ0U7QUFDaEUsb0RBQW9EO0FBQ3BELHdEQUF3RDtBQUV4RCwrQkFBK0I7QUFDL0Isc0JBQXNCO0FBQ3RCLG1CQUFtQjtBQUNuQixLQUFLO0FBQ0wsSUFBSSxTQUFTLEdBQUcsRUFBRSxDQUFDO0FBQ25CLElBQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7QUFFL0Isb0JBQW9CO0FBQ3BCLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFO0lBQzFDLFNBQVMsR0FBRyx5QkFBeUIsQ0FBQztDQUN6QztBQUNELGlCQUFpQjtLQUNaLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFO0lBQzNDLFNBQVMsR0FBRyxpQ0FBaUMsQ0FBQztDQUNqRDtBQUNELFlBQVk7S0FDUCxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUU7SUFDdEMsU0FBUyxHQUFHLGtDQUFrQyxDQUFDO0NBQ2xEO0FBQ0Qsa0NBQWtDO0tBQzdCLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtJQUNsQyxTQUFTLEdBQUcsaUNBQWlDLENBQUM7Q0FDakQ7QUFDRCxzQ0FBc0M7S0FDakM7SUFDRCxTQUFTLEdBQUcsaUNBQWlDLENBQUM7Q0FDakQ7QUFFRCxNQUFNLENBQUMsSUFBTSxXQUFXLEdBQUc7SUFDdkIsVUFBVSxFQUFFLEtBQUs7SUFDakIsR0FBRyxFQUFFLFNBQVM7Q0FDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGxldCBBUElfQ09OU1QgPSAnJztcclxuXHJcbi8vIGlmIChsb2NhdGlvbi5vcmlnaW4uaW5jbHVkZXMoJ2Rhc2hib2FyZC5uZXVhcGl4JykpXHJcbi8vIFx0QVBJX0NPTlNUID0gJ2h0dHBzOi8vYXBpLm5ldWFwaXguY29tJztcclxuLy8gZWxzZSBpZiAobG9jYXRpb24ub3JpZ2luLmluY2x1ZGVzKCdkYXNoYm9hcmQtc3RhZ2luZy5uZXVhcGl4JykpXHJcbi8vIFx0QVBJX0NPTlNUID0gJ2h0dHBzOi8vYXBpLXN0YWdpbmcubmV1YXBpeC5jb20nO1xyXG4vLyBlbHNlIGlmIChsb2NhdGlvbi5vcmlnaW4uaW5jbHVkZXMoJ2Rhc2hib2FyZC1xYS5hZGxzYW5kYm94JykpXHJcbi8vIFx0QVBJX0NPTlNUID0gJ2h0dHBzOi8vYXBpYnNwLXFhLmFkbHNhbmRib3gubmV0JztcclxuLy8gZWxzZSBpZiAobG9jYXRpb24ub3JpZ2luLmluY2x1ZGVzKCdkZW1vLWRldi5hZGxzYW5kYm94Lm5ldCcpKVxyXG4vLyBcdEFQSV9DT05TVCA9ICdodHRwczovL2FwaWJzcC1kZXYuYWRsc2FuZGJveC5uZXQnO1xyXG4vLyBlbHNlIEFQSV9DT05TVCA9ICdodHRwczovL2FwaWJzcC1kZXYuYWRsc2FuZGJveC5uZXQnO1xyXG5cclxuLy8gZXhwb3J0IGNvbnN0IGVudmlyb25tZW50ID0ge1xyXG4vLyBcdHByb2R1Y3Rpb246IGZhbHNlLFxyXG4vLyBcdGFwaTogQVBJX0NPTlNULFxyXG4vLyB9O1xyXG5sZXQgQVBJX0NPTlNUID0gJyc7XHJcbmNvbnN0IG9yaWdpbiA9IGxvY2F0aW9uLm9yaWdpbjtcclxuXHJcbi8vIDEuIENlayBQcm9kdWN0aW9uXHJcbmlmIChvcmlnaW4uaW5jbHVkZXMoJ2Rhc2hib2FyZC5uZXVhcGl4LmNvbScpKSB7XHJcbiAgICBBUElfQ09OU1QgPSAnaHR0cHM6Ly9hcGkubmV1YXBpeC5jb20nO1xyXG59XHJcbi8vIDIuIENlayBTdGFnaW5nXHJcbmVsc2UgaWYgKG9yaWdpbi5pbmNsdWRlcygnZGFzaGJvYXJkLXN0YWdpbmcnKSkge1xyXG4gICAgQVBJX0NPTlNUID0gJ2h0dHBzOi8vYXBpLXN0YWdpbmcubmV1YXBpeC5jb20nO1xyXG59XHJcbi8vIDMuIENlayBRQVxyXG5lbHNlIGlmIChvcmlnaW4uaW5jbHVkZXMoJ2Rhc2hib2FyZC1xYScpKSB7XHJcbiAgICBBUElfQ09OU1QgPSAnaHR0cHM6Ly9hcGlic3AtcWEuYWRsc2FuZGJveC5uZXQnO1xyXG59XHJcbi8vIDQuIENlayBEZW1vIERldiBzZWNhcmEgc3Blc2lmaWtcclxuZWxzZSBpZiAob3JpZ2luLmluY2x1ZGVzKCdkZW1vLWRldicpKSB7XHJcbiAgICBBUElfQ09OU1QgPSAnaHR0cHM6Ly9hcGktc3RhZ2luZy5uZXVhcGl4LmNvbSc7XHJcbn1cclxuLy8gNS4gRGVmYXVsdCAoTG9jYWxob3N0IGF0YXUgbGFpbm55YSlcclxuZWxzZSB7XHJcbiAgICBBUElfQ09OU1QgPSAnaHR0cHM6Ly9hcGktc3RhZ2luZy5uZXVhcGl4LmNvbSc7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBlbnZpcm9ubWVudCA9IHtcclxuICAgIHByb2R1Y3Rpb246IGZhbHNlLFxyXG4gICAgYXBpOiBBUElfQ09OU1QsXHJcbn07XHJcbiJdfQ==
@@ -47,6 +47,7 @@ import { NewNumberBasesComponent } from './modules/new-campaign/new-number-bases
47
47
  import { SchedulerComponent } from './modules/new-campaign/scheduler';
48
48
  import { SummaryComponent } from './modules/new-campaign/summary';
49
49
  import { WizardComponent } from './modules/wizard';
50
+ import { VideoPosterPipe } from './util/video-poster.pipe';
50
51
  var CampaignManagementModule = /** @class */ (function () {
51
52
  function CampaignManagementModule() {
52
53
  }
@@ -66,6 +67,7 @@ var CampaignManagementModule = /** @class */ (function () {
66
67
  GeneralInformationEmailComponent,
67
68
  PendingApprovalDialogViewComponent,
68
69
  FailoverMechanismComponent,
70
+ VideoPosterPipe,
69
71
  ],
70
72
  imports: [
71
73
  CommonModule,
@@ -109,7 +111,7 @@ var CampaignManagementModule = /** @class */ (function () {
109
111
  CampaignIndexModule,
110
112
  InputNumericModule,
111
113
  ],
112
- exports: [CampaignManagementComponent, SummaryComponent],
114
+ exports: [CampaignManagementComponent, SummaryComponent, VideoPosterPipe],
113
115
  entryComponents: [PendingApprovalDialogViewComponent],
114
116
  providers: [DatePipe],
115
117
  })
@@ -117,4 +119,4 @@ var CampaignManagementModule = /** @class */ (function () {
117
119
  return CampaignManagementModule;
118
120
  }());
119
121
  export { CampaignManagementModule };
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtcGFpZ24tbWFuYWdlbWVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRsZmUvY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL2NhbXBhaWduLW1hbmFnZW1lbnQvY2FtcGFpZ24tbWFuYWdlbWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUs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eEIsQ0FBQztnQkFDRixlQUFlO2dCQUNmLHFCQUFxQjtnQkFDckIsV0FBVztnQkFDWCxtQkFBbUI7Z0JBQ25CLGtCQUFrQjtnQkFDbEIsY0FBYztnQkFDZCxlQUFlO2dCQUNmLGNBQWM7Z0JBQ2QsYUFBYTtnQkFDYixlQUFlO2dCQUNmLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztvQkFDckIsT0FBTyxTQUFBO2lCQUNWLENBQUM7Z0JBQ0YsYUFBYTtnQkFDYixZQUFZO2dCQUNaLG1CQUFtQjtnQkFDbkIsZUFBZTtnQkFDZixhQUFhO2dCQUNiLGNBQWM7Z0JBQ2QsaUJBQWlCO2dCQUNqQixtQkFBbUI7Z0JBQ25CLGFBQWE7Z0JBQ2IsY0FBYztnQkFDZCxpQkFBaUI7Z0JBQ2pCLGtCQUFrQjtnQkFDbEIsaUJBQWlCO2dCQUNqQixtQkFBbUI7Z0JBQ25CLGFBQWE7Z0JBQ2IsWUFBWTtnQkFDWixnQkFBZ0I7Z0JBQ2hCLHdCQUF3QjtnQkFDeEIsb0JBQW9CO2dCQUNwQixjQUFjO2dCQUNkLG1CQUFtQjtnQkFDbkIsa0JBQWtCO2FBQ3JCO1lBQ0QsT0FBTyxFQUFFLENBQUMsMkJBQTJCLEVBQUUsZ0JBQWdCLENBQUM7WUFDeEQsZUFBZSxFQUFFLENBQUMsa0NBQWtDLENBQUM7WUFDckQsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO1NBQ3hCLENBQUM7T0FDVyx3QkFBd0IsQ0FBRztJQUFELCtCQUFDO0NBQUEsQUFBeEMsSUFBd0M7U0FBM0Isd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWdtQ29yZU1vZHVsZSB9IGZyb20gJ0BhZ20vY29yZSc7XHJcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgTWF0QmFkZ2VNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0R3JpZExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9ncmlkLWxpc3QnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xyXG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xyXG5pbXBvcnQgeyBNYXRTb3J0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XHJcbmltcG9ydCB7IFBpY2tlck1vZHVsZSB9IGZyb20gJ0BjdHJsL25neC1lbW9qaS1tYXJ0JztcclxuaW1wb3J0IHsgQW5ndWxhckVkaXRvck1vZHVsZSB9IGZyb20gJ0Brb2xrb3YvYW5ndWxhci1lZGl0b3InO1xyXG5pbXBvcnQgeyBOZ2JEcm9wZG93bk1vZHVsZSwgTmdiUGFnaW5hdGlvbk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0ICogYXMgZWNoYXJ0cyBmcm9tICdlY2hhcnRzJztcclxuaW1wb3J0IHsgTmd4RWNoYXJ0c01vZHVsZSB9IGZyb20gJ25neC1lY2hhcnRzJztcclxuaW1wb3J0IHsgU2VhcmNoTW9kdWxlIH0gZnJvbSAnLi4vZ2xvYmFsL3NlYXJjaC9zZWFyY2gubW9kdWxlJztcclxuaW1wb3J0IHsgQ2FtcGFpZ25NYW5hZ2VtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jYW1wYWlnbi1tYW5hZ2VtZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IElucHV0TnVtZXJpY01vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC1udW1lcmljL2lucHV0LW51bWVyaWMubW9kdWxlJztcclxuaW1wb3J0IHsgQ2FtcGFpZ25JbmRleE1vZHVsZSB9IGZyb20gJy4vbW9kdWxlcy9jYW1wYWlnbi1pbmRleC9jYW1wYWlnbi1pbmRleC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQZW5kaW5nQXBwcm92YWxEaWFsb2dWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9tb2R1bGVzL2NhbXBhaWduLWluZGV4L2RpYWxvZy9wZW5kaW5nLWFwcHJvdmFsLWRpYWxvZy12aWV3JztcclxuaW1wb3J0IHsgRGFzaGJvYXJkTW9kdWxlIH0gZnJvbSAnLi9tb2R1bGVzL2Rhc2hib2FyZC9kYXNoYm9hcmQubW9kdWxlJztcclxuaW1wb3J0IHsgTmV3Q2FtcGFpZ25Db21wb25lbnQgfSBmcm9tICcuL21vZHVsZXMvbmV3LWNhbXBhaWduJztcclxuaW1wb3J0IHsgR2VuZXJhbEluZm9ybWF0aW9uRW1haWxDb21wb25lbnQgfSBmcm9tICcuL21vZHVsZXMvbmV3LWNhbXBhaWduL2NvbXBvbmVudHMvZ2VuZXJhbC1pbmZvcm1hdGlvbi1lbWFpbCc7XHJcbmltcG9ydCB7IEdlbmVyYWxJbmZvcm1hdGlvbkxpbmVDb21wb25lbnQgfSBmcm9tICcuL21vZHVsZXMvbmV3LWNhbXBhaWduL2NvbXBvbmVudHMvZ2VuZXJhbC1pbmZvcm1hdGlvbi1saW5lJztcclxuaW1wb3J0IHsgR2VuZXJhbEluZm9ybWF0aW9uU01TQ29tcG9uZW50IH0gZnJvbSAnLi9tb2R1bGVzL25ldy1jYW1wYWlnbi9jb21wb25lbnRzL2dlbmVyYWwtaW5mb3JtYXRpb24tc21zJztcclxuaW1wb3J0IHsgR2VuZXJhbEluZm9ybWF0aW9uV0FDb21wb25lbnQgfSBmcm9tICcuL21vZHVsZXMvbmV3LWNhbXBhaWduL2NvbXBvbmVudHMvZ2VuZXJhbC1pbmZvcm1hdGlvbi13YSc7XHJcbmltcG9ydCB7IEZhaWxvdmVyTWVjaGFuaXNtQ29tcG9uZW50IH0gZnJvbSAnLi9tb2R1bGVzL25ldy1jYW1wYWlnbi9mYWlsb3Zlci1tZWNoYW5pc20nO1xyXG5pbXBvcnQgeyBHZW5lcmFsSW5mb3JtYXRpb25Db21wb25lbnQgfSBmcm9tICcuL21vZHVsZXMvbmV3LWNhbXBhaWduL2dlbmVyYWwtaW5mb3JtYXRpb24nO1xyXG5pbXBvcnQgeyBOZXdOdW1iZXJCYXNlc0NvbXBvbmVudCB9IGZyb20gJy4vbW9kdWxlcy9uZXctY2FtcGFpZ24vbmV3LW51bWJlci1iYXNlcyc7XHJcbmltcG9ydCB7IFNjaGVkdWxlckNvbXBvbmVudCB9IGZyb20gJy4vbW9kdWxlcy9uZXctY2FtcGFpZ24vc2NoZWR1bGVyJztcclxuaW1wb3J0IHsgU3VtbWFyeUNvbXBvbmVudCB9IGZyb20gJy4vbW9kdWxlcy9uZXctY2FtcGFpZ24vc3VtbWFyeSc7XHJcbmltcG9ydCB7IFdpemFyZENvbXBvbmVudCB9IGZyb20gJy4vbW9kdWxlcy93aXphcmQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIENhbXBhaWduTWFuYWdlbWVudENvbXBvbmVudCxcclxuICAgICAgICBXaXphcmRDb21wb25lbnQsXHJcbiAgICAgICAgTmV3Q2FtcGFpZ25Db21wb25lbnQsXHJcbiAgICAgICAgR2VuZXJhbEluZm9ybWF0aW9uQ29tcG9uZW50LFxyXG4gICAgICAgIFNjaGVkdWxlckNvbXBvbmVudCxcclxuICAgICAgICBTdW1tYXJ5Q29tcG9uZW50LFxyXG4gICAgICAgIE5ld051bWJlckJhc2VzQ29tcG9uZW50LFxyXG4gICAgICAgIEdlbmVyYWxJbmZvcm1hdGlvbkxpbmVDb21wb25lbnQsXHJcbiAgICAgICAgR2VuZXJhbEluZm9ybWF0aW9uV0FDb21wb25lbnQsXHJcbiAgICAgICAgR2VuZXJhbEluZm9ybWF0aW9uU01TQ29tcG9uZW50LFxyXG4gICAgICAgIEdlbmVyYWxJbmZvcm1hdGlvbkVtYWlsQ29tcG9uZW50LFxyXG4gICAgICAgIFBlbmRpbmdBcHByb3ZhbERpYWxvZ1ZpZXdDb21wb25lbnQsXHJcbiAgICAgICAgRmFpbG92ZXJNZWNoYW5pc21Db21wb25lbnQsXHJcbiAgICBdLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBBZ21Db3JlTW9kdWxlLmZvclJvb3Qoe1xyXG4gICAgICAgICAgICBhcGlLZXk6ICdBSXphU3lDSFJlQmVfUnB6QWdMVHJVQzVRSUR5ZUt0dFE4MTd3UlknLFxyXG4gICAgICAgICAgICBsaWJyYXJpZXM6IFsncGxhY2VzJ10sXHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgRGFzaGJvYXJkTW9kdWxlLFxyXG4gICAgICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcclxuICAgICAgICBGb3Jtc01vZHVsZSxcclxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgICAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICAgICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICAgICAgTWF0TGlzdE1vZHVsZSxcclxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgTmd4RWNoYXJ0c01vZHVsZS5mb3JSb290KHtcclxuICAgICAgICAgICAgZWNoYXJ0cyxcclxuICAgICAgICB9KSxcclxuICAgICAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgICAgIFBpY2tlck1vZHVsZSxcclxuICAgICAgICBBbmd1bGFyRWRpdG9yTW9kdWxlLFxyXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcclxuICAgICAgICBNYXRUYWJzTW9kdWxlLFxyXG4gICAgICAgIE1hdEJhZGdlTW9kdWxlLFxyXG4gICAgICAgIE5nYkRyb3Bkb3duTW9kdWxlLFxyXG4gICAgICAgIE5nYlBhZ2luYXRpb25Nb2R1bGUsXHJcbiAgICAgICAgTWF0Q2FyZE1vZHVsZSxcclxuICAgICAgICBNYXRUYWJsZU1vZHVsZSxcclxuICAgICAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgICAgICBNYXRQYWdpbmF0b3JNb2R1bGUsXHJcbiAgICAgICAgTWF0R3JpZExpc3RNb2R1bGUsXHJcbiAgICAgICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcclxuICAgICAgICBNYXRTb3J0TW9kdWxlLFxyXG4gICAgICAgIFNlYXJjaE1vZHVsZSxcclxuICAgICAgICBNYXREaXZpZGVyTW9kdWxlLFxyXG4gICAgICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcclxuICAgICAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuICAgICAgICBEcmFnRHJvcE1vZHVsZSxcclxuICAgICAgICBDYW1wYWlnbkluZGV4TW9kdWxlLFxyXG4gICAgICAgIElucHV0TnVtZXJpY01vZHVsZSxcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbQ2FtcGFpZ25NYW5hZ2VtZW50Q29tcG9uZW50LCBTdW1tYXJ5Q29tcG9uZW50XSxcclxuICAgIGVudHJ5Q29tcG9uZW50czogW1BlbmRpbmdBcHByb3ZhbERpYWxvZ1ZpZXdDb21wb25lbnRdLFxyXG4gICAgcHJvdmlkZXJzOiBbRGF0ZVBpcGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FtcGFpZ25NYW5hZ2VtZW50TW9kdWxlIHt9XHJcbiJdfQ==
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtcGFpZ24tbWFuYWdlbWVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRsZmUvY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL2NhbXBhaWduLW1hbmFnZW1lbnQvY2FtcGFpZ24tbWFuYWdlbWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUs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QixNQUFNLEVBQUUseUNBQXlDO29CQUNqRCxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7aUJBQ3hCLENBQUM7Z0JBQ0YsZUFBZTtnQkFDZixxQkFBcUI7Z0JBQ3JCLFdBQVc7Z0JBQ1gsbUJBQW1CO2dCQUNuQixrQkFBa0I7Z0JBQ2xCLGNBQWM7Z0JBQ2QsZUFBZTtnQkFDZixjQUFjO2dCQUNkLGFBQWE7Z0JBQ2IsZUFBZTtnQkFDZixnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7b0JBQ3JCLE9BQU8sU0FBQTtpQkFDVixDQUFDO2dCQUNGLGFBQWE7Z0JBQ2IsWUFBWTtnQkFDWixtQkFBbUI7Z0JBQ25CLGVBQWU7Z0JBQ2YsYUFBYTtnQkFDYixjQUFjO2dCQUNkLGlCQUFpQjtnQkFDakIsbUJBQW1CO2dCQUNuQixhQUFhO2dCQUNiLGNBQWM7Z0JBQ2QsaUJBQWlCO2dCQUNqQixrQkFBa0I7Z0JBQ2xCLGlCQUFpQjtnQkFDakIsbUJBQW1CO2dCQUNuQixhQUFhO2dCQUNiLFlBQVk7Z0JBQ1osZ0JBQWdCO2dCQUNoQix3QkFBd0I7Z0JBQ3hCLG9CQUFvQjtnQkFDcEIsY0FBYztnQkFDZCxtQkFBbUI7Z0JBQ25CLGtCQUFrQjthQUNyQjtZQUNELE9BQU8sRUFBRSxDQUFDLDJCQUEyQixFQUFFLGdCQUFnQixFQUFFLGVBQWUsQ0FBQztZQUN6RSxlQUFlLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztZQUNyRCxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7U0FDeEIsQ0FBQztPQUNXLHdCQUF3QixDQUFHO0lBQUQsK0JBQUM7Q0FBQSxBQUF4QyxJQUF3QztTQUEzQix3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZ21Db3JlTW9kdWxlIH0gZnJvbSAnQGFnbS9jb3JlJztcclxuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyBNYXRCYWRnZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JhZGdlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRHcmlkTGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2dyaWQtbGlzdCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XHJcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XHJcbmltcG9ydCB7IE1hdFNvcnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IE1hdFRhYnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcclxuaW1wb3J0IHsgUGlja2VyTW9kdWxlIH0gZnJvbSAnQGN0cmwvbmd4LWVtb2ppLW1hcnQnO1xyXG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yTW9kdWxlIH0gZnJvbSAnQGtvbGtvdi9hbmd1bGFyLWVkaXRvcic7XHJcbmltcG9ydCB7IE5nYkRyb3Bkb3duTW9kdWxlLCBOZ2JQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgKiBhcyBlY2hhcnRzIGZyb20gJ2VjaGFydHMnO1xyXG5pbXBvcnQgeyBOZ3hFY2hhcnRzTW9kdWxlIH0gZnJvbSAnbmd4LWVjaGFydHMnO1xyXG5pbXBvcnQgeyBTZWFyY2hNb2R1bGUgfSBmcm9tICcuLi9nbG9iYWwvc2VhcmNoL3NlYXJjaC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBDYW1wYWlnbk1hbmFnZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2NhbXBhaWduLW1hbmFnZW1lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5wdXROdW1lcmljTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LW51bWVyaWMvaW5wdXQtbnVtZXJpYy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBDYW1wYWlnbkluZGV4TW9kdWxlIH0gZnJvbSAnLi9tb2R1bGVzL2NhbXBhaWduLWluZGV4L2NhbXBhaWduLWluZGV4Lm1vZHVsZSc7XHJcbmltcG9ydCB7IFBlbmRpbmdBcHByb3ZhbERpYWxvZ1ZpZXdDb21wb25lbnQgfSBmcm9tICcuL21vZHVsZXMvY2FtcGFpZ24taW5kZXgvZGlhbG9nL3BlbmRpbmctYXBwcm92YWwtZGlhbG9nLXZpZXcnO1xyXG5pbXBvcnQgeyBEYXNoYm9hcmRNb2R1bGUgfSBmcm9tICcuL21vZHVsZXMvZGFzaGJvYXJkL2Rhc2hib2FyZC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBOZXdDYW1wYWlnbkNvbXBvbmVudCB9IGZyb20gJy4vbW9kdWxlcy9uZXctY2FtcGFpZ24nO1xyXG5pbXBvcnQgeyBHZW5lcmFsSW5mb3JtYXRpb25FbWFpbENvbXBvbmVudCB9IGZyb20gJy4vbW9kdWxlcy9uZXctY2FtcGFpZ24vY29tcG9uZW50cy9nZW5lcmFsLWluZm9ybWF0aW9uLWVtYWlsJztcclxuaW1wb3J0IHsgR2VuZXJhbEluZm9ybWF0aW9uTGluZUNvbXBvbmVudCB9IGZyb20gJy4vbW9kdWxlcy9uZXctY2FtcGFpZ24vY29tcG9uZW50cy9nZW5lcmFsLWluZm9ybWF0aW9uLWxpbmUnO1xyXG5pbXBvcnQgeyBHZW5lcmFsSW5mb3JtYXRpb25TTVNDb21wb25lbnQgfSBmcm9tICcuL21vZHVsZXMvbmV3LWNhbXBhaWduL2NvbXBvbmVudHMvZ2VuZXJhbC1pbmZvcm1hdGlvbi1zbXMnO1xyXG5pbXBvcnQgeyBHZW5lcmFsSW5mb3JtYXRpb25XQUNvbXBvbmVudCB9IGZyb20gJy4vbW9kdWxlcy9uZXctY2FtcGFpZ24vY29tcG9uZW50cy9nZW5lcmFsLWluZm9ybWF0aW9uLXdhJztcclxuaW1wb3J0IHsgRmFpbG92ZXJNZWNoYW5pc21Db21wb25lbnQgfSBmcm9tICcuL21vZHVsZXMvbmV3LWNhbXBhaWduL2ZhaWxvdmVyLW1lY2hhbmlzbSc7XHJcbmltcG9ydCB7IEdlbmVyYWxJbmZvcm1hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vbW9kdWxlcy9uZXctY2FtcGFpZ24vZ2VuZXJhbC1pbmZvcm1hdGlvbic7XHJcbmltcG9ydCB7IE5ld051bWJlckJhc2VzQ29tcG9uZW50IH0gZnJvbSAnLi9tb2R1bGVzL25ldy1jYW1wYWlnbi9uZXctbnVtYmVyLWJhc2VzJztcclxuaW1wb3J0IHsgU2NoZWR1bGVyQ29tcG9uZW50IH0gZnJvbSAnLi9tb2R1bGVzL25ldy1jYW1wYWlnbi9zY2hlZHVsZXInO1xyXG5pbXBvcnQgeyBTdW1tYXJ5Q29tcG9uZW50IH0gZnJvbSAnLi9tb2R1bGVzL25ldy1jYW1wYWlnbi9zdW1tYXJ5JztcclxuaW1wb3J0IHsgV2l6YXJkQ29tcG9uZW50IH0gZnJvbSAnLi9tb2R1bGVzL3dpemFyZCc7XHJcbmltcG9ydCB7IFZpZGVvUG9zdGVyUGlwZSB9IGZyb20gJy4vdXRpbC92aWRlby1wb3N0ZXIucGlwZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgQ2FtcGFpZ25NYW5hZ2VtZW50Q29tcG9uZW50LFxyXG4gICAgICAgIFdpemFyZENvbXBvbmVudCxcclxuICAgICAgICBOZXdDYW1wYWlnbkNvbXBvbmVudCxcclxuICAgICAgICBHZW5lcmFsSW5mb3JtYXRpb25Db21wb25lbnQsXHJcbiAgICAgICAgU2NoZWR1bGVyQ29tcG9uZW50LFxyXG4gICAgICAgIFN1bW1hcnlDb21wb25lbnQsXHJcbiAgICAgICAgTmV3TnVtYmVyQmFzZXNDb21wb25lbnQsXHJcbiAgICAgICAgR2VuZXJhbEluZm9ybWF0aW9uTGluZUNvbXBvbmVudCxcclxuICAgICAgICBHZW5lcmFsSW5mb3JtYXRpb25XQUNvbXBvbmVudCxcclxuICAgICAgICBHZW5lcmFsSW5mb3JtYXRpb25TTVNDb21wb25lbnQsXHJcbiAgICAgICAgR2VuZXJhbEluZm9ybWF0aW9uRW1haWxDb21wb25lbnQsXHJcbiAgICAgICAgUGVuZGluZ0FwcHJvdmFsRGlhbG9nVmlld0NvbXBvbmVudCxcclxuICAgICAgICBGYWlsb3Zlck1lY2hhbmlzbUNvbXBvbmVudCxcclxuICAgICAgICBWaWRlb1Bvc3RlclBpcGUsXHJcbiAgICBdLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBBZ21Db3JlTW9kdWxlLmZvclJvb3Qoe1xyXG4gICAgICAgICAgICBhcGlLZXk6ICdBSXphU3lDSFJlQmVfUnB6QWdMVHJVQzVRSUR5ZUt0dFE4MTd3UlknLFxyXG4gICAgICAgICAgICBsaWJyYXJpZXM6IFsncGxhY2VzJ10sXHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgRGFzaGJvYXJkTW9kdWxlLFxyXG4gICAgICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcclxuICAgICAgICBGb3Jtc01vZHVsZSxcclxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgICAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICAgICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICAgICAgTWF0TGlzdE1vZHVsZSxcclxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgTmd4RWNoYXJ0c01vZHVsZS5mb3JSb290KHtcclxuICAgICAgICAgICAgZWNoYXJ0cyxcclxuICAgICAgICB9KSxcclxuICAgICAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgICAgIFBpY2tlck1vZHVsZSxcclxuICAgICAgICBBbmd1bGFyRWRpdG9yTW9kdWxlLFxyXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcclxuICAgICAgICBNYXRUYWJzTW9kdWxlLFxyXG4gICAgICAgIE1hdEJhZGdlTW9kdWxlLFxyXG4gICAgICAgIE5nYkRyb3Bkb3duTW9kdWxlLFxyXG4gICAgICAgIE5nYlBhZ2luYXRpb25Nb2R1bGUsXHJcbiAgICAgICAgTWF0Q2FyZE1vZHVsZSxcclxuICAgICAgICBNYXRUYWJsZU1vZHVsZSxcclxuICAgICAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgICAgICBNYXRQYWdpbmF0b3JNb2R1bGUsXHJcbiAgICAgICAgTWF0R3JpZExpc3RNb2R1bGUsXHJcbiAgICAgICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcclxuICAgICAgICBNYXRTb3J0TW9kdWxlLFxyXG4gICAgICAgIFNlYXJjaE1vZHVsZSxcclxuICAgICAgICBNYXREaXZpZGVyTW9kdWxlLFxyXG4gICAgICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcclxuICAgICAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuICAgICAgICBEcmFnRHJvcE1vZHVsZSxcclxuICAgICAgICBDYW1wYWlnbkluZGV4TW9kdWxlLFxyXG4gICAgICAgIElucHV0TnVtZXJpY01vZHVsZSxcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbQ2FtcGFpZ25NYW5hZ2VtZW50Q29tcG9uZW50LCBTdW1tYXJ5Q29tcG9uZW50LCBWaWRlb1Bvc3RlclBpcGVdLFxyXG4gICAgZW50cnlDb21wb25lbnRzOiBbUGVuZGluZ0FwcHJvdmFsRGlhbG9nVmlld0NvbXBvbmVudF0sXHJcbiAgICBwcm92aWRlcnM6IFtEYXRlUGlwZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYW1wYWlnbk1hbmFnZW1lbnRNb2R1bGUge31cclxuIl19