@coinflowlabs/angular 0.3.0 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -0
- package/esm2022/lib/card-form/coinflow-card-number-input.component.mjs +12 -2
- package/esm2022/lib/card-form/coinflow-card-number-only-input.component.mjs +12 -2
- package/esm2022/lib/card-form/coinflow-cvv-only-input.component.mjs +12 -2
- package/esm2022/lib/common/CoinflowLibMessageHandlers.mjs +71 -31
- package/esm2022/lib/common/CoinflowTypes.mjs +1 -1
- package/esm2022/lib/common/CoinflowUtils.mjs +4 -66
- package/fesm2022/coinflowlabs-angular.mjs +106 -98
- package/fesm2022/coinflowlabs-angular.mjs.map +1 -1
- package/lib/card-form/coinflow-card-number-input.component.d.ts +5 -1
- package/lib/card-form/coinflow-card-number-only-input.component.d.ts +5 -1
- package/lib/card-form/coinflow-cvv-only-input.component.d.ts +5 -1
- package/lib/common/CoinflowLibMessageHandlers.d.ts +4 -4
- package/lib/common/CoinflowTypes.d.ts +39 -13
- package/lib/common/CoinflowUtils.d.ts +2 -15
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -4,6 +4,14 @@ This library was generated with [Angular CLI](https://github.com/angular/angular
|
|
|
4
4
|
|
|
5
5
|
# Changelog
|
|
6
6
|
|
|
7
|
+
## 0.3.2
|
|
8
|
+
|
|
9
|
+
- Added `reinitialize` method to `CoinflowCvvOnlyInputComponent`, `CoinflowCardNumberInput`, and `CoinflowCardNumberOnlyInput`
|
|
10
|
+
|
|
11
|
+
## 0.3.1
|
|
12
|
+
|
|
13
|
+
- Added sessionKey authentication mechanism to `CoinflowWithdraw`
|
|
14
|
+
|
|
7
15
|
## 0.3.0
|
|
8
16
|
|
|
9
17
|
- Added sessionKey authentication mechanism to `CoinflowPurchase`
|
|
@@ -20,12 +20,22 @@ export class CoinflowCardNumberInput {
|
|
|
20
20
|
.then(iframe => (this.iframe = iframe))
|
|
21
21
|
.catch(e => console.error(e));
|
|
22
22
|
}
|
|
23
|
-
|
|
23
|
+
initializeTokenEx() {
|
|
24
24
|
setTokenExScriptTag({
|
|
25
25
|
env: this.args.env,
|
|
26
26
|
setTokenExScriptLoaded: this.onScriptLoaded.bind(this),
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
|
+
reinitialize() {
|
|
30
|
+
this.iframe = undefined;
|
|
31
|
+
this.initializeTokenEx();
|
|
32
|
+
}
|
|
33
|
+
ngOnInit() {
|
|
34
|
+
this.initializeTokenEx();
|
|
35
|
+
}
|
|
36
|
+
ngOnDestroy() {
|
|
37
|
+
this.iframe = undefined;
|
|
38
|
+
}
|
|
29
39
|
tokenize() {
|
|
30
40
|
return this.iframe.tokenize();
|
|
31
41
|
}
|
|
@@ -43,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
43
53
|
}], propDecorators: { args: [{
|
|
44
54
|
type: Input
|
|
45
55
|
}] } });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbmZsb3ctY2FyZC1udW1iZXItaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29pbmZsb3dsYWJzL3NyYy9saWIvY2FyZC1mb3JtL2NvaW5mbG93LWNhcmQtbnVtYmVyLWlucHV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUVMLG1CQUFtQixFQUNuQix5QkFBeUIsR0FFMUIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG1CQUFtQixDQUFDOztBQVFsRCxNQUFNLE9BQU8sdUJBQXVCO0lBTnBDO1FBT1Usb0JBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFMUMsV0FBTSxHQUE4QixTQUFTLENBQUM7UUF1Q25DLDhCQUF5QixHQUFHLHlCQUF5QixDQUFDO0tBQzFFO0lBdENTLGNBQWM7UUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxlQUFlO2FBQ2pCLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3RDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ2xDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFDdEIsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUMxQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1NBQ3JCLENBQUM7YUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUM7YUFDdEMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsbUJBQW1CLENBQUM7WUFDbEIsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRztZQUNsQixzQkFBc0IsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDdkQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDeEIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsTUFBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7K0dBeENVLHVCQUF1QjttR0FBdkIsdUJBQXVCLG9IQUZ4QixnREFBZ0Q7OzRGQUUvQyx1QkFBdUI7a0JBTm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdDQUFnQztvQkFDMUMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxFQUFFO29CQUNYLFFBQVEsRUFBRSxnREFBZ0Q7aUJBQzNEOzhCQUdVLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29pbmZsb3dDYXJkTnVtYmVySW5wdXRQcm9wcyxcbiAgc2V0VG9rZW5FeFNjcmlwdFRhZyxcbiAgVG9rZW5FeENhcmROdW1iZXJJZnJhbWVJZCxcbiAgVG9rZW5FeElmcmFtZSxcbn0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7Q2FyZEZvcm1TZXJ2aWNlfSBmcm9tICcuL0NhcmRGb3JtU2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1jb2luZmxvdy1jYXJkLW51bWJlci1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtdLFxuICB0ZW1wbGF0ZTogJzxkaXYgaWQ9XCJ7e1Rva2VuRXhDYXJkTnVtYmVySWZyYW1lSWR9fVwiPjwvZGl2PicsXG59KVxuZXhwb3J0IGNsYXNzIENvaW5mbG93Q2FyZE51bWJlcklucHV0IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBjYXJkRm9ybVNlcnZpY2UgPSBpbmplY3QoQ2FyZEZvcm1TZXJ2aWNlKTtcbiAgQElucHV0KCkgYXJncyE6IENvaW5mbG93Q2FyZE51bWJlcklucHV0UHJvcHM7XG4gIHByaXZhdGUgaWZyYW1lOiBUb2tlbkV4SWZyYW1lIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgb25TY3JpcHRMb2FkZWQoKSB7XG4gICAgY29uc29sZS5sb2coJ29uU2NyaXB0TG9hZGVkJyk7XG4gICAgdGhpcy5jYXJkRm9ybVNlcnZpY2VcbiAgICAgIC5pbml0aWFsaXplVG9rZW5FeElmcmFtZSh0aGlzLmFyZ3MuZW52LCB7XG4gICAgICAgIGNzczogSlNPTi5zdHJpbmdpZnkodGhpcy5hcmdzLmNzcyksXG4gICAgICAgIGRlYnVnOiB0aGlzLmFyZ3MuZGVidWcsXG4gICAgICAgIG9yaWdpbnM6IHRoaXMuYXJncy5vcmlnaW5zLFxuICAgICAgICBmb250OiB0aGlzLmFyZ3MuZm9udCxcbiAgICAgIH0pXG4gICAgICAudGhlbihpZnJhbWUgPT4gKHRoaXMuaWZyYW1lID0gaWZyYW1lKSlcbiAgICAgIC5jYXRjaChlID0+IGNvbnNvbGUuZXJyb3IoZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplVG9rZW5FeCgpIHtcbiAgICBzZXRUb2tlbkV4U2NyaXB0VGFnKHtcbiAgICAgIGVudjogdGhpcy5hcmdzLmVudixcbiAgICAgIHNldFRva2VuRXhTY3JpcHRMb2FkZWQ6IHRoaXMub25TY3JpcHRMb2FkZWQuYmluZCh0aGlzKSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZWluaXRpYWxpemUoKSB7XG4gICAgdGhpcy5pZnJhbWUgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5pbml0aWFsaXplVG9rZW5FeCgpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0aWFsaXplVG9rZW5FeCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5pZnJhbWUgPSB1bmRlZmluZWQ7XG4gIH1cblxuICB0b2tlbml6ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5pZnJhbWUhLnRva2VuaXplKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgVG9rZW5FeENhcmROdW1iZXJJZnJhbWVJZCA9IFRva2VuRXhDYXJkTnVtYmVySWZyYW1lSWQ7XG59XG4iXX0=
|
|
@@ -20,12 +20,22 @@ export class CoinflowCardNumberOnlyInput {
|
|
|
20
20
|
.then(iframe => (this.iframe = iframe))
|
|
21
21
|
.catch(e => console.error(e));
|
|
22
22
|
}
|
|
23
|
-
|
|
23
|
+
initializeTokenEx() {
|
|
24
24
|
setTokenExScriptTag({
|
|
25
25
|
env: this.args.env,
|
|
26
26
|
setTokenExScriptLoaded: this.onScriptLoaded.bind(this),
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
|
+
reinitialize() {
|
|
30
|
+
this.iframe = undefined;
|
|
31
|
+
this.initializeTokenEx();
|
|
32
|
+
}
|
|
33
|
+
ngOnInit() {
|
|
34
|
+
this.initializeTokenEx();
|
|
35
|
+
}
|
|
36
|
+
ngOnDestroy() {
|
|
37
|
+
this.iframe = undefined;
|
|
38
|
+
}
|
|
29
39
|
tokenize() {
|
|
30
40
|
return this.iframe.tokenize();
|
|
31
41
|
}
|
|
@@ -43,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
43
53
|
}], propDecorators: { args: [{
|
|
44
54
|
type: Input
|
|
45
55
|
}] } });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbmZsb3ctY2FyZC1udW1iZXItb25seS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2luZmxvd2xhYnMvc3JjL2xpYi9jYXJkLWZvcm0vY29pbmZsb3ctY2FyZC1udW1iZXItb25seS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFFTCxtQkFBbUIsRUFDbkIseUJBQXlCLEdBRTFCLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQzs7QUFRbEQsTUFBTSxPQUFPLDJCQUEyQjtJQU54QztRQU9VLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTFDLFdBQU0sR0FBOEIsU0FBUyxDQUFDO1FBdUNuQyw4QkFBeUIsR0FBRyx5QkFBeUIsQ0FBQztLQUMxRTtJQXRDUyxjQUFjO1FBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsZUFBZTthQUNqQiwrQkFBK0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUM5QyxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNsQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQ3RCLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFDMUIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtTQUNyQixDQUFDO2FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDO2FBQ3RDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLG1CQUFtQixDQUFDO1lBQ2xCLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDbEIsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ3ZELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxZQUFZO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE1BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDOytHQXhDVSwyQkFBMkI7bUdBQTNCLDJCQUEyQix5SEFGNUIsZ0RBQWdEOzs0RkFFL0MsMkJBQTJCO2tCQU52QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQ0FBcUM7b0JBQy9DLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsRUFBRTtvQkFDWCxRQUFRLEVBQUUsZ0RBQWdEO2lCQUMzRDs4QkFHVSxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvaW5mbG93Q2FyZE51bWJlcklucHV0UHJvcHMsXG4gIHNldFRva2VuRXhTY3JpcHRUYWcsXG4gIFRva2VuRXhDYXJkTnVtYmVySWZyYW1lSWQsXG4gIFRva2VuRXhJZnJhbWUsXG59IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQge0NhcmRGb3JtU2VydmljZX0gZnJvbSAnLi9DYXJkRm9ybVNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItY29pbmZsb3ctY2FyZC1udW1iZXItb25seS1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtdLFxuICB0ZW1wbGF0ZTogJzxkaXYgaWQ9XCJ7e1Rva2VuRXhDYXJkTnVtYmVySWZyYW1lSWR9fVwiPjwvZGl2PicsXG59KVxuZXhwb3J0IGNsYXNzIENvaW5mbG93Q2FyZE51bWJlck9ubHlJbnB1dCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgY2FyZEZvcm1TZXJ2aWNlID0gaW5qZWN0KENhcmRGb3JtU2VydmljZSk7XG4gIEBJbnB1dCgpIGFyZ3MhOiBDb2luZmxvd0NhcmROdW1iZXJJbnB1dFByb3BzO1xuICBwcml2YXRlIGlmcmFtZTogVG9rZW5FeElmcmFtZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIG9uU2NyaXB0TG9hZGVkKCkge1xuICAgIGNvbnNvbGUubG9nKCdvblNjcmlwdExvYWRlZCcpO1xuICAgIHRoaXMuY2FyZEZvcm1TZXJ2aWNlXG4gICAgICAuaW5pdGlhbGl6ZVRva2VuRXhDYXJkT25seUlmcmFtZSh0aGlzLmFyZ3MuZW52LCB7XG4gICAgICAgIGNzczogSlNPTi5zdHJpbmdpZnkodGhpcy5hcmdzLmNzcyksXG4gICAgICAgIGRlYnVnOiB0aGlzLmFyZ3MuZGVidWcsXG4gICAgICAgIG9yaWdpbnM6IHRoaXMuYXJncy5vcmlnaW5zLFxuICAgICAgICBmb250OiB0aGlzLmFyZ3MuZm9udCxcbiAgICAgIH0pXG4gICAgICAudGhlbihpZnJhbWUgPT4gKHRoaXMuaWZyYW1lID0gaWZyYW1lKSlcbiAgICAgIC5jYXRjaChlID0+IGNvbnNvbGUuZXJyb3IoZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplVG9rZW5FeCgpIHtcbiAgICBzZXRUb2tlbkV4U2NyaXB0VGFnKHtcbiAgICAgIGVudjogdGhpcy5hcmdzLmVudixcbiAgICAgIHNldFRva2VuRXhTY3JpcHRMb2FkZWQ6IHRoaXMub25TY3JpcHRMb2FkZWQuYmluZCh0aGlzKSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZWluaXRpYWxpemUoKSB7XG4gICAgdGhpcy5pZnJhbWUgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5pbml0aWFsaXplVG9rZW5FeCgpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0aWFsaXplVG9rZW5FeCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5pZnJhbWUgPSB1bmRlZmluZWQ7XG4gIH1cblxuICB0b2tlbml6ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5pZnJhbWUhLnRva2VuaXplKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgVG9rZW5FeENhcmROdW1iZXJJZnJhbWVJZCA9IFRva2VuRXhDYXJkTnVtYmVySWZyYW1lSWQ7XG59XG4iXX0=
|
|
@@ -21,12 +21,22 @@ export class CoinflowCvvOnlyInputComponent {
|
|
|
21
21
|
.then(iframe => (this.iframe = iframe))
|
|
22
22
|
.catch(e => console.error(e));
|
|
23
23
|
}
|
|
24
|
-
|
|
24
|
+
initializeTokenEx() {
|
|
25
25
|
setTokenExScriptTag({
|
|
26
26
|
env: this.args.env,
|
|
27
27
|
setTokenExScriptLoaded: this.onScriptLoaded.bind(this),
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
|
+
reinitialize() {
|
|
31
|
+
this.iframe = undefined;
|
|
32
|
+
this.initializeTokenEx();
|
|
33
|
+
}
|
|
34
|
+
ngOnInit() {
|
|
35
|
+
this.initializeTokenEx();
|
|
36
|
+
}
|
|
37
|
+
ngOnDestroy() {
|
|
38
|
+
this.iframe = undefined;
|
|
39
|
+
}
|
|
30
40
|
tokenize() {
|
|
31
41
|
return this.iframe.tokenize();
|
|
32
42
|
}
|
|
@@ -44,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
44
54
|
}], propDecorators: { args: [{
|
|
45
55
|
type: Input
|
|
46
56
|
}] } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbmZsb3ctY3Z2LW9ubHktaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29pbmZsb3dsYWJzL3NyYy9saWIvY2FyZC1mb3JtL2NvaW5mbG93LWN2di1vbmx5LWlucHV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUVMLG1CQUFtQixFQUNuQixxQkFBcUIsR0FFdEIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG1CQUFtQixDQUFDOztBQVFsRCxNQUFNLE9BQU8sNkJBQTZCO0lBTjFDO1FBT1Usb0JBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFMUMsV0FBTSxHQUE4QixTQUFTLENBQUM7UUF3Q25DLDBCQUFxQixHQUFHLHFCQUFxQixDQUFDO0tBQ2xFO0lBdkNTLGNBQWM7UUFDcEIsSUFBSSxDQUFDLGVBQWU7YUFDakIsOEJBQThCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDN0MsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDbEMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUN0QixPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQzFCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFDcEIsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUN0QixRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO1NBQzdCLENBQUM7YUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUM7YUFDdEMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsbUJBQW1CLENBQUM7WUFDbEIsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRztZQUNsQixzQkFBc0IsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDdkQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDeEIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsTUFBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7K0dBekNVLDZCQUE2QjttR0FBN0IsNkJBQTZCLGlIQUY5Qiw0Q0FBNEM7OzRGQUUzQyw2QkFBNkI7a0JBTnpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxFQUFFO29CQUNYLFFBQVEsRUFBRSw0Q0FBNEM7aUJBQ3ZEOzhCQUdVLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29pbmZsb3dDdnZPbmx5SW5wdXRQcm9wcyxcbiAgc2V0VG9rZW5FeFNjcmlwdFRhZyxcbiAgVG9rZW5FeEN2dkNvbnRhaW5lcklELFxuICBUb2tlbkV4SWZyYW1lLFxufSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHtDYXJkRm9ybVNlcnZpY2V9IGZyb20gJy4vQ2FyZEZvcm1TZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWNvaW5mbG93LWN2di1vbmx5LWlucHV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW10sXG4gIHRlbXBsYXRlOiAnPGRpdiBpZD1cInt7VG9rZW5FeEN2dkNvbnRhaW5lcklEfX1cIj48L2Rpdj4nLFxufSlcbmV4cG9ydCBjbGFzcyBDb2luZmxvd0N2dk9ubHlJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgY2FyZEZvcm1TZXJ2aWNlID0gaW5qZWN0KENhcmRGb3JtU2VydmljZSk7XG4gIEBJbnB1dCgpIGFyZ3MhOiBDb2luZmxvd0N2dk9ubHlJbnB1dFByb3BzO1xuICBwcml2YXRlIGlmcmFtZTogVG9rZW5FeElmcmFtZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIG9uU2NyaXB0TG9hZGVkKCkge1xuICAgIHRoaXMuY2FyZEZvcm1TZXJ2aWNlXG4gICAgICAuaW5pdGlhbGl6ZUN2dk9ubHlUb2tlbkV4SWZyYW1lKHRoaXMuYXJncy5lbnYsIHtcbiAgICAgICAgY3NzOiBKU09OLnN0cmluZ2lmeSh0aGlzLmFyZ3MuY3NzKSxcbiAgICAgICAgZGVidWc6IHRoaXMuYXJncy5kZWJ1ZyxcbiAgICAgICAgb3JpZ2luczogdGhpcy5hcmdzLm9yaWdpbnMsXG4gICAgICAgIGZvbnQ6IHRoaXMuYXJncy5mb250LFxuICAgICAgICB0b2tlbjogdGhpcy5hcmdzLnRva2VuLFxuICAgICAgICBjYXJkVHlwZTogdGhpcy5hcmdzLmNhcmRUeXBlLFxuICAgICAgfSlcbiAgICAgIC50aGVuKGlmcmFtZSA9PiAodGhpcy5pZnJhbWUgPSBpZnJhbWUpKVxuICAgICAgLmNhdGNoKGUgPT4gY29uc29sZS5lcnJvcihlKSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVUb2tlbkV4KCkge1xuICAgIHNldFRva2VuRXhTY3JpcHRUYWcoe1xuICAgICAgZW52OiB0aGlzLmFyZ3MuZW52LFxuICAgICAgc2V0VG9rZW5FeFNjcmlwdExvYWRlZDogdGhpcy5vblNjcmlwdExvYWRlZC5iaW5kKHRoaXMpLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlaW5pdGlhbGl6ZSgpIHtcbiAgICB0aGlzLmlmcmFtZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmluaXRpYWxpemVUb2tlbkV4KCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXRpYWxpemVUb2tlbkV4KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmlmcmFtZSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHRva2VuaXplKCkge1xuICAgIHJldHVybiB0aGlzLmlmcmFtZSEudG9rZW5pemUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWFkb25seSBUb2tlbkV4Q3Z2Q29udGFpbmVySUQgPSBUb2tlbkV4Q3Z2Q29udGFpbmVySUQ7XG59XG4iXX0=
|
|
@@ -7,20 +7,28 @@ var IFrameMessageMethods;
|
|
|
7
7
|
IFrameMessageMethods["SendTransaction"] = "sendTransaction";
|
|
8
8
|
IFrameMessageMethods["HeightChange"] = "heightChange";
|
|
9
9
|
IFrameMessageMethods["Success"] = "success";
|
|
10
|
-
IFrameMessageMethods["
|
|
10
|
+
IFrameMessageMethods["Loaded"] = "loaded";
|
|
11
11
|
})(IFrameMessageMethods || (IFrameMessageMethods = {}));
|
|
12
12
|
export function getWalletPubkey(input) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
13
|
+
let wallet;
|
|
14
|
+
if ('signer' in input &&
|
|
15
|
+
typeof input.signer === 'object' &&
|
|
16
|
+
input.signer &&
|
|
17
|
+
'wallet' in input.signer)
|
|
18
|
+
wallet = input.signer.wallet;
|
|
19
|
+
else if ('wallet' in input && input.wallet)
|
|
20
|
+
wallet = input.wallet;
|
|
21
|
+
if (!wallet)
|
|
22
|
+
return;
|
|
23
|
+
if (typeof wallet === 'string')
|
|
24
|
+
return wallet;
|
|
25
|
+
if (typeof wallet === 'object') {
|
|
26
|
+
if ('publicKey' in wallet)
|
|
27
|
+
return wallet.publicKey ? wallet.publicKey.toString() : undefined;
|
|
28
|
+
if ('address' in wallet)
|
|
29
|
+
return wallet.address ? wallet.address : undefined;
|
|
30
|
+
if ('accountId' in wallet)
|
|
31
|
+
return wallet.accountId ? wallet.accountId : undefined;
|
|
24
32
|
}
|
|
25
33
|
return null;
|
|
26
34
|
}
|
|
@@ -56,32 +64,66 @@ export function handleIFrameMessage(rawMessage, handlers) {
|
|
|
56
64
|
return;
|
|
57
65
|
handlers.onSuccess(walletCall.info);
|
|
58
66
|
return;
|
|
67
|
+
case IFrameMessageMethods.Loaded:
|
|
68
|
+
return;
|
|
59
69
|
}
|
|
60
70
|
console.warn(`Didn't expect to get here, handleIFrameMessage method:${method} is not one of ${Object.values(IFrameMessageMethods)}`);
|
|
61
71
|
}
|
|
62
72
|
export function getHandlers(props) {
|
|
63
|
-
|
|
73
|
+
let chain;
|
|
74
|
+
let wallet;
|
|
75
|
+
if ('signer' in props &&
|
|
76
|
+
typeof props.signer === 'object' &&
|
|
77
|
+
props.signer &&
|
|
78
|
+
'blockchain' in props.signer &&
|
|
79
|
+
'wallet' in props.signer) {
|
|
80
|
+
chain = props.signer.blockchain;
|
|
81
|
+
wallet = props.signer.wallet;
|
|
82
|
+
}
|
|
83
|
+
else if ('blockchain' in props && props.blockchain) {
|
|
84
|
+
chain = props.blockchain;
|
|
85
|
+
wallet = props.wallet;
|
|
86
|
+
}
|
|
87
|
+
if (!chain) {
|
|
64
88
|
return {
|
|
65
89
|
handleSendTransaction: () => {
|
|
66
|
-
throw new Error('handleSendTransaction Not Implemented
|
|
90
|
+
throw new Error('handleSendTransaction Not Implemented');
|
|
67
91
|
},
|
|
68
92
|
handleSignMessage: () => {
|
|
69
|
-
throw new Error('handleSendTransaction Not Implemented
|
|
93
|
+
throw new Error('handleSendTransaction Not Implemented');
|
|
70
94
|
},
|
|
71
95
|
handleSignTransaction: () => {
|
|
72
|
-
throw new Error('handleSendTransaction Not Implemented
|
|
96
|
+
throw new Error('handleSendTransaction Not Implemented');
|
|
73
97
|
},
|
|
74
98
|
onSuccess: props.onSuccess,
|
|
75
99
|
};
|
|
76
100
|
}
|
|
77
|
-
return CoinflowUtils.byBlockchain(
|
|
78
|
-
solana: () => getSolanaWalletHandlers(
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
101
|
+
return CoinflowUtils.byBlockchain(chain, {
|
|
102
|
+
solana: () => getSolanaWalletHandlers({
|
|
103
|
+
wallet: wallet,
|
|
104
|
+
onSuccess: props.onSuccess,
|
|
105
|
+
}),
|
|
106
|
+
near: () => getNearWalletHandlers({
|
|
107
|
+
wallet: wallet,
|
|
108
|
+
onSuccess: props.onSuccess,
|
|
109
|
+
}),
|
|
110
|
+
eth: () => getEvmWalletHandlers({
|
|
111
|
+
wallet: wallet,
|
|
112
|
+
onSuccess: props.onSuccess,
|
|
113
|
+
}),
|
|
114
|
+
polygon: () => getEvmWalletHandlers({
|
|
115
|
+
wallet: wallet,
|
|
116
|
+
onSuccess: props.onSuccess,
|
|
117
|
+
}),
|
|
118
|
+
base: () => getEvmWalletHandlers({
|
|
119
|
+
wallet: wallet,
|
|
120
|
+
onSuccess: props.onSuccess,
|
|
121
|
+
}),
|
|
122
|
+
arbitrum: () => getEvmWalletHandlers({
|
|
123
|
+
wallet: wallet,
|
|
124
|
+
onSuccess: props.onSuccess,
|
|
125
|
+
}),
|
|
126
|
+
user: () => getSessionKeyHandlers(props),
|
|
85
127
|
})();
|
|
86
128
|
}
|
|
87
129
|
function getSolanaWalletHandlers({ wallet, onSuccess, }) {
|
|
@@ -129,11 +171,10 @@ function getSolanaTransaction(data) {
|
|
|
129
171
|
return vtx;
|
|
130
172
|
}
|
|
131
173
|
function getNearWalletHandlers({ wallet, onSuccess, }) {
|
|
132
|
-
const nearWallet = wallet;
|
|
133
174
|
return {
|
|
134
175
|
handleSendTransaction: async (transaction) => {
|
|
135
176
|
const action = JSON.parse(Buffer.from(transaction, 'base64').toString());
|
|
136
|
-
const executionOutcome = await
|
|
177
|
+
const executionOutcome = await wallet.signAndSendTransaction(action);
|
|
137
178
|
if (!executionOutcome)
|
|
138
179
|
throw new Error('Transaction did not send');
|
|
139
180
|
const { transaction: transactionResult } = executionOutcome;
|
|
@@ -143,20 +184,19 @@ function getNearWalletHandlers({ wallet, onSuccess, }) {
|
|
|
143
184
|
};
|
|
144
185
|
}
|
|
145
186
|
function getEvmWalletHandlers({ wallet, onSuccess, }) {
|
|
146
|
-
const evmWallet = wallet;
|
|
147
187
|
return {
|
|
148
188
|
handleSendTransaction: async (transaction) => {
|
|
149
189
|
const tx = JSON.parse(Buffer.from(transaction, 'base64').toString());
|
|
150
|
-
const { hash } = await
|
|
190
|
+
const { hash } = await wallet.sendTransaction(tx);
|
|
151
191
|
return hash;
|
|
152
192
|
},
|
|
153
193
|
handleSignMessage: async (message) => {
|
|
154
|
-
return
|
|
194
|
+
return wallet.signMessage(message);
|
|
155
195
|
},
|
|
156
196
|
onSuccess,
|
|
157
197
|
};
|
|
158
198
|
}
|
|
159
|
-
function
|
|
199
|
+
function getSessionKeyHandlers({ onSuccess, }) {
|
|
160
200
|
return {
|
|
161
201
|
handleSendTransaction: async () => {
|
|
162
202
|
return Promise.resolve('');
|
|
@@ -164,4 +204,4 @@ function getIdWalletHandlers({ onSuccess, }) {
|
|
|
164
204
|
onSuccess,
|
|
165
205
|
};
|
|
166
206
|
}
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29pbmZsb3dMaWJNZXNzYWdlSGFuZGxlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2luZmxvd2xhYnMvc3JjL2xpYi9jb21tb24vQ29pbmZsb3dMaWJNZXNzYWdlSGFuZGxlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE9BQU8sRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFvQjlDLElBQUssb0JBT0o7QUFQRCxXQUFLLG9CQUFvQjtJQUN2QixtREFBMkIsQ0FBQTtJQUMzQiwyREFBbUMsQ0FBQTtJQUNuQywyREFBbUMsQ0FBQTtJQUNuQyxxREFBNkIsQ0FBQTtJQUM3QiwyQ0FBbUIsQ0FBQTtJQUNuQixxQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQVBJLG9CQUFvQixLQUFwQixvQkFBb0IsUUFPeEI7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUM3QixLQUV1RDtJQUV2RCxJQUFJLFFBQVEsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3RDLE1BQU0sRUFBQyxNQUFNLEVBQUMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxXQUFXLElBQUksTUFBTSxFQUFFLENBQUM7WUFDMUIsT0FBTyxNQUFNLENBQUMsU0FBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RDLENBQUM7UUFFRCxJQUFJLFNBQVMsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUN4QixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDeEIsQ0FBQztRQUVELElBQUksV0FBVyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQzFCLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFB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Q0FBQztRQUNELFNBQVM7S0FDVixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvaW5mbG93UHVyY2hhc2VQcm9wcyxcbiAgQ29pbmZsb3dTZXNzaW9uS2V5UHVyY2hhc2VQcm9wcyxcbiAgRXRoV2FsbGV0LFxuICBOZWFyV2FsbGV0LFxuICBPblN1Y2Nlc3NNZXRob2QsXG4gIFNvbGFuYVdhbGxldCxcbn0gZnJvbSAnLi9Db2luZmxvd1R5cGVzJztcbmltcG9ydCB7Q29pbmZsb3dVdGlsc30gZnJvbSAnLi9Db2luZmxvd1V0aWxzJztcbmltcG9ydCB0eXBlIHtUcmFuc2FjdGlvbiwgVmVyc2lvbmVkVHJhbnNhY3Rpb259IGZyb20gJ0Bzb2xhbmEvd2ViMy5qcyc7XG5pbXBvcnQge3dlYjMsIGJhc2U1OH0gZnJvbSAnLi9Tb2xhbmFQZWVyRGVwcyc7XG5cbmV4cG9ydCB0eXBlIFdhbGxldENhbGwgPVxuICB8IHttZXRob2Q6IElGcmFtZU1lc3NhZ2VNZXRob2RzOyBkYXRhOiBzdHJpbmd9XG4gIHwgU3VjY2Vzc1dhbGxldENhbGw7XG5cbnR5cGUgU3VjY2Vzc1dhbGxldENhbGwgPSB7XG4gIG1ldGhvZDogSUZyYW1lTWVzc2FnZU1ldGhvZHMuU3VjY2VzcztcbiAgZGF0YTogc3RyaW5nO1xuICBpbmZvOiB7cGF5bWVudElkOiBzdHJpbmc7IGhhc2g/OiBzdHJpbmd9O1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBJRnJhbWVNZXNzYWdlSGFuZGxlcnMge1xuICBoYW5kbGVTZW5kVHJhbnNhY3Rpb246ICh0cmFuc2FjdGlvbjogc3RyaW5nKSA9PiBQcm9taXNlPHN0cmluZz47XG4gIGhhbmRsZVNpZ25NZXNzYWdlPzogKG1lc3NhZ2U6IHN0cmluZykgPT4gUHJvbWlzZTxzdHJpbmc+O1xuICBoYW5kbGVTaWduVHJhbnNhY3Rpb24/OiAodHJhbnNhY3Rpb246IHN0cmluZykgPT4gUHJvbWlzZTxzdHJpbmc+O1xuICBoYW5kbGVIZWlnaHRDaGFuZ2U/OiAoaGVpZ2h0OiBzdHJpbmcpID0+IHZvaWQ7XG4gIG9uU3VjY2VzczogT25TdWNjZXNzTWV0aG9kIHwgdW5kZWZpbmVkO1xufVxuXG5lbnVtIElGcmFtZU1lc3NhZ2VNZXRob2RzIHtcbiAgU2lnbk1lc3NhZ2UgPSAnc2lnbk1lc3NhZ2UnLFxuICBTaWduVHJhbnNhY3Rpb24gPSAnc2lnblRyYW5zYWN0aW9uJyxcbiAgU2VuZFRyYW5zYWN0aW9uID0gJ3NlbmRUcmFuc2FjdGlvbicsXG4gIEhlaWdodENoYW5nZSA9ICdoZWlnaHRDaGFuZ2UnLFxuICBTdWNjZXNzID0gJ3N1Y2Nlc3MnLFxuICBMb2FkID0gJ2xvYWQnLFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0V2FsbGV0UHVia2V5KFxuICBpbnB1dDpcbiAgICB8IFBpY2s8Q29pbmZsb3dQdXJjaGFzZVByb3BzLCAnd2FsbGV0Jz5cbiAgICB8IFBpY2s8Q29pbmZsb3dTZXNzaW9uS2V5UHVyY2hhc2VQcm9wcywgJ3Nlc3Npb25LZXknPlxuKTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gIGlmICgnd2FsbGV0JyBpbiBpbnB1dCAmJiBpbnB1dC53YWxsZXQpIHtcbiAgICBjb25zdCB7d2FsbGV0fSA9IGlucHV0O1xuICAgIGlmICgncHVibGljS2V5JyBpbiB3YWxsZXQpIHtcbiAgICAgIHJldHVybiB3YWxsZXQucHVibGljS2V5IS50b1N0cmluZygpO1xuICAgIH1cblxuICAgIGlmICgnYWRkcmVzcycgaW4gd2FsbGV0KSB7XG4gICAgICByZXR1cm4gd2FsbGV0LmFkZHJlc3M7XG4gICAgfVxuXG4gICAgaWYgKCdhY2NvdW50SWQnIGluIHdhbGxldCkge1xuICAgICAgcmV0dXJuIHdhbGxldC5hY2NvdW50SWQ7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVJRnJhbWVNZXNzYWdlKFxuICByYXdNZXNzYWdlOiBzdHJpbmcsXG4gIGhhbmRsZXJzOiBJRnJhbWVNZXNzYWdlSGFuZGxlcnNcbik6IFByb21pc2U8c3RyaW5nPiB8IHZvaWQge1xuICBsZXQgd2FsbGV0Q2FsbDogV2FsbGV0Q2FsbDtcbiAgdHJ5IHtcbiAgICB3YWxsZXRDYWxsID0gSlNPTi5wYXJzZShyYXdNZXNzYWdlKTtcbiAgICBpZiAoISgnbWV0aG9kJyBpbiB3YWxsZXRDYWxsKSB8fCAhKCdkYXRhJyBpbiB3YWxsZXRDYWxsKSkgcmV0dXJuO1xuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS5lcnJvcignaGFuZGxlSUZyYW1lTWVzc2FnZSBKU09OIHBhcnNlJywgZSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qge2RhdGEsIG1ldGhvZH0gPSB3YWxsZXRDYWxsO1xuICBzd2l0Y2ggKG1ldGhvZCkge1xuICAgIGNhc2UgSUZyYW1lTWVzc2FnZU1ldGhvZHMuU2lnbk1lc3NhZ2U6XG4gICAgICBpZiAoIWhhbmRsZXJzLmhhbmRsZVNpZ25NZXNzYWdlKSByZXR1cm47XG4gICAgICByZXR1cm4gaGFuZGxlcnMuaGFuZGxlU2lnbk1lc3NhZ2UoZGF0YSk7XG4gICAgY2FzZSBJRnJhbWVNZXNzYWdlTWV0aG9kcy5TaWduVHJhbnNhY3Rpb246XG4gICAgICBpZiAoIWhhbmRsZXJzLmhhbmRsZVNpZ25UcmFuc2FjdGlvbikgcmV0dXJuO1xuICAgICAgcmV0dXJuIGhhbmRsZXJzLmhhbmRsZVNpZ25UcmFuc2FjdGlvbihkYXRhKTtcbiAgICBjYXNlIElGcmFtZU1lc3NhZ2VNZXRob2RzLlNlbmRUcmFuc2FjdGlvbjpcbiAgICAgIHJldHVybiBoYW5kbGVycy5oYW5kbGVTZW5kVHJhbnNhY3Rpb24oZGF0YSk7XG4gICAgY2FzZSBJRnJhbWVNZXNzYWdlTWV0aG9kcy5IZWlnaHRDaGFuZ2U6XG4gICAgICBpZiAoIWhhbmRsZXJzLmhhbmRsZUhlaWdodENoYW5nZSkgcmV0dXJuO1xuICAgICAgcmV0dXJuIGhhbmRsZXJzLmhhbmRsZUhlaWdodENoYW5nZShkYXRhKTtcbiAgICBjYXNlIElGcmFtZU1lc3NhZ2VNZXRob2RzLlN1Y2Nlc3M6XG4gICAgICBpZiAoIWhhbmRsZXJzLm9uU3VjY2VzcykgcmV0dXJuO1xuICAgICAgaGFuZGxlcnMub25TdWNjZXNzKCh3YWxsZXRDYWxsIGFzIFN1Y2Nlc3NXYWxsZXRDYWxsKS5pbmZvKTtcbiAgICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnNvbGUud2FybihcbiAgICBgRGlkbid0IGV4cGVjdCB0byBnZXQgaGVyZSwgaGFuZGxlSUZyYW1lTWVzc2FnZSBtZXRob2Q6JHttZXRob2R9IGlzIG5vdCBvbmUgb2YgJHtPYmplY3QudmFsdWVzKElGcmFtZU1lc3NhZ2VNZXRob2RzKX1gXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIYW5kbGVycyhcbiAgcHJvcHM6IFBpY2s8Q29pbmZsb3dQdXJjaGFzZVByb3BzLCAnd2FsbGV0JyB8ICdibG9ja2NoYWluJyB8ICdvblN1Y2Nlc3MnPlxuKTogT21pdDxJRnJhbWVNZXNzYWdlSGFuZGxlcnMsICdoYW5kbGVIZWlnaHRDaGFuZ2UnPiB7XG4gIGlmICghcHJvcHMuYmxvY2tjaGFpbikge1xuICAgIHJldHVybiB7XG4gICAgICBoYW5kbGVTZW5kVHJhbnNhY3Rpb246ICgpID0+IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdoYW5kbGVTZW5kVHJhbnNhY3Rpb24gTm90IEltcGxlbWVudGVkIGZvciBzZXNzaW9uS2V5Jyk7XG4gICAgICB9LFxuICAgICAgaGFuZGxlU2lnbk1lc3NhZ2U6ICgpID0+IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdoYW5kbGVTZW5kVHJhbnNhY3Rpb24gTm90IEltcGxlbWVudGVkIGZvciBzZXNzaW9uS2V5Jyk7XG4gICAgICB9LFxuICAgICAgaGFuZGxlU2lnblRyYW5zYWN0aW9uOiAoKSA9PiB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignaGFuZGxlU2VuZFRyYW5zYWN0aW9uIE5vdCBJbXBsZW1lbnRlZCBmb3Igc2Vzc2lvbktleScpO1xuICAgICAgfSxcbiAgICAgIG9uU3VjY2VzczogcHJvcHMub25TdWNjZXNzLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4gQ29pbmZsb3dVdGlscy5ieUJsb2NrY2hhaW4ocHJvcHMuYmxvY2tjaGFpbiwge1xuICAgIHNvbGFuYTogKCkgPT4gZ2V0U29sYW5hV2FsbGV0SGFuZGxlcnMocHJvcHMpLFxuICAgIG5lYXI6ICgpID0+IGdldE5lYXJXYWxsZXRIYW5kbGVycyhwcm9wcyksXG4gICAgZXRoOiAoKSA9PiBnZXRFdm1XYWxsZXRIYW5kbGVycyhwcm9wcyksXG4gICAgcG9seWdvbjogKCkgPT4gZ2V0RXZtV2FsbGV0SGFuZGxlcnMocHJvcHMpLFxuICAgIGJhc2U6ICgpID0+IGdldEV2bVdhbGxldEhhbmRsZXJzKHByb3BzKSxcbiAgICBhcmJpdHJ1bTogKCkgPT4gZ2V0RXZtV2FsbGV0SGFuZGxlcnMocHJvcHMpLFxuICAgIHVzZXI6ICgpID0+IGdldElkV2FsbGV0SGFuZGxlcnMocHJvcHMpLFxuICB9KSgpO1xufVxuXG5mdW5jdGlvbiBnZXRTb2xhbmFXYWxsZXRIYW5kbGVycyh7XG4gIHdhbGxldCxcbiAgb25TdWNjZXNzLFxufTogUGljazxDb2luZmxvd1B1cmNoYXNlUHJvcHMsICd3YWxsZXQnIHwgJ29uU3VjY2Vzcyc+KTogT21pdDxcbiAgSUZyYW1lTWVzc2FnZUhhbmRsZXJzLFxuICAnaGFuZGxlSGVpZ2h0Q2hhbmdlJ1xuPiB7XG4gIHJldHVybiB7XG4gICAgaGFuZGxlU2VuZFRyYW5zYWN0aW9uOiBhc3luYyAodHJhbnNhY3Rpb246IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgdHggPSBnZXRTb2xhbmFUcmFuc2FjdGlvbih0cmFuc2FjdGlvbik7XG4gICAgICByZXR1cm4gYXdhaXQgKHdhbGxldCBhcyBTb2xhbmFXYWxsZXQpLnNlbmRUcmFuc2FjdGlvbih0eCk7XG4gICAgfSxcbiAgICBoYW5kbGVTaWduTWVzc2FnZTogYXN5bmMgKG1lc3NhZ2U6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3Qgc2lnbk1lc3NhZ2UgPSAod2FsbGV0IGFzIFNvbGFuYVdhbGxldCkuc2lnbk1lc3NhZ2U7XG4gICAgICBpZiAoIXNpZ25NZXNzYWdlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignc2lnbk1lc3NhZ2UgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIHdhbGxldCcpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzaWduZWRNZXNzYWdlID0gYXdhaXQgc2lnbk1lc3NhZ2UoXG4gICAgICAgIG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShtZXNzYWdlKVxuICAgICAgKTtcbiAgICAgIGlmICghYmFzZTU4KSB0aHJvdyBuZXcgRXJyb3IoJ2JzNTggZGVwZW5kZW5jeSBpcyByZXF1aXJlZCcpO1xuICAgICAgcmV0dXJuIGJhc2U1OC5lbmNvZGUoc2lnbmVkTWVzc2FnZSk7XG4gICAgfSxcbiAgICBoYW5kbGVTaWduVHJhbnNhY3Rpb246IGFzeW5jICh0cmFuc2FjdGlvbjogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBzaWduVHJhbnNhY3Rpb24gPSAod2FsbGV0IGFzIFNvbGFuYVdhbGxldCkuc2lnblRyYW5zYWN0aW9uO1xuICAgICAgaWYgKCFzaWduVHJhbnNhY3Rpb24pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdzaWduVHJhbnNhY3Rpb24gaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIHdhbGxldCcpO1xuICAgICAgfVxuICAgICAgY29uc3QgdHggPSBnZXRTb2xhbmFUcmFuc2FjdGlvbih0cmFuc2FjdGlvbik7XG4gICAgICBjb25zdCBzaWduZWRUcmFuc2FjdGlvbiA9IGF3YWl0IHNpZ25UcmFuc2FjdGlvbih0eCk7XG4gICAgICBpZiAoIWJhc2U1OCkgdGhyb3cgbmV3IEVycm9yKCdiczU4IGRlcGVuZGVuY3kgaXMgcmVxdWlyZWQnKTtcbiAgICAgIHJldHVybiBiYXNlNTguZW5jb2RlKFxuICAgICAgICBzaWduZWRUcmFuc2FjdGlvbi5zZXJpYWxpemUoe1xuICAgICAgICAgIHJlcXVpcmVBbGxTaWduYXR1cmVzOiBmYWxzZSxcbiAgICAgICAgICB2ZXJpZnlTaWduYXR1cmVzOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSxcbiAgICBvblN1Y2Nlc3MsXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFNvbGFuYVRyYW5zYWN0aW9uKFxuICBkYXRhOiBzdHJpbmdcbik6IFRyYW5zYWN0aW9uIHwgVmVyc2lvbmVkVHJhbnNhY3Rpb24ge1xuICBpZiAoIXdlYjMpXG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ0Bzb2xhbmEvd2ViMy5qcyBpcyBub3QgZGVmaW5lZC4gUGxlYXNlIGluc3RhbGwgQHNvbGFuYS93ZWIzLmpzIGludG8geW91ciBwcm9qZWN0J1xuICAgICk7XG5cbiAgaWYgKCFiYXNlNTgpXG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ2JzNTggaXMgbm90IGRlZmluZWQuIFBsZWFzZSBpbnN0YWxsIGJzNTggaW50byB5b3VyIHByb2plY3QnXG4gICAgKTtcblxuICBjb25zdCBwYXJzZWRVSW50OEFycmF5ID0gYmFzZTU4LmRlY29kZShkYXRhKTtcbiAgY29uc3QgdnR4ID0gd2ViMy5WZXJzaW9uZWRUcmFuc2FjdGlvbi5kZXNlcmlhbGl6ZShwYXJzZWRVSW50OEFycmF5KTtcbiAgaWYgKHZ0eC52ZXJzaW9uID09PSAnbGVnYWN5JykgcmV0dXJuIHdlYjMuVHJhbnNhY3Rpb24uZnJvbShwYXJzZWRVSW50OEFycmF5KTtcbiAgcmV0dXJuIHZ0eDtcbn1cblxuZnVuY3Rpb24gZ2V0TmVhcldhbGxldEhhbmRsZXJzKHtcbiAgd2FsbGV0LFxuICBvblN1Y2Nlc3MsXG59OiBQaWNrPENvaW5mbG93UHVyY2hhc2VQcm9wcywgJ3dhbGxldCcgfCAnb25TdWNjZXNzJz4pOiBPbWl0PFxuICBJRnJhbWVNZXNzYWdlSGFuZGxlcnMsXG4gICdoYW5kbGVIZWlnaHRDaGFuZ2UnXG4+IHtcbiAgY29uc3QgbmVhcldhbGxldCA9IHdhbGxldCBhcyBOZWFyV2FsbGV0O1xuICByZXR1cm4ge1xuICAgIGhhbmRsZVNlbmRUcmFuc2FjdGlvbjogYXN5bmMgKHRyYW5zYWN0aW9uOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IEpTT04ucGFyc2UoQnVmZmVyLmZyb20odHJhbnNhY3Rpb24sICdiYXNlNjQnKS50b1N0cmluZygpKTtcbiAgICAgIGNvbnN0IGV4ZWN1dGlvbk91dGNvbWUgPSBhd2FpdCBuZWFyV2FsbGV0LnNpZ25BbmRTZW5kVHJhbnNhY3Rpb24oYWN0aW9uKTtcbiAgICAgIGlmICghZXhlY3V0aW9uT3V0Y29tZSkgdGhyb3cgbmV3IEVycm9yKCdUcmFuc2FjdGlvbiBkaWQgbm90IHNlbmQnKTtcbiAgICAgIGNvbnN0IHt0cmFuc2FjdGlvbjogdHJhbnNhY3Rpb25SZXN1bHR9ID0gZXhlY3V0aW9uT3V0Y29tZTtcbiAgICAgIHJldHVybiB0cmFuc2FjdGlvblJlc3VsdC5oYXNoO1xuICAgIH0sXG4gICAgb25TdWNjZXNzLFxuICB9O1xufVxuXG5mdW5jdGlvbiBnZXRFdm1XYWxsZXRIYW5kbGVycyh7XG4gIHdhbGxldCxcbiAgb25TdWNjZXNzLFxufTogUGljazxDb2luZmxvd1B1cmNoYXNlUHJvcHMsICd3YWxsZXQnIHwgJ29uU3VjY2Vzcyc+KTogT21pdDxcbiAgSUZyYW1lTWVzc2FnZUhhbmRsZXJzLFxuICAnaGFuZGxlSGVpZ2h0Q2hhbmdlJ1xuPiB7XG4gIGNvbnN0IGV2bVdhbGxldCA9IHdhbGxldCBhcyBFdGhXYWxsZXQ7XG4gIHJldHVybiB7XG4gICAgaGFuZGxlU2VuZFRyYW5zYWN0aW9uOiBhc3luYyAodHJhbnNhY3Rpb246IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgdHggPSBKU09OLnBhcnNlKEJ1ZmZlci5mcm9tKHRyYW5zYWN0aW9uLCAnYmFzZTY0JykudG9TdHJpbmcoKSk7XG4gICAgICBjb25zdCB7aGFzaH0gPSBhd2FpdCBldm1XYWxsZXQuc2VuZFRyYW5zYWN0aW9uKHR4KTtcbiAgICAgIHJldHVybiBoYXNoO1xuICAgIH0sXG4gICAgaGFuZGxlU2lnbk1lc3NhZ2U6IGFzeW5jIChtZXNzYWdlOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiBldm1XYWxsZXQuc2lnbk1lc3NhZ2UobWVzc2FnZSk7XG4gICAgfSxcbiAgICBvblN1Y2Nlc3MsXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldElkV2FsbGV0SGFuZGxlcnMoe1xuICBvblN1Y2Nlc3MsXG59OiBQaWNrPENvaW5mbG93UHVyY2hhc2VQcm9wcywgJ29uU3VjY2Vzcyc+KTogT21pdDxcbiAgSUZyYW1lTWVzc2FnZUhhbmRsZXJzLFxuICAnaGFuZGxlSGVpZ2h0Q2hhbmdlJ1xuPiB7XG4gIHJldHVybiB7XG4gICAgaGFuZGxlU2VuZFRyYW5zYWN0aW9uOiBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCcnKTtcbiAgICB9LFxuICAgIG9uU3VjY2VzcyxcbiAgfTtcbn1cbiJdfQ==
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29pbmZsb3dMaWJNZXNzYWdlSGFuZGxlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2luZmxvd2xhYnMvc3JjL2xpYi9jb21tb24vQ29pbmZsb3dMaWJNZXNzYWdlSGFuZGxlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE9BQU8sRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFvQjlDLElBQUssb0JBT0o7QUFQRCxXQUFLLG9CQUFvQjtJQUN2QixtREFBMkIsQ0FBQTtJQUMzQiwyREFBbUMsQ0FBQTtJQUNuQywyREFBbUMsQ0FBQTtJQUNuQyxxREFBNkIsQ0FBQTtJQUM3QiwyQ0FBbUIsQ0FBQTtJQUNuQix5Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBUEksb0JBQW9CLEtBQXBCLG9CQUFvQixRQU94QjtBQUVELE1BQU0sVUFBVSxlQUFlLENBQzdCLEtBQTRCO0lBRTVCLElBQUksTUFBK0IsQ0FBQztJQUNwQyxJQUNFLFFBQVEsSUFBSSxLQUFLO1FBQ2pCLE9BQU8sS0FBSyxDQUFDLE1BQU0sS0FBSyxRQUFRO1FBQ2hDLEtBQUssQ0FBQyxNQUFNO1FBQ1osUUFBUSxJQUFJLEtBQUssQ0FBQyxNQUFNO1FBRXhCLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQXFCLENBQUM7U0FDekMsSUFBSSxRQUFRLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNO1FBQUUsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFFbEUsSUFBSSxDQUFDLE1BQU07UUFBRSxPQUFPO0lBRXBCLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUTtRQUFFLE9BQU8sTUFBTSxDQUFDO0lBRTlDLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDL0IsSUFBSSxXQUFX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Q0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxTQUFTO0tBQ1YsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLHFCQUFxQixDQUFDLEVBQzdCLFNBQVMsR0FDZ0M7SUFJekMsT0FBTztRQUNMLHFCQUFxQixFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ2hDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBQ0QsU0FBUztLQUNWLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29pbmZsb3dCbG9ja2NoYWluLFxuICBDb2luZmxvd1B1cmNoYXNlUHJvcHMsXG4gIEV0aFdhbGxldCxcbiAgTmVhcldhbGxldCxcbiAgT25TdWNjZXNzTWV0aG9kLFxuICBTb2xhbmFXYWxsZXQsXG4gIFdhbGxldFR5cGVzLFxufSBmcm9tICcuL0NvaW5mbG93VHlwZXMnO1xuaW1wb3J0IHtDb2luZmxvd1V0aWxzfSBmcm9tICcuL0NvaW5mbG93VXRpbHMnO1xuaW1wb3J0IHR5cGUge1RyYW5zYWN0aW9uLCBWZXJzaW9uZWRUcmFuc2FjdGlvbn0gZnJvbSAnQHNvbGFuYS93ZWIzLmpzJztcbmltcG9ydCB7d2ViMywgYmFzZTU4fSBmcm9tICcuL1NvbGFuYVBlZXJEZXBzJztcblxuZXhwb3J0IHR5cGUgV2FsbGV0Q2FsbCA9XG4gIHwge21ldGhvZDogSUZyYW1lTWVzc2FnZU1ldGhvZHM7IGRhdGE6IHN0cmluZ31cbiAgfCBTdWNjZXNzV2FsbGV0Q2FsbDtcblxudHlwZSBTdWNjZXNzV2FsbGV0Q2FsbCA9IHtcbiAgbWV0aG9kOiBJRnJhbWVNZXNzYWdlTWV0aG9kcy5TdWNjZXNzO1xuICBkYXRhOiBzdHJpbmc7XG4gIGluZm86IHtwYXltZW50SWQ6IHN0cmluZzsgaGFzaD86IHN0cmluZ307XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIElGcmFtZU1lc3NhZ2VIYW5kbGVycyB7XG4gIGhhbmRsZVNlbmRUcmFuc2FjdGlvbjogKHRyYW5zYWN0aW9uOiBzdHJpbmcpID0+IFByb21pc2U8c3RyaW5nPjtcbiAgaGFuZGxlU2lnbk1lc3NhZ2U/OiAobWVzc2FnZTogc3RyaW5nKSA9PiBQcm9taXNlPHN0cmluZz47XG4gIGhhbmRsZVNpZ25UcmFuc2FjdGlvbj86ICh0cmFuc2FjdGlvbjogc3RyaW5nKSA9PiBQcm9taXNlPHN0cmluZz47XG4gIGhhbmRsZUhlaWdodENoYW5nZT86IChoZWlnaHQ6IHN0cmluZykgPT4gdm9pZDtcbiAgb25TdWNjZXNzOiBPblN1Y2Nlc3NNZXRob2QgfCB1bmRlZmluZWQ7XG59XG5cbmVudW0gSUZyYW1lTWVzc2FnZU1ldGhvZHMge1xuICBTaWduTWVzc2FnZSA9ICdzaWduTWVzc2FnZScsXG4gIFNpZ25UcmFuc2FjdGlvbiA9ICdzaWduVHJhbnNhY3Rpb24nLFxuICBTZW5kVHJhbnNhY3Rpb24gPSAnc2VuZFRyYW5zYWN0aW9uJyxcbiAgSGVpZ2h0Q2hhbmdlID0gJ2hlaWdodENoYW5nZScsXG4gIFN1Y2Nlc3MgPSAnc3VjY2VzcycsXG4gIExvYWRlZCA9ICdsb2FkZWQnLFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0V2FsbGV0UHVia2V5KFxuICBpbnB1dDogQ29pbmZsb3dQdXJjaGFzZVByb3BzXG4pOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgbGV0IHdhbGxldDogV2FsbGV0VHlwZXMgfCB1bmRlZmluZWQ7XG4gIGlmIChcbiAgICAnc2lnbmVyJyBpbiBpbnB1dCAmJlxuICAgIHR5cGVvZiBpbnB1dC5zaWduZXIgPT09ICdvYmplY3QnICYmXG4gICAgaW5wdXQuc2lnbmVyICYmXG4gICAgJ3dhbGxldCcgaW4gaW5wdXQuc2lnbmVyXG4gIClcbiAgICB3YWxsZXQgPSBpbnB1dC5zaWduZXIud2FsbGV0IGFzIFdhbGxldFR5cGVzO1xuICBlbHNlIGlmICgnd2FsbGV0JyBpbiBpbnB1dCAmJiBpbnB1dC53YWxsZXQpIHdhbGxldCA9IGlucHV0LndhbGxldDtcblxuICBpZiAoIXdhbGxldCkgcmV0dXJuO1xuXG4gIGlmICh0eXBlb2Ygd2FsbGV0ID09PSAnc3RyaW5nJykgcmV0dXJuIHdhbGxldDtcblxuICBpZiAodHlwZW9mIHdhbGxldCA9PT0gJ29iamVjdCcpIHtcbiAgICBpZiAoJ3B1YmxpY0tleScgaW4gd2FsbGV0KVxuICAgICAgcmV0dXJuIHdhbGxldC5wdWJsaWNLZXkgPyB3YWxsZXQucHVibGljS2V5LnRvU3RyaW5nKCkgOiB1bmRlZmluZWQ7XG5cbiAgICBpZiAoJ2FkZHJlc3MnIGluIHdhbGxldClcbiAgICAgIHJldHVybiB3YWxsZXQuYWRkcmVzcyA/ICh3YWxsZXQuYWRkcmVzcyBhcyBzdHJpbmcpIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKCdhY2NvdW50SWQnIGluIHdhbGxldClcbiAgICAgIHJldHVybiB3YWxsZXQuYWNjb3VudElkID8gKHdhbGxldC5hY2NvdW50SWQgYXMgc3RyaW5nKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlSUZyYW1lTWVzc2FnZShcbiAgcmF3TWVzc2FnZTogc3RyaW5nLFxuICBoYW5kbGVyczogSUZyYW1lTWVzc2FnZUhhbmRsZXJzXG4pOiBQcm9taXNlPHN0cmluZz4gfCB2b2lkIHtcbiAgbGV0IHdhbGxldENhbGw6IFdhbGxldENhbGw7XG4gIHRyeSB7XG4gICAgd2FsbGV0Q2FsbCA9IEpTT04ucGFyc2UocmF3TWVzc2FnZSk7XG4gICAgaWYgKCEoJ21ldGhvZCcgaW4gd2FsbGV0Q2FsbCkgfHwgISgnZGF0YScgaW4gd2FsbGV0Q2FsbCkpIHJldHVybjtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUuZXJyb3IoJ2hhbmRsZUlGcmFtZU1lc3NhZ2UgSlNPTiBwYXJzZScsIGUpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHtkYXRhLCBtZXRob2R9ID0gd2FsbGV0Q2FsbDtcbiAgc3dpdGNoIChtZXRob2QpIHtcbiAgICBjYXNlIElGcmFtZU1lc3NhZ2VNZXRob2RzLlNpZ25NZXNzYWdlOlxuICAgICAgaWYgKCFoYW5kbGVycy5oYW5kbGVTaWduTWVzc2FnZSkgcmV0dXJuO1xuICAgICAgcmV0dXJuIGhhbmRsZXJzLmhhbmRsZVNpZ25NZXNzYWdlKGRhdGEpO1xuICAgIGNhc2UgSUZyYW1lTWVzc2FnZU1ldGhvZHMuU2lnblRyYW5zYWN0aW9uOlxuICAgICAgaWYgKCFoYW5kbGVycy5oYW5kbGVTaWduVHJhbnNhY3Rpb24pIHJldHVybjtcbiAgICAgIHJldHVybiBoYW5kbGVycy5oYW5kbGVTaWduVHJhbnNhY3Rpb24oZGF0YSk7XG4gICAgY2FzZSBJRnJhbWVNZXNzYWdlTWV0aG9kcy5TZW5kVHJhbnNhY3Rpb246XG4gICAgICByZXR1cm4gaGFuZGxlcnMuaGFuZGxlU2VuZFRyYW5zYWN0aW9uKGRhdGEpO1xuICAgIGNhc2UgSUZyYW1lTWVzc2FnZU1ldGhvZHMuSGVpZ2h0Q2hhbmdlOlxuICAgICAgaWYgKCFoYW5kbGVycy5oYW5kbGVIZWlnaHRDaGFuZ2UpIHJldHVybjtcbiAgICAgIHJldHVybiBoYW5kbGVycy5oYW5kbGVIZWlnaHRDaGFuZ2UoZGF0YSk7XG4gICAgY2FzZSBJRnJhbWVNZXNzYWdlTWV0aG9kcy5TdWNjZXNzOlxuICAgICAgaWYgKCFoYW5kbGVycy5vblN1Y2Nlc3MpIHJldHVybjtcbiAgICAgIGhhbmRsZXJzLm9uU3VjY2Vzcygod2FsbGV0Q2FsbCBhcyBTdWNjZXNzV2FsbGV0Q2FsbCkuaW5mbyk7XG4gICAgICByZXR1cm47XG4gICAgY2FzZSBJRnJhbWVNZXNzYWdlTWV0aG9kcy5Mb2FkZWQ6XG4gICAgICByZXR1cm47XG4gIH1cblxuICBjb25zb2xlLndhcm4oXG4gICAgYERpZG4ndCBleHBlY3QgdG8gZ2V0IGhlcmUsIGhhbmRsZUlGcmFtZU1lc3NhZ2UgbWV0aG9kOiR7bWV0aG9kfSBpcyBub3Qgb25lIG9mICR7T2JqZWN0LnZhbHVlcyhJRnJhbWVNZXNzYWdlTWV0aG9kcyl9YFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGFuZGxlcnMoXG4gIHByb3BzOiBDb2luZmxvd1B1cmNoYXNlUHJvcHNcbik6IE9taXQ8SUZyYW1lTWVzc2FnZUhhbmRsZXJzLCAnaGFuZGxlSGVpZ2h0Q2hhbmdlJz4ge1xuICBsZXQgY2hhaW46IENvaW5mbG93QmxvY2tjaGFpbiB8IHVuZGVmaW5lZDtcbiAgbGV0IHdhbGxldDogV2FsbGV0VHlwZXMgfCB1bmRlZmluZWQ7XG4gIGlmIChcbiAgICAnc2lnbmVyJyBpbiBwcm9wcyAmJlxuICAgIHR5cGVvZiBwcm9wcy5zaWduZXIgPT09ICdvYmplY3QnICYmXG4gICAgcHJvcHMuc2lnbmVyICYmXG4gICAgJ2Jsb2NrY2hhaW4nIGluIHByb3BzLnNpZ25lciAmJlxuICAgICd3YWxsZXQnIGluIHByb3BzLnNpZ25lclxuICApIHtcbiAgICBjaGFpbiA9IHByb3BzLnNpZ25lci5ibG9ja2NoYWluIGFzIENvaW5mbG93QmxvY2tjaGFpbjtcbiAgICB3YWxsZXQgPSBwcm9wcy5zaWduZXIud2FsbGV0IGFzIFdhbGxldFR5cGVzO1xuICB9IGVsc2UgaWYgKCdibG9ja2NoYWluJyBpbiBwcm9wcyAmJiBwcm9wcy5ibG9ja2NoYWluKSB7XG4gICAgY2hhaW4gPSBwcm9wcy5ibG9ja2NoYWluO1xuICAgIHdhbGxldCA9IHByb3BzLndhbGxldDtcbiAgfVxuXG4gIGlmICghY2hhaW4pIHtcbiAgICByZXR1cm4ge1xuICAgICAgaGFuZGxlU2VuZFRyYW5zYWN0aW9uOiAoKSA9PiB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignaGFuZGxlU2VuZFRyYW5zYWN0aW9uIE5vdCBJbXBsZW1lbnRlZCcpO1xuICAgICAgfSxcbiAgICAgIGhhbmRsZVNpZ25NZXNzYWdlOiAoKSA9PiB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignaGFuZGxlU2VuZFRyYW5zYWN0aW9uIE5vdCBJbXBsZW1lbnRlZCcpO1xuICAgICAgfSxcbiAgICAgIGhhbmRsZVNpZ25UcmFuc2FjdGlvbjogKCkgPT4ge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2hhbmRsZVNlbmRUcmFuc2FjdGlvbiBOb3QgSW1wbGVtZW50ZWQnKTtcbiAgICAgIH0sXG4gICAgICBvblN1Y2Nlc3M6IHByb3BzLm9uU3VjY2VzcyxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIENvaW5mbG93VXRpbHMuYnlCbG9ja2NoYWluKGNoYWluLCB7XG4gICAgc29sYW5hOiAoKSA9PlxuICAgICAgZ2V0U29sYW5hV2FsbGV0SGFuZGxlcnMoe1xuICAgICAgICB3YWxsZXQ6IHdhbGxldCBhcyBTb2xhbmFXYWxsZXQsXG4gICAgICAgIG9uU3VjY2VzczogcHJvcHMub25TdWNjZXNzLFxuICAgICAgfSksXG4gICAgbmVhcjogKCkgPT5cbiAgICAgIGdldE5lYXJXYWxsZXRIYW5kbGVycyh7XG4gICAgICAgIHdhbGxldDogd2FsbGV0IGFzIE5lYXJXYWxsZXQsXG4gICAgICAgIG9uU3VjY2VzczogcHJvcHMub25TdWNjZXNzLFxuICAgICAgfSksXG4gICAgZXRoOiAoKSA9PlxuICAgICAgZ2V0RXZtV2FsbGV0SGFuZGxlcnMoe1xuICAgICAgICB3YWxsZXQ6IHdhbGxldCBhcyBFdGhXYWxsZXQsXG4gICAgICAgIG9uU3VjY2VzczogcHJvcHMub25TdWNjZXNzLFxuICAgICAgfSksXG4gICAgcG9seWdvbjogKCkgPT5cbiAgICAgIGdldEV2bVdhbGxldEhhbmRsZXJzKHtcbiAgICAgICAgd2FsbGV0OiB3YWxsZXQgYXMgRXRoV2FsbGV0LFxuICAgICAgICBvblN1Y2Nlc3M6IHByb3BzLm9uU3VjY2VzcyxcbiAgICAgIH0pLFxuICAgIGJhc2U6ICgpID0+XG4gICAgICBnZXRFdm1XYWxsZXRIYW5kbGVycyh7XG4gICAgICAgIHdhbGxldDogd2FsbGV0IGFzIEV0aFdhbGxldCxcbiAgICAgICAgb25TdWNjZXNzOiBwcm9wcy5vblN1Y2Nlc3MsXG4gICAgICB9KSxcbiAgICBhcmJpdHJ1bTogKCkgPT5cbiAgICAgIGdldEV2bVdhbGxldEhhbmRsZXJzKHtcbiAgICAgICAgd2FsbGV0OiB3YWxsZXQgYXMgRXRoV2FsbGV0LFxuICAgICAgICBvblN1Y2Nlc3M6IHByb3BzLm9uU3VjY2VzcyxcbiAgICAgIH0pLFxuICAgIHVzZXI6ICgpID0+IGdldFNlc3Npb25LZXlIYW5kbGVycyhwcm9wcyksXG4gIH0pKCk7XG59XG5cbmZ1bmN0aW9uIGdldFNvbGFuYVdhbGxldEhhbmRsZXJzKHtcbiAgd2FsbGV0LFxuICBvblN1Y2Nlc3MsXG59OiB7XG4gIHdhbGxldDogU29sYW5hV2FsbGV0O1xuICBvblN1Y2Nlc3M/OiBPblN1Y2Nlc3NNZXRob2Q7XG59KTogT21pdDxJRnJhbWVNZXNzYWdlSGFuZGxlcnMsICdoYW5kbGVIZWlnaHRDaGFuZ2UnPiB7XG4gIHJldHVybiB7XG4gICAgaGFuZGxlU2VuZFRyYW5zYWN0aW9uOiBhc3luYyAodHJhbnNhY3Rpb246IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgdHggPSBnZXRTb2xhbmFUcmFuc2FjdGlvbih0cmFuc2FjdGlvbik7XG4gICAgICByZXR1cm4gYXdhaXQgd2FsbGV0LnNlbmRUcmFuc2FjdGlvbih0eCk7XG4gICAgfSxcbiAgICBoYW5kbGVTaWduTWVzc2FnZTogYXN5bmMgKG1lc3NhZ2U6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3Qgc2lnbk1lc3NhZ2UgPSB3YWxsZXQuc2lnbk1lc3NhZ2U7XG4gICAgICBpZiAoIXNpZ25NZXNzYWdlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignc2lnbk1lc3NhZ2UgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIHdhbGxldCcpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzaWduZWRNZXNzYWdlID0gYXdhaXQgc2lnbk1lc3NhZ2UoXG4gICAgICAgIG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShtZXNzYWdlKVxuICAgICAgKTtcbiAgICAgIGlmICghYmFzZTU4KSB0aHJvdyBuZXcgRXJyb3IoJ2JzNTggZGVwZW5kZW5jeSBpcyByZXF1aXJlZCcpO1xuICAgICAgcmV0dXJuIGJhc2U1OC5lbmNvZGUoc2lnbmVkTWVzc2FnZSk7XG4gICAgfSxcbiAgICBoYW5kbGVTaWduVHJhbnNhY3Rpb246IGFzeW5jICh0cmFuc2FjdGlvbjogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBzaWduVHJhbnNhY3Rpb24gPSB3YWxsZXQuc2lnblRyYW5zYWN0aW9uO1xuICAgICAgaWYgKCFzaWduVHJhbnNhY3Rpb24pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdzaWduVHJhbnNhY3Rpb24gaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIHdhbGxldCcpO1xuICAgICAgfVxuICAgICAgY29uc3QgdHggPSBnZXRTb2xhbmFUcmFuc2FjdGlvbih0cmFuc2FjdGlvbik7XG4gICAgICBjb25zdCBzaWduZWRUcmFuc2FjdGlvbiA9IGF3YWl0IHNpZ25UcmFuc2FjdGlvbih0eCk7XG4gICAgICBpZiAoIWJhc2U1OCkgdGhyb3cgbmV3IEVycm9yKCdiczU4IGRlcGVuZGVuY3kgaXMgcmVxdWlyZWQnKTtcbiAgICAgIHJldHVybiBiYXNlNTguZW5jb2RlKFxuICAgICAgICBzaWduZWRUcmFuc2FjdGlvbi5zZXJpYWxpemUoe1xuICAgICAgICAgIHJlcXVpcmVBbGxTaWduYXR1cmVzOiBmYWxzZSxcbiAgICAgICAgICB2ZXJpZnlTaWduYXR1cmVzOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSxcbiAgICBvblN1Y2Nlc3MsXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFNvbGFuYVRyYW5zYWN0aW9uKFxuICBkYXRhOiBzdHJpbmdcbik6IFRyYW5zYWN0aW9uIHwgVmVyc2lvbmVkVHJhbnNhY3Rpb24ge1xuICBpZiAoIXdlYjMpXG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ0Bzb2xhbmEvd2ViMy5qcyBpcyBub3QgZGVmaW5lZC4gUGxlYXNlIGluc3RhbGwgQHNvbGFuYS93ZWIzLmpzIGludG8geW91ciBwcm9qZWN0J1xuICAgICk7XG5cbiAgaWYgKCFiYXNlNTgpXG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ2JzNTggaXMgbm90IGRlZmluZWQuIFBsZWFzZSBpbnN0YWxsIGJzNTggaW50byB5b3VyIHByb2plY3QnXG4gICAgKTtcblxuICBjb25zdCBwYXJzZWRVSW50OEFycmF5ID0gYmFzZTU4LmRlY29kZShkYXRhKTtcbiAgY29uc3QgdnR4ID0gd2ViMy5WZXJzaW9uZWRUcmFuc2FjdGlvbi5kZXNlcmlhbGl6ZShwYXJzZWRVSW50OEFycmF5KTtcbiAgaWYgKHZ0eC52ZXJzaW9uID09PSAnbGVnYWN5JykgcmV0dXJuIHdlYjMuVHJhbnNhY3Rpb24uZnJvbShwYXJzZWRVSW50OEFycmF5KTtcbiAgcmV0dXJuIHZ0eDtcbn1cblxuZnVuY3Rpb24gZ2V0TmVhcldhbGxldEhhbmRsZXJzKHtcbiAgd2FsbGV0LFxuICBvblN1Y2Nlc3MsXG59OiB7XG4gIHdhbGxldDogTmVhcldhbGxldDtcbiAgb25TdWNjZXNzPzogT25TdWNjZXNzTWV0aG9kO1xufSk6IE9taXQ8SUZyYW1lTWVzc2FnZUhhbmRsZXJzLCAnaGFuZGxlSGVpZ2h0Q2hhbmdlJz4ge1xuICByZXR1cm4ge1xuICAgIGhhbmRsZVNlbmRUcmFuc2FjdGlvbjogYXN5bmMgKHRyYW5zYWN0aW9uOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IEpTT04ucGFyc2UoQnVmZmVyLmZyb20odHJhbnNhY3Rpb24sICdiYXNlNjQnKS50b1N0cmluZygpKTtcbiAgICAgIGNvbnN0IGV4ZWN1dGlvbk91dGNvbWUgPSBhd2FpdCB3YWxsZXQuc2lnbkFuZFNlbmRUcmFuc2FjdGlvbihhY3Rpb24pO1xuICAgICAgaWYgKCFleGVjdXRpb25PdXRjb21lKSB0aHJvdyBuZXcgRXJyb3IoJ1RyYW5zYWN0aW9uIGRpZCBub3Qgc2VuZCcpO1xuICAgICAgY29uc3Qge3RyYW5zYWN0aW9uOiB0cmFuc2FjdGlvblJlc3VsdH0gPSBleGVjdXRpb25PdXRjb21lO1xuICAgICAgcmV0dXJuIHRyYW5zYWN0aW9uUmVzdWx0Lmhhc2g7XG4gICAgfSxcbiAgICBvblN1Y2Nlc3MsXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldEV2bVdhbGxldEhhbmRsZXJzKHtcbiAgd2FsbGV0LFxuICBvblN1Y2Nlc3MsXG59OiB7XG4gIHdhbGxldDogRXRoV2FsbGV0O1xuICBvblN1Y2Nlc3M/OiBPblN1Y2Nlc3NNZXRob2Q7XG59KTogT21pdDxJRnJhbWVNZXNzYWdlSGFuZGxlcnMsICdoYW5kbGVIZWlnaHRDaGFuZ2UnPiB7XG4gIHJldHVybiB7XG4gICAgaGFuZGxlU2VuZFRyYW5zYWN0aW9uOiBhc3luYyAodHJhbnNhY3Rpb246IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgdHggPSBKU09OLnBhcnNlKEJ1ZmZlci5mcm9tKHRyYW5zYWN0aW9uLCAnYmFzZTY0JykudG9TdHJpbmcoKSk7XG4gICAgICBjb25zdCB7aGFzaH0gPSBhd2FpdCB3YWxsZXQuc2VuZFRyYW5zYWN0aW9uKHR4KTtcbiAgICAgIHJldHVybiBoYXNoO1xuICAgIH0sXG4gICAgaGFuZGxlU2lnbk1lc3NhZ2U6IGFzeW5jIChtZXNzYWdlOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiB3YWxsZXQuc2lnbk1lc3NhZ2UobWVzc2FnZSk7XG4gICAgfSxcbiAgICBvblN1Y2Nlc3MsXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFNlc3Npb25LZXlIYW5kbGVycyh7XG4gIG9uU3VjY2Vzcyxcbn06IFBpY2s8Q29pbmZsb3dQdXJjaGFzZVByb3BzLCAnb25TdWNjZXNzJz4pOiBPbWl0PFxuICBJRnJhbWVNZXNzYWdlSGFuZGxlcnMsXG4gICdoYW5kbGVIZWlnaHRDaGFuZ2UnXG4+IHtcbiAgcmV0dXJuIHtcbiAgICBoYW5kbGVTZW5kVHJhbnNhY3Rpb246IGFzeW5jICgpID0+IHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoJycpO1xuICAgIH0sXG4gICAgb25TdWNjZXNzLFxuICB9O1xufVxuIl19
|
|
@@ -23,4 +23,4 @@ export var CardType;
|
|
|
23
23
|
CardType["AMEX"] = "AMEX";
|
|
24
24
|
CardType["DISCOVER"] = "DISC";
|
|
25
25
|
})(CardType || (CardType = {}));
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29pbmZsb3dUeXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvaW5mbG93bGFicy9zcmMvbGliL2NvbW1vbi9Db2luZmxvd1R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDeEIscUNBQW1CLENBQUE7SUFDbkIsK0JBQWEsQ0FBQTtJQUNiLCtCQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsY0FBYyxLQUFkLGNBQWMsUUFJekI7QUFFRCxNQUFNLENBQU4sSUFBWSxhQUlYO0FBSkQsV0FBWSxhQUFhO0lBQ3ZCLG9DQUFtQixDQUFBO0lBQ25CLGdDQUFlLENBQUE7SUFDZiw4QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUpXLGFBQWEsS0FBYixhQUFhLFFBSXhCO0FBd05ELE1BQU0sQ0FBTixJQUFZLDBCQUlYO0FBSkQsV0FBWSwwQkFBMEI7SUFDcEMsMkRBQTZCLENBQUE7SUFDN0IsMkRBQTZCLENBQUE7SUFDN0IscURBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUpXLDBCQUEwQixLQUExQiwwQkFBMEIsUUFJckM7QUE0UEQsTUFBTSxDQUFOLElBQVksUUFLWDtBQUxELFdBQVksUUFBUTtJQUNsQix5QkFBYSxDQUFBO0lBQ2IsK0JBQW1CLENBQUE7SUFDbkIseUJBQWEsQ0FBQTtJQUNiLDZCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFMVyxRQUFRLEtBQVIsUUFBUSxRQUtuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQ29ubmVjdGlvbixcbiAgVmVyc2lvbmVkVHJhbnNhY3Rpb24sXG4gIFB1YmxpY0tleSxcbiAgU2lnbmVyLFxuICBUcmFuc2FjdGlvbixcbn0gZnJvbSAnQHNvbGFuYS93ZWIzLmpzJztcblxuZXhwb3J0IGVudW0gU2V0dGxlbWVudFR5cGUge1xuICBDcmVkaXRzID0gJ0NyZWRpdHMnLFxuICBVU0RDID0gJ1VTREMnLFxuICBCYW5rID0gJ0JhbmsnLFxufVxuXG5leHBvcnQgZW51bSBNZXJjaGFudFN0eWxlIHtcbiAgUm91bmRlZCA9ICdyb3VuZGVkJyxcbiAgU2hhcnAgPSAnc2hhcnAnLFxuICBQaWxsID0gJ3BpbGwnLFxufVxuXG5leHBvcnQgdHlwZSBNZXJjaGFudFRoZW1lID0ge1xuICBwcmltYXJ5Pzogc3RyaW5nO1xuICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xuICBiYWNrZ3JvdW5kQWNjZW50Pzogc3RyaW5nO1xuICBiYWNrZ3JvdW5kQWNjZW50Mj86IHN0cmluZztcbiAgdGV4dENvbG9yPzogc3RyaW5nO1xuICB0ZXh0Q29sb3JBY2NlbnQ/OiBzdHJpbmc7XG4gIHRleHRDb2xvckFjdGlvbj86IHN0cmluZztcbiAgZm9udD86IHN0cmluZztcbiAgc3R5bGU/OiBNZXJjaGFudFN0eWxlO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21lckluZm8ge1xuICBuYW1lPzogc3RyaW5nO1xuICB2ZXJpZmljYXRpb25JZD86IHN0cmluZztcbiAgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIGNpdHk/OiBzdHJpbmc7XG4gIHN0YXRlPzogc3RyaW5nO1xuICB6aXA/OiBzdHJpbmc7XG4gIGNvdW50cnk/OiBzdHJpbmc7XG4gIGlwPzogc3RyaW5nO1xuICBsYXQ/OiBzdHJpbmc7XG4gIGxuZz86IHN0cmluZztcbn1cblxuLyoqIENvaW5mbG93IFR5cGVzICoqL1xuZXhwb3J0IHR5cGUgQ29pbmZsb3dCbG9ja2NoYWluID1cbiAgfCAnc29sYW5hJ1xuICB8ICduZWFyJ1xuICB8ICdldGgnXG4gIHwgJ3BvbHlnb24nXG4gIHwgJ2Jhc2UnXG4gIHwgJ2FyYml0cnVtJ1xuICB8ICd1c2VyJztcbmV4cG9ydCB0eXBlIENvaW5mbG93RW52cyA9XG4gIHwgJ3Byb2QnXG4gIHwgJ3N0YWdpbmcnXG4gIHwgJ3N0YWdpbmctbGl2ZSdcbiAgfCAnc2FuZGJveCdcbiAgfCAnbG9jYWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93VHlwZXMge1xuICBtZXJjaGFudElkOiBzdHJpbmc7XG4gIGVudj86IENvaW5mbG93RW52cztcbiAgbG9hZGVyQmFja2dyb3VuZD86IHN0cmluZztcbiAgYmxvY2tjaGFpbj86IENvaW5mbG93QmxvY2tjaGFpbiB8IHVuZGVmaW5lZDtcbiAgaGFuZGxlSGVpZ2h0Q2hhbmdlPzogKGhlaWdodDogc3RyaW5nKSA9PiB2b2lkO1xuICB0aGVtZT86IE1lcmNoYW50VGhlbWU7XG59XG5cbmV4cG9ydCB0eXBlIFBhcnRpYWxCeTxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBPbWl0PFQsIEs+ICYgUGFydGlhbDxQaWNrPFQsIEs+PjtcblxuZXhwb3J0IHR5cGUgT25TdWNjZXNzTWV0aG9kID0gKFxuICBhcmdzOlxuICAgIHwge1xuICAgICAgICBwYXltZW50SWQ6IHN0cmluZztcbiAgICAgICAgaGFzaD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB8IHN0cmluZ1xuKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcblxuLyoqIFdhbGxldHMgKiovXG5leHBvcnQgaW50ZXJmYWNlIFNvbGFuYVdhbGxldCB7XG4gIHB1YmxpY0tleTogUHVibGljS2V5IHwgbnVsbDtcbiAgc2lnblRyYW5zYWN0aW9uPzogPFQgZXh0ZW5kcyBUcmFuc2FjdGlvbiB8IFZlcnNpb25lZFRyYW5zYWN0aW9uPihcbiAgICB0cmFuc2FjdGlvbjogVFxuICApID0+IFByb21pc2U8VD47XG4gIHNlbmRUcmFuc2FjdGlvbjogPFQgZXh0ZW5kcyBUcmFuc2FjdGlvbiB8IFZlcnNpb25lZFRyYW5zYWN0aW9uPihcbiAgICB0cmFuc2FjdGlvbjogVFxuICApID0+IFByb21pc2U8c3RyaW5nPjtcbiAgc2lnbk1lc3NhZ2U/OiAobWVzc2FnZTogVWludDhBcnJheSkgPT4gUHJvbWlzZTxVaW50OEFycmF5Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZWFyV2FsbGV0IHtcbiAgYWNjb3VudElkOiBzdHJpbmc7XG4gIHNpZ25BbmRTZW5kVHJhbnNhY3Rpb246ICh0cmFuc2FjdGlvbjogdW5rbm93bikgPT4gUHJvbWlzZTx7XG4gICAgdHJhbnNhY3Rpb246IHtoYXNoOiBzdHJpbmd9O1xuICB9Pjtcbn1cblxudHlwZSBBY2Nlc3NMaXN0ID0gQXJyYXk8e2FkZHJlc3M6IHN0cmluZzsgc3RvcmFnZUtleXM6IEFycmF5PHN0cmluZz59PjtcbnR5cGUgQWNjZXNzTGlzdGlzaCA9XG4gIHwgQWNjZXNzTGlzdFxuICB8IEFycmF5PFtzdHJpbmcsIEFycmF5PHN0cmluZz5dPlxuICB8IFJlY29yZDxzdHJpbmcsIEFycmF5PHN0cmluZz4+O1xuXG5leHBvcnQgdHlwZSBFdGhXYWxsZXQgPSB7XG4gIGFkZHJlc3M6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIHNlbmRUcmFuc2FjdGlvbjogKHRyYW5zYWN0aW9uOiB7XG4gICAgdG86IHN0cmluZztcbiAgICBmcm9tPzogc3RyaW5nO1xuICAgIG5vbmNlPzogQnl0ZXMgfCBiaWdpbnQgfCBzdHJpbmcgfCBudW1iZXI7XG5cbiAgICBnYXNMaW1pdD86IEJ5dGVzIHwgYmlnaW50IHwgc3RyaW5nIHwgbnVtYmVyO1xuICAgIGdhc1ByaWNlPzogQnl0ZXMgfCBiaWdpbnQgfCBzdHJpbmcgfCBudW1iZXI7XG5cbiAgICBkYXRhPzogQnl0ZXNMaWtlO1xuICAgIHZhbHVlPzogQnl0ZXMgfCBiaWdpbnQgfCBzdHJpbmcgfCBudW1iZXI7XG4gICAgY2hhaW5JZD86IG51bWJlcjtcblxuICAgIHR5cGU/OiBudW1iZXI7XG4gICAgYWNjZXNzTGlzdD86IEFjY2Vzc0xpc3Rpc2g7XG5cbiAgICBtYXhQcmlvcml0eUZlZVBlckdhcz86IEJ5dGVzIHwgYmlnaW50IHwgc3RyaW5nIHwgbnVtYmVyO1xuICAgIG1heEZlZVBlckdhcz86IEJ5dGVzIHwgYmlnaW50IHwgc3RyaW5nIHwgbnVtYmVyO1xuXG4gICAgY3VzdG9tRGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgY2NpcFJlYWRFbmFibGVkPzogYm9vbGVhbjtcbiAgfSkgPT4gUHJvbWlzZTx7aGFzaDogc3RyaW5nfT47XG4gIHNpZ25NZXNzYWdlOiAobWVzc2FnZTogc3RyaW5nKSA9PiBQcm9taXNlPHN0cmluZz47XG59O1xuXG4vKiogSGlzdG9yeSAqKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dTb2xhbmFIaXN0b3J5UHJvcHMgZXh0ZW5kcyBDb2luZmxvd1R5cGVzIHtcbiAgd2FsbGV0OiBTb2xhbmFXYWxsZXQ7XG4gIGNvbm5lY3Rpb246IENvbm5lY3Rpb247XG4gIGJsb2NrY2hhaW46ICdzb2xhbmEnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93TmVhckhpc3RvcnlQcm9wcyBleHRlbmRzIENvaW5mbG93VHlwZXMge1xuICB3YWxsZXQ6IE5lYXJXYWxsZXQ7XG4gIGJsb2NrY2hhaW46ICduZWFyJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0V2bUhpc3RvcnlQcm9wcyBleHRlbmRzIENvaW5mbG93VHlwZXMge1xuICB3YWxsZXQ6IEV0aFdhbGxldDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0V0aEhpc3RvcnlQcm9wcyBleHRlbmRzIENvaW5mbG93RXZtSGlzdG9yeVByb3BzIHtcbiAgYmxvY2tjaGFpbjogJ2V0aCc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dQb2x5Z29uSGlzdG9yeVByb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1IaXN0b3J5UHJvcHMge1xuICBibG9ja2NoYWluOiAncG9seWdvbic7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dCYXNlSGlzdG9yeVByb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1IaXN0b3J5UHJvcHMge1xuICBibG9ja2NoYWluOiAnYmFzZSc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dBcmJpdHJ1bUhpc3RvcnlQcm9wcyBleHRlbmRzIENvaW5mbG93RXZtSGlzdG9yeVByb3BzIHtcbiAgYmxvY2tjaGFpbjogJ2FyYml0cnVtJztcbn1cblxuZXhwb3J0IHR5cGUgQ29pbmZsb3dIaXN0b3J5UHJvcHMgPVxuICB8IENvaW5mbG93U29sYW5hSGlzdG9yeVByb3BzXG4gIHwgQ29pbmZsb3dOZWFySGlzdG9yeVByb3BzXG4gIHwgQ29pbmZsb3dQb2x5Z29uSGlzdG9yeVByb3BzXG4gIHwgQ29pbmZsb3dFdGhIaXN0b3J5UHJvcHNcbiAgfCBDb2luZmxvd0Jhc2VIaXN0b3J5UHJvcHNcbiAgfCBDb2luZmxvd0FyYml0cnVtSGlzdG9yeVByb3BzO1xuXG4vKiogVHJhbnNhY3Rpb25zICoqL1xuXG5leHBvcnQgdHlwZSBOZWFyRnRUcmFuc2ZlckNhbGxBY3Rpb24gPSB7XG4gIG1ldGhvZE5hbWU6ICdmdF90cmFuc2Zlcl9jYWxsJztcbiAgYXJnczogb2JqZWN0O1xuICBnYXM6IHN0cmluZztcbiAgZGVwb3NpdDogc3RyaW5nO1xufTtcblxudHlwZSBCeXRlcyA9IEFycmF5TGlrZTxudW1iZXI+O1xudHlwZSBCeXRlc0xpa2UgPSBCeXRlcyB8IHN0cmluZztcblxudHlwZSBSYXdQcm9kdWN0RGF0YSA9IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBvYmplY3Q+O1xuXG4vKiogUHVyY2hhc2UgKiovXG5cbmV4cG9ydCB0eXBlIENoYXJnZWJhY2tQcm90ZWN0aW9uRGF0YSA9IENoYXJnZWJhY2tQcm90ZWN0aW9uSXRlbVtdO1xuXG5leHBvcnQgaW50ZXJmYWNlIENoYXJnZWJhY2tQcm90ZWN0aW9uSXRlbSB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcHJvZHVjdFxuICAgKi9cbiAgcHJvZHVjdE5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBwcm9kdWN0IHR5cGUuIFBvc3NpYmxlIHZhbHVlcyBpbmNsdWRlOiBpbkdhbWVQcm9kdWN0LCBnYW1lT2ZTa2lsbCwgZGF0YVN0b3JhZ2UsIGNvbXB1dGluZ1Jlc291cmNlcywgc3BvcnRzVGlja2V0LCBlU3BvcnRzVGlja2V0LCBtdXNpY1RpY2tldCwgY29uZmVyZW5jZVRpY2tldCwgdmlydHVhbFNwb3J0c1RpY2tldCwgdmlydHVhbEVTcG9ydHNUaWNrZXQsIHZpcnR1YWxNdXNpY1RpY2tldCwgdmlydHVhbENvbmZlcmVuY2VUaWNrZXQsIGFsY29ob2wsIERMQywgc3Vic2NyaXB0aW9uLCBmdW5kQUNhdXNlLCByZWFsRXN0YXRlLCBjb21wdXRpbmdDb250cmFjdCwgZGlnaXRhbEFydCwgdG9wVXBcbiAgICovXG4gIHByb2R1Y3RUeXBlOlxuICAgIHwgJ2luR2FtZVByb2R1Y3QnXG4gICAgfCAnZ2FtZU9mU2tpbGwnXG4gICAgfCAnZGF0YVN0b3JhZ2UnXG4gICAgfCAnY29tcHV0aW5nUmVzb3VyY2VzJ1xuICAgIHwgJ3Nwb3J0c1RpY2tldCdcbiAgICB8ICdlU3BvcnRzVGlja2V0J1xuICAgIHwgJ211c2ljVGlja2V0J1xuICAgIHwgJ2NvbmZlcmVuY2VUaWNrZXQnXG4gICAgfCAndmlydHVhbFNwb3J0c1RpY2tldCdcbiAgICB8ICd2aXJ0dWFsRVNwb3J0c1RpY2tldCdcbiAgICB8ICd2aXJ0dWFsTXVzaWNUaWNrZXQnXG4gICAgfCAndmlydHVhbENvbmZlcmVuY2VUaWNrZXQnXG4gICAgfCAnYWxjb2hvbCdcbiAgICB8ICdETEMnXG4gICAgfCAnc3Vic2NyaXB0aW9uJ1xuICAgIHwgJ2Z1bmRBQ2F1c2UnXG4gICAgfCAncmVhbEVzdGF0ZSdcbiAgICB8ICdjb21wdXRpbmdDb250cmFjdCdcbiAgICB8ICdkaWdpdGFsQXJ0J1xuICAgIHwgJ3RvcFVwJ1xuICAgIHwgJ293bmVyc2hpcENvbnRyYWN0JztcbiAgLyoqXG4gICAqIFRoZSBpdGVtJ3MgbGlzdCBwcmljZVxuICAgKi9cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgdW5pdHMgc29sZFxuICAgKi9cbiAgcXVhbnRpdHk6IG51bWJlcjtcbiAgLyoqXG4gICAqIEFueSBhZGRpdGlvbmFsIGRhdGEgdGhhdCB0aGUgc3RvcmUgY2FuIHByb3ZpZGUgb24gdGhlIHByb2R1Y3QsIGUuZy4gZGVzY3JpcHRpb24sIGxpbmsgdG8gaW1hZ2UsIGV0Yy5cbiAgICovXG4gIHJhd1Byb2R1Y3REYXRhPzogUmF3UHJvZHVjdERhdGE7XG59XG5cbmV4cG9ydCBlbnVtIFRocmVlRHNDaGFsbGVuZ2VQcmVmZXJlbmNlIHtcbiAgTm9QcmVmZXJlbmNlID0gJ05vUHJlZmVyZW5jZScsXG4gIEZyaWN0aW9ubGVzcyA9ICdGcmljdGlvbmxlc3MnLFxuICBDaGFsbGVuZ2UgPSAnQ2hhbGxlbmdlJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0NvbW1vblB1cmNoYXNlUHJvcHMgZXh0ZW5kcyBDb2luZmxvd1R5cGVzIHtcbiAgYW1vdW50PzogbnVtYmVyIHwgc3RyaW5nO1xuICBvblN1Y2Nlc3M/OiBPblN1Y2Nlc3NNZXRob2Q7XG4gIHdlYmhvb2tJbmZvPzogb2JqZWN0O1xuICBlbWFpbD86IHN0cmluZztcbiAgY2hhcmdlYmFja1Byb3RlY3Rpb25EYXRhPzogQ2hhcmdlYmFja1Byb3RlY3Rpb25EYXRhO1xuICBwbGFuQ29kZT86IHN0cmluZztcbiAgZGlzYWJsZUFwcGxlUGF5PzogYm9vbGVhbjtcbiAgZGlzYWJsZUdvb2dsZVBheT86IGJvb2xlYW47XG4gIGN1c3RvbWVySW5mbz86IEN1c3RvbWVySW5mbztcbiAgc2V0dGxlbWVudFR5cGU/OiBTZXR0bGVtZW50VHlwZTtcbiAgYXV0aE9ubHk/OiBib29sZWFuO1xuICBkZXZpY2VJZD86IHN0cmluZztcbiAgand0VG9rZW4/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBZb3VyIGNvbXBhbnkgZW1haWwgYWRkcmVzcyB0aGF0IHRoZSBjdXN0b21lciBjYW4gY29udGFjdC5cbiAgICovXG4gIHN1cHBvcnRFbWFpbD86IHN0cmluZztcbiAgLyoqXG4gICAqIElmIHJlbmRlcmluZyB0aGUgQ29pbmZsb3cgY29tcG9uZW50IHdpdGhpbiBtdWx0aXBsZSBuZXN0ZWQgaWZyYW1lcywgYWxsIGFuY2VzdG9ycyBpbiB0aGUgY2hhaW4gbXVzdCBiZSBwcm92aWRlZCBhcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LlxuICAgKlxuICAgKiBFeGFtcGxlOlxuICAgKiBQcmltYXJ5IG9yaWdpbiB0aGF0IHdpbGwgYmUgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgQ29pbmZsb3cgaUZyYW1lOiBmb28uY29tXG4gICAqIFN1YnNlcXVlbnQgb3JpZ2lucyB0aGF0IHdpbGwgcmVuZGVyIGZvby5jb206IGJhci5jb21cbiAgICogVGhlIG9yaWdpbiBhcnJheSB3b3VsZCB0aGVuIGJlOiBbaHR0cHM6Ly9mb28uY29tLGh0dHBzOi8vYmFyLmNvbV1cbiAgICovXG4gIG9yaWdpbnM/OiBzdHJpbmdbXTtcbiAgdGhyZWVEc0NoYWxsZW5nZVByZWZlcmVuY2U/OiBUaHJlZURzQ2hhbGxlbmdlUHJlZmVyZW5jZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd1NvbGFuYVB1cmNoYXNlUHJvcHNcbiAgZXh0ZW5kcyBDb2luZmxvd0NvbW1vblB1cmNoYXNlUHJvcHMge1xuICB3YWxsZXQ6IFNvbGFuYVdhbGxldDtcbiAgdHJhbnNhY3Rpb24/OiBUcmFuc2FjdGlvbiB8IFZlcnNpb25lZFRyYW5zYWN0aW9uO1xuICBwYXJ0aWFsU2lnbmVycz86IFNpZ25lcltdO1xuICBkZWJ1Z1R4PzogYm9vbGVhbjtcbiAgY29ubmVjdGlvbjogQ29ubmVjdGlvbjtcbiAgYmxvY2tjaGFpbjogJ3NvbGFuYSc7XG4gIHRva2VuPzogUHVibGljS2V5IHwgc3RyaW5nO1xuICByZW50Pzoge2xhbXBvcnRzOiBzdHJpbmcgfCBudW1iZXJ9O1xuICBuYXRpdmVTb2xUb0NvbnZlcnQ/OiB7bGFtcG9ydHM6IHN0cmluZyB8IG51bWJlcn07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dTZXNzaW9uS2V5UHVyY2hhc2VQcm9wc1xuICBleHRlbmRzIENvaW5mbG93Q29tbW9uUHVyY2hhc2VQcm9wcyB7XG4gIHNlc3Npb25LZXk6IHN0cmluZztcbiAgd2FsbGV0PzogdW5kZWZpbmVkO1xuICBibG9ja2NoYWluPzogQ29pbmZsb3dCbG9ja2NoYWluIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93TmVhclB1cmNoYXNlUHJvcHMgZXh0ZW5kcyBDb2luZmxvd0NvbW1vblB1cmNoYXNlUHJvcHMge1xuICB3YWxsZXQ6IE5lYXJXYWxsZXQ7XG4gIGJsb2NrY2hhaW46ICduZWFyJztcbiAgYWN0aW9uPzogTmVhckZ0VHJhbnNmZXJDYWxsQWN0aW9uO1xuICBuZWFyRGVwb3NpdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0V2bVB1cmNoYXNlUHJvcHMgZXh0ZW5kcyBDb2luZmxvd0NvbW1vblB1cmNoYXNlUHJvcHMge1xuICB0cmFuc2FjdGlvbj86IEV2bVRyYW5zYWN0aW9uRGF0YTtcbiAgdG9rZW4/OiBzdHJpbmc7XG4gIHdhbGxldDogRXRoV2FsbGV0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93UG9seWdvblB1cmNoYXNlUHJvcHMgZXh0ZW5kcyBDb2luZmxvd0V2bVB1cmNoYXNlUHJvcHMge1xuICBibG9ja2NoYWluOiAncG9seWdvbic7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dFdGhQdXJjaGFzZVByb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1QdXJjaGFzZVByb3BzIHtcbiAgYmxvY2tjaGFpbjogJ2V0aCc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dCYXNlUHVyY2hhc2VQcm9wcyBleHRlbmRzIENvaW5mbG93RXZtUHVyY2hhc2VQcm9wcyB7XG4gIGJsb2NrY2hhaW46ICdiYXNlJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0FyYml0cnVtUHVyY2hhc2VQcm9wc1xuICBleHRlbmRzIENvaW5mbG93RXZtUHVyY2hhc2VQcm9wcyB7XG4gIGJsb2NrY2hhaW46ICdhcmJpdHJ1bSc7XG59XG5cbmV4cG9ydCB0eXBlIENvaW5mbG93UHVyY2hhc2VQcm9wcyA9XG4gIHwgQ29pbmZsb3dTb2xhbmFQdXJjaGFzZVByb3BzXG4gIHwgQ29pbmZsb3dTZXNzaW9uS2V5UHVyY2hhc2VQcm9wc1xuICB8IENvaW5mbG93TmVhclB1cmNoYXNlUHJvcHNcbiAgfCBDb2luZmxvd1BvbHlnb25QdXJjaGFzZVByb3BzXG4gIHwgQ29pbmZsb3dFdGhQdXJjaGFzZVByb3BzXG4gIHwgQ29pbmZsb3dCYXNlUHVyY2hhc2VQcm9wc1xuICB8IENvaW5mbG93QXJiaXRydW1QdXJjaGFzZVByb3BzO1xuXG4vKiogV2l0aGRyYXcgKiovXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dDb21tb25XaXRoZHJhd1Byb3BzIGV4dGVuZHMgQ29pbmZsb3dUeXBlcyB7XG4gIG9uU3VjY2Vzcz86IE9uU3VjY2Vzc01ldGhvZDtcbiAgdG9rZW5zPzogc3RyaW5nW107XG4gIGxvY2tEZWZhdWx0VG9rZW4/OiBib29sZWFuO1xuICBhbW91bnQ/OiBudW1iZXI7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBiYW5rQWNjb3VudExpbmtSZWRpcmVjdD86IHN0cmluZztcbiAgYWRkaXRpb25hbFdhbGxldHM/OiB7XG4gICAgd2FsbGV0OiBzdHJpbmc7XG4gICAgYmxvY2tjaGFpbjogJ3NvbGFuYScgfCAnZXRoJyB8ICduZWFyJyB8ICdwb2x5Z29uJyB8ICdiYXNlJyB8ICdhcmJpdHJ1bSc7XG4gIH1bXTtcbiAgbG9ja0Ftb3VudD86IGJvb2xlYW47XG4gIHRyYW5zYWN0aW9uU2lnbmVyPzogc3RyaW5nO1xuICAvKipcbiAgICogSWYgcmVuZGVyaW5nIHRoZSBDb2luZmxvdyBjb21wb25lbnQgd2l0aGluIG11bHRpcGxlIG5lc3RlZCBpZnJhbWVzLCBhbGwgYW5jZXN0b3JzIGluIHRoZSBjaGFpbiBtdXN0IGJlIHByb3ZpZGVkIGFzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QuXG4gICAqXG4gICAqIEV4YW1wbGU6XG4gICAqIFByaW1hcnkgb3JpZ2luIHRoYXQgd2lsbCBiZSBpbnRlcmFjdGluZyB3aXRoIHRoZSBDb2luZmxvdyBpRnJhbWU6IGZvby5jb21cbiAgICogU3Vic2VxdWVudCBvcmlnaW5zIHRoYXQgd2lsbCByZW5kZXIgZm9vLmNvbTogYmFyLmNvbVxuICAgKiBUaGUgb3JpZ2luIGFycmF5IHdvdWxkIHRoZW4gYmU6IFtodHRwczovL2Zvby5jb20saHR0cHM6Ly9iYXIuY29tXVxuICAgKi9cbiAgb3JpZ2lucz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93U29sYW5hV2l0aGRyYXdQcm9wc1xuICBleHRlbmRzIENvaW5mbG93Q29tbW9uV2l0aGRyYXdQcm9wcyB7XG4gIHdhbGxldDogU29sYW5hV2FsbGV0O1xuICBjb25uZWN0aW9uOiBDb25uZWN0aW9uO1xuICBibG9ja2NoYWluOiAnc29sYW5hJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd05lYXJXaXRoZHJhd1Byb3BzIGV4dGVuZHMgQ29pbmZsb3dDb21tb25XaXRoZHJhd1Byb3BzIHtcbiAgd2FsbGV0OiBOZWFyV2FsbGV0O1xuICBibG9ja2NoYWluOiAnbmVhcic7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dFdm1XaXRoZHJhd1Byb3BzIGV4dGVuZHMgQ29pbmZsb3dDb21tb25XaXRoZHJhd1Byb3BzIHtcbiAgd2FsbGV0OiBFdGhXYWxsZXQ7XG4gIHVzZVBlcm1pdD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dFdGhXaXRoZHJhd1Byb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1XaXRoZHJhd1Byb3BzIHtcbiAgYmxvY2tjaGFpbjogJ2V0aCc7XG4gIHVzZVBlcm1pdD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dQb2x5Z29uV2l0aGRyYXdQcm9wcyBleHRlbmRzIENvaW5mbG93RXZtV2l0aGRyYXdQcm9wcyB7XG4gIGJsb2NrY2hhaW46ICdwb2x5Z29uJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0Jhc2VXaXRoZHJhd1Byb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1XaXRoZHJhd1Byb3BzIHtcbiAgYmxvY2tjaGFpbjogJ2Jhc2UnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93QXJiaXRydW1XaXRoZHJhd1Byb3BzXG4gIGV4dGVuZHMgQ29pbmZsb3dFdm1XaXRoZHJhd1Byb3BzIHtcbiAgYmxvY2tjaGFpbjogJ2FyYml0cnVtJztcbn1cblxuZXhwb3J0IHR5cGUgQ29pbmZsb3dXaXRoZHJhd1Byb3BzID1cbiAgfCBDb2luZmxvd1NvbGFuYVdpdGhkcmF3UHJvcHNcbiAgfCBDb2luZmxvd05lYXJXaXRoZHJhd1Byb3BzXG4gIHwgQ29pbmZsb3dFdGhXaXRoZHJhd1Byb3BzXG4gIHwgQ29pbmZsb3dQb2x5Z29uV2l0aGRyYXdQcm9wc1xuICB8IENvaW5mbG93QmFzZVdpdGhkcmF3UHJvcHNcbiAgfCBDb2luZmxvd0FyYml0cnVtV2l0aGRyYXdQcm9wcztcblxuZXhwb3J0IGludGVyZmFjZSBDb21tb25Fdm1SZWRlZW0ge1xuICB3YWl0Rm9ySGFzaD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9ybWFsUmVkZWVtIGV4dGVuZHMgQ29tbW9uRXZtUmVkZWVtIHtcbiAgdHJhbnNhY3Rpb246IHt0bzogc3RyaW5nOyBkYXRhOiBzdHJpbmd9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEtub3duVG9rZW5JZFJlZGVlbSBleHRlbmRzIE5vcm1hbFJlZGVlbSB7XG4gIG5mdENvbnRyYWN0OiBzdHJpbmc7XG4gIG5mdElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2FmZU1pbnRSZWRlZW0gZXh0ZW5kcyBOb3JtYWxSZWRlZW0ge1xuICB0eXBlOiAnc2FmZU1pbnQnO1xuICBuZnRDb250cmFjdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXR1cm5lZFRva2VuSWRSZWRlZW0gZXh0ZW5kcyBOb3JtYWxSZWRlZW0ge1xuICB0eXBlOiAncmV0dXJuZWQnO1xuICBuZnRDb250cmFjdD86IHN0cmluZztcbn1cblxudHlwZSBSZXNlcnZvaXJOZnRJZEl0ZW0gPSBPbWl0PEtub3duVG9rZW5JZFJlZGVlbSwga2V5b2YgTm9ybWFsUmVkZWVtPjtcbmludGVyZmFjZSBSZXNlcnZvaXJPcmRlcklkSXRlbSB7XG4gIG9yZGVySWQ6IHN0cmluZztcbn1cbnR5cGUgUmVzZXJ2b2lySXRlbSA9IFJlc2Vydm9pck5mdElkSXRlbSB8IFJlc2Vydm9pck9yZGVySWRJdGVtO1xudHlwZSBSZXNlcnZvaXJJdGVtcyA9IFJlc2Vydm9pckl0ZW0gfCBSZXNlcnZvaXJJdGVtW107XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzZXJ2b2lyUmVkZWVtIGV4dGVuZHMgQ29tbW9uRXZtUmVkZWVtIHtcbiAgdHlwZTogJ3Jlc2Vydm9pcic7XG4gIGl0ZW1zOiBSZXNlcnZvaXJJdGVtcztcbiAgdGFrZXI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9rZW5SZWRlZW0gZXh0ZW5kcyBDb21tb25Fdm1SZWRlZW0ge1xuICB0eXBlOiAndG9rZW4nO1xuICBkZXN0aW5hdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBFdm1UcmFuc2FjdGlvbkRhdGEgPVxuICB8IFNhZmVNaW50UmVkZWVtXG4gIHwgUmV0dXJuZWRUb2tlbklkUmVkZWVtXG4gIHwgUmVzZXJ2b2lyUmVkZWVtXG4gIHwgS25vd25Ub2tlbklkUmVkZWVtXG4gIHwgTm9ybWFsUmVkZWVtXG4gIHwgVG9rZW5SZWRlZW07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dJRnJhbWVQcm9wc1xuICBleHRlbmRzIE9taXQ8Q29pbmZsb3dUeXBlcywgJ21lcmNoYW50SWQnPixcbiAgICBQaWNrPFxuICAgICAgQ29pbmZsb3dDb21tb25QdXJjaGFzZVByb3BzLFxuICAgICAgfCAnY2hhcmdlYmFja1Byb3RlY3Rpb25EYXRhJ1xuICAgICAgfCAnd2ViaG9va0luZm8nXG4gICAgICB8ICdhbW91bnQnXG4gICAgICB8ICdjdXN0b21lckluZm8nXG4gICAgICB8ICdzZXR0bGVtZW50VHlwZSdcbiAgICAgIHwgJ2VtYWlsJ1xuICAgICAgfCAncGxhbkNvZGUnXG4gICAgICB8ICdkZXZpY2VJZCdcbiAgICAgIHwgJ2p3dFRva2VuJ1xuICAgICAgfCAnb3JpZ2lucydcbiAgICAgIHwgJ3RocmVlRHNDaGFsbGVuZ2VQcmVmZXJlbmNlJ1xuICAgICAgfCAnc3VwcG9ydEVtYWlsJ1xuICAgID4sXG4gICAgUGljazxcbiAgICAgIENvaW5mbG93Q29tbW9uV2l0aGRyYXdQcm9wcyxcbiAgICAgIHwgJ2JhbmtBY2NvdW50TGlua1JlZGlyZWN0J1xuICAgICAgfCAnYWRkaXRpb25hbFdhbGxldHMnXG4gICAgICB8ICd0cmFuc2FjdGlvblNpZ25lcidcbiAgICAgIHwgJ2xvY2tBbW91bnQnXG4gICAgICB8ICdsb2NrRGVmYXVsdFRva2VuJ1xuICAgICAgfCAnb3JpZ2lucydcbiAgICA+LFxuICAgIFBpY2s8Q29pbmZsb3dFdm1QdXJjaGFzZVByb3BzLCAnYXV0aE9ubHknPixcbiAgICBQaWNrPENvaW5mbG93U29sYW5hUHVyY2hhc2VQcm9wcywgJ3JlbnQnIHwgJ25hdGl2ZVNvbFRvQ29udmVydCcgfCAndG9rZW4nPiB7XG4gIHdhbGxldFB1YmtleTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgc2Vzc2lvbktleT86IHN0cmluZztcbiAgcm91dGU6IHN0cmluZztcbiAgcm91dGVQcmVmaXg/OiBzdHJpbmc7XG4gIHRyYW5zYWN0aW9uPzogc3RyaW5nO1xuICB0b2tlbnM/OiBzdHJpbmdbXSB8IFB1YmxpY0tleVtdO1xuICBuZWFyRGVwb3NpdD86IHN0cmluZztcbiAgbWVyY2hhbnRDc3M/OiBzdHJpbmc7XG4gIGNvbG9yPzogJ3doaXRlJyB8ICdibGFjayc7XG4gIGRpc2FibGVBcHBsZVBheT86IGJvb2xlYW47XG4gIGRpc2FibGVHb29nbGVQYXk/OiBib29sZWFuO1xuICB0aGVtZT86IE1lcmNoYW50VGhlbWU7XG4gIHVzZVBlcm1pdD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBlbnVtIENhcmRUeXBlIHtcbiAgVklTQSA9ICdWSVNBJyxcbiAgTUFTVEVSQ0FSRCA9ICdNU1RSJyxcbiAgQU1FWCA9ICdBTUVYJyxcbiAgRElTQ09WRVIgPSAnRElTQycsXG59XG4iXX0=
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29pbmZsb3dUeXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvaW5mbG93bGFicy9zcmMvbGliL2NvbW1vbi9Db2luZmxvd1R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDeEIscUNBQW1CLENBQUE7SUFDbkIsK0JBQWEsQ0FBQTtJQUNiLCtCQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsY0FBYyxLQUFkLGNBQWMsUUFJekI7QUFFRCxNQUFNLENBQU4sSUFBWSxhQUlYO0FBSkQsV0FBWSxhQUFhO0lBQ3ZCLG9DQUFtQixDQUFBO0lBQ25CLGdDQUFlLENBQUE7SUFDZiw4QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUpXLGFBQWEsS0FBYixhQUFhLFFBSXhCO0FBK05ELE1BQU0sQ0FBTixJQUFZLDBCQUlYO0FBSkQsV0FBWSwwQkFBMEI7SUFDcEMsMkRBQTZCLENBQUE7SUFDN0IsMkRBQTZCLENBQUE7SUFDN0IscURBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUpXLDBCQUEwQixLQUExQiwwQkFBMEIsUUFJckM7QUF5U0QsTUFBTSxDQUFOLElBQVksUUFLWDtBQUxELFdBQVksUUFBUTtJQUNsQix5QkFBYSxDQUFBO0lBQ2IsK0JBQW1CLENBQUE7SUFDbkIseUJBQWEsQ0FBQTtJQUNiLDZCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFMVyxRQUFRLEtBQVIsUUFBUSxRQUtuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQ29ubmVjdGlvbixcbiAgVmVyc2lvbmVkVHJhbnNhY3Rpb24sXG4gIFB1YmxpY0tleSxcbiAgU2lnbmVyLFxuICBUcmFuc2FjdGlvbixcbn0gZnJvbSAnQHNvbGFuYS93ZWIzLmpzJztcblxuZXhwb3J0IGVudW0gU2V0dGxlbWVudFR5cGUge1xuICBDcmVkaXRzID0gJ0NyZWRpdHMnLFxuICBVU0RDID0gJ1VTREMnLFxuICBCYW5rID0gJ0JhbmsnLFxufVxuXG5leHBvcnQgZW51bSBNZXJjaGFudFN0eWxlIHtcbiAgUm91bmRlZCA9ICdyb3VuZGVkJyxcbiAgU2hhcnAgPSAnc2hhcnAnLFxuICBQaWxsID0gJ3BpbGwnLFxufVxuXG5leHBvcnQgdHlwZSBNZXJjaGFudFRoZW1lID0ge1xuICBwcmltYXJ5Pzogc3RyaW5nO1xuICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xuICBiYWNrZ3JvdW5kQWNjZW50Pzogc3RyaW5nO1xuICBiYWNrZ3JvdW5kQWNjZW50Mj86IHN0cmluZztcbiAgdGV4dENvbG9yPzogc3RyaW5nO1xuICB0ZXh0Q29sb3JBY2NlbnQ/OiBzdHJpbmc7XG4gIHRleHRDb2xvckFjdGlvbj86IHN0cmluZztcbiAgZm9udD86IHN0cmluZztcbiAgc3R5bGU/OiBNZXJjaGFudFN0eWxlO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21lckluZm8ge1xuICBuYW1lPzogc3RyaW5nO1xuICB2ZXJpZmljYXRpb25JZD86IHN0cmluZztcbiAgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIGNpdHk/OiBzdHJpbmc7XG4gIHN0YXRlPzogc3RyaW5nO1xuICB6aXA/OiBzdHJpbmc7XG4gIGNvdW50cnk/OiBzdHJpbmc7XG4gIGlwPzogc3RyaW5nO1xuICBsYXQ/OiBzdHJpbmc7XG4gIGxuZz86IHN0cmluZztcbn1cblxuLyoqIENvaW5mbG93IFR5cGVzICoqL1xuZXhwb3J0IHR5cGUgQ29pbmZsb3dCbG9ja2NoYWluID1cbiAgfCAnc29sYW5hJ1xuICB8ICduZWFyJ1xuICB8ICdldGgnXG4gIHwgJ3BvbHlnb24nXG4gIHwgJ2Jhc2UnXG4gIHwgJ2FyYml0cnVtJ1xuICB8ICd1c2VyJztcbmV4cG9ydCB0eXBlIENvaW5mbG93RW52cyA9XG4gIHwgJ3Byb2QnXG4gIHwgJ3N0YWdpbmcnXG4gIHwgJ3N0YWdpbmctbGl2ZSdcbiAgfCAnc2FuZGJveCdcbiAgfCAnbG9jYWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93VHlwZXMge1xuICBtZXJjaGFudElkOiBzdHJpbmc7XG4gIGVudj86IENvaW5mbG93RW52cztcbiAgbG9hZGVyQmFja2dyb3VuZD86IHN0cmluZztcbiAgYmxvY2tjaGFpbj86IENvaW5mbG93QmxvY2tjaGFpbiB8IHVuZGVmaW5lZDtcbiAgaGFuZGxlSGVpZ2h0Q2hhbmdlPzogKGhlaWdodDogc3RyaW5nKSA9PiB2b2lkO1xuICB0aGVtZT86IE1lcmNoYW50VGhlbWU7XG59XG5cbmV4cG9ydCB0eXBlIFBhcnRpYWxCeTxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBPbWl0PFQsIEs+ICYgUGFydGlhbDxQaWNrPFQsIEs+PjtcblxuZXhwb3J0IHR5cGUgT25TdWNjZXNzTWV0aG9kID0gKFxuICBhcmdzOlxuICAgIHwge1xuICAgICAgICBwYXltZW50SWQ6IHN0cmluZztcbiAgICAgICAgaGFzaD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB8IHN0cmluZ1xuKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcblxuLyoqIFdhbGxldHMgKiovXG5leHBvcnQgaW50ZXJmYWNlIFNvbGFuYVdhbGxldCB7XG4gIHB1YmxpY0tleTogUHVibGljS2V5IHwgbnVsbDtcbiAgc2lnblRyYW5zYWN0aW9uPzogPFQgZXh0ZW5kcyBUcmFuc2FjdGlvbiB8IFZlcnNpb25lZFRyYW5zYWN0aW9uPihcbiAgICB0cmFuc2FjdGlvbjogVFxuICApID0+IFByb21pc2U8VD47XG4gIHNlbmRUcmFuc2FjdGlvbjogPFQgZXh0ZW5kcyBUcmFuc2FjdGlvbiB8IFZlcnNpb25lZFRyYW5zYWN0aW9uPihcbiAgICB0cmFuc2FjdGlvbjogVFxuICApID0+IFByb21pc2U8c3RyaW5nPjtcbiAgc2lnbk1lc3NhZ2U/OiAobWVzc2FnZTogVWludDhBcnJheSkgPT4gUHJvbWlzZTxVaW50OEFycmF5Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZWFyV2FsbGV0IHtcbiAgYWNjb3VudElkOiBzdHJpbmc7XG4gIHNpZ25BbmRTZW5kVHJhbnNhY3Rpb246ICh0cmFuc2FjdGlvbjogdW5rbm93bikgPT4gUHJvbWlzZTx7XG4gICAgdHJhbnNhY3Rpb246IHtoYXNoOiBzdHJpbmd9O1xuICB9Pjtcbn1cblxudHlwZSBBY2Nlc3NMaXN0ID0gQXJyYXk8e2FkZHJlc3M6IHN0cmluZzsgc3RvcmFnZUtleXM6IEFycmF5PHN0cmluZz59PjtcbnR5cGUgQWNjZXNzTGlzdGlzaCA9XG4gIHwgQWNjZXNzTGlzdFxuICB8IEFycmF5PFtzdHJpbmcsIEFycmF5PHN0cmluZz5dPlxuICB8IFJlY29yZDxzdHJpbmcsIEFycmF5PHN0cmluZz4+O1xuXG5leHBvcnQgdHlwZSBFdGhXYWxsZXQgPSB7XG4gIGFkZHJlc3M6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIHNlbmRUcmFuc2FjdGlvbjogKHRyYW5zYWN0aW9uOiB7XG4gICAgdG86IHN0cmluZztcbiAgICBmcm9tPzogc3RyaW5nO1xuICAgIG5vbmNlPzogQnl0ZXMgfCBiaWdpbnQgfCBzdHJpbmcgfCBudW1iZXI7XG5cbiAgICBnYXNMaW1pdD86IEJ5dGVzIHwgYmlnaW50IHwgc3RyaW5nIHwgbnVtYmVyO1xuICAgIGdhc1ByaWNlPzogQnl0ZXMgfCBiaWdpbnQgfCBzdHJpbmcgfCBudW1iZXI7XG5cbiAgICBkYXRhPzogQnl0ZXNMaWtlO1xuICAgIHZhbHVlPzogQnl0ZXMgfCBiaWdpbnQgfCBzdHJpbmcgfCBudW1iZXI7XG4gICAgY2hhaW5JZD86IG51bWJlcjtcblxuICAgIHR5cGU/OiBudW1iZXI7XG4gICAgYWNjZXNzTGlzdD86IEFjY2Vzc0xpc3Rpc2g7XG5cbiAgICBtYXhQcmlvcml0eUZlZVBlckdhcz86IEJ5dGVzIHwgYmlnaW50IHwgc3RyaW5nIHwgbnVtYmVyO1xuICAgIG1heEZlZVBlckdhcz86IEJ5dGVzIHwgYmlnaW50IHwgc3RyaW5nIHwgbnVtYmVyO1xuXG4gICAgY3VzdG9tRGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgY2NpcFJlYWRFbmFibGVkPzogYm9vbGVhbjtcbiAgfSkgPT4gUHJvbWlzZTx7aGFzaDogc3RyaW5nfT47XG4gIHNpZ25NZXNzYWdlOiAobWVzc2FnZTogc3RyaW5nKSA9PiBQcm9taXNlPHN0cmluZz47XG59O1xuXG4vKiogSGlzdG9yeSAqKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dTb2xhbmFIaXN0b3J5UHJvcHMgZXh0ZW5kcyBDb2luZmxvd1R5cGVzIHtcbiAgd2FsbGV0OiBTb2xhbmFXYWxsZXQ7XG4gIGNvbm5lY3Rpb246IENvbm5lY3Rpb247XG4gIGJsb2NrY2hhaW46ICdzb2xhbmEnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93U2Vzc2lvbktleUhpc3RvcnlQcm9wcyBleHRlbmRzIENvaW5mbG93VHlwZXMge1xuICBzZXNzaW9uS2V5OiBzdHJpbmc7XG4gIGJsb2NrY2hhaW4/OiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dOZWFySGlzdG9yeVByb3BzIGV4dGVuZHMgQ29pbmZsb3dUeXBlcyB7XG4gIHdhbGxldDogTmVhcldhbGxldDtcbiAgYmxvY2tjaGFpbjogJ25lYXInO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93RXZtSGlzdG9yeVByb3BzIGV4dGVuZHMgQ29pbmZsb3dUeXBlcyB7XG4gIHdhbGxldDogRXRoV2FsbGV0O1xuICBibG9ja2NoYWluOiAnZXRoJyB8ICdwb2x5Z29uJyB8ICdiYXNlJyB8ICdhcmJpdHJ1bSc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dFdGhIaXN0b3J5UHJvcHMgZXh0ZW5kcyBDb2luZmxvd0V2bUhpc3RvcnlQcm9wcyB7XG4gIGJsb2NrY2hhaW46ICdldGgnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93UG9seWdvbkhpc3RvcnlQcm9wcyBleHRlbmRzIENvaW5mbG93RXZtSGlzdG9yeVByb3BzIHtcbiAgYmxvY2tjaGFpbjogJ3BvbHlnb24nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93QmFzZUhpc3RvcnlQcm9wcyBleHRlbmRzIENvaW5mbG93RXZtSGlzdG9yeVByb3BzIHtcbiAgYmxvY2tjaGFpbjogJ2Jhc2UnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93QXJiaXRydW1IaXN0b3J5UHJvcHMgZXh0ZW5kcyBDb2luZmxvd0V2bUhpc3RvcnlQcm9wcyB7XG4gIGJsb2NrY2hhaW46ICdhcmJpdHJ1bSc7XG59XG5cbmV4cG9ydCB0eXBlIENvaW5mbG93SGlzdG9yeVByb3BzID1cbiAgfCBDb2luZmxvd1NvbGFuYUhpc3RvcnlQcm9wc1xuICB8IENvaW5mbG93TmVhckhpc3RvcnlQcm9wc1xuICB8IENvaW5mbG93UG9seWdvbkhpc3RvcnlQcm9wc1xuICB8IENvaW5mbG93RXRoSGlzdG9yeVByb3BzXG4gIHwgQ29pbmZsb3dCYXNlSGlzdG9yeVByb3BzXG4gIHwgQ29pbmZsb3dBcmJpdHJ1bUhpc3RvcnlQcm9wc1xuICB8IENvaW5mbG93U2Vzc2lvbktleUhpc3RvcnlQcm9wcztcblxuLyoqIFRyYW5zYWN0aW9ucyAqKi9cblxuZXhwb3J0IHR5cGUgTmVhckZ0VHJhbnNmZXJDYWxsQWN0aW9uID0ge1xuICBtZXRob2ROYW1lOiAnZnRfdHJhbnNmZXJfY2FsbCc7XG4gIGFyZ3M6IG9iamVjdDtcbiAgZ2FzOiBzdHJpbmc7XG4gIGRlcG9zaXQ6IHN0cmluZztcbn07XG5cbnR5cGUgQnl0ZXMgPSBBcnJheUxpa2U8bnVtYmVyPjtcbnR5cGUgQnl0ZXNMaWtlID0gQnl0ZXMgfCBzdHJpbmc7XG5cbnR5cGUgUmF3UHJvZHVjdERhdGEgPSBhbnk7XG5cbi8qKiBQdXJjaGFzZSAqKi9cblxuZXhwb3J0IHR5cGUgQ2hhcmdlYmFja1Byb3RlY3Rpb25EYXRhID0gQ2hhcmdlYmFja1Byb3RlY3Rpb25JdGVtW107XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhcmdlYmFja1Byb3RlY3Rpb25JdGVtIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBwcm9kdWN0XG4gICAqL1xuICBwcm9kdWN0TmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHByb2R1Y3QgdHlwZS4gUG9zc2libGUgdmFsdWVzIGluY2x1ZGU6IGluR2FtZVByb2R1Y3QsIGdhbWVPZlNraWxsLCBkYXRhU3RvcmFnZSwgY29tcHV0aW5nUmVzb3VyY2VzLCBzcG9ydHNUaWNrZXQsIGVTcG9ydHNUaWNrZXQsIG11c2ljVGlja2V0LCBjb25mZXJlbmNlVGlja2V0LCB2aXJ0dWFsU3BvcnRzVGlja2V0LCB2aXJ0dWFsRVNwb3J0c1RpY2tldCwgdmlydHVhbE11c2ljVGlja2V0LCB2aXJ0dWFsQ29uZmVyZW5jZVRpY2tldCwgYWxjb2hvbCwgRExDLCBzdWJzY3JpcHRpb24sIGZ1bmRBQ2F1c2UsIHJlYWxFc3RhdGUsIGNvbXB1dGluZ0NvbnRyYWN0LCBkaWdpdGFsQXJ0LCB0b3BVcFxuICAgKi9cbiAgcHJvZHVjdFR5cGU6XG4gICAgfCAnaW5HYW1lUHJvZHVjdCdcbiAgICB8ICdnYW1lT2ZTa2lsbCdcbiAgICB8ICdkYXRhU3RvcmFnZSdcbiAgICB8ICdjb21wdXRpbmdSZXNvdXJjZXMnXG4gICAgfCAnc3BvcnRzVGlja2V0J1xuICAgIHwgJ2VTcG9ydHNUaWNrZXQnXG4gICAgfCAnbXVzaWNUaWNrZXQnXG4gICAgfCAnY29uZmVyZW5jZVRpY2tldCdcbiAgICB8ICd2aXJ0dWFsU3BvcnRzVGlja2V0J1xuICAgIHwgJ3ZpcnR1YWxFU3BvcnRzVGlja2V0J1xuICAgIHwgJ3ZpcnR1YWxNdXNpY1RpY2tldCdcbiAgICB8ICd2aXJ0dWFsQ29uZmVyZW5jZVRpY2tldCdcbiAgICB8ICdhbGNvaG9sJ1xuICAgIHwgJ0RMQydcbiAgICB8ICdzdWJzY3JpcHRpb24nXG4gICAgfCAnZnVuZEFDYXVzZSdcbiAgICB8ICdyZWFsRXN0YXRlJ1xuICAgIHwgJ2NvbXB1dGluZ0NvbnRyYWN0J1xuICAgIHwgJ2RpZ2l0YWxBcnQnXG4gICAgfCAndG9wVXAnXG4gICAgfCAnb3duZXJzaGlwQ29udHJhY3QnO1xuICAvKipcbiAgICogVGhlIGl0ZW0ncyBsaXN0IHByaWNlXG4gICAqL1xuICAvKipcbiAgICogVGhlIG51bWJlciBvZiB1bml0cyBzb2xkXG4gICAqL1xuICBxdWFudGl0eTogbnVtYmVyO1xuICAvKipcbiAgICogQW55IGFkZGl0aW9uYWwgZGF0YSB0aGF0IHRoZSBzdG9yZSBjYW4gcHJvdmlkZSBvbiB0aGUgcHJvZHVjdCwgZS5nLiBkZXNjcmlwdGlvbiwgbGluayB0byBpbWFnZSwgZXRjLlxuICAgKi9cbiAgcmF3UHJvZHVjdERhdGE/OiBSYXdQcm9kdWN0RGF0YTtcbn1cblxuZXhwb3J0IGVudW0gVGhyZWVEc0NoYWxsZW5nZVByZWZlcmVuY2Uge1xuICBOb1ByZWZlcmVuY2UgPSAnTm9QcmVmZXJlbmNlJyxcbiAgRnJpY3Rpb25sZXNzID0gJ0ZyaWN0aW9ubGVzcycsXG4gIENoYWxsZW5nZSA9ICdDaGFsbGVuZ2UnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93Q29tbW9uUHVyY2hhc2VQcm9wcyBleHRlbmRzIENvaW5mbG93VHlwZXMge1xuICBhbW91bnQ/OiBudW1iZXIgfCBzdHJpbmc7XG4gIG9uU3VjY2Vzcz86IE9uU3VjY2Vzc01ldGhvZDtcbiAgd2ViaG9va0luZm8/OiB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICB9O1xuICBlbWFpbD86IHN0cmluZztcbiAgY2hhcmdlYmFja1Byb3RlY3Rpb25EYXRhPzogQ2hhcmdlYmFja1Byb3RlY3Rpb25EYXRhO1xuICBwbGFuQ29kZT86IHN0cmluZztcbiAgZGlzYWJsZUFwcGxlUGF5PzogYm9vbGVhbjtcbiAgZGlzYWJsZUdvb2dsZVBheT86IGJvb2xlYW47XG4gIGN1c3RvbWVySW5mbz86IEN1c3RvbWVySW5mbztcbiAgc2V0dGxlbWVudFR5cGU/OiBTZXR0bGVtZW50VHlwZTtcbiAgYXV0aE9ubHk/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIERldmljZUlEIGdvdHRlbiBmcm9tIHRoZSBDb2luZmxvdyBTREs6XG4gICAqICBodHRwczovL2RvY3MuY29pbmZsb3cuY2FzaC9kb2NzL2ltcGxlbWVudC1jaGFyZ2ViYWNrLXByb3RlY3Rpb24jaG93LXRvLWFkZC1jaGFyZ2ViYWNrLXByb3RlY3Rpb25cbiAgICpcbiAgICogd2luZG93Py5uU3VyZVNESz8uZ2V0RGV2aWNlSWQoKVxuICAgKi9cbiAgZGV2aWNlSWQ/OiBzdHJpbmc7XG4gIGp3dFRva2VuPzogc3RyaW5nO1xuICAvKipcbiAgICogWW91ciBjb21wYW55IGVtYWlsIGFkZHJlc3MgdGhhdCB0aGUgY3VzdG9tZXIgY2FuIGNvbnRhY3QuXG4gICAqL1xuICBzdXBwb3J0RW1haWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJZiByZW5kZXJpbmcgdGhlIENvaW5mbG93IGNvbXBvbmVudCB3aXRoaW4gbXVsdGlwbGUgbmVzdGVkIGlmcmFtZXMsIGFsbCBhbmNlc3RvcnMgaW4gdGhlIGNoYWluIG11c3QgYmUgcHJvdmlkZWQgYXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdC5cbiAgICpcbiAgICogRXhhbXBsZTpcbiAgICogUHJpbWFyeSBvcmlnaW4gdGhhdCB3aWxsIGJlIGludGVyYWN0aW5nIHdpdGggdGhlIENvaW5mbG93IGlGcmFtZTogZm9vLmNvbVxuICAgKiBTdWJzZXF1ZW50IG9yaWdpbnMgdGhhdCB3aWxsIHJlbmRlciBmb28uY29tOiBiYXIuY29tXG4gICAqIFRoZSBvcmlnaW4gYXJyYXkgd291bGQgdGhlbiBiZTogW2h0dHBzOi8vZm9vLmNvbSxodHRwczovL2Jhci5jb21dXG4gICAqL1xuICBvcmlnaW5zPzogc3RyaW5nW107XG4gIHRocmVlRHNDaGFsbGVuZ2VQcmVmZXJlbmNlPzogVGhyZWVEc0NoYWxsZW5nZVByZWZlcmVuY2U7XG4gIGRlc3RpbmF0aW9uQXV0aEtleT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd1NvbGFuYVB1cmNoYXNlUHJvcHNcbiAgZXh0ZW5kcyBDb2luZmxvd0NvbW1vblB1cmNoYXNlUHJvcHMge1xuICB3YWxsZXQ6IFNvbGFuYVdhbGxldDtcbiAgdHJhbnNhY3Rpb24/OiBUcmFuc2FjdGlvbiB8IFZlcnNpb25lZFRyYW5zYWN0aW9uO1xuICBwYXJ0aWFsU2lnbmVycz86IFNpZ25lcltdO1xuICBkZWJ1Z1R4PzogYm9vbGVhbjtcbiAgY29ubmVjdGlvbjogQ29ubmVjdGlvbjtcbiAgYmxvY2tjaGFpbjogJ3NvbGFuYSc7XG4gIHRva2VuPzogUHVibGljS2V5IHwgc3RyaW5nO1xuICByZW50Pzoge2xhbXBvcnRzOiBzdHJpbmcgfCBudW1iZXJ9O1xuICBuYXRpdmVTb2xUb0NvbnZlcnQ/OiB7bGFtcG9ydHM6IHN0cmluZyB8IG51bWJlcn07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dTZXNzaW9uS2V5UHVyY2hhc2VQcm9wc1xuICBleHRlbmRzIENvaW5mbG93Q29tbW9uUHVyY2hhc2VQcm9wcyB7XG4gIHNlc3Npb25LZXk6IHN0cmluZztcbiAgd2FsbGV0PzogdW5kZWZpbmVkO1xuICBibG9ja2NoYWluPzogQ29pbmZsb3dCbG9ja2NoYWluIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93TmVhclB1cmNoYXNlUHJvcHMgZXh0ZW5kcyBDb2luZmxvd0NvbW1vblB1cmNoYXNlUHJvcHMge1xuICB3YWxsZXQ6IE5lYXJXYWxsZXQ7XG4gIGJsb2NrY2hhaW46ICduZWFyJztcbiAgYWN0aW9uPzogTmVhckZ0VHJhbnNmZXJDYWxsQWN0aW9uO1xuICBuZWFyRGVwb3NpdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0V2bVB1cmNoYXNlUHJvcHMgZXh0ZW5kcyBDb2luZmxvd0NvbW1vblB1cmNoYXNlUHJvcHMge1xuICB0cmFuc2FjdGlvbj86IEV2bVRyYW5zYWN0aW9uRGF0YTtcbiAgdG9rZW4/OiBzdHJpbmc7XG4gIHdhbGxldDogRXRoV2FsbGV0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93UG9seWdvblB1cmNoYXNlUHJvcHMgZXh0ZW5kcyBDb2luZmxvd0V2bVB1cmNoYXNlUHJvcHMge1xuICBibG9ja2NoYWluOiAncG9seWdvbic7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dFdGhQdXJjaGFzZVByb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1QdXJjaGFzZVByb3BzIHtcbiAgYmxvY2tjaGFpbjogJ2V0aCc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dCYXNlUHVyY2hhc2VQcm9wcyBleHRlbmRzIENvaW5mbG93RXZtUHVyY2hhc2VQcm9wcyB7XG4gIGJsb2NrY2hhaW46ICdiYXNlJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0FyYml0cnVtUHVyY2hhc2VQcm9wc1xuICBleHRlbmRzIENvaW5mbG93RXZtUHVyY2hhc2VQcm9wcyB7XG4gIGJsb2NrY2hhaW46ICdhcmJpdHJ1bSc7XG59XG5cbmV4cG9ydCB0eXBlIENvaW5mbG93UHVyY2hhc2VQcm9wcyA9XG4gIHwgQ29pbmZsb3dTb2xhbmFQdXJjaGFzZVByb3BzXG4gIHwgQ29pbmZsb3dTZXNzaW9uS2V5UHVyY2hhc2VQcm9wc1xuICB8IENvaW5mbG93TmVhclB1cmNoYXNlUHJvcHNcbiAgfCBDb2luZmxvd1BvbHlnb25QdXJjaGFzZVByb3BzXG4gIHwgQ29pbmZsb3dFdGhQdXJjaGFzZVByb3BzXG4gIHwgQ29pbmZsb3dCYXNlUHVyY2hhc2VQcm9wc1xuICB8IENvaW5mbG93QXJiaXRydW1QdXJjaGFzZVByb3BzO1xuXG4vKiogV2l0aGRyYXcgKiovXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dDb21tb25XaXRoZHJhd1Byb3BzIGV4dGVuZHMgQ29pbmZsb3dUeXBlcyB7XG4gIG9uU3VjY2Vzcz86IE9uU3VjY2Vzc01ldGhvZDtcbiAgdG9rZW5zPzogc3RyaW5nW107XG4gIGxvY2tEZWZhdWx0VG9rZW4/OiBib29sZWFuO1xuICBhbW91bnQ/OiBudW1iZXI7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBiYW5rQWNjb3VudExpbmtSZWRpcmVjdD86IHN0cmluZztcbiAgYWRkaXRpb25hbFdhbGxldHM/OiB7XG4gICAgd2FsbGV0OiBzdHJpbmc7XG4gICAgYmxvY2tjaGFpbjogJ3NvbGFuYScgfCAnZXRoJyB8ICduZWFyJyB8ICdwb2x5Z29uJyB8ICdiYXNlJyB8ICdhcmJpdHJ1bSc7XG4gIH1bXTtcbiAgbG9ja0Ftb3VudD86IGJvb2xlYW47XG4gIHRyYW5zYWN0aW9uU2lnbmVyPzogc3RyaW5nO1xuICAvKipcbiAgICogSWYgcmVuZGVyaW5nIHRoZSBDb2luZmxvdyBjb21wb25lbnQgd2l0aGluIG11bHRpcGxlIG5lc3RlZCBpZnJhbWVzLCBhbGwgYW5jZXN0b3JzIGluIHRoZSBjaGFpbiBtdXN0IGJlIHByb3ZpZGVkIGFzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QuXG4gICAqXG4gICAqIEV4YW1wbGU6XG4gICAqIFByaW1hcnkgb3JpZ2luIHRoYXQgd2lsbCBiZSBpbnRlcmFjdGluZyB3aXRoIHRoZSBDb2luZmxvdyBpRnJhbWU6IGZvby5jb21cbiAgICogU3Vic2VxdWVudCBvcmlnaW5zIHRoYXQgd2lsbCByZW5kZXIgZm9vLmNvbTogYmFyLmNvbVxuICAgKiBUaGUgb3JpZ2luIGFycmF5IHdvdWxkIHRoZW4gYmU6IFtodHRwczovL2Zvby5jb20saHR0cHM6Ly9iYXIuY29tXVxuICAgKi9cbiAgb3JpZ2lucz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgdHlwZSBXYWxsZXRUeXBlcyA9IFNvbGFuYVdhbGxldCB8IE5lYXJXYWxsZXQgfCBFdGhXYWxsZXQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29sYW5hV2FsbGV0UHJvcHMge1xuICB3YWxsZXQ6IFNvbGFuYVdhbGxldDtcbiAgY29ubmVjdGlvbjogQ29ubmVjdGlvbjtcbiAgYmxvY2tjaGFpbjogJ3NvbGFuYSc7XG59XG5cbmV4cG9ydCB0eXBlIENvaW5mbG93U29sYW5hV2l0aGRyYXdQcm9wcyA9IENvaW5mbG93Q29tbW9uV2l0aGRyYXdQcm9wcyAmXG4gIFNvbGFuYVdhbGxldFByb3BzO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5lYXJXYWxsZXRQcm9wcyB7XG4gIHdhbGxldDogTmVhcldhbGxldDtcbiAgYmxvY2tjaGFpbjogJ25lYXInO1xufVxuXG5leHBvcnQgdHlwZSBDb2luZmxvd05lYXJXaXRoZHJhd1Byb3BzID0gQ29pbmZsb3dDb21tb25XaXRoZHJhd1Byb3BzICZcbiAgTmVhcldhbGxldFByb3BzO1xuXG5pbnRlcmZhY2UgRXZtV2FsbGV0UHJvcHMge1xuICB3YWxsZXQ6IEV0aFdhbGxldDtcbiAgdXNlUGVybWl0PzogYm9vbGVhbjtcbn1cblxudHlwZSBDb2luZmxvd0V2bVdpdGhkcmF3UHJvcHMgPSBDb2luZmxvd0NvbW1vbldpdGhkcmF3UHJvcHMgJiBFdm1XYWxsZXRQcm9wcztcblxuZXhwb3J0IGludGVyZmFjZSBFdGhXYWxsZXRQcm9wcyB7XG4gIGJsb2NrY2hhaW46ICdldGgnO1xufVxuXG5leHBvcnQgdHlwZSBDb2luZmxvd0V0aFdpdGhkcmF3UHJvcHMgPSBDb2luZmxvd0V2bVdpdGhkcmF3UHJvcHMgJlxuICBFdGhXYWxsZXRQcm9wcztcblxuZXhwb3J0IGludGVyZmFjZSBQb2x5Z29uV2FsbGV0UHJvcHMge1xuICBibG9ja2NoYWluOiAncG9seWdvbic7XG59XG5cbmV4cG9ydCB0eXBlIENvaW5mbG93UG9seWdvbldpdGhkcmF3UHJvcHMgPSBDb2luZmxvd0V2bVdpdGhkcmF3UHJvcHMgJlxuICBQb2x5Z29uV2FsbGV0UHJvcHM7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZVdhbGxldFByb3BzIHtcbiAgYmxvY2tjaGFpbjogJ2Jhc2UnO1xufVxuXG5leHBvcnQgdHlwZSBDb2luZmxvd0Jhc2VXaXRoZHJhd1Byb3BzID0gQ29pbmZsb3dFdm1XaXRoZHJhd1Byb3BzICZcbiAgQmFzZVdhbGxldFByb3BzO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFyYml0cnVtV2FsbGV0UHJvcHMge1xuICBibG9ja2NoYWluOiAnYXJiaXRydW0nO1xufVxuXG5leHBvcnQgdHlwZSBDb2luZmxvd0FyYml0cnVtV2l0aGRyYXdQcm9wcyA9IENvaW5mbG93RXZtV2l0aGRyYXdQcm9wcyAmXG4gIEFyYml0cnVtV2FsbGV0UHJvcHM7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dTZXNzaW9uS2V5V2l0aGRyYXdQcm9wc1xuICBleHRlbmRzIENvaW5mbG93Q29tbW9uV2l0aGRyYXdQcm9wcyB7XG4gIHNlc3Npb25LZXk6IHN0cmluZztcbiAgc2lnbmVyOlxuICAgIHwgU29sYW5hV2FsbGV0UHJvcHNcbiAgICB8IE5lYXJXYWxsZXRQcm9wc1xuICAgIHwgRXRoV2FsbGV0UHJvcHNcbiAgICB8IFBvbHlnb25XYWxsZXRQcm9wc1xuICAgIHwgQmFzZVdhbGxldFByb3BzXG4gICAgfCBBcmJpdHJ1bVdhbGxldFByb3BzO1xuICBibG9ja2NoYWluPzogdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgdHlwZSBDb2luZmxvd1dpdGhkcmF3UHJvcHMgPVxuICB8IENvaW5mbG93U29sYW5hV2l0aGRyYXdQcm9wc1xuICB8IENvaW5mbG93TmVhcldpdGhkcmF3UHJvcHNcbiAgfCBDb2luZmxvd0V0aFdpdGhkcmF3UHJvcHNcbiAgfCBDb2luZmxvd1BvbHlnb25XaXRoZHJhd1Byb3BzXG4gIHwgQ29pbmZsb3dCYXNlV2l0aGRyYXdQcm9wc1xuICB8IENvaW5mbG93QXJiaXRydW1XaXRoZHJhd1Byb3BzXG4gIHwgQ29pbmZsb3dTZXNzaW9uS2V5V2l0aGRyYXdQcm9wcztcblxuZXhwb3J0IGludGVyZmFjZSBDb21tb25Fdm1SZWRlZW0ge1xuICB3YWl0Rm9ySGFzaD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9ybWFsUmVkZWVtIGV4dGVuZHMgQ29tbW9uRXZtUmVkZWVtIHtcbiAgdHJhbnNhY3Rpb246IHt0bzogc3RyaW5nOyBkYXRhOiBzdHJpbmd9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEtub3duVG9rZW5JZFJlZGVlbSBleHRlbmRzIE5vcm1hbFJlZGVlbSB7XG4gIG5mdENvbnRyYWN0OiBzdHJpbmc7XG4gIG5mdElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2FmZU1pbnRSZWRlZW0gZXh0ZW5kcyBOb3JtYWxSZWRlZW0ge1xuICB0eXBlOiAnc2FmZU1pbnQnO1xuICBuZnRDb250cmFjdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXR1cm5lZFRva2VuSWRSZWRlZW0gZXh0ZW5kcyBOb3JtYWxSZWRlZW0ge1xuICB0eXBlOiAncmV0dXJuZWQnO1xuICBuZnRDb250cmFjdD86IHN0cmluZztcbn1cblxudHlwZSBSZXNlcnZvaXJOZnRJZEl0ZW0gPSBPbWl0PEtub3duVG9rZW5JZFJlZGVlbSwga2V5b2YgTm9ybWFsUmVkZWVtPjtcbmludGVyZmFjZSBSZXNlcnZvaXJPcmRlcklkSXRlbSB7XG4gIG9yZGVySWQ6IHN0cmluZztcbn1cbnR5cGUgUmVzZXJ2b2lySXRlbSA9IFJlc2Vydm9pck5mdElkSXRlbSB8IFJlc2Vydm9pck9yZGVySWRJdGVtO1xudHlwZSBSZXNlcnZvaXJJdGVtcyA9IFJlc2Vydm9pckl0ZW0gfCBSZXNlcnZvaXJJdGVtW107XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzZXJ2b2lyUmVkZWVtIGV4dGVuZHMgQ29tbW9uRXZtUmVkZWVtIHtcbiAgdHlwZTogJ3Jlc2Vydm9pcic7XG4gIGl0ZW1zOiBSZXNlcnZvaXJJdGVtcztcbiAgdGFrZXI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9rZW5SZWRlZW0gZXh0ZW5kcyBDb21tb25Fdm1SZWRlZW0ge1xuICB0eXBlOiAndG9rZW4nO1xuICBkZXN0aW5hdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBFdm1UcmFuc2FjdGlvbkRhdGEgPVxuICB8IFNhZmVNaW50UmVkZWVtXG4gIHwgUmV0dXJuZWRUb2tlbklkUmVkZWVtXG4gIHwgUmVzZXJ2b2lyUmVkZWVtXG4gIHwgS25vd25Ub2tlbklkUmVkZWVtXG4gIHwgTm9ybWFsUmVkZWVtXG4gIHwgVG9rZW5SZWRlZW07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dJRnJhbWVQcm9wc1xuICBleHRlbmRzIE9taXQ8Q29pbmZsb3dUeXBlcywgJ21lcmNoYW50SWQnPixcbiAgICBQaWNrPFxuICAgICAgQ29pbmZsb3dDb21tb25QdXJjaGFzZVByb3BzLFxuICAgICAgfCAnY2hhcmdlYmFja1Byb3RlY3Rpb25EYXRhJ1xuICAgICAgfCAnd2ViaG9va0luZm8nXG4gICAgICB8ICdhbW91bnQnXG4gICAgICB8ICdjdXN0b21lckluZm8nXG4gICAgICB8ICdzZXR0bGVtZW50VHlwZSdcbiAgICAgIHwgJ2VtYWlsJ1xuICAgICAgfCAncGxhbkNvZGUnXG4gICAgICB8ICdkZXZpY2VJZCdcbiAgICAgIHwgJ2p3dFRva2VuJ1xuICAgICAgfCAnb3JpZ2lucydcbiAgICAgIHwgJ3RocmVlRHNDaGFsbGVuZ2VQcmVmZXJlbmNlJ1xuICAgICAgfCAnc3VwcG9ydEVtYWlsJ1xuICAgID4sXG4gICAgUGljazxcbiAgICAgIENvaW5mbG93Q29tbW9uV2l0aGRyYXdQcm9wcyxcbiAgICAgIHwgJ2JhbmtBY2NvdW50TGlua1JlZGlyZWN0J1xuICAgICAgfCAnYWRkaXRpb25hbFdhbGxldHMnXG4gICAgICB8ICd0cmFuc2FjdGlvblNpZ25lcidcbiAgICAgIHwgJ2xvY2tBbW91bnQnXG4gICAgICB8ICdsb2NrRGVmYXVsdFRva2VuJ1xuICAgICAgfCAnb3JpZ2lucydcbiAgICA+LFxuICAgIFBpY2s8Q29pbmZsb3dFdm1QdXJjaGFzZVByb3BzLCAnYXV0aE9ubHknPixcbiAgICBQaWNrPFxuICAgICAgQ29pbmZsb3dTb2xhbmFQdXJjaGFzZVByb3BzLFxuICAgICAgJ3JlbnQnIHwgJ25hdGl2ZVNvbFRvQ29udmVydCcgfCAndG9rZW4nIHwgJ2Rlc3RpbmF0aW9uQXV0aEtleSdcbiAgICA+IHtcbiAgd2FsbGV0UHVia2V5OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICBzZXNzaW9uS2V5Pzogc3RyaW5nO1xuICByb3V0ZTogc3RyaW5nO1xuICByb3V0ZVByZWZpeD86IHN0cmluZztcbiAgdHJhbnNhY3Rpb24/OiBzdHJpbmc7XG4gIHRva2Vucz86IHN0cmluZ1tdIHwgUHVibGljS2V5W107XG4gIG5lYXJEZXBvc2l0Pzogc3RyaW5nO1xuICBtZXJjaGFudENzcz86IHN0cmluZztcbiAgY29sb3I/OiAnd2hpdGUnIHwgJ2JsYWNrJztcbiAgZGlzYWJsZUFwcGxlUGF5PzogYm9vbGVhbjtcbiAgZGlzYWJsZUdvb2dsZVBheT86IGJvb2xlYW47XG4gIHRoZW1lPzogTWVyY2hhbnRUaGVtZTtcbiAgdXNlUGVybWl0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGVudW0gQ2FyZFR5cGUge1xuICBWSVNBID0gJ1ZJU0EnLFxuICBNQVNURVJDQVJEID0gJ01TVFInLFxuICBBTUVYID0gJ0FNRVgnLFxuICBESVNDT1ZFUiA9ICdESVNDJyxcbn1cbiJdfQ==
|