UNPKG

@lifeintelligencegroup/ngx-lig-ari

Version:

Life Intelligence Group Artificial Intelligence

118 lines 44.6 kB
import { Component, Output, Input, EventEmitter } from '@angular/core'; import { Browser } from '@capacitor/browser'; import isEmpty from 'lodash-es/isEmpty'; import each from 'lodash-es/each'; import * as i0 from "@angular/core"; import * as i1 from "@ionic/angular"; import * as i2 from "@angular/common"; import * as i3 from "../../pipes/truncate.pipe"; export class AriCardAttachmentsComponent { constructor(actionSheetController, plt) { this.actionSheetController = actionSheetController; this.plt = plt; this.sendSelectionEv = new EventEmitter(); this.showSubTitle = false; this.showTitle = false; this.showText = false; this.showImages = false; this.showAriTrainingCard = false; } ngOnInit() { if (this.attachment) { const content = this.attachment.content; if (isEmpty(content.subtitle) && !this.imageSrc) { this.cardView = 'card-goal card-attachments'; } else { this.cardView = 'card-default card-attachments'; } if (!isEmpty(content.subtitle)) { this.subtitle = content.subtitle; this.showSubTitle = true; this.showAriTrainingCard = false; } if (!isEmpty(content.title)) { this.title = content.title; this.showTitle = true; this.showAriTrainingCard = false; } if (!isEmpty(content.text)) { this.contentText = content.text; this.showText = true; } if (!isEmpty(content.images)) { this.showImages = true; this.imageSrc = content.images[0].url; this.showAriTrainingCard = false; } if (!isEmpty(content.text) && isEmpty(content.title) && isEmpty(content.subtitle)) { this.contentText = content.text; this.showAriTrainingCard = true; this.showText = false; } } } getFavIconImage(url) { if (url) { return 'https://s2.googleusercontent.com/s2/favicons?domain_url=' + url; } } hasButtons(content) { return content && !!content.buttons ? content.buttons : null; } sendSelection(button) { this.sendSelectionEv.emit(button); } async showMoreButtons() { const moreButtons = []; if (this.attachment) { const content = this.attachment.content; if (!isEmpty(content.buttons)) { each(content.buttons, (button) => { moreButtons.push({ text: button.title, handler: async () => { if (button.type === 'openUrl') { if (this.plt.is('cordova') || this.plt.is('capacitor')) { const inAppOptions = { presentationStyle: 'fullscreen', windowName: '_blank', url: button.value }; await Browser.open(inAppOptions); } else { window.open(button.value, '_blank', 'noopener noreferrer'); } } }, }); }); const actionSheet = await this.actionSheetController.create({ buttons: [ ...moreButtons, { text: 'Cancel', role: 'cancel', handler: () => { }, }, ], }); await actionSheet.present(); } } } } AriCardAttachmentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: AriCardAttachmentsComponent, deps: [{ token: i1.ActionSheetController }, { token: i1.Platform }], target: i0.ɵɵFactoryTarget.Component }); AriCardAttachmentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: AriCardAttachmentsComponent, selector: "lig-ari-card-attachments", inputs: { attachment: "attachment" }, outputs: { sendSelectionEv: "sendSelectionEv" }, ngImport: i0, template: "<div [class]=\"cardView\">\n <!-- <ng-container *ngIf=\"showAriTrainingCard\">\n <div class=\"card-training-label\">\n {{ contentText }}\n </div>\n </ng-container> -->\n <div class=\"card-attachment-header\" *ngIf=\"showImages\">\n <ng-container *ngIf=\"imageSrc\">\n <img [src]=\"imageSrc\" [alt]=\"imageSrc\" height=\"245\" class=\"card-attachment-header-image\" />\n </ng-container>\n </div>\n <div class=\"card-attachments-header\" *ngIf=\"showTitle\">\n <ng-container *ngIf=\"imageSrc\">\n <img [src]=\"imageSrc\" [alt]=\"imageSrc\" class=\"card-attachment-header-image\" />\n </ng-container>\n <div class=\"card-attachment-header-label\">\n <h1 class=\"card-header-title\">\n {{ title | truncate: [\"45\"] }}\n </h1>\n <img\n src=\"data:image/svg+xml;utf8,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 512 512'%3E%3Ctitle%3Eionicons-v5-f%3C/title%3E%3Ccircle cx='256' cy='256' r='48'/%3E%3Ccircle cx='256' cy='416' r='48'/%3E%3Ccircle cx='256' cy='96' r='48'/%3E%3C/svg%3E\"\n (click)=\"showMoreButtons()\" />\n </div>\n <!-- <p class=\"card-header-label\">\n {{ subtitle }}\n </p> -->\n </div>\n\n <div class=\"card-body-text\" *ngIf=\"contentText && !showAriTrainingCard\">\n {{ contentText | truncate: [\"110\"] }}\n </div>\n\n <div class=\"card-body-only-text\" *ngIf=\"contentText && showAriTrainingCard\">\n {{ contentText }}\n </div>\n\n <div class=\"card-body\" *ngIf=\"!showAriTrainingCard && hasButtons(attachment.content) as buttons\">\n <button *ngFor=\"let button of buttons\" class=\"button-card\" (click)=\"sendSelection(button)\">\n View Article\n <!-- {{ button.title }} -->\n </button>\n </div>\n\n <div class=\"card-body\" *ngIf=\"showAriTrainingCard && hasButtons(attachment.content) as buttons\">\n <button *ngFor=\"let button of buttons\" class=\"button-training\" (click)=\"sendSelection(button)\">\n {{ button.title }}\n </button>\n </div>\n</div>", styles: [":root{--ion-color-white: #ffffff;--ion-color-white-rgb: 255, 255, 255;--ion-color-white-contrast: #000000;--ion-color-white-contrast-rgb: 0, 104, 217;--ion-color-white-shade: #e0e0e0;--ion-color-white-tint: #ffffff;--ion-color-blue: #1d57a4;--ion-color-blue-rgb: 0, 102, 216;--ion-color-blue-contrast: #ffffff;--ion-color-blue-contrast-rgb: 255, 255, 255;--ion-color-blue-shade: #1d57a4;--ion-color-blue-tint: #1d57a4;--ion-color-lightgray: #f2f6fc;--ion-color-lightgray-rgb: 242, 246, 252;--ion-color-lightgray-contrast: #1d57a4;--ion-color-lightgray-contrast-rgb: 0, 0, 0;--ion-color-lightgray-shade: #d5d8de;--ion-color-lightgray-tint: #f3f7fc;--ion-color-ts-red: #ff6060;--ion-color-ts-red-rgb: 255, 96, 96;--ion-color-ts-red-contrast: #ffffff;--ion-color-ts-red-contrast-rgb: 0, 0, 0;--ion-color-ts-red-shade: #e05454;--ion-color-ts-red-tint: #ff7070;--ion-color-ts-blue: #1d57a4;--ion-color-ts-blue-rgb: 2, 153, 255;--ion-color-ts-blue-contrast: #ffffff;--ion-color-ts-blue-contrast-rgb: 255, 255, 255;--ion-color-ts-blue-shade: #1d57a4;--ion-color-ts-blue-tint: #1d57a4;--ion-color-ts-amber: #ffcc66;--ion-color-ts-amber-rgb: 255, 204, 102;--ion-color-ts-amber-contrast: #000000;--ion-color-ts-amber-contrast-rgb: 0, 0, 0;--ion-color-ts-amber-shade: #e0b45a;--ion-color-ts-amber-tint: #ffd175;--ion-color-ts-green: #99cb67;--ion-color-ts-green-rgb: 153, 203, 103;--ion-color-ts-green-contrast: #ffffff;--ion-color-ts-green-contrast-rgb: 0, 0, 0;--ion-color-ts-green-shade: #87b35b;--ion-color-ts-green-tint: #a3d076;--ion-color-ts-grey: #a3a3a3;--ion-color-ts-grey-rgb: 163, 163, 163;--ion-color-ts-grey-contrast: #000000;--ion-color-ts-grey-contrast-rgb: 0, 0, 0;--ion-color-ts-grey-shade: #8f8f8f;--ion-color-ts-grey-tint: #acacac;--ion-color-light-grey: #e1e7f0;--ion-color-light-grey-rgb: 225, 231, 240;--ion-color-light-grey-contrast: #000000;--ion-color-light-grey-contrast-rgb: 0, 0, 0;--ion-color-light-grey-shade: #c6cbd3;--ion-color-light-grey-tint: #e4e9f2;--ion-color-0058ff: #0058ff;--ion-color-0058ff-rgb: 0, 88, 255;--ion-color-0058ff-contrast: #ffffff;--ion-color-0058ff-contrast-rgb: 255, 255, 255;--ion-color-0058ff-shade: #004de0;--ion-color-0058ff-tint: #1a69ff;--ion-color-0099ff: #0099ff;--ion-color-0099ff-rgb: 0, 153, 255;--ion-color-0099ff-contrast: #ffffff;--ion-color-0099ff-contrast-rgb: 255, 255, 255;--ion-color-0099ff-shade: #0087e0;--ion-color-0099ff-tint: #1aa3ff;--bodyfont-default: #151515;--icons-colors: #d3dcdb;--bodyfont-light: #6e7e81;--bodyfont-emptyviews: #343434;--bodyfont-secondary: #2f2f2f;--background-default: #f7f7f7;--background-teal: #d3dcdb;--background-lightgrey: #f4f4f4;--background-white: #ffffff;--background-offwhite: #fafafa;--background-tasks: #ebebeb;--background-emptyview: #f2f2f2;--taskspur-blue: #1d57a4;--taskspur-teal: #309da6;--taskspur-red: #f64d4b;--taskspur-amber: #fac441;--taskspur-darkblue: #184b90;--taskspur-darkteal: #309da6;--taskspur-darkred: #e3413f;--taskspur-darkamber: #e6b53b;--theme-font: \"Helvetica\", sans-serif;--background-tertiary-shadow: 0px 1px 0px #0000000d;--background-card-shadow: 0px 3px 6px #00000014;--background-overlaypanel-shadow: 0px 4px 16px #00000029}.ion-color-white{--ion-color-base: var(--ion-color-white) !important;--ion-color-base-rgb: var(--ion-color-white-rgb) !important;--ion-color-contrast: var(--ion-color-white-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-white-contrast-rgb) !important;--ion-color-shade: var(--ion-color-white-shade) !important;--ion-color-tint: var(--ion-color-white-tint) !important;--ion-toolbar-background: var(--ion-color-white) !important}.ion-color-blue{--ion-color-base: var(--ion-color-blue) !important;--ion-color-base-rgb: var(--ion-color-blue-rgb) !important;--ion-color-contrast: var(--ion-color-blue-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-blue-contrast-rgb) !important;--ion-color-shade: var(--ion-color-blue-shade) !important;--ion-color-tint: var(--ion-color-blue-tint) !important;--ion-toolbar-background: var(--ion-color-blue) !important}.ion-color-lightgray{--ion-color-base: var(--ion-color-lightgray) !important;--ion-color-base-rgb: var(--ion-color-lightgray-rgb) !important;--ion-color-contrast: var(--ion-color-lightgray-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-lightgray-contrast-rgb) !important;--ion-color-shade: var(--ion-color-lightgray-shade) !important;--ion-color-tint: var(--ion-color-lightgray-tint) !important;--ion-toolbar-background: var(--ion-color-lightgray) !important}.ion-color-ts-red{--ion-color-base: var(--ion-color-ts-red) !important;--ion-color-base-rgb: var(--ion-color-ts-red-rgb) !important;--ion-color-contrast: var(--ion-color-ts-red-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-ts-red-contrast-rgb) !important;--ion-color-shade: var(--ion-color-ts-red-shade) !important;--ion-color-tint: var(--ion-color-ts-red-tint) !important;--ion-toolbar-background: var(--ion-color-ts-red) !important}.ion-color-ts-blue{--ion-color-base: var(--ion-color-ts-blue) !important;--ion-color-base-rgb: var(--ion-color-ts-blue-rgb) !important;--ion-color-contrast: var(--ion-color-ts-blue-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-ts-blue-contrast-rgb) !important;--ion-color-shade: var(--ion-color-ts-blue-shade) !important;--ion-color-tint: var(--ion-color-ts-blue-tint) !important;--ion-toolbar-background: var(--ion-color-ts-blue) !important}.ion-color-ts-amber{--ion-color-base: var(--ion-color-ts-amber) !important;--ion-color-base-rgb: var(--ion-color-ts-amber-rgb) !important;--ion-color-contrast: var(--ion-color-ts-amber-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-ts-amber-contrast-rgb) !important;--ion-color-shade: var(--ion-color-ts-amber-shade) !important;--ion-color-tint: var(--ion-color-ts-amber-tint) !important;--ion-toolbar-background: var(--ion-color-ts-amber) !important}.ion-color-ts-green{--ion-color-base: var(--ion-color-ts-green) !important;--ion-color-base-rgb: var(--ion-color-ts-green-rgb) !important;--ion-color-contrast: var(--ion-color-ts-green-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-ts-green-contrast-rgb) !important;--ion-color-shade: var(--ion-color-ts-green-shade) !important;--ion-color-tint: var(--ion-color-ts-green-tint) !important;--ion-toolbar-background: var(--ion-color-ts-green) !important}.ion-color-ts-grey{--ion-color-base: var(--ion-color-ts-grey) !important;--ion-color-base-rgb: var(--ion-color-ts-grey-rgb) !important;--ion-color-contrast: var(--ion-color-ts-grey-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-ts-grey-contrast-rgb) !important;--ion-color-shade: var(--ion-color-ts-grey-shade) !important;--ion-color-tint: var(--ion-color-ts-grey-tint) !important;--ion-toolbar-background: var(--ion-color-ts-grey) !important}.ion-color-light-grey{--ion-color-base: var(--ion-color-light-grey) !important;--ion-color-base-rgb: var(--ion-color-light-grey-rgb) !important;--ion-color-contrast: var(--ion-color-light-grey-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-light-grey-contrast-rgb) !important;--ion-color-shade: var(--ion-color-light-grey-shade) !important;--ion-color-tint: var(--ion-color-light-grey-tint) !important;--ion-toolbar-background: var(--ion-color-light-grey) !important}.ion-color-0058FF{--ion-color-base: var(--ion-color-0058FF) !important;--ion-color-base-rgb: var(--ion-color-0058FF-rgb) !important;--ion-color-contrast: var(--ion-color-0058FF-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-0058FF-contrast-rgb) !important;--ion-color-shade: var(--ion-color-0058FF-shade) !important;--ion-color-tint: var(--ion-color-0058FF-tint) !important;--ion-toolbar-background: var(--ion-color-0058FF) !important}.ion-color-0099FF{--ion-color-base: var(--ion-color-0099FF) !important;--ion-color-base-rgb: var(--ion-color-0099FF-rgb) !important;--ion-color-contrast: var(--ion-color-0099FF-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-0099FF-contrast-rgb) !important;--ion-color-shade: var(--ion-color-0099FF-shade) !important;--ion-color-tint: var(--ion-color-0099FF-tint) !important;--ion-toolbar-background: var(--ion-color-0099FF) !important}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#373737}::-webkit-scrollbar-thumb:hover{background:#37373780}:host{flex:0 0 auto}:host .card-default{display:flex;flex-direction:column;height:200px;width:300px;flex:0 0 auto;background:#fff;box-shadow:0 4px 12px #0000001a;border:1px solid #d3dcdb;animation:fadein 1s;overflow:auto;margin:10px 5px 10px 0;border-radius:4px}:host .card-goal{border-radius:12px;width:auto;max-width:300px;flex:0 0 auto;background:#fff;box-shadow:0 4px 12px #0000001a;border:1px solid #d3dcdb;animation:fadein 1s}:host .card-attachments .card-attachments-header{display:flex;padding:10px 16px}:host .card-attachments .card-attachments-header .card-attachment-header-image{object-fit:cover;height:50px;width:50px;margin-right:10px}:host .card-attachments .card-attachments-header .card-attachment-header-label{display:flex;width:100%;justify-content:space-between}:host .card-attachments .card-attachments-header .card-attachment-header-label img{width:15px;height:15px;cursor:pointer}:host .card-attachments .card-attachments-header .fav-icon{height:16px;width:16px;margin:10px auto 0}:host .card-attachments .card-attachments-header .card-header-title{color:#151515;text-transform:none;font-size:15px;font-family:Helvetica,sans-serif;font-weight:600;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;margin:unset;white-space:normal!important}:host .card-attachments .card-attachments-header .card-header-label{font-size:12px;text-transform:lowercase;font-weight:400;font-family:Helvetica,sans-serif;color:#1d57a4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default;margin:unset}:host .card-attachments .card-body{font-size:12px;white-space:initial;height:auto;flex:none;font-family:Helvetica,sans-serif;color:#6e7e81;padding:10px;margin-top:auto}:host .card-attachments .card-body-text{font-size:12px;white-space:initial;height:auto;flex:none;font-family:Helvetica,sans-serif;color:#6e7e81;padding:5px 16px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical}:host .card-attachments .card-body-only-text{font-size:13px;white-space:initial;height:auto;flex:none;font-family:Helvetica,sans-serif;color:#151515;padding:16px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical}:host .card-attachments .card-attachments-footer{position:absolute;bottom:0;padding:8px}:host .card-attachments .card-training-label{margin-top:24px;font-size:14px;padding:0 24px 8px 20px;color:#151515;font-weight:400}:host .card-attachments .button-card{width:100%;text-transform:none;background:#309da6;box-shadow:none;color:#fff;padding:13px 0;border-radius:4px;letter-spacing:.42px;font-weight:bolder;border:1px solid #309da6}:host .card-attachments .button-training{width:100%;text-transform:none;background:#fff;box-shadow:none;color:#1d57a4;padding:8px 0;border-radius:4px;border:1.5px solid #1d57a4}@keyframes fadein{0%{opacity:0}to{opacity:1}}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "truncate": i3.TruncatePipe } }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: AriCardAttachmentsComponent, decorators: [{ type: Component, args: [{ selector: 'lig-ari-card-attachments', template: "<div [class]=\"cardView\">\n <!-- <ng-container *ngIf=\"showAriTrainingCard\">\n <div class=\"card-training-label\">\n {{ contentText }}\n </div>\n </ng-container> -->\n <div class=\"card-attachment-header\" *ngIf=\"showImages\">\n <ng-container *ngIf=\"imageSrc\">\n <img [src]=\"imageSrc\" [alt]=\"imageSrc\" height=\"245\" class=\"card-attachment-header-image\" />\n </ng-container>\n </div>\n <div class=\"card-attachments-header\" *ngIf=\"showTitle\">\n <ng-container *ngIf=\"imageSrc\">\n <img [src]=\"imageSrc\" [alt]=\"imageSrc\" class=\"card-attachment-header-image\" />\n </ng-container>\n <div class=\"card-attachment-header-label\">\n <h1 class=\"card-header-title\">\n {{ title | truncate: [\"45\"] }}\n </h1>\n <img\n src=\"data:image/svg+xml;utf8,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 512 512'%3E%3Ctitle%3Eionicons-v5-f%3C/title%3E%3Ccircle cx='256' cy='256' r='48'/%3E%3Ccircle cx='256' cy='416' r='48'/%3E%3Ccircle cx='256' cy='96' r='48'/%3E%3C/svg%3E\"\n (click)=\"showMoreButtons()\" />\n </div>\n <!-- <p class=\"card-header-label\">\n {{ subtitle }}\n </p> -->\n </div>\n\n <div class=\"card-body-text\" *ngIf=\"contentText && !showAriTrainingCard\">\n {{ contentText | truncate: [\"110\"] }}\n </div>\n\n <div class=\"card-body-only-text\" *ngIf=\"contentText && showAriTrainingCard\">\n {{ contentText }}\n </div>\n\n <div class=\"card-body\" *ngIf=\"!showAriTrainingCard && hasButtons(attachment.content) as buttons\">\n <button *ngFor=\"let button of buttons\" class=\"button-card\" (click)=\"sendSelection(button)\">\n View Article\n <!-- {{ button.title }} -->\n </button>\n </div>\n\n <div class=\"card-body\" *ngIf=\"showAriTrainingCard && hasButtons(attachment.content) as buttons\">\n <button *ngFor=\"let button of buttons\" class=\"button-training\" (click)=\"sendSelection(button)\">\n {{ button.title }}\n </button>\n </div>\n</div>", styles: [":root{--ion-color-white: #ffffff;--ion-color-white-rgb: 255, 255, 255;--ion-color-white-contrast: #000000;--ion-color-white-contrast-rgb: 0, 104, 217;--ion-color-white-shade: #e0e0e0;--ion-color-white-tint: #ffffff;--ion-color-blue: #1d57a4;--ion-color-blue-rgb: 0, 102, 216;--ion-color-blue-contrast: #ffffff;--ion-color-blue-contrast-rgb: 255, 255, 255;--ion-color-blue-shade: #1d57a4;--ion-color-blue-tint: #1d57a4;--ion-color-lightgray: #f2f6fc;--ion-color-lightgray-rgb: 242, 246, 252;--ion-color-lightgray-contrast: #1d57a4;--ion-color-lightgray-contrast-rgb: 0, 0, 0;--ion-color-lightgray-shade: #d5d8de;--ion-color-lightgray-tint: #f3f7fc;--ion-color-ts-red: #ff6060;--ion-color-ts-red-rgb: 255, 96, 96;--ion-color-ts-red-contrast: #ffffff;--ion-color-ts-red-contrast-rgb: 0, 0, 0;--ion-color-ts-red-shade: #e05454;--ion-color-ts-red-tint: #ff7070;--ion-color-ts-blue: #1d57a4;--ion-color-ts-blue-rgb: 2, 153, 255;--ion-color-ts-blue-contrast: #ffffff;--ion-color-ts-blue-contrast-rgb: 255, 255, 255;--ion-color-ts-blue-shade: #1d57a4;--ion-color-ts-blue-tint: #1d57a4;--ion-color-ts-amber: #ffcc66;--ion-color-ts-amber-rgb: 255, 204, 102;--ion-color-ts-amber-contrast: #000000;--ion-color-ts-amber-contrast-rgb: 0, 0, 0;--ion-color-ts-amber-shade: #e0b45a;--ion-color-ts-amber-tint: #ffd175;--ion-color-ts-green: #99cb67;--ion-color-ts-green-rgb: 153, 203, 103;--ion-color-ts-green-contrast: #ffffff;--ion-color-ts-green-contrast-rgb: 0, 0, 0;--ion-color-ts-green-shade: #87b35b;--ion-color-ts-green-tint: #a3d076;--ion-color-ts-grey: #a3a3a3;--ion-color-ts-grey-rgb: 163, 163, 163;--ion-color-ts-grey-contrast: #000000;--ion-color-ts-grey-contrast-rgb: 0, 0, 0;--ion-color-ts-grey-shade: #8f8f8f;--ion-color-ts-grey-tint: #acacac;--ion-color-light-grey: #e1e7f0;--ion-color-light-grey-rgb: 225, 231, 240;--ion-color-light-grey-contrast: #000000;--ion-color-light-grey-contrast-rgb: 0, 0, 0;--ion-color-light-grey-shade: #c6cbd3;--ion-color-light-grey-tint: #e4e9f2;--ion-color-0058ff: #0058ff;--ion-color-0058ff-rgb: 0, 88, 255;--ion-color-0058ff-contrast: #ffffff;--ion-color-0058ff-contrast-rgb: 255, 255, 255;--ion-color-0058ff-shade: #004de0;--ion-color-0058ff-tint: #1a69ff;--ion-color-0099ff: #0099ff;--ion-color-0099ff-rgb: 0, 153, 255;--ion-color-0099ff-contrast: #ffffff;--ion-color-0099ff-contrast-rgb: 255, 255, 255;--ion-color-0099ff-shade: #0087e0;--ion-color-0099ff-tint: #1aa3ff;--bodyfont-default: #151515;--icons-colors: #d3dcdb;--bodyfont-light: #6e7e81;--bodyfont-emptyviews: #343434;--bodyfont-secondary: #2f2f2f;--background-default: #f7f7f7;--background-teal: #d3dcdb;--background-lightgrey: #f4f4f4;--background-white: #ffffff;--background-offwhite: #fafafa;--background-tasks: #ebebeb;--background-emptyview: #f2f2f2;--taskspur-blue: #1d57a4;--taskspur-teal: #309da6;--taskspur-red: #f64d4b;--taskspur-amber: #fac441;--taskspur-darkblue: #184b90;--taskspur-darkteal: #309da6;--taskspur-darkred: #e3413f;--taskspur-darkamber: #e6b53b;--theme-font: \"Helvetica\", sans-serif;--background-tertiary-shadow: 0px 1px 0px #0000000d;--background-card-shadow: 0px 3px 6px #00000014;--background-overlaypanel-shadow: 0px 4px 16px #00000029}.ion-color-white{--ion-color-base: var(--ion-color-white) !important;--ion-color-base-rgb: var(--ion-color-white-rgb) !important;--ion-color-contrast: var(--ion-color-white-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-white-contrast-rgb) !important;--ion-color-shade: var(--ion-color-white-shade) !important;--ion-color-tint: var(--ion-color-white-tint) !important;--ion-toolbar-background: var(--ion-color-white) !important}.ion-color-blue{--ion-color-base: var(--ion-color-blue) !important;--ion-color-base-rgb: var(--ion-color-blue-rgb) !important;--ion-color-contrast: var(--ion-color-blue-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-blue-contrast-rgb) !important;--ion-color-shade: var(--ion-color-blue-shade) !important;--ion-color-tint: var(--ion-color-blue-tint) !important;--ion-toolbar-background: var(--ion-color-blue) !important}.ion-color-lightgray{--ion-color-base: var(--ion-color-lightgray) !important;--ion-color-base-rgb: var(--ion-color-lightgray-rgb) !important;--ion-color-contrast: var(--ion-color-lightgray-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-lightgray-contrast-rgb) !important;--ion-color-shade: var(--ion-color-lightgray-shade) !important;--ion-color-tint: var(--ion-color-lightgray-tint) !important;--ion-toolbar-background: var(--ion-color-lightgray) !important}.ion-color-ts-red{--ion-color-base: var(--ion-color-ts-red) !important;--ion-color-base-rgb: var(--ion-color-ts-red-rgb) !important;--ion-color-contrast: var(--ion-color-ts-red-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-ts-red-contrast-rgb) !important;--ion-color-shade: var(--ion-color-ts-red-shade) !important;--ion-color-tint: var(--ion-color-ts-red-tint) !important;--ion-toolbar-background: var(--ion-color-ts-red) !important}.ion-color-ts-blue{--ion-color-base: var(--ion-color-ts-blue) !important;--ion-color-base-rgb: var(--ion-color-ts-blue-rgb) !important;--ion-color-contrast: var(--ion-color-ts-blue-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-ts-blue-contrast-rgb) !important;--ion-color-shade: var(--ion-color-ts-blue-shade) !important;--ion-color-tint: var(--ion-color-ts-blue-tint) !important;--ion-toolbar-background: var(--ion-color-ts-blue) !important}.ion-color-ts-amber{--ion-color-base: var(--ion-color-ts-amber) !important;--ion-color-base-rgb: var(--ion-color-ts-amber-rgb) !important;--ion-color-contrast: var(--ion-color-ts-amber-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-ts-amber-contrast-rgb) !important;--ion-color-shade: var(--ion-color-ts-amber-shade) !important;--ion-color-tint: var(--ion-color-ts-amber-tint) !important;--ion-toolbar-background: var(--ion-color-ts-amber) !important}.ion-color-ts-green{--ion-color-base: var(--ion-color-ts-green) !important;--ion-color-base-rgb: var(--ion-color-ts-green-rgb) !important;--ion-color-contrast: var(--ion-color-ts-green-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-ts-green-contrast-rgb) !important;--ion-color-shade: var(--ion-color-ts-green-shade) !important;--ion-color-tint: var(--ion-color-ts-green-tint) !important;--ion-toolbar-background: var(--ion-color-ts-green) !important}.ion-color-ts-grey{--ion-color-base: var(--ion-color-ts-grey) !important;--ion-color-base-rgb: var(--ion-color-ts-grey-rgb) !important;--ion-color-contrast: var(--ion-color-ts-grey-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-ts-grey-contrast-rgb) !important;--ion-color-shade: var(--ion-color-ts-grey-shade) !important;--ion-color-tint: var(--ion-color-ts-grey-tint) !important;--ion-toolbar-background: var(--ion-color-ts-grey) !important}.ion-color-light-grey{--ion-color-base: var(--ion-color-light-grey) !important;--ion-color-base-rgb: var(--ion-color-light-grey-rgb) !important;--ion-color-contrast: var(--ion-color-light-grey-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-light-grey-contrast-rgb) !important;--ion-color-shade: var(--ion-color-light-grey-shade) !important;--ion-color-tint: var(--ion-color-light-grey-tint) !important;--ion-toolbar-background: var(--ion-color-light-grey) !important}.ion-color-0058FF{--ion-color-base: var(--ion-color-0058FF) !important;--ion-color-base-rgb: var(--ion-color-0058FF-rgb) !important;--ion-color-contrast: var(--ion-color-0058FF-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-0058FF-contrast-rgb) !important;--ion-color-shade: var(--ion-color-0058FF-shade) !important;--ion-color-tint: var(--ion-color-0058FF-tint) !important;--ion-toolbar-background: var(--ion-color-0058FF) !important}.ion-color-0099FF{--ion-color-base: var(--ion-color-0099FF) !important;--ion-color-base-rgb: var(--ion-color-0099FF-rgb) !important;--ion-color-contrast: var(--ion-color-0099FF-contrast) !important;--ion-color-contrast-rgb: var(--ion-color-0099FF-contrast-rgb) !important;--ion-color-shade: var(--ion-color-0099FF-shade) !important;--ion-color-tint: var(--ion-color-0099FF-tint) !important;--ion-toolbar-background: var(--ion-color-0099FF) !important}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#373737}::-webkit-scrollbar-thumb:hover{background:#37373780}:host{flex:0 0 auto}:host .card-default{display:flex;flex-direction:column;height:200px;width:300px;flex:0 0 auto;background:#fff;box-shadow:0 4px 12px #0000001a;border:1px solid #d3dcdb;animation:fadein 1s;overflow:auto;margin:10px 5px 10px 0;border-radius:4px}:host .card-goal{border-radius:12px;width:auto;max-width:300px;flex:0 0 auto;background:#fff;box-shadow:0 4px 12px #0000001a;border:1px solid #d3dcdb;animation:fadein 1s}:host .card-attachments .card-attachments-header{display:flex;padding:10px 16px}:host .card-attachments .card-attachments-header .card-attachment-header-image{object-fit:cover;height:50px;width:50px;margin-right:10px}:host .card-attachments .card-attachments-header .card-attachment-header-label{display:flex;width:100%;justify-content:space-between}:host .card-attachments .card-attachments-header .card-attachment-header-label img{width:15px;height:15px;cursor:pointer}:host .card-attachments .card-attachments-header .fav-icon{height:16px;width:16px;margin:10px auto 0}:host .card-attachments .card-attachments-header .card-header-title{color:#151515;text-transform:none;font-size:15px;font-family:Helvetica,sans-serif;font-weight:600;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;margin:unset;white-space:normal!important}:host .card-attachments .card-attachments-header .card-header-label{font-size:12px;text-transform:lowercase;font-weight:400;font-family:Helvetica,sans-serif;color:#1d57a4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default;margin:unset}:host .card-attachments .card-body{font-size:12px;white-space:initial;height:auto;flex:none;font-family:Helvetica,sans-serif;color:#6e7e81;padding:10px;margin-top:auto}:host .card-attachments .card-body-text{font-size:12px;white-space:initial;height:auto;flex:none;font-family:Helvetica,sans-serif;color:#6e7e81;padding:5px 16px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical}:host .card-attachments .card-body-only-text{font-size:13px;white-space:initial;height:auto;flex:none;font-family:Helvetica,sans-serif;color:#151515;padding:16px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical}:host .card-attachments .card-attachments-footer{position:absolute;bottom:0;padding:8px}:host .card-attachments .card-training-label{margin-top:24px;font-size:14px;padding:0 24px 8px 20px;color:#151515;font-weight:400}:host .card-attachments .button-card{width:100%;text-transform:none;background:#309da6;box-shadow:none;color:#fff;padding:13px 0;border-radius:4px;letter-spacing:.42px;font-weight:bolder;border:1px solid #309da6}:host .card-attachments .button-training{width:100%;text-transform:none;background:#fff;box-shadow:none;color:#1d57a4;padding:8px 0;border-radius:4px;border:1.5px solid #1d57a4}@keyframes fadein{0%{opacity:0}to{opacity:1}}\n"] }] }], ctorParameters: function () { return [{ type: i1.ActionSheetController }, { type: i1.Platform }]; }, propDecorators: { sendSelectionEv: [{ type: Output }], attachment: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJpLWNhcmQtYXR0YWNobWVudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpZy1hcmkvc3JjL2xpYi9jb21wb25lbnRzL2FyaS1jYXJkLWF0dGFjaG1lbnRzL2FyaS1jYXJkLWF0dGFjaG1lbnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWctYXJpL3NyYy9saWIvY29tcG9uZW50cy9hcmktY2FyZC1hdHRhY2htZW50cy9hcmktY2FyZC1hdHRhY2htZW50cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9FLE9BQU8sRUFBRSxPQUFPLEVBQWUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRCxPQUFPLE9BQU8sTUFBTSxtQkFBbUIsQ0FBQztBQUN4QyxPQUFPLElBQUksTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFPbEMsTUFBTSxPQUFPLDJCQUEyQjtJQWV0QyxZQUNVLHFCQUE0QyxFQUM1QyxHQUFhO1FBRGIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxRQUFHLEdBQUgsR0FBRyxDQUFVO1FBaEJiLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQU9wRCxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQix3QkFBbUIsR0FBRyxLQUFLLENBQUM7SUFNekIsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENB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S0FBSyxTQUFTLEVBQUU7Z0NBQzdCLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUU7b0NBQ3RELE1BQU0sWUFBWSxHQUFnQjt3Q0FDaEMsaUJBQWlCLEVBQUUsWUFBWTt3Q0FDL0IsVUFBVSxFQUFFLFFBQVE7d0NBQ3BCLEdBQUcsRUFBRSxNQUFNLENBQUMsS0FBSztxQ0FDbEIsQ0FBQztvQ0FDRixNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7aUNBQ2xDO3FDQUFNO29DQUNMLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUscUJBQXFCLENBQUMsQ0FBQztpQ0FDNUQ7NkJBQ0Y7d0JBQ0gsQ0FBQztxQkFDRixDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDO29CQUMxRCxPQUFPLEVBQUU7d0JBQ1AsR0FBRyxXQUFXO3dCQUNkOzRCQUNFLElBQUksRUFBRSxRQUFROzRCQUNkLElBQUksRUFBRSxRQUFROzRCQUNkLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDO3lCQUNsQjtxQkFDRjtpQkFDRixDQUFDLENBQUM7Z0JBQ0gsTUFBTSxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDN0I7U0FDRjtJQUNILENBQUM7O3dIQXRIVSwyQkFBMkI7NEdBQTNCLDJCQUEyQix1SkNaeEMsKy9EQWdETTsyRkRwQ08sMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLDBCQUEwQjttSUFLMUIsZUFBZTtzQkFBeEIsTUFBTTtnQkFDRSxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE91dHB1dCwgSW5wdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUF0dGFjaG1lbnRDb250ZW50QnV0dG9uIH0gZnJvbSAnLi4vLi4vbW9kZWwvY29udmVyc2F0aW9uLm1vZGVsJztcbmltcG9ydCB7IEFjdGlvblNoZWV0Q29udHJvbGxlciwgUGxhdGZvcm0gfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBCcm93c2VyLCBPcGVuT3B0aW9ucyB9IGZyb20gJ0BjYXBhY2l0b3IvYnJvd3Nlcic7XG5pbXBvcnQgaXNFbXB0eSBmcm9tICdsb2Rhc2gtZXMvaXNFbXB0eSc7XG5pbXBvcnQgZWFjaCBmcm9tICdsb2Rhc2gtZXMvZWFjaCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpZy1hcmktY2FyZC1hdHRhY2htZW50cycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hcmktY2FyZC1hdHRhY2htZW50cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FyaS1jYXJkLWF0dGFjaG1lbnRzLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFyaUNhcmRBdHRhY2htZW50c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBPdXRwdXQoKSBzZW5kU2VsZWN0aW9uRXYgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQElucHV0KCkgYXR0YWNobWVudDogYW55O1xuICBpbWFnZVNyYzogc3RyaW5nO1xuICBzdWJ0aXRsZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBjb250ZW50VGV4dDogc3RyaW5nO1xuXG4gIHNob3dTdWJUaXRsZSA9IGZhbHNlO1xuICBzaG93VGl0bGUgPSBmYWxzZTtcbiAgc2hvd1RleHQgPSBmYWxzZTtcbiAgc2hvd0ltYWdlcyA9IGZhbHNlO1xuICBzaG93QXJpVHJhaW5pbmdDYXJkID0gZmFsc2U7XG4gIGNhcmRWaWV3OiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhY3Rpb25TaGVldENvbnRyb2xsZXI6IEFjdGlvblNoZWV0Q29udHJvbGxlcixcbiAgICBwcml2YXRlIHBsdDogUGxhdGZvcm1cbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmF0dGFjaG1lbnQpIHtcbiAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmF0dGFjaG1lbnQuY29udGVudDtcblxuICAgICAgaWYgKGlzRW1wdHkoY29udGVudC5zdWJ0aXRsZSkgJiYgIXRoaXMuaW1hZ2VTcmMpIHtcbiAgICAgICAgdGhpcy5jYXJkVmlldyA9ICdjYXJkLWdvYWwgY2FyZC1hdHRhY2htZW50cyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNhcmRWaWV3ID0gJ2NhcmQtZGVmYXVsdCBjYXJkLWF0dGFjaG1lbnRzJztcbiAgICAgIH1cblxuICAgICAgaWYgKCFpc0VtcHR5KGNvbnRlbnQuc3VidGl0bGUpKSB7XG4gICAgICAgIHRoaXMuc3VidGl0bGUgPSBjb250ZW50LnN1YnRpdGxlO1xuICAgICAgICB0aGlzLnNob3dTdWJUaXRsZSA9IHRydWU7XG4gICAgICAgIHRoaXMuc2hvd0FyaVRyYWluaW5nQ2FyZCA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWlzRW1wdHkoY29udGVudC50aXRsZSkpIHtcbiAgICAgICAgdGhpcy50aXRsZSA9IGNvbnRlbnQudGl0bGU7XG4gICAgICAgIHRoaXMuc2hvd1RpdGxlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zaG93QXJpVHJhaW5pbmdDYXJkID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmICghaXNFbXB0eShjb250ZW50LnRleHQpKSB7XG4gICAgICAgIHRoaXMuY29udGVudFRleHQgPSBjb250ZW50LnRleHQ7XG4gICAgICAgIHRoaXMuc2hvd1RleHQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWlzRW1wdHkoY29udGVudC5pbWFnZXMpKSB7XG4gICAgICAgIHRoaXMuc2hvd0ltYWdlcyA9IHRydWU7XG4gICAgICAgIHRoaXMuaW1hZ2VTcmMgPSBjb250ZW50LmltYWdlc1swXS51cmw7XG4gICAgICAgIHRoaXMuc2hvd0FyaVRyYWluaW5nQ2FyZCA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgICFpc0VtcHR5KGNvbnRlbnQudGV4dCkgJiZcbiAgICAgICAgaXNFbXB0eShjb250ZW50LnRpdGxlKSAmJlxuICAgICAgICBpc0VtcHR5KGNvbnRlbnQuc3VidGl0bGUpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5jb250ZW50VGV4dCA9IGNvbnRlbnQudGV4dDtcbiAgICAgICAgdGhpcy5zaG93QXJpVHJhaW5pbmdDYXJkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zaG93VGV4dCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldEZhdkljb25JbWFnZSh1cmw6IHN0cmluZykge1xuICAgIGlmICh1cmwpIHtcbiAgICAgIHJldHVybiAnaHR0cHM6Ly9zMi5nb29nbGV1c2VyY29udGVudC5jb20vczIvZmF2aWNvbnM/ZG9tYWluX3VybD0nICsgdXJsO1xuICAgIH1cbiAgfVxuXG4gIGhhc0J1dHRvbnMoY29udGVudCk6IElBdHRhY2htZW50Q29udGVudEJ1dHRvbltdIHtcbiAgICByZXR1cm4gY29udGVudCAmJiAhIWNvbnRlbnQuYnV0dG9ucyA/IGNvbnRlbnQuYnV0dG9ucyA6IG51bGw7XG4gIH1cblxuICBzZW5kU2VsZWN0aW9uKGJ1dHRvbikge1xuICAgIHRoaXMuc2VuZFNlbGVjdGlvbkV2LmVtaXQoYnV0dG9uKTtcbiAgfVxuXG4gIGFzeW5jIHNob3dNb3JlQnV0dG9ucygpIHtcbiAgICBjb25zdCBtb3JlQnV0dG9ucyA9IFtdO1xuICAgIGlmICh0aGlzLmF0dGFjaG1lbnQpIHtcbiAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmF0dGFjaG1lbnQuY29udGVudDtcblxuICAgICAgaWYgKCFpc0VtcHR5KGNvbnRlbnQuYnV0dG9ucykpIHtcbiAgICAgICAgZWFjaChjb250ZW50LmJ1dHRvbnMsIChidXR0b24pID0+IHtcbiAgICAgICAgICBtb3JlQnV0dG9ucy5wdXNoKHtcbiAgICAgICAgICAgIHRleHQ6IGJ1dHRvbi50aXRsZSxcbiAgICAgICAgICAgIGhhbmRsZXI6IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGJ1dHRvbi50eXBlID09PSAnb3BlblVybCcpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wbHQuaXMoJ2NvcmRvdmEnKSB8fCB0aGlzLnBsdC5pcygnY2FwYWNpdG9yJykpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGluQXBwT3B0aW9uczogT3Blbk9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgIHByZXNlbnRhdGlvblN0eWxlOiAnZnVsbHNjcmVlbicsXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvd05hbWU6ICdfYmxhbmsnLFxuICAgICAgICAgICAgICAgICAgICB1cmw6IGJ1dHRvbi52YWx1ZVxuICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgIGF3YWl0IEJyb3dzZXIub3BlbihpbkFwcE9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICB3aW5kb3cub3BlbihidXR0b24udmFsdWUsICdfYmxhbmsnLCAnbm9vcGVuZXIgbm9yZWZlcnJlcicpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgYWN0aW9uU2hlZXQgPSBhd2FpdCB0aGlzLmFjdGlvblNoZWV0Q29udHJvbGxlci5jcmVhdGUoe1xuICAgICAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAgICAgIC4uLm1vcmVCdXR0b25zLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0ZXh0OiAnQ2FuY2VsJyxcbiAgICAgICAgICAgICAgcm9sZTogJ2NhbmNlbCcsXG4gICAgICAgICAgICAgIGhhbmRsZXI6ICgpID0+IHt9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KTtcbiAgICAgICAgYXdhaXQgYWN0aW9uU2hlZXQucHJlc2VudCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBbY2xhc3NdPVwiY2FyZFZpZXdcIj5cbiAgPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0FyaVRyYWluaW5nQ2FyZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRyYWluaW5nLWxhYmVsXCI+XG4gICAgICB7eyBjb250ZW50VGV4dCB9fVxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj4gLS0+XG4gIDxkaXYgY2xhc3M9XCJjYXJkLWF0dGFjaG1lbnQtaGVhZGVyXCIgKm5nSWY9XCJzaG93SW1hZ2VzXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImltYWdlU3JjXCI+XG4gICAgICA8aW1nIFtzcmNdPVwiaW1hZ2VTcmNcIiBbYWx0XT1cImltYWdlU3JjXCIgaGVpZ2h0PVwiMjQ1XCIgY2xhc3M9XCJjYXJkLWF0dGFjaG1lbnQtaGVhZGVyLWltYWdlXCIgLz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjYXJkLWF0dGFjaG1lbnRzLWhlYWRlclwiICpuZ0lmPVwic2hvd1RpdGxlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImltYWdlU3JjXCI+XG4gICAgICA8aW1nIFtzcmNdPVwiaW1hZ2VTcmNcIiBbYWx0XT1cImltYWdlU3JjXCIgY2xhc3M9XCJjYXJkLWF0dGFjaG1lbnQtaGVhZGVyLWltYWdlXCIgLz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1hdHRhY2htZW50LWhlYWRlci1sYWJlbFwiPlxuICAgICAgPGgxIGNsYXNzPVwiY2FyZC1oZWFkZXItdGl0bGVcIj5cbiAgICAgICAge3sgdGl0bGUgfCB0cnVuY2F0ZTogW1wiNDVcIl0gfX1cbiAgICAgIDwvaDE+XG4gICAgICA8aW1nXG4gICAgICAgIHNyYz1cImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCUwQSUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgdmlld0JveD0nMCAwIDUxMiA1MTInJTNFJTNDdGl0bGUlM0Vpb25pY29ucy12NS1mJTNDL3RpdGxlJTNFJTNDY2lyY2xlIGN4PScyNTYnIGN5PScyNTYnIHI9JzQ4Jy8lM0UlM0NjaXJjbGUgY3g9JzI1NicgY3k9JzQxNicgcj0nNDgnLyUzRSUzQ2NpcmNsZSBjeD0nMjU2JyBjeT0nOTYnIHI9JzQ4Jy8lM0UlM0Mvc3ZnJTNFXCJcbiAgICAgICAgKGNsaWNrKT1cInNob3dNb3JlQnV0dG9ucygpXCIgLz5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIDxwIGNsYXNzPVwiY2FyZC1oZWFkZXItbGFiZWxcIj5cbiAgICAgIHt7IHN1YnRpdGxlIH19XG4gICAgPC9wPiAtLT5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImNhcmQtYm9keS10ZXh0XCIgKm5nSWY9XCJjb250ZW50VGV4dCAmJiAhc2hvd0FyaVRyYWluaW5nQ2FyZFwiPlxuICAgIHt7IGNvbnRlbnRUZXh0IHwgdHJ1bmNhdGU6IFtcIjExMFwiXSB9fVxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5LW9ubHktdGV4dFwiICpuZ0lmPVwiY29udGVudFRleHQgJiYgc2hvd0FyaVRyYWluaW5nQ2FyZFwiPlxuICAgIHt7IGNvbnRlbnRUZXh0IH19XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIiAqbmdJZj1cIiFzaG93QXJpVHJhaW5pbmdDYXJkICYmIGhhc0J1dHRvbnMoYXR0YWNobWVudC5jb250ZW50KSBhcyBidXR0b25zXCI+XG4gICAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGJ1dHRvbnNcIiBjbGFzcz1cImJ1dHRvbi1jYXJkXCIgKGNsaWNrKT1cInNlbmRTZWxlY3Rpb24oYnV0dG9uKVwiPlxuICAgICAgVmlldyBBcnRpY2xlXG4gICAgICA8IS0tIHt7IGJ1dHRvbi50aXRsZSB9fSAtLT5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiICpuZ0lmPVwic2hvd0FyaVRyYWluaW5nQ2FyZCAmJiBoYXNCdXR0b25zKGF0dGFjaG1lbnQuY29udGVudCkgYXMgYnV0dG9uc1wiPlxuICAgIDxidXR0b24gKm5nRm9yPVwibGV0IGJ1dHRvbiBvZiBidXR0b25zXCIgY2xhc3M9XCJidXR0b24tdHJhaW5pbmdcIiAoY2xpY2spPVwic2VuZFNlbGVjdGlvbihidXR0b24pXCI+XG4gICAgICB7eyBidXR0b24udGl0bGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=