@lowcodeunit/applications-flow-common 1.33.93-lets-get-social-ish → 1.33.95-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.
Files changed (31) hide show
  1. package/bundles/lowcodeunit-applications-flow-common.umd.js +456 -343
  2. package/bundles/lowcodeunit-applications-flow-common.umd.js.map +1 -1
  3. package/bundles/lowcodeunit-applications-flow-common.umd.min.js +1 -1
  4. package/bundles/lowcodeunit-applications-flow-common.umd.min.js.map +1 -1
  5. package/esm2015/lcu.api.js +2 -1
  6. package/esm2015/lib/applications-flow.module.js +14 -4
  7. package/esm2015/lib/controls/build-pipeline-form/build-pipeline-form.component.js +15 -0
  8. package/esm2015/lib/controls/devops-source-control-form/devops-source-control-form.component.js +15 -0
  9. package/esm2015/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.js +8 -10
  10. package/esm2015/lib/elements/projects/projects.component.js +8 -132
  11. package/esm2015/lib/services/eac.service.js +193 -0
  12. package/esm2015/lowcodeunit-applications-flow-common.js +3 -1
  13. package/fesm2015/lowcodeunit-applications-flow-common.js +284 -189
  14. package/fesm2015/lowcodeunit-applications-flow-common.js.map +1 -1
  15. package/lcu.api.d.ts +1 -0
  16. package/lcu.api.d.ts.map +1 -1
  17. package/lib/applications-flow.module.d.ts.map +1 -1
  18. package/lib/controls/build-pipeline-form/build-pipeline-form.component.d.ts +6 -0
  19. package/lib/controls/build-pipeline-form/build-pipeline-form.component.d.ts.map +1 -0
  20. package/lib/controls/devops-source-control-form/devops-source-control-form.component.d.ts +6 -0
  21. package/lib/controls/devops-source-control-form/devops-source-control-form.component.d.ts.map +1 -0
  22. package/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.d.ts +3 -3
  23. package/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.d.ts.map +1 -1
  24. package/lib/elements/projects/projects.component.d.ts +4 -9
  25. package/lib/elements/projects/projects.component.d.ts.map +1 -1
  26. package/lib/services/eac.service.d.ts +30 -0
  27. package/lib/services/eac.service.d.ts.map +1 -0
  28. package/lowcodeunit-applications-flow-common.d.ts +2 -0
  29. package/lowcodeunit-applications-flow-common.d.ts.map +1 -1
  30. package/lowcodeunit-applications-flow-common.metadata.json +1 -1
  31. package/package.json +1 -1
@@ -1,10 +1,9 @@
1
1
  import { __awaiter } from "tslib";
2
2
  import { Component, Injector, } from '@angular/core';
3
3
  import { LCUElementContext, LcuElementComponent, } from '@lcu/common';
4
- import { ApplicationsFlowState } from './../../state/applications-flow.state';
5
4
  import { ApplicationsFlowService } from '../../services/applications-flow.service';
6
5
  import { ProjectService } from '../../services/project.service';
7
- import { ApplicationsFlowEventsService, } from './../../services/applications-flow-events.service';
6
+ import { EaCService } from '../../services/eac.service';
8
7
  export class ApplicationsFlowProjectsElementState {
9
8
  }
10
9
  export class ApplicationsFlowProjectsContext extends LCUElementContext {
@@ -12,14 +11,12 @@ export class ApplicationsFlowProjectsContext extends LCUElementContext {
12
11
  export const SELECTOR_APPLICATIONS_FLOW_PROJECTS_ELEMENT = 'applications-flow-projects-element';
13
12
  export class ApplicationsFlowProjectsElementComponent extends LcuElementComponent {
14
13
  // Constructors
15
- constructor(injector, appsFlowSvc, projectService, appsFlowEventsSvc) {
14
+ constructor(injector, appsFlowSvc, projectService, eacSvc) {
16
15
  super(injector);
17
16
  this.injector = injector;
18
17
  this.appsFlowSvc = appsFlowSvc;
19
18
  this.projectService = projectService;
20
- this.appsFlowEventsSvc = appsFlowEventsSvc;
21
- this.State = new ApplicationsFlowState();
22
- this.setServices();
19
+ this.eacSvc = eacSvc;
23
20
  }
24
21
  // Properties
25
22
  get ActiveEnvironment() {
@@ -46,6 +43,9 @@ export class ApplicationsFlowProjectsElementComponent extends LcuElementComponen
46
43
  var _a, _b;
47
44
  return Object.keys(((_b = (_a = this.State) === null || _a === void 0 ? void 0 : _a.EaC) === null || _b === void 0 ? void 0 : _b.Projects) || {});
48
45
  }
46
+ get State() {
47
+ return this.eacSvc.State;
48
+ }
49
49
  // Life Cycle
50
50
  ngOnDestroy() { }
51
51
  ngOnInit() {
@@ -85,130 +85,6 @@ export class ApplicationsFlowProjectsElementComponent extends LcuElementComponen
85
85
  }
86
86
  });
87
87
  }
88
- handleSaveApplication(req) {
89
- var _a;
90
- return __awaiter(this, void 0, void 0, function* () {
91
- const saveEaC = {
92
- EnterpriseLookup: this.State.EaC.EnterpriseLookup,
93
- Applications: {},
94
- Projects: {},
95
- };
96
- const existingProj = Object.assign({}, this.State.EaC.Projects[req.ProjectLookup]);
97
- if (((_a = existingProj.ApplicationLookups) === null || _a === void 0 ? void 0 : _a.indexOf(req.ApplicationLookup)) < 0) {
98
- if (!existingProj.ApplicationLookups) {
99
- existingProj.ApplicationLookups = [];
100
- }
101
- existingProj.ApplicationLookups.push(req.ApplicationLookup);
102
- saveEaC.Projects[req.ProjectLookup] = existingProj;
103
- }
104
- if (req.Application) {
105
- saveEaC.Applications[req.ApplicationLookup] = req.Application;
106
- }
107
- yield this.projectService.SaveEnterpriseAsCode(this.State, saveEaC);
108
- });
109
- }
110
- handleSaveDFSModifier(req) {
111
- return __awaiter(this, void 0, void 0, function* () {
112
- const saveEaC = {
113
- EnterpriseLookup: this.State.EaC.EnterpriseLookup,
114
- Modifiers: {},
115
- Projects: {},
116
- };
117
- if (req.Modifier) {
118
- saveEaC.Modifiers[req.ModifierLookup] = req.Modifier;
119
- }
120
- if (req.ProjectLookup) {
121
- saveEaC.Projects[req.ProjectLookup] = {
122
- ModifierLookups: [req.ModifierLookup],
123
- };
124
- }
125
- yield this.projectService.SaveEnterpriseAsCode(this.State, saveEaC);
126
- });
127
- }
128
- handleSaveEnvironment(req) {
129
- return __awaiter(this, void 0, void 0, function* () {
130
- const saveEaC = {
131
- EnterpriseLookup: this.State.EaC.EnterpriseLookup,
132
- DataTokens: {},
133
- Environments: {},
134
- };
135
- if (req.Environment) {
136
- saveEaC.Environments[req.EnvironmentLookup] = req.Environment;
137
- }
138
- if (req.EnterpriseDataTokens) {
139
- saveEaC.DataTokens = req.EnterpriseDataTokens;
140
- }
141
- yield this.projectService.SaveEnterpriseAsCode(this.State, saveEaC);
142
- });
143
- }
144
- handleSaveProject(projectLookup, project) {
145
- var _a;
146
- return __awaiter(this, void 0, void 0, function* () {
147
- const projHosts = {};
148
- (_a = project === null || project === void 0 ? void 0 : project.Hosts) === null || _a === void 0 ? void 0 : _a.forEach(host => {
149
- projHosts[host] = this.State.EaC.Hosts[host];
150
- });
151
- const saveEaC = {
152
- EnterpriseLookup: this.State.EaC.EnterpriseLookup,
153
- Enterprise: Object.assign(Object.assign({}, this.State.EaC.Enterprise), { PrimaryHost: project.Hosts[0] }),
154
- Hosts: projHosts,
155
- // Providers: this.State.EaC.Providers, // TODO: Remove after all providers ADB2C's have been upgraded
156
- Projects: {},
157
- };
158
- saveEaC.Projects[projectLookup] = project;
159
- yield this.projectService.SaveEnterpriseAsCode(this.State, saveEaC);
160
- this.appsFlowEventsSvc.SetEditProjectSettings(projectLookup);
161
- });
162
- }
163
- setServices() {
164
- this.appsFlowEventsSvc.DeleteApplicationEvent.subscribe((appLookup) => __awaiter(this, void 0, void 0, function* () {
165
- yield this.projectService.DeleteApplication(this.State, appLookup);
166
- }));
167
- this.appsFlowEventsSvc.DeleteDevOpsActionEvent.subscribe((doaLookup) => __awaiter(this, void 0, void 0, function* () {
168
- yield this.projectService.DeleteDevOpsAction(this.State, doaLookup);
169
- }));
170
- this.appsFlowEventsSvc.DeleteProjectEvent.subscribe((projectLookup) => __awaiter(this, void 0, void 0, function* () {
171
- yield this.projectService.DeleteProject(this.State, projectLookup);
172
- }));
173
- this.appsFlowEventsSvc.DeleteSourceControlEvent.subscribe((scLookup) => __awaiter(this, void 0, void 0, function* () {
174
- yield this.projectService.DeleteSourceControl(this.State, scLookup);
175
- }));
176
- this.appsFlowEventsSvc.EnsureUserEnterpriseEvent.subscribe(() => __awaiter(this, void 0, void 0, function* () {
177
- yield this.projectService.EnsureUserEnterprise(this.State);
178
- }));
179
- // this.appsFlowEventsSvc.ListProjectsEvent.subscribe((withLoading) => {
180
- // this.projectService.ListProjects(this.State, withLoading);
181
- // });
182
- this.appsFlowEventsSvc.LoadEnterpriseAsCodeEvent.subscribe(() => __awaiter(this, void 0, void 0, function* () {
183
- yield this.projectService.LoadEnterpriseAsCode(this.State);
184
- }));
185
- this.appsFlowEventsSvc.SaveEnterpriseAsCodeEvent.subscribe((eac) => __awaiter(this, void 0, void 0, function* () {
186
- yield this.projectService.SaveEnterpriseAsCode(this.State, eac);
187
- }));
188
- this.appsFlowEventsSvc.SaveApplicationAsCodeEvent.subscribe((req) => __awaiter(this, void 0, void 0, function* () {
189
- yield this.handleSaveApplication(req);
190
- }));
191
- this.appsFlowEventsSvc.SaveDFSModifierEvent.subscribe((req) => __awaiter(this, void 0, void 0, function* () {
192
- yield this.handleSaveDFSModifier(req);
193
- }));
194
- this.appsFlowEventsSvc.SaveEnvironmentAsCodeEvent.subscribe((req) => __awaiter(this, void 0, void 0, function* () {
195
- yield this.handleSaveEnvironment(req);
196
- }));
197
- this.appsFlowEventsSvc.SaveProjectAsCodeEvent.subscribe((req) => __awaiter(this, void 0, void 0, function* () {
198
- yield this.handleSaveProject(req.ProjectLookup, req.Project);
199
- }));
200
- this.appsFlowEventsSvc.SetCreatingProjectEvent.subscribe((creatingProject) => {
201
- this.projectService.SetCreatingProject(creatingProject);
202
- });
203
- this.appsFlowEventsSvc.SetEditProjectSettingsEvent.subscribe((projectLookup) => __awaiter(this, void 0, void 0, function* () {
204
- yield this.projectService.SetEditProjectSettings(this.State, projectLookup);
205
- }));
206
- this.appsFlowEventsSvc.UnpackLowCodeUnitEvent.subscribe((req) => __awaiter(this, void 0, void 0, function* () {
207
- if (confirm(`Are you sure you want to unpack application '${req.ApplicationName}' with version '${req.Version}'?`)) {
208
- yield this.projectService.UnpackLowCodeUnit(this.State, req);
209
- }
210
- }));
211
- }
212
88
  }
213
89
  ApplicationsFlowProjectsElementComponent.decorators = [
214
90
  { type: Component, args: [{
@@ -221,6 +97,6 @@ ApplicationsFlowProjectsElementComponent.ctorParameters = () => [
221
97
  { type: Injector },
222
98
  { type: ApplicationsFlowService },
223
99
  { type: ProjectService },
224
- { type: ApplicationsFlowEventsService }
100
+ { type: EaCService }
225
101
  ];
226
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL2FwcGxpY2F0aW9ucy1mbG93L2FwcGxpY2F0aW9ucy1mbG93L3Byb2plY3RzL2NvbW1vbi9zcmMvIiwic291cmNlcyI6WyJsaWIvZWxlbWVudHMvcHJvamVjdHMvcHJvamVjdHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFFBQVEsR0FHVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLG1CQUFtQixHQUVwQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUNMLDZCQUE2QixHQUk5QixNQUFNLG1EQUFtRCxDQUFDO0FBVTNELE1BQU0sT0FBTyxvQ0FBb0M7Q0FBRztBQUVwRCxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsaUJBQXVEO0NBQUc7QUFFL0csTUFBTSxDQUFDLE1BQU0sMkNBQTJDLEdBQ3RELG9DQUFvQyxDQUFDO0FBT3ZDLE1BQU0sT0FBTyx3Q0FDWCxTQUFRLG1CQUFvRDtJQXNDNUQsZ0JBQWdCO0lBQ2hCLFlBQ1ksUUFBa0IsRUFDbEIsV0FBb0MsRUFDcEMsY0FBOEIsRUFDOUIsaUJBQWdEO1FBRTFELEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUxOLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBQ3BDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQStCO1FBSTFELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxxQkFBcUIs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QUU7WUFDdEIsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUM5QyxJQUFJLENBQUMsS0FBSyxFQUNWLGFBQWEsQ0FDZCxDQUFDO1FBQ0osQ0FBQyxDQUFBLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBTyxHQUFHLEVBQUUsRUFBRTtZQUNwRSxJQUNFLE9BQU8sQ0FDTCxnREFDRSxHQUFHLENBQUMsZUFDTixtQkFBbUIsR0FBRyxDQUFDLE9BQU8sSUFBSSxDQUNuQyxFQUNEO2dCQUNBLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQzlEO1FBQ0gsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQTlSRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJDQUEyQztnQkFDckQsNnpHQUF3Qzs7YUFFekM7OztZQXZDQyxRQUFRO1lBV0QsdUJBQXVCO1lBQ3ZCLGNBQWM7WUFFckIsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIEluamVjdG9yLFxyXG4gIFxyXG4gIE9uRGVzdHJveSxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHtcclxuICBMQ1VFbGVtZW50Q29udGV4dCxcclxuICBMY3VFbGVtZW50Q29tcG9uZW50LFxyXG4gIEJhc2VSZXNwb25zZSxcclxufSBmcm9tICdAbGN1L2NvbW1vbic7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSB9IGZyb20gJy4vLi4vLi4vc3RhdGUvYXBwbGljYXRpb25zLWZsb3cuc3RhdGUnO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvbnNGbG93U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FwcGxpY2F0aW9ucy1mbG93LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9qZWN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2plY3Quc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgQXBwbGljYXRpb25zRmxvd0V2ZW50c1NlcnZpY2UsXHJcbiAgU2F2ZUFwcGxpY2F0aW9uQXNDb2RlRXZlbnRSZXF1ZXN0LFxyXG4gIFNhdmVERlNNb2RpZmllckV2ZW50UmVxdWVzdCxcclxuICBTYXZlRW52aXJvbm1lbnRBc0NvZGVFdmVudFJlcXVlc3QsXHJcbn0gZnJvbSAnLi8uLi8uLi9zZXJ2aWNlcy9hcHBsaWNhdGlvbnMtZmxvdy1ldmVudHMuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgRWFDRW52aXJvbm1lbnRBc0NvZGUsXHJcbiAgRWFDSG9zdCxcclxuICBFYUNQcm9qZWN0QXNDb2RlLFxyXG4gIEVudGVycHJpc2VBc0NvZGUsXHJcbn0gZnJvbSAnQHNlbWFudGljanMvY29tbW9uJztcclxuXHJcbmRlY2xhcmUgdmFyIHdpbmRvdzogV2luZG93O1xyXG5cclxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uc0Zsb3dQcm9qZWN0c0VsZW1lbnRTdGF0ZSB7fVxyXG5cclxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uc0Zsb3dQcm9qZWN0c0NvbnRleHQgZXh0ZW5kcyBMQ1VFbGVtZW50Q29udGV4dDxBcHBsaWNhdGlvbnNGbG93UHJvamVjdHNFbGVtZW50U3RhdGU+IHt9XHJcblxyXG5leHBvcnQgY29uc3QgU0VMRUNUT1JfQVBQTElDQVRJT05TX0ZMT1dfUFJPSkVDVFNfRUxFTUVOVCA9XHJcbiAgJ2FwcGxpY2F0aW9ucy1mbG93LXByb2plY3RzLWVsZW1lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFNFTEVDVE9SX0FQUExJQ0FUSU9OU19GTE9XX1BST0pFQ1RTX0VMRU1FTlQsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2plY3RzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wcm9qZWN0cy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25zRmxvd1Byb2plY3RzRWxlbWVudENvbXBvbmVudFxyXG4gIGV4dGVuZHMgTGN1RWxlbWVudENvbXBvbmVudDxBcHBsaWNhdGlvbnNGbG93UHJvamVjdHNDb250ZXh0PlxyXG4gIGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXRcclxue1xyXG4gIC8vICBGaWVsZHNcclxuICBwcm90ZWN0ZWQgcHJvak1vbjogTm9kZUpTLlRpbWVvdXQ7XHJcblxyXG4gIC8vICBQcm9wZXJ0aWVzXHJcbiAgcHVibGljIGdldCBBY3RpdmVFbnZpcm9ubWVudCgpOiBFYUNFbnZpcm9ubWVudEFzQ29kZSB7XHJcbiAgICByZXR1cm4gdGhpcy5TdGF0ZT8uRWFDPy5FbnZpcm9ubWVudHNbdGhpcy5BY3RpdmVFbnZpcm9ubWVudExvb2t1cF07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IEFjdGl2ZUVudmlyb25tZW50TG9va3VwKCk6IHN0cmluZyB7XHJcbiAgICAvLyAgVE9ETzogIEV2ZW50dWFsbHkgc3VwcG9ydCBtdWx0aXBsZSBlbnZpcm9ubWVudHNcclxuICAgIGNvbnN0IGVudkxvb2t1cHMgPSBPYmplY3Qua2V5cyh0aGlzLlN0YXRlPy5FYUM/LkVudmlyb25tZW50cyB8fCB7fSk7XHJcblxyXG4gICAgcmV0dXJuIGVudkxvb2t1cHNbMF07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IENyZWF0aW5nUHJvamVjdCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnByb2plY3RTZXJ2aWNlLkNyZWF0aW5nUHJvamVjdDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgRWRpdGluZ1Byb2plY3QoKTogRWFDUHJvamVjdEFzQ29kZSB7XHJcbiAgICByZXR1cm4gdGhpcy5TdGF0ZT8uRWFDPy5Qcm9qZWN0c1xyXG4gICAgICA/IHRoaXMuU3RhdGU/LkVhQz8uUHJvamVjdHNbdGhpcy5FZGl0aW5nUHJvamVjdExvb2t1cF1cclxuICAgICAgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBFZGl0aW5nUHJvamVjdExvb2t1cCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMucHJvamVjdFNlcnZpY2UuRWRpdGluZ1Byb2plY3RMb29rdXA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IFByb2plY3RMb29rdXBzKCk6IEFycmF5PHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuU3RhdGU/LkVhQz8uUHJvamVjdHMgfHwge30pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFN0YXRlOiBBcHBsaWNhdGlvbnNGbG93U3RhdGU7XHJcblxyXG4gIC8vICBDb25zdHJ1Y3RvcnNcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcm90ZWN0ZWQgYXBwc0Zsb3dTdmM6IEFwcGxpY2F0aW9uc0Zsb3dTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIHByb2plY3RTZXJ2aWNlOiBQcm9qZWN0U2VydmljZSxcclxuICAgIHByb3RlY3RlZCBhcHBzRmxvd0V2ZW50c1N2YzogQXBwbGljYXRpb25zRmxvd0V2ZW50c1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKGluamVjdG9yKTtcclxuXHJcbiAgICB0aGlzLlN0YXRlID0gbmV3IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSgpO1xyXG5cclxuICAgIHRoaXMuc2V0U2VydmljZXMoKTtcclxuICB9XHJcblxyXG4gIC8vICBMaWZlIEN5Y2xlXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge31cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuXHJcbiAgICB0aGlzLmhhbmRsZVN0YXRlQ2hhbmdlKCkudGhlbigoZWFjKSA9PiB7fSk7XHJcblxyXG4gICAgLy8gdGhpcy5zZXR1cFByb2plY3RNb25pdG9yKCk7XHJcbiAgfVxyXG5cclxuICAvLyAgQVBJIE1ldGhvZHNcclxuICBwdWJsaWMgYXN5bmMgQWN0aXZlRW50ZXJwcmlzZUNoYW5nZWQoZXZlbnQ6IE1hdFNlbGVjdENoYW5nZSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5TZXRBY3RpdmVFbnRlcnByaXNlKHRoaXMuU3RhdGUsIGV2ZW50LnZhbHVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBDb25maWd1cmVEZXZPcHNBY3Rpb24oZGV2T3BzQWN0aW9uTG9va3VwOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuU3RhdGUuTG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5hcHBzRmxvd1N2Y1xyXG4gICAgICAuQ29uZmlndXJlRGV2T3BzQWN0aW9uKGRldk9wc0FjdGlvbkxvb2t1cClcclxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IEJhc2VSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXNwb25zZS5TdGF0dXMuQ29kZSA9PT0gMCkge1xyXG4gICAgICAgICAgdGhpcy5wcm9qZWN0U2VydmljZS5Mb2FkRW50ZXJwcmlzZUFzQ29kZSh0aGlzLlN0YXRlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5TdGF0ZS5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vICBIZWxwZXJzXHJcbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVN0YXRlQ2hhbmdlKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5TdGF0ZS5Mb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLkhhc1ZhbGlkQ29ubmVjdGlvbih0aGlzLlN0YXRlKTtcclxuXHJcbiAgICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLkVuc3VyZVVzZXJFbnRlcnByaXNlKHRoaXMuU3RhdGUpO1xyXG5cclxuICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuTGlzdEVudGVycHJpc2VzKHRoaXMuU3RhdGUpO1xyXG5cclxuICAgIGlmICh0aGlzLlN0YXRlLkVudGVycHJpc2VzPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuR2V0QWN0aXZlRW50ZXJwcmlzZSh0aGlzLlN0YXRlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVTYXZlQXBwbGljYXRpb24oXHJcbiAgICByZXE6IFNhdmVBcHBsaWNhdGlvbkFzQ29kZUV2ZW50UmVxdWVzdFxyXG4gICk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3Qgc2F2ZUVhQzogRW50ZXJwcmlzZUFzQ29kZSA9IHtcclxuICAgICAgRW50ZXJwcmlzZUxvb2t1cDogdGhpcy5TdGF0ZS5FYUMuRW50ZXJwcmlzZUxvb2t1cCxcclxuICAgICAgQXBwbGljYXRpb25zOiB7fSxcclxuICAgICAgUHJvamVjdHM6IHt9LFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBleGlzdGluZ1Byb2ogPSB7XHJcbiAgICAgIC4uLnRoaXMuU3RhdGUuRWFDLlByb2plY3RzW3JlcS5Qcm9qZWN0TG9va3VwXSxcclxuICAgIH07XHJcblxyXG4gICAgaWYgKGV4aXN0aW5nUHJvai5BcHBsaWNhdGlvbkxvb2t1cHM/LmluZGV4T2YocmVxLkFwcGxpY2F0aW9uTG9va3VwKSA8IDApIHtcclxuICAgICAgaWYgKCFleGlzdGluZ1Byb2ouQXBwbGljYXRpb25Mb29rdXBzKSB7XHJcbiAgICAgICAgZXhpc3RpbmdQcm9qLkFwcGxpY2F0aW9uTG9va3VwcyA9IFtdO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBleGlzdGluZ1Byb2ouQXBwbGljYXRpb25Mb29rdXBzLnB1c2gocmVxLkFwcGxpY2F0aW9uTG9va3VwKTtcclxuXHJcbiAgICAgIHNhdmVFYUMuUHJvamVjdHNbcmVxLlByb2plY3RMb29rdXBdID0gZXhpc3RpbmdQcm9qO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChyZXEuQXBwbGljYXRpb24pIHtcclxuICAgICAgc2F2ZUVhQy5BcHBsaWNhdGlvbnNbcmVxLkFwcGxpY2F0aW9uTG9va3VwXSA9IHJlcS5BcHBsaWNhdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLlNhdmVFbnRlcnByaXNlQXNDb2RlKHRoaXMuU3RhdGUsIHNhdmVFYUMpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVNhdmVERlNNb2RpZmllcihcclxuICAgIHJlcTogU2F2ZURGU01vZGlmaWVyRXZlbnRSZXF1ZXN0XHJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCBzYXZlRWFDOiBFbnRlcnByaXNlQXNDb2RlID0ge1xyXG4gICAgICBFbnRlcnByaXNlTG9va3VwOiB0aGlzLlN0YXRlLkVhQy5FbnRlcnByaXNlTG9va3VwLFxyXG4gICAgICBNb2RpZmllcnM6IHt9LFxyXG4gICAgICBQcm9qZWN0czoge30sXHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChyZXEuTW9kaWZpZXIpIHtcclxuICAgICAgc2F2ZUVhQy5Nb2RpZmllcnNbcmVxLk1vZGlmaWVyTG9va3VwXSA9IHJlcS5Nb2RpZmllcjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocmVxLlByb2plY3RMb29rdXApIHtcclxuICAgICAgc2F2ZUVhQy5Qcm9qZWN0c1tyZXEuUHJvamVjdExvb2t1cF0gPSB7XHJcbiAgICAgICAgTW9kaWZpZXJMb29rdXBzOiBbcmVxLk1vZGlmaWVyTG9va3VwXSxcclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLlNhdmVFbnRlcnByaXNlQXNDb2RlKHRoaXMuU3RhdGUsIHNhdmVFYUMpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVNhdmVFbnZpcm9ubWVudChcclxuICAgIHJlcTogU2F2ZUVudmlyb25tZW50QXNDb2RlRXZlbnRSZXF1ZXN0XHJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCBzYXZlRWFDOiBFbnRlcnByaXNlQXNDb2RlID0ge1xyXG4gICAgICBFbnRlcnByaXNlTG9va3VwOiB0aGlzLlN0YXRlLkVhQy5FbnRlcnByaXNlTG9va3VwLFxyXG4gICAgICBEYXRhVG9rZW5zOiB7fSxcclxuICAgICAgRW52aXJvbm1lbnRzOiB7fSxcclxuICAgIH07XHJcblxyXG4gICAgaWYgKHJlcS5FbnZpcm9ubWVudCkge1xyXG4gICAgICBzYXZlRWFDLkVudmlyb25tZW50c1tyZXEuRW52aXJvbm1lbnRMb29rdXBdID0gcmVxLkVudmlyb25tZW50O1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChyZXEuRW50ZXJwcmlzZURhdGFUb2tlbnMpIHtcclxuICAgICAgc2F2ZUVhQy5EYXRhVG9rZW5zID0gcmVxLkVudGVycHJpc2VEYXRhVG9rZW5zO1xyXG4gICAgfVxyXG5cclxuICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuU2F2ZUVudGVycHJpc2VBc0NvZGUodGhpcy5TdGF0ZSwgc2F2ZUVhQyk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlU2F2ZVByb2plY3QoXHJcbiAgICBwcm9qZWN0TG9va3VwOiBzdHJpbmcsXHJcbiAgICBwcm9qZWN0OiBFYUNQcm9qZWN0QXNDb2RlXHJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCBwcm9qSG9zdHM6IHsgW2xvb2t1cDogc3RyaW5nXTogRWFDSG9zdCB9ID0ge307XHJcblxyXG4gICAgcHJvamVjdD8uSG9zdHM/LmZvckVhY2goaG9zdCA9PiB7XHJcbiAgICAgIHByb2pIb3N0c1tob3N0XSA9IHRoaXMuU3RhdGUuRWFDLkhvc3RzW2hvc3RdO1xyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3Qgc2F2ZUVhQzogRW50ZXJwcmlzZUFzQ29kZSA9IHtcclxuICAgICAgRW50ZXJwcmlzZUxvb2t1cDogdGhpcy5TdGF0ZS5FYUMuRW50ZXJwcmlzZUxvb2t1cCxcclxuICAgICAgRW50ZXJwcmlzZToge1xyXG4gICAgICAgIC4uLnRoaXMuU3RhdGUuRWFDLkVudGVycHJpc2UsXHJcbiAgICAgICAgUHJpbWFyeUhvc3Q6IHByb2plY3QuSG9zdHNbMF1cclxuICAgICAgfSxcclxuICAgICAgSG9zdHM6IHByb2pIb3N0cyxcclxuICAgICAgLy8gUHJvdmlkZXJzOiB0aGlzLlN0YXRlLkVhQy5Qcm92aWRlcnMsICAvLyAgVE9ETzogIFJlbW92ZSBhZnRlciBhbGwgcHJvdmlkZXJzIEFEQjJDJ3MgaGF2ZSBiZWVuIHVwZ3JhZGVkXHJcbiAgICAgIFByb2plY3RzOiB7fSxcclxuICAgIH07XHJcblxyXG4gICAgc2F2ZUVhQy5Qcm9qZWN0c1twcm9qZWN0TG9va3VwXSA9IHByb2plY3Q7XHJcblxyXG4gICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5TYXZlRW50ZXJwcmlzZUFzQ29kZSh0aGlzLlN0YXRlLCBzYXZlRWFDKTtcclxuXHJcbiAgICB0aGlzLmFwcHNGbG93RXZlbnRzU3ZjLlNldEVkaXRQcm9qZWN0U2V0dGluZ3MocHJvamVjdExvb2t1cCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgc2V0U2VydmljZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFwcHNGbG93RXZlbnRzU3ZjLkRlbGV0ZUFwcGxpY2F0aW9uRXZlbnQuc3Vic2NyaWJlKFxyXG4gICAgICBhc3luYyAoYXBwTG9va3VwKSA9PiB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5EZWxldGVBcHBsaWNhdGlvbih0aGlzLlN0YXRlLCBhcHBMb29rdXApO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuYXBwc0Zsb3dFdmVudHNTdmMuRGVsZXRlRGV2T3BzQWN0aW9uRXZlbnQuc3Vic2NyaWJlKFxyXG4gICAgICBhc3luYyAoZG9hTG9va3VwKSA9PiB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5EZWxldGVEZXZPcHNBY3Rpb24odGhpcy5TdGF0ZSwgZG9hTG9va3VwKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLmFwcHNGbG93RXZlbnRzU3ZjLkRlbGV0ZVByb2plY3RFdmVudC5zdWJzY3JpYmUoXHJcbiAgICAgIGFzeW5jIChwcm9qZWN0TG9va3VwKSA9PiB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5EZWxldGVQcm9qZWN0KHRoaXMuU3RhdGUsIHByb2plY3RMb29rdXApO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuYXBwc0Zsb3dFdmVudHNTdmMuRGVsZXRlU291cmNlQ29udHJvbEV2ZW50LnN1YnNjcmliZShcclxuICAgICAgYXN5bmMgKHNjTG9va3VwKSA9PiB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5EZWxldGVTb3VyY2VDb250cm9sKHRoaXMuU3RhdGUsIHNjTG9va3VwKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLmFwcHNGbG93RXZlbnRzU3ZjLkVuc3VyZVVzZXJFbnRlcnByaXNlRXZlbnQuc3Vic2NyaWJlKGFzeW5jICgpID0+IHtcclxuICAgICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5FbnN1cmVVc2VyRW50ZXJwcmlzZSh0aGlzLlN0YXRlKTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIHRoaXMuYXBwc0Zsb3dFdmVudHNTdmMuTGlzdFByb2plY3RzRXZlbnQuc3Vic2NyaWJlKCh3aXRoTG9hZGluZykgPT4ge1xyXG4gICAgLy8gICB0aGlzLnByb2plY3RTZXJ2aWNlLkxpc3RQcm9qZWN0cyh0aGlzLlN0YXRlLCB3aXRoTG9hZGluZyk7XHJcbiAgICAvLyB9KTtcclxuXHJcbiAgICB0aGlzLmFwcHNGbG93RXZlbnRzU3ZjLkxvYWRFbnRlcnByaXNlQXNDb2RlRXZlbnQuc3Vic2NyaWJlKGFzeW5jICgpID0+IHtcclxuICAgICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5Mb2FkRW50ZXJwcmlzZUFzQ29kZSh0aGlzLlN0YXRlKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuYXBwc0Zsb3dFdmVudHNTdmMuU2F2ZUVudGVycHJpc2VBc0NvZGVFdmVudC5zdWJzY3JpYmUoYXN5bmMgKGVhYykgPT4ge1xyXG4gICAgICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLlNhdmVFbnRlcnByaXNlQXNDb2RlKHRoaXMuU3RhdGUsIGVhYyk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmFwcHNGbG93RXZlbnRzU3ZjLlNhdmVBcHBsaWNhdGlvbkFzQ29kZUV2ZW50LnN1YnNjcmliZShhc3luYyAocmVxKSA9PiB7XHJcbiAgICAgIGF3YWl0IHRoaXMuaGFuZGxlU2F2ZUFwcGxpY2F0aW9uKHJlcSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmFwcHNGbG93RXZlbnRzU3ZjLlNhdmVERlNNb2RpZmllckV2ZW50LnN1YnNjcmliZShhc3luYyAocmVxKSA9PiB7XHJcbiAgICAgIGF3YWl0IHRoaXMuaGFuZGxlU2F2ZURGU01vZGlmaWVyKHJlcSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmFwcHNGbG93RXZlbnRzU3ZjLlNhdmVFbnZpcm9ubWVudEFzQ29kZUV2ZW50LnN1YnNjcmliZShhc3luYyAocmVxKSA9PiB7XHJcbiAgICAgIGF3YWl0IHRoaXMuaGFuZGxlU2F2ZUVudmlyb25tZW50KHJlcSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmFwcHNGbG93RXZlbnRzU3ZjLlNhdmVQcm9qZWN0QXNDb2RlRXZlbnQuc3Vic2NyaWJlKGFzeW5jIChyZXEpID0+IHtcclxuICAgICAgYXdhaXQgdGhpcy5oYW5kbGVTYXZlUHJvamVjdChyZXEuUHJvamVjdExvb2t1cCwgcmVxLlByb2plY3QpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5hcHBzRmxvd0V2ZW50c1N2Yy5TZXRDcmVhdGluZ1Byb2plY3RFdmVudC5zdWJzY3JpYmUoXHJcbiAgICAgIChjcmVhdGluZ1Byb2plY3QpID0+IHtcclxuICAgICAgICB0aGlzLnByb2plY3RTZXJ2aWNlLlNldENyZWF0aW5nUHJvamVjdChjcmVhdGluZ1Byb2plY3QpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuYXBwc0Zsb3dFdmVudHNTdmMuU2V0RWRpdFByb2plY3RTZXR0aW5nc0V2ZW50LnN1YnNjcmliZShcclxuICAgICAgYXN5bmMgKHByb2plY3RMb29rdXApID0+IHtcclxuICAgICAgICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLlNldEVkaXRQcm9qZWN0U2V0dGluZ3MoXHJcbiAgICAgICAgICB0aGlzLlN0YXRlLFxyXG4gICAgICAgICAgcHJvamVjdExvb2t1cFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5hcHBzRmxvd0V2ZW50c1N2Yy5VbnBhY2tMb3dDb2RlVW5pdEV2ZW50LnN1YnNjcmliZShhc3luYyAocmVxKSA9PiB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBjb25maXJtKFxyXG4gICAgICAgICAgYEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB1bnBhY2sgYXBwbGljYXRpb24gJyR7XHJcbiAgICAgICAgICAgIHJlcS5BcHBsaWNhdGlvbk5hbWVcclxuICAgICAgICAgIH0nIHdpdGggdmVyc2lvbiAnJHtyZXEuVmVyc2lvbn0nP2BcclxuICAgICAgICApXHJcbiAgICAgICkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuVW5wYWNrTG93Q29kZVVuaXQodGhpcy5TdGF0ZSwgcmVxKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL2FwcGxpY2F0aW9ucy1mbG93L2FwcGxpY2F0aW9ucy1mbG93L3Byb2plY3RzL2NvbW1vbi9zcmMvIiwic291cmNlcyI6WyJsaWIvZWxlbWVudHMvcHJvamVjdHMvcHJvamVjdHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFFBQVEsR0FHVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLG1CQUFtQixHQUVwQixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFPaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBSXhELE1BQU0sT0FBTyxvQ0FBb0M7Q0FBRztBQUVwRCxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsaUJBQXVEO0NBQUc7QUFFL0csTUFBTSxDQUFDLE1BQU0sMkNBQTJDLEdBQ3RELG9DQUFvQyxDQUFDO0FBT3ZDLE1BQU0sT0FBTyx3Q0FDWCxTQUFRLG1CQUFvRDtJQXdDNUQsZ0JBQWdCO0lBQ2hCLFlBQ1ksUUFBa0IsRUFDbEIsV0FBb0MsRUFDcEMsY0FBOEIsRUFDOUIsTUFBa0I7UUFFNUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBTE4sYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDcEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLFdBQU0sR0FBTixNQUFNLENBQVk7SUFHOUIsQ0FBQztJQTFDRCxjQUFjO0lBQ2QsSUFBVyxpQkFBaUI7O1FBQzFCLG1CQUFPLElBQUksQ0FBQyxLQUFLLDBDQUFFLEdBQUcsMENBQUUsWUFBWSxDQUFD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QUFDLENBQUM7YUFDM0Q7O0tBQ0Y7OztZQW5HRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJDQUEyQztnQkFDckQsNnpHQUF3Qzs7YUFFekM7OztZQWxDQyxRQUFRO1lBV0QsdUJBQXVCO1lBQ3ZCLGNBQWM7WUFPZCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIEluamVjdG9yLFxyXG4gIFxyXG4gIE9uRGVzdHJveSxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHtcclxuICBMQ1VFbGVtZW50Q29udGV4dCxcclxuICBMY3VFbGVtZW50Q29tcG9uZW50LFxyXG4gIEJhc2VSZXNwb25zZSxcclxufSBmcm9tICdAbGN1L2NvbW1vbic7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSB9IGZyb20gJy4vLi4vLi4vc3RhdGUvYXBwbGljYXRpb25zLWZsb3cuc3RhdGUnO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvbnNGbG93U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FwcGxpY2F0aW9ucy1mbG93LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9qZWN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2plY3Quc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgRWFDRW52aXJvbm1lbnRBc0NvZGUsXHJcbiAgRWFDSG9zdCxcclxuICBFYUNQcm9qZWN0QXNDb2RlLFxyXG4gIEVudGVycHJpc2VBc0NvZGUsXHJcbn0gZnJvbSAnQHNlbWFudGljanMvY29tbW9uJztcclxuaW1wb3J0IHsgRWFDU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VhYy5zZXJ2aWNlJztcclxuXHJcbmRlY2xhcmUgdmFyIHdpbmRvdzogV2luZG93O1xyXG5cclxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uc0Zsb3dQcm9qZWN0c0VsZW1lbnRTdGF0ZSB7fVxyXG5cclxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uc0Zsb3dQcm9qZWN0c0NvbnRleHQgZXh0ZW5kcyBMQ1VFbGVtZW50Q29udGV4dDxBcHBsaWNhdGlvbnNGbG93UHJvamVjdHNFbGVtZW50U3RhdGU+IHt9XHJcblxyXG5leHBvcnQgY29uc3QgU0VMRUNUT1JfQVBQTElDQVRJT05TX0ZMT1dfUFJPSkVDVFNfRUxFTUVOVCA9XHJcbiAgJ2FwcGxpY2F0aW9ucy1mbG93LXByb2plY3RzLWVsZW1lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFNFTEVDVE9SX0FQUExJQ0FUSU9OU19GTE9XX1BST0pFQ1RTX0VMRU1FTlQsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2plY3RzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wcm9qZWN0cy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25zRmxvd1Byb2plY3RzRWxlbWVudENvbXBvbmVudFxyXG4gIGV4dGVuZHMgTGN1RWxlbWVudENvbXBvbmVudDxBcHBsaWNhdGlvbnNGbG93UHJvamVjdHNDb250ZXh0PlxyXG4gIGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXRcclxue1xyXG4gIC8vICBGaWVsZHNcclxuICBwcm90ZWN0ZWQgcHJvak1vbjogTm9kZUpTLlRpbWVvdXQ7XHJcblxyXG4gIC8vICBQcm9wZXJ0aWVzXHJcbiAgcHVibGljIGdldCBBY3RpdmVFbnZpcm9ubWVudCgpOiBFYUNFbnZpcm9ubWVudEFzQ29kZSB7XHJcbiAgICByZXR1cm4gdGhpcy5TdGF0ZT8uRWFDPy5FbnZpcm9ubWVudHNbdGhpcy5BY3RpdmVFbnZpcm9ubWVudExvb2t1cF07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IEFjdGl2ZUVudmlyb25tZW50TG9va3VwKCk6IHN0cmluZyB7XHJcbiAgICAvLyAgVE9ETzogIEV2ZW50dWFsbHkgc3VwcG9ydCBtdWx0aXBsZSBlbnZpcm9ubWVudHNcclxuICAgIGNvbnN0IGVudkxvb2t1cHMgPSBPYmplY3Qua2V5cyh0aGlzLlN0YXRlPy5FYUM/LkVudmlyb25tZW50cyB8fCB7fSk7XHJcblxyXG4gICAgcmV0dXJuIGVudkxvb2t1cHNbMF07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IENyZWF0aW5nUHJvamVjdCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnByb2plY3RTZXJ2aWNlLkNyZWF0aW5nUHJvamVjdDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgRWRpdGluZ1Byb2plY3QoKTogRWFDUHJvamVjdEFzQ29kZSB7XHJcbiAgICByZXR1cm4gdGhpcy5TdGF0ZT8uRWFDPy5Qcm9qZWN0c1xyXG4gICAgICA/IHRoaXMuU3RhdGU/LkVhQz8uUHJvamVjdHNbdGhpcy5FZGl0aW5nUHJvamVjdExvb2t1cF1cclxuICAgICAgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBFZGl0aW5nUHJvamVjdExvb2t1cCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMucHJvamVjdFNlcnZpY2UuRWRpdGluZ1Byb2plY3RMb29rdXA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IFByb2plY3RMb29rdXBzKCk6IEFycmF5PHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuU3RhdGU/LkVhQz8uUHJvamVjdHMgfHwge30pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBTdGF0ZSgpOiBBcHBsaWNhdGlvbnNGbG93U3RhdGUge1xyXG4gICAgcmV0dXJuIHRoaXMuZWFjU3ZjLlN0YXRlO1xyXG4gIH1cclxuXHJcbiAgLy8gIENvbnN0cnVjdG9yc1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByb3RlY3RlZCBhcHBzRmxvd1N2YzogQXBwbGljYXRpb25zRmxvd1NlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgcHJvamVjdFNlcnZpY2U6IFByb2plY3RTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGVhY1N2YzogRWFDU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoaW5qZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgLy8gIExpZmUgQ3ljbGVcclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7fVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG5cclxuICAgIHRoaXMuaGFuZGxlU3RhdGVDaGFuZ2UoKS50aGVuKChlYWMpID0+IHt9KTtcclxuXHJcbiAgICAvLyB0aGlzLnNldHVwUHJvamVjdE1vbml0b3IoKTtcclxuICB9XHJcblxyXG4gIC8vICBBUEkgTWV0aG9kc1xyXG4gIHB1YmxpYyBhc3luYyBBY3RpdmVFbnRlcnByaXNlQ2hhbmdlZChldmVudDogTWF0U2VsZWN0Q2hhbmdlKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLlNldEFjdGl2ZUVudGVycHJpc2UodGhpcy5TdGF0ZSwgZXZlbnQudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIENvbmZpZ3VyZURldk9wc0FjdGlvbihkZXZPcHNBY3Rpb25Mb29rdXA6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5TdGF0ZS5Mb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLmFwcHNGbG93U3ZjXHJcbiAgICAgIC5Db25maWd1cmVEZXZPcHNBY3Rpb24oZGV2T3BzQWN0aW9uTG9va3VwKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogQmFzZVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlLlN0YXR1cy5Db2RlID09PSAwKSB7XHJcbiAgICAgICAgICB0aGlzLnByb2plY3RTZXJ2aWNlLkxvYWRFbnRlcnByaXNlQXNDb2RlKHRoaXMuU3RhdGUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLlN0YXRlLkxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gIEhlbHBlcnNcclxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlU3RhdGVDaGFuZ2UoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLlN0YXRlLkxvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuSGFzVmFsaWRDb25uZWN0aW9uKHRoaXMuU3RhdGUpO1xyXG5cclxuICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuRW5zdXJlVXNlckVudGVycHJpc2UodGhpcy5TdGF0ZSk7XHJcblxyXG4gICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5MaXN0RW50ZXJwcmlzZXModGhpcy5TdGF0ZSk7XHJcblxyXG4gICAgaWYgKHRoaXMuU3RhdGUuRW50ZXJwcmlzZXM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5HZXRBY3RpdmVFbnRlcnByaXNlKHRoaXMuU3RhdGUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,193 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { ApplicationsFlowEventsService, } from './applications-flow-events.service';
4
+ import { ProjectService } from './project.service';
5
+ import { ApplicationsFlowState, } from '../state/applications-flow.state';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "./applications-flow-events.service";
8
+ import * as i2 from "./project.service";
9
+ export class EaCService {
10
+ // Constructors
11
+ constructor(appsFlowEventsSvc, projectService) {
12
+ this.appsFlowEventsSvc = appsFlowEventsSvc;
13
+ this.projectService = projectService;
14
+ this.State = new ApplicationsFlowState();
15
+ this.setServices();
16
+ }
17
+ // API Methods
18
+ DeleteApplication(appLookup, appName) {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ if (confirm(`Are you sure you want to delete application '${appName}'?`)) {
21
+ yield this.projectService.DeleteApplication(this.State, appLookup);
22
+ }
23
+ });
24
+ }
25
+ DeleteDevOpsAction(doaLookup) {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ if (confirm(`Are you sure you want to delete DevOps action '${doaLookup}'?`)) {
28
+ yield this.projectService.DeleteDevOpsAction(this.State, doaLookup);
29
+ }
30
+ });
31
+ }
32
+ DeleteProject(projectLookup) {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ if (confirm(`Are you sure you want to delete Project '${projectLookup}'?`)) {
35
+ yield this.projectService.DeleteProject(this.State, projectLookup);
36
+ }
37
+ });
38
+ }
39
+ DeleteSourceControl(scLookup) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ if (confirm(`Are you sure you want to delete Source Control '${scLookup}'?`)) {
42
+ yield this.projectService.DeleteSourceControl(this.State, scLookup);
43
+ }
44
+ });
45
+ }
46
+ // this.appsFlowEventsSvc.EnsureUserEnterpriseEvent.subscribe(async () => {
47
+ // await this.projectService.EnsureUserEnterprise(this.State);
48
+ // });
49
+ EnsureUserEnterprise(appLookup, appName) {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ yield this.projectService.EnsureUserEnterprise(this.State);
52
+ });
53
+ }
54
+ LoadEnterpriseAsCode() {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ yield this.projectService.LoadEnterpriseAsCode(this.State);
57
+ });
58
+ }
59
+ SaveApplicationAsCode(req) {
60
+ return __awaiter(this, void 0, void 0, function* () {
61
+ yield this.handleSaveApplication(req);
62
+ });
63
+ }
64
+ SaveDFSModifierEvent(req) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ yield this.handleSaveDFSModifier(req);
67
+ });
68
+ }
69
+ SaveEnterpriseAsCode(eac) {
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ yield this.projectService.SaveEnterpriseAsCode(this.State, eac);
72
+ });
73
+ }
74
+ SaveEnvironmentAsCode(req) {
75
+ return __awaiter(this, void 0, void 0, function* () {
76
+ yield this.handleSaveEnvironment(req);
77
+ });
78
+ }
79
+ SaveProjectAsCode(req) {
80
+ return __awaiter(this, void 0, void 0, function* () {
81
+ yield this.handleSaveProject(req.ProjectLookup, req.Project);
82
+ });
83
+ }
84
+ SetCreatingProject(creatingProject) {
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ this.projectService.SetCreatingProject(creatingProject);
87
+ });
88
+ }
89
+ SetEditProjectSettings(projectLookup) {
90
+ return __awaiter(this, void 0, void 0, function* () {
91
+ yield this.projectService.SetEditProjectSettings(this.State, projectLookup);
92
+ });
93
+ }
94
+ UnpackLowCodeUnit(req) {
95
+ return __awaiter(this, void 0, void 0, function* () {
96
+ if (confirm(`Are you sure you want to unpack application '${req.ApplicationName}' with version '${req.Version}'?`)) {
97
+ yield this.projectService.UnpackLowCodeUnit(this.State, req);
98
+ }
99
+ });
100
+ }
101
+ setServices() {
102
+ // this.appsFlowEventsSvc.ListProjectsEvent.subscribe((withLoading) => {
103
+ // this.projectService.ListProjects(this.State, withLoading);
104
+ // });
105
+ }
106
+ // Helpers
107
+ handleSaveApplication(req) {
108
+ var _a;
109
+ return __awaiter(this, void 0, void 0, function* () {
110
+ const saveEaC = {
111
+ EnterpriseLookup: this.State.EaC.EnterpriseLookup,
112
+ Applications: {},
113
+ Projects: {},
114
+ };
115
+ const existingProj = Object.assign({}, this.State.EaC.Projects[req.ProjectLookup]);
116
+ if (((_a = existingProj.ApplicationLookups) === null || _a === void 0 ? void 0 : _a.indexOf(req.ApplicationLookup)) < 0) {
117
+ if (!existingProj.ApplicationLookups) {
118
+ existingProj.ApplicationLookups = [];
119
+ }
120
+ existingProj.ApplicationLookups.push(req.ApplicationLookup);
121
+ saveEaC.Projects[req.ProjectLookup] = existingProj;
122
+ }
123
+ if (req.Application) {
124
+ saveEaC.Applications[req.ApplicationLookup] = req.Application;
125
+ }
126
+ yield this.projectService.SaveEnterpriseAsCode(this.State, saveEaC);
127
+ });
128
+ }
129
+ handleSaveDFSModifier(req) {
130
+ return __awaiter(this, void 0, void 0, function* () {
131
+ const saveEaC = {
132
+ EnterpriseLookup: this.State.EaC.EnterpriseLookup,
133
+ Modifiers: {},
134
+ Projects: {},
135
+ };
136
+ if (req.Modifier) {
137
+ saveEaC.Modifiers[req.ModifierLookup] = req.Modifier;
138
+ }
139
+ if (req.ProjectLookup) {
140
+ saveEaC.Projects[req.ProjectLookup] = {
141
+ ModifierLookups: [req.ModifierLookup],
142
+ };
143
+ }
144
+ yield this.projectService.SaveEnterpriseAsCode(this.State, saveEaC);
145
+ });
146
+ }
147
+ handleSaveEnvironment(req) {
148
+ return __awaiter(this, void 0, void 0, function* () {
149
+ const saveEaC = {
150
+ EnterpriseLookup: this.State.EaC.EnterpriseLookup,
151
+ DataTokens: {},
152
+ Environments: {},
153
+ };
154
+ if (req.Environment) {
155
+ saveEaC.Environments[req.EnvironmentLookup] = req.Environment;
156
+ }
157
+ if (req.EnterpriseDataTokens) {
158
+ saveEaC.DataTokens = req.EnterpriseDataTokens;
159
+ }
160
+ yield this.projectService.SaveEnterpriseAsCode(this.State, saveEaC);
161
+ });
162
+ }
163
+ handleSaveProject(projectLookup, project) {
164
+ var _a;
165
+ return __awaiter(this, void 0, void 0, function* () {
166
+ const projHosts = {};
167
+ (_a = project === null || project === void 0 ? void 0 : project.Hosts) === null || _a === void 0 ? void 0 : _a.forEach((host) => {
168
+ projHosts[host] = this.State.EaC.Hosts[host];
169
+ });
170
+ const saveEaC = {
171
+ EnterpriseLookup: this.State.EaC.EnterpriseLookup,
172
+ Enterprise: Object.assign(Object.assign({}, this.State.EaC.Enterprise), { PrimaryHost: project.Hosts[0] }),
173
+ Hosts: projHosts,
174
+ // Providers: this.State.EaC.Providers, // TODO: Remove after all providers ADB2C's have been upgraded
175
+ Projects: {},
176
+ };
177
+ saveEaC.Projects[projectLookup] = project;
178
+ yield this.projectService.SaveEnterpriseAsCode(this.State, saveEaC);
179
+ this.appsFlowEventsSvc.SetEditProjectSettings(projectLookup);
180
+ });
181
+ }
182
+ }
183
+ EaCService.ɵprov = i0.ɵɵdefineInjectable({ factory: function EaCService_Factory() { return new EaCService(i0.ɵɵinject(i1.ApplicationsFlowEventsService), i0.ɵɵinject(i2.ProjectService)); }, token: EaCService, providedIn: "root" });
184
+ EaCService.decorators = [
185
+ { type: Injectable, args: [{
186
+ providedIn: 'root',
187
+ },] }
188
+ ];
189
+ EaCService.ctorParameters = () => [
190
+ { type: ApplicationsFlowEventsService },
191
+ { type: ProjectService }
192
+ ];
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFjLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvYXBwbGljYXRpb25zLWZsb3cvYXBwbGljYXRpb25zLWZsb3cvcHJvamVjdHMvY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9lYWMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQ0wsNkJBQTZCLEdBSzlCLE1BQU0sb0NBQW9DLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFDTCxxQkFBcUIsR0FFdEIsTUFBTSxrQ0FBa0MsQ0FBQzs7OztBQVUxQyxNQUFNLE9BQU8sVUFBVTtJQUlyQixnQkFBZ0I7SUFDaEIsWUFDWSxpQkFBZ0QsRUFDaEQsY0FBOEI7UUFEOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUErQjtRQUNoRCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFFeEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFFekMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxlQUFlO0lBQ0YsaUJBQWlCLENBQzVCLFNBQWlCLEVBQ2pCLE9BQWU7O1lBRWYsSUFBSSxPQUFPLENBQUMsZ0RBQWdELE9BQU8sSUFBSSxDQUFDLEVBQUU7Z0JBQ3hFLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2FBQ3BFO1FBQ0gsQ0FBQztLQUFBO0lBRVksa0JBQWtCLENBQUMsU0FBaUI7O1lBQy9DLElBQUksT0FBTyxDQUFDLGtEQUFrRCxTQUFTLElBQUksQ0FBQyxFQUFFO2dCQUU1RSxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsSUFBSSxD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Z0IsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0I7Z0JBQ2pELFVBQVUsa0NBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBVSxLQUM1QixXQUFXLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FDOUI7Z0JBQ0QsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLHlHQUF5RztnQkFDekcsUUFBUSxFQUFFLEVBQUU7YUFDYixDQUFDO1lBRUYsT0FBTyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxPQUFPLENBQUM7WUFFMUMsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFFcEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxDQUFDOztLQUM5RDs7OztZQXJORixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQW5CQyw2QkFBNkI7WUFNdEIsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25zRmxvd0V2ZW50c1NlcnZpY2UsXG4gIFNhdmVBcHBsaWNhdGlvbkFzQ29kZUV2ZW50UmVxdWVzdCxcbiAgU2F2ZURGU01vZGlmaWVyRXZlbnRSZXF1ZXN0LFxuICBTYXZlRW52aXJvbm1lbnRBc0NvZGVFdmVudFJlcXVlc3QsXG4gIFNhdmVQcm9qZWN0QXNDb2RlRXZlbnRSZXF1ZXN0LFxufSBmcm9tICcuL2FwcGxpY2F0aW9ucy1mbG93LWV2ZW50cy5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2plY3RTZXJ2aWNlIH0gZnJvbSAnLi9wcm9qZWN0LnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25zRmxvd1N0YXRlLFxuICBVbnBhY2tMb3dDb2RlVW5pdFJlcXVlc3QsXG59IGZyb20gJy4uL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LnN0YXRlJztcbmltcG9ydCB7XG4gIEVhQ0hvc3QsXG4gIEVhQ1Byb2plY3RBc0NvZGUsXG4gIEVudGVycHJpc2VBc0NvZGUsXG59IGZyb20gJ0BzZW1hbnRpY2pzL2NvbW1vbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFYUNTZXJ2aWNlIHtcbiAgLy8gIFByb3BlcnRpZXNcbiAgcHVibGljIFN0YXRlOiBBcHBsaWNhdGlvbnNGbG93U3RhdGU7XG5cbiAgLy8gIENvbnN0cnVjdG9yc1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgYXBwc0Zsb3dFdmVudHNTdmM6IEFwcGxpY2F0aW9uc0Zsb3dFdmVudHNTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBwcm9qZWN0U2VydmljZTogUHJvamVjdFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5TdGF0ZSA9IG5ldyBBcHBsaWNhdGlvbnNGbG93U3RhdGUoKTtcblxuICAgIHRoaXMuc2V0U2VydmljZXMoKTtcbiAgfVxuXG4gIC8vICBBUEkgTWV0aG9kc1xuICBwdWJsaWMgYXN5bmMgRGVsZXRlQXBwbGljYXRpb24oXG4gICAgYXBwTG9va3VwOiBzdHJpbmcsXG4gICAgYXBwTmFtZTogc3RyaW5nXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChjb25maXJtKGBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIGFwcGxpY2F0aW9uICcke2FwcE5hbWV9Jz9gKSkge1xuICAgICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5EZWxldGVBcHBsaWNhdGlvbih0aGlzLlN0YXRlLCBhcHBMb29rdXApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBEZWxldGVEZXZPcHNBY3Rpb24oZG9hTG9va3VwOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoY29uZmlybShgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBEZXZPcHMgYWN0aW9uICcke2RvYUxvb2t1cH0nP2ApKSB7XG5cbiAgICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuRGVsZXRlRGV2T3BzQWN0aW9uKHRoaXMuU3RhdGUsIGRvYUxvb2t1cCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIERlbGV0ZVByb2plY3QocHJvamVjdExvb2t1cDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGNvbmZpcm0oYEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgUHJvamVjdCAnJHtwcm9qZWN0TG9va3VwfSc/YCkpIHtcblxuICAgICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5EZWxldGVQcm9qZWN0KHRoaXMuU3RhdGUsIHByb2plY3RMb29rdXApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBEZWxldGVTb3VyY2VDb250cm9sKHNjTG9va3VwOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoY29uZmlybShgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBTb3VyY2UgQ29udHJvbCAnJHtzY0xvb2t1cH0nP2ApKSB7XG5cbiAgICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuRGVsZXRlU291cmNlQ29udHJvbCh0aGlzLlN0YXRlLCBzY0xvb2t1cCk7XG4gICAgfVxuICB9XG5cbiAgLy8gdGhpcy5hcHBzRmxvd0V2ZW50c1N2Yy5FbnN1cmVVc2VyRW50ZXJwcmlzZUV2ZW50LnN1YnNjcmliZShhc3luYyAoKSA9PiB7XG4gIC8vICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5FbnN1cmVVc2VyRW50ZXJwcmlzZSh0aGlzLlN0YXRlKTtcbiAgLy8gfSk7XG4gIFxuXG4gIHB1YmxpYyBhc3luYyBFbnN1cmVVc2VyRW50ZXJwcmlzZShcbiAgICBhcHBMb29rdXA6IHN0cmluZyxcbiAgICBhcHBOYW1lOiBzdHJpbmdcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5FbnN1cmVVc2VyRW50ZXJwcmlzZSh0aGlzLlN0YXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBMb2FkRW50ZXJwcmlzZUFzQ29kZSgpOiBQcm9taXNlPHZvaWQ+e1xuICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuTG9hZEVudGVycHJpc2VBc0NvZGUodGhpcy5TdGF0ZSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgU2F2ZUFwcGxpY2F0aW9uQXNDb2RlKFxuICAgIHJlcTogU2F2ZUFwcGxpY2F0aW9uQXNDb2RlRXZlbnRSZXF1ZXN0XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuaGFuZGxlU2F2ZUFwcGxpY2F0aW9uKHJlcSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgU2F2ZURGU01vZGlmaWVyRXZlbnQocmVxOiBTYXZlREZTTW9kaWZpZXJFdmVudFJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmhhbmRsZVNhdmVERlNNb2RpZmllcihyZXEpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIFNhdmVFbnRlcnByaXNlQXNDb2RlKGVhYzogRW50ZXJwcmlzZUFzQ29kZSk6IFByb21pc2U8dm9pZD4gIHtcbiAgICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLlNhdmVFbnRlcnByaXNlQXNDb2RlKHRoaXMuU3RhdGUsIGVhYyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgU2F2ZUVudmlyb25tZW50QXNDb2RlKHJlcTogU2F2ZUVudmlyb25tZW50QXNDb2RlRXZlbnRSZXF1ZXN0KTogUHJvbWlzZTx2b2lkPntcbiAgICBhd2FpdCB0aGlzLmhhbmRsZVNhdmVFbnZpcm9ubWVudChyZXEpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jICBTYXZlUHJvamVjdEFzQ29kZShyZXE6IFNhdmVQcm9qZWN0QXNDb2RlRXZlbnRSZXF1ZXN0KTogUHJvbWlzZTx2b2lkPntcbiAgICBhd2FpdCB0aGlzLmhhbmRsZVNhdmVQcm9qZWN0KHJlcS5Qcm9qZWN0TG9va3VwLCByZXEuUHJvamVjdCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgU2V0Q3JlYXRpbmdQcm9qZWN0KGNyZWF0aW5nUHJvamVjdDogYm9vbGVhbik6IFByb21pc2U8dm9pZD57XG4gICAgICB0aGlzLnByb2plY3RTZXJ2aWNlLlNldENyZWF0aW5nUHJvamVjdChjcmVhdGluZ1Byb2plY3QpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIFNldEVkaXRQcm9qZWN0U2V0dGluZ3MocHJvamVjdExvb2t1cDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPntcbiAgICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuU2V0RWRpdFByb2plY3RTZXR0aW5ncyhcbiAgICAgICAgdGhpcy5TdGF0ZSxcbiAgICAgICAgcHJvamVjdExvb2t1cFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBVbnBhY2tMb3dDb2RlVW5pdChyZXE6IFVucGFja0xvd0NvZGVVbml0UmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChcbiAgICAgIGNvbmZpcm0oXG4gICAgICAgIGBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdW5wYWNrIGFwcGxpY2F0aW9uICcke3JlcS5BcHBsaWNhdGlvbk5hbWV9JyB3aXRoIHZlcnNpb24gJyR7cmVxLlZlcnNpb259Jz9gXG4gICAgICApXG4gICAgKSB7XG4gICAgICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLlVucGFja0xvd0NvZGVVbml0KHRoaXMuU3RhdGUsIHJlcSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNldFNlcnZpY2VzKCk6IHZvaWQge1xuICAgIFxuICAgIC8vIHRoaXMuYXBwc0Zsb3dFdmVudHNTdmMuTGlzdFByb2plY3RzRXZlbnQuc3Vic2NyaWJlKCh3aXRoTG9hZGluZykgPT4ge1xuICAgIC8vICAgdGhpcy5wcm9qZWN0U2VydmljZS5MaXN0UHJvamVjdHModGhpcy5TdGF0ZSwgd2l0aExvYWRpbmcpO1xuICAgIC8vIH0pO1xuICB9XG5cbiAgLy8gIEhlbHBlcnNcbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVNhdmVBcHBsaWNhdGlvbihcbiAgICByZXE6IFNhdmVBcHBsaWNhdGlvbkFzQ29kZUV2ZW50UmVxdWVzdFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzYXZlRWFDOiBFbnRlcnByaXNlQXNDb2RlID0ge1xuICAgICAgRW50ZXJwcmlzZUxvb2t1cDogdGhpcy5TdGF0ZS5FYUMuRW50ZXJwcmlzZUxvb2t1cCxcbiAgICAgIEFwcGxpY2F0aW9uczoge30sXG4gICAgICBQcm9qZWN0czoge30sXG4gICAgfTtcblxuICAgIGNvbnN0IGV4aXN0aW5nUHJvaiA9IHtcbiAgICAgIC4uLnRoaXMuU3RhdGUuRWFDLlByb2plY3RzW3JlcS5Qcm9qZWN0TG9va3VwXSxcbiAgICB9O1xuXG4gICAgaWYgKGV4aXN0aW5nUHJvai5BcHBsaWNhdGlvbkxvb2t1cHM/LmluZGV4T2YocmVxLkFwcGxpY2F0aW9uTG9va3VwKSA8IDApIHtcbiAgICAgIGlmICghZXhpc3RpbmdQcm9qLkFwcGxpY2F0aW9uTG9va3Vwcykge1xuICAgICAgICBleGlzdGluZ1Byb2ouQXBwbGljYXRpb25Mb29rdXBzID0gW107XG4gICAgICB9XG5cbiAgICAgIGV4aXN0aW5nUHJvai5BcHBsaWNhdGlvbkxvb2t1cHMucHVzaChyZXEuQXBwbGljYXRpb25Mb29rdXApO1xuXG4gICAgICBzYXZlRWFDLlByb2plY3RzW3JlcS5Qcm9qZWN0TG9va3VwXSA9IGV4aXN0aW5nUHJvajtcbiAgICB9XG5cbiAgICBpZiAocmVxLkFwcGxpY2F0aW9uKSB7XG4gICAgICBzYXZlRWFDLkFwcGxpY2F0aW9uc1tyZXEuQXBwbGljYXRpb25Mb29rdXBdID0gcmVxLkFwcGxpY2F0aW9uO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuU2F2ZUVudGVycHJpc2VBc0NvZGUodGhpcy5TdGF0ZSwgc2F2ZUVhQyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlU2F2ZURGU01vZGlmaWVyKFxuICAgIHJlcTogU2F2ZURGU01vZGlmaWVyRXZlbnRSZXF1ZXN0XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHNhdmVFYUM6IEVudGVycHJpc2VBc0NvZGUgPSB7XG4gICAgICBFbnRlcnByaXNlTG9va3VwOiB0aGlzLlN0YXRlLkVhQy5FbnRlcnByaXNlTG9va3VwLFxuICAgICAgTW9kaWZpZXJzOiB7fSxcbiAgICAgIFByb2plY3RzOiB7fSxcbiAgICB9O1xuXG4gICAgaWYgKHJlcS5Nb2RpZmllcikge1xuICAgICAgc2F2ZUVhQy5Nb2RpZmllcnNbcmVxLk1vZGlmaWVyTG9va3VwXSA9IHJlcS5Nb2RpZmllcjtcbiAgICB9XG5cbiAgICBpZiAocmVxLlByb2plY3RMb29rdXApIHtcbiAgICAgIHNhdmVFYUMuUHJvamVjdHNbcmVxLlByb2plY3RMb29rdXBdID0ge1xuICAgICAgICBNb2RpZmllckxvb2t1cHM6IFtyZXEuTW9kaWZpZXJMb29rdXBdLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLlNhdmVFbnRlcnByaXNlQXNDb2RlKHRoaXMuU3RhdGUsIHNhdmVFYUMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVNhdmVFbnZpcm9ubWVudChcbiAgICByZXE6IFNhdmVFbnZpcm9ubWVudEFzQ29kZUV2ZW50UmVxdWVzdFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzYXZlRWFDOiBFbnRlcnByaXNlQXNDb2RlID0ge1xuICAgICAgRW50ZXJwcmlzZUxvb2t1cDogdGhpcy5TdGF0ZS5FYUMuRW50ZXJwcmlzZUxvb2t1cCxcbiAgICAgIERhdGFUb2tlbnM6IHt9LFxuICAgICAgRW52aXJvbm1lbnRzOiB7fSxcbiAgICB9O1xuXG4gICAgaWYgKHJlcS5FbnZpcm9ubWVudCkge1xuICAgICAgc2F2ZUVhQy5FbnZpcm9ubWVudHNbcmVxLkVudmlyb25tZW50TG9va3VwXSA9IHJlcS5FbnZpcm9ubWVudDtcbiAgICB9XG5cbiAgICBpZiAocmVxLkVudGVycHJpc2VEYXRhVG9rZW5zKSB7XG4gICAgICBzYXZlRWFDLkRhdGFUb2tlbnMgPSByZXEuRW50ZXJwcmlzZURhdGFUb2tlbnM7XG4gICAgfVxuXG4gICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5TYXZlRW50ZXJwcmlzZUFzQ29kZSh0aGlzLlN0YXRlLCBzYXZlRWFDKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVTYXZlUHJvamVjdChcbiAgICBwcm9qZWN0TG9va3VwOiBzdHJpbmcsXG4gICAgcHJvamVjdDogRWFDUHJvamVjdEFzQ29kZVxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBwcm9qSG9zdHM6IHsgW2xvb2t1cDogc3RyaW5nXTogRWFDSG9zdCB9ID0ge307XG5cbiAgICBwcm9qZWN0Py5Ib3N0cz8uZm9yRWFjaCgoaG9zdCkgPT4ge1xuICAgICAgcHJvakhvc3RzW2hvc3RdID0gdGhpcy5TdGF0ZS5FYUMuSG9zdHNbaG9zdF07XG4gICAgfSk7XG5cbiAgICBjb25zdCBzYXZlRWFDOiBFbnRlcnByaXNlQXNDb2RlID0ge1xuICAgICAgRW50ZXJwcmlzZUxvb2t1cDogdGhpcy5TdGF0ZS5FYUMuRW50ZXJwcmlzZUxvb2t1cCxcbiAgICAgIEVudGVycHJpc2U6IHtcbiAgICAgICAgLi4udGhpcy5TdGF0ZS5FYUMuRW50ZXJwcmlzZSxcbiAgICAgICAgUHJpbWFyeUhvc3Q6IHByb2plY3QuSG9zdHNbMF0sXG4gICAgICB9LFxuICAgICAgSG9zdHM6IHByb2pIb3N0cyxcbiAgICAgIC8vIFByb3ZpZGVyczogdGhpcy5TdGF0ZS5FYUMuUHJvdmlkZXJzLCAgLy8gIFRPRE86ICBSZW1vdmUgYWZ0ZXIgYWxsIHByb3ZpZGVycyBBREIyQydzIGhhdmUgYmVlbiB1cGdyYWRlZFxuICAgICAgUHJvamVjdHM6IHt9LFxuICAgIH07XG5cbiAgICBzYXZlRWFDLlByb2plY3RzW3Byb2plY3RMb29rdXBdID0gcHJvamVjdDtcblxuICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuU2F2ZUVudGVycHJpc2VBc0NvZGUodGhpcy5TdGF0ZSwgc2F2ZUVhQyk7XG5cbiAgICB0aGlzLmFwcHNGbG93RXZlbnRzU3ZjLlNldEVkaXRQcm9qZWN0U2V0dGluZ3MocHJvamVjdExvb2t1cCk7XG4gIH1cbn1cbiJdfQ==
@@ -2,6 +2,8 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './lcu.api';
5
+ export { BuildPipelineFormComponent as ɵbc } from './lib/controls/build-pipeline-form/build-pipeline-form.component';
6
+ export { DevopsSourceControlFormComponent as ɵbd } from './lib/controls/devops-source-control-form/devops-source-control-form.component';
5
7
  export { ProcessorDetailsFormComponent as ɵba } from './lib/controls/processor-details-form/processor-details-form.component';
6
8
  export { SecurityToggleComponent as ɵz } from './lib/controls/security-toggle/security-toggle.component';
7
9
  export { SourceControlFormComponent as ɵbb } from './lib/controls/source-control-form/source-control-form.component';
@@ -30,4 +32,4 @@ export { GeneralComponent as ɵe } from './lib/elements/projects/controls/tabs/g
30
32
  export { SlottedCardComponent as ɵr } from './lib/elements/slotted-card/slotted-card.component';
31
33
  export { TwoColumnHeaderComponent as ɵx } from './lib/elements/two-column-header/two-column-header.component';
32
34
  export { ApplicationsFlowEventsService as ɵa } from './lib/services/applications-flow-events.service';
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG93Y29kZXVuaXQtYXBwbGljYXRpb25zLWZsb3ctY29tbW9uLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL2FwcGxpY2F0aW9ucy1mbG93L2FwcGxpY2F0aW9ucy1mbG93L3Byb2plY3RzL2NvbW1vbi9zcmMvIiwic291cmNlcyI6WyJsb3djb2RldW5pdC1hcHBsaWNhdGlvbnMtZmxvdy1jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFdBQVcsQ0FBQztBQUUxQixPQUFPLEVBQUMsNkJBQTZCLElBQUksR0FBRyxFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFDNUgsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEVBQUUsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxHQUFHLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUNuSCxPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDcEcsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNqRyxPQUFPLEVBQUMsdUJBQXVCLElBQUksRUFBRSxFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDekcsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQzlGLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUM3RixPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDckYsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUNuRyxPQUFPLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0sOERBQThELENBQUM7QUFDNUcsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUMvRixPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQy9GLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSx3RUFBd0UsQ0FBQztBQUNuSCxPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0sc0VBQXNFLENBQUM7QUFDaEgsT0FBTyxFQUFDLHlCQUF5QixJQUFJLEVBQUUsRUFBQyxNQUFNLGdGQUFnRixDQUFDO0FBQy9ILE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxxRUFBcUUsQ0FBQztBQUM1RyxPQUFPLEVBQUMseUJBQXlCLElBQUksRUFBRSxFQUFDLE1BQU0saUdBQWlHLENBQUM7QUFDaEosT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUNwRyxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sNkVBQTZFLENBQUM7QUFDeEgsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw2RkFBNkYsQ0FBQztBQUN4SSxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDdkcsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQzlGLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUM1RyxPQUFPLEVBQUMsNkJBQTZCLElBQUksRUFBRSxFQUFDLE1BQU0saURBQWlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGN1LmFwaSc7XG5cbmV4cG9ydCB7UHJvY2Vzc29yRGV0YWlsc0Zvcm1Db21wb25lbnQgYXMgybViYX0gZnJvbSAnLi9saWIvY29udHJvbHMvcHJvY2Vzc29yLWRldGFpbHMtZm9ybS9wcm9jZXNzb3ItZGV0YWlscy1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQge1NlY3VyaXR5VG9nZ2xlQ29tcG9uZW50IGFzIMm1en0gZnJvbSAnLi9saWIvY29udHJvbHMvc2VjdXJpdHktdG9nZ2xlL3NlY3VyaXR5LXRvZ2dsZS5jb21wb25lbnQnO1xuZXhwb3J0IHtTb3VyY2VDb250cm9sRm9ybUNvbXBvbmVudCBhcyDJtWJifSBmcm9tICcuL2xpYi9jb250cm9scy9zb3VyY2UtY29udHJvbC1mb3JtL3NvdXJjZS1jb250cm9sLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCB7QW5hbHl0aWNzQ2FyZENvbXBvbmVudCBhcyDJtXR9IGZyb20gJy4vbGliL2VsZW1lbnRzL2FuYWx5dGljcy1jYXJkL2FuYWx5dGljcy1jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQge0Jhc2VGb3JtQ29tcG9uZW50IGFzIMm1a30gZnJvbSAnLi9saWIvZWxlbWVudHMvYmFzZS1mb3JtL2Jhc2UtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0IHtDYXJkQ2Fyb3VzZWxDb21wb25lbnQgYXMgybV5fSBmcm9tICcuL2xpYi9lbGVtZW50cy9jYXJkLWNhcm91c2VsL2NhcmQtY2Fyb3VzZWwuY29tcG9uZW50JztcbmV4cG9ydCB7Q29sdW1uSW5mb0NhcmRDb21wb25lbnQgYXMgybVxfSBmcm9tICcuL2xpYi9lbGVtZW50cy9jb2x1bW4taW5mby1jYXJkL2NvbHVtbi1pbmZvLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCB7RHluYW1pY1RhYnNDb21wb25lbnQgYXMgybVifSBmcm9tICcuL2xpYi9lbGVtZW50cy9keW5hbWljLXRhYnMvZHluYW1pYy10YWJzLmNvbXBvbmVudCc7XG5leHBvcnQge0ZlZWRDYXJkU21Db21wb25lbnQgYXMgybV1fSBmcm9tICcuL2xpYi9lbGVtZW50cy9mZWVkLWNhcmQtc20vZmVlZC1jYXJkLXNtLmNvbXBvbmVudCc7XG5leHBvcnQge0Zvcm1DYXJkQ29tcG9uZW50IGFzIMm1an0gZnJvbSAnLi9saWIvZWxlbWVudHMvZm9ybS1jYXJkL2Zvcm0tY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0IHtHaENvbnRyb2xDb21wb25lbnQgYXMgybV2fSBmcm9tICcuL2xpYi9lbGVtZW50cy9naC1jb250cm9sL2doLWNvbnRyb2wuY29tcG9uZW50JztcbmV4cG9ydCB7TWFpbkZlZWRDYXJkQ29tcG9uZW50IGFzIMm1d30gZnJvbSAnLi9saWIvZWxlbWVudHMvbWFpbi1mZWVkLWNhcmQvbWFpbi1mZWVkLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCB7UHJvamVjdEluZm9DYXJkQ29tcG9uZW50IGFzIMm1c30gZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdC1pbmZvLWNhcmQvcHJvamVjdC1pbmZvLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCB7QnVpbGRzQ29tcG9uZW50IGFzIMm1aH0gZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvYnVpbGRzL2J1aWxkcy5jb21wb25lbnQnO1xuZXhwb3J0IHtIZWFkZXJDb21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQge1Byb2plY3RJdGVtc0NvbXBvbmVudCBhcyDJtWd9IGZyb20gJy4vbGliL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3Byb2plY3QtaXRlbXMvcHJvamVjdC1pdGVtcy5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9qZWN0VGFic0NvbXBvbmVudCBhcyDJtWR9IGZyb20gJy4vbGliL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3Byb2plY3QtdGFicy9wcm9qZWN0LXRhYnMuY29tcG9uZW50JztcbmV4cG9ydCB7UmVjZW50QWN0aXZpdGllc0NvbXBvbmVudCBhcyDJtWl9IGZyb20gJy4vbGliL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3JlY2VudC1hY3Rpdml0aWVzL3JlY2VudC1hY3Rpdml0aWVzLmNvbXBvbmVudCc7XG5leHBvcnQge0FwcHNGbG93Q29tcG9uZW50IGFzIMm1bX0gZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9hcHBzLWZsb3cvYXBwcy1mbG93LmNvbXBvbmVudCc7XG5leHBvcnQge05wbVBhY2thZ2VTZWxlY3RDb21wb25lbnQgYXMgybVwfSBmcm9tICcuL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2FwcHMtZmxvdy9ucG0tcGFja2FnZS1zZWxlY3QvbnBtLXBhY2thZ2Utc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQge0Rldk9wc0NvbXBvbmVudCBhcyDJtW59IGZyb20gJy4vbGliL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3RhYnMvZGV2b3BzL2Rldm9wcy5jb21wb25lbnQnO1xuZXhwb3J0IHtERlNNb2RpZmllcnNDb21wb25lbnQgYXMgybVvfSBmcm9tICcuL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2Rmcy1tb2RpZmllcnMvZGZzLW1vZGlmaWVycy5jb21wb25lbnQnO1xuZXhwb3J0IHtEb21haW5zQ29tcG9uZW50IGFzIMm1Zn0gZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9kb21haW5zL2RvbWFpbnMuY29tcG9uZW50JztcbmV4cG9ydCB7QmFzZUZvcm1UZXN0Q29tcG9uZW50IGFzIMm1bH0gZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9nZW5lcmFsL2Zvcm1zL2Jhc2UtZm9ybS10ZXN0L2Jhc2UtZm9ybS10ZXN0LmNvbXBvbmVudCc7XG5leHBvcnQge0dlbmVyYWxDb21wb25lbnQgYXMgybVlfSBmcm9tICcuL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2dlbmVyYWwvZ2VuZXJhbC5jb21wb25lbnQnO1xuZXhwb3J0IHtTbG90dGVkQ2FyZENvbXBvbmVudCBhcyDJtXJ9IGZyb20gJy4vbGliL2VsZW1lbnRzL3Nsb3R0ZWQtY2FyZC9zbG90dGVkLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCB7VHdvQ29sdW1uSGVhZGVyQ29tcG9uZW50IGFzIMm1eH0gZnJvbSAnLi9saWIvZWxlbWVudHMvdHdvLWNvbHVtbi1oZWFkZXIvdHdvLWNvbHVtbi1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCB7QXBwbGljYXRpb25zRmxvd0V2ZW50c1NlcnZpY2UgYXMgybVhfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hcHBsaWNhdGlvbnMtZmxvdy1ldmVudHMuc2VydmljZSc7Il19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG93Y29kZXVuaXQtYXBwbGljYXRpb25zLWZsb3ctY29tbW9uLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL2FwcGxpY2F0aW9ucy1mbG93L2FwcGxpY2F0aW9ucy1mbG93L3Byb2plY3RzL2NvbW1vbi9zcmMvIiwic291cmNlcyI6WyJsb3djb2RldW5pdC1hcHBsaWNhdGlvbnMtZmxvdy1jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFdBQVcsQ0FBQztBQUUxQixPQUFPLEVBQUMsMEJBQTBCLElBQUksR0FBRyxFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFDbkgsT0FBTyxFQUFDLGdDQUFnQyxJQUFJLEdBQUcsRUFBQyxNQUFNLGdGQUFnRixDQUFDO0FBQ3ZJLE9BQU8sRUFBQyw2QkFBNkIsSUFBSSxHQUFHLEVBQUMsTUFBTSx3RUFBd0UsQ0FBQztBQUM1SCxPQUFPLEVBQUMsdUJBQXVCLElBQUksRUFBRSxFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDdkcsT0FBTyxFQUFDLDBCQUEwQixJQUFJLEdBQUcsRUFBQyxNQUFNLGtFQUFrRSxDQUFDO0FBQ25ILE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUNwRyxPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDckYsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ2pHLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUN6RyxPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDOUYsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRixPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDeEYsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ25HLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUM1RyxPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQy9GLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDL0YsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQ25ILE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxzRUFBc0UsQ0FBQztBQUNoSCxPQUFPLEVBQUMseUJBQXlCLElBQUksRUFBRSxFQUFDLE1BQU0sZ0ZBQWdGLENBQUM7QUFDL0gsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLHFFQUFxRSxDQUFDO0FBQzVHLE9BQU8sRUFBQyx5QkFBeUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxpR0FBaUcsQ0FBQztBQUNoSixPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw2RUFBNkUsQ0FBQztBQUN4SCxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDdkcsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLDZGQUE2RixDQUFDO0FBQ3hJLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUN2RyxPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDOUYsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQzVHLE9BQU8sRUFBQyw2QkFBNkIsSUFBSSxFQUFFLEVBQUMsTUFBTSxpREFBaUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9sY3UuYXBpJztcblxuZXhwb3J0IHtCdWlsZFBpcGVsaW5lRm9ybUNvbXBvbmVudCBhcyDJtWJjfSBmcm9tICcuL2xpYi9jb250cm9scy9idWlsZC1waXBlbGluZS1mb3JtL2J1aWxkLXBpcGVsaW5lLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCB7RGV2b3BzU291cmNlQ29udHJvbEZvcm1Db21wb25lbnQgYXMgybViZH0gZnJvbSAnLi9saWIvY29udHJvbHMvZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0vZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCB7UHJvY2Vzc29yRGV0YWlsc0Zvcm1Db21wb25lbnQgYXMgybViYX0gZnJvbSAnLi9saWIvY29udHJvbHMvcHJvY2Vzc29yLWRldGFpbHMtZm9ybS9wcm9jZXNzb3ItZGV0YWlscy1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQge1NlY3VyaXR5VG9nZ2xlQ29tcG9uZW50IGFzIMm1en0gZnJvbSAnLi9saWIvY29udHJvbHMvc2VjdXJpdHktdG9nZ2xlL3NlY3VyaXR5LXRvZ2dsZS5jb21wb25lbnQnO1xuZXhwb3J0IHtTb3VyY2VDb250cm9sRm9ybUNvbXBvbmVudCBhcyDJtWJifSBmcm9tICcuL2xpYi9jb250cm9scy9zb3VyY2UtY29udHJvbC1mb3JtL3NvdXJjZS1jb250cm9sLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCB7QW5hbHl0aWNzQ2FyZENvbXBvbmVudCBhcyDJtXR9IGZyb20gJy4vbGliL2VsZW1lbnRzL2FuYWx5dGljcy1jYXJkL2FuYWx5dGljcy1jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQge0Jhc2VGb3JtQ29tcG9uZW50IGFzIMm1a30gZnJvbSAnLi9saWIvZWxlbWVudHMvYmFzZS1mb3JtL2Jhc2UtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0IHtDYXJkQ2Fyb3VzZWxDb21wb25lbnQgYXMgybV5fSBmcm9tICcuL2xpYi9lbGVtZW50cy9jYXJkLWNhcm91c2VsL2NhcmQtY2Fyb3VzZWwuY29tcG9uZW50JztcbmV4cG9ydCB7Q29sdW1uSW5mb0NhcmRDb21wb25lbnQgYXMgybVxfSBmcm9tICcuL2xpYi9lbGVtZW50cy9jb2x1bW4taW5mby1jYXJkL2NvbHVtbi1pbmZvLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCB7RHluYW1pY1RhYnNDb21wb25lbnQgYXMgybVifSBmcm9tICcuL2xpYi9lbGVtZW50cy9keW5hbWljLXRhYnMvZHluYW1pYy10YWJzLmNvbXBvbmVudCc7XG5leHBvcnQge0ZlZWRDYXJkU21Db21wb25lbnQgYXMgybV1fSBmcm9tICcuL2xpYi9lbGVtZW50cy9mZWVkLWNhcmQtc20vZmVlZC1jYXJkLXNtLmNvbXBvbmVudCc7XG5leHBvcnQge0Zvcm1DYXJkQ29tcG9uZW50IGFzIMm1an0gZnJvbSAnLi9saWIvZWxlbWVudHMvZm9ybS1jYXJkL2Zvcm0tY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0IHtHaENvbnRyb2xDb21wb25lbnQgYXMgybV2fSBmcm9tICcuL2xpYi9lbGVtZW50cy9naC1jb250cm9sL2doLWNvbnRyb2wuY29tcG9uZW50JztcbmV4cG9ydCB7TWFpbkZlZWRDYXJkQ29tcG9uZW50IGFzIMm1d30gZnJvbSAnLi9saWIvZWxlbWVudHMvbWFpbi1mZWVkLWNhcmQvbWFpbi1mZWVkLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCB7UHJvamVjdEluZm9DYXJkQ29tcG9uZW50IGFzIMm1c30gZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdC1pbmZvLWNhcmQvcHJvamVjdC1pbmZvLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCB7QnVpbGRzQ29tcG9uZW50IGFzIMm1aH0gZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvYnVpbGRzL2J1aWxkcy5jb21wb25lbnQnO1xuZXhwb3J0IHtIZWFkZXJDb21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQge1Byb2plY3RJdGVtc0NvbXBvbmVudCBhcyDJtWd9IGZyb20gJy4vbGliL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3Byb2plY3QtaXRlbXMvcHJvamVjdC1pdGVtcy5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9qZWN0VGFic0NvbXBvbmVudCBhcyDJtWR9IGZyb20gJy4vbGliL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3Byb2plY3QtdGFicy9wcm9qZWN0LXRhYnMuY29tcG9uZW50JztcbmV4cG9ydCB7UmVjZW50QWN0aXZpdGllc0NvbXBvbmVudCBhcyDJtWl9IGZyb20gJy4vbGliL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3JlY2VudC1hY3Rpdml0aWVzL3JlY2VudC1hY3Rpdml0aWVzLmNvbXBvbmVudCc7XG5leHBvcnQge0FwcHNGbG93Q29tcG9uZW50IGFzIMm1bX0gZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9hcHBzLWZsb3cvYXBwcy1mbG93LmNvbXBvbmVudCc7XG5leHBvcnQge05wbVBhY2thZ2VTZWxlY3RDb21wb25lbnQgYXMgybVwfSBmcm9tICcuL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2FwcHMtZmxvdy9ucG0tcGFja2FnZS1zZWxlY3QvbnBtLXBhY2thZ2Utc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQge0Rldk9wc0NvbXBvbmVudCBhcyDJtW59IGZyb20gJy4vbGliL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3RhYnMvZGV2b3BzL2Rldm9wcy5jb21wb25lbnQnO1xuZXhwb3J0IHtERlNNb2RpZmllcnNDb21wb25lbnQgYXMgybVvfSBmcm9tICcuL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2Rmcy1tb2RpZmllcnMvZGZzLW1vZGlmaWVycy5jb21wb25lbnQnO1xuZXhwb3J0IHtEb21haW5zQ29tcG9uZW50IGFzIMm1Zn0gZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9kb21haW5zL2RvbWFpbnMuY29tcG9uZW50JztcbmV4cG9ydCB7QmFzZUZvcm1UZXN0Q29tcG9uZW50IGFzIMm1bH0gZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9nZW5lcmFsL2Zvcm1zL2Jhc2UtZm9ybS10ZXN0L2Jhc2UtZm9ybS10ZXN0LmNvbXBvbmVudCc7XG5leHBvcnQge0dlbmVyYWxDb21wb25lbnQgYXMgybVlfSBmcm9tICcuL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2dlbmVyYWwvZ2VuZXJhbC5jb21wb25lbnQnO1xuZXhwb3J0IHtTbG90dGVkQ2FyZENvbXBvbmVudCBhcyDJtXJ9IGZyb20gJy4vbGliL2VsZW1lbnRzL3Nsb3R0ZWQtY2FyZC9zbG90dGVkLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCB7VHdvQ29sdW1uSGVhZGVyQ29tcG9uZW50IGFzIMm1eH0gZnJvbSAnLi9saWIvZWxlbWVudHMvdHdvLWNvbHVtbi1oZWFkZXIvdHdvLWNvbHVtbi1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCB7QXBwbGljYXRpb25zRmxvd0V2ZW50c1NlcnZpY2UgYXMgybVhfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hcHBsaWNhdGlvbnMtZmxvdy1ldmVudHMuc2VydmljZSc7Il19