@lowcodeunit/applications-flow-common 1.33.38-integration → 1.33.42-lets-get-social-ish
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.
- package/bundles/lowcodeunit-applications-flow-common.umd.js +240 -6
- package/bundles/lowcodeunit-applications-flow-common.umd.js.map +1 -1
- package/bundles/lowcodeunit-applications-flow-common.umd.min.js +1 -1
- package/bundles/lowcodeunit-applications-flow-common.umd.min.js.map +1 -1
- package/esm2015/lcu.api.js +2 -1
- package/esm2015/lib/applications-flow.module.js +32 -4
- package/esm2015/lib/elements/analytics-card/analytics-card.component.js +21 -0
- package/esm2015/lib/elements/column-info-card/column-info-card.component.js +31 -0
- package/esm2015/lib/elements/feed-card-sm/feed-card-sm.component.js +31 -0
- package/esm2015/lib/elements/gh-control/gh-control.component.js +45 -0
- package/esm2015/lib/elements/project-info-card/project-info-card.component.js +32 -0
- package/esm2015/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.js +1 -1
- package/esm2015/lib/elements/slotted-card/slotted-card.component.js +26 -0
- package/esm2015/lib/elements/three-column/three-column.component.js +15 -0
- package/esm2015/lib/models/card-slot.model.js +3 -0
- package/esm2015/lib/models/slot-action.model.js +3 -0
- package/esm2015/lib/services/project.service.js +3 -3
- package/esm2015/lowcodeunit-applications-flow-common.js +7 -1
- package/fesm2015/lowcodeunit-applications-flow-common.js +222 -7
- package/fesm2015/lowcodeunit-applications-flow-common.js.map +1 -1
- package/lcu.api.d.ts +1 -0
- package/lcu.api.d.ts.map +1 -1
- package/lib/applications-flow.module.d.ts.map +1 -1
- package/lib/elements/analytics-card/analytics-card.component.d.ts +9 -0
- package/lib/elements/analytics-card/analytics-card.component.d.ts.map +1 -0
- package/lib/elements/column-info-card/column-info-card.component.d.ts +18 -0
- package/lib/elements/column-info-card/column-info-card.component.d.ts.map +1 -0
- package/lib/elements/feed-card-sm/feed-card-sm.component.d.ts +12 -0
- package/lib/elements/feed-card-sm/feed-card-sm.component.d.ts.map +1 -0
- package/lib/elements/gh-control/gh-control.component.d.ts +15 -0
- package/lib/elements/gh-control/gh-control.component.d.ts.map +1 -0
- package/lib/elements/project-info-card/project-info-card.component.d.ts +14 -0
- package/lib/elements/project-info-card/project-info-card.component.d.ts.map +1 -0
- package/lib/elements/slotted-card/slotted-card.component.d.ts +13 -0
- package/lib/elements/slotted-card/slotted-card.component.d.ts.map +1 -0
- package/lib/elements/three-column/three-column.component.d.ts +6 -0
- package/lib/elements/three-column/three-column.component.d.ts.map +1 -0
- package/lib/models/card-slot.model.d.ts +8 -0
- package/lib/models/card-slot.model.d.ts.map +1 -0
- package/lib/models/slot-action.model.d.ts +9 -0
- package/lib/models/slot-action.model.d.ts.map +1 -0
- package/lib/services/project.service.d.ts +1 -1
- package/lib/services/project.service.d.ts.map +1 -1
- package/lowcodeunit-applications-flow-common.d.ts +6 -0
- package/lowcodeunit-applications-flow-common.d.ts.map +1 -1
- package/lowcodeunit-applications-flow-common.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Component, Input, Output } from '@angular/core';
|
|
2
|
+
export class SlottedCardComponent {
|
|
3
|
+
constructor() { }
|
|
4
|
+
ngOnInit() {
|
|
5
|
+
}
|
|
6
|
+
MainActionClickEvent() {
|
|
7
|
+
this.MainActionClicked.emit({});
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
SlottedCardComponent.decorators = [
|
|
11
|
+
{ type: Component, args: [{
|
|
12
|
+
selector: 'lcu-slotted-card',
|
|
13
|
+
template: "<mat-card class=\"col-info-card\">\n <mat-card-header fxLayoutAlign=\"space-between center\">\n <mat-card-title class=\"card-title\">{{ Title }}</mat-card-title>\n <mat-icon class=\"header-icon\">{{ Icon }}</mat-icon>\n </mat-card-header>\n \n <mat-card-content>\n\n <div class=\"slot-main-container\">\n\n <div class=\"header-description\">{{ MainSlotDescription }}</div>\n\n <div class=\"slot-main\">\n <ng-content></ng-content>\n </div>\n \n </div>\n\n <div *ngIf=\"SecondarySlotDescription\" class=\"slot-secondary-container\">\n\n <div class=\"header-description\">{{ SecondarySlotDescription }}</div>\n\n <div class=\"slot-secondary\">\n <ng-content select=\"[secondary]\"></ng-content>\n </div>\n \n </div>\n \n </mat-card-content>\n\n <mat-card-actions *ngIf=\"ActionText\" fxLayoutAlign=\"center\">\n <button mat-button class=\"slotted-card-action-btn\" click=\"MainActionClickEvent()\">{{ ActionText }}</button>\n </mat-card-actions>\n\n </mat-card>\n\n\n",
|
|
14
|
+
styles: [".col-info-card{background-color:#fff;border:2px solid #d3d3d3;margin:20px;padding:0}.header-icon{margin-right:10px}.card-title{font-size:30px;margin-bottom:0}.header-description{background-color:#d3d3d3;margin-left:-2px;padding:10px}mat-card-actions{margin-bottom:0!important;margin-left:-1px!important;margin-right:0!important}.slotted-card-action-btn{border-radius:0 0 2px 2px;border-top:1px solid #d3d3d3;width:100%}"]
|
|
15
|
+
},] }
|
|
16
|
+
];
|
|
17
|
+
SlottedCardComponent.ctorParameters = () => [];
|
|
18
|
+
SlottedCardComponent.propDecorators = {
|
|
19
|
+
Title: [{ type: Input, args: ['title',] }],
|
|
20
|
+
Icon: [{ type: Input, args: ['icon',] }],
|
|
21
|
+
MainSlotDescription: [{ type: Input, args: ['main-slot-description',] }],
|
|
22
|
+
SecondarySlotDescription: [{ type: Input, args: ['secondary-slot-description',] }],
|
|
23
|
+
ActionText: [{ type: Input, args: ['action-text',] }],
|
|
24
|
+
MainActionClicked: [{ type: Output, args: ['main-action-clicked',] }]
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xvdHRlZC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9hcHBsaWNhdGlvbnMtZmxvdy9hcHBsaWNhdGlvbnMtZmxvdy9wcm9qZWN0cy9jb21tb24vc3JjLyIsInNvdXJjZXMiOlsibGliL2VsZW1lbnRzL3Nsb3R0ZWQtY2FyZC9zbG90dGVkLWNhcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPL0UsTUFBTSxPQUFPLG9CQUFvQjtJQXNCL0IsZ0JBQWdCLENBQUM7SUFFVixRQUFRO0lBQ2YsQ0FBQztJQUVNLG9CQUFvQjtRQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OztZQWxDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIscW9DQUE0Qzs7YUFFN0M7Ozs7b0JBSUUsS0FBSyxTQUFDLE9BQU87bUJBR2IsS0FBSyxTQUFDLE1BQU07a0NBR1osS0FBSyxTQUFDLHVCQUF1Qjt1Q0FHN0IsS0FBSyxTQUFDLDRCQUE0Qjt5QkFHbEMsS0FBSyxTQUFDLGFBQWE7Z0NBR25CLE1BQU0sU0FBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xjdS1zbG90dGVkLWNhcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2xvdHRlZC1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2xvdHRlZC1jYXJkLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2xvdHRlZENhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIFxuICBASW5wdXQoJ3RpdGxlJykgXG4gIHB1YmxpYyBUaXRsZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgnaWNvbicpIFxuICBwdWJsaWMgSWNvbjogc3RyaW5nO1xuXG4gIEBJbnB1dCgnbWFpbi1zbG90LWRlc2NyaXB0aW9uJykgXG4gIHB1YmxpYyBNYWluU2xvdERlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgQElucHV0KCdzZWNvbmRhcnktc2xvdC1kZXNjcmlwdGlvbicpIFxuICBwdWJsaWMgU2Vjb25kYXJ5U2xvdERlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgQElucHV0KCdhY3Rpb24tdGV4dCcpIFxuICBwdWJsaWMgQWN0aW9uVGV4dDogc3RyaW5nO1xuXG4gIEBPdXRwdXQoJ21haW4tYWN0aW9uLWNsaWNrZWQnKSBcbiAgcHVibGljIE1haW5BY3Rpb25DbGlja2VkOiBFdmVudEVtaXR0ZXI8e30+O1xuXG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBwdWJsaWMgTWFpbkFjdGlvbkNsaWNrRXZlbnQoKXtcbiAgICB0aGlzLk1haW5BY3Rpb25DbGlja2VkLmVtaXQoe30pO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
export class ThreeColumnComponent {
|
|
3
|
+
constructor() { }
|
|
4
|
+
ngOnInit() {
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
ThreeColumnComponent.decorators = [
|
|
8
|
+
{ type: Component, args: [{
|
|
9
|
+
selector: 'lcu-three-column',
|
|
10
|
+
template: "\n<div class=\"col-container\" fxLayout=\"row\" fxLayout.lt-md=\"column\">\n\n <div class=\"col-left\" fxFlex=\"25%\" >\n <ng-content select=\"[left]\"></ng-content>\n </div>\n\n <div class=\"col-center\" fxFlex=\"50%\">\n <ng-content></ng-content>\n </div>\n \n <div class=\"col-right\" fxFlex=\"25%\">\n <ng-content select=\"[right]\"></ng-content>\n </div>\n\n</div>",
|
|
11
|
+
styles: [".col-container{background-color:#ebecf0;height:100%}"]
|
|
12
|
+
},] }
|
|
13
|
+
];
|
|
14
|
+
ThreeColumnComponent.ctorParameters = () => [];
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWUtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9hcHBsaWNhdGlvbnMtZmxvdy9hcHBsaWNhdGlvbnMtZmxvdy9wcm9qZWN0cy9jb21tb24vc3JjLyIsInNvdXJjZXMiOlsibGliL2VsZW1lbnRzL3RocmVlLWNvbHVtbi90aHJlZS1jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFPbEQsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQzs7O1lBVkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLHdhQUE0Qzs7YUFFN0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsY3UtdGhyZWUtY29sdW1uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RocmVlLWNvbHVtbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RocmVlLWNvbHVtbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRocmVlQ29sdW1uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export class CardSlotModel {
|
|
2
|
+
}
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1zbG90Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL2FwcGxpY2F0aW9ucy1mbG93L2FwcGxpY2F0aW9ucy1mbG93L3Byb2plY3RzL2NvbW1vbi9zcmMvIiwic291cmNlcyI6WyJsaWIvbW9kZWxzL2NhcmQtc2xvdC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sYUFBYTtDQVV6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNsb3RBY3Rpb25Nb2RlbCB9IGZyb20gXCIuL3Nsb3QtYWN0aW9uLm1vZGVsXCI7XG5cbmV4cG9ydCBjbGFzcyBDYXJkU2xvdE1vZGVsIHtcbiAgICBwdWJsaWMgSW1hZ2VVcmw6IHN0cmluZztcblxuICAgIHB1YmxpYyBOYW1lOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgRGVzY3JpcHRpb246IHN0cmluZztcblxuICAgIHB1YmxpYyBBY3Rpb25zPzogQXJyYXk8U2xvdEFjdGlvbk1vZGVsPjtcblxuXG59Il19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export class SlotActionModel {
|
|
2
|
+
}
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xvdC1hY3Rpb24ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvYXBwbGljYXRpb25zLWZsb3cvYXBwbGljYXRpb25zLWZsb3cvcHJvamVjdHMvY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvc2xvdC1hY3Rpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGVBQWU7Q0FTM0IiLCJzb3VyY2VzQ29udGVudCI6WyJcbnR5cGUgQnV0dG9uVHlwZSA9ICdJQ09OJyB8ICdCVVRUT04nIDtcbmV4cG9ydCBjbGFzcyBTbG90QWN0aW9uTW9kZWx7XG5cbiAgICBwdWJsaWMgQ2xpY2tFdmVudE5hbWU6IHN0cmluZztcblxuICAgIHB1YmxpYyBJY29uPzogc3RyaW5nO1xuXG4gICAgcHVibGljIFR5cGU6IEJ1dHRvblR5cGU7XG5cbiAgICBwdWJsaWMgTGFiZWw6IHN0cmluZztcbn0iXX0=
|
|
@@ -147,12 +147,12 @@ export class ProjectService {
|
|
|
147
147
|
});
|
|
148
148
|
});
|
|
149
149
|
}
|
|
150
|
-
HasValidConnection(state) {
|
|
150
|
+
HasValidConnection(state, forceEnsureUser = false) {
|
|
151
151
|
return new Promise((resolve, reject) => {
|
|
152
152
|
state.Loading = true;
|
|
153
153
|
this.appsFlowSvc.HasValidConnection().subscribe((response) => __awaiter(this, void 0, void 0, function* () {
|
|
154
154
|
state.GitHub.HasConnection = response.Status.Code === 0;
|
|
155
|
-
if (state.GitHub.HasConnection) {
|
|
155
|
+
if (state.GitHub.HasConnection || forceEnsureUser) {
|
|
156
156
|
const eac = yield this.EnsureUserEnterprise(state);
|
|
157
157
|
resolve(eac);
|
|
158
158
|
}
|
|
@@ -315,4 +315,4 @@ ProjectService.decorators = [
|
|
|
315
315
|
ProjectService.ctorParameters = () => [
|
|
316
316
|
{ type: ApplicationsFlowService }
|
|
317
317
|
];
|
|
318
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL2FwcGxpY2F0aW9ucy1mbG93L2FwcGxpY2F0aW9ucy1mbG93L3Byb2plY3RzL2NvbW1vbi9zcmMvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvcHJvamVjdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUzNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFLdEUsTUFBTSxPQUFPLGNBQWM7SUFLekIsWUFBc0IsV0FBb0M7UUFBcEMsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO0lBQUcsQ0FBQztJQUU5RCwrRkFBK0Y7SUFDL0YsaUNBQWlDO0lBRWpDLHFCQUFxQjtJQUNyQix1Q0FBdUM7SUFDdkMsK0NBQStDO0lBQy9DLDBDQUEwQztJQUMxQywyQ0FBMkM7SUFFM0MsbURBQW1EO0lBQ25ELGlCQUFpQjtJQUNqQiw2REFBNkQ7SUFFN0Qsd0NBQXdDO0lBQ3hDLFVBQVU7SUFDVixVQUFVO0lBQ1YsSUFBSTtJQUVTLGlCQUFpQixDQUM1QixLQUE0QixFQUM1QixTQUFpQjs7WUFFakIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDckMsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBRXJCLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUNyRCxDQUFPLFFBQXNCLEVBQUUsRUFBRTtvQkFDL0IsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7d0JBQzlCLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUVuRCxPQUFPLENBQUMsR0FBRyxDQUFDLENB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LENBQUMsQ0FBQztZQUNuQixDQUFDLENBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztZQXhjRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQUpRLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VNb2RlbGVkUmVzcG9uc2UsIEJhc2VSZXNwb25zZSB9IGZyb20gJ0BsY3UvY29tbW9uJztcbmltcG9ydCB7IGRlYnVnIH0gZnJvbSAnY29uc29sZSc7XG5pbXBvcnQgeyBFYUNQcm9qZWN0QXNDb2RlLCBFbnRlcnByaXNlQXNDb2RlIH0gZnJvbSAnQHNlbWFudGljanMvY29tbW9uJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSxcbiAgR2l0SHViV29ya2Zsb3dSdW4sXG4gIFVucGFja0xvd0NvZGVVbml0UmVxdWVzdCxcbn0gZnJvbSAnLi4vc3RhdGUvYXBwbGljYXRpb25zLWZsb3cuc3RhdGUnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25zRmxvd1NlcnZpY2UgfSBmcm9tICcuL2FwcGxpY2F0aW9ucy1mbG93LnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvamVjdFNlcnZpY2Uge1xuICBwdWJsaWMgQ3JlYXRpbmdQcm9qZWN0OiBib29sZWFuO1xuXG4gIHB1YmxpYyBFZGl0aW5nUHJvamVjdExvb2t1cDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBhcHBzRmxvd1N2YzogQXBwbGljYXRpb25zRmxvd1NlcnZpY2UpIHt9XG5cbiAgLy8gcHVibGljIENyZWF0ZVJlcG9zaXRvcnkoc3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSwgb3JnOiBzdHJpbmcsIHJlcG9OYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgLy8gICBzdGF0ZS5HaXRIdWIuTG9hZGluZyA9IHRydWU7XG5cbiAgLy8gICB0aGlzLmFwcHNGbG93U3ZjXG4gIC8vICAgICAuQ3JlYXRlUmVwb3NpdG9yeShvcmcsIHJlcG9OYW1lKVxuICAvLyAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IEJhc2VSZXNwb25zZSkgPT4ge1xuICAvLyAgICAgICBpZiAocmVzcG9uc2UuU3RhdHVzLkNvZGUgPT09IDApIHtcbiAgLy8gICAgICAgICB0aGlzLmxpc3RSZXBvc2l0b3JpZXMocmVwb05hbWUpO1xuXG4gIC8vICAgICAgICAgc3RhdGUuR2l0SHViLkNyZWF0aW5nUmVwb3NpdG9yeSA9IGZhbHNlO1xuICAvLyAgICAgICB9IGVsc2Uge1xuICAvLyAgICAgICAgIC8vICBUT0RPOiAgTmVlZCB0byBzdXJmYWNlIGFuIGVycm9yIHRvIHRoZSB1c2VyLi4uXG5cbiAgLy8gICAgICAgICBzdGF0ZS5HaXRIdWIuTG9hZGluZyA9IGZhbHNlO1xuICAvLyAgICAgICB9XG4gIC8vICAgICB9KTtcbiAgLy8gfVxuXG4gIHB1YmxpYyBhc3luYyBEZWxldGVBcHBsaWNhdGlvbihcbiAgICBzdGF0ZTogQXBwbGljYXRpb25zRmxvd1N0YXRlLFxuICAgIGFwcExvb2t1cDogc3RyaW5nXG4gICk6IFByb21pc2U8RW50ZXJwcmlzZUFzQ29kZT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBzdGF0ZS5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgdGhpcy5hcHBzRmxvd1N2Yy5EZWxldGVBcHBsaWNhdGlvbihhcHBMb29rdXApLnN1YnNjcmliZShcbiAgICAgICAgYXN5bmMgKHJlc3BvbnNlOiBCYXNlUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBpZiAocmVzcG9uc2UuU3RhdHVzLkNvZGUgPT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGVhYyA9IGF3YWl0IHRoaXMuTG9hZEVudGVycHJpc2VBc0NvZGUoc3RhdGUpO1xuXG4gICAgICAgICAgICByZXNvbHZlKGVhYyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgICAgcmVqZWN0KHJlc3BvbnNlLlN0YXR1cyk7XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICByZWplY3QoZXJyKTtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgRGVsZXRlRGV2T3BzQWN0aW9uKFxuICAgIHN0YXRlOiBBcHBsaWNhdGlvbnNGbG93U3RhdGUsXG4gICAgZG9hTG9va3VwOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxFbnRlcnByaXNlQXNDb2RlPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHN0YXRlLkxvYWRpbmcgPSB0cnVlO1xuXG4gICAgICB0aGlzLmFwcHNGbG93U3ZjLkRlbGV0ZURldk9wc0FjdGlvbihkb2FMb29rdXApLnN1YnNjcmliZShcbiAgICAgICAgYXN5bmMgKHJlc3BvbnNlOiBCYXNlUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBpZiAocmVzcG9uc2UuU3RhdHVzLkNvZGUgPT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGVhYyA9IGF3YWl0IHRoaXMuTG9hZEVudGVycHJpc2VBc0NvZGUoc3RhdGUpO1xuXG4gICAgICAgICAgICByZXNvbHZlKGVhYyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgICAgcmVqZWN0KHJlc3BvbnNlLlN0YXR1cyk7XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICByZWplY3QoZXJyKTtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgRGVsZXRlUHJvamVjdChcbiAgICBzdGF0ZTogQXBwbGljYXRpb25zRmxvd1N0YXRlLFxuICAgIHByb2plY3RMb29rdXA6IHN0cmluZ1xuICApOiBQcm9taXNlPEVudGVycHJpc2VBc0NvZGU+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgc3RhdGUuTG9hZGluZyA9IHRydWU7XG5cbiAgICAgIHRoaXMuYXBwc0Zsb3dTdmMuRGVsZXRlUHJvamVjdChwcm9qZWN0TG9va3VwKS5zdWJzY3JpYmUoXG4gICAgICAgIGFzeW5jIChyZXNwb25zZTogQmFzZVJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlLlN0YXR1cy5Db2RlID09PSAwKSB7XG4gICAgICAgICAgICBjb25zdCBlYWMgPSBhd2FpdCB0aGlzLkxvYWRFbnRlcnByaXNlQXNDb2RlKHN0YXRlKTtcblxuICAgICAgICAgICAgcmVzb2x2ZShlYWMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHJlamVjdChyZXNwb25zZS5TdGF0dXMpO1xuXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgc3RhdGUuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgcmVqZWN0KGVycik7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIERlbGV0ZVNvdXJjZUNvbnRyb2woXG4gICAgc3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSxcbiAgICBzY0xvb2t1cDogc3RyaW5nXG4gICk6IFByb21pc2U8RW50ZXJwcmlzZUFzQ29kZT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBzdGF0ZS5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgdGhpcy5hcHBzRmxvd1N2Yy5EZWxldGVTb3VyY2VDb250cm9sKHNjTG9va3VwKS5zdWJzY3JpYmUoXG4gICAgICAgIGFzeW5jIChyZXNwb25zZTogQmFzZVJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlLlN0YXR1cy5Db2RlID09PSAwKSB7XG4gICAgICAgICAgICBjb25zdCBlYWMgPSBhd2FpdCB0aGlzLkxvYWRFbnRlcnByaXNlQXNDb2RlKHN0YXRlKTtcblxuICAgICAgICAgICAgcmVzb2x2ZShlYWMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHJlamVjdChyZXNwb25zZS5TdGF0dXMpO1xuXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgc3RhdGUuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgcmVqZWN0KGVycik7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIEVuc3VyZVVzZXJFbnRlcnByaXNlKFxuICAgIHN0YXRlOiBBcHBsaWNhdGlvbnNGbG93U3RhdGVcbiAgKTogUHJvbWlzZTxFbnRlcnByaXNlQXNDb2RlPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHN0YXRlLkxvYWRpbmcgPSB0cnVlO1xuXG4gICAgICB0aGlzLmFwcHNGbG93U3ZjLkVuc3VyZVVzZXJFbnRlcnByaXNlKCkuc3Vic2NyaWJlKFxuICAgICAgICBhc3luYyAocmVzcG9uc2U6IEJhc2VSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIGlmIChyZXNwb25zZS5TdGF0dXMuQ29kZSA9PT0gMCkge1xuICAgICAgICAgICAgY29uc3QgZWFjID0gYXdhaXQgdGhpcy5Mb2FkRW50ZXJwcmlzZUFzQ29kZShzdGF0ZSk7XG5cbiAgICAgICAgICAgIHJlc29sdmUoZWFjKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RhdGUuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgICByZWplY3QocmVzcG9uc2UuU3RhdHVzKTtcblxuICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgIHJlamVjdChlcnIpO1xuXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBHZXRBY3RpdmVFbnRlcnByaXNlKFxuICAgIHN0YXRlOiBBcHBsaWNhdGlvbnNGbG93U3RhdGVcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHN0YXRlLkxvYWRpbmcgPSB0cnVlO1xuXG4gICAgICB0aGlzLmFwcHNGbG93U3ZjLkdldEFjdGl2ZUVudGVycHJpc2UoKS5zdWJzY3JpYmUoXG4gICAgICAgIGFzeW5jIChcbiAgICAgICAgICByZXNwb25zZTogQmFzZU1vZGVsZWRSZXNwb25zZTx7IE5hbWU6IHN0cmluZzsgTG9va3VwOiBzdHJpbmcgfT5cbiAgICAgICAgKSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlLlN0YXR1cy5Db2RlID09PSAwKSB7XG4gICAgICAgICAgICBzdGF0ZS5BY3RpdmVFbnRlcnByaXNlTG9va3VwID0gcmVzcG9uc2UuTW9kZWw/Lkxvb2t1cDtcblxuICAgICAgICAgICAgc3RhdGUuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgICAgcmVqZWN0KHJlc3BvbnNlLlN0YXR1cyk7XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICByZWplY3QoZXJyKTtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgSGFzVmFsaWRDb25uZWN0aW9uKFxuICAgIHN0YXRlOiBBcHBsaWNhdGlvbnNGbG93U3RhdGVcbiAgKTogUHJvbWlzZTxFbnRlcnByaXNlQXNDb2RlPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHN0YXRlLkxvYWRpbmcgPSB0cnVlO1xuXG4gICAgICB0aGlzLmFwcHNGbG93U3ZjLkhhc1ZhbGlkQ29ubmVjdGlvbigpLnN1YnNjcmliZShcbiAgICAgICAgYXN5bmMgKHJlc3BvbnNlOiBCYXNlUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBzdGF0ZS5HaXRIdWIuSGFzQ29ubmVjdGlvbiA9IHJlc3BvbnNlLlN0YXR1cy5Db2RlID09PSAwO1xuXG4gICAgICAgICAgaWYgKHN0YXRlLkdpdEh1Yi5IYXNDb25uZWN0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBlYWMgPSBhd2FpdCB0aGlzLkVuc3VyZVVzZXJFbnRlcnByaXNlKHN0YXRlKTtcblxuICAgICAgICAgICAgcmVzb2x2ZShlYWMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHJlc29sdmUoe30pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgIHJlamVjdChlcnIpO1xuXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBMaXN0RW50ZXJwcmlzZXMoc3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSk6IFByb21pc2U8YW55W10+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgc3RhdGUuTG9hZGluZyA9IHRydWU7XG5cbiAgICAgIHRoaXMuYXBwc0Zsb3dTdmMuTGlzdEVudGVycHJpc2VzKCkuc3Vic2NyaWJlKFxuICAgICAgICBhc3luYyAocmVzcG9uc2U6IEJhc2VNb2RlbGVkUmVzcG9uc2U8QXJyYXk8YW55Pj4pID0+IHtcbiAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICBpZiAocmVzcG9uc2UuU3RhdHVzLkNvZGUgPT09IDApIHtcbiAgICAgICAgICAgIHN0YXRlLkVudGVycHJpc2VzID0gcmVzcG9uc2UuTW9kZWw7XG5cbiAgICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UuTW9kZWwpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZWplY3QocmVzcG9uc2UuU3RhdHVzKTtcblxuICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgIHJlamVjdChlcnIpO1xuXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBMb2FkRW50ZXJwcmlzZUFzQ29kZShcbiAgICBzdGF0ZTogQXBwbGljYXRpb25zRmxvd1N0YXRlXG4gICk6IFByb21pc2U8RW50ZXJwcmlzZUFzQ29kZT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBzdGF0ZS5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgdGhpcy5hcHBzRmxvd1N2Yy5Mb2FkRW50ZXJwcmlzZUFzQ29kZSgpLnN1YnNjcmliZShcbiAgICAgICAgKHJlc3BvbnNlOiBCYXNlTW9kZWxlZFJlc3BvbnNlPEVudGVycHJpc2VBc0NvZGU+KSA9PiB7XG4gICAgICAgICAgc3RhdGUuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgaWYgKHJlc3BvbnNlLlN0YXR1cy5Db2RlID09PSAwKSB7XG4gICAgICAgICAgICBzdGF0ZS5FYUMgPSByZXNwb25zZS5Nb2RlbCB8fCB7fTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlLlN0YXR1cy5Db2RlID09PSAzKSB7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3RhdGUuRWFDID0gc3RhdGUuRWFDIHx8IHt9O1xuXG4gICAgICAgICAgdGhpcy5DcmVhdGluZ1Byb2plY3QgPVxuICAgICAgICAgICAgT2JqZWN0LmtleXMoc3RhdGU/LkVhQz8uUHJvamVjdHMgfHwge30pLmxlbmd0aCA8PSAwO1xuXG4gICAgICAgICAgcmVzb2x2ZShzdGF0ZS5FYUMpO1xuXG4gICAgICAgICAgY29uc29sZS5sb2coc3RhdGUpO1xuICAgICAgICB9LFxuICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgc3RhdGUuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgcmVqZWN0KGVycik7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIFNldEFjdGl2ZUVudGVycHJpc2UoXG4gICAgc3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSxcbiAgICBhY3RpdmVFbnRMb29rdXA6IHN0cmluZ1xuICApOiBQcm9taXNlPEVudGVycHJpc2VBc0NvZGU+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgc3RhdGUuTG9hZGluZyA9IHRydWU7XG5cbiAgICAgIHRoaXMuYXBwc0Zsb3dTdmMuU2V0QWN0aXZlRW50ZXJwcmlzZShhY3RpdmVFbnRMb29rdXApLnN1YnNjcmliZShcbiAgICAgICAgYXN5bmMgKHJlc3BvbnNlOiBCYXNlUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBpZiAocmVzcG9uc2UuU3RhdHVzLkNvZGUgPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuRWRpdGluZ1Byb2plY3RMb29rdXAgPSBudWxsO1xuXG4gICAgICAgICAgICBzdGF0ZS5BY3RpdmVFbnRlcnByaXNlTG9va3VwID0gYWN0aXZlRW50TG9va3VwO1xuXG4gICAgICAgICAgICBjb25zdCBlYWMgPSBhd2FpdCB0aGlzLkxvYWRFbnRlcnByaXNlQXNDb2RlKHN0YXRlKTtcblxuICAgICAgICAgICAgcmVzb2x2ZShlYWMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHJlamVjdChyZXNwb25zZS5TdGF0dXMpO1xuXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgc3RhdGUuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgcmVqZWN0KGVycik7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIFNhdmVFbnRlcnByaXNlQXNDb2RlKFxuICAgIHN0YXRlOiBBcHBsaWNhdGlvbnNGbG93U3RhdGUsXG4gICAgZWFjOiBFbnRlcnByaXNlQXNDb2RlXG4gICk6IFByb21pc2U8RW50ZXJwcmlzZUFzQ29kZT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBzdGF0ZS5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgdGhpcy5hcHBzRmxvd1N2Yy5TYXZlRW50ZXJwcmlzZUFzQ29kZShlYWMpLnN1YnNjcmliZShcbiAgICAgICAgYXN5bmMgKHJlc3BvbnNlOiBCYXNlTW9kZWxlZFJlc3BvbnNlPHN0cmluZz4pID0+IHtcbiAgICAgICAgICBpZiAocmVzcG9uc2UuU3RhdHVzLkNvZGUgPT09IDApIHtcbiAgICAgICAgICAgIGVhYyA9IGF3YWl0IHRoaXMuTG9hZEVudGVycHJpc2VBc0NvZGUoc3RhdGUpO1xuXG4gICAgICAgICAgICByZXNvbHZlKGVhYyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgICAgcmVqZWN0KHJlc3BvbnNlLlN0YXR1cyk7XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICByZWplY3QoZXJyKTtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgU2V0Q3JlYXRpbmdQcm9qZWN0KGNyZWF0aW5nUHJvamVjdDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuQ3JlYXRpbmdQcm9qZWN0ID0gY3JlYXRpbmdQcm9qZWN0O1xuXG4gICAgdGhpcy5FZGl0aW5nUHJvamVjdExvb2t1cCA9IG51bGw7XG4gIH1cblxuICBwdWJsaWMgU2V0RWRpdFByb2plY3RTZXR0aW5ncyhcbiAgICBzdGF0ZTogQXBwbGljYXRpb25zRmxvd1N0YXRlLFxuICAgIHByb2plY3RMb29rdXA6IHN0cmluZ1xuICApOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBpZiAocHJvamVjdExvb2t1cCAhPSBudWxsKSB7XG4gICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLkVkaXRpbmdQcm9qZWN0TG9va3VwID0gbnVsbDtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLkVkaXRpbmdQcm9qZWN0TG9va3VwID0gcHJvamVjdExvb2t1cDtcblxuICAgICAgICAgIHJlc29sdmUoe30pO1xuICAgICAgICB9LCAwKTtcblxuICAgICAgICB0aGlzLkNyZWF0aW5nUHJvamVjdCA9IGZhbHNlO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKHN0YXRlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLkVkaXRpbmdQcm9qZWN0TG9va3VwID0gcHJvamVjdExvb2t1cDtcblxuICAgICAgICB0aGlzLkNyZWF0aW5nUHJvamVjdCA9IGZhbHNlO1xuXG4gICAgICAgIHJlc29sdmUoe30pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIFRvZ2dsZUNyZWF0ZVByb2plY3QoKTogdm9pZCB7XG4gICAgdGhpcy5TZXRDcmVhdGluZ1Byb2plY3QoIXRoaXMuQ3JlYXRpbmdQcm9qZWN0KTtcbiAgfVxuXG4gIHB1YmxpYyBVbnBhY2tMb3dDb2RlVW5pdChcbiAgICBzdGF0ZTogQXBwbGljYXRpb25zRmxvd1N0YXRlLFxuICAgIHJlcTogVW5wYWNrTG93Q29kZVVuaXRSZXF1ZXN0XG4gICk6IFByb21pc2U8RW50ZXJwcmlzZUFzQ29kZT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBzdGF0ZS5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgdGhpcy5hcHBzRmxvd1N2Yy5VbnBhY2tMb3dDb2RlVW5pdChyZXEpLnN1YnNjcmliZShcbiAgICAgICAgYXN5bmMgKHJlc3BvbnNlOiBCYXNlUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBpZiAocmVzcG9uc2UuU3RhdHVzLkNvZGUgPT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGVhYyA9IGF3YWl0IHRoaXMuTG9hZEVudGVycHJpc2VBc0NvZGUoc3RhdGUpO1xuXG4gICAgICAgICAgICByZXNvbHZlKGVhYyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgICAgcmVqZWN0KHJlc3BvbnNlLlN0YXR1cyk7XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICByZWplY3QoZXJyKTtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
318
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL2FwcGxpY2F0aW9ucy1mbG93L2FwcGxpY2F0aW9ucy1mbG93L3Byb2plY3RzL2NvbW1vbi9zcmMvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvcHJvamVjdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUzNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFLdEUsTUFBTSxPQUFPLGNBQWM7SUFLekIsWUFBc0IsV0FBb0M7UUFBcEMsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO0lBQUcsQ0FBQztJQUU5RCwrRkFBK0Y7SUFDL0YsaUNBQWlDO0lBRWpDLHFCQUFxQjtJQUNyQix1Q0FBdUM7SUFDdkMsK0NBQStDO0lBQy9DLDBDQUEwQztJQUMxQywyQ0FBMkM7SUFFM0MsbURBQW1EO0lBQ25ELGlCQUFpQjtJQUNqQiw2REFBNkQ7SUFFN0Qsd0NBQXdDO0lBQ3hDLFVBQVU7SUFDVixVQUFVO0lBQ1YsSUFBSTtJQUVTLGlCQUFpQixDQUM1QixLQUE0QixFQUM1QixTQUFpQjs7WUFFakIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDckMsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBRXJCLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUNyRCxDQUFPLFFBQXNCLEVBQUUsRUFBRTtvQkFDL0IsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7d0JBQzlCLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUVuRCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7cUJBQ2Q7eUJBQU07d0JBQ0wsS0FBSyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7d0JBRXRCLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBRXhCLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7cUJBQ3ZCO2dCQUNILENBQUMsQ0FBQSxFQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7b0JBQ04sS0FBSyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBRXRCLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFFWixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNuQixDQUFDLENBQ0YsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRU0sa0JBQWtCLENBQ3ZCLEtBQTRCLEVBQzVCLFNBQWlCO1FBRWpCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFFckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQ3RELENBQU8sUUFBc0IsRUFBRSxFQUFFO2dCQUMvQixJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtvQkFDOUIsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBRW5ELE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDZDtxQkFBTTtvQkFDTCxLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztvQkFFdEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFFeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDdkI7WUFDSCxDQUFDLENBQUEsRUFDRCxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNOLEtBQUssQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUV0QixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBRVosT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQixDQUFDLENBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGFBQWEsQ0FDbEIsS0FBNEIsRUFDNUIsYUFBcUI7UUFFckIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUVyQixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLENBQ3JELENBQU8sUUFBc0IsRUFBRSxFQUFFO2dCQUMvQixJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtvQkFDOUIsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBRW5ELE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDZDtxQkFBTTtvQkFDTCxLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztvQkFFdEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFFeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDdkI7WUFDSCxDQUFDLENBQUEsRUFDRCxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNOLEtBQUssQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUV0QixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBRVosT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQixDQUFDLENBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLG1CQUFtQixDQUN4QixLQUE0QixFQUM1QixRQUFnQjtRQUVoQixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBRXJCLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUN0RCxDQUFPLFFBQXNCLEVBQUUsRUFBRTtnQkFDL0IsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7b0JBQzlCLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUVuRCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ2Q7cUJBQU07b0JBQ0wsS0FBSyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBRXRCLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBRXhCLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQ3ZCO1lBQ0gsQ0FBQyxDQUFBLEVBQ0QsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDTixLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFFdEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUVaLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkIsQ0FBQyxDQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxvQkFBb0IsQ0FDekIsS0FBNEI7UUFFNUIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUVyQixJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixFQUFFLENBQUMsU0FBUyxDQUMvQyxDQUFPLFFBQXNCLEVBQUUsRUFBRTtnQkFDL0IsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7b0JBQzlCLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUVuRCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ2Q7cUJBQU07b0JBQ0wsS0FBSyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBRXRCLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBRXhCLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQ3ZCO1lBQ0gsQ0FBQyxDQUFBLEVBQ0QsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDTixLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFFdEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUVaLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkIsQ0FBQyxDQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFWSxtQkFBbUIsQ0FDOUIsS0FBNEI7O1lBRTVCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQ3JDLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUVyQixJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLENBQUMsU0FBUyxDQUM5QyxDQUNFLFFBQStELEVBQy9ELEVBQUU7O29CQUNGLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUFFO3dCQUM5QixLQUFLLENBQUMsc0JBQXNCLFNBQUcsUUFBUSxDQUFDLEtBQUssMENBQUUsTUFBTSxDQUFDO3dCQUV0RCxLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQzt3QkFFdEIsT0FBTyxFQUFFLENBQUM7cUJBQ1g7eUJBQU07d0JBQ0wsS0FBSyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7d0JBRXRCLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBRXhCLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7cUJBQ3ZCO2dCQUNILENBQUMsQ0FBQSxFQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7b0JBQ04sS0FBSyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBRXRCLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFFWixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNuQixDQUFDLENBQ0YsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRU0sa0JBQWtCLENBQ3ZCLEtBQTRCLEVBQzVCLGtCQUEyQixLQUFLO1FBRWhDLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFFckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLFNBQVMsQ0FDN0MsQ0FBTyxRQUFzQixFQUFFLEVBQUU7Z0JBQy9CLEtBQUssQ0FBQyxNQUFNLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQztnQkFFeEQsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLGFBQWEsSUFBSSxlQUFlLEVBQUU7b0JBQ2pELE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUVuRCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ2Q7cUJBQU07b0JBQ0wsS0FBSyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBRXRCLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDYjtZQUNILENBQUMsQ0FBQSxFQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ04sS0FBSyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBRXRCLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFFWixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLENBQUMsQ0FDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVksZUFBZSxDQUFDLEtBQTRCOztZQUN2RCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO2dCQUNyQyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztnQkFFckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxTQUFTLENBQzFDLENBQU8sUUFBeUMsRUFBRSxFQUFFO29CQUNsRCxLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztvQkFFdEIsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7d0JBQzlCLEtBQUssQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQzt3QkFFbkMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDekI7eUJBQU07d0JBQ0wsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFFeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztxQkFDdkI7Z0JBQ0gsQ0FBQyxDQUFBLEVBQ0QsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDTixLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztvQkFFdEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUVaLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ25CLENBQUMsQ0FDRixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0tBQUE7SUFFTSxvQkFBb0IsQ0FDekIsS0FBNEI7UUFFNUIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUVyQixJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixFQUFFLENBQUMsU0FBUyxDQUMvQyxDQUFDLFFBQStDLEVBQUUsRUFBRTs7Z0JBQ2xELEtBQUssQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUV0QixJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtvQkFDOUIsS0FBSyxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztpQkFDbEM7cUJBQU0sSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7aUJBQ3RDO2dCQUVELEtBQUssQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUM7Z0JBRTVCLElBQUksQ0FBQyxlQUFlO29CQUNsQixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLEdBQUcsMENBQUUsUUFBUSxLQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7Z0JBRXRELE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBRW5CLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckIsQ0FBQyxFQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ04sS0FBSyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBRXRCLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFFWixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLENBQUMsQ0FDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVksbUJBQW1CLENBQzlCLEtBQTRCLEVBQzVCLGVBQXVCOztZQUV2QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO2dCQUNyQyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztnQkFFckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsQ0FBQyxTQUFTLENBQzdELENBQU8sUUFBc0IsRUFBRSxFQUFFO29CQUMvQixJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTt3QkFDOUIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQzt3QkFFakMsS0FBSyxDQUFDLHNCQUFzQixHQUFHLGVBQWUsQ0FBQzt3QkFFL0MsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBRW5ELE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDZDt5QkFBTTt3QkFDTCxLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQzt3QkFFdEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFFeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztxQkFDdkI7Z0JBQ0gsQ0FBQyxDQUFBLEVBQ0QsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDTixLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztvQkFFdEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUVaLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ25CLENBQUMsQ0FDRixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0tBQUE7SUFFWSxvQkFBb0IsQ0FDL0IsS0FBNEIsRUFDNUIsR0FBcUI7O1lBRXJCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQ3JDLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUVyQixJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FDbEQsQ0FBTyxRQUFxQyxFQUFFLEVBQUU7b0JBQzlDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUFFO3dCQUM5QixHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBRTdDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDZDt5QkFBTTt3QkFDTCxLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQzt3QkFFdEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFFeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztxQkFDdkI7Z0JBQ0gsQ0FBQyxDQUFBLEVBQ0QsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDTixLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztvQkFFdEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUVaLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ25CLENBQUMsQ0FDRixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0tBQUE7SUFFTSxrQkFBa0IsQ0FBQyxlQUF3QjtRQUNoRCxJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztRQUV2QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFFTSxzQkFBc0IsQ0FDM0IsS0FBNEIsRUFDNUIsYUFBcUI7UUFFckIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLGFBQWEsSUFBSSxJQUFJLEVBQUU7Z0JBQ3pCLEtBQUssQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUV0QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO2dCQUVqQyxVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNkLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxhQUFhLENBQUM7b0JBRTFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDZCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBRU4sSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7Z0JBRTdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDcEI7aUJBQU07Z0JBQ0wsS0FBSyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBRXRCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxhQUFhLENBQUM7Z0JBRTFDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO2dCQUU3QixPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDYjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLG1CQUFtQjtRQUN4QixJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVNLGlCQUFpQixDQUN0QixLQUE0QixFQUM1QixHQUE2QjtRQUU3QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBRXJCLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUMvQyxDQUFPLFFBQXNCLEVBQUUsRUFBRTtnQkFDL0IsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7b0JBQzlCLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUVuRCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ2Q7cUJBQU07b0JBQ0wsS0FBSyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBRXRCLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBRXhCLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQ3ZCO1lBQ0gsQ0FBQyxDQUFBLEVBQ0QsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDTixLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFFdEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUVaLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkIsQ0FBQyxDQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7WUF6Y0YsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFKUSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlTW9kZWxlZFJlc3BvbnNlLCBCYXNlUmVzcG9uc2UgfSBmcm9tICdAbGN1L2NvbW1vbic7XG5pbXBvcnQgeyBkZWJ1ZyB9IGZyb20gJ2NvbnNvbGUnO1xuaW1wb3J0IHsgRWFDUHJvamVjdEFzQ29kZSwgRW50ZXJwcmlzZUFzQ29kZSB9IGZyb20gJ0BzZW1hbnRpY2pzL2NvbW1vbic7XG5pbXBvcnQge1xuICBBcHBsaWNhdGlvbnNGbG93U3RhdGUsXG4gIEdpdEh1YldvcmtmbG93UnVuLFxuICBVbnBhY2tMb3dDb2RlVW5pdFJlcXVlc3QsXG59IGZyb20gJy4uL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LnN0YXRlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTZXJ2aWNlIH0gZnJvbSAnLi9hcHBsaWNhdGlvbnMtZmxvdy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFByb2plY3RTZXJ2aWNlIHtcbiAgcHVibGljIENyZWF0aW5nUHJvamVjdDogYm9vbGVhbjtcblxuICBwdWJsaWMgRWRpdGluZ1Byb2plY3RMb29rdXA6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgYXBwc0Zsb3dTdmM6IEFwcGxpY2F0aW9uc0Zsb3dTZXJ2aWNlKSB7fVxuXG4gIC8vIHB1YmxpYyBDcmVhdGVSZXBvc2l0b3J5KHN0YXRlOiBBcHBsaWNhdGlvbnNGbG93U3RhdGUsIG9yZzogc3RyaW5nLCByZXBvTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gIC8vICAgc3RhdGUuR2l0SHViLkxvYWRpbmcgPSB0cnVlO1xuXG4gIC8vICAgdGhpcy5hcHBzRmxvd1N2Y1xuICAvLyAgICAgLkNyZWF0ZVJlcG9zaXRvcnkob3JnLCByZXBvTmFtZSlcbiAgLy8gICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBCYXNlUmVzcG9uc2UpID0+IHtcbiAgLy8gICAgICAgaWYgKHJlc3BvbnNlLlN0YXR1cy5Db2RlID09PSAwKSB7XG4gIC8vICAgICAgICAgdGhpcy5saXN0UmVwb3NpdG9yaWVzKHJlcG9OYW1lKTtcblxuICAvLyAgICAgICAgIHN0YXRlLkdpdEh1Yi5DcmVhdGluZ1JlcG9zaXRvcnkgPSBmYWxzZTtcbiAgLy8gICAgICAgfSBlbHNlIHtcbiAgLy8gICAgICAgICAvLyAgVE9ETzogIE5lZWQgdG8gc3VyZmFjZSBhbiBlcnJvciB0byB0aGUgdXNlci4uLlxuXG4gIC8vICAgICAgICAgc3RhdGUuR2l0SHViLkxvYWRpbmcgPSBmYWxzZTtcbiAgLy8gICAgICAgfVxuICAvLyAgICAgfSk7XG4gIC8vIH1cblxuICBwdWJsaWMgYXN5bmMgRGVsZXRlQXBwbGljYXRpb24oXG4gICAgc3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSxcbiAgICBhcHBMb29rdXA6IHN0cmluZ1xuICApOiBQcm9taXNlPEVudGVycHJpc2VBc0NvZGU+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgc3RhdGUuTG9hZGluZyA9IHRydWU7XG5cbiAgICAgIHRoaXMuYXBwc0Zsb3dTdmMuRGVsZXRlQXBwbGljYXRpb24oYXBwTG9va3VwKS5zdWJzY3JpYmUoXG4gICAgICAgIGFzeW5jIChyZXNwb25zZTogQmFzZVJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlLlN0YXR1cy5Db2RlID09PSAwKSB7XG4gICAgICAgICAgICBjb25zdCBlYWMgPSBhd2FpdCB0aGlzLkxvYWRFbnRlcnByaXNlQXNDb2RlKHN0YXRlKTtcblxuICAgICAgICAgICAgcmVzb2x2ZShlYWMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHJlamVjdChyZXNwb25zZS5TdGF0dXMpO1xuXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgc3RhdGUuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgcmVqZWN0KGVycik7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIERlbGV0ZURldk9wc0FjdGlvbihcbiAgICBzdGF0ZTogQXBwbGljYXRpb25zRmxvd1N0YXRlLFxuICAgIGRvYUxvb2t1cDogc3RyaW5nXG4gICk6IFByb21pc2U8RW50ZXJwcmlzZUFzQ29kZT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBzdGF0ZS5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgdGhpcy5hcHBzRmxvd1N2Yy5EZWxldGVEZXZPcHNBY3Rpb24oZG9hTG9va3VwKS5zdWJzY3JpYmUoXG4gICAgICAgIGFzeW5jIChyZXNwb25zZTogQmFzZVJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlLlN0YXR1cy5Db2RlID09PSAwKSB7XG4gICAgICAgICAgICBjb25zdCBlYWMgPSBhd2FpdCB0aGlzLkxvYWRFbnRlcnByaXNlQXNDb2RlKHN0YXRlKTtcblxuICAgICAgICAgICAgcmVzb2x2ZShlYWMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHJlamVjdChyZXNwb25zZS5TdGF0dXMpO1xuXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgc3RhdGUuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgcmVqZWN0KGVycik7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIERlbGV0ZVByb2plY3QoXG4gICAgc3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSxcbiAgICBwcm9qZWN0TG9va3VwOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxFbnRlcnByaXNlQXNDb2RlPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHN0YXRlLkxvYWRpbmcgPSB0cnVlO1xuXG4gICAgICB0aGlzLmFwcHNGbG93U3ZjLkRlbGV0ZVByb2plY3QocHJvamVjdExvb2t1cCkuc3Vic2NyaWJlKFxuICAgICAgICBhc3luYyAocmVzcG9uc2U6IEJhc2VSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIGlmIChyZXNwb25zZS5TdGF0dXMuQ29kZSA9PT0gMCkge1xuICAgICAgICAgICAgY29uc3QgZWFjID0gYXdhaXQgdGhpcy5Mb2FkRW50ZXJwcmlzZUFzQ29kZShzdGF0ZSk7XG5cbiAgICAgICAgICAgIHJlc29sdmUoZWFjKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RhdGUuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgICByZWplY3QocmVzcG9uc2UuU3RhdHVzKTtcblxuICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgIHJlamVjdChlcnIpO1xuXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBEZWxldGVTb3VyY2VDb250cm9sKFxuICAgIHN0YXRlOiBBcHBsaWNhdGlvbnNGbG93U3RhdGUsXG4gICAgc2NMb29rdXA6IHN0cmluZ1xuICApOiBQcm9taXNlPEVudGVycHJpc2VBc0NvZGU+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgc3RhdGUuTG9hZGluZyA9IHRydWU7XG5cbiAgICAgIHRoaXMuYXBwc0Zsb3dTdmMuRGVsZXRlU291cmNlQ29udHJvbChzY0xvb2t1cCkuc3Vic2NyaWJlKFxuICAgICAgICBhc3luYyAocmVzcG9uc2U6IEJhc2VSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIGlmIChyZXNwb25zZS5TdGF0dXMuQ29kZSA9PT0gMCkge1xuICAgICAgICAgICAgY29uc3QgZWFjID0gYXdhaXQgdGhpcy5Mb2FkRW50ZXJwcmlzZUFzQ29kZShzdGF0ZSk7XG5cbiAgICAgICAgICAgIHJlc29sdmUoZWFjKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RhdGUuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgICByZWplY3QocmVzcG9uc2UuU3RhdHVzKTtcblxuICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgIHJlamVjdChlcnIpO1xuXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBFbnN1cmVVc2VyRW50ZXJwcmlzZShcbiAgICBzdGF0ZTogQXBwbGljYXRpb25zRmxvd1N0YXRlXG4gICk6IFByb21pc2U8RW50ZXJwcmlzZUFzQ29kZT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBzdGF0ZS5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgdGhpcy5hcHBzRmxvd1N2Yy5FbnN1cmVVc2VyRW50ZXJwcmlzZSgpLnN1YnNjcmliZShcbiAgICAgICAgYXN5bmMgKHJlc3BvbnNlOiBCYXNlUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBpZiAocmVzcG9uc2UuU3RhdHVzLkNvZGUgPT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGVhYyA9IGF3YWl0IHRoaXMuTG9hZEVudGVycHJpc2VBc0NvZGUoc3RhdGUpO1xuXG4gICAgICAgICAgICByZXNvbHZlKGVhYyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgICAgcmVqZWN0KHJlc3BvbnNlLlN0YXR1cyk7XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICByZWplY3QoZXJyKTtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgR2V0QWN0aXZlRW50ZXJwcmlzZShcbiAgICBzdGF0ZTogQXBwbGljYXRpb25zRmxvd1N0YXRlXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBzdGF0ZS5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgdGhpcy5hcHBzRmxvd1N2Yy5HZXRBY3RpdmVFbnRlcnByaXNlKCkuc3Vic2NyaWJlKFxuICAgICAgICBhc3luYyAoXG4gICAgICAgICAgcmVzcG9uc2U6IEJhc2VNb2RlbGVkUmVzcG9uc2U8eyBOYW1lOiBzdHJpbmc7IExvb2t1cDogc3RyaW5nIH0+XG4gICAgICAgICkgPT4ge1xuICAgICAgICAgIGlmIChyZXNwb25zZS5TdGF0dXMuQ29kZSA9PT0gMCkge1xuICAgICAgICAgICAgc3RhdGUuQWN0aXZlRW50ZXJwcmlzZUxvb2t1cCA9IHJlc3BvbnNlLk1vZGVsPy5Mb29rdXA7XG5cbiAgICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHJlamVjdChyZXNwb25zZS5TdGF0dXMpO1xuXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgc3RhdGUuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgcmVqZWN0KGVycik7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIEhhc1ZhbGlkQ29ubmVjdGlvbihcbiAgICBzdGF0ZTogQXBwbGljYXRpb25zRmxvd1N0YXRlLCBcbiAgICBmb3JjZUVuc3VyZVVzZXI6IGJvb2xlYW4gPSBmYWxzZVxuICApOiBQcm9taXNlPEVudGVycHJpc2VBc0NvZGU+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgc3RhdGUuTG9hZGluZyA9IHRydWU7XG5cbiAgICAgIHRoaXMuYXBwc0Zsb3dTdmMuSGFzVmFsaWRDb25uZWN0aW9uKCkuc3Vic2NyaWJlKFxuICAgICAgICBhc3luYyAocmVzcG9uc2U6IEJhc2VSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHN0YXRlLkdpdEh1Yi5IYXNDb25uZWN0aW9uID0gcmVzcG9uc2UuU3RhdHVzLkNvZGUgPT09IDA7XG5cbiAgICAgICAgICBpZiAoc3RhdGUuR2l0SHViLkhhc0Nvbm5lY3Rpb24gfHwgZm9yY2VFbnN1cmVVc2VyKSB7XG4gICAgICAgICAgICBjb25zdCBlYWMgPSBhd2FpdCB0aGlzLkVuc3VyZVVzZXJFbnRlcnByaXNlKHN0YXRlKTtcblxuICAgICAgICAgICAgcmVzb2x2ZShlYWMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHJlc29sdmUoe30pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgIHJlamVjdChlcnIpO1xuXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBMaXN0RW50ZXJwcmlzZXMoc3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSk6IFByb21pc2U8YW55W10+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgc3RhdGUuTG9hZGluZyA9IHRydWU7XG5cbiAgICAgIHRoaXMuYXBwc0Zsb3dTdmMuTGlzdEVudGVycHJpc2VzKCkuc3Vic2NyaWJlKFxuICAgICAgICBhc3luYyAocmVzcG9uc2U6IEJhc2VNb2RlbGVkUmVzcG9uc2U8QXJyYXk8YW55Pj4pID0+IHtcbiAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICBpZiAocmVzcG9uc2UuU3RhdHVzLkNvZGUgPT09IDApIHtcbiAgICAgICAgICAgIHN0YXRlLkVudGVycHJpc2VzID0gcmVzcG9uc2UuTW9kZWw7XG5cbiAgICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UuTW9kZWwpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZWplY3QocmVzcG9uc2UuU3RhdHVzKTtcblxuICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgIHJlamVjdChlcnIpO1xuXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBMb2FkRW50ZXJwcmlzZUFzQ29kZShcbiAgICBzdGF0ZTogQXBwbGljYXRpb25zRmxvd1N0YXRlXG4gICk6IFByb21pc2U8RW50ZXJwcmlzZUFzQ29kZT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBzdGF0ZS5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgdGhpcy5hcHBzRmxvd1N2Yy5Mb2FkRW50ZXJwcmlzZUFzQ29kZSgpLnN1YnNjcmliZShcbiAgICAgICAgKHJlc3BvbnNlOiBCYXNlTW9kZWxlZFJlc3BvbnNlPEVudGVycHJpc2VBc0NvZGU+KSA9PiB7XG4gICAgICAgICAgc3RhdGUuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgaWYgKHJlc3BvbnNlLlN0YXR1cy5Db2RlID09PSAwKSB7XG4gICAgICAgICAgICBzdGF0ZS5FYUMgPSByZXNwb25zZS5Nb2RlbCB8fCB7fTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlLlN0YXR1cy5Db2RlID09PSAzKSB7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3RhdGUuRWFDID0gc3RhdGUuRWFDIHx8IHt9O1xuXG4gICAgICAgICAgdGhpcy5DcmVhdGluZ1Byb2plY3QgPVxuICAgICAgICAgICAgT2JqZWN0LmtleXMoc3RhdGU/LkVhQz8uUHJvamVjdHMgfHwge30pLmxlbmd0aCA8PSAwO1xuXG4gICAgICAgICAgcmVzb2x2ZShzdGF0ZS5FYUMpO1xuXG4gICAgICAgICAgY29uc29sZS5sb2coc3RhdGUpO1xuICAgICAgICB9LFxuICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgc3RhdGUuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgcmVqZWN0KGVycik7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIFNldEFjdGl2ZUVudGVycHJpc2UoXG4gICAgc3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSxcbiAgICBhY3RpdmVFbnRMb29rdXA6IHN0cmluZ1xuICApOiBQcm9taXNlPEVudGVycHJpc2VBc0NvZGU+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgc3RhdGUuTG9hZGluZyA9IHRydWU7XG5cbiAgICAgIHRoaXMuYXBwc0Zsb3dTdmMuU2V0QWN0aXZlRW50ZXJwcmlzZShhY3RpdmVFbnRMb29rdXApLnN1YnNjcmliZShcbiAgICAgICAgYXN5bmMgKHJlc3BvbnNlOiBCYXNlUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBpZiAocmVzcG9uc2UuU3RhdHVzLkNvZGUgPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuRWRpdGluZ1Byb2plY3RMb29rdXAgPSBudWxsO1xuXG4gICAgICAgICAgICBzdGF0ZS5BY3RpdmVFbnRlcnByaXNlTG9va3VwID0gYWN0aXZlRW50TG9va3VwO1xuXG4gICAgICAgICAgICBjb25zdCBlYWMgPSBhd2FpdCB0aGlzLkxvYWRFbnRlcnByaXNlQXNDb2RlKHN0YXRlKTtcblxuICAgICAgICAgICAgcmVzb2x2ZShlYWMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHJlamVjdChyZXNwb25zZS5TdGF0dXMpO1xuXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgc3RhdGUuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgcmVqZWN0KGVycik7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIFNhdmVFbnRlcnByaXNlQXNDb2RlKFxuICAgIHN0YXRlOiBBcHBsaWNhdGlvbnNGbG93U3RhdGUsXG4gICAgZWFjOiBFbnRlcnByaXNlQXNDb2RlXG4gICk6IFByb21pc2U8RW50ZXJwcmlzZUFzQ29kZT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBzdGF0ZS5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgdGhpcy5hcHBzRmxvd1N2Yy5TYXZlRW50ZXJwcmlzZUFzQ29kZShlYWMpLnN1YnNjcmliZShcbiAgICAgICAgYXN5bmMgKHJlc3BvbnNlOiBCYXNlTW9kZWxlZFJlc3BvbnNlPHN0cmluZz4pID0+IHtcbiAgICAgICAgICBpZiAocmVzcG9uc2UuU3RhdHVzLkNvZGUgPT09IDApIHtcbiAgICAgICAgICAgIGVhYyA9IGF3YWl0IHRoaXMuTG9hZEVudGVycHJpc2VBc0NvZGUoc3RhdGUpO1xuXG4gICAgICAgICAgICByZXNvbHZlKGVhYyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgICAgcmVqZWN0KHJlc3BvbnNlLlN0YXR1cyk7XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICByZWplY3QoZXJyKTtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgU2V0Q3JlYXRpbmdQcm9qZWN0KGNyZWF0aW5nUHJvamVjdDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuQ3JlYXRpbmdQcm9qZWN0ID0gY3JlYXRpbmdQcm9qZWN0O1xuXG4gICAgdGhpcy5FZGl0aW5nUHJvamVjdExvb2t1cCA9IG51bGw7XG4gIH1cblxuICBwdWJsaWMgU2V0RWRpdFByb2plY3RTZXR0aW5ncyhcbiAgICBzdGF0ZTogQXBwbGljYXRpb25zRmxvd1N0YXRlLFxuICAgIHByb2plY3RMb29rdXA6IHN0cmluZ1xuICApOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBpZiAocHJvamVjdExvb2t1cCAhPSBudWxsKSB7XG4gICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLkVkaXRpbmdQcm9qZWN0TG9va3VwID0gbnVsbDtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLkVkaXRpbmdQcm9qZWN0TG9va3VwID0gcHJvamVjdExvb2t1cDtcblxuICAgICAgICAgIHJlc29sdmUoe30pO1xuICAgICAgICB9LCAwKTtcblxuICAgICAgICB0aGlzLkNyZWF0aW5nUHJvamVjdCA9IGZhbHNlO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKHN0YXRlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLkVkaXRpbmdQcm9qZWN0TG9va3VwID0gcHJvamVjdExvb2t1cDtcblxuICAgICAgICB0aGlzLkNyZWF0aW5nUHJvamVjdCA9IGZhbHNlO1xuXG4gICAgICAgIHJlc29sdmUoe30pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIFRvZ2dsZUNyZWF0ZVByb2plY3QoKTogdm9pZCB7XG4gICAgdGhpcy5TZXRDcmVhdGluZ1Byb2plY3QoIXRoaXMuQ3JlYXRpbmdQcm9qZWN0KTtcbiAgfVxuXG4gIHB1YmxpYyBVbnBhY2tMb3dDb2RlVW5pdChcbiAgICBzdGF0ZTogQXBwbGljYXRpb25zRmxvd1N0YXRlLFxuICAgIHJlcTogVW5wYWNrTG93Q29kZVVuaXRSZXF1ZXN0XG4gICk6IFByb21pc2U8RW50ZXJwcmlzZUFzQ29kZT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBzdGF0ZS5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgdGhpcy5hcHBzRmxvd1N2Yy5VbnBhY2tMb3dDb2RlVW5pdChyZXEpLnN1YnNjcmliZShcbiAgICAgICAgYXN5bmMgKHJlc3BvbnNlOiBCYXNlUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBpZiAocmVzcG9uc2UuU3RhdHVzLkNvZGUgPT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGVhYyA9IGF3YWl0IHRoaXMuTG9hZEVudGVycHJpc2VBc0NvZGUoc3RhdGUpO1xuXG4gICAgICAgICAgICByZXNvbHZlKGVhYyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgICAgcmVqZWN0KHJlc3BvbnNlLlN0YXR1cyk7XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICBzdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICByZWplY3QoZXJyKTtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -2,9 +2,14 @@
|
|
|
2
2
|
* Generated bundle index. Do not edit.
|
|
3
3
|
*/
|
|
4
4
|
export * from './lcu.api';
|
|
5
|
+
export { AnalyticsCardComponent as ɵt } from './lib/elements/analytics-card/analytics-card.component';
|
|
5
6
|
export { BaseFormComponent as ɵk } from './lib/elements/base-form/base-form.component';
|
|
7
|
+
export { ColumnInfoCardComponent as ɵq } from './lib/elements/column-info-card/column-info-card.component';
|
|
6
8
|
export { DynamicTabsComponent as ɵb } from './lib/elements/dynamic-tabs/dynamic-tabs.component';
|
|
9
|
+
export { FeedCardSmComponent as ɵu } from './lib/elements/feed-card-sm/feed-card-sm.component';
|
|
7
10
|
export { FormCardComponent as ɵj } from './lib/elements/form-card/form-card.component';
|
|
11
|
+
export { GhControlComponent as ɵv } from './lib/elements/gh-control/gh-control.component';
|
|
12
|
+
export { ProjectInfoCardComponent as ɵs } from './lib/elements/project-info-card/project-info-card.component';
|
|
8
13
|
export { BuildsComponent as ɵh } from './lib/elements/projects/controls/builds/builds.component';
|
|
9
14
|
export { HeaderComponent as ɵc } from './lib/elements/projects/controls/header/header.component';
|
|
10
15
|
export { ProjectItemsComponent as ɵg } from './lib/elements/projects/controls/project-items/project-items.component';
|
|
@@ -17,5 +22,6 @@ export { DFSModifiersComponent as ɵo } from './lib/elements/projects/controls/t
|
|
|
17
22
|
export { DomainsComponent as ɵf } from './lib/elements/projects/controls/tabs/domains/domains.component';
|
|
18
23
|
export { BaseFormTestComponent as ɵl } from './lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component';
|
|
19
24
|
export { GeneralComponent as ɵe } from './lib/elements/projects/controls/tabs/general/general.component';
|
|
25
|
+
export { SlottedCardComponent as ɵr } from './lib/elements/slotted-card/slotted-card.component';
|
|
20
26
|
export { ApplicationsFlowEventsService as ɵa } from './lib/services/applications-flow-events.service';
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG93Y29kZXVuaXQtYXBwbGljYXRpb25zLWZsb3ctY29tbW9uLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL2FwcGxpY2F0aW9ucy1mbG93L2FwcGxpY2F0aW9ucy1mbG93L3Byb2plY3RzL2NvbW1vbi9zcmMvIiwic291cmNlcyI6WyJsb3djb2RldW5pdC1hcHBsaWNhdGlvbnMtZmxvdy1jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFdBQVcsQ0FBQztBQUUxQixPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDcEcsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUN6RyxPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDOUYsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRixPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDeEYsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQzVHLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDL0YsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUMvRixPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFDbkgsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBQ2hILE9BQU8sRUFBQyx5QkFBeUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxnRkFBZ0YsQ0FBQztBQUMvSCxPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0scUVBQXFFLENBQUM7QUFDNUcsT0FBTyxFQUFDLHlCQUF5QixJQUFJLEVBQUUsRUFBQyxNQUFNLGlHQUFpRyxDQUFDO0FBQ2hKLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDcEcsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLDZFQUE2RSxDQUFDO0FBQ3hILE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUN2RyxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sNkZBQTZGLENBQUM7QUFDeEksT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUM5RixPQUFPLEVBQUMsNkJBQTZCLElBQUksRUFBRSxFQUFDLE1BQU0saURBQWlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGN1LmFwaSc7XG5cbmV4cG9ydCB7QW5hbHl0aWNzQ2FyZENvbXBvbmVudCBhcyDJtXR9IGZyb20gJy4vbGliL2VsZW1lbnRzL2FuYWx5dGljcy1jYXJkL2FuYWx5dGljcy1jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQge0Jhc2VGb3JtQ29tcG9uZW50IGFzIMm1a30gZnJvbSAnLi9saWIvZWxlbWVudHMvYmFzZS1mb3JtL2Jhc2UtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0IHtDb2x1bW5JbmZvQ2FyZENvbXBvbmVudCBhcyDJtXF9IGZyb20gJy4vbGliL2VsZW1lbnRzL2NvbHVtbi1pbmZvLWNhcmQvY29sdW1uLWluZm8tY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0IHtEeW5hbWljVGFic0NvbXBvbmVudCBhcyDJtWJ9IGZyb20gJy4vbGliL2VsZW1lbnRzL2R5bmFtaWMtdGFicy9keW5hbWljLXRhYnMuY29tcG9uZW50JztcbmV4cG9ydCB7RmVlZENhcmRTbUNvbXBvbmVudCBhcyDJtXV9IGZyb20gJy4vbGliL2VsZW1lbnRzL2ZlZWQtY2FyZC1zbS9mZWVkLWNhcmQtc20uY29tcG9uZW50JztcbmV4cG9ydCB7Rm9ybUNhcmRDb21wb25lbnQgYXMgybVqfSBmcm9tICcuL2xpYi9lbGVtZW50cy9mb3JtLWNhcmQvZm9ybS1jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQge0doQ29udHJvbENvbXBvbmVudCBhcyDJtXZ9IGZyb20gJy4vbGliL2VsZW1lbnRzL2doLWNvbnRyb2wvZ2gtY29udHJvbC5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9qZWN0SW5mb0NhcmRDb21wb25lbnQgYXMgybVzfSBmcm9tICcuL2xpYi9lbGVtZW50cy9wcm9qZWN0LWluZm8tY2FyZC9wcm9qZWN0LWluZm8tY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0IHtCdWlsZHNDb21wb25lbnQgYXMgybVofSBmcm9tICcuL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9idWlsZHMvYnVpbGRzLmNvbXBvbmVudCc7XG5leHBvcnQge0hlYWRlckNvbXBvbmVudCBhcyDJtWN9IGZyb20gJy4vbGliL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCB7UHJvamVjdEl0ZW1zQ29tcG9uZW50IGFzIMm1Z30gZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvcHJvamVjdC1pdGVtcy9wcm9qZWN0LWl0ZW1zLmNvbXBvbmVudCc7XG5leHBvcnQge1Byb2plY3RUYWJzQ29tcG9uZW50IGFzIMm1ZH0gZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvcHJvamVjdC10YWJzL3Byb2plY3QtdGFicy5jb21wb25lbnQnO1xuZXhwb3J0IHtSZWNlbnRBY3Rpdml0aWVzQ29tcG9uZW50IGFzIMm1aX0gZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvcmVjZW50LWFjdGl2aXRpZXMvcmVjZW50LWFjdGl2aXRpZXMuY29tcG9uZW50JztcbmV4cG9ydCB7QXBwc0Zsb3dDb21wb25lbnQgYXMgybVtfSBmcm9tICcuL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2FwcHMtZmxvdy9hcHBzLWZsb3cuY29tcG9uZW50JztcbmV4cG9ydCB7TnBtUGFja2FnZVNlbGVjdENvbXBvbmVudCBhcyDJtXB9IGZyb20gJy4vbGliL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3RhYnMvYXBwcy1mbG93L25wbS1wYWNrYWdlLXNlbGVjdC9ucG0tcGFja2FnZS1zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCB7RGV2T3BzQ29tcG9uZW50IGFzIMm1bn0gZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9kZXZvcHMvZGV2b3BzLmNvbXBvbmVudCc7XG5leHBvcnQge0RGU01vZGlmaWVyc0NvbXBvbmVudCBhcyDJtW99IGZyb20gJy4vbGliL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3RhYnMvZGZzLW1vZGlmaWVycy9kZnMtbW9kaWZpZXJzLmNvbXBvbmVudCc7XG5leHBvcnQge0RvbWFpbnNDb21wb25lbnQgYXMgybVmfSBmcm9tICcuL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2RvbWFpbnMvZG9tYWlucy5jb21wb25lbnQnO1xuZXhwb3J0IHtCYXNlRm9ybVRlc3RDb21wb25lbnQgYXMgybVsfSBmcm9tICcuL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2dlbmVyYWwvZm9ybXMvYmFzZS1mb3JtLXRlc3QvYmFzZS1mb3JtLXRlc3QuY29tcG9uZW50JztcbmV4cG9ydCB7R2VuZXJhbENvbXBvbmVudCBhcyDJtWV9IGZyb20gJy4vbGliL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3RhYnMvZ2VuZXJhbC9nZW5lcmFsLmNvbXBvbmVudCc7XG5leHBvcnQge1Nsb3R0ZWRDYXJkQ29tcG9uZW50IGFzIMm1cn0gZnJvbSAnLi9saWIvZWxlbWVudHMvc2xvdHRlZC1jYXJkL3Nsb3R0ZWQtY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0IHtBcHBsaWNhdGlvbnNGbG93RXZlbnRzU2VydmljZSBhcyDJtWF9IGZyb20gJy4vbGliL3NlcnZpY2VzL2FwcGxpY2F0aW9ucy1mbG93LWV2ZW50cy5zZXJ2aWNlJzsiXX0=
|