@thecodeblogs/blog 0.15.0 → 0.15.2

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.
@@ -96,13 +96,13 @@ export class EntryRendererComponent {
96
96
  }
97
97
  }
98
98
  EntryRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: EntryRendererComponent, deps: [{ token: i1.PrismService }, { token: i0.NgZone }, { token: i2.IdentityService }, { token: i3.CommentService }, { token: i4.Router }, { token: i5.EntryService }], target: i0.ɵɵFactoryTarget.Component });
99
- EntryRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: EntryRendererComponent, selector: "app-entry-renderer", inputs: { entry: "entry", editMode: "editMode" }, ngImport: i0, template: "<div>\n <h2>{{entry?.title}}</h2>\n <a *ngIf=\"me?.id === entry?.getProp('author_id')\" href=\"javascript:void(0)\" (click)=\"edit(entry)\"><h4>[Edit]</h4></a>\n <h3>Posted {{entry?.create_date.toString() | timeAgo}} on {{entry?.create_date?.getMonth() + 1}}/{{entry?.create_date?.getDate()}}/{{entry?.create_date?.getFullYear()}}</h3>\n <h5 *ngIf=\"entry?.showEditInformation()\">Article was last edited {{entry?.edit_date.toString() | timeAgo}}</h5>\n <br>\n <p *ngIf=\"entry?.tags?.length > 0\">Tags: <span *ngFor=\"let tag of entry?.tags; let last = last\">{{tag}}<ng-container *ngIf=\"!last\"> |\n </ng-container></span><span *ngIf=\"entry?.views\">, {{entry._friendly_views}} views</span></p>\n <br>\n\n <ng-container *ngFor=\"let section of entry?.sections\">\n <h4>{{section?.subheading}}</h4>\n <ng-container *ngFor=\"let content of section?.contents\">\n <ng-container [ngSwitch]=\"content.type\">\n <ng-container *ngSwitchCase=\"ContentType.CODE\">\n <pre><code class=\"language-ts\">{{content?.value}}</code></pre>\n </ng-container>\n <ng-container *ngSwitchCase=\"ContentType.URL\">\n <a [href]=\"content?.value\" target=\"_blank\">{{content.title}}</a><br>\n </ng-container>\n <ng-container *ngSwitchCase=\"ContentType.IMAGE\">\n <div class=\"restrict\">\n <div class=\"image\">\n <img [src]=\"content?.value\"/>\n </div>\n <div class=\"description\" *ngIf=\"content?.description\">{{content?.description}}</div>\n <div class=\"source\" *ngIf=\"content?.source\">\n <a [href]=\"content?.source\" [target]=\"'_blank'\">Source: {{content?.source}}</a>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ContentType.MEDIA\">\n <ng-container *ngIf=\"mediaIsZip(content)\">\n <div class=\"download\">\n <a href=\"content?.value\">{{content?.description}}</a>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!mediaIsZip(content)\">\n <div class=\"restrict\">\n <div class=\"image\">\n <img [src]=\"content?.value\"/>\n </div>\n <div class=\"description\" *ngIf=\"content?.description\">{{content?.description}}</div>\n <div class=\"source\" *ngIf=\"content?.source\">\n <a [href]=\"content?.source\" [target]=\"'_blank'\">Source: {{content?.source}}</a>\n </div>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"ContentType.HTML\">\n <app-static-html\n [value]=\"content?.value\"\n >\n </app-static-html>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <p>{{content?.value}}</p>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-container>\n <h2>Comments</h2>\n <p *ngIf=\"comments?.length == 0\">There are no comments yet.</p>\n <ng-container *ngIf=\"comments?.length > 0\">\n <div *ngFor=\"let comment of comments\">\n <mat-card style=\"margin-bottom: 20px;\" class=\"restrict\">\n <mat-card-title><img class=\"gravatar\" src=\"{{comment.gravatar_url}} + ?s=30\"> {{comment.user_display_name}}</mat-card-title>\n <mat-card-subtitle>{{comment.date_obj | timeAgo}}</mat-card-subtitle>\n <mat-card-content>\n <p>{{comment.content}}</p>\n <ng-container *ngIf=\"me?.id === entry?.__server_generated_properties?.author_id\">\n <a href=\"javascript:void(0);\" *ngIf=\"!comment?.approved\" (click)=\"approve(comment)\">Approve</a>\n <a href=\"javascript:void(0);\" *ngIf=\"comment?.approved\" (click)=\"unapprove(comment)\">Unapprove</a>\n </ng-container>\n </mat-card-content>\n </mat-card>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!me\">\n <a href=\"/signup\">Signup</a> or <a href=\"/login\">login</a> to join the conversation!\n </ng-container>\n <ng-container *ngIf=\"me && !me?.comments_public\">\n <p>Note, your comments will not be public be default. It is possible I will make your comments public, but for now comments are just between you and me.</p>\n </ng-container>\n <ng-container *ngIf=\"me\">\n <h2 style=\"width: 100%;\">Leave a Comment</h2>\n <br>\n <mat-form-field class=\"restrict\" style=\"width: 100%;\" appearance=\"outline\">\n <mat-label>Comment</mat-label>\n <textarea [(ngModel)]=\"commentText\" (keydown.enter)=\"postComment($event)\" matInput></textarea>\n </mat-form-field>\n <br>\n <button (click)=\"postComment($event)\" style=\"text-align: right;\" mat-button>Submit</button>\n </ng-container>\n <div style=\"margin-bottom: 30px;\"></div>\n</div>\n\n", styles: [".image{width:100%;text-align:center;justify-content:center}.source,.description{text-align:center;font-size:12px}.gravatar{margin-right:20px}.smaller{text-size:12px;text-color:gray}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i6.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i8.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i8.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i8.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i11.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i11.MatLabel, selector: "mat-label" }, { kind: "component", type: i12.StaticHtmlComponent, selector: "app-static-html", inputs: ["value"] }, { kind: "pipe", type: i13.TimeAgoPipe, name: "timeAgo" }] });
99
+ EntryRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: EntryRendererComponent, selector: "app-entry-renderer", inputs: { entry: "entry", editMode: "editMode" }, ngImport: i0, template: "<div *ngIf=\"entry\">\n <h2>{{entry?.title}}</h2>\n <a *ngIf=\"me?.id === entry?.getProp('author_id')\" href=\"javascript:void(0)\" (click)=\"edit(entry)\"><h4>[Edit]</h4></a>\n <h3>Posted {{entry?.create_date.toString() | timeAgo}} on {{entry?.create_date?.getMonth() + 1}}/{{entry?.create_date?.getDate()}}/{{entry?.create_date?.getFullYear()}}</h3>\n <h5 *ngIf=\"entry?.showEditInformation()\">Article was last edited {{entry?.edit_date.toString() | timeAgo}}</h5>\n <br>\n <p *ngIf=\"entry?.tags?.length > 0\">Tags: <span *ngFor=\"let tag of entry?.tags; let last = last\">{{tag}}<ng-container *ngIf=\"!last\"> |\n </ng-container></span><span *ngIf=\"entry?.views\">, {{entry._friendly_views}} views</span></p>\n <br>\n\n <ng-container *ngFor=\"let section of entry?.sections\">\n <h4>{{section?.subheading}}</h4>\n <ng-container *ngFor=\"let content of section?.contents\">\n <ng-container [ngSwitch]=\"content.type\">\n <ng-container *ngSwitchCase=\"ContentType.CODE\">\n <pre><code class=\"language-ts\">{{content?.value}}</code></pre>\n </ng-container>\n <ng-container *ngSwitchCase=\"ContentType.URL\">\n <a [href]=\"content?.value\" target=\"_blank\">{{content.title}}</a><br>\n </ng-container>\n <ng-container *ngSwitchCase=\"ContentType.IMAGE\">\n <div class=\"restrict\">\n <div class=\"image\">\n <img [src]=\"content?.value\"/>\n </div>\n <div class=\"description\" *ngIf=\"content?.description\">{{content?.description}}</div>\n <div class=\"source\" *ngIf=\"content?.source\">\n <a [href]=\"content?.source\" [target]=\"'_blank'\">Source: {{content?.source}}</a>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ContentType.MEDIA\">\n <ng-container *ngIf=\"mediaIsZip(content)\">\n <div class=\"download\">\n <a href=\"content?.value\">{{content?.description}}</a>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!mediaIsZip(content)\">\n <div class=\"restrict\">\n <div class=\"image\">\n <img [src]=\"content?.value\"/>\n </div>\n <div class=\"description\" *ngIf=\"content?.description\">{{content?.description}}</div>\n <div class=\"source\" *ngIf=\"content?.source\">\n <a [href]=\"content?.source\" [target]=\"'_blank'\">Source: {{content?.source}}</a>\n </div>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"ContentType.HTML\">\n <app-static-html\n [value]=\"content?.value\"\n >\n </app-static-html>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <p>{{content?.value}}</p>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-container>\n <h2>Comments</h2>\n <p *ngIf=\"comments?.length == 0\">There are no comments yet.</p>\n <ng-container *ngIf=\"comments?.length > 0\">\n <div *ngFor=\"let comment of comments\">\n <mat-card style=\"margin-bottom: 20px;\" class=\"restrict\">\n <mat-card-title><img class=\"gravatar\" src=\"{{comment.gravatar_url}} + ?s=30\"> {{comment.user_display_name}}</mat-card-title>\n <mat-card-subtitle>{{comment.date_obj | timeAgo}}</mat-card-subtitle>\n <mat-card-content>\n <p>{{comment.content}}</p>\n <ng-container *ngIf=\"me?.id === entry?.__server_generated_properties?.author_id\">\n <a href=\"javascript:void(0);\" *ngIf=\"!comment?.approved\" (click)=\"approve(comment)\">Approve</a>\n <a href=\"javascript:void(0);\" *ngIf=\"comment?.approved\" (click)=\"unapprove(comment)\">Unapprove</a>\n </ng-container>\n </mat-card-content>\n </mat-card>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!me\">\n <a href=\"/signup\">Signup</a> or <a href=\"/login\">login</a> to join the conversation!\n </ng-container>\n <ng-container *ngIf=\"me && !me?.comments_public\">\n <p>Note, your comments will not be public be default. It is possible I will make your comments public, but for now comments are just between you and me.</p>\n </ng-container>\n <ng-container *ngIf=\"me\">\n <h2 style=\"width: 100%;\">Leave a Comment</h2>\n <br>\n <mat-form-field class=\"restrict\" style=\"width: 100%;\" appearance=\"outline\">\n <mat-label>Comment</mat-label>\n <textarea [(ngModel)]=\"commentText\" (keydown.enter)=\"postComment($event)\" matInput></textarea>\n </mat-form-field>\n <br>\n <button (click)=\"postComment($event)\" style=\"text-align: right;\" mat-button>Submit</button>\n </ng-container>\n <div style=\"margin-bottom: 30px;\"></div>\n</div>\n\n", styles: [".image{width:100%;text-align:center;justify-content:center}.source,.description{text-align:center;font-size:12px}.gravatar{margin-right:20px}.smaller{text-size:12px;text-color:gray}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i6.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i8.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i8.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i8.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i11.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i11.MatLabel, selector: "mat-label" }, { kind: "component", type: i12.StaticHtmlComponent, selector: "app-static-html", inputs: ["value"] }, { kind: "pipe", type: i13.TimeAgoPipe, name: "timeAgo" }] });
100
100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: EntryRendererComponent, decorators: [{
101
101
  type: Component,
102
- args: [{ selector: 'app-entry-renderer', template: "<div>\n <h2>{{entry?.title}}</h2>\n <a *ngIf=\"me?.id === entry?.getProp('author_id')\" href=\"javascript:void(0)\" (click)=\"edit(entry)\"><h4>[Edit]</h4></a>\n <h3>Posted {{entry?.create_date.toString() | timeAgo}} on {{entry?.create_date?.getMonth() + 1}}/{{entry?.create_date?.getDate()}}/{{entry?.create_date?.getFullYear()}}</h3>\n <h5 *ngIf=\"entry?.showEditInformation()\">Article was last edited {{entry?.edit_date.toString() | timeAgo}}</h5>\n <br>\n <p *ngIf=\"entry?.tags?.length > 0\">Tags: <span *ngFor=\"let tag of entry?.tags; let last = last\">{{tag}}<ng-container *ngIf=\"!last\"> |\n </ng-container></span><span *ngIf=\"entry?.views\">, {{entry._friendly_views}} views</span></p>\n <br>\n\n <ng-container *ngFor=\"let section of entry?.sections\">\n <h4>{{section?.subheading}}</h4>\n <ng-container *ngFor=\"let content of section?.contents\">\n <ng-container [ngSwitch]=\"content.type\">\n <ng-container *ngSwitchCase=\"ContentType.CODE\">\n <pre><code class=\"language-ts\">{{content?.value}}</code></pre>\n </ng-container>\n <ng-container *ngSwitchCase=\"ContentType.URL\">\n <a [href]=\"content?.value\" target=\"_blank\">{{content.title}}</a><br>\n </ng-container>\n <ng-container *ngSwitchCase=\"ContentType.IMAGE\">\n <div class=\"restrict\">\n <div class=\"image\">\n <img [src]=\"content?.value\"/>\n </div>\n <div class=\"description\" *ngIf=\"content?.description\">{{content?.description}}</div>\n <div class=\"source\" *ngIf=\"content?.source\">\n <a [href]=\"content?.source\" [target]=\"'_blank'\">Source: {{content?.source}}</a>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ContentType.MEDIA\">\n <ng-container *ngIf=\"mediaIsZip(content)\">\n <div class=\"download\">\n <a href=\"content?.value\">{{content?.description}}</a>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!mediaIsZip(content)\">\n <div class=\"restrict\">\n <div class=\"image\">\n <img [src]=\"content?.value\"/>\n </div>\n <div class=\"description\" *ngIf=\"content?.description\">{{content?.description}}</div>\n <div class=\"source\" *ngIf=\"content?.source\">\n <a [href]=\"content?.source\" [target]=\"'_blank'\">Source: {{content?.source}}</a>\n </div>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"ContentType.HTML\">\n <app-static-html\n [value]=\"content?.value\"\n >\n </app-static-html>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <p>{{content?.value}}</p>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-container>\n <h2>Comments</h2>\n <p *ngIf=\"comments?.length == 0\">There are no comments yet.</p>\n <ng-container *ngIf=\"comments?.length > 0\">\n <div *ngFor=\"let comment of comments\">\n <mat-card style=\"margin-bottom: 20px;\" class=\"restrict\">\n <mat-card-title><img class=\"gravatar\" src=\"{{comment.gravatar_url}} + ?s=30\"> {{comment.user_display_name}}</mat-card-title>\n <mat-card-subtitle>{{comment.date_obj | timeAgo}}</mat-card-subtitle>\n <mat-card-content>\n <p>{{comment.content}}</p>\n <ng-container *ngIf=\"me?.id === entry?.__server_generated_properties?.author_id\">\n <a href=\"javascript:void(0);\" *ngIf=\"!comment?.approved\" (click)=\"approve(comment)\">Approve</a>\n <a href=\"javascript:void(0);\" *ngIf=\"comment?.approved\" (click)=\"unapprove(comment)\">Unapprove</a>\n </ng-container>\n </mat-card-content>\n </mat-card>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!me\">\n <a href=\"/signup\">Signup</a> or <a href=\"/login\">login</a> to join the conversation!\n </ng-container>\n <ng-container *ngIf=\"me && !me?.comments_public\">\n <p>Note, your comments will not be public be default. It is possible I will make your comments public, but for now comments are just between you and me.</p>\n </ng-container>\n <ng-container *ngIf=\"me\">\n <h2 style=\"width: 100%;\">Leave a Comment</h2>\n <br>\n <mat-form-field class=\"restrict\" style=\"width: 100%;\" appearance=\"outline\">\n <mat-label>Comment</mat-label>\n <textarea [(ngModel)]=\"commentText\" (keydown.enter)=\"postComment($event)\" matInput></textarea>\n </mat-form-field>\n <br>\n <button (click)=\"postComment($event)\" style=\"text-align: right;\" mat-button>Submit</button>\n </ng-container>\n <div style=\"margin-bottom: 30px;\"></div>\n</div>\n\n", styles: [".image{width:100%;text-align:center;justify-content:center}.source,.description{text-align:center;font-size:12px}.gravatar{margin-right:20px}.smaller{text-size:12px;text-color:gray}\n"] }]
102
+ args: [{ selector: 'app-entry-renderer', template: "<div *ngIf=\"entry\">\n <h2>{{entry?.title}}</h2>\n <a *ngIf=\"me?.id === entry?.getProp('author_id')\" href=\"javascript:void(0)\" (click)=\"edit(entry)\"><h4>[Edit]</h4></a>\n <h3>Posted {{entry?.create_date.toString() | timeAgo}} on {{entry?.create_date?.getMonth() + 1}}/{{entry?.create_date?.getDate()}}/{{entry?.create_date?.getFullYear()}}</h3>\n <h5 *ngIf=\"entry?.showEditInformation()\">Article was last edited {{entry?.edit_date.toString() | timeAgo}}</h5>\n <br>\n <p *ngIf=\"entry?.tags?.length > 0\">Tags: <span *ngFor=\"let tag of entry?.tags; let last = last\">{{tag}}<ng-container *ngIf=\"!last\"> |\n </ng-container></span><span *ngIf=\"entry?.views\">, {{entry._friendly_views}} views</span></p>\n <br>\n\n <ng-container *ngFor=\"let section of entry?.sections\">\n <h4>{{section?.subheading}}</h4>\n <ng-container *ngFor=\"let content of section?.contents\">\n <ng-container [ngSwitch]=\"content.type\">\n <ng-container *ngSwitchCase=\"ContentType.CODE\">\n <pre><code class=\"language-ts\">{{content?.value}}</code></pre>\n </ng-container>\n <ng-container *ngSwitchCase=\"ContentType.URL\">\n <a [href]=\"content?.value\" target=\"_blank\">{{content.title}}</a><br>\n </ng-container>\n <ng-container *ngSwitchCase=\"ContentType.IMAGE\">\n <div class=\"restrict\">\n <div class=\"image\">\n <img [src]=\"content?.value\"/>\n </div>\n <div class=\"description\" *ngIf=\"content?.description\">{{content?.description}}</div>\n <div class=\"source\" *ngIf=\"content?.source\">\n <a [href]=\"content?.source\" [target]=\"'_blank'\">Source: {{content?.source}}</a>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ContentType.MEDIA\">\n <ng-container *ngIf=\"mediaIsZip(content)\">\n <div class=\"download\">\n <a href=\"content?.value\">{{content?.description}}</a>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!mediaIsZip(content)\">\n <div class=\"restrict\">\n <div class=\"image\">\n <img [src]=\"content?.value\"/>\n </div>\n <div class=\"description\" *ngIf=\"content?.description\">{{content?.description}}</div>\n <div class=\"source\" *ngIf=\"content?.source\">\n <a [href]=\"content?.source\" [target]=\"'_blank'\">Source: {{content?.source}}</a>\n </div>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"ContentType.HTML\">\n <app-static-html\n [value]=\"content?.value\"\n >\n </app-static-html>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <p>{{content?.value}}</p>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-container>\n <h2>Comments</h2>\n <p *ngIf=\"comments?.length == 0\">There are no comments yet.</p>\n <ng-container *ngIf=\"comments?.length > 0\">\n <div *ngFor=\"let comment of comments\">\n <mat-card style=\"margin-bottom: 20px;\" class=\"restrict\">\n <mat-card-title><img class=\"gravatar\" src=\"{{comment.gravatar_url}} + ?s=30\"> {{comment.user_display_name}}</mat-card-title>\n <mat-card-subtitle>{{comment.date_obj | timeAgo}}</mat-card-subtitle>\n <mat-card-content>\n <p>{{comment.content}}</p>\n <ng-container *ngIf=\"me?.id === entry?.__server_generated_properties?.author_id\">\n <a href=\"javascript:void(0);\" *ngIf=\"!comment?.approved\" (click)=\"approve(comment)\">Approve</a>\n <a href=\"javascript:void(0);\" *ngIf=\"comment?.approved\" (click)=\"unapprove(comment)\">Unapprove</a>\n </ng-container>\n </mat-card-content>\n </mat-card>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!me\">\n <a href=\"/signup\">Signup</a> or <a href=\"/login\">login</a> to join the conversation!\n </ng-container>\n <ng-container *ngIf=\"me && !me?.comments_public\">\n <p>Note, your comments will not be public be default. It is possible I will make your comments public, but for now comments are just between you and me.</p>\n </ng-container>\n <ng-container *ngIf=\"me\">\n <h2 style=\"width: 100%;\">Leave a Comment</h2>\n <br>\n <mat-form-field class=\"restrict\" style=\"width: 100%;\" appearance=\"outline\">\n <mat-label>Comment</mat-label>\n <textarea [(ngModel)]=\"commentText\" (keydown.enter)=\"postComment($event)\" matInput></textarea>\n </mat-form-field>\n <br>\n <button (click)=\"postComment($event)\" style=\"text-align: right;\" mat-button>Submit</button>\n </ng-container>\n <div style=\"margin-bottom: 30px;\"></div>\n</div>\n\n", styles: [".image{width:100%;text-align:center;justify-content:center}.source,.description{text-align:center;font-size:12px}.gravatar{margin-right:20px}.smaller{text-size:12px;text-color:gray}\n"] }]
103
103
  }], ctorParameters: function () { return [{ type: i1.PrismService }, { type: i0.NgZone }, { type: i2.IdentityService }, { type: i3.CommentService }, { type: i4.Router }, { type: i5.EntryService }]; }, propDecorators: { entry: [{
104
104
  type: Input
105
105
  }], editMode: [{
106
106
  type: Input
107
107
  }] } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktcmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2NvbXBvbmVudHMvZW50cnktcmVuZGVyZXIvZW50cnktcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2NvbXBvbmVudHMvZW50cnktcmVuZGVyZXIvZW50cnktcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUs1RixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDM0MsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBU3BELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHdEQUF3RCxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFPN0YsTUFBTSxPQUFPLHNCQUFzQjtJQWEvQixZQUNZLFlBQTBCLEVBQzFCLE1BQWMsRUFDZCxlQUFnQyxFQUNoQyxjQUE4QixFQUM5QixNQUFjLEVBQ2QsWUFBMEI7UUFMMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBZHRDLGdCQUFXLEdBQUcsV0FBVyxDQUFDO1FBQzFCLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUVqQixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBRUwsYUFBUSxHQUFHLEtBQUssQ0FBQztJQVUxQixDQUFDO0lBR0QsUUFBUTtR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QUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7UUFFdEcsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsU0FBUyxDQUFDLE9BQVk7UUFDbEIsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDckMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtRQUV2RyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O21IQTVGUSxzQkFBc0I7dUdBQXRCLHNCQUFzQiw0R0N0Qm5DLGlqTEFvR0E7MkZEOUVhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDSSxvQkFBb0I7bU9BT3JCLEtBQUs7c0JBQWIsS0FBSztnQkFRRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdDaGVja2VkLCBDb21wb25lbnQsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7b3JkZXJCeX0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25TdGFydCwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge0VudHJ5fSBmcm9tICcuLi8uLi9kYXRhL2VudHJ5JztcbmltcG9ydCB7Q29udGVudH0gZnJvbSAnLi4vLi4vZGF0YS9jb250ZW50JztcbmltcG9ydCB7Q29udGVudFR5cGV9IGZyb20gJy4uLy4uL2RhdGEvY29udGVudC10eXBlJztcbmltcG9ydCB7SWRlbnRpdHl9IGZyb20gJy4uLy4uL2RhdGEvaWRlbnRpdHknO1xuXG5pbXBvcnQge0lkZW50aXR5U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvaWRlbnRpdHkuc2VydmljZSc7XG5pbXBvcnQge0VudHJ5U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvZW50cnkuc2VydmljZSc7XG5pbXBvcnQge0NvbW1lbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb21tZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtQcmlzbVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3ByaXNtLnNlcnZpY2UnO1xuXG5cbmltcG9ydCB7RW50cnlDcmVhdG9yQ29tcG9uZW50fSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2VudHJ5LWNyZWF0b3IvZW50cnktY3JlYXRvci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1lbnRyeS1yZW5kZXJlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VudHJ5LXJlbmRlcmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lbnRyeS1yZW5kZXJlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEVudHJ5UmVuZGVyZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0NoZWNrZWQge1xuXG4gICAgbWU6IElkZW50aXR5O1xuICAgIEBJbnB1dCgpIGVudHJ5OiBFbnRyeTtcblxuICAgIENvbnRlbnRUeXBlID0gQ29udGVudFR5cGU7XG4gICAgY29tbWVudHMgPSBbXTtcbiAgICBjb21tZW50VGV4dCA9ICcnO1xuXG4gICAgYWxlcnQgPSBhbGVydDtcblxuICAgIEBJbnB1dCgpIGVkaXRNb2RlID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBwcmlzbVNlcnZpY2U6IFByaXNtU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSBpZGVudGl0eVNlcnZpY2U6IElkZW50aXR5U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjb21tZW50U2VydmljZTogQ29tbWVudFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgZW50cnlTZXJ2aWNlOiBFbnRyeVNlcnZpY2UsXG4gICAgKSB7XG4gICAgfVxuXG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pZGVudGl0eVNlcnZpY2UuZ2V0TWUoKS5zdWJzY3JpYmUoKG1lKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm1lID0gbWU7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNvbW1lbnRTZXJ2aWNlLmdldENvbW1lbnRzKHRoaXMuZW50cnkuaWQpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY29tbWVudHMgPSAocmVzcG9uc2UgYXMgYW55KS5yZXN1bHRzO1xuICAgICAgICAgICAgZm9yIChjb25zdCBjb21tZW50IG9mIHRoaXMuY29tbWVudHMpIHtcbiAgICAgICAgICAgICAgICBjb21tZW50LmRhdGVfb2JqID0gbmV3IERhdGUoY29tbWVudC5jcmVhdGVkX29uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZWRpdE1vZGUpIHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnByaXNtU2VydmljZS5oaWdobGlnaHRBbGwoKTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlZGl0KGVudHJ5OiBFbnRyeSkge1xuICAgICAgICBlbnRyeS52ZXJzaW9uKys7XG4gICAgICAgIGVudHJ5LnB1Ymxpc2hlZCA9IGZhbHNlO1xuICAgICAgICBkZWxldGUgZW50cnkucHVibGlzaF9kYXRlO1xuXG4gICAgICAgIHRoaXMuZW50cnlTZXJ2aWNlLmNyZWF0ZShlbnRyeSkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oRW50cnlDcmVhdG9yQ29tcG9uZW50LkNVUlJFTlRfRU5UUlksIEpTT04uc3RyaW5naWZ5KHJlc3BvbnNlKSk7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCdjcmVhdGUobGVmdC1jb2w6Y3JlYXRlLy9yaWdodC1jb2w6Y3JlYXRlKScpLnRoZW4oKCkgPT4ge1xuXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHBvc3RDb21tZW50KGUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBpZiAodGhpcy5jb21tZW50VGV4dCAhPT0gJycpIHtcbiAgICAgICAgICAgIHRoaXMuY29tbWVudFNlcnZpY2UucG9zdENvbW1lbnQoe2VudHJ5OiB0aGlzLmVudHJ5LmlkLCBjb250ZW50OiB0aGlzLmNvbW1lbnRUZXh0fSkuc3Vic2NyaWJlKChjb21tZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21tZW50cy5wdXNoKGNvbW1lbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmNvbW1lbnRUZXh0ID0gJyc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbWVkaWFJc1ppcChjb250ZW50OiBDb250ZW50KTogYm9vbGVhbiB7XG4gICAgICAgIGxldCBtZWRpYUlzWmlwID0gZmFsc2U7XG4gICAgICAgIGlmIChjb250ZW50LmFkZGl0aW9uYWwpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgYWRkIG9mIGNvbnRlbnQuYWRkaXRpb25hbCkge1xuICAgICAgICAgICAgICAgIGlmIChhZGQua2V5ID09PSBDb250ZW50LktFWV9NSU1FVFlQRSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoYWRkLnZhbHVlID09PSAnYXBwbGljYXRpb24vemlwJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWVkaWFJc1ppcCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1lZGlhSXNaaXA7XG4gICAgfVxuICAgIGFwcHJvdmUoY29tbWVudDogYW55KSB7XG4gICAgICAgIGNvbW1lbnQuYXBwcm92ZWQgPSAhY29tbWVudC5hcHByb3ZlZDtcbiAgICAgICAgdGhpcy5jb21tZW50U2VydmljZS5wYXRjaENvbW1lbnQoT2JqZWN0LmFzc2lnbih7fSwge2FwcHJvdmVkOiB0cnVlfSwgY29tbWVudCkpLnN1YnNjcmliZSgockNvbW1lbnQpID0+IHtcblxuICAgICAgICB9KTtcbiAgICB9XG4gICAgdW5hcHByb3ZlKGNvbW1lbnQ6IGFueSkge1xuICAgICAgICBjb21tZW50LmFwcHJvdmVkID0gIWNvbW1lbnQuYXBwcm92ZWQ7XG4gICAgICAgIHRoaXMuY29tbWVudFNlcnZpY2UucGF0Y2hDb21tZW50KE9iamVjdC5hc3NpZ24oe30sIHthcHByb3ZlZDogZmFsc2V9LCBjb21tZW50KSkuc3Vic2NyaWJlKChyQ29tbWVudCkgPT4ge1xuXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXY+XG4gICAgPGgyPnt7ZW50cnk/LnRpdGxlfX08L2gyPlxuICAgIDxhICpuZ0lmPVwibWU/LmlkID09PSBlbnRyeT8uZ2V0UHJvcCgnYXV0aG9yX2lkJylcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cImVkaXQoZW50cnkpXCI+PGg0PltFZGl0XTwvaDQ+PC9hPlxuICAgIDxoMz5Qb3N0ZWQge3tlbnRyeT8uY3JlYXRlX2RhdGUudG9TdHJpbmcoKSB8IHRpbWVBZ299fSBvbiB7e2VudHJ5Py5jcmVhdGVfZGF0ZT8uZ2V0TW9udGgoKSArIDF9fS97e2VudHJ5Py5jcmVhdGVfZGF0ZT8uZ2V0RGF0ZSgpfX0ve3tlbnRyeT8uY3JlYXRlX2RhdGU/LmdldEZ1bGxZZWFyKCl9fTwvaDM+XG4gICAgPGg1ICpuZ0lmPVwiZW50cnk/LnNob3dFZGl0SW5mb3JtYXRpb24oKVwiPkFydGljbGUgd2FzIGxhc3QgZWRpdGVkIHt7ZW50cnk/LmVkaXRfZGF0ZS50b1N0cmluZygpIHwgdGltZUFnb319PC9oNT5cbiAgICA8YnI+XG4gICAgPHAgKm5nSWY9XCJlbnRyeT8udGFncz8ubGVuZ3RoID4gMFwiPlRhZ3M6IDxzcGFuICpuZ0Zvcj1cImxldCB0YWcgb2YgZW50cnk/LnRhZ3M7IGxldCBsYXN0ID0gbGFzdFwiPnt7dGFnfX08bmctY29udGFpbmVyICpuZ0lmPVwiIWxhc3RcIj4gfFxuICAgICAgICA8L25nLWNvbnRhaW5lcj48L3NwYW4+PHNwYW4gKm5nSWY9XCJlbnRyeT8udmlld3NcIj4sIHt7ZW50cnkuX2ZyaWVuZGx5X3ZpZXdzfX0gdmlld3M8L3NwYW4+PC9wPlxuICAgIDxicj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNlY3Rpb24gb2YgZW50cnk/LnNlY3Rpb25zXCI+XG4gICAgICAgIDxoND57e3NlY3Rpb24/LnN1YmhlYWRpbmd9fTwvaDQ+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbnRlbnQgb2Ygc2VjdGlvbj8uY29udGVudHNcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbnRlbnQudHlwZVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIkNvbnRlbnRUeXBlLkNPREVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHByZT48Y29kZSBjbGFzcz1cImxhbmd1YWdlLXRzXCI+e3tjb250ZW50Py52YWx1ZX19PC9jb2RlPjwvcHJlPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIkNvbnRlbnRUeXBlLlVSTFwiPlxuICAgICAgICAgICAgICAgICAgICA8YSBbaHJlZl09XCJjb250ZW50Py52YWx1ZVwiIHRhcmdldD1cIl9ibGFua1wiPnt7Y29udGVudC50aXRsZX19PC9hPjxicj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJDb250ZW50VHlwZS5JTUFHRVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdHJpY3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJjb250ZW50Py52YWx1ZVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCIgKm5nSWY9XCJjb250ZW50Py5kZXNjcmlwdGlvblwiPnt7Y29udGVudD8uZGVzY3JpcHRpb259fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNvdXJjZVwiICpuZ0lmPVwiY29udGVudD8uc291cmNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgW2hyZWZdPVwiY29udGVudD8uc291cmNlXCIgW3RhcmdldF09XCInX2JsYW5rJ1wiPlNvdXJjZToge3tjb250ZW50Py5zb3VyY2V9fTwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIkNvbnRlbnRUeXBlLk1FRElBXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtZWRpYUlzWmlwKGNvbnRlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG93bmxvYWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiY29udGVudD8udmFsdWVcIj57e2NvbnRlbnQ/LmRlc2NyaXB0aW9ufX08L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbWVkaWFJc1ppcChjb250ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3RyaWN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJjb250ZW50Py52YWx1ZVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIiAqbmdJZj1cImNvbnRlbnQ/LmRlc2NyaXB0aW9uXCI+e3tjb250ZW50Py5kZXNjcmlwdGlvbn19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNvdXJjZVwiICpuZ0lmPVwiY29udGVudD8uc291cmNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIFtocmVmXT1cImNvbnRlbnQ/LnNvdXJjZVwiIFt0YXJnZXRdPVwiJ19ibGFuaydcIj5Tb3VyY2U6IHt7Y29udGVudD8uc291cmNlfX08L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiQ29udGVudFR5cGUuSFRNTFwiPlxuICAgICAgICAgICAgICAgICAgICA8YXBwLXN0YXRpYy1odG1sXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiY29udGVudD8udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2FwcC1zdGF0aWMtaHRtbD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICAgIDxwPnt7Y29udGVudD8udmFsdWV9fTwvcD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyPlxuICAgICAgICA8aDI+Q29tbWVudHM8L2gyPlxuICAgICAgICA8cCAqbmdJZj1cImNvbW1lbnRzPy5sZW5ndGggPT0gMFwiPlRoZXJlIGFyZSBubyBjb21tZW50cyB5ZXQuPC9wPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29tbWVudHM/Lmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGNvbW1lbnQgb2YgY29tbWVudHNcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWNhcmQgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAyMHB4O1wiIGNsYXNzPVwicmVzdHJpY3RcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlPjxpbWcgY2xhc3M9XCJncmF2YXRhclwiIHNyYz1cInt7Y29tbWVudC5ncmF2YXRhcl91cmx9fSArID9zPTMwXCI+IHt7Y29tbWVudC51c2VyX2Rpc3BsYXlfbmFtZX19PC9tYXQtY2FyZC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1jYXJkLXN1YnRpdGxlPnt7Y29tbWVudC5kYXRlX29iaiB8IHRpbWVBZ299fTwvbWF0LWNhcmQtc3VidGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3tjb21tZW50LmNvbnRlbnR9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtZT8uaWQgPT09IGVudHJ5Py5fX3NlcnZlcl9nZW5lcmF0ZWRfcHJvcGVydGllcz8uYXV0aG9yX2lkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIiAqbmdJZj1cIiFjb21tZW50Py5hcHByb3ZlZFwiIChjbGljayk9XCJhcHByb3ZlKGNvbW1lbnQpXCI+QXBwcm92ZTwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApO1wiICpuZ0lmPVwiY29tbWVudD8uYXBwcm92ZWRcIiAoY2xpY2spPVwidW5hcHByb3ZlKGNvbW1lbnQpXCI+VW5hcHByb3ZlPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICA8L21hdC1jYXJkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbWVcIj5cbiAgICAgICAgPGEgaHJlZj1cIi9zaWdudXBcIj5TaWdudXA8L2E+IG9yIDxhIGhyZWY9XCIvbG9naW5cIj5sb2dpbjwvYT4gdG8gam9pbiB0aGUgY29udmVyc2F0aW9uIVxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtZSAmJiAhbWU/LmNvbW1lbnRzX3B1YmxpY1wiPlxuICAgICAgICA8cD5Ob3RlLCB5b3VyIGNvbW1lbnRzIHdpbGwgbm90IGJlIHB1YmxpYyBiZSBkZWZhdWx0LiBJdCBpcyBwb3NzaWJsZSBJIHdpbGwgbWFrZSB5b3VyIGNvbW1lbnRzIHB1YmxpYywgYnV0IGZvciBub3cgY29tbWVudHMgYXJlIGp1c3QgYmV0d2VlbiB5b3UgYW5kIG1lLjwvcD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWVcIj5cbiAgICAgICAgPGgyIHN0eWxlPVwid2lkdGg6IDEwMCU7XCI+TGVhdmUgYSBDb21tZW50PC9oMj5cbiAgICAgICAgPGJyPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJyZXN0cmljdFwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+Q29tbWVudDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPHRleHRhcmVhIFsobmdNb2RlbCldPVwiY29tbWVudFRleHRcIiAoa2V5ZG93bi5lbnRlcik9XCJwb3N0Q29tbWVudCgkZXZlbnQpXCIgbWF0SW5wdXQ+PC90ZXh0YXJlYT5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGJyPlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJwb3N0Q29tbWVudCgkZXZlbnQpXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOiByaWdodDtcIiBtYXQtYnV0dG9uPlN1Ym1pdDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAzMHB4O1wiPjwvZGl2PlxuPC9kaXY+XG5cbiJdfQ==
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktcmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2NvbXBvbmVudHMvZW50cnktcmVuZGVyZXIvZW50cnktcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2NvbXBvbmVudHMvZW50cnktcmVuZGVyZXIvZW50cnktcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUs1RixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDM0MsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBU3BELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHdEQUF3RCxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFPN0YsTUFBTSxPQUFPLHNCQUFzQjtJQWEvQixZQUNZLFlBQTBCLEVBQzFCLE1BQWMsRUFDZCxlQUFnQyxFQUNoQyxjQUE4QixFQUM5QixNQUFjLEVBQ2QsWUFBMEI7UUFMMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBZHRDLGdCQUFXLEdBQUcsV0FBVyxDQUFDO1FBQzFCLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUVqQixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBRUwsYUFBUSxHQUFHLEtBQUssQ0FBQztJQVUxQixDQUFDO0lBR0QsUUFBUTtR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QUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7UUFFdEcsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsU0FBUyxDQUFDLE9BQVk7UUFDbEIsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDckMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtRQUV2RyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O21IQTVGUSxzQkFBc0I7dUdBQXRCLHNCQUFzQiw0R0N0Qm5DLGlrTEFvR0E7MkZEOUVhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDSSxvQkFBb0I7bU9BT3JCLEtBQUs7c0JBQWIsS0FBSztnQkFRRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdDaGVja2VkLCBDb21wb25lbnQsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7b3JkZXJCeX0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25TdGFydCwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge0VudHJ5fSBmcm9tICcuLi8uLi9kYXRhL2VudHJ5JztcbmltcG9ydCB7Q29udGVudH0gZnJvbSAnLi4vLi4vZGF0YS9jb250ZW50JztcbmltcG9ydCB7Q29udGVudFR5cGV9IGZyb20gJy4uLy4uL2RhdGEvY29udGVudC10eXBlJztcbmltcG9ydCB7SWRlbnRpdHl9IGZyb20gJy4uLy4uL2RhdGEvaWRlbnRpdHknO1xuXG5pbXBvcnQge0lkZW50aXR5U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvaWRlbnRpdHkuc2VydmljZSc7XG5pbXBvcnQge0VudHJ5U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvZW50cnkuc2VydmljZSc7XG5pbXBvcnQge0NvbW1lbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb21tZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtQcmlzbVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3ByaXNtLnNlcnZpY2UnO1xuXG5cbmltcG9ydCB7RW50cnlDcmVhdG9yQ29tcG9uZW50fSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2VudHJ5LWNyZWF0b3IvZW50cnktY3JlYXRvci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1lbnRyeS1yZW5kZXJlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VudHJ5LXJlbmRlcmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lbnRyeS1yZW5kZXJlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEVudHJ5UmVuZGVyZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0NoZWNrZWQge1xuXG4gICAgbWU6IElkZW50aXR5O1xuICAgIEBJbnB1dCgpIGVudHJ5OiBFbnRyeTtcblxuICAgIENvbnRlbnRUeXBlID0gQ29udGVudFR5cGU7XG4gICAgY29tbWVudHMgPSBbXTtcbiAgICBjb21tZW50VGV4dCA9ICcnO1xuXG4gICAgYWxlcnQgPSBhbGVydDtcblxuICAgIEBJbnB1dCgpIGVkaXRNb2RlID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBwcmlzbVNlcnZpY2U6IFByaXNtU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSBpZGVudGl0eVNlcnZpY2U6IElkZW50aXR5U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjb21tZW50U2VydmljZTogQ29tbWVudFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgZW50cnlTZXJ2aWNlOiBFbnRyeVNlcnZpY2UsXG4gICAgKSB7XG4gICAgfVxuXG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pZGVudGl0eVNlcnZpY2UuZ2V0TWUoKS5zdWJzY3JpYmUoKG1lKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm1lID0gbWU7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNvbW1lbnRTZXJ2aWNlLmdldENvbW1lbnRzKHRoaXMuZW50cnkuaWQpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY29tbWVudHMgPSAocmVzcG9uc2UgYXMgYW55KS5yZXN1bHRzO1xuICAgICAgICAgICAgZm9yIChjb25zdCBjb21tZW50IG9mIHRoaXMuY29tbWVudHMpIHtcbiAgICAgICAgICAgICAgICBjb21tZW50LmRhdGVfb2JqID0gbmV3IERhdGUoY29tbWVudC5jcmVhdGVkX29uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZWRpdE1vZGUpIHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnByaXNtU2VydmljZS5oaWdobGlnaHRBbGwoKTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlZGl0KGVudHJ5OiBFbnRyeSkge1xuICAgICAgICBlbnRyeS52ZXJzaW9uKys7XG4gICAgICAgIGVudHJ5LnB1Ymxpc2hlZCA9IGZhbHNlO1xuICAgICAgICBkZWxldGUgZW50cnkucHVibGlzaF9kYXRlO1xuXG4gICAgICAgIHRoaXMuZW50cnlTZXJ2aWNlLmNyZWF0ZShlbnRyeSkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oRW50cnlDcmVhdG9yQ29tcG9uZW50LkNVUlJFTlRfRU5UUlksIEpTT04uc3RyaW5naWZ5KHJlc3BvbnNlKSk7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCdjcmVhdGUobGVmdC1jb2w6Y3JlYXRlLy9yaWdodC1jb2w6Y3JlYXRlKScpLnRoZW4oKCkgPT4ge1xuXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHBvc3RDb21tZW50KGUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBpZiAodGhpcy5jb21tZW50VGV4dCAhPT0gJycpIHtcbiAgICAgICAgICAgIHRoaXMuY29tbWVudFNlcnZpY2UucG9zdENvbW1lbnQoe2VudHJ5OiB0aGlzLmVudHJ5LmlkLCBjb250ZW50OiB0aGlzLmNvbW1lbnRUZXh0fSkuc3Vic2NyaWJlKChjb21tZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21tZW50cy5wdXNoKGNvbW1lbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmNvbW1lbnRUZXh0ID0gJyc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbWVkaWFJc1ppcChjb250ZW50OiBDb250ZW50KTogYm9vbGVhbiB7XG4gICAgICAgIGxldCBtZWRpYUlzWmlwID0gZmFsc2U7XG4gICAgICAgIGlmIChjb250ZW50LmFkZGl0aW9uYWwpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgYWRkIG9mIGNvbnRlbnQuYWRkaXRpb25hbCkge1xuICAgICAgICAgICAgICAgIGlmIChhZGQua2V5ID09PSBDb250ZW50LktFWV9NSU1FVFlQRSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoYWRkLnZhbHVlID09PSAnYXBwbGljYXRpb24vemlwJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWVkaWFJc1ppcCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1lZGlhSXNaaXA7XG4gICAgfVxuICAgIGFwcHJvdmUoY29tbWVudDogYW55KSB7XG4gICAgICAgIGNvbW1lbnQuYXBwcm92ZWQgPSAhY29tbWVudC5hcHByb3ZlZDtcbiAgICAgICAgdGhpcy5jb21tZW50U2VydmljZS5wYXRjaENvbW1lbnQoT2JqZWN0LmFzc2lnbih7fSwge2FwcHJvdmVkOiB0cnVlfSwgY29tbWVudCkpLnN1YnNjcmliZSgockNvbW1lbnQpID0+IHtcblxuICAgICAgICB9KTtcbiAgICB9XG4gICAgdW5hcHByb3ZlKGNvbW1lbnQ6IGFueSkge1xuICAgICAgICBjb21tZW50LmFwcHJvdmVkID0gIWNvbW1lbnQuYXBwcm92ZWQ7XG4gICAgICAgIHRoaXMuY29tbWVudFNlcnZpY2UucGF0Y2hDb21tZW50KE9iamVjdC5hc3NpZ24oe30sIHthcHByb3ZlZDogZmFsc2V9LCBjb21tZW50KSkuc3Vic2NyaWJlKChyQ29tbWVudCkgPT4ge1xuXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJlbnRyeVwiPlxuICAgIDxoMj57e2VudHJ5Py50aXRsZX19PC9oMj5cbiAgICA8YSAqbmdJZj1cIm1lPy5pZCA9PT0gZW50cnk/LmdldFByb3AoJ2F1dGhvcl9pZCcpXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJlZGl0KGVudHJ5KVwiPjxoND5bRWRpdF08L2g0PjwvYT5cbiAgICA8aDM+UG9zdGVkIHt7ZW50cnk/LmNyZWF0ZV9kYXRlLnRvU3RyaW5nKCkgfCB0aW1lQWdvfX0gb24ge3tlbnRyeT8uY3JlYXRlX2RhdGU/LmdldE1vbnRoKCkgKyAxfX0ve3tlbnRyeT8uY3JlYXRlX2RhdGU/LmdldERhdGUoKX19L3t7ZW50cnk/LmNyZWF0ZV9kYXRlPy5nZXRGdWxsWWVhcigpfX08L2gzPlxuICAgIDxoNSAqbmdJZj1cImVudHJ5Py5zaG93RWRpdEluZm9ybWF0aW9uKClcIj5BcnRpY2xlIHdhcyBsYXN0IGVkaXRlZCB7e2VudHJ5Py5lZGl0X2RhdGUudG9TdHJpbmcoKSB8IHRpbWVBZ299fTwvaDU+XG4gICAgPGJyPlxuICAgIDxwICpuZ0lmPVwiZW50cnk/LnRhZ3M/Lmxlbmd0aCA+IDBcIj5UYWdzOiA8c3BhbiAqbmdGb3I9XCJsZXQgdGFnIG9mIGVudHJ5Py50YWdzOyBsZXQgbGFzdCA9IGxhc3RcIj57e3RhZ319PG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsYXN0XCI+IHxcbiAgICAgICAgPC9uZy1jb250YWluZXI+PC9zcGFuPjxzcGFuICpuZ0lmPVwiZW50cnk/LnZpZXdzXCI+LCB7e2VudHJ5Ll9mcmllbmRseV92aWV3c319IHZpZXdzPC9zcGFuPjwvcD5cbiAgICA8YnI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzZWN0aW9uIG9mIGVudHJ5Py5zZWN0aW9uc1wiPlxuICAgICAgICA8aDQ+e3tzZWN0aW9uPy5zdWJoZWFkaW5nfX08L2g0PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb250ZW50IG9mIHNlY3Rpb24/LmNvbnRlbnRzXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJjb250ZW50LnR5cGVcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJDb250ZW50VHlwZS5DT0RFXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwcmU+PGNvZGUgY2xhc3M9XCJsYW5ndWFnZS10c1wiPnt7Y29udGVudD8udmFsdWV9fTwvY29kZT48L3ByZT5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJDb250ZW50VHlwZS5VUkxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGEgW2hyZWZdPVwiY29udGVudD8udmFsdWVcIiB0YXJnZXQ9XCJfYmxhbmtcIj57e2NvbnRlbnQudGl0bGV9fTwvYT48YnI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiQ29udGVudFR5cGUuSU1BR0VcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3RyaWN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiY29udGVudD8udmFsdWVcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvblwiICpuZ0lmPVwiY29udGVudD8uZGVzY3JpcHRpb25cIj57e2NvbnRlbnQ/LmRlc2NyaXB0aW9ufX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzb3VyY2VcIiAqbmdJZj1cImNvbnRlbnQ/LnNvdXJjZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIFtocmVmXT1cImNvbnRlbnQ/LnNvdXJjZVwiIFt0YXJnZXRdPVwiJ19ibGFuaydcIj5Tb3VyY2U6IHt7Y29udGVudD8uc291cmNlfX08L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJDb250ZW50VHlwZS5NRURJQVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWVkaWFJc1ppcChjb250ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRvd25sb2FkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cImNvbnRlbnQ/LnZhbHVlXCI+e3tjb250ZW50Py5kZXNjcmlwdGlvbn19PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW1lZGlhSXNaaXAoY29udGVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXN0cmljdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiY29udGVudD8udmFsdWVcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCIgKm5nSWY9XCJjb250ZW50Py5kZXNjcmlwdGlvblwiPnt7Y29udGVudD8uZGVzY3JpcHRpb259fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzb3VyY2VcIiAqbmdJZj1cImNvbnRlbnQ/LnNvdXJjZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBbaHJlZl09XCJjb250ZW50Py5zb3VyY2VcIiBbdGFyZ2V0XT1cIidfYmxhbmsnXCI+U291cmNlOiB7e2NvbnRlbnQ/LnNvdXJjZX19PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIkNvbnRlbnRUeXBlLkhUTUxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGFwcC1zdGF0aWMtaHRtbFxuICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImNvbnRlbnQ/LnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9hcHAtc3RhdGljLWh0bWw+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICA8cD57e2NvbnRlbnQ/LnZhbHVlfX08L3A+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgPGgyPkNvbW1lbnRzPC9oMj5cbiAgICAgICAgPHAgKm5nSWY9XCJjb21tZW50cz8ubGVuZ3RoID09IDBcIj5UaGVyZSBhcmUgbm8gY29tbWVudHMgeWV0LjwvcD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbW1lbnRzPy5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBjb21tZW50IG9mIGNvbW1lbnRzXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1jYXJkIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMjBweDtcIiBjbGFzcz1cInJlc3RyaWN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtY2FyZC10aXRsZT48aW1nIGNsYXNzPVwiZ3JhdmF0YXJcIiBzcmM9XCJ7e2NvbW1lbnQuZ3JhdmF0YXJfdXJsfX0gKyA/cz0zMFwiPiB7e2NvbW1lbnQudXNlcl9kaXNwbGF5X25hbWV9fTwvbWF0LWNhcmQtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtY2FyZC1zdWJ0aXRsZT57e2NvbW1lbnQuZGF0ZV9vYmogfCB0aW1lQWdvfX08L21hdC1jYXJkLXN1YnRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7Y29tbWVudC5jb250ZW50fX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWU/LmlkID09PSBlbnRyeT8uX19zZXJ2ZXJfZ2VuZXJhdGVkX3Byb3BlcnRpZXM/LmF1dGhvcl9pZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCIgKm5nSWY9XCIhY29tbWVudD8uYXBwcm92ZWRcIiAoY2xpY2spPVwiYXBwcm92ZShjb21tZW50KVwiPkFwcHJvdmU8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIiAqbmdJZj1cImNvbW1lbnQ/LmFwcHJvdmVkXCIgKGNsaWNrKT1cInVuYXBwcm92ZShjb21tZW50KVwiPlVuYXBwcm92ZTwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW1lXCI+XG4gICAgICAgIDxhIGhyZWY9XCIvc2lnbnVwXCI+U2lnbnVwPC9hPiBvciA8YSBocmVmPVwiL2xvZ2luXCI+bG9naW48L2E+IHRvIGpvaW4gdGhlIGNvbnZlcnNhdGlvbiFcbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWUgJiYgIW1lPy5jb21tZW50c19wdWJsaWNcIj5cbiAgICAgICAgPHA+Tm90ZSwgeW91ciBjb21tZW50cyB3aWxsIG5vdCBiZSBwdWJsaWMgYmUgZGVmYXVsdC4gSXQgaXMgcG9zc2libGUgSSB3aWxsIG1ha2UgeW91ciBjb21tZW50cyBwdWJsaWMsIGJ1dCBmb3Igbm93IGNvbW1lbnRzIGFyZSBqdXN0IGJldHdlZW4geW91IGFuZCBtZS48L3A+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lXCI+XG4gICAgICAgIDxoMiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiPkxlYXZlIGEgQ29tbWVudDwvaDI+XG4gICAgICAgIDxicj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwicmVzdHJpY3RcIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPkNvbW1lbnQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDx0ZXh0YXJlYSBbKG5nTW9kZWwpXT1cImNvbW1lbnRUZXh0XCIgKGtleWRvd24uZW50ZXIpPVwicG9zdENvbW1lbnQoJGV2ZW50KVwiIG1hdElucHV0PjwvdGV4dGFyZWE+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxicj5cbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwicG9zdENvbW1lbnQoJGV2ZW50KVwiIHN0eWxlPVwidGV4dC1hbGlnbjogcmlnaHQ7XCIgbWF0LWJ1dHRvbj5TdWJtaXQ8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMzBweDtcIj48L2Rpdj5cbjwvZGl2PlxuXG4iXX0=
@@ -4,16 +4,16 @@ import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/material/dialog";
5
5
  import * as i2 from "../../services/entry.service";
6
6
  import * as i3 from "@angular/common";
7
- import * as i4 from "@angular/forms";
8
- import * as i5 from "@angular/material/button";
9
- import * as i6 from "@angular/material/divider";
10
- import * as i7 from "@angular/material/radio";
11
- import * as i8 from "../../components/entry-selector-dialog/entry-selector-dialog-data";
7
+ import * as i4 from "@angular/material/button";
8
+ import * as i5 from "@angular/material/divider";
9
+ import * as i6 from "@angular/material/table";
10
+ import * as i7 from "../../components/entry-selector-dialog/entry-selector-dialog-data";
12
11
  export class EntrySelectorDialogComponent {
13
12
  constructor(dialogRef, data, entryService) {
14
13
  this.dialogRef = dialogRef;
15
14
  this.data = data;
16
15
  this.entryService = entryService;
16
+ this.columnsToDisplay = ['title', 'create_date', 'actions'];
17
17
  }
18
18
  ngOnInit() {
19
19
  this.entryService.getUnpublishedEntries().subscribe((next) => {
@@ -23,23 +23,32 @@ export class EntrySelectorDialogComponent {
23
23
  onNoClick() {
24
24
  this.dialogRef.close();
25
25
  }
26
- onYesClick() {
27
- this.entryService.getUnpublishedById(this.selectedId).subscribe((entry) => {
28
- localStorage.setItem(EntrySelectorDialogComponent.CURRENT_ENTRY, JSON.stringify(entry));
29
- entry.sort();
30
- this.entryService.currentlyEditedEntry.next(entry);
31
- this.dialogRef.close();
26
+ select(entry) {
27
+ this.entryService.getUnpublishedById(entry.id).subscribe((entry_new) => {
28
+ localStorage.setItem(EntrySelectorDialogComponent.CURRENT_ENTRY, JSON.stringify(entry_new));
29
+ entry_new.sort();
30
+ this.entryService.currentlyEditedEntry.next(entry_new);
31
+ this.dialogRef.close(entry_new.id);
32
+ });
33
+ }
34
+ delete(entry) {
35
+ this.entryService.delete(entry).subscribe((response) => {
36
+ this.entryService.getUnpublishedEntries().subscribe((next) => {
37
+ this.entries = next.results;
38
+ });
39
+ }, (error) => {
40
+ alert('NOT DELETED: ' + error);
32
41
  });
33
42
  }
34
43
  }
35
44
  EntrySelectorDialogComponent.CURRENT_ENTRY = 'current_entry';
36
45
  EntrySelectorDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: EntrySelectorDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.EntryService }], target: i0.ɵɵFactoryTarget.Component });
37
- EntrySelectorDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: EntrySelectorDialogComponent, selector: "app-entry-selector-dialog", ngImport: i0, template: "<h1 mat-dialog-title>Select an Entry to Edit</h1>\n<!--<mat-radio-group aria-label=\"Select an option\">-->\n<!-- <mat-radio-button class=\"option\" value=\"unpublished\">Unpublished</mat-radio-button>-->\n<!-- <mat-radio-button class=\"option\" value=\"published\">Published</mat-radio-button>-->\n<!--</mat-radio-group>-->\n<mat-divider class=\"option-list-divider\"></mat-divider>\n<div mat-dialog-content>\n <mat-radio-group [(ngModel)]=\"selectedId\">\n <mat-radio-button *ngFor=\"let entry of entries\" class=\"option\" [value]=\"entry.id\">{{entry.title}}</mat-radio-button>\n </mat-radio-group>\n <div *ngIf=\"!entries?.length\">There are no unpublished entries</div>\n</div>\n<div mat-dialog-actions>\n <button mat-button (click)=\"onNoClick()\">Cancel</button>\n <button mat-button (click)=\"onYesClick()\" [mat-dialog-close]=\"this.selectedId\" cdkFocusInitial>Edit Selected Entry</button>\n</div>\n", styles: [".entry-checkbox-container{display:inline-block;width:100%;margin:5px 0}.option-list-divider{margin:10px 0}.option{margin-right:5px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i7.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i7.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }] });
46
+ EntrySelectorDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: EntrySelectorDialogComponent, selector: "app-entry-selector-dialog", ngImport: i0, template: "<h1 mat-dialog-title>Select an Entry to Edit</h1>\n<!--<mat-radio-group aria-label=\"Select an option\">-->\n<!-- <mat-radio-button class=\"option\" value=\"unpublished\">Unpublished</mat-radio-button>-->\n<!-- <mat-radio-button class=\"option\" value=\"published\">Published</mat-radio-button>-->\n<!--</mat-radio-group>-->\n<mat-divider class=\"option-list-divider\"></mat-divider>\n<div mat-dialog-content>\n\n <table mat-table [dataSource]=entries>\n <ng-container matColumnDef=\"id\">\n <th mat-header-cell *matHeaderCellDef> Id </th>\n <td mat-cell *matCellDef=\"let entry\"> {{entry.id}} </td>\n </ng-container>\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef> Title </th>\n <td mat-cell *matCellDef=\"let entry\"> {{entry.title}} </td>\n </ng-container>\n <ng-container matColumnDef=\"create_date\">\n <th mat-header-cell *matHeaderCellDef> Created </th>\n <td mat-cell *matCellDef=\"let entry\"> {{entry.create_date}} </td>\n </ng-container>\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let entry\">\n <button mat-button color=\"primary\" (click)=\"select(entry)\">Edit</button> | <button mat-button color=\"warn\" (click)=\"delete(entry)\">Delete</button>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"columnsToDisplay\"></tr>\n <tr mat-row *matRowDef=\"let myRowData; columns: columnsToDisplay\"></tr>\n </table>\n <div *ngIf=\"!entries?.length\">There are no unpublished entries</div>\n</div>\n<div mat-dialog-actions>\n <button mat-button (click)=\"onNoClick()\">Cancel</button>\n</div>\n", styles: [".entry-checkbox-container{display:inline-block;width:100%;margin:5px 0}.option-list-divider{margin:10px 0}.option{margin-right:5px}.mat-column-actions{min-width:175px}.mat-column-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:365px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i6.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i6.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i6.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i6.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i6.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i6.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i6.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i6.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i6.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i6.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }] });
38
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: EntrySelectorDialogComponent, decorators: [{
39
48
  type: Component,
40
- args: [{ selector: 'app-entry-selector-dialog', template: "<h1 mat-dialog-title>Select an Entry to Edit</h1>\n<!--<mat-radio-group aria-label=\"Select an option\">-->\n<!-- <mat-radio-button class=\"option\" value=\"unpublished\">Unpublished</mat-radio-button>-->\n<!-- <mat-radio-button class=\"option\" value=\"published\">Published</mat-radio-button>-->\n<!--</mat-radio-group>-->\n<mat-divider class=\"option-list-divider\"></mat-divider>\n<div mat-dialog-content>\n <mat-radio-group [(ngModel)]=\"selectedId\">\n <mat-radio-button *ngFor=\"let entry of entries\" class=\"option\" [value]=\"entry.id\">{{entry.title}}</mat-radio-button>\n </mat-radio-group>\n <div *ngIf=\"!entries?.length\">There are no unpublished entries</div>\n</div>\n<div mat-dialog-actions>\n <button mat-button (click)=\"onNoClick()\">Cancel</button>\n <button mat-button (click)=\"onYesClick()\" [mat-dialog-close]=\"this.selectedId\" cdkFocusInitial>Edit Selected Entry</button>\n</div>\n", styles: [".entry-checkbox-container{display:inline-block;width:100%;margin:5px 0}.option-list-divider{margin:10px 0}.option{margin-right:5px}\n"] }]
41
- }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: i8.EntrySelectorDialogData, decorators: [{
49
+ args: [{ selector: 'app-entry-selector-dialog', template: "<h1 mat-dialog-title>Select an Entry to Edit</h1>\n<!--<mat-radio-group aria-label=\"Select an option\">-->\n<!-- <mat-radio-button class=\"option\" value=\"unpublished\">Unpublished</mat-radio-button>-->\n<!-- <mat-radio-button class=\"option\" value=\"published\">Published</mat-radio-button>-->\n<!--</mat-radio-group>-->\n<mat-divider class=\"option-list-divider\"></mat-divider>\n<div mat-dialog-content>\n\n <table mat-table [dataSource]=entries>\n <ng-container matColumnDef=\"id\">\n <th mat-header-cell *matHeaderCellDef> Id </th>\n <td mat-cell *matCellDef=\"let entry\"> {{entry.id}} </td>\n </ng-container>\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef> Title </th>\n <td mat-cell *matCellDef=\"let entry\"> {{entry.title}} </td>\n </ng-container>\n <ng-container matColumnDef=\"create_date\">\n <th mat-header-cell *matHeaderCellDef> Created </th>\n <td mat-cell *matCellDef=\"let entry\"> {{entry.create_date}} </td>\n </ng-container>\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let entry\">\n <button mat-button color=\"primary\" (click)=\"select(entry)\">Edit</button> | <button mat-button color=\"warn\" (click)=\"delete(entry)\">Delete</button>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"columnsToDisplay\"></tr>\n <tr mat-row *matRowDef=\"let myRowData; columns: columnsToDisplay\"></tr>\n </table>\n <div *ngIf=\"!entries?.length\">There are no unpublished entries</div>\n</div>\n<div mat-dialog-actions>\n <button mat-button (click)=\"onNoClick()\">Cancel</button>\n</div>\n", styles: [".entry-checkbox-container{display:inline-block;width:100%;margin:5px 0}.option-list-divider{margin:10px 0}.option{margin-right:5px}.mat-column-actions{min-width:175px}.mat-column-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:365px}\n"] }]
50
+ }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: i7.EntrySelectorDialogData, decorators: [{
42
51
  type: Inject,
43
52
  args: [MAT_DIALOG_DATA]
44
53
  }] }, { type: i2.EntryService }]; } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktc2VsZWN0b3ItZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9jb21wb25lbnRzL2VudHJ5LXNlbGVjdG9yLWRpYWxvZy9lbnRyeS1zZWxlY3Rvci1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2NvbXBvbmVudHMvZW50cnktc2VsZWN0b3ItZGlhbG9nL2VudHJ5LXNlbGVjdG9yLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUMsZUFBZSxFQUFlLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7QUFTdkUsTUFBTSxPQUFPLDRCQUE0QjtJQU9yQyxZQUNXLFNBQXFELEVBQzVCLElBQTZCLEVBQ3JELFlBQTBCO1FBRjNCLGNBQVMsR0FBVCxTQUFTLENBQTRDO1FBQzVCLFNBQUksR0FBSixJQUFJLENBQXlCO1FBQ3JELGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBRXRDLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3pELElBQUksQ0FBQyxPQUFPLEdBQUksSUFBWSxDQUFDLE9BQU8sQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxTQUFTO1FBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3RFLFlBQVksQ0FBQyxPQUFPLENBQUMsNEJBQTRCLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN4RixLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7QUE3Qk0sMENBQWEsR0FBRyxlQUFlLENBQUM7eUhBRjlCLDRCQUE0Qiw4Q0FTekIsZUFBZTs2R0FUbEIsNEJBQTRCLGlFQ1Z6Qyw0NkJBZ0JBOzJGRE5hLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDSSwyQkFBMkI7OzBCQWFoQyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7RW50cnlTZWxlY3RvckRpYWxvZ0RhdGF9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZW50cnktc2VsZWN0b3ItZGlhbG9nL2VudHJ5LXNlbGVjdG9yLWRpYWxvZy1kYXRhJztcbmltcG9ydCB7RW50cnlTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lbnRyeS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtZW50cnktc2VsZWN0b3ItZGlhbG9nJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZW50cnktc2VsZWN0b3ItZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lbnRyeS1zZWxlY3Rvci1kaWFsb2cuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBFbnRyeVNlbGVjdG9yRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIHN0YXRpYyBDVVJSRU5UX0VOVFJZID0gJ2N1cnJlbnRfZW50cnknO1xuXG4gICAgZW50cmllcztcbiAgICBzZWxlY3RlZElkOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEVudHJ5U2VsZWN0b3JEaWFsb2dDb21wb25lbnQ+LFxuICAgICAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IEVudHJ5U2VsZWN0b3JEaWFsb2dEYXRhLFxuICAgICAgICBwcml2YXRlIGVudHJ5U2VydmljZTogRW50cnlTZXJ2aWNlLFxuICAgICkge1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVudHJ5U2VydmljZS5nZXRVbnB1Ymxpc2hlZEVudHJpZXMoKS5zdWJzY3JpYmUoKG5leHQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZW50cmllcyA9IChuZXh0IGFzIGFueSkucmVzdWx0cztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25Ob0NsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICAgIH1cblxuICAgIG9uWWVzQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZW50cnlTZXJ2aWNlLmdldFVucHVibGlzaGVkQnlJZCh0aGlzLnNlbGVjdGVkSWQpLnN1YnNjcmliZSgoZW50cnkpID0+IHtcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKEVudHJ5U2VsZWN0b3JEaWFsb2dDb21wb25lbnQuQ1VSUkVOVF9FTlRSWSwgSlNPTi5zdHJpbmdpZnkoZW50cnkpKTtcbiAgICAgICAgICAgIGVudHJ5LnNvcnQoKTtcbiAgICAgICAgICAgIHRoaXMuZW50cnlTZXJ2aWNlLmN1cnJlbnRseUVkaXRlZEVudHJ5Lm5leHQoZW50cnkpO1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGgxIG1hdC1kaWFsb2ctdGl0bGU+U2VsZWN0IGFuIEVudHJ5IHRvIEVkaXQ8L2gxPlxuPCEtLTxtYXQtcmFkaW8tZ3JvdXAgYXJpYS1sYWJlbD1cIlNlbGVjdCBhbiBvcHRpb25cIj4tLT5cbjwhLS0gICAgPG1hdC1yYWRpby1idXR0b24gY2xhc3M9XCJvcHRpb25cIiB2YWx1ZT1cInVucHVibGlzaGVkXCI+VW5wdWJsaXNoZWQ8L21hdC1yYWRpby1idXR0b24+LS0+XG48IS0tICAgIDxtYXQtcmFkaW8tYnV0dG9uIGNsYXNzPVwib3B0aW9uXCIgdmFsdWU9XCJwdWJsaXNoZWRcIj5QdWJsaXNoZWQ8L21hdC1yYWRpby1idXR0b24+LS0+XG48IS0tPC9tYXQtcmFkaW8tZ3JvdXA+LS0+XG48bWF0LWRpdmlkZXIgY2xhc3M9XCJvcHRpb24tbGlzdC1kaXZpZGVyXCI+PC9tYXQtZGl2aWRlcj5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxtYXQtcmFkaW8tZ3JvdXAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZElkXCI+XG4gICAgICAgIDxtYXQtcmFkaW8tYnV0dG9uICpuZ0Zvcj1cImxldCBlbnRyeSBvZiBlbnRyaWVzXCIgY2xhc3M9XCJvcHRpb25cIiBbdmFsdWVdPVwiZW50cnkuaWRcIj57e2VudHJ5LnRpdGxlfX08L21hdC1yYWRpby1idXR0b24+XG4gICAgPC9tYXQtcmFkaW8tZ3JvdXA+XG4gICAgPGRpdiAqbmdJZj1cIiFlbnRyaWVzPy5sZW5ndGhcIj5UaGVyZSBhcmUgbm8gdW5wdWJsaXNoZWQgZW50cmllczwvZGl2PlxuPC9kaXY+XG48ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cIm9uTm9DbGljaygpXCI+Q2FuY2VsPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJvblllc0NsaWNrKClcIiBbbWF0LWRpYWxvZy1jbG9zZV09XCJ0aGlzLnNlbGVjdGVkSWRcIiBjZGtGb2N1c0luaXRpYWw+RWRpdCBTZWxlY3RlZCBFbnRyeTwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktc2VsZWN0b3ItZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9jb21wb25lbnRzL2VudHJ5LXNlbGVjdG9yLWRpYWxvZy9lbnRyeS1zZWxlY3Rvci1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2NvbXBvbmVudHMvZW50cnktc2VsZWN0b3ItZGlhbG9nL2VudHJ5LXNlbGVjdG9yLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUMsZUFBZSxFQUFlLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7OztBQVN2RSxNQUFNLE9BQU8sNEJBQTRCO0lBUXZDLFlBQ1MsU0FBcUQsRUFDNUIsSUFBNkIsRUFDckQsWUFBMEI7UUFGM0IsY0FBUyxHQUFULFNBQVMsQ0FBNEM7UUFDNUIsU0FBSSxHQUFKLElBQUksQ0FBeUI7UUFDckQsaUJBQVksR0FBWixZQUFZLENBQWM7UUFUcEMscUJBQWdCLEdBQUcsQ0FBQyxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBV3ZELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzNELElBQUksQ0FBQyxPQUFPLEdBQUksSUFBWSxDQUFDLE9BQU8sQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUs7UUFDVixJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNyRSxZQUFZLENBQUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDNUYsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSztRQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3JELElBQUksQ0FBQyxZQUFZLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDM0QsSUFBSSxDQUFDLE9BQU8sR0FBSSxJQUFZLENBQUMsT0FBTyxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDWCxLQUFLLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUF0Q00sMENBQWEsR0FBRyxlQUFlLENBQUM7eUhBSjVCLDRCQUE0Qiw4Q0FVN0IsZUFBZTs2R0FWZCw0QkFBNEIsaUVDVnpDLGdzREFtQ0E7MkZEekJhLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSwyQkFBMkI7OzBCQWNsQyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7RW50cnlTZWxlY3RvckRpYWxvZ0RhdGF9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZW50cnktc2VsZWN0b3ItZGlhbG9nL2VudHJ5LXNlbGVjdG9yLWRpYWxvZy1kYXRhJztcbmltcG9ydCB7RW50cnlTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lbnRyeS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWVudHJ5LXNlbGVjdG9yLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbnRyeS1zZWxlY3Rvci1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbnRyeS1zZWxlY3Rvci1kaWFsb2cuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBFbnRyeVNlbGVjdG9yRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjb2x1bW5zVG9EaXNwbGF5ID0gWyd0aXRsZScsICdjcmVhdGVfZGF0ZScsICdhY3Rpb25zJ107XG5cbiAgc3RhdGljIENVUlJFTlRfRU5UUlkgPSAnY3VycmVudF9lbnRyeSc7XG5cbiAgZW50cmllcztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8RW50cnlTZWxlY3RvckRpYWxvZ0NvbXBvbmVudD4sXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBFbnRyeVNlbGVjdG9yRGlhbG9nRGF0YSxcbiAgICBwcml2YXRlIGVudHJ5U2VydmljZTogRW50cnlTZXJ2aWNlLFxuICApIHtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZW50cnlTZXJ2aWNlLmdldFVucHVibGlzaGVkRW50cmllcygpLnN1YnNjcmliZSgobmV4dCkgPT4ge1xuICAgICAgdGhpcy5lbnRyaWVzID0gKG5leHQgYXMgYW55KS5yZXN1bHRzO1xuICAgIH0pO1xuICB9XG5cbiAgb25Ob0NsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gIH1cblxuICBzZWxlY3QoZW50cnkpOiB2b2lkIHtcbiAgICB0aGlzLmVudHJ5U2VydmljZS5nZXRVbnB1Ymxpc2hlZEJ5SWQoZW50cnkuaWQpLnN1YnNjcmliZSgoZW50cnlfbmV3KSA9PiB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShFbnRyeVNlbGVjdG9yRGlhbG9nQ29tcG9uZW50LkNVUlJFTlRfRU5UUlksIEpTT04uc3RyaW5naWZ5KGVudHJ5X25ldykpO1xuICAgICAgZW50cnlfbmV3LnNvcnQoKTtcbiAgICAgIHRoaXMuZW50cnlTZXJ2aWNlLmN1cnJlbnRseUVkaXRlZEVudHJ5Lm5leHQoZW50cnlfbmV3KTtcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGVudHJ5X25ldy5pZCk7XG4gICAgfSk7XG4gIH1cblxuICBkZWxldGUoZW50cnkpOiB2b2lkIHtcbiAgICB0aGlzLmVudHJ5U2VydmljZS5kZWxldGUoZW50cnkpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgIHRoaXMuZW50cnlTZXJ2aWNlLmdldFVucHVibGlzaGVkRW50cmllcygpLnN1YnNjcmliZSgobmV4dCkgPT4ge1xuICAgICAgICB0aGlzLmVudHJpZXMgPSAobmV4dCBhcyBhbnkpLnJlc3VsdHM7XG4gICAgICB9KTtcbiAgICB9LCAoZXJyb3IpID0+IHtcbiAgICAgIGFsZXJ0KCdOT1QgREVMRVRFRDogJyArIGVycm9yKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGgxIG1hdC1kaWFsb2ctdGl0bGU+U2VsZWN0IGFuIEVudHJ5IHRvIEVkaXQ8L2gxPlxuPCEtLTxtYXQtcmFkaW8tZ3JvdXAgYXJpYS1sYWJlbD1cIlNlbGVjdCBhbiBvcHRpb25cIj4tLT5cbjwhLS0gICAgPG1hdC1yYWRpby1idXR0b24gY2xhc3M9XCJvcHRpb25cIiB2YWx1ZT1cInVucHVibGlzaGVkXCI+VW5wdWJsaXNoZWQ8L21hdC1yYWRpby1idXR0b24+LS0+XG48IS0tICAgIDxtYXQtcmFkaW8tYnV0dG9uIGNsYXNzPVwib3B0aW9uXCIgdmFsdWU9XCJwdWJsaXNoZWRcIj5QdWJsaXNoZWQ8L21hdC1yYWRpby1idXR0b24+LS0+XG48IS0tPC9tYXQtcmFkaW8tZ3JvdXA+LS0+XG48bWF0LWRpdmlkZXIgY2xhc3M9XCJvcHRpb24tbGlzdC1kaXZpZGVyXCI+PC9tYXQtZGl2aWRlcj5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxuXG4gIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPWVudHJpZXM+XG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJpZFwiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gSWQgPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbnRyeVwiPiB7e2VudHJ5LmlkfX0gPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInRpdGxlXCI+XG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBUaXRsZSA8L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVudHJ5XCI+IHt7ZW50cnkudGl0bGV9fSA8L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiY3JlYXRlX2RhdGVcIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IENyZWF0ZWQgPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbnRyeVwiPiB7e2VudHJ5LmNyZWF0ZV9kYXRlfX0gPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImFjdGlvbnNcIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IEFjdGlvbnMgPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbnRyeVwiPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInNlbGVjdChlbnRyeSlcIj5FZGl0PC9idXR0b24+IHwgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwid2FyblwiIChjbGljayk9XCJkZWxldGUoZW50cnkpXCI+RGVsZXRlPC9idXR0b24+XG4gICAgICA8L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiY29sdW1uc1RvRGlzcGxheVwiPjwvdHI+XG4gICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCBteVJvd0RhdGE7IGNvbHVtbnM6IGNvbHVtbnNUb0Rpc3BsYXlcIj48L3RyPlxuICA8L3RhYmxlPlxuICA8ZGl2ICpuZ0lmPVwiIWVudHJpZXM/Lmxlbmd0aFwiPlRoZXJlIGFyZSBubyB1bnB1Ymxpc2hlZCBlbnRyaWVzPC9kaXY+XG48L2Rpdj5cbjxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zPlxuICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cIm9uTm9DbGljaygpXCI+Q2FuY2VsPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -1,26 +1,26 @@
1
1
  import { Component, Input } from '@angular/core';
2
- import { Entry } from '../../data/entry';
3
2
  import * as i0 from "@angular/core";
4
3
  import * as i1 from "../../services/entry.service";
5
- import * as i2 from "../entry-renderer/entry-renderer.component";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "../entry-renderer/entry-renderer.component";
6
6
  export class JsonRendererComponent {
7
7
  constructor(entryService) {
8
8
  this.entryService = entryService;
9
9
  this.JSON = JSON;
10
- this.entry = new Entry();
11
10
  }
12
11
  ngOnInit() {
13
12
  this.entryService.currentlyEditedEntry.subscribe((entry) => {
13
+ console.log(entry);
14
14
  this.entry = entry;
15
15
  });
16
16
  }
17
17
  }
18
18
  JsonRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: JsonRendererComponent, deps: [{ token: i1.EntryService }], target: i0.ɵɵFactoryTarget.Component });
19
- JsonRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: JsonRendererComponent, selector: "app-json-renderer", inputs: { entry: "entry" }, ngImport: i0, template: "<div class=\"section json-render json\">\n <app-entry-renderer [editMode]=\"true\" [entry]=\"entry\"></app-entry-renderer>\n <pre>{{JSON.stringify(entry)}}</pre>\n</div>\n", styles: [".json pre{white-space:pre-wrap;word-wrap:anywhere}.json-render{padding:0 20px}\n"], dependencies: [{ kind: "component", type: i2.EntryRendererComponent, selector: "app-entry-renderer", inputs: ["entry", "editMode"] }] });
19
+ JsonRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: JsonRendererComponent, selector: "app-json-renderer", inputs: { entry: "entry" }, ngImport: i0, template: "<div class=\"section json-render json\">\n <app-entry-renderer [editMode]=\"true\" [entry]=\"entry\"></app-entry-renderer>\n <pre *ngIf=\"entry\">{{JSON.stringify(entry)}}</pre>\n</div>\n", styles: [".json pre{white-space:pre-wrap;word-wrap:anywhere}.json-render{padding:0 20px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EntryRendererComponent, selector: "app-entry-renderer", inputs: ["entry", "editMode"] }] });
20
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: JsonRendererComponent, decorators: [{
21
21
  type: Component,
22
- args: [{ selector: 'app-json-renderer', template: "<div class=\"section json-render json\">\n <app-entry-renderer [editMode]=\"true\" [entry]=\"entry\"></app-entry-renderer>\n <pre>{{JSON.stringify(entry)}}</pre>\n</div>\n", styles: [".json pre{white-space:pre-wrap;word-wrap:anywhere}.json-render{padding:0 20px}\n"] }]
22
+ args: [{ selector: 'app-json-renderer', template: "<div class=\"section json-render json\">\n <app-entry-renderer [editMode]=\"true\" [entry]=\"entry\"></app-entry-renderer>\n <pre *ngIf=\"entry\">{{JSON.stringify(entry)}}</pre>\n</div>\n", styles: [".json pre{white-space:pre-wrap;word-wrap:anywhere}.json-render{padding:0 20px}\n"] }]
23
23
  }], ctorParameters: function () { return [{ type: i1.EntryService }]; }, propDecorators: { entry: [{
24
24
  type: Input
25
25
  }] } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvY29tcG9uZW50cy9qc29uLXJlbmRlcmVyL2pzb24tcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2NvbXBvbmVudHMvanNvbi1yZW5kZXJlci9qc29uLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQVF2QyxNQUFNLE9BQU8scUJBQXFCO0lBSzlCLFlBQ1ksWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFKdEMsU0FBSSxHQUFHLElBQUksQ0FBQztRQUNILFVBQUssR0FBVSxJQUFJLEtBQUssRUFBRSxDQUFDO0lBS3BDLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN2RCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O2tIQWRRLHFCQUFxQjtzR0FBckIscUJBQXFCLHFGQ1RsQyxtTEFJQTsyRkRLYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0ksbUJBQW1CO21HQU9wQixLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VudHJ5fSBmcm9tICcuLi8uLi9kYXRhL2VudHJ5JztcbmltcG9ydCB7RW50cnlTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lbnRyeS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtanNvbi1yZW5kZXJlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2pzb24tcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2pzb24tcmVuZGVyZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBKc29uUmVuZGVyZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgSlNPTiA9IEpTT047XG4gICAgQElucHV0KCkgZW50cnk6IEVudHJ5ID0gbmV3IEVudHJ5KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbnRyeVNlcnZpY2U6IEVudHJ5U2VydmljZSxcbiAgICApIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5lbnRyeVNlcnZpY2UuY3VycmVudGx5RWRpdGVkRW50cnkuc3Vic2NyaWJlKChlbnRyeSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5lbnRyeSA9IGVudHJ5O1xuICAgICAgICB9KTtcbiAgICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZWN0aW9uIGpzb24tcmVuZGVyIGpzb25cIj5cbiAgICA8YXBwLWVudHJ5LXJlbmRlcmVyIFtlZGl0TW9kZV09XCJ0cnVlXCIgW2VudHJ5XT1cImVudHJ5XCI+PC9hcHAtZW50cnktcmVuZGVyZXI+XG4gICAgPHByZT57e0pTT04uc3RyaW5naWZ5KGVudHJ5KX19PC9wcmU+XG48L2Rpdj5cbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvY29tcG9uZW50cy9qc29uLXJlbmRlcmVyL2pzb24tcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2NvbXBvbmVudHMvanNvbi1yZW5kZXJlci9qc29uLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDOzs7OztBQVN2RCxNQUFNLE9BQU8scUJBQXFCO0lBSzlCLFlBQ1ksWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFKdEMsU0FBSSxHQUFHLElBQUksQ0FBQztJQU1aLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN2RCxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7a0hBZlEscUJBQXFCO3NHQUFyQixxQkFBcUIscUZDVGxDLG1NQUlBOzJGREthLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDSSxtQkFBbUI7bUdBT3BCLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RW50cnl9IGZyb20gJy4uLy4uL2RhdGEvZW50cnknO1xuaW1wb3J0IHtFbnRyeVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VudHJ5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1qc29uLXJlbmRlcmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vanNvbi1yZW5kZXJlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vanNvbi1yZW5kZXJlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEpzb25SZW5kZXJlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBKU09OID0gSlNPTjtcbiAgICBASW5wdXQoKSBlbnRyeTogRW50cnk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbnRyeVNlcnZpY2U6IEVudHJ5U2VydmljZSxcbiAgICApIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5lbnRyeVNlcnZpY2UuY3VycmVudGx5RWRpdGVkRW50cnkuc3Vic2NyaWJlKChlbnRyeSkgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5sb2coZW50cnkpO1xuICAgICAgICAgICAgdGhpcy5lbnRyeSA9IGVudHJ5O1xuICAgICAgICB9KTtcbiAgICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZWN0aW9uIGpzb24tcmVuZGVyIGpzb25cIj5cbiAgICA8YXBwLWVudHJ5LXJlbmRlcmVyIFtlZGl0TW9kZV09XCJ0cnVlXCIgW2VudHJ5XT1cImVudHJ5XCI+PC9hcHAtZW50cnktcmVuZGVyZXI+XG4gICAgPHByZSAqbmdJZj1cImVudHJ5XCI+e3tKU09OLnN0cmluZ2lmeShlbnRyeSl9fTwvcHJlPlxuPC9kaXY+XG4iXX0=
@@ -1,5 +1,4 @@
1
1
  import { Component } from '@angular/core';
2
- import { Entry } from '../../data/entry';
3
2
  import * as i0 from "@angular/core";
4
3
  import * as i1 from "../../services/entry.service";
5
4
  import * as i2 from "@angular/common";
@@ -8,7 +7,6 @@ import * as i4 from "@angular/material/card";
8
7
  export class OutlineViewComponent {
9
8
  constructor(entryService) {
10
9
  this.entryService = entryService;
11
- this.entry = new Entry();
12
10
  this.Math = Math;
13
11
  }
14
12
  ngOnInit() {
@@ -32,9 +30,9 @@ export class OutlineViewComponent {
32
30
  }
33
31
  }
34
32
  OutlineViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: OutlineViewComponent, deps: [{ token: i1.EntryService }], target: i0.ɵɵFactoryTarget.Component });
35
- OutlineViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: OutlineViewComponent, selector: "app-outline-view", ngImport: i0, template: "<div class=\"section outline\">\n <h1 *ngIf=\"entry?.sections?.length === 0\">Outline View</h1>\n <div cdkDropList class=\"sections\" (cdkDropListDropped)=\"sectionDrop($event)\">\n <mat-card class=\"card\" cdkDrag *ngFor=\"let section of entry.sections\">\n <h3>Section {{Math.ceil(section.order / 10) + 1}}</h3>\n {{section.subheading}}\n <div cdkDropList class=\"contents\" (cdkDropListDropped)=\"contentDrop($event, section)\">\n <h3>Contents for {{section.subheading}}</h3>\n <div class=\"content-card\" *ngFor=\"let content of section.contents\" cdkDrag>\n <div class=\"content\">{{content.value}}</div>\n <div class=\"content-placeholder\" *cdkDragPlaceholder></div>\n </div>\n </div>\n </mat-card>\n <div class=\"custom-placeholder\" *cdkDragPlaceholder></div>\n </div>\n</div>\n", styles: [".outline{padding:0 20px}.content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.card,.content-card{margin:4px;cursor:pointer}.content-card:not(:last-child){border-bottom:1px dotted #aaa}.custom-placeholder{background:#ccc;border:dotted 3px #999;transition:transform .25s cubic-bezier(0,0,.2,1);min-height:60px}.content-placeholder{background:#ccc;border:dotted 3px #999;transition:transform .25s cubic-bezier(0,0,.2,1);min-height:30px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }] });
33
+ OutlineViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: OutlineViewComponent, selector: "app-outline-view", ngImport: i0, template: "<div *ngIf=\"entry\" class=\"section outline\">\n <h1 *ngIf=\"entry?.sections?.length === 0\">Outline View</h1>\n <div cdkDropList class=\"sections\" (cdkDropListDropped)=\"sectionDrop($event)\">\n <mat-card class=\"card\" cdkDrag *ngFor=\"let section of entry.sections\">\n <h3>Section {{Math.ceil(section.order / 10) + 1}}</h3>\n {{section.subheading}}\n <div cdkDropList class=\"contents\" (cdkDropListDropped)=\"contentDrop($event, section)\">\n <h3>Contents for {{section.subheading}}</h3>\n <div class=\"content-card\" *ngFor=\"let content of section.contents\" cdkDrag>\n <div class=\"content\">{{content.value}}</div>\n <div class=\"content-placeholder\" *cdkDragPlaceholder></div>\n </div>\n </div>\n </mat-card>\n <div class=\"custom-placeholder\" *cdkDragPlaceholder></div>\n </div>\n</div>\n", styles: [".outline{padding:0 20px}.content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.card,.content-card{margin:4px;cursor:pointer}.content-card:not(:last-child){border-bottom:1px dotted #aaa}.custom-placeholder{background:#ccc;border:dotted 3px #999;transition:transform .25s cubic-bezier(0,0,.2,1);min-height:60px}.content-placeholder{background:#ccc;border:dotted 3px #999;transition:transform .25s cubic-bezier(0,0,.2,1);min-height:30px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }] });
36
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: OutlineViewComponent, decorators: [{
37
35
  type: Component,
38
- args: [{ selector: 'app-outline-view', template: "<div class=\"section outline\">\n <h1 *ngIf=\"entry?.sections?.length === 0\">Outline View</h1>\n <div cdkDropList class=\"sections\" (cdkDropListDropped)=\"sectionDrop($event)\">\n <mat-card class=\"card\" cdkDrag *ngFor=\"let section of entry.sections\">\n <h3>Section {{Math.ceil(section.order / 10) + 1}}</h3>\n {{section.subheading}}\n <div cdkDropList class=\"contents\" (cdkDropListDropped)=\"contentDrop($event, section)\">\n <h3>Contents for {{section.subheading}}</h3>\n <div class=\"content-card\" *ngFor=\"let content of section.contents\" cdkDrag>\n <div class=\"content\">{{content.value}}</div>\n <div class=\"content-placeholder\" *cdkDragPlaceholder></div>\n </div>\n </div>\n </mat-card>\n <div class=\"custom-placeholder\" *cdkDragPlaceholder></div>\n </div>\n</div>\n", styles: [".outline{padding:0 20px}.content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.card,.content-card{margin:4px;cursor:pointer}.content-card:not(:last-child){border-bottom:1px dotted #aaa}.custom-placeholder{background:#ccc;border:dotted 3px #999;transition:transform .25s cubic-bezier(0,0,.2,1);min-height:60px}.content-placeholder{background:#ccc;border:dotted 3px #999;transition:transform .25s cubic-bezier(0,0,.2,1);min-height:30px}\n"] }]
36
+ args: [{ selector: 'app-outline-view', template: "<div *ngIf=\"entry\" class=\"section outline\">\n <h1 *ngIf=\"entry?.sections?.length === 0\">Outline View</h1>\n <div cdkDropList class=\"sections\" (cdkDropListDropped)=\"sectionDrop($event)\">\n <mat-card class=\"card\" cdkDrag *ngFor=\"let section of entry.sections\">\n <h3>Section {{Math.ceil(section.order / 10) + 1}}</h3>\n {{section.subheading}}\n <div cdkDropList class=\"contents\" (cdkDropListDropped)=\"contentDrop($event, section)\">\n <h3>Contents for {{section.subheading}}</h3>\n <div class=\"content-card\" *ngFor=\"let content of section.contents\" cdkDrag>\n <div class=\"content\">{{content.value}}</div>\n <div class=\"content-placeholder\" *cdkDragPlaceholder></div>\n </div>\n </div>\n </mat-card>\n <div class=\"custom-placeholder\" *cdkDragPlaceholder></div>\n </div>\n</div>\n", styles: [".outline{padding:0 20px}.content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.card,.content-card{margin:4px;cursor:pointer}.content-card:not(:last-child){border-bottom:1px dotted #aaa}.custom-placeholder{background:#ccc;border:dotted 3px #999;transition:transform .25s cubic-bezier(0,0,.2,1);min-height:60px}.content-placeholder{background:#ccc;border:dotted 3px #999;transition:transform .25s cubic-bezier(0,0,.2,1);min-height:30px}\n"] }]
39
37
  }], ctorParameters: function () { return [{ type: i1.EntryService }]; } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0bGluZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9jb21wb25lbnRzL291dGxpbmUtdmlldy9vdXRsaW5lLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2NvbXBvbmVudHMvb3V0bGluZS12aWV3L291dGxpbmUtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQVF2QyxNQUFNLE9BQU8sb0JBQW9CO0lBSzdCLFlBQ1ksWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFKdEMsVUFBSyxHQUFVLElBQUksS0FBSyxFQUFFLENBQUM7UUFDM0IsU0FBSSxHQUFHLElBQUksQ0FBQztJQUtaLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN2RCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXLENBQUMsQ0FBQztRQUNULE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDekIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzlDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsWUFBWSxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRixLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELFdBQVcsQ0FBQyxDQUFDLEVBQUUsT0FBTztRQUNsQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUM5QyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFlBQVksR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEYsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVELENBQUM7O2lIQTlCUSxvQkFBb0I7cUdBQXBCLG9CQUFvQix3RENWakMsazdCQWlCQTsyRkRQYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0ksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0VudHJ5fSBmcm9tICcuLi8uLi9kYXRhL2VudHJ5JztcbmltcG9ydCB7RW50cnlTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lbnRyeS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtb3V0bGluZS12aWV3JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vb3V0bGluZS12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9vdXRsaW5lLXZpZXcuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBPdXRsaW5lVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBlbnRyeTogRW50cnkgPSBuZXcgRW50cnkoKTtcbiAgICBNYXRoID0gTWF0aDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVudHJ5U2VydmljZTogRW50cnlTZXJ2aWNlXG4gICAgKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZW50cnlTZXJ2aWNlLmN1cnJlbnRseUVkaXRlZEVudHJ5LnN1YnNjcmliZSgoZW50cnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZW50cnkgPSBlbnRyeTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2VjdGlvbkRyb3AoZSkge1xuICAgICAgICBjb25zdCBlbnRyeSA9IHRoaXMuZW50cnk7XG4gICAgICAgIGNvbnN0IGRpZmYgPSBlLmN1cnJlbnRJbmRleCAtIGUucHJldmlvdXNJbmRleDtcbiAgICAgICAgZW50cnkuc2VjdGlvbnNbZS5wcmV2aW91c0luZGV4XS5vcmRlciA9IGUuY3VycmVudEluZGV4ICogMTAgKyAoZGlmZiA+IDAgPyAxIDogLTEpO1xuICAgICAgICBlbnRyeS5zb3J0KCk7XG4gICAgICAgIHRoaXMuZW50cnlTZXJ2aWNlLmN1cnJlbnRseUVkaXRlZEVudHJ5Lm5leHQodGhpcy5lbnRyeSk7XG4gICAgfVxuXG4gICAgY29udGVudERyb3AoZSwgc2VjdGlvbikge1xuICAgICAgICBjb25zdCBlbnRyeSA9IHRoaXMuZW50cnk7XG4gICAgICAgIGNvbnN0IGRpZmYgPSBlLmN1cnJlbnRJbmRleCAtIGUucHJldmlvdXNJbmRleDtcbiAgICAgICAgc2VjdGlvbi5jb250ZW50c1tlLnByZXZpb3VzSW5kZXhdLm9yZGVyID0gZS5jdXJyZW50SW5kZXggKiAxMCArIChkaWZmID4gMCA/IDEgOiAtMSk7XG4gICAgICAgIGVudHJ5LnNvcnQoKTtcbiAgICAgICAgdGhpcy5lbnRyeVNlcnZpY2UuY3VycmVudGx5RWRpdGVkRW50cnkubmV4dCh0aGlzLmVudHJ5KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2VjdGlvbiBvdXRsaW5lXCI+XG4gICAgPGgxICpuZ0lmPVwiZW50cnk/LnNlY3Rpb25zPy5sZW5ndGggPT09IDBcIj5PdXRsaW5lIFZpZXc8L2gxPlxuICAgIDxkaXYgY2RrRHJvcExpc3QgY2xhc3M9XCJzZWN0aW9uc1wiIChjZGtEcm9wTGlzdERyb3BwZWQpPVwic2VjdGlvbkRyb3AoJGV2ZW50KVwiPlxuICAgICAgICA8bWF0LWNhcmQgY2xhc3M9XCJjYXJkXCIgY2RrRHJhZyAqbmdGb3I9XCJsZXQgc2VjdGlvbiBvZiBlbnRyeS5zZWN0aW9uc1wiPlxuICAgICAgICAgICAgPGgzPlNlY3Rpb24ge3tNYXRoLmNlaWwoc2VjdGlvbi5vcmRlciAvIDEwKSArIDF9fTwvaDM+XG4gICAgICAgICAgICB7e3NlY3Rpb24uc3ViaGVhZGluZ319XG4gICAgICAgICAgICA8ZGl2IGNka0Ryb3BMaXN0IGNsYXNzPVwiY29udGVudHNcIiAoY2RrRHJvcExpc3REcm9wcGVkKT1cImNvbnRlbnREcm9wKCRldmVudCwgc2VjdGlvbilcIj5cbiAgICAgICAgICAgICAgICA8aDM+Q29udGVudHMgZm9yIHt7c2VjdGlvbi5zdWJoZWFkaW5nfX08L2gzPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWNhcmRcIiAqbmdGb3I9XCJsZXQgY29udGVudCBvZiBzZWN0aW9uLmNvbnRlbnRzXCIgY2RrRHJhZz5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj57e2NvbnRlbnQudmFsdWV9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1wbGFjZWhvbGRlclwiICpjZGtEcmFnUGxhY2Vob2xkZXI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1wbGFjZWhvbGRlclwiICpjZGtEcmFnUGxhY2Vob2xkZXI+PC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0bGluZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9jb21wb25lbnRzL291dGxpbmUtdmlldy9vdXRsaW5lLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2NvbXBvbmVudHMvb3V0bGluZS12aWV3L291dGxpbmUtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBVXZELE1BQU0sT0FBTyxvQkFBb0I7SUFLN0IsWUFDWSxZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUh0QyxTQUFJLEdBQUcsSUFBSSxDQUFDO0lBS1osQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3ZELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVcsQ0FBQyxDQUFDO1FBQ1QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDOUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxZQUFZLEdBQUcsRUFBRSxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsV0FBVyxDQUFDLENBQUMsRUFBRSxPQUFPO1FBQ2xCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDekIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzlDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsWUFBWSxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRixLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQzs7aUhBOUJRLG9CQUFvQjtxR0FBcEIsb0JBQW9CLHdEQ1ZqQyxrOEJBaUJBOzJGRFBhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDSSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7RW50cnl9IGZyb20gJy4uLy4uL2RhdGEvZW50cnknO1xuaW1wb3J0IHtFbnRyeVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VudHJ5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1vdXRsaW5lLXZpZXcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9vdXRsaW5lLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL291dGxpbmUtdmlldy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE91dGxpbmVWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIGVudHJ5OiBFbnRyeTtcbiAgICBNYXRoID0gTWF0aDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVudHJ5U2VydmljZTogRW50cnlTZXJ2aWNlXG4gICAgKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZW50cnlTZXJ2aWNlLmN1cnJlbnRseUVkaXRlZEVudHJ5LnN1YnNjcmliZSgoZW50cnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZW50cnkgPSBlbnRyeTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2VjdGlvbkRyb3AoZSkge1xuICAgICAgICBjb25zdCBlbnRyeSA9IHRoaXMuZW50cnk7XG4gICAgICAgIGNvbnN0IGRpZmYgPSBlLmN1cnJlbnRJbmRleCAtIGUucHJldmlvdXNJbmRleDtcbiAgICAgICAgZW50cnkuc2VjdGlvbnNbZS5wcmV2aW91c0luZGV4XS5vcmRlciA9IGUuY3VycmVudEluZGV4ICogMTAgKyAoZGlmZiA+IDAgPyAxIDogLTEpO1xuICAgICAgICBlbnRyeS5zb3J0KCk7XG4gICAgICAgIHRoaXMuZW50cnlTZXJ2aWNlLmN1cnJlbnRseUVkaXRlZEVudHJ5Lm5leHQodGhpcy5lbnRyeSk7XG4gICAgfVxuXG4gICAgY29udGVudERyb3AoZSwgc2VjdGlvbikge1xuICAgICAgICBjb25zdCBlbnRyeSA9IHRoaXMuZW50cnk7XG4gICAgICAgIGNvbnN0IGRpZmYgPSBlLmN1cnJlbnRJbmRleCAtIGUucHJldmlvdXNJbmRleDtcbiAgICAgICAgc2VjdGlvbi5jb250ZW50c1tlLnByZXZpb3VzSW5kZXhdLm9yZGVyID0gZS5jdXJyZW50SW5kZXggKiAxMCArIChkaWZmID4gMCA/IDEgOiAtMSk7XG4gICAgICAgIGVudHJ5LnNvcnQoKTtcbiAgICAgICAgdGhpcy5lbnRyeVNlcnZpY2UuY3VycmVudGx5RWRpdGVkRW50cnkubmV4dCh0aGlzLmVudHJ5KTtcbiAgICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZW50cnlcIiBjbGFzcz1cInNlY3Rpb24gb3V0bGluZVwiPlxuICAgIDxoMSAqbmdJZj1cImVudHJ5Py5zZWN0aW9ucz8ubGVuZ3RoID09PSAwXCI+T3V0bGluZSBWaWV3PC9oMT5cbiAgICA8ZGl2IGNka0Ryb3BMaXN0IGNsYXNzPVwic2VjdGlvbnNcIiAoY2RrRHJvcExpc3REcm9wcGVkKT1cInNlY3Rpb25Ecm9wKCRldmVudClcIj5cbiAgICAgICAgPG1hdC1jYXJkIGNsYXNzPVwiY2FyZFwiIGNka0RyYWcgKm5nRm9yPVwibGV0IHNlY3Rpb24gb2YgZW50cnkuc2VjdGlvbnNcIj5cbiAgICAgICAgICAgIDxoMz5TZWN0aW9uIHt7TWF0aC5jZWlsKHNlY3Rpb24ub3JkZXIgLyAxMCkgKyAxfX08L2gzPlxuICAgICAgICAgICAge3tzZWN0aW9uLnN1YmhlYWRpbmd9fVxuICAgICAgICAgICAgPGRpdiBjZGtEcm9wTGlzdCBjbGFzcz1cImNvbnRlbnRzXCIgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJjb250ZW50RHJvcCgkZXZlbnQsIHNlY3Rpb24pXCI+XG4gICAgICAgICAgICAgICAgPGgzPkNvbnRlbnRzIGZvciB7e3NlY3Rpb24uc3ViaGVhZGluZ319PC9oMz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1jYXJkXCIgKm5nRm9yPVwibGV0IGNvbnRlbnQgb2Ygc2VjdGlvbi5jb250ZW50c1wiIGNka0RyYWc+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+e3tjb250ZW50LnZhbHVlfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtcGxhY2Vob2xkZXJcIiAqY2RrRHJhZ1BsYWNlaG9sZGVyPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbWF0LWNhcmQ+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tcGxhY2Vob2xkZXJcIiAqY2RrRHJhZ1BsYWNlaG9sZGVyPjwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -16,6 +16,7 @@ import { MatChipsModule } from '@angular/material/chips';
16
16
  import { MatIconModule } from '@angular/material/icon';
17
17
  import { MatNativeDateModule } from '@angular/material/core';
18
18
  import { MatDatepickerModule } from '@angular/material/datepicker';
19
+ import { MatTableModule } from '@angular/material/table';
19
20
  import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
20
21
  import { faSpinner } from '@fortawesome/free-solid-svg-icons';
21
22
  import { FileUploadModule } from 'ng2-file-upload';
@@ -85,6 +86,7 @@ CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15
85
86
  MatIconModule,
86
87
  MatDatepickerModule,
87
88
  MatNativeDateModule,
89
+ MatTableModule,
88
90
  FontAwesomeModule,
89
91
  FileUploadModule,
90
92
  NgxMaterialTimepickerModule], exports: [EntryRendererComponent,
@@ -128,6 +130,7 @@ CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15
128
130
  MatIconModule,
129
131
  MatDatepickerModule,
130
132
  MatNativeDateModule,
133
+ MatTableModule,
131
134
  FontAwesomeModule,
132
135
  FileUploadModule,
133
136
  NgxMaterialTimepickerModule] });
@@ -171,6 +174,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
171
174
  MatIconModule,
172
175
  MatDatepickerModule,
173
176
  MatNativeDateModule,
177
+ MatTableModule,
174
178
  FontAwesomeModule,
175
179
  FileUploadModule,
176
180
  NgxMaterialTimepickerModule,
@@ -202,4 +206,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
202
206
  ]
203
207
  }]
204
208
  }], ctorParameters: function () { return [{ type: i1.FaIconLibrary }]; } });
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWhFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8s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O3dCQUNmLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjt3QkFDckIsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsMkJBQTJCO3FCQUM5QjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1AsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGtDQUFrQzt3QkFDbEMsVUFBVTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsc0JBQXNCO3dCQUN0QixxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIsdUJBQXVCO3dCQUN2QixvQkFBb0I7d0JBQ3BCLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQiw0QkFBNEI7d0JBQzVCLHlCQUF5Qjt3QkFDekIsV0FBVzt3QkFDWCxTQUFTO3dCQUNULG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYiw2QkFBNkI7cUJBQ2hDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0Jyb3dzZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge0RyYWdEcm9wTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7TWF0RGl2aWRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQge01hdENhcmRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHtNYXRTaWRlbmF2TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7TWF0QnV0dG9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHtNYXRJbnB1dE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHtNYXRMaXN0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7TWF0UmFkaW9Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcbmltcG9ydCB7TWF0RGlhbG9nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtNYXRDaGVja2JveE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHtNYXRBdXRvY29tcGxldGVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge01hdENoaXBzTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQge01hdEljb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHtNYXROYXRpdmVEYXRlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7TWF0RGF0ZXBpY2tlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQge0ZvbnRBd2Vzb21lTW9kdWxlLCBGYUljb25MaWJyYXJ5fSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XG5pbXBvcnQge2ZhU3Bpbm5lcn0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7RmlsZVVwbG9hZE1vZHVsZX0gZnJvbSAnbmcyLWZpbGUtdXBsb2FkJztcbmltcG9ydCB7Tmd4TWF0ZXJpYWxUaW1lcGlja2VyTW9kdWxlfSBmcm9tICduZ3gtbWF0ZXJpYWwtdGltZXBpY2tlcic7XG5cbmltcG9ydCB7IENvbW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9jb21tZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRW50cnlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9lbnRyeS5zZXJ2aWNlJztcbmltcG9ydCB7IFVwbG9hZFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3VwbG9hZC5zZXJ2aWNlJztcbmltcG9ydCB7IFByaXNtU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcHJpc20uc2VydmljZSc7XG5pbXBvcnQgeyBJZGVudGl0eVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2lkZW50aXR5LnNlcnZpY2UnO1xuaW1wb3J0IHsgRGphbmdvUmVzdEZyYW1ld29ya0VuZHBvaW50U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZGphbmdvLXJlc3QtZnJhbWV3b3JrLWVuZHBvaW50LnNlcnZpY2UnO1xuaW1wb3J0IHtFbnRyeVJlbmRlcmVyQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZW50cnktcmVuZGVyZXIvZW50cnktcmVuZGVyZXIuY29tcG9uZW50JztcbmltcG9ydCB7RW50cnlDcmVhdG9yQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZW50cnktY3JlYXRvci9lbnRyeS1jcmVhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQge091dGxpbmVWaWV3Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvb3V0bGluZS12aWV3L291dGxpbmUtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHtTaWRlTmF2aWdhdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3NpZGUtbmF2aWdhdGlvbi9zaWRlLW5hdmlnYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7TGFuZGluZ1BhZ2VDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9sYW5kaW5nLXBhZ2UvbGFuZGluZy1wYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQge0pzb25SZW5kZXJlckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2pzb24tcmVuZGVyZXIvanNvbi1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHtFbnRyeVN1bW1hcnlDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9lbnRyeS1zdW1tYXJ5L2VudHJ5LXN1bW1hcnkuY29tcG9uZW50JztcbmltcG9ydCB7IE1lZGlhVXBsb2FkTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWVkaWEtdXBsb2FkLW1vZGFsL21lZGlhLXVwbG9hZC1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW50cnlTZWxlY3RvckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbnRyeS1zZWxlY3Rvci1kaWFsb2cvZW50cnktc2VsZWN0b3ItZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQge1RpbWVBZ29QaXBlfSBmcm9tICcuL3BpcGVzL1RpbWVBZ29QaXBlJztcbmltcG9ydCB7TGlua3lQaXBlfSBmcm9tICcuL3BpcGVzL0xpbmt5UGlwZSc7XG5pbXBvcnQgeyBTdGF0aWNIdG1sQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3N0YXRpYy1odG1sL3N0YXRpYy1odG1sLmNvbXBvbmVudCc7XG5pbXBvcnQge1RhZ1NlcnZpY2V9IGZyb20gJy4vc2VydmljZXMvdGFnLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFpbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tYWluL21haW4uY29tcG9uZW50JztcbmltcG9ydCB7IEVudHJ5UmVuZGVyZXJXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VudHJ5LXJlbmRlcmVyLXdyYXBwZXIvZW50cnktcmVuZGVyZXItd3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTY2hlZHVsZVB1Ymxpc2hEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2NoZWR1bGUtcHVibGlzaC1kaWFsb2cvc2NoZWR1bGUtcHVibGlzaC1kaWFsb2cuY29tcG9uZW50JztcblxuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBFbnRyeVJlbmRlcmVyQ29tcG9uZW50LFxuICAgICAgICBFbnRyeUNyZWF0b3JDb21wb25lbnQsXG4gICAgICAgIExhbmRpbmdQYWdlQ29tcG9uZW50LFxuICAgICAgICBTaWRlTmF2aWdhdGlvbkNvbXBvbmVudCxcbiAgICAgICAgT3V0bGluZVZpZXdDb21wb25lbnQsXG4gICAgICAgIEpzb25SZW5kZXJlckNvbXBvbmVudCxcbiAgICAgICAgRW50cnlTdW1tYXJ5Q29tcG9uZW50LFxuICAgICAgICBFbnRyeVNlbGVjdG9yRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBNZWRpYVVwbG9hZE1vZGFsQ29tcG9uZW50LFxuICAgICAgICBUaW1lQWdvUGlwZSxcbiAgICAgICAgTGlua3lQaXBlLFxuICAgICAgICBTdGF0aWNIdG1sQ29tcG9uZW50LFxuICAgICAgICBNYWluQ29tcG9uZW50LFxuICAgICAgICBFbnRyeVJlbmRlcmVyV3JhcHBlckNvbXBvbmVudCxcbiAgICAgICAgU2NoZWR1bGVQdWJsaXNoRGlhbG9nQ29tcG9uZW50LFxuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFJvdXRlck1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIERyYWdEcm9wTW9kdWxlLFxuICAgICAgICBNYXRDYXJkTW9kdWxlLFxuICAgICAgICBNYXRTaWRlbmF2TW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBNYXRMaXN0TW9kdWxlLFxuICAgICAgICBNYXRSYWRpb01vZHVsZSxcbiAgICAgICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgICAgICBNYXRDaGVja2JveE1vZHVsZSxcbiAgICAgICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICAgICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgICAgICBNYXRDaGlwc01vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICAgICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICAgICAgRm9udEF3ZXNvbWVNb2R1bGUsXG4gICAgICAgIEZpbGVVcGxvYWRNb2R1bGUsXG4gICAgICAgIE5neE1hdGVyaWFsVGltZXBpY2tlck1vZHVsZSxcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBDb21tZW50U2VydmljZSxcbiAgICAgICAgRW50cnlTZXJ2aWNlLFxuICAgICAgICBVcGxvYWRTZXJ2aWNlLFxuICAgICAgICBQcmlzbVNlcnZpY2UsXG4gICAgICAgIElkZW50aXR5U2VydmljZSxcbiAgICAgICAgRGphbmdvUmVzdEZyYW1ld29ya0VuZHBvaW50U2VydmljZSxcbiAgICAgICAgVGFnU2VydmljZSxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgRW50cnlSZW5kZXJlckNvbXBvbmVudCxcbiAgICAgICAgRW50cnlDcmVhdG9yQ29tcG9uZW50LFxuICAgICAgICBMYW5kaW5nUGFnZUNvbXBvbmVudCxcbiAgICAgICAgU2lkZU5hdmlnYXRpb25Db21wb25lbnQsXG4gICAgICAgIE91dGxpbmVWaWV3Q29tcG9uZW50LFxuICAgICAgICBKc29uUmVuZGVyZXJDb21wb25lbnQsXG4gICAgICAgIEVudHJ5U3VtbWFyeUNvbXBvbmVudCxcbiAgICAgICAgRW50cnlTZWxlY3RvckRpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgTWVkaWFVcGxvYWRNb2RhbENvbXBvbmVudCxcbiAgICAgICAgVGltZUFnb1BpcGUsXG4gICAgICAgIExpbmt5UGlwZSxcbiAgICAgICAgU3RhdGljSHRtbENvbXBvbmVudCxcbiAgICAgICAgTWFpbkNvbXBvbmVudCxcbiAgICAgICAgRW50cnlSZW5kZXJlcldyYXBwZXJDb21wb25lbnQsXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBDb3JlTW9kdWxlIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBsaWJyYXJ5OiBGYUljb25MaWJyYXJ5XG4gICAgKSB7XG4gICAgICAgIHRoaXMubGlicmFyeS5hZGRJY29ucyhmYVNwaW5uZXIpO1xuICAgIH1cbn1cbiJdfQ==
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWhFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RCxPQUFPLEVBQUMsaUJBQWlCLEVBQWdCLE1BQU0sa0NBQWtDLENBQUM7QUFDbEYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzVELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRXBFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDdkcsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDNUYsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDdEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDL0YsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDdEYsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDekcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDbEgsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ3JILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQzs7O0FBd0V4SCxNQUFNLE9BQU8sVUFBVTtJQUNuQixZQUNZLE9BQXNCO1FBQXRCLFlBQU8sR0FBUCxPQUFPLENBQWU7UUFFOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckMsQ0FBQzs7dUdBTFEsVUFBVTt3R0FBVixVQUFVLGlCQW5FZixzQkFBc0I7UUFDdEIscUJBQXFCO1FBQ3JCLG9CQUFvQjtRQUNwQix1QkFBdUI7UUFDdkIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsNEJBQTRCO1FBQzVCLHlCQUF5QjtRQUN6QixXQUFXO1FBQ1gsU0FBUztRQUNULG1CQUFtQjtRQUNuQixhQUFhO1FBQ2IsNkJBQTZCO1FBQzdCLDhCQUE4QixhQUc5QixZQUFZO1FBQ1osWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsY0FBYztRQUNkLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIsZUFBZTtRQUNmLGNBQWM7UUFDZCxhQUFhO1FBQ2IsY0FBYztRQUNkLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsZ0JBQWdCO1FBQ2hCLHFCQUFxQjtRQUNyQixjQUFjO1FBQ2QsYUFBYTtRQUNiLG1CQUFtQjtRQUNuQixtQkFBbUI7UUFDbkIsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsMkJBQTJCLGFBWTNCLHNCQUFzQjtRQUN0QixxQkFBcUI7UUFDckIsb0JBQW9CO1FBQ3BCLHVCQUF1QjtRQUN2QixvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLHFCQUFxQjtRQUNyQiw0QkFBNEI7UUFDNUIseUJBQXlCO1FBQ3pCLFdBQVc7UUFDWCxTQUFTO1FBQ1QsbUJBQW1CO1FBQ25CLGFBQWE7UUFDYiw2QkFBNkI7d0dBR3hCLFVBQVUsYUExQlI7UUFDUCxjQUFjO1FBQ2QsWUFBWTtRQUNaLGFBQWE7UUFDYixZQUFZO1FBQ1osZUFBZTtRQUNmLGtDQUFrQztRQUNsQyxVQUFVO0tBQ2IsWUFoQ0csWUFBWTtRQUNaLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGNBQWM7UUFDZCxhQUFhO1FBQ2IsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixjQUFjO1FBQ2QsYUFBYTtRQUNiLGNBQWM7UUFDZCxlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLGdCQUFnQjtRQUNoQixxQkFBcUI7UUFDckIsY0FBYztRQUNkLGFBQWE7UUFDYixtQkFBbUI7UUFDbkIsbUJBQW1CO1FBQ25CLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsZ0JBQWdCO1FBQ2hCLDJCQUEyQjsyRkE0QnRCLFVBQVU7a0JBckV0QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDVixzQkFBc0I7d0JBQ3RCLHFCQUFxQjt3QkFDckIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLDRCQUE0Qjt3QkFDNUIseUJBQXlCO3dCQUN6QixXQUFXO3dCQUNYLFNBQVM7d0JBQ1QsbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLDZCQUE2Qjt3QkFDN0IsOEJBQThCO3FCQUNqQztvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjt3QkFDckIsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQiwyQkFBMkI7cUJBQzlCO29CQUNELFNBQVMsRUFBRTt3QkFDUCxjQUFjO3dCQUNkLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixZQUFZO3dCQUNaLGVBQWU7d0JBQ2Ysa0NBQWtDO3dCQUNsQyxVQUFVO3FCQUNiO29CQUNELE9BQU8sRUFBRTt3QkFDTCxzQkFBc0I7d0JBQ3RCLHFCQUFxQjt3QkFDckIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLDRCQUE0Qjt3QkFDNUIseUJBQXlCO3dCQUN6QixXQUFXO3dCQUNYLFNBQVM7d0JBQ1QsbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLDZCQUE2QjtxQkFDaEM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7QnJvd3Nlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7RHJhZ0Ryb3BNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHtNYXREaXZpZGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7TWF0Q2FyZE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQge01hdFNpZGVuYXZNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQge01hdExpc3RNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHtNYXRSYWRpb01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHtNYXREaWFsb2dNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQge01hdENoZWNrYm94TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQge01hdEF1dG9jb21wbGV0ZU1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7TWF0Q2hpcHNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQge01hdE5hdGl2ZURhdGVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtNYXREYXRlcGlja2VyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7TWF0VGFibGVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcblxuaW1wb3J0IHtGb250QXdlc29tZU1vZHVsZSwgRmFJY29uTGlicmFyeX0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHtmYVNwaW5uZXJ9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQge0ZpbGVVcGxvYWRNb2R1bGV9IGZyb20gJ25nMi1maWxlLXVwbG9hZCc7XG5pbXBvcnQge05neE1hdGVyaWFsVGltZXBpY2tlck1vZHVsZX0gZnJvbSAnbmd4LW1hdGVyaWFsLXRpbWVwaWNrZXInO1xuXG5pbXBvcnQgeyBDb21tZW50U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvY29tbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEVudHJ5U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZW50cnkuc2VydmljZSc7XG5pbXBvcnQgeyBVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy91cGxvYWQuc2VydmljZSc7XG5pbXBvcnQgeyBQcmlzbVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3ByaXNtLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWRlbnRpdHlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9pZGVudGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IERqYW5nb1Jlc3RGcmFtZXdvcmtFbmRwb2ludFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2RqYW5nby1yZXN0LWZyYW1ld29yay1lbmRwb2ludC5zZXJ2aWNlJztcbmltcG9ydCB7RW50cnlSZW5kZXJlckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2VudHJ5LXJlbmRlcmVyL2VudHJ5LXJlbmRlcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0VudHJ5Q3JlYXRvckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2VudHJ5LWNyZWF0b3IvZW50cnktY3JlYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHtPdXRsaW5lVmlld0NvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL291dGxpbmUtdmlldy9vdXRsaW5lLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7U2lkZU5hdmlnYXRpb25Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zaWRlLW5hdmlnYXRpb24vc2lkZS1uYXZpZ2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge0xhbmRpbmdQYWdlQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvbGFuZGluZy1wYWdlL2xhbmRpbmctcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHtKc29uUmVuZGVyZXJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9qc29uLXJlbmRlcmVyL2pzb24tcmVuZGVyZXIuY29tcG9uZW50JztcbmltcG9ydCB7RW50cnlTdW1tYXJ5Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZW50cnktc3VtbWFyeS9lbnRyeS1zdW1tYXJ5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZWRpYVVwbG9hZE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21lZGlhLXVwbG9hZC1tb2RhbC9tZWRpYS11cGxvYWQtbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IEVudHJ5U2VsZWN0b3JEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZW50cnktc2VsZWN0b3ItZGlhbG9nL2VudHJ5LXNlbGVjdG9yLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHtUaW1lQWdvUGlwZX0gZnJvbSAnLi9waXBlcy9UaW1lQWdvUGlwZSc7XG5pbXBvcnQge0xpbmt5UGlwZX0gZnJvbSAnLi9waXBlcy9MaW5reVBpcGUnO1xuaW1wb3J0IHsgU3RhdGljSHRtbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zdGF0aWMtaHRtbC9zdGF0aWMtaHRtbC5jb21wb25lbnQnO1xuaW1wb3J0IHtUYWdTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2VzL3RhZy5zZXJ2aWNlJztcbmltcG9ydCB7IE1haW5Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWFpbi9tYWluLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbnRyeVJlbmRlcmVyV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbnRyeS1yZW5kZXJlci13cmFwcGVyL2VudHJ5LXJlbmRlcmVyLXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7Um91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU2NoZWR1bGVQdWJsaXNoRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NjaGVkdWxlLXB1Ymxpc2gtZGlhbG9nL3NjaGVkdWxlLXB1Ymxpc2gtZGlhbG9nLmNvbXBvbmVudCc7XG5cblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgRW50cnlSZW5kZXJlckNvbXBvbmVudCxcbiAgICAgICAgRW50cnlDcmVhdG9yQ29tcG9uZW50LFxuICAgICAgICBMYW5kaW5nUGFnZUNvbXBvbmVudCxcbiAgICAgICAgU2lkZU5hdmlnYXRpb25Db21wb25lbnQsXG4gICAgICAgIE91dGxpbmVWaWV3Q29tcG9uZW50LFxuICAgICAgICBKc29uUmVuZGVyZXJDb21wb25lbnQsXG4gICAgICAgIEVudHJ5U3VtbWFyeUNvbXBvbmVudCxcbiAgICAgICAgRW50cnlTZWxlY3RvckRpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgTWVkaWFVcGxvYWRNb2RhbENvbXBvbmVudCxcbiAgICAgICAgVGltZUFnb1BpcGUsXG4gICAgICAgIExpbmt5UGlwZSxcbiAgICAgICAgU3RhdGljSHRtbENvbXBvbmVudCxcbiAgICAgICAgTWFpbkNvbXBvbmVudCxcbiAgICAgICAgRW50cnlSZW5kZXJlcldyYXBwZXJDb21wb25lbnQsXG4gICAgICAgIFNjaGVkdWxlUHVibGlzaERpYWxvZ0NvbXBvbmVudCxcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBSb3V0ZXJNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBEcmFnRHJvcE1vZHVsZSxcbiAgICAgICAgTWF0Q2FyZE1vZHVsZSxcbiAgICAgICAgTWF0U2lkZW5hdk1vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICAgICAgTWF0TGlzdE1vZHVsZSxcbiAgICAgICAgTWF0UmFkaW9Nb2R1bGUsXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICAgICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICAgICAgTWF0Q2hpcHNNb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgICAgIE1hdE5hdGl2ZURhdGVNb2R1bGUsXG4gICAgICAgIE1hdFRhYmxlTW9kdWxlLFxuICAgICAgICBGb250QXdlc29tZU1vZHVsZSxcbiAgICAgICAgRmlsZVVwbG9hZE1vZHVsZSxcbiAgICAgICAgTmd4TWF0ZXJpYWxUaW1lcGlja2VyTW9kdWxlLFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIENvbW1lbnRTZXJ2aWNlLFxuICAgICAgICBFbnRyeVNlcnZpY2UsXG4gICAgICAgIFVwbG9hZFNlcnZpY2UsXG4gICAgICAgIFByaXNtU2VydmljZSxcbiAgICAgICAgSWRlbnRpdHlTZXJ2aWNlLFxuICAgICAgICBEamFuZ29SZXN0RnJhbWV3b3JrRW5kcG9pbnRTZXJ2aWNlLFxuICAgICAgICBUYWdTZXJ2aWNlLFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBFbnRyeVJlbmRlcmVyQ29tcG9uZW50LFxuICAgICAgICBFbnRyeUNyZWF0b3JDb21wb25lbnQsXG4gICAgICAgIExhbmRpbmdQYWdlQ29tcG9uZW50LFxuICAgICAgICBTaWRlTmF2aWdhdGlvbkNvbXBvbmVudCxcbiAgICAgICAgT3V0bGluZVZpZXdDb21wb25lbnQsXG4gICAgICAgIEpzb25SZW5kZXJlckNvbXBvbmVudCxcbiAgICAgICAgRW50cnlTdW1tYXJ5Q29tcG9uZW50LFxuICAgICAgICBFbnRyeVNlbGVjdG9yRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBNZWRpYVVwbG9hZE1vZGFsQ29tcG9uZW50LFxuICAgICAgICBUaW1lQWdvUGlwZSxcbiAgICAgICAgTGlua3lQaXBlLFxuICAgICAgICBTdGF0aWNIdG1sQ29tcG9uZW50LFxuICAgICAgICBNYWluQ29tcG9uZW50LFxuICAgICAgICBFbnRyeVJlbmRlcmVyV3JhcHBlckNvbXBvbmVudCxcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIENvcmVNb2R1bGUge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGxpYnJhcnk6IEZhSWNvbkxpYnJhcnlcbiAgICApIHtcbiAgICAgICAgdGhpcy5saWJyYXJ5LmFkZEljb25zKGZhU3Bpbm5lcik7XG4gICAgfVxufVxuIl19