@lowcodeunit/applications-flow-common 1.33.98-lets-get-social-ish → 1.33.99-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 +177 -33
- package/bundles/lowcodeunit-applications-flow-common.umd.js.map +1 -1
- package/bundles/lowcodeunit-applications-flow-common.umd.min.js +2 -2
- package/bundles/lowcodeunit-applications-flow-common.umd.min.js.map +1 -1
- package/esm2015/lib/applications-flow.module.js +12 -4
- package/esm2015/lib/controls/build-pipeline-form/build-pipeline-form.component.js +9 -19
- package/esm2015/lib/controls/devops-source-control-form/devops-source-control-form.component.js +114 -7
- package/esm2015/lib/controls/processor-details-form/processor-details-form.component.js +2 -2
- package/esm2015/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.js +22 -0
- package/esm2015/lib/dialogs/source-control-dialog/source-control-dialog.component.js +22 -0
- package/esm2015/lowcodeunit-applications-flow-common.js +3 -1
- package/fesm2015/lowcodeunit-applications-flow-common.js +172 -30
- package/fesm2015/lowcodeunit-applications-flow-common.js.map +1 -1
- package/lib/applications-flow.module.d.ts.map +1 -1
- package/lib/controls/build-pipeline-form/build-pipeline-form.component.d.ts +0 -4
- package/lib/controls/build-pipeline-form/build-pipeline-form.component.d.ts.map +1 -1
- package/lib/controls/devops-source-control-form/devops-source-control-form.component.d.ts +6 -1
- package/lib/controls/devops-source-control-form/devops-source-control-form.component.d.ts.map +1 -1
- package/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.d.ts +14 -0
- package/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.d.ts.map +1 -0
- package/lib/dialogs/source-control-dialog/source-control-dialog.component.d.ts +14 -0
- package/lib/dialogs/source-control-dialog/source-control-dialog.component.d.ts.map +1 -0
- package/lowcodeunit-applications-flow-common.d.ts +2 -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
|
@@ -252,7 +252,7 @@ export class ProcessorDetailsFormComponent {
|
|
|
252
252
|
ProcessorDetailsFormComponent.decorators = [
|
|
253
253
|
{ type: Component, args: [{
|
|
254
254
|
selector: 'lcu-processor-details-form',
|
|
255
|
-
template: "<form class=\"processor-details-form\" [formGroup]=\"ProcessorDetailsFormGroup\" (ngSubmit)=\"SubmitProcessorDetails()\">\n<mat-card class=\"spread flow-card\">\n <mat-card-header>\n <mat-card-title> Processor Details </mat-card-title>\n </mat-card-header>\n\n <mat-card-content>\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"procType\"\n (selectionChange)=\"ProcessorTypeChanged($event)\"\n required\n >\n <mat-option value=\"DFS\">View Package</mat-option>\n\n <mat-option value=\"Redirect\">Redirect</mat-option>\n\n <mat-option value=\"Proxy\">Proxy</mat-option>\n\n <mat-option value=\"OAuth\">OAuth</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"ProcessorType\">\n <div *ngSwitchCase=\"'DFS'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Default File\"\n formControlName=\"defaultFile\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"NPM\">NPM</mat-option>\n\n <mat-option value=\"GitHub\">GitHub</mat-option>\n\n <!-- <mat-option value=\"Zip\">Zip</mat-option> -->\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'GitHub'\">\n <lcu-source-control-form-controls\n [build-path]=\"EditingApplication?.LowCodeUnit?.Path\"\n [form-group]=\"ProcessorDetailsFormGroup\"\n [source-control]=\"DefaultSourceControl\"\n [use-branches]=\"false\"\n [use-build-path]=\"true\"\n ></lcu-source-control-form-controls>\n\n <mat-form-field\n class=\"mat-full-width\"\n *ngIf=\"\n SourceControlFormControls?.RepositoryFormControl?.valid\n \"\n >\n <input\n matInput\n placeholder=\"Build\"\n formControlName=\"build\"\n required\n />\n\n <mat-hint>\n Current Build:\n {{ EditingApplication?.LowCodeUnit?.CurrentBuild }}\n </mat-hint>\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'NPM'\">\n <lcu-npm-package-select\n [npm-package]=\"EditingApplication?.LowCodeUnit?.Package\"\n [npm-package-version]=\"\n EditingApplication?.LowCodeUnit?.Version\n \"\n [form-group]=\"ProcessorDetailsFormGroup\"\n ></lcu-npm-package-select>\n\n <mat-hint>\n Current Version:\n {{ EditingApplication?.LowCodeUnit?.CurrentVersion }}\n </mat-hint>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'OAuth'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Scopes (space separated)\"\n formControlName=\"scopes\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Token Lookup\"\n formControlName=\"tokenLookup\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"GitHubOAuth\">GitHub</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'GitHubOAuth'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Client ID\"\n formControlName=\"clientId\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Client Secret\"\n formControlName=\"clientSecret\"\n required\n />\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'Proxy'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Inbound Path\"\n formControlName=\"inboundPath\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"API\">API</mat-option>\n\n <mat-option value=\"SPA\">Single Page Application</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'API'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"API Root\"\n formControlName=\"apiRoot\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Allowed Methods (separate with spaces)\"\n formControlName=\"methods\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Security ({header}~{value})\"\n formControlName=\"security\"\n required\n />\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'SPA'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"SPA Root\"\n formControlName=\"spaRoot\"\n required\n />\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'Redirect'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Redirect URL\"\n formControlName=\"redirect\"\n required\n />\n </mat-form-field>\n\n <div>\n <mat-slide-toggle \n class=\"spread\" \n formControlName=\"permanent\">\n Is Permanent?\n </mat-slide-toggle>\n\n <mat-slide-toggle\n class=\"spread\"\n formControlName=\"preserveMethod\"\n >\n Preserve Method?\n </mat-slide-toggle>\n\n <mat-icon\n class=\"spread\"\n matSuffix\n (mouseenter)=\"DetermineTooltipText()\"\n matTooltip={{redirectTooltip}}\n >\n info_outline\n </mat-icon>\n\n <!-- <mat-icon\n *ngIf=\"!IsPermanent && !IsPreserve\"\n\n class=\"spread\"\n matSuffix\n matTooltip=\"302 \u2013 Not Permanent and Not Preserve\"\n >\n info_outline\n </mat-icon> -->\n\n <!-- <mat-icon\n *ngIf=\"!IsPermanent && IsPreserve\"\n class=\"spread\"\n matSuffix\n matTooltip=\"307 \u2013 Not Permanent and Preserve\"\n >\n info_outline\n </mat-icon> -->\n\n <!-- <mat-icon\n *ngIf=\"IsPermanent && IsPreserve\"\n class=\"spread\"\n matSuffix\n matTooltip=\"308 \u2013 Permanent and Preserve\"\n >\n info_outline\n </mat-icon> -->\n\n \n\n <!-- <mat-icon\n class=\"spread\"\n matSuffix\n matTooltip=\"Values used to control the redirect type. Permanent and Not Preserve = 301; Not Permanent and Not Preserve = 302; Permanent and Preserve = 308; Not Permanent and Not Preserve = 307;\"\n >\n info_outline\n </mat-icon> -->\n </div>\n </div>\n </div>\n </mat-card-content>\n <mat-card-actions>\n <!-- [disabled]=\"!SecurityFormGroup.valid || !SecurityFormGroup.dirty\" -->\n <button mat-raised-button type=\"submit\" >Save
|
|
255
|
+
template: "<form class=\"processor-details-form\" [formGroup]=\"ProcessorDetailsFormGroup\" (ngSubmit)=\"SubmitProcessorDetails()\">\n<mat-card class=\"spread flow-card\">\n <mat-card-header>\n <mat-card-title> Processor Details </mat-card-title>\n </mat-card-header>\n\n <mat-card-content>\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"procType\"\n (selectionChange)=\"ProcessorTypeChanged($event)\"\n required\n >\n <mat-option value=\"DFS\">View Package</mat-option>\n\n <mat-option value=\"Redirect\">Redirect</mat-option>\n\n <mat-option value=\"Proxy\">Proxy</mat-option>\n\n <mat-option value=\"OAuth\">OAuth</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"ProcessorType\">\n <div *ngSwitchCase=\"'DFS'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Default File\"\n formControlName=\"defaultFile\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"NPM\">NPM</mat-option>\n\n <mat-option value=\"GitHub\">GitHub</mat-option>\n\n <!-- <mat-option value=\"Zip\">Zip</mat-option> -->\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'GitHub'\">\n <lcu-source-control-form-controls\n [build-path]=\"EditingApplication?.LowCodeUnit?.Path\"\n [form-group]=\"ProcessorDetailsFormGroup\"\n [source-control]=\"DefaultSourceControl\"\n [use-branches]=\"false\"\n [use-build-path]=\"true\"\n ></lcu-source-control-form-controls>\n\n <mat-form-field\n class=\"mat-full-width\"\n *ngIf=\"\n SourceControlFormControls?.RepositoryFormControl?.valid\n \"\n >\n <input\n matInput\n placeholder=\"Build\"\n formControlName=\"build\"\n required\n />\n\n <mat-hint>\n Current Build:\n {{ EditingApplication?.LowCodeUnit?.CurrentBuild }}\n </mat-hint>\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'NPM'\">\n <lcu-npm-package-select\n [npm-package]=\"EditingApplication?.LowCodeUnit?.Package\"\n [npm-package-version]=\"\n EditingApplication?.LowCodeUnit?.Version\n \"\n [form-group]=\"ProcessorDetailsFormGroup\"\n ></lcu-npm-package-select>\n\n <mat-hint>\n Current Version:\n {{ EditingApplication?.LowCodeUnit?.CurrentVersion }}\n </mat-hint>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'OAuth'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Scopes (space separated)\"\n formControlName=\"scopes\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Token Lookup\"\n formControlName=\"tokenLookup\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"GitHubOAuth\">GitHub</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'GitHubOAuth'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Client ID\"\n formControlName=\"clientId\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Client Secret\"\n formControlName=\"clientSecret\"\n required\n />\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'Proxy'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Inbound Path\"\n formControlName=\"inboundPath\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"API\">API</mat-option>\n\n <mat-option value=\"SPA\">Single Page Application</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'API'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"API Root\"\n formControlName=\"apiRoot\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Allowed Methods (separate with spaces)\"\n formControlName=\"methods\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Security ({header}~{value})\"\n formControlName=\"security\"\n required\n />\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'SPA'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"SPA Root\"\n formControlName=\"spaRoot\"\n required\n />\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'Redirect'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Redirect URL\"\n formControlName=\"redirect\"\n required\n />\n </mat-form-field>\n\n <div>\n <mat-slide-toggle \n class=\"spread\" \n formControlName=\"permanent\">\n Is Permanent?\n </mat-slide-toggle>\n\n <mat-slide-toggle\n class=\"spread\"\n formControlName=\"preserveMethod\"\n >\n Preserve Method?\n </mat-slide-toggle>\n\n <mat-icon\n class=\"spread\"\n matSuffix\n (mouseenter)=\"DetermineTooltipText()\"\n matTooltip={{redirectTooltip}}\n >\n info_outline\n </mat-icon>\n\n <!-- <mat-icon\n *ngIf=\"!IsPermanent && !IsPreserve\"\n\n class=\"spread\"\n matSuffix\n matTooltip=\"302 \u2013 Not Permanent and Not Preserve\"\n >\n info_outline\n </mat-icon> -->\n\n <!-- <mat-icon\n *ngIf=\"!IsPermanent && IsPreserve\"\n class=\"spread\"\n matSuffix\n matTooltip=\"307 \u2013 Not Permanent and Preserve\"\n >\n info_outline\n </mat-icon> -->\n\n <!-- <mat-icon\n *ngIf=\"IsPermanent && IsPreserve\"\n class=\"spread\"\n matSuffix\n matTooltip=\"308 \u2013 Permanent and Preserve\"\n >\n info_outline\n </mat-icon> -->\n\n \n\n <!-- <mat-icon\n class=\"spread\"\n matSuffix\n matTooltip=\"Values used to control the redirect type. Permanent and Not Preserve = 301; Not Permanent and Not Preserve = 302; Permanent and Preserve = 308; Not Permanent and Not Preserve = 307;\"\n >\n info_outline\n </mat-icon> -->\n </div>\n </div>\n </div>\n </mat-card-content>\n <mat-card-actions>\n <!-- [disabled]=\"!SecurityFormGroup.valid || !SecurityFormGroup.dirty\" -->\n <button mat-raised-button type=\"submit\" >Save</button>\n </mat-card-actions>\n</mat-card>\n</form>\n \n",
|
|
256
256
|
styles: [""]
|
|
257
257
|
},] }
|
|
258
258
|
];
|
|
@@ -262,4 +262,4 @@ ProcessorDetailsFormComponent.ctorParameters = () => [
|
|
|
262
262
|
ProcessorDetailsFormComponent.propDecorators = {
|
|
263
263
|
EditingApplication: [{ type: Input, args: ['editing-application',] }]
|
|
264
264
|
};
|
|
265
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzc29yLWRldGFpbHMtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvYXBwbGljYXRpb25zLWZsb3cvYXBwbGljYXRpb25zLWZsb3cvcHJvamVjdHMvY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb250cm9scy9wcm9jZXNzb3ItZGV0YWlscy1mb3JtL3Byb2Nlc3Nvci1kZXRhaWxzLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBbUIsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBU3JGLE1BQU0sT0FBTyw2QkFBNkI7SUE2RHhDLFlBQXNCLFFBQXFCO1FBQXJCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDekMsd0NBQXdDO1FBQ3hDLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUF6REYsSUFBVyxnQkFBZ0I7O1FBQ3pCLGFBQU8sSUFBSSxDQUFDLHlCQUF5QiwwQ0FBRSxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQ3hELENBQUM7SUFHRCxJQUFXLG1CQUFtQjs7UUFDNUIsYUFBTyxJQUFJLENBQUMseUJBQXlCLDBDQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQVcsc0JBQXNCOztRQUMvQixhQUFPLElBQUksQ0FBQyx5QkFBeUIsMENBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQztJQUM5RCxDQUFDO0lBRUQsSUFBVyxzQkFBc0I7O1FBQy9CLGFBQU8sSUFBSSxDQUFDLHlCQUF5QiwwQ0FBRSxRQUFRLENBQUMsV0FBVyxDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFXLHNCQUFzQjs7UUFDL0IsYUFBTyxJQUFJLENBQUMseUJBQXlCLDBDQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUM7SUFDOUQs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LFVBQVUsQ0FDdkMsYUFBYSxFQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUNuQixPQUFBLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLDBDQUFFLFdBQVcsS0FBSSxZQUFZLEVBQzlELENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUN0QixDQUNGLENBQUM7UUFFRixJQUFJLENBQUMseUJBQXlCLENBQUMsVUFBVSxDQUN2QyxTQUFTLEVBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUMzRCxDQUFDO0lBQ0osQ0FBQztJQUVTLHlCQUF5QjtRQUNqQyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUVuQyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsUUFBUSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUMxQixLQUFLLEtBQUs7b0JBQ1IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO29CQUNwQixNQUFNO2dCQUVSLEtBQUssT0FBTztvQkFDVixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ3RCLE1BQU07Z0JBRVIsS0FBSyxPQUFPO29CQUNWLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDdEIsTUFBTTtnQkFFUixLQUFLLFVBQVU7b0JBQ2IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7b0JBQ3pCLE1BQU07YUFDVDtTQUNGO1FBRUQsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQzs7O1lBbmFGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNEJBQTRCO2dCQUN0QyxvNVNBQXNEOzthQUV2RDs7O1lBUnlCLFdBQVc7OztpQ0FhbEMsS0FBSyxTQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0U2VsZWN0Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IEVhQ0FwcGxpY2F0aW9uQXNDb2RlIH0gZnJvbSAnQHNlbWFudGljanMvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGN1LXByb2Nlc3Nvci1kZXRhaWxzLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvY2Vzc29yLWRldGFpbHMtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2Nlc3Nvci1kZXRhaWxzLWZvcm0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQcm9jZXNzb3JEZXRhaWxzRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIExDVVR5cGU6IHN0cmluZztcblxuICBASW5wdXQoJ2VkaXRpbmctYXBwbGljYXRpb24nKSBcbiAgcHVibGljIEVkaXRpbmdBcHBsaWNhdGlvbjogRWFDQXBwbGljYXRpb25Bc0NvZGU7XG5cbiAgcHVibGljIGdldCBCdWlsZEZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cD8uY29udHJvbHMuYnVpbGQ7XG4gIH1cbiAgXG4gIFxuICBwdWJsaWMgZ2V0IENsaWVudElERm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwPy5jb250cm9scy5jbGllbnRJZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgRGVmYXVsdEZpbGVGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLmRlZmF1bHRGaWxlO1xuICB9XG5cbiAgcHVibGljIGdldCBJbmJvdW5kUGF0aEZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cD8uY29udHJvbHMuaW5ib3VuZFBhdGg7XG4gIH1cblxuICBwdWJsaWMgZ2V0IFRva2VuTG9va3VwRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwPy5jb250cm9scy50b2tlbkxvb2t1cDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgUmVkaXJlY3RGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLnJlZGlyZWN0O1xuICB9XG5cbiAgcHVibGljIGdldCBTY29wZXNGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLnNjb3BlcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgU2VjdXJpdHlGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLnNlY3VyaXR5O1xuICB9XG5cbiAgcHVibGljIGdldCBTUEFSb290Rm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwPy5jb250cm9scy5zcGFSb290O1xuICB9XG5cbiAgcHVibGljIGdldCBQZXJtYW5lbnRGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLnBlcm1hbmVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgUHJlc2VydmVNZXRob2RGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLnByZXNlcnZlTWV0aG9kO1xuICB9XG4gIHB1YmxpYyBJc1Blcm1hbmVudDogYm9vbGVhbjtcblxuICBwdWJsaWMgSXNQcmVzZXJ2ZTogYm9vbGVhbjtcbiAgXG4gIHB1YmxpYyByZWRpcmVjdFRvb2x0aXA6IHN0cmluZztcblxuICBwdWJsaWMgUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBQcm9jZXNzb3JUeXBlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGZvcm1CbGRyOiBGb3JtQnVpbGRlcikge1xuICAgIC8vIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uTG9va3VwID0gbnVsbDtcbiAgICB0aGlzLnJlZGlyZWN0VG9vbHRpcCA9ICcnO1xuICAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcblxuICAgIHRoaXMuc2V0dXBQcm9jZXNzb3JEZXRhaWxzRm9ybSgpO1xuICB9XG5cbiAgcHVibGljIERldGVybWluZVRvb2x0aXBUZXh0KCkge1xuICAgIGxldCBwZXJtYW5lbnRWYWx1ZSA9IHRoaXMuUGVybWFuZW50Rm9ybUNvbnRyb2wudmFsdWU7XG4gICAgbGV0IHByZXNlcnZlVmFsdWUgPSB0aGlzLlByZXNlcnZlTWV0aG9kRm9ybUNvbnRyb2wudmFsdWU7XG5cbiAgICBpZiAocGVybWFuZW50VmFsdWUgPT09IHRydWUgJiYgcHJlc2VydmVWYWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMucmVkaXJlY3RUb29sdGlwID0gJzMwMSDigJMgUGVybWFuZW50IGFuZCBOb3QgUHJlc2VydmUnO1xuICAgIH0gZWxzZSBpZiAocGVybWFuZW50VmFsdWUgPT09IGZhbHNlICYmIHByZXNlcnZlVmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICB0aGlzLnJlZGlyZWN0VG9vbHRpcCA9ICczMDIg4oCTIE5vdCBQZXJtYW5lbnQgYW5kIE5vdCBQcmVzZXJ2ZSc7XG4gICAgfSBlbHNlIGlmIChwZXJtYW5lbnRWYWx1ZSA9PT0gZmFsc2UgJiYgcHJlc2VydmVWYWx1ZSA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy5yZWRpcmVjdFRvb2x0aXAgPSAnMzA3IOKAkyBOb3QgUGVybWFuZW50IGFuZCBQcmVzZXJ2ZSc7XG4gICAgfSBlbHNlIGlmIChwZXJtYW5lbnRWYWx1ZSA9PT0gdHJ1ZSAmJiBwcmVzZXJ2ZVZhbHVlID09PSB0cnVlKSB7XG4gICAgICB0aGlzLnJlZGlyZWN0VG9vbHRpcCA9ICczMDgg4oCTIFBlcm1hbmVudCBhbmQgUHJlc2VydmUnO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBTdWJtaXRQcm9jZXNzb3JEZXRhaWxzKCl7XG5cbiAgfVxuXG4gIHB1YmxpYyBQcm9jZXNzb3JUeXBlQ2hhbmdlZChldmVudDogTWF0U2VsZWN0Q2hhbmdlKTogdm9pZCB7XG4gICAgdGhpcy5Qcm9jZXNzb3JUeXBlID0gZXZlbnQudmFsdWU7XG5cbiAgICB0aGlzLnNldHVwUHJvY2Vzc29yVHlwZVN1YkZvcm0oKTtcbiAgfVxuXG4gIHB1YmxpYyBMQ1VUeXBlQ2hhbmdlZChldmVudDogTWF0U2VsZWN0Q2hhbmdlKTogdm9pZCB7XG4gICAgdGhpcy5MQ1VUeXBlID0gZXZlbnQudmFsdWU7XG5cbiAgICB0aGlzLnNldHVwTGN1VHlwZVN1YkZvcm0oKTtcbiAgfVxuXG4gIC8vSEVMUEVSU1xuXG4gIHByb3RlY3RlZCBjbGVhbnVwTGN1VHlwZVN1YkZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ21ldGhvZHMnKTtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnYXBpUm9vdCcpO1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdzZWN1cml0eScpO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ3NwYVJvb3QnKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdhcHBsaWNhdGlvbklkJyk7XG5cbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnYnVpbGQnKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdjbGllbnRJZCcpO1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdjbGllbnRTZWNyZXQnKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCd6aXBGaWxlJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2xlYW51cFByb2Nlc3NvclR5cGVTdWJGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdkZWZhdWx0RmlsZScpO1xuXG4gICAgLy8gdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdkZnNMY3VUeXBlJyk7XG5cbiAgICAvLyB0aGlzLkFwcGxpY2F0aW9uRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ29hdXRoTGN1VHlwZScpO1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdzY29wZXMnKTtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgndG9rZW5Mb29rdXAnKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdpbmJvdW5kUGF0aCcpO1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdwcm94eUxjdVR5cGUnKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdyZWRpcmVjdCcpO1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdwZXJtYW5lbnQnKTtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgncHJlc2VydmVNZXRob2QnKTtcblxuICAgIHRoaXMuY2xlYW51cExjdVR5cGVTdWJGb3JtKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBMY3VUeXBlU3ViRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFudXBMY3VUeXBlU3ViRm9ybSgpO1xuXG4gICAgLy8gdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdwYWNrYWdlJyk7XG4gICAgLy8gdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCd2ZXJzaW9uJyk7XG5cbiAgICBpZiAodGhpcy5MQ1VUeXBlKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuTENVVHlwZSkge1xuICAgICAgICBjYXNlICdBUEknOlxuICAgICAgICAgIHRoaXMuc2V0dXBMQ1VBUElGb3JtKCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnQXBwbGljYXRpb25Qb2ludGVyJzpcbiAgICAgICAgICB0aGlzLnNldHVwTENVQXBwbGljYXRpb25Qb2ludGVyRm9ybSgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ0dpdEh1Yic6XG4gICAgICAgICAgdGhpcy5zZXR1cExDVUdpdEh1YkZvcm0oKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdHaXRIdWJPQXV0aCc6XG4gICAgICAgICAgdGhpcy5zZXR1cExDVUdpdEh1Yk9BdXRoRm9ybSgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIC8vIGNhc2UgJ05QTSc6XG4gICAgICAgIC8vICAgdGhpcy5zZXR1cExDVU5QTUZvcm0oKTtcbiAgICAgICAgLy8gICBicmVhaztcblxuICAgICAgICBjYXNlICdTUEEnOlxuICAgICAgICAgIHRoaXMuc2V0dXBMQ1VTUEFGb3JtKCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnWmlwJzpcbiAgICAgICAgICB0aGlzLnNldHVwTENVWmlwRm9ybSgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cFByb2Nlc3NvckRldGFpbHNGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuUHJvY2Vzc29yVHlwZSA9IHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uPy5Qcm9jZXNzb3I/LlR5cGUgfHwgJyc7XG5cbiAgICBpZiAodGhpcy5FZGl0aW5nQXBwbGljYXRpb24gIT0gbnVsbCkge1xuICAgICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwID0gdGhpcy5mb3JtQmxkci5ncm91cCh7XG4gICAgICAgIG5hbWU6IFt0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5BcHBsaWNhdGlvbj8uTmFtZSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiBbXG4gICAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uQXBwbGljYXRpb24/LkRlc2NyaXB0aW9uLFxuICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIF0sXG4gICAgICAgIHJvdXRlOiBbXG4gICAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uTG9va3VwQ29uZmlnPy5QYXRoUmVnZXgucmVwbGFjZSgnLionLCAnJykgfHxcbiAgICAgICAgICAgICcvJyxcbiAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBdLFxuICAgICAgICAvLyBwcmlvcml0eTogW1xuICAgICAgICAvLyAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkFwcGxpY2F0aW9uPy5Qcmlvcml0eSB8fCAxMDAwMCxcbiAgICAgICAgLy8gICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICAvLyBdLFxuICAgICAgICBwcm9jVHlwZTogW3RoaXMuUHJvY2Vzc29yVHlwZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIH0pO1xuXG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwTENVR2l0SHViRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdidWlsZCcsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5CdWlsZCB8fCAnbGF0ZXN0JyxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cExDVUFwcGxpY2F0aW9uUG9pbnRlckZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnYXBwbGljYXRpb25JZCcsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5BcHBsaWNhdGlvbklEIHx8ICcnLFxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwTENVTlBNRm9ybSgpOiB2b2lkIHtcbiAgICAvLyB0aGlzLkFwcGxpY2F0aW9uRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgLy8gICAncGFja2FnZScsXG4gICAgLy8gICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgLy8gICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5QYWNrYWdlIHx8ICcnLFxuICAgIC8vICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAvLyAgIClcbiAgICAvLyApO1xuICAgIC8vIHRoaXMuQXBwbGljYXRpb25Gb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAvLyAgICd2ZXJzaW9uJyxcbiAgICAvLyAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAvLyAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uTG93Q29kZVVuaXQ/LlZlcnNpb24gfHwgJycsXG4gICAgLy8gICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgIC8vICAgKVxuICAgIC8vICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBMQ1VTUEFGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ3NwYVJvb3QnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uU1BBUm9vdCB8fCAnJyxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cExDVUFQSUZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnbWV0aG9kcycsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvb2t1cENvbmZpZz8uQWxsb3dlZE1ldGhvZHM/LmpvaW4oJyAnKSB8fCAnJyxcbiAgICAgICAgW11cbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnYXBpUm9vdCcsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5BUElSb290IHx8ICcnLFxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnc2VjdXJpdHknLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uU2VjdXJpdHkgfHwgJycsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBMQ1VHaXRIdWJPQXV0aEZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnY2xpZW50SWQnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uQ2xpZW50SUQgfHwgJycsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdjbGllbnRTZWNyZXQnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uQ2xpZW50U2VjcmV0IHx8ICcnLFxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwUHJveHlGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuTENVVHlwZSA9IHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5UeXBlIHx8ICcnO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnaW5ib3VuZFBhdGgnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Qcm9jZXNzb3I/LkluYm91bmRQYXRoIHx8ICcnLFxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnbGN1VHlwZScsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2wodGhpcy5MQ1VUeXBlLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cFJlZGlyZWN0Rm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdyZWRpcmVjdCcsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2wodGhpcy5FZGl0aW5nQXBwbGljYXRpb24uUHJvY2Vzc29yPy5SZWRpcmVjdCB8fCAnJywgW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgXSlcbiAgICApO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAncGVybWFuZW50JyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uUHJvY2Vzc29yPy5QZXJtYW5lbnQgfHwgZmFsc2UsXG4gICAgICAgIFtdXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ3ByZXNlcnZlTWV0aG9kJyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uUHJvY2Vzc29yPy5QcmVzZXJ2ZU1ldGhvZCB8fCBmYWxzZSxcbiAgICAgICAgW11cbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuRGV0ZXJtaW5lVG9vbHRpcFRleHQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cE9BdXRoRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLkxDVVR5cGUgPSB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uVHlwZSB8fCAnJztcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ3Njb3BlcycsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLlByb2Nlc3Nvcj8uU2NvcGVzPy5Kb2luKCcgJykgfHwgJycsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICd0b2tlbkxvb2t1cCcsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLlByb2Nlc3Nvcj8uVG9rZW5Mb29rdXAgfHwgJycsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdsY3VUeXBlJyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbCh0aGlzLkxDVVR5cGUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSlcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwTENVWmlwRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICd6aXBGaWxlJyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uTG93Q29kZVVuaXQ/LlppcEZpbGUgfHwgJycsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBEZnNGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuTENVVHlwZSA9IHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5UeXBlIHx8ICcnO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnZGVmYXVsdEZpbGUnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Qcm9jZXNzb3I/LkRlZmF1bHRGaWxlIHx8ICdpbmRleC5odG1sJyxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ2xjdVR5cGUnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKHRoaXMuTENVVHlwZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBQcm9jZXNzb3JUeXBlU3ViRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFudXBQcm9jZXNzb3JUeXBlU3ViRm9ybSgpO1xuXG4gICAgaWYgKHRoaXMuUHJvY2Vzc29yVHlwZSkge1xuICAgICAgc3dpdGNoICh0aGlzLlByb2Nlc3NvclR5cGUpIHtcbiAgICAgICAgY2FzZSAnREZTJzpcbiAgICAgICAgICB0aGlzLnNldHVwRGZzRm9ybSgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ09BdXRoJzpcbiAgICAgICAgICB0aGlzLnNldHVwT0F1dGhGb3JtKCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnUHJveHknOlxuICAgICAgICAgIHRoaXMuc2V0dXBQcm94eUZvcm0oKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdSZWRpcmVjdCc6XG4gICAgICAgICAgdGhpcy5zZXR1cFJlZGlyZWN0Rm9ybSgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2V0dXBMY3VUeXBlU3ViRm9ybSgpO1xuICB9XG5cbn1cbiJdfQ==
|
|
265
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzc29yLWRldGFpbHMtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvYXBwbGljYXRpb25zLWZsb3cvYXBwbGljYXRpb25zLWZsb3cvcHJvamVjdHMvY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb250cm9scy9wcm9jZXNzb3ItZGV0YWlscy1mb3JtL3Byb2Nlc3Nvci1kZXRhaWxzLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBbUIsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBU3JGLE1BQU0sT0FBTyw2QkFBNkI7SUE2RHhDLFlBQXNCLFFBQXFCO1FBQXJCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDekMsd0NBQXdDO1FBQ3hDLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUF6REYsSUFBVyxnQkFBZ0I7O1FBQ3pCLGFBQU8sSUFBSSxDQUFDLHlCQUF5QiwwQ0FBRSxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQ3hELENBQUM7SUFHRCxJQUFXLG1CQUFtQjs7UUFDNUIsYUFBTyxJQUFJLENBQUMseUJBQXlCLDBDQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQVcsc0JBQXNCOztRQUMvQixhQUFPLElBQUksQ0FBQyx5QkFBeUIsMENBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQztJQUM5RCxDQUFDO0lBRUQsSUFBVyxzQkFBc0I7O1FBQy9CLGFBQU8sSUFBSSxDQUFDLHlCQUF5QiwwQ0FBRSxRQUFRLENBQUMsV0FBVyxDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFXLHNCQUFzQjs7UUFDL0IsYUFBTyxJQUFJLENBQUMseUJBQXlCLDBDQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUM7SUFDOUQs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LFVBQVUsQ0FDdkMsYUFBYSxFQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUNuQixPQUFBLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLDBDQUFFLFdBQVcsS0FBSSxZQUFZLEVBQzlELENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUN0QixDQUNGLENBQUM7UUFFRixJQUFJLENBQUMseUJBQXlCLENBQUMsVUFBVSxDQUN2QyxTQUFTLEVBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUMzRCxDQUFDO0lBQ0osQ0FBQztJQUVTLHlCQUF5QjtRQUNqQyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUVuQyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsUUFBUSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUMxQixLQUFLLEtBQUs7b0JBQ1IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO29CQUNwQixNQUFNO2dCQUVSLEtBQUssT0FBTztvQkFDVixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ3RCLE1BQU07Z0JBRVIsS0FBSyxPQUFPO29CQUNWLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDdEIsTUFBTTtnQkFFUixLQUFLLFVBQVU7b0JBQ2IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7b0JBQ3pCLE1BQU07YUFDVDtTQUNGO1FBRUQsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQzs7O1lBbmFGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNEJBQTRCO2dCQUN0QyxrNFNBQXNEOzthQUV2RDs7O1lBUnlCLFdBQVc7OztpQ0FhbEMsS0FBSyxTQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0U2VsZWN0Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IEVhQ0FwcGxpY2F0aW9uQXNDb2RlIH0gZnJvbSAnQHNlbWFudGljanMvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGN1LXByb2Nlc3Nvci1kZXRhaWxzLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvY2Vzc29yLWRldGFpbHMtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2Nlc3Nvci1kZXRhaWxzLWZvcm0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQcm9jZXNzb3JEZXRhaWxzRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIExDVVR5cGU6IHN0cmluZztcblxuICBASW5wdXQoJ2VkaXRpbmctYXBwbGljYXRpb24nKSBcbiAgcHVibGljIEVkaXRpbmdBcHBsaWNhdGlvbjogRWFDQXBwbGljYXRpb25Bc0NvZGU7XG5cbiAgcHVibGljIGdldCBCdWlsZEZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cD8uY29udHJvbHMuYnVpbGQ7XG4gIH1cbiAgXG4gIFxuICBwdWJsaWMgZ2V0IENsaWVudElERm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwPy5jb250cm9scy5jbGllbnRJZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgRGVmYXVsdEZpbGVGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLmRlZmF1bHRGaWxlO1xuICB9XG5cbiAgcHVibGljIGdldCBJbmJvdW5kUGF0aEZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cD8uY29udHJvbHMuaW5ib3VuZFBhdGg7XG4gIH1cblxuICBwdWJsaWMgZ2V0IFRva2VuTG9va3VwRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwPy5jb250cm9scy50b2tlbkxvb2t1cDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgUmVkaXJlY3RGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLnJlZGlyZWN0O1xuICB9XG5cbiAgcHVibGljIGdldCBTY29wZXNGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLnNjb3BlcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgU2VjdXJpdHlGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLnNlY3VyaXR5O1xuICB9XG5cbiAgcHVibGljIGdldCBTUEFSb290Rm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwPy5jb250cm9scy5zcGFSb290O1xuICB9XG5cbiAgcHVibGljIGdldCBQZXJtYW5lbnRGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLnBlcm1hbmVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgUHJlc2VydmVNZXRob2RGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLnByZXNlcnZlTWV0aG9kO1xuICB9XG4gIHB1YmxpYyBJc1Blcm1hbmVudDogYm9vbGVhbjtcblxuICBwdWJsaWMgSXNQcmVzZXJ2ZTogYm9vbGVhbjtcbiAgXG4gIHB1YmxpYyByZWRpcmVjdFRvb2x0aXA6IHN0cmluZztcblxuICBwdWJsaWMgUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBQcm9jZXNzb3JUeXBlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGZvcm1CbGRyOiBGb3JtQnVpbGRlcikge1xuICAgIC8vIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uTG9va3VwID0gbnVsbDtcbiAgICB0aGlzLnJlZGlyZWN0VG9vbHRpcCA9ICcnO1xuICAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcblxuICAgIHRoaXMuc2V0dXBQcm9jZXNzb3JEZXRhaWxzRm9ybSgpO1xuICB9XG5cbiAgcHVibGljIERldGVybWluZVRvb2x0aXBUZXh0KCkge1xuICAgIGxldCBwZXJtYW5lbnRWYWx1ZSA9IHRoaXMuUGVybWFuZW50Rm9ybUNvbnRyb2wudmFsdWU7XG4gICAgbGV0IHByZXNlcnZlVmFsdWUgPSB0aGlzLlByZXNlcnZlTWV0aG9kRm9ybUNvbnRyb2wudmFsdWU7XG5cbiAgICBpZiAocGVybWFuZW50VmFsdWUgPT09IHRydWUgJiYgcHJlc2VydmVWYWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMucmVkaXJlY3RUb29sdGlwID0gJzMwMSDigJMgUGVybWFuZW50IGFuZCBOb3QgUHJlc2VydmUnO1xuICAgIH0gZWxzZSBpZiAocGVybWFuZW50VmFsdWUgPT09IGZhbHNlICYmIHByZXNlcnZlVmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICB0aGlzLnJlZGlyZWN0VG9vbHRpcCA9ICczMDIg4oCTIE5vdCBQZXJtYW5lbnQgYW5kIE5vdCBQcmVzZXJ2ZSc7XG4gICAgfSBlbHNlIGlmIChwZXJtYW5lbnRWYWx1ZSA9PT0gZmFsc2UgJiYgcHJlc2VydmVWYWx1ZSA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy5yZWRpcmVjdFRvb2x0aXAgPSAnMzA3IOKAkyBOb3QgUGVybWFuZW50IGFuZCBQcmVzZXJ2ZSc7XG4gICAgfSBlbHNlIGlmIChwZXJtYW5lbnRWYWx1ZSA9PT0gdHJ1ZSAmJiBwcmVzZXJ2ZVZhbHVlID09PSB0cnVlKSB7XG4gICAgICB0aGlzLnJlZGlyZWN0VG9vbHRpcCA9ICczMDgg4oCTIFBlcm1hbmVudCBhbmQgUHJlc2VydmUnO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBTdWJtaXRQcm9jZXNzb3JEZXRhaWxzKCl7XG5cbiAgfVxuXG4gIHB1YmxpYyBQcm9jZXNzb3JUeXBlQ2hhbmdlZChldmVudDogTWF0U2VsZWN0Q2hhbmdlKTogdm9pZCB7XG4gICAgdGhpcy5Qcm9jZXNzb3JUeXBlID0gZXZlbnQudmFsdWU7XG5cbiAgICB0aGlzLnNldHVwUHJvY2Vzc29yVHlwZVN1YkZvcm0oKTtcbiAgfVxuXG4gIHB1YmxpYyBMQ1VUeXBlQ2hhbmdlZChldmVudDogTWF0U2VsZWN0Q2hhbmdlKTogdm9pZCB7XG4gICAgdGhpcy5MQ1VUeXBlID0gZXZlbnQudmFsdWU7XG5cbiAgICB0aGlzLnNldHVwTGN1VHlwZVN1YkZvcm0oKTtcbiAgfVxuXG4gIC8vSEVMUEVSU1xuXG4gIHByb3RlY3RlZCBjbGVhbnVwTGN1VHlwZVN1YkZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ21ldGhvZHMnKTtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnYXBpUm9vdCcpO1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdzZWN1cml0eScpO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ3NwYVJvb3QnKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdhcHBsaWNhdGlvbklkJyk7XG5cbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnYnVpbGQnKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdjbGllbnRJZCcpO1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdjbGllbnRTZWNyZXQnKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCd6aXBGaWxlJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2xlYW51cFByb2Nlc3NvclR5cGVTdWJGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdkZWZhdWx0RmlsZScpO1xuXG4gICAgLy8gdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdkZnNMY3VUeXBlJyk7XG5cbiAgICAvLyB0aGlzLkFwcGxpY2F0aW9uRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ29hdXRoTGN1VHlwZScpO1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdzY29wZXMnKTtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgndG9rZW5Mb29rdXAnKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdpbmJvdW5kUGF0aCcpO1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdwcm94eUxjdVR5cGUnKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdyZWRpcmVjdCcpO1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdwZXJtYW5lbnQnKTtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgncHJlc2VydmVNZXRob2QnKTtcblxuICAgIHRoaXMuY2xlYW51cExjdVR5cGVTdWJGb3JtKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBMY3VUeXBlU3ViRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFudXBMY3VUeXBlU3ViRm9ybSgpO1xuXG4gICAgLy8gdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdwYWNrYWdlJyk7XG4gICAgLy8gdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCd2ZXJzaW9uJyk7XG5cbiAgICBpZiAodGhpcy5MQ1VUeXBlKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuTENVVHlwZSkge1xuICAgICAgICBjYXNlICdBUEknOlxuICAgICAgICAgIHRoaXMuc2V0dXBMQ1VBUElGb3JtKCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnQXBwbGljYXRpb25Qb2ludGVyJzpcbiAgICAgICAgICB0aGlzLnNldHVwTENVQXBwbGljYXRpb25Qb2ludGVyRm9ybSgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ0dpdEh1Yic6XG4gICAgICAgICAgdGhpcy5zZXR1cExDVUdpdEh1YkZvcm0oKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdHaXRIdWJPQXV0aCc6XG4gICAgICAgICAgdGhpcy5zZXR1cExDVUdpdEh1Yk9BdXRoRm9ybSgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIC8vIGNhc2UgJ05QTSc6XG4gICAgICAgIC8vICAgdGhpcy5zZXR1cExDVU5QTUZvcm0oKTtcbiAgICAgICAgLy8gICBicmVhaztcblxuICAgICAgICBjYXNlICdTUEEnOlxuICAgICAgICAgIHRoaXMuc2V0dXBMQ1VTUEFGb3JtKCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnWmlwJzpcbiAgICAgICAgICB0aGlzLnNldHVwTENVWmlwRm9ybSgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cFByb2Nlc3NvckRldGFpbHNGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuUHJvY2Vzc29yVHlwZSA9IHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uPy5Qcm9jZXNzb3I/LlR5cGUgfHwgJyc7XG5cbiAgICBpZiAodGhpcy5FZGl0aW5nQXBwbGljYXRpb24gIT0gbnVsbCkge1xuICAgICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwID0gdGhpcy5mb3JtQmxkci5ncm91cCh7XG4gICAgICAgIG5hbWU6IFt0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5BcHBsaWNhdGlvbj8uTmFtZSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiBbXG4gICAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uQXBwbGljYXRpb24/LkRlc2NyaXB0aW9uLFxuICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIF0sXG4gICAgICAgIHJvdXRlOiBbXG4gICAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uTG9va3VwQ29uZmlnPy5QYXRoUmVnZXgucmVwbGFjZSgnLionLCAnJykgfHxcbiAgICAgICAgICAgICcvJyxcbiAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBdLFxuICAgICAgICAvLyBwcmlvcml0eTogW1xuICAgICAgICAvLyAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkFwcGxpY2F0aW9uPy5Qcmlvcml0eSB8fCAxMDAwMCxcbiAgICAgICAgLy8gICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICAvLyBdLFxuICAgICAgICBwcm9jVHlwZTogW3RoaXMuUHJvY2Vzc29yVHlwZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIH0pO1xuXG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwTENVR2l0SHViRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdidWlsZCcsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5CdWlsZCB8fCAnbGF0ZXN0JyxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cExDVUFwcGxpY2F0aW9uUG9pbnRlckZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnYXBwbGljYXRpb25JZCcsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5BcHBsaWNhdGlvbklEIHx8ICcnLFxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwTENVTlBNRm9ybSgpOiB2b2lkIHtcbiAgICAvLyB0aGlzLkFwcGxpY2F0aW9uRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgLy8gICAncGFja2FnZScsXG4gICAgLy8gICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgLy8gICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5QYWNrYWdlIHx8ICcnLFxuICAgIC8vICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAvLyAgIClcbiAgICAvLyApO1xuICAgIC8vIHRoaXMuQXBwbGljYXRpb25Gb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAvLyAgICd2ZXJzaW9uJyxcbiAgICAvLyAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAvLyAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uTG93Q29kZVVuaXQ/LlZlcnNpb24gfHwgJycsXG4gICAgLy8gICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgIC8vICAgKVxuICAgIC8vICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBMQ1VTUEFGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ3NwYVJvb3QnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uU1BBUm9vdCB8fCAnJyxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cExDVUFQSUZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnbWV0aG9kcycsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvb2t1cENvbmZpZz8uQWxsb3dlZE1ldGhvZHM/LmpvaW4oJyAnKSB8fCAnJyxcbiAgICAgICAgW11cbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnYXBpUm9vdCcsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5BUElSb290IHx8ICcnLFxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnc2VjdXJpdHknLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uU2VjdXJpdHkgfHwgJycsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBMQ1VHaXRIdWJPQXV0aEZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnY2xpZW50SWQnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uQ2xpZW50SUQgfHwgJycsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdjbGllbnRTZWNyZXQnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uQ2xpZW50U2VjcmV0IHx8ICcnLFxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwUHJveHlGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuTENVVHlwZSA9IHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5UeXBlIHx8ICcnO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnaW5ib3VuZFBhdGgnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Qcm9jZXNzb3I/LkluYm91bmRQYXRoIHx8ICcnLFxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnbGN1VHlwZScsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2wodGhpcy5MQ1VUeXBlLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cFJlZGlyZWN0Rm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdyZWRpcmVjdCcsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2wodGhpcy5FZGl0aW5nQXBwbGljYXRpb24uUHJvY2Vzc29yPy5SZWRpcmVjdCB8fCAnJywgW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgXSlcbiAgICApO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAncGVybWFuZW50JyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uUHJvY2Vzc29yPy5QZXJtYW5lbnQgfHwgZmFsc2UsXG4gICAgICAgIFtdXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ3ByZXNlcnZlTWV0aG9kJyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uUHJvY2Vzc29yPy5QcmVzZXJ2ZU1ldGhvZCB8fCBmYWxzZSxcbiAgICAgICAgW11cbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuRGV0ZXJtaW5lVG9vbHRpcFRleHQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cE9BdXRoRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLkxDVVR5cGUgPSB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uVHlwZSB8fCAnJztcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ3Njb3BlcycsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLlByb2Nlc3Nvcj8uU2NvcGVzPy5Kb2luKCcgJykgfHwgJycsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICd0b2tlbkxvb2t1cCcsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLlByb2Nlc3Nvcj8uVG9rZW5Mb29rdXAgfHwgJycsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdsY3VUeXBlJyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbCh0aGlzLkxDVVR5cGUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSlcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwTENVWmlwRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICd6aXBGaWxlJyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uTG93Q29kZVVuaXQ/LlppcEZpbGUgfHwgJycsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBEZnNGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuTENVVHlwZSA9IHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5UeXBlIHx8ICcnO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnZGVmYXVsdEZpbGUnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Qcm9jZXNzb3I/LkRlZmF1bHRGaWxlIHx8ICdpbmRleC5odG1sJyxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ2xjdVR5cGUnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKHRoaXMuTENVVHlwZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBQcm9jZXNzb3JUeXBlU3ViRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFudXBQcm9jZXNzb3JUeXBlU3ViRm9ybSgpO1xuXG4gICAgaWYgKHRoaXMuUHJvY2Vzc29yVHlwZSkge1xuICAgICAgc3dpdGNoICh0aGlzLlByb2Nlc3NvclR5cGUpIHtcbiAgICAgICAgY2FzZSAnREZTJzpcbiAgICAgICAgICB0aGlzLnNldHVwRGZzRm9ybSgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ09BdXRoJzpcbiAgICAgICAgICB0aGlzLnNldHVwT0F1dGhGb3JtKCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnUHJveHknOlxuICAgICAgICAgIHRoaXMuc2V0dXBQcm94eUZvcm0oKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdSZWRpcmVjdCc6XG4gICAgICAgICAgdGhpcy5zZXR1cFJlZGlyZWN0Rm9ybSgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2V0dXBMY3VUeXBlU3ViRm9ybSgpO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
+
export class BuildPipelineDialogComponent {
|
|
4
|
+
constructor(dialogRef, data) {
|
|
5
|
+
this.dialogRef = dialogRef;
|
|
6
|
+
this.data = data;
|
|
7
|
+
}
|
|
8
|
+
ngOnInit() {
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
BuildPipelineDialogComponent.decorators = [
|
|
12
|
+
{ type: Component, args: [{
|
|
13
|
+
selector: 'lcu-build-pipeline-dialog',
|
|
14
|
+
template: "<lcu-build-pipeline-form\n[devops-action-lookup]=\"data.devopsActionLookup\"\n[environment]=\"data.environment\"\n>\n\n</lcu-build-pipeline-form>\n",
|
|
15
|
+
styles: [""]
|
|
16
|
+
},] }
|
|
17
|
+
];
|
|
18
|
+
BuildPipelineDialogComponent.ctorParameters = () => [
|
|
19
|
+
{ type: MatDialogRef },
|
|
20
|
+
{ type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
|
|
21
|
+
];
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtcGlwZWxpbmUtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9hcHBsaWNhdGlvbnMtZmxvdy9hcHBsaWNhdGlvbnMtZmxvdy9wcm9qZWN0cy9jb21tb24vc3JjLyIsInNvdXJjZXMiOlsibGliL2RpYWxvZ3MvYnVpbGQtcGlwZWxpbmUtZGlhbG9nL2J1aWxkLXBpcGVsaW5lLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQWdCekUsTUFBTSxPQUFPLDRCQUE0QjtJQUl6QyxZQUFvQixTQUFxRCxFQUN2QyxJQUFrQjtRQURoQyxjQUFTLEdBQVQsU0FBUyxDQUE0QztRQUN2QyxTQUFJLEdBQUosSUFBSSxDQUFjO0lBQUksQ0FBQztJQUV2RCxRQUFRO0lBQ1IsQ0FBQzs7O1lBYkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLCtKQUFxRDs7YUFFdEQ7OztZQWZRLFlBQVk7NENBcUJsQixNQUFNLFNBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IEVhQ0Vudmlyb25tZW50QXNDb2RlIH0gZnJvbSAnQHNlbWFudGljanMvY29tbW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBCUERpYWxvZ0RhdGEge1xuICBkZXZvcHNBY3Rpb25Mb29rdXA6IHN0cmluZztcbiAgZW52aXJvbm1lbnQ6IEVhQ0Vudmlyb25tZW50QXNDb2RlO1xuICAvLyBtYWluQnJhbmNoOiBzdHJpbmc7XG4gIC8vIG9yZ2FuaXphdGlvbjogc3RyaW5nO1xuICAvLyByZXBvc2l0b3J5OiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xjdS1idWlsZC1waXBlbGluZS1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vYnVpbGQtcGlwZWxpbmUtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnVpbGQtcGlwZWxpbmUtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnVpbGRQaXBlbGluZURpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cblxuXG5jb25zdHJ1Y3RvciggcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEJ1aWxkUGlwZWxpbmVEaWFsb2dDb21wb25lbnQ+LFxuICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IEJQRGlhbG9nRGF0YSkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
+
export class SourceControlDialogComponent {
|
|
4
|
+
constructor(dialogRef, data) {
|
|
5
|
+
this.dialogRef = dialogRef;
|
|
6
|
+
this.data = data;
|
|
7
|
+
}
|
|
8
|
+
ngOnInit() {
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
SourceControlDialogComponent.decorators = [
|
|
12
|
+
{ type: Component, args: [{
|
|
13
|
+
selector: 'lcu-source-control-dialog',
|
|
14
|
+
template: "\n<div fxLayoutAlign=\"center center\">\n<lcu-devops-source-control-form\n [environment]=\"data.environment\"\n [editing-source-control-lookup]=\"data.scLookup\">\n</lcu-devops-source-control-form>\n</div>",
|
|
15
|
+
styles: [""]
|
|
16
|
+
},] }
|
|
17
|
+
];
|
|
18
|
+
SourceControlDialogComponent.ctorParameters = () => [
|
|
19
|
+
{ type: MatDialogRef },
|
|
20
|
+
{ type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
|
|
21
|
+
];
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLWNvbnRyb2wtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9hcHBsaWNhdGlvbnMtZmxvdy9hcHBsaWNhdGlvbnMtZmxvdy9wcm9qZWN0cy9jb21tb24vc3JjLyIsInNvdXJjZXMiOlsibGliL2RpYWxvZ3Mvc291cmNlLWNvbnRyb2wtZGlhbG9nL3NvdXJjZS1jb250cm9sLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQWF6RSxNQUFNLE9BQU8sNEJBQTRCO0lBRXZDLFlBQW9CLFNBQXFELEVBQ3ZDLElBQWtCO1FBRGhDLGNBQVMsR0FBVCxTQUFTLENBQTRDO1FBQ3ZDLFNBQUksR0FBSixJQUFJLENBQWM7SUFBSSxDQUFDO0lBRXpELFFBQVE7SUFDUixDQUFDOzs7WUFYRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsdU9BQXFEOzthQUV0RDs7O1lBWlEsWUFBWTs0Q0FnQmhCLE1BQU0sU0FBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgRWFDRW52aXJvbm1lbnRBc0NvZGUgfSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNDRGlhbG9nRGF0YSB7XG4gIGVudmlyb25tZW50OiBFYUNFbnZpcm9ubWVudEFzQ29kZTtcbiAgc2NMb29rdXA6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGN1LXNvdXJjZS1jb250cm9sLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zb3VyY2UtY29udHJvbC1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zb3VyY2UtY29udHJvbC1kaWFsb2cuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTb3VyY2VDb250cm9sRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjb25zdHJ1Y3RvciggcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFNvdXJjZUNvbnRyb2xEaWFsb2dDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogU0NEaWFsb2dEYXRhKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -7,6 +7,8 @@ export { DevopsSourceControlFormComponent as ɵbc } from './lib/controls/devops-
|
|
|
7
7
|
export { ProcessorDetailsFormComponent as ɵz } from './lib/controls/processor-details-form/processor-details-form.component';
|
|
8
8
|
export { SecurityToggleComponent as ɵy } from './lib/controls/security-toggle/security-toggle.component';
|
|
9
9
|
export { SourceControlFormComponent as ɵba } from './lib/controls/source-control-form/source-control-form.component';
|
|
10
|
+
export { BuildPipelineDialogComponent as ɵbe } from './lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component';
|
|
11
|
+
export { SourceControlDialogComponent as ɵbd } from './lib/dialogs/source-control-dialog/source-control-dialog.component';
|
|
10
12
|
export { AnalyticsCardComponent as ɵs } from './lib/elements/analytics-card/analytics-card.component';
|
|
11
13
|
export { BaseFormComponent as ɵj } from './lib/elements/base-form/base-form.component';
|
|
12
14
|
export { CardCarouselComponent as ɵx } from './lib/elements/card-carousel/card-carousel.component';
|
|
@@ -31,4 +33,4 @@ export { BaseFormTestComponent as ɵk } from './lib/elements/projects/controls/t
|
|
|
31
33
|
export { GeneralComponent as ɵd } from './lib/elements/projects/controls/tabs/general/general.component';
|
|
32
34
|
export { SlottedCardComponent as ɵq } from './lib/elements/slotted-card/slotted-card.component';
|
|
33
35
|
export { TwoColumnHeaderComponent as ɵw } from './lib/elements/two-column-header/two-column-header.component';
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG93Y29kZXVuaXQtYXBwbGljYXRpb25zLWZsb3ctY29tbW9uLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL2FwcGxpY2F0aW9ucy1mbG93L2FwcGxpY2F0aW9ucy1mbG93L3Byb2plY3RzL2NvbW1vbi9zcmMvIiwic291cmNlcyI6WyJsb3djb2RldW5pdC1hcHBsaWNhdGlvbnMtZmxvdy1jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFdBQVcsQ0FBQztBQUUxQixPQUFPLEVBQUMsMEJBQTBCLElBQUksR0FBRyxFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFDbkgsT0FBTyxFQUFDLGdDQUFnQyxJQUFJLEdBQUcsRUFBQyxNQUFNLGdGQUFnRixDQUFDO0FBQ3ZJLE9BQU8sRUFBQyw2QkFBNkIsSUFBSSxFQUFFLEVBQUMsTUFBTSx3RUFBd0UsQ0FBQztBQUMzSCxPQUFPLEVBQUMsdUJBQXVCLElBQUksRUFBRSxFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDdkcsT0FBTyxFQUFDLDBCQUEwQixJQUFJLEdBQUcsRUFBQyxNQUFNLGtFQUFrRSxDQUFDO0FBQ25ILE9BQU8sRUFBQyw0QkFBNEIsSUFBSSxHQUFHLEVBQUMsTUFBTSxxRUFBcUUsQ0FBQztBQUN4SCxPQUFPLEVBQUMsNEJBQTRCLElBQUksR0FBRyxFQUFDLE1BQU0scUVBQXFFLENBQUM7QUFDeEgsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRixPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDakcsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEVBQUUsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ3pHLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUM5RixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDN0YsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUN4RixPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDbkcsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQzVHLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDL0YsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUMvRixPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFDbkgsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBQ2hILE9BQU8sRUFBQyx5QkFBeUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxnRkFBZ0YsQ0FBQztBQUMvSCxPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0scUVBQXFFLENBQUM7QUFDNUcsT0FBTyxFQUFDLHlCQUF5QixJQUFJLEVBQUUsRUFBQyxNQUFNLGlHQUFpRyxDQUFDO0FBQ2hKLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDcEcsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLDZFQUE2RSxDQUFDO0FBQ3hILE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUN2RyxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sNkZBQTZGLENBQUM7QUFDeEksT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUM5RixPQUFPLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0sOERBQThELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGN1LmFwaSc7XG5cbmV4cG9ydCB7QnVpbGRQaXBlbGluZUZvcm1Db21wb25lbnQgYXMgybViYn0gZnJvbSAnLi9saWIvY29udHJvbHMvYnVpbGQtcGlwZWxpbmUtZm9ybS9idWlsZC1waXBlbGluZS1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQge0Rldm9wc1NvdXJjZUNvbnRyb2xGb3JtQ29tcG9uZW50IGFzIMm1YmN9IGZyb20gJy4vbGliL2NvbnRyb2xzL2Rldm9wcy1zb3VyY2UtY29udHJvbC1mb3JtL2Rldm9wcy1zb3VyY2UtY29udHJvbC1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQge1Byb2Nlc3NvckRldGFpbHNGb3JtQ29tcG9uZW50IGFzIMm1en0gZnJvbSAnLi9saWIvY29udHJvbHMvcHJvY2Vzc29yLWRldGFpbHMtZm9ybS9wcm9jZXNzb3ItZGV0YWlscy1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQge1NlY3VyaXR5VG9nZ2xlQ29tcG9uZW50IGFzIMm1eX0gZnJvbSAnLi9saWIvY29udHJvbHMvc2VjdXJpdHktdG9nZ2xlL3NlY3VyaXR5LXRvZ2dsZS5jb21wb25lbnQnO1xuZXhwb3J0IHtTb3VyY2VDb250cm9sRm9ybUNvbXBvbmVudCBhcyDJtWJhfSBmcm9tICcuL2xpYi9jb250cm9scy9zb3VyY2UtY29udHJvbC1mb3JtL3NvdXJjZS1jb250cm9sLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCB7QnVpbGRQaXBlbGluZURpYWxvZ0NvbXBvbmVudCBhcyDJtWJlfSBmcm9tICcuL2xpYi9kaWFsb2dzL2J1aWxkLXBpcGVsaW5lLWRpYWxvZy9idWlsZC1waXBlbGluZS1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCB7U291cmNlQ29udHJvbERpYWxvZ0NvbXBvbmVudCBhcyDJtWJkfSBmcm9tICcuL2xpYi9kaWFsb2dzL3NvdXJjZS1jb250cm9sLWRpYWxvZy9zb3VyY2UtY29udHJvbC1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCB7QW5hbHl0aWNzQ2FyZENvbXBvbmVudCBhcyDJtXN9IGZyb20gJy4vbGliL2VsZW1lbnRzL2FuYWx5dGljcy1jYXJkL2FuYWx5dGljcy1jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQge0Jhc2VGb3JtQ29tcG9uZW50IGFzIMm1an0gZnJvbSAnLi9saWIvZWxlbWVudHMvYmFzZS1mb3JtL2Jhc2UtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0IHtDYXJkQ2Fyb3VzZWxDb21wb25lbnQgYXMgybV4fSBmcm9tICcuL2xpYi9lbGVtZW50cy9jYXJkLWNhcm91c2VsL2NhcmQtY2Fyb3VzZWwuY29tcG9uZW50JztcbmV4cG9ydCB7Q29sdW1uSW5mb0NhcmRDb21wb25lbnQgYXMgybVwfSBmcm9tICcuL2xpYi9lbGVtZW50cy9jb2x1bW4taW5mby1jYXJkL2NvbHVtbi1pbmZvLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCB7RHluYW1pY1RhYnNDb21wb25lbnQgYXMgybVhfSBmcm9tICcuL2xpYi9lbGVtZW50cy9keW5hbWljLXRhYnMvZHluYW1pYy10YWJzLmNvbXBvbmVudCc7XG5leHBvcnQge0ZlZWRDYXJkU21Db21wb25lbnQgYXMgybV0fSBmcm9tICcuL2xpYi9lbGVtZW50cy9mZWVkLWNhcmQtc20vZmVlZC1jYXJkLXNtLmNvbXBvbmVudCc7XG5leHBvcnQge0Zvcm1DYXJkQ29tcG9uZW50IGFzIMm1aX0gZnJvbSAnLi9saWIvZWxlbWVudHMvZm9ybS1jYXJkL2Zvcm0tY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0IHtHaENvbnRyb2xDb21wb25lbnQgYXMgybV1fSBmcm9tICcuL2xpYi9lbGVtZW50cy9naC1jb250cm9sL2doLWNvbnRyb2wuY29tcG9uZW50JztcbmV4cG9ydCB7TWFpbkZlZWRDYXJkQ29tcG9uZW50IGFzIMm1dn0gZnJvbSAnLi9saWIvZWxlbWVudHMvbWFpbi1mZWVkLWNhcmQvbWFpbi1mZWVkLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCB7UHJvamVjdEluZm9DYXJkQ29tcG9uZW50IGFzIMm1cn0gZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdC1pbmZvLWNhcmQvcHJvamVjdC1pbmZvLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCB7QnVpbGRzQ29tcG9uZW50IGFzIMm1Z30gZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvYnVpbGRzL2J1aWxkcy5jb21wb25lbnQnO1xuZXhwb3J0IHtIZWFkZXJDb21wb25lbnQgYXMgybVifSBmcm9tICcuL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQge1Byb2plY3RJdGVtc0NvbXBvbmVudCBhcyDJtWZ9IGZyb20gJy4vbGliL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3Byb2plY3QtaXRlbXMvcHJvamVjdC1pdGVtcy5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9qZWN0VGFic0NvbXBvbmVudCBhcyDJtWN9IGZyb20gJy4vbGliL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3Byb2plY3QtdGFicy9wcm9qZWN0LXRhYnMuY29tcG9uZW50JztcbmV4cG9ydCB7UmVjZW50QWN0aXZpdGllc0NvbXBvbmVudCBhcyDJtWh9IGZyb20gJy4vbGliL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3JlY2VudC1hY3Rpdml0aWVzL3JlY2VudC1hY3Rpdml0aWVzLmNvbXBvbmVudCc7XG5leHBvcnQge0FwcHNGbG93Q29tcG9uZW50IGFzIMm1bH0gZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9hcHBzLWZsb3cvYXBwcy1mbG93LmNvbXBvbmVudCc7XG5leHBvcnQge05wbVBhY2thZ2VTZWxlY3RDb21wb25lbnQgYXMgybVvfSBmcm9tICcuL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2FwcHMtZmxvdy9ucG0tcGFja2FnZS1zZWxlY3QvbnBtLXBhY2thZ2Utc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQge0Rldk9wc0NvbXBvbmVudCBhcyDJtW19IGZyb20gJy4vbGliL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3RhYnMvZGV2b3BzL2Rldm9wcy5jb21wb25lbnQnO1xuZXhwb3J0IHtERlNNb2RpZmllcnNDb21wb25lbnQgYXMgybVufSBmcm9tICcuL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2Rmcy1tb2RpZmllcnMvZGZzLW1vZGlmaWVycy5jb21wb25lbnQnO1xuZXhwb3J0IHtEb21haW5zQ29tcG9uZW50IGFzIMm1ZX0gZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9kb21haW5zL2RvbWFpbnMuY29tcG9uZW50JztcbmV4cG9ydCB7QmFzZUZvcm1UZXN0Q29tcG9uZW50IGFzIMm1a30gZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9nZW5lcmFsL2Zvcm1zL2Jhc2UtZm9ybS10ZXN0L2Jhc2UtZm9ybS10ZXN0LmNvbXBvbmVudCc7XG5leHBvcnQge0dlbmVyYWxDb21wb25lbnQgYXMgybVkfSBmcm9tICcuL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2dlbmVyYWwvZ2VuZXJhbC5jb21wb25lbnQnO1xuZXhwb3J0IHtTbG90dGVkQ2FyZENvbXBvbmVudCBhcyDJtXF9IGZyb20gJy4vbGliL2VsZW1lbnRzL3Nsb3R0ZWQtY2FyZC9zbG90dGVkLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCB7VHdvQ29sdW1uSGVhZGVyQ29tcG9uZW50IGFzIMm1d30gZnJvbSAnLi9saWIvZWxlbWVudHMvdHdvLWNvbHVtbi1oZWFkZXIvdHdvLWNvbHVtbi1oZWFkZXIuY29tcG9uZW50JzsiXX0=
|