@datarailsshared/datarailsshared 1.6.353 → 1.6.357
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/assets/styles/_styles.scss +1 -1
- package/assets/styles/colors.scss +13 -0
- package/datarailsshared-datarailsshared-1.6.357.tgz +0 -0
- package/esm2022/lib/dr-chip/dr-chip.component.mjs +13 -6
- package/esm2022/lib/dr-code-editor/dr-code-editor.component.mjs +4 -4
- package/esm2022/lib/models/colors.mjs +25 -1
- package/fesm2022/datarailsshared-datarailsshared.mjs +39 -8
- package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -1
- package/lib/dr-chip/dr-chip.component.d.ts +3 -1
- package/lib/models/colors.d.ts +24 -0
- package/package.json +2 -2
- package/{styles.css → styles.scss} +387 -24
- package/datarailsshared-datarailsshared-1.6.353.tgz +0 -0
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
@import 'codemirror/addon/hint/show-hint.css';
|
|
9
9
|
|
|
10
10
|
@import '../../src/lib/directives/dr-shine-animation/dr-shine-animation.directive.css';
|
|
11
|
-
@import '../../src/lib/dr-inputs/button/dr-button-link.directive.
|
|
11
|
+
@import '../../src/lib/dr-inputs/button/dr-button-link.directive.scss';
|
|
12
12
|
|
|
13
13
|
@import 'ag-grid-community/styles/ag-grid.css';
|
|
14
14
|
@import 'ag-grid-community/styles/ag-theme-alpine.css';
|
|
@@ -107,6 +107,19 @@ $dr-color-badge-pastel-olive: #dce2b9;
|
|
|
107
107
|
$dr-color-badge-powder-blue-grey: #d3dbe3;
|
|
108
108
|
$dr-color-badge-muted-plum: #e7c7db;
|
|
109
109
|
|
|
110
|
+
$dr-color-watermarks-pink: #feecf6;
|
|
111
|
+
$dr-color-watermarks-purple: #f7edfe;
|
|
112
|
+
$dr-color-watermarks-medium-purple: #e9cdfc;
|
|
113
|
+
$dr-color-watermarks-dark-purple: #ececfa;
|
|
114
|
+
$dr-color-watermarks-green: #e9f6ee;
|
|
115
|
+
$dr-color-watermarks-medium-green: #c7e4d8;
|
|
116
|
+
$dr-color-watermarks-dark-green: #e5efeb;
|
|
117
|
+
$dr-color-watermarks-blue: #eef3ff;
|
|
118
|
+
$dr-color-watermarks-yellow: #fff6e7;
|
|
119
|
+
$dr-color-watermarks-gray: #f3f4f6;
|
|
120
|
+
$dr-color-watermarks-dark-gray: #e8e8ed;
|
|
121
|
+
$dr-color-watermarks-orange: #ffede5;
|
|
122
|
+
|
|
110
123
|
$dr-color-ai-gradient: linear-gradient(217.44deg, #3d36cd -13.46%, #32b4ff 44.38%);
|
|
111
124
|
$dr-color-ai-background-main-gradient: linear-gradient(266deg, #6969ff 25.2%, #4eb7df 90.24%);
|
|
112
125
|
$dr-color-ai-background-main-hover-gradient:
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, Input, Output, EventEmitter, booleanAttribute } from '@angular/core';
|
|
1
|
+
import { Component, ChangeDetectionStrategy, Input, Output, EventEmitter, HostBinding, booleanAttribute } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
@@ -34,9 +34,10 @@ export class DrChipComponent {
|
|
|
34
34
|
this.remove.emit();
|
|
35
35
|
}
|
|
36
36
|
/** @nocollapse */ static { this.ɵfac = function DrChipComponent_Factory(t) { return new (t || DrChipComponent)(); }; }
|
|
37
|
-
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrChipComponent, selectors: [["dr-chip"]], hostVars:
|
|
37
|
+
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrChipComponent, selectors: [["dr-chip"]], hostVars: 3, hostBindings: function DrChipComponent_HostBindings(rf, ctx) { if (rf & 2) {
|
|
38
38
|
i0.ɵɵattribute("aria-label", ctx.label);
|
|
39
|
-
|
|
39
|
+
i0.ɵɵclassProp("--compact", ctx.compact);
|
|
40
|
+
} }, inputs: { label: "label", icon: "icon", removable: ["removable", "removable", booleanAttribute], removeAriaLabel: "removeAriaLabel", compact: ["compact", "compact", booleanAttribute] }, outputs: { remove: "remove" }, standalone: true, features: [i0.ɵɵInputTransformsFeature, i0.ɵɵStandaloneFeature], ngContentSelectors: _c0, decls: 5, vars: 4, consts: [["class", "chip__icon", "aria-hidden", "true", 3, "class", 4, "ngIf"], [1, "chip__label"], [4, "ngIf"], ["type", "button", "class", "chip__remove", 3, "click", 4, "ngIf"], ["aria-hidden", "true", 1, "chip__icon"], ["type", "button", 1, "chip__remove", 3, "click"], ["aria-hidden", "true", 1, "dr-icon-exit"]], template: function DrChipComponent_Template(rf, ctx) { if (rf & 1) {
|
|
40
41
|
i0.ɵɵprojectionDef();
|
|
41
42
|
i0.ɵɵtemplate(0, DrChipComponent_i_0_Template, 1, 2, "i", 0);
|
|
42
43
|
i0.ɵɵelementStart(1, "span", 1);
|
|
@@ -52,13 +53,13 @@ export class DrChipComponent {
|
|
|
52
53
|
i0.ɵɵtextInterpolate1(" ", ctx.label, "\n");
|
|
53
54
|
i0.ɵɵadvance(1);
|
|
54
55
|
i0.ɵɵproperty("ngIf", ctx.removable);
|
|
55
|
-
} }, dependencies: [CommonModule, i1.NgIf], styles: ["[_nghost-%COMP%]{display:inline-flex;align-items:center;height:24px;border-radius:12px;padding:0 4px;background-color:#f0f1f4}[_nghost-%COMP%] .chip__icon[_ngcontent-%COMP%]{margin-left:4px;font-size:20px;color:#6d6e6f}[_nghost-%COMP%] .chip__label[_ngcontent-%COMP%]{margin:0 4px;flex-grow:1;color:#333;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:12px;line-height:16px;font-weight:400}[_nghost-%COMP%] .chip__remove[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:50%;background:transparent;color:#6d6e6f;font-size:20px;cursor:pointer;flex-shrink:0}[_nghost-%COMP%] .chip__remove[_ngcontent-%COMP%]:hover{background-color:#f5f5f5;color:#333}[_nghost-%COMP%] .chip__remove[_ngcontent-%COMP%]:focus{outline:2px solid #4646ce;outline-offset:1px}[_nghost-%COMP%] .chip__remove[_ngcontent-%COMP%]:focus:not(:focus-visible){outline:none}[_nghost-%COMP%] .chip__remove[_ngcontent-%COMP%]:focus-visible{outline:2px solid #4646ce;outline-offset:1px}[_nghost-%COMP%] .chip__remove[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:20px}"], changeDetection: 0 }); }
|
|
56
|
+
} }, dependencies: [CommonModule, i1.NgIf], styles: ["[_nghost-%COMP%]{display:inline-flex;align-items:center;height:24px;border-radius:12px;padding:0 4px;background-color:#f0f1f4}.--compact[_nghost-%COMP%]{padding:0 2px}[_nghost-%COMP%] .chip__icon[_ngcontent-%COMP%]{margin-left:4px;font-size:20px;color:#6d6e6f}[_nghost-%COMP%] .chip__label[_ngcontent-%COMP%]{margin:0 4px;flex-grow:1;color:#333;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:12px;line-height:16px;font-weight:400}[_nghost-%COMP%] .chip__remove[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:50%;background:transparent;color:#6d6e6f;font-size:20px;cursor:pointer;flex-shrink:0}[_nghost-%COMP%] .chip__remove[_ngcontent-%COMP%]:hover{background-color:#f5f5f5;color:#333}[_nghost-%COMP%] .chip__remove[_ngcontent-%COMP%]:focus{outline:2px solid #4646ce;outline-offset:1px}[_nghost-%COMP%] .chip__remove[_ngcontent-%COMP%]:focus:not(:focus-visible){outline:none}[_nghost-%COMP%] .chip__remove[_ngcontent-%COMP%]:focus-visible{outline:2px solid #4646ce;outline-offset:1px}[_nghost-%COMP%] .chip__remove[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:20px}"], changeDetection: 0 }); }
|
|
56
57
|
}
|
|
57
58
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrChipComponent, [{
|
|
58
59
|
type: Component,
|
|
59
60
|
args: [{ selector: 'dr-chip', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], host: {
|
|
60
61
|
'[attr.aria-label]': 'label',
|
|
61
|
-
}, template: "<i *ngIf=\"icon\" [class]=\"icon\" class=\"chip__icon\" aria-hidden=\"true\"></i>\n\n<span class=\"chip__label\">\n <ng-container *ngIf=\"!label\">\n <ng-content></ng-content>\n </ng-container>\n {{ label }}\n</span>\n\n<button\n *ngIf=\"removable\"\n type=\"button\"\n class=\"chip__remove\"\n [attr.aria-label]=\"removeAriaLabel\"\n (click)=\"onRemove($event)\">\n <i class=\"dr-icon-exit\" aria-hidden=\"true\"></i>\n</button>\n", styles: [":host{display:inline-flex;align-items:center;height:24px;border-radius:12px;padding:0 4px;background-color:#f0f1f4}:host .chip__icon{margin-left:4px;font-size:20px;color:#6d6e6f}:host .chip__label{margin:0 4px;flex-grow:1;color:#333;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:12px;line-height:16px;font-weight:400}:host .chip__remove{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:50%;background:transparent;color:#6d6e6f;font-size:20px;cursor:pointer;flex-shrink:0}:host .chip__remove:hover{background-color:#f5f5f5;color:#333}:host .chip__remove:focus{outline:2px solid #4646ce;outline-offset:1px}:host .chip__remove:focus:not(:focus-visible){outline:none}:host .chip__remove:focus-visible{outline:2px solid #4646ce;outline-offset:1px}:host .chip__remove i{font-size:20px}\n"] }]
|
|
62
|
+
}, template: "<i *ngIf=\"icon\" [class]=\"icon\" class=\"chip__icon\" aria-hidden=\"true\"></i>\n\n<span class=\"chip__label\">\n <ng-container *ngIf=\"!label\">\n <ng-content></ng-content>\n </ng-container>\n {{ label }}\n</span>\n\n<button\n *ngIf=\"removable\"\n type=\"button\"\n class=\"chip__remove\"\n [attr.aria-label]=\"removeAriaLabel\"\n (click)=\"onRemove($event)\">\n <i class=\"dr-icon-exit\" aria-hidden=\"true\"></i>\n</button>\n", styles: [":host{display:inline-flex;align-items:center;height:24px;border-radius:12px;padding:0 4px;background-color:#f0f1f4}:host.--compact{padding:0 2px}:host .chip__icon{margin-left:4px;font-size:20px;color:#6d6e6f}:host .chip__label{margin:0 4px;flex-grow:1;color:#333;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:12px;line-height:16px;font-weight:400}:host .chip__remove{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:50%;background:transparent;color:#6d6e6f;font-size:20px;cursor:pointer;flex-shrink:0}:host .chip__remove:hover{background-color:#f5f5f5;color:#333}:host .chip__remove:focus{outline:2px solid #4646ce;outline-offset:1px}:host .chip__remove:focus:not(:focus-visible){outline:none}:host .chip__remove:focus-visible{outline:2px solid #4646ce;outline-offset:1px}:host .chip__remove i{font-size:20px}\n"] }]
|
|
62
63
|
}], null, { label: [{
|
|
63
64
|
type: Input
|
|
64
65
|
}], icon: [{
|
|
@@ -70,5 +71,11 @@ export class DrChipComponent {
|
|
|
70
71
|
type: Input
|
|
71
72
|
}], remove: [{
|
|
72
73
|
type: Output
|
|
74
|
+
}], compact: [{
|
|
75
|
+
type: Input,
|
|
76
|
+
args: [{ transform: booleanAttribute }]
|
|
77
|
+
}, {
|
|
78
|
+
type: HostBinding,
|
|
79
|
+
args: ['class.--compact']
|
|
73
80
|
}] }); })();
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItY2hpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGlwL2RyLWNoaXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItY2hpcC9kci1jaGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztJQ0QvQyx1QkFBeUU7OztJQUF6RCwwQkFBYzs7O0lBRzFCLDZCQUE2QjtJQUN6QixrQkFBeUI7SUFDN0IsMEJBQWU7Ozs7SUFJbkIsaUNBSytCO0lBQTNCLHFLQUFTLGVBQUEsdUJBQWdCLENBQUEsSUFBQztJQUMxQix1QkFBK0M7SUFDbkQsaUJBQVM7OztJQUhMLG9EQUFtQzs7O0FEQ3ZDLE1BQU0sT0FBTyxlQUFlO0lBWDVCO1FBc0JJLG9CQUFlLEdBQVcsUUFBUSxDQUFDO1FBRTFCLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBVTlDO0lBSkcsUUFBUSxDQUFDLEtBQVk7UUFDakIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQzttR0F0QlEsZUFBZTttR0FBZixlQUFlOzs7MkZBT0osZ0JBQWdCLHVFQVFoQixnQkFBZ0I7O1lDN0J4Qyw0REFBeUU7WUFFekUsK0JBQTBCO1lBQ3RCLGtGQUVlO1lBQ2YsWUFDSjtZQUFBLGlCQUFPO1lBRVAsc0VBT1M7O1lBaEJMLCtCQUFVO1lBR0ssZUFBWTtZQUFaLGlDQUFZO1lBRzNCLGVBQ0o7WUFESSwyQ0FDSjtZQUdLLGVBQWU7WUFBZixvQ0FBZTs0QkRETixZQUFZOzt1RkFLYixlQUFlO2NBWDNCLFNBQVM7MkJBQ0ksU0FBUyxtQkFHRix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxRQUNqQjtvQkFDRixtQkFBbUIsRUFBRSxPQUFPO2lCQUMvQjtnQkFJRCxLQUFLO2tCQURKLEtBQUs7WUFJTixJQUFJO2tCQURILEtBQUs7WUFJTixTQUFTO2tCQURSLEtBQUs7bUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7WUFJdEMsZUFBZTtrQkFEZCxLQUFLO1lBR0csTUFBTTtrQkFEZCxNQUFNO1lBS1AsT0FBTztrQkFGTixLQUFLO21CQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFOztrQkFDckMsV0FBVzttQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBib29sZWFuQXR0cmlidXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWNoaXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1jaGlwLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kci1jaGlwLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5hcmlhLWxhYmVsXSc6ICdsYWJlbCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgRHJDaGlwQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIGxhYmVsPzogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBpY29uPzogc3RyaW5nO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgcmVtb3ZhYmxlPzogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpXG4gICAgcmVtb3ZlQXJpYUxhYmVsOiBzdHJpbmcgPSAnUmVtb3ZlJztcbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSByZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLi0tY29tcGFjdCcpXG4gICAgY29tcGFjdD86IGJvb2xlYW47XG5cbiAgICBvblJlbW92ZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMucmVtb3ZlLmVtaXQoKTtcbiAgICB9XG59XG4iLCI8aSAqbmdJZj1cImljb25cIiBbY2xhc3NdPVwiaWNvblwiIGNsYXNzPVwiY2hpcF9faWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cblxuPHNwYW4gY2xhc3M9XCJjaGlwX19sYWJlbFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbGFiZWxcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIHt7IGxhYmVsIH19XG48L3NwYW4+XG5cbjxidXR0b25cbiAgICAqbmdJZj1cInJlbW92YWJsZVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJjaGlwX19yZW1vdmVcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicmVtb3ZlQXJpYUxhYmVsXCJcbiAgICAoY2xpY2spPVwib25SZW1vdmUoJGV2ZW50KVwiPlxuICAgIDxpIGNsYXNzPVwiZHItaWNvbi1leGl0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuPC9idXR0b24+XG4iXX0=
|
|
@@ -291,7 +291,7 @@ export class DrCodeEditorComponent {
|
|
|
291
291
|
} if (rf & 2) {
|
|
292
292
|
let _t;
|
|
293
293
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.codeEditor = _t.first);
|
|
294
|
-
} }, inputs: { markers: "markers", highlightHints: "highlightHints", hints: "hints", control: "control", placeholder: "placeholder" }, features: [i0.ɵɵProvidersFeature([{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => DrCodeEditorComponent)), multi: true }])], decls: 4, vars:
|
|
294
|
+
} }, inputs: { markers: "markers", highlightHints: "highlightHints", hints: "hints", control: "control", placeholder: "placeholder" }, features: [i0.ɵɵProvidersFeature([{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => DrCodeEditorComponent)), multi: true }])], decls: 4, vars: 9, consts: [[3, "ngModel", "options", "ngModelChange", "focusChange", "codeMirrorLoaded"], ["codeEditor", ""], ["class", "codemirror-placeholder", 4, "ngIf"], [3, "control", "displayAsLabel"], [1, "codemirror-placeholder"]], template: function DrCodeEditorComponent_Template(rf, ctx) { if (rf & 1) {
|
|
295
295
|
i0.ɵɵelementStart(0, "dr-codemirror", 0, 1);
|
|
296
296
|
i0.ɵɵlistener("ngModelChange", function DrCodeEditorComponent_Template_dr_codemirror_ngModelChange_0_listener($event) { return ctx.value = $event; })("focusChange", function DrCodeEditorComponent_Template_dr_codemirror_focusChange_0_listener($event) { return ctx.focusChanged($event); })("codeMirrorLoaded", function DrCodeEditorComponent_Template_dr_codemirror_codeMirrorLoaded_0_listener() { return ctx.afterCodeMirrorLoaded(); });
|
|
297
297
|
i0.ɵɵelementEnd();
|
|
@@ -303,12 +303,12 @@ export class DrCodeEditorComponent {
|
|
|
303
303
|
i0.ɵɵadvance(2);
|
|
304
304
|
i0.ɵɵproperty("ngIf", !ctx.isFocused && !ctx.innerValue);
|
|
305
305
|
i0.ɵɵadvance(1);
|
|
306
|
-
i0.ɵɵproperty("control", ctx.control);
|
|
306
|
+
i0.ɵɵproperty("control", ctx.control)("displayAsLabel", true);
|
|
307
307
|
} }, dependencies: [i1.NgIf, i2.NgControlStatus, i2.NgModel, i3.DrErrorComponent, i4.DrCodemirrorComponent], styles: ["dr-codemirror[_ngcontent-%COMP%] .CodeMirror{height:10rem;border:1px solid #9ea1aa;border-radius:6px}dr-codemirror[_ngcontent-%COMP%] .CodeMirror-focused{border-color:#4646ce!important}dr-codemirror[_ngcontent-%COMP%] .CodeMirror-line{font-size:12px;line-height:16px;font-weight:400}dr-codemirror[_ngcontent-%COMP%] .CodeMirror .CodeMirror-scroll{padding:0}dr-codemirror[_ngcontent-%COMP%] .CodeMirror .marker{color:#fff;background:#20a452}dr-codemirror[_ngcontent-%COMP%] .CodeMirror .marker:first-child, dr-codemirror[_ngcontent-%COMP%] .CodeMirror .cm-variable:not(.marker)+.marker{padding-left:2px;margin-left:2px}dr-codemirror[_ngcontent-%COMP%] .CodeMirror .marker+.cm-variable:not(.marker){margin-left:2px}dr-codemirror[_ngcontent-%COMP%] .CodeMirror-matchingbracket{color:#0f0!important}[_nghost-%COMP%] {position:relative}[_nghost-%COMP%] .mirror-error .CodeMirror{border:1px solid #bf1d30}[_nghost-%COMP%] .mark-hints .hint-variable{color:#4646ce}dr-error[_ngcontent-%COMP%]{position:absolute;bottom:5px;left:7px;background:#fff;margin:0}dr-error[_ngcontent-%COMP%]:not(:last-child){display:none}.codemirror-placeholder[_ngcontent-%COMP%]{color:#6d6e6f;position:absolute;top:10px;left:10px;font-size:12px;pointer-events:none;white-space:pre} .CodeMirror-hints{background:#fff;border:1px solid #e5e6ea;box-shadow:0 4px 8px 1px #00000040;border-radius:6px;z-index:100;padding:8px 0} .CodeMirror-hints .CodeMirror-hint{font-size:12px;line-height:16px;font-weight:400;padding:0 12px;display:flex;align-items:center;height:32px;background:#fff;color:#333} .CodeMirror-hints .CodeMirror-hint, .CodeMirror-hints .CodeMirror-hint-active{background:#fff;color:#333} .CodeMirror-hints:not(:hover) .CodeMirror-hint-active, .CodeMirror-hints .CodeMirror-hint:hover{background:#eaeaff;cursor:pointer}"], changeDetection: 0 }); }
|
|
308
308
|
}
|
|
309
309
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrCodeEditorComponent, [{
|
|
310
310
|
type: Component,
|
|
311
|
-
args: [{ selector: 'dr-code-editor', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => DrCodeEditorComponent)), multi: true }], template: "<dr-codemirror\n #codeEditor\n [(ngModel)]=\"value\"\n [options]=\"codeMirrorOptions\"\n [class.mark-hints]=\"highlightHints\"\n [class.mirror-error]=\"control.status === 'INVALID' && !control.pristine\"\n (focusChange)=\"focusChanged($event)\"\n (codeMirrorLoaded)=\"afterCodeMirrorLoaded()\"></dr-codemirror>\n<span *ngIf=\"!isFocused && !innerValue\" class=\"codemirror-placeholder\">{{ placeholder }}</span>\n<dr-error [control]=\"control\"
|
|
311
|
+
args: [{ selector: 'dr-code-editor', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => DrCodeEditorComponent)), multi: true }], template: "<dr-codemirror\n #codeEditor\n [(ngModel)]=\"value\"\n [options]=\"codeMirrorOptions\"\n [class.mark-hints]=\"highlightHints\"\n [class.mirror-error]=\"control.status === 'INVALID' && !control.pristine\"\n (focusChange)=\"focusChanged($event)\"\n (codeMirrorLoaded)=\"afterCodeMirrorLoaded()\"></dr-codemirror>\n<span *ngIf=\"!isFocused && !innerValue\" class=\"codemirror-placeholder\">{{ placeholder }}</span>\n<dr-error [control]=\"control\" [displayAsLabel]=\"true\"></dr-error>\n", styles: ["dr-codemirror ::ng-deep .CodeMirror{height:10rem;border:1px solid #9ea1aa;border-radius:6px}dr-codemirror ::ng-deep .CodeMirror-focused{border-color:#4646ce!important}dr-codemirror ::ng-deep .CodeMirror-line{font-size:12px;line-height:16px;font-weight:400}dr-codemirror ::ng-deep .CodeMirror .CodeMirror-scroll{padding:0}dr-codemirror ::ng-deep .CodeMirror .marker{color:#fff;background:#20a452}dr-codemirror ::ng-deep .CodeMirror .marker:first-child,dr-codemirror ::ng-deep .CodeMirror .cm-variable:not(.marker)+.marker{padding-left:2px;margin-left:2px}dr-codemirror ::ng-deep .CodeMirror .marker+.cm-variable:not(.marker){margin-left:2px}dr-codemirror ::ng-deep .CodeMirror-matchingbracket{color:#0f0!important}:host::ng-deep{position:relative}:host::ng-deep .mirror-error .CodeMirror{border:1px solid #bf1d30}:host::ng-deep .mark-hints .hint-variable{color:#4646ce}dr-error{position:absolute;bottom:5px;left:7px;background:#fff;margin:0}dr-error:not(:last-child){display:none}.codemirror-placeholder{color:#6d6e6f;position:absolute;top:10px;left:10px;font-size:12px;pointer-events:none;white-space:pre}::ng-deep .CodeMirror-hints{background:#fff;border:1px solid #e5e6ea;box-shadow:0 4px 8px 1px #00000040;border-radius:6px;z-index:100;padding:8px 0}::ng-deep .CodeMirror-hints .CodeMirror-hint{font-size:12px;line-height:16px;font-weight:400;padding:0 12px;display:flex;align-items:center;height:32px;background:#fff;color:#333}::ng-deep .CodeMirror-hints .CodeMirror-hint,::ng-deep .CodeMirror-hints .CodeMirror-hint-active{background:#fff;color:#333}::ng-deep .CodeMirror-hints:not(:hover) .CodeMirror-hint-active,::ng-deep .CodeMirror-hints .CodeMirror-hint:hover{background:#eaeaff;cursor:pointer}\n"] }]
|
|
312
312
|
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector }]; }, { markers: [{
|
|
313
313
|
type: Input
|
|
314
314
|
}], highlightHints: [{
|
|
@@ -323,4 +323,4 @@ export class DrCodeEditorComponent {
|
|
|
323
323
|
type: ViewChild,
|
|
324
324
|
args: ['codeEditor']
|
|
325
325
|
}] }); })();
|
|
326
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItY29kZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItY29kZS1lZGl0b3IvZHItY29kZS1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItY29kZS1lZGl0b3IvZHItY29kZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULHdCQUF3QixFQUN4QixVQUFVLEVBQ1YsUUFBUSxFQUNSLEtBQUssRUFDTCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFxQyxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFDO0FBRXpDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRWpHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7OztJQ1A3RSwrQkFBdUU7SUFBQSxZQUFpQjtJQUFBLGlCQUFPOzs7SUFBeEIsZUFBaUI7SUFBakIsd0NBQWlCOztBRFF4RixNQUFNLElBQUksR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7QUFTdEIsTUFBTSxPQUFPLHFCQUFxQjtJQUM5QixZQUNZLEdBQXNCLEVBQ3RCLEdBQTZCLEVBQzdCLFFBQWtCO1FBRmxCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQTBCO1FBQzdCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFHdkIsZUFBVSxHQUFRLEVBQUUsQ0FBQztRQUNwQixzQkFBaUIsR0FBZSxJQUFJLENBQUM7UUFDckMs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eSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgKiBhcyBDb2RlTWlycm9yIGZyb20gJ2NvZGVtaXJyb3InO1xuaW1wb3J0IHsgSGludCwgSGludHMgfSBmcm9tICdjb2RlbWlycm9yJztcbmltcG9ydCB7IENvZGVFZGl0b3JIaW50V3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb2RlLWVkaXRvci1oaW50LXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IElDb2RlRWRpdG9ySGludCwgSUNvZGVFZGl0b3JNYXJrZXIgfSBmcm9tICcuL21vZGVscy9jb2RlLWVkaXRvci1oaW50JztcbmltcG9ydCB7IERyQ29kZW1pcnJvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kci1jb2RlbWlycm9yLmNvbXBvbmVudCc7XG5jb25zdCBub29wID0gKCkgPT4ge307XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItY29kZS1lZGl0b3InLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1jb2RlLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHItY29kZS1lZGl0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEckNvZGVFZGl0b3JDb21wb25lbnQpLCBtdWx0aTogdHJ1ZSB9XSxcbn0pXG5leHBvcnQgY2xhc3MgRHJDb2RlRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgY2ZyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICkge31cblxuICAgIHB1YmxpYyBpbm5lclZhbHVlOiBhbnkgPSAnJztcbiAgICBwcml2YXRlIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gbm9vcDtcbiAgICBwcml2YXRlIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBhbnkpID0+IHZvaWQgPSBub29wO1xuICAgIHByaXZhdGUgZXhpc3RNYXJrZXJzOiBhbnlbXTtcbiAgICBwcml2YXRlIGhpZ2hsaWdodGVkSGludHM6IGFueVtdO1xuICAgIHByaXZhdGUgcGFyZW50aGVzZXNNYXJrZXJzID0gW107XG4gICAgcHJpdmF0ZSBwYXJlbnRoZXNpc0NvbG9yczogc3RyaW5nW10gPSBbXG4gICAgICAgICcjMkYzRTQ4JyxcbiAgICAgICAgJyMxZjY4Y2MnLFxuICAgICAgICAnIzk0ODBDRCcsXG4gICAgICAgICcjNEQ5OTQ0JyxcbiAgICAgICAgJyNCMDNFODQnLFxuICAgICAgICAnI0I2NDkwMCcsXG4gICAgICAgICcjMjY3MzkyJyxcbiAgICAgICAgJyMzMjZBQzcnLFxuICAgIF07XG4gICAgcHJpdmF0ZSBwYXJlbnRoZXNlc01hcCA9IHtcbiAgICAgICAgJ30nOiAneycsXG4gICAgICAgICddJzogJ1snLFxuICAgICAgICAnKSc6ICcoJyxcbiAgICAgICAgJ3snOiAnfScsXG4gICAgICAgICdbJzogJ10nLFxuICAgICAgICAnKCc6ICcpJyxcbiAgICB9O1xuICAgIHByaXZhdGUgZG9jOiBhbnk7XG4gICAgcHJpdmF0ZSBfaGludHM6IElDb2RlRWRpdG9ySGludFtdID0gW107XG5cbiAgICBwcml2YXRlIGhpbnRSZWZzU3RhY2sgPSBbXTtcblxuICAgIHB1YmxpYyBjb2RlTWlycm9yT3B0aW9uczogYW55ID0ge1xuICAgICAgICBsaW5lV3JhcHBpbmc6IHRydWUsXG4gICAgICAgIG1hdGNoQnJhY2tldHM6IHRydWUsXG4gICAgICAgIGF1dG9SZWZyZXNoOiB0cnVlLFxuICAgICAgICBsaW5lTnVtYmVyczogZmFsc2UsXG4gICAgICAgIG1vZGU6ICdqYXZhc2NyaXB0JyxcbiAgICAgICAgZXh0cmFLZXlzOiB7ICdDdHJsLVNwYWNlJzogJ2F1dG9jb21wbGV0ZScgfSxcbiAgICAgICAgYXV0b0Nsb3NlQnJhY2tldHM6IHRydWUsXG4gICAgICAgIGhpbnRPcHRpb25zOiB7XG4gICAgICAgICAgICBjb250YWluZXI6IHdpbmRvdy5kb2N1bWVudC5ib2R5LFxuICAgICAgICAgICAgY29tcGxldGVTaW5nbGU6IGZhbHNlLFxuICAgICAgICB9LFxuICAgIH07XG4gICAgcHVibGljIGlzRm9jdXNlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBwdWJsaWMgbWFya2VyczogSUNvZGVFZGl0b3JNYXJrZXJbXTtcbiAgICBASW5wdXQoKSBwdWJsaWMgaGlnaGxpZ2h0SGludHMgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIHNldCBoaW50cyh2YWx1ZXM6IElDb2RlRWRpdG9ySGludFtdKSB7XG4gICAgICAgIGlmICh2YWx1ZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5faGludHMgPSB2YWx1ZXM7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVySGludHModmFsdWVzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpIGNvbnRyb2w6IEZvcm1Db250cm9sIHwgYW55O1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnU3RhcnQgdHlwaW5nIHlvdXIgZm9ybXVsYSBoZXJlLiBXZSBzdXBwb3J0ICgrLC0sKiwvKS5cXG5Gb3IgRXhhbXBsZTogW0ZlYi0yMl0gLSBbSmFuLTIyXSc7XG4gICAgQFZpZXdDaGlsZCgnY29kZUVkaXRvcicpIHByaXZhdGUgY29kZUVkaXRvcjogRHJDb2RlbWlycm9yQ29tcG9uZW50O1xuXG4gICAgcHVibGljIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pbm5lclZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgdmFsdWUodjogc3RyaW5nKSB7XG4gICAgICAgIGlmICh2ICE9PSB0aGlzLmlubmVyVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IHY7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodik7XG4gICAgICAgICAgICB0aGlzLmhpZ2hsaWdodEN1c3RvbUZ1bmN0aW9uc0luRWRpdG9yKCk7XG4gICAgICAgICAgICB0aGlzLmNvbG9yaXplUGFyZW50aGVzZXMoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmhpZ2hsaWdodEhpbnRzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVIaWdobGlnaHRIaW50cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMuaW5uZXJWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrID0gZm47XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xuICAgIH1cblxuICAgIGZvY3VzQ2hhbmdlZChib29sKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNGb2N1c2VkID0gYm9vbDtcbiAgICB9XG4gICAgcHVibGljIGFmdGVyQ29kZU1pcnJvckxvYWRlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kb2MgPSB0aGlzLmNvZGVFZGl0b3IuY29kZU1pcnJvci5nZXREb2MoKTtcblxuICAgICAgICB0aGlzLmNvZGVFZGl0b3IuY29kZU1pcnJvci5vbigna2V5dXAnLCAoY20sIGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX2hpbnRzLmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgKCFldmVudC5jdHJsS2V5ICYmIGV2ZW50LmtleUNvZGUgPj0gNjUgJiYgZXZlbnQua2V5Q29kZSA8PSA5MCkgfHxcbiAgICAgICAgICAgICAgICAoZXZlbnQua2V5Q29kZSA+PSA5NyAmJiBldmVudC5rZXlDb2RlIDw9IDEyMikgfHxcbiAgICAgICAgICAgICAgICAoZXZlbnQua2V5Q29kZSA+PSA0NiAmJiBldmVudC5rZXlDb2RlIDw9IDU3KSB8fFxuICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDMyXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgQ29kZU1pcnJvci5jb21tYW5kcy5hdXRvY29tcGxldGUodGhpcy5jb2RlRWRpdG9yLmNvZGVNaXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb2RlRWRpdG9yLmNvZGVNaXJyb3Iub24oJ2ZvY3VzJywgKGNtLCBldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9oaW50cy5sZW5ndGgpIHJldHVybjtcblxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNGb2N1c2VkKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgQ29kZU1pcnJvci5jb21tYW5kcy5hdXRvY29tcGxldGUodGhpcy5jb2RlRWRpdG9yLmNvZGVNaXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIDIwMCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuaGlnaGxpZ2h0SGludHMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUhpZ2hsaWdodEhpbnRzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNDbG9zZWRQYXJlbnRoZXNpcyhwYXJlbnRoZXNpczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBbJ30nLCAnKScsICddJ10uc29tZSgodmFsdWU6IHN0cmluZykgPT4gdmFsdWUgPT09IHBhcmVudGhlc2lzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbG9yaXplUGFyZW50aGVzZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN0cmluZyA9IHRoaXMuZG9jLmdldFZhbHVlKCk7XG4gICAgICAgIGNvbnN0IHN0YWNrID0gW107XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICBsZXQgbGluZSA9IDA7XG4gICAgICAgIGxldCBjaCA9IDA7XG4gICAgICAgIHRoaXMucGFyZW50aGVzZXNNYXJrZXJzLmZvckVhY2goKG1hcmtlcikgPT4gbWFya2VyLmNsZWFyKCkpO1xuICAgICAgICB0aGlzLnBhcmVudGhlc2VzTWFya2VycyA9IFtdO1xuXG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBzdHJpbmcubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICBjb25zdCBjaGFyID0gc3RyaW5nLmNoYXJBdChpbmRleCk7XG4gICAgICAgICAgICBpZiAoY2hhciA9PT0gJ1xcbicpIHtcbiAgICAgICAgICAgICAgICBsaW5lKys7XG4gICAgICAgICAgICAgICAgY2ggPSAwO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMucGFyZW50aGVzZXNNYXBbY2hhcl0pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwZWVrID0gc3RhY2sgPyBzdGFja1tzdGFjay5sZW5ndGggLSAxXSA6IG51bGw7XG5cbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNDbG9zZWRQYXJlbnRoZXNpcyhjaGFyKSkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgY29sb3JJbmRleCA9IHBlZWs/LmNvbG9ySW5kZXggKyAxIHx8IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9ySW5kZXggPSBjb2xvckluZGV4ID4gdGhpcy5wYXJlbnRoZXNpc0NvbG9ycy5sZW5ndGggLSAxID8gMCA6IGNvbG9ySW5kZXg7XG5cbiAgICAgICAgICAgICAgICAgICAgc3RhY2sucHVzaCh7IHZhbHVlOiBjaGFyLCBjb2xvcjogdGhpcy5wYXJlbnRoZXNpc0NvbG9yc1tjb2xvckluZGV4XSwgY29sb3JJbmRleCB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0W2luZGV4XSA9IHsgdmFsdWU6IGNoYXIsIGNvbG9yOiB0aGlzLnBhcmVudGhlc2lzQ29sb3JzW2NvbG9ySW5kZXhdLCBjb2xvckluZGV4IH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChzdGFjaz8ubGVuZ3RoICYmIHBlZWs/LnZhbHVlID09PSB0aGlzLnBhcmVudGhlc2VzTWFwW2NoYXJdKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtpbmRleF0gPSB7IHZhbHVlOiBjaGFyLCBjb2xvcjogcGVlay5jb2xvciwgY29sb3JJbmRleDogcGVlay5jb2xvckluZGV4IH07XG4gICAgICAgICAgICAgICAgICAgIHN0YWNrLnBvcCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJlc3VsdFtpbmRleF0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBhcmVudGhlc2VzTWFya2Vycy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvYy5tYXJrVGV4dChcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoOiBjaCArIDEsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzczogYGNvbG9yOiAke3Jlc3VsdFtpbmRleF0uY29sb3J9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNoKys7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhpZ2hsaWdodEN1c3RvbUZ1bmN0aW9uc0luRWRpdG9yKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBtYXJrZXJzID0gdGhpcy5tYXJrZXJzIHx8IFtdO1xuICAgICAgICBjb25zdCBleGlzdE1hcmtlcnMgPSB0aGlzLmV4aXN0TWFya2VycyB8fCBbXTtcblxuICAgICAgICBleGlzdE1hcmtlcnMuZm9yRWFjaCgobSkgPT4gbS5jbGVhcigpKTtcbiAgICAgICAgdGhpcy5kb2MuZWFjaExpbmUoKGxpbmUpID0+IHtcbiAgICAgICAgICAgIG1hcmtlcnMuZm9yRWFjaCgobWFya2VyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VhcmNoU3RyID0gbWFya2VyLm5hbWUgKyAnXFxcXCgnO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoZXMgPSBsaW5lLnRleHQubWF0Y2hBbGwobmV3IFJlZ0V4cChzZWFyY2hTdHIsICdnJykpO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgbWF0Y2ggb2YgbWF0Y2hlcykge1xuICAgICAgICAgICAgICAgICAgICBleGlzdE1hcmtlcnMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZG9jLm1hcmtUZXh0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZTogbGluZS5saW5lTm8oKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2g6IG1hdGNoLmluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lOiBsaW5lLmxpbmVObygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaDogbWF0Y2guaW5kZXggKyBtYXJrZXIubmFtZS5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogJ21hcmtlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBtYXJrZXIudGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBwYXN0ZVRleHQodGV4dDogc3RyaW5nLCBnb0NoYXJMZWZ0PzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRvYy5yZXBsYWNlU2VsZWN0aW9uKHRleHQpO1xuICAgICAgICB0aGlzLmRvYy5jbS5mb2N1cygpO1xuICAgICAgICBpZiAoZ29DaGFyTGVmdCkge1xuICAgICAgICAgICAgdGhpcy5kb2MuY20uZXhlY0NvbW1hbmQoJ2dvQ2hhckxlZnQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVnaXN0ZXJIaW50cyhkaWN0aW9uYXJ5OiBJQ29kZUVkaXRvckhpbnRbXSA9IFtdKSB7XG4gICAgICAgIGNvbnN0IGhpbnRSZWdleHAgPSAvW1xcdyRdfFsgJidcIiMlJEBdLztcbiAgICAgICAgQ29kZU1pcnJvci5yZWdpc3RlckhlbHBlcignaGludCcsICdkaWN0aW9uYXJ5SGludCcsIChlZGl0b3IpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnNvciA9IGVkaXRvci5nZXRDdXJzb3IoKTtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRMaW5lID0gZWRpdG9yLmdldExpbmUoY3Vyc29yLmxpbmUpO1xuXG4gICAgICAgICAgICBsZXQgc3RhcnQgPSBjdXJzb3IuY2g7XG4gICAgICAgICAgICBsZXQgZW5kID0gY3Vyc29yLmNoO1xuICAgICAgICAgICAgd2hpbGUgKGVuZCA8IGN1cnJlbnRMaW5lLmxlbmd0aCAmJiBoaW50UmVnZXhwLnRlc3QoY3VycmVudExpbmUuY2hhckF0KGVuZCkpKSArK2VuZDtcbiAgICAgICAgICAgIHdoaWxlIChzdGFydCAmJiBoaW50UmVnZXhwLnRlc3QoY3VycmVudExpbmUuY2hhckF0KHN0YXJ0IC0gMSkpKSAtLXN0YXJ0O1xuXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50V29yZCA9IChzdGFydCAhPT0gZW5kICYmIGN1cnJlbnRMaW5lLnNsaWNlKHN0YXJ0LCBlbmQpKSB8fCAnJztcblxuICAgICAgICAgICAgY29uc3QgZmlsdGVyZWREaWN0aW9uYXJ5ID1cbiAgICAgICAgICAgICAgICAoIWN1cnJlbnRXb3JkXG4gICAgICAgICAgICAgICAgICAgID8gZGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICA6IGRpY3Rpb25hcnkuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnZhbHVlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoY3VycmVudFdvcmQudG9Mb3dlckNhc2UoKSkpXG4gICAgICAgICAgICAgICAgKS5zb3J0KCkgfHwgW107XG5cbiAgICAgICAgICAgIGNvbnN0IGhpbnRzTGlzdDogSGludFtdID0gZmlsdGVyZWREaWN0aW9uYXJ5Lm1hcCgoaXRlbTogSUNvZGVFZGl0b3JIaW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGlzcGxheVRleHQgPSBpdGVtLnZhbHVlO1xuICAgICAgICAgICAgICAgIGxldCB0ZXh0ID0gaXRlbS52YWx1ZTtcblxuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50TGluZVtzdGFydCAtIDFdICE9PSAnWycpIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dCA9ICdbJyArIHRleHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50TGluZVtlbmRdICE9PSAnXScpIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dCArPSAnXSc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheVRleHQsXG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcjogKGVsZW1lbnQ6IEhUTUxMSUVsZW1lbnQsIGRhdGE6IEhpbnRzLCBjdXJyZW50OiBIaW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGFydEluZGV4ID0gY3VycmVudC5kaXNwbGF5VGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoY3VycmVudFdvcmQudG9Mb3dlckNhc2UoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJpbmdUb1JlcGxhY2UgPSBjdXJyZW50LmRpc3BsYXlUZXh0LnNsaWNlKHN0YXJ0SW5kZXgsIHN0YXJ0SW5kZXggKyBjdXJyZW50V29yZC5sZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaGludEhUTUwgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke2l0ZW0uaWNvbn0gYCArIGN1cnJlbnQuZGlzcGxheVRleHQucmVwbGFjZShzdHJpbmdUb1JlcGxhY2UsIGA8Yj4ke3N0cmluZ1RvUmVwbGFjZX08L2I+YCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLmNmci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShDb2RlRWRpdG9ySGludFdyYXBwZXJDb21wb25lbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gY29tcG9uZW50RmFjdG9yeS5jcmVhdGUodGhpcy5pbmplY3Rvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuY29udGVudCA9IGhpbnRIVE1MO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLnRvb2x0aXAgPSBpdGVtLmhpbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZChjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGludFJlZnNTdGFjay5wdXNoKGNvbXBvbmVudFJlZik7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGxpc3Q6IGhpbnRzTGlzdCxcbiAgICAgICAgICAgICAgICBmcm9tOiBDb2RlTWlycm9yLlBvcyhjdXJzb3IubGluZSwgc3RhcnQpLFxuICAgICAgICAgICAgICAgIHRvOiBDb2RlTWlycm9yLlBvcyhjdXJzb3IubGluZSwgZW5kKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgQ29kZU1pcnJvci5jb21tYW5kcy5hdXRvY29tcGxldGUgPSAoY20pID0+IHtcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveUhpbnRzKCk7XG5cbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIENvZGVNaXJyb3Iuc2hvd0hpbnQoY20sIENvZGVNaXJyb3IuaGludC5kaWN0aW9uYXJ5SGludCk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95SGludHMoKSB7XG4gICAgICAgIHRoaXMuaGludFJlZnNTdGFjay5mb3JFYWNoKChyZWYpID0+IHJlZi5kZXN0cm95KCkpO1xuICAgICAgICB0aGlzLmhpbnRSZWZzU3RhY2sgPSBbXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUhpZ2hsaWdodEhpbnRzKCkge1xuICAgICAgICBjb25zdCBoaW50cyA9IHRoaXMuX2hpbnRzIHx8IFtdO1xuICAgICAgICBjb25zdCBoaWdobGlnaHRlZEhpbnRzID0gdGhpcy5oaWdobGlnaHRlZEhpbnRzIHx8IFtdO1xuXG4gICAgICAgIGhpZ2hsaWdodGVkSGludHMuZm9yRWFjaCgobSkgPT4gbS5jbGVhcigpKTtcblxuICAgICAgICB0aGlzLmRvYy5lYWNoTGluZSgobGluZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hlcyA9IGxpbmUudGV4dC5tYXRjaEFsbCgvKD86XFxbKS4rPyg/PVxcXSkvZ20pO1xuICAgICAgICAgICAgZm9yIChjb25zdCBtYXRjaCBvZiBtYXRjaGVzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaGludCA9IGhpbnRzLmZpbmQoKGgpID0+IGgudmFsdWUgPT09IG1hdGNoWzBdLnJlcGxhY2UoJ1snLCAnJykpO1xuICAgICAgICAgICAgICAgIGlmIChoaW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGhpZ2hsaWdodGVkSGludHMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZG9jLm1hcmtUZXh0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZTogbGluZS5saW5lTm8oKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2g6IG1hdGNoLmluZGV4ICsgMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZTogbGluZS5saW5lTm8oKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2g6IG1hdGNoLmluZGV4ICsgMSArIGhpbnQudmFsdWUubGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICdoaW50LXZhcmlhYmxlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGhpbnQudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG4iLCI8ZHItY29kZW1pcnJvclxuICAgICNjb2RlRWRpdG9yXG4gICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgW29wdGlvbnNdPVwiY29kZU1pcnJvck9wdGlvbnNcIlxuICAgIFtjbGFzcy5tYXJrLWhpbnRzXT1cImhpZ2hsaWdodEhpbnRzXCJcbiAgICBbY2xhc3MubWlycm9yLWVycm9yXT1cImNvbnRyb2wuc3RhdHVzID09PSAnSU5WQUxJRCcgJiYgIWNvbnRyb2wucHJpc3RpbmVcIlxuICAgIChmb2N1c0NoYW5nZSk9XCJmb2N1c0NoYW5nZWQoJGV2ZW50KVwiXG4gICAgKGNvZGVNaXJyb3JMb2FkZWQpPVwiYWZ0ZXJDb2RlTWlycm9yTG9hZGVkKClcIj48L2RyLWNvZGVtaXJyb3I+XG48c3BhbiAqbmdJZj1cIiFpc0ZvY3VzZWQgJiYgIWlubmVyVmFsdWVcIiBjbGFzcz1cImNvZGVtaXJyb3ItcGxhY2Vob2xkZXJcIj57eyBwbGFjZWhvbGRlciB9fTwvc3Bhbj5cbjxkci1lcnJvciBbY29udHJvbF09XCJjb250cm9sXCIgbGFiZWw9XCJGb3JtdWxhIGVycm9yXCI+PC9kci1lcnJvcj5cbiJdfQ==
|
|
326
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItY29kZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItY29kZS1lZGl0b3IvZHItY29kZS1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItY29kZS1lZGl0b3IvZHItY29kZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULHdCQUF3QixFQUN4QixVQUFVLEVBQ1YsUUFBUSxFQUNSLEtBQUssRUFDTCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFxQyxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFDO0FBRXpDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRWpHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7OztJQ1A3RSwrQkFBdUU7SUFBQSxZQUFpQjtJQUFBLGlCQUFPOzs7SUFBeEIsZUFBaUI7SUFBakIsd0NBQWlCOztBRFF4RixNQUFNLElBQUksR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7QUFTdEIsTUFBTSxPQUFPLHFCQUFxQjtJQUM5QixZQUNZLEdBQXNCLEVBQ3RCLEdBQTZCLEVBQzdCLFFBQWtCO1FBRmxCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQTBCO1FBQzdCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFHdkIsZUFBVSxHQUFRLEVBQUUsQ0FBQztRQUNwQixzQkFBaUIsR0FBZSxJQUFJLENBQUM7UUFDckMs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dHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgKiBhcyBDb2RlTWlycm9yIGZyb20gJ2NvZGVtaXJyb3InO1xuaW1wb3J0IHsgSGludCwgSGludHMgfSBmcm9tICdjb2RlbWlycm9yJztcbmltcG9ydCB7IENvZGVFZGl0b3JIaW50V3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb2RlLWVkaXRvci1oaW50LXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IElDb2RlRWRpdG9ySGludCwgSUNvZGVFZGl0b3JNYXJrZXIgfSBmcm9tICcuL21vZGVscy9jb2RlLWVkaXRvci1oaW50JztcbmltcG9ydCB7IERyQ29kZW1pcnJvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kci1jb2RlbWlycm9yLmNvbXBvbmVudCc7XG5jb25zdCBub29wID0gKCkgPT4ge307XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItY29kZS1lZGl0b3InLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1jb2RlLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHItY29kZS1lZGl0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEckNvZGVFZGl0b3JDb21wb25lbnQpLCBtdWx0aTogdHJ1ZSB9XSxcbn0pXG5leHBvcnQgY2xhc3MgRHJDb2RlRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgY2ZyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICkge31cblxuICAgIHB1YmxpYyBpbm5lclZhbHVlOiBhbnkgPSAnJztcbiAgICBwcml2YXRlIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gbm9vcDtcbiAgICBwcml2YXRlIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBhbnkpID0+IHZvaWQgPSBub29wO1xuICAgIHByaXZhdGUgZXhpc3RNYXJrZXJzOiBhbnlbXTtcbiAgICBwcml2YXRlIGhpZ2hsaWdodGVkSGludHM6IGFueVtdO1xuICAgIHByaXZhdGUgcGFyZW50aGVzZXNNYXJrZXJzID0gW107XG4gICAgcHJpdmF0ZSBwYXJlbnRoZXNpc0NvbG9yczogc3RyaW5nW10gPSBbXG4gICAgICAgICcjMkYzRTQ4JyxcbiAgICAgICAgJyMxZjY4Y2MnLFxuICAgICAgICAnIzk0ODBDRCcsXG4gICAgICAgICcjNEQ5OTQ0JyxcbiAgICAgICAgJyNCMDNFODQnLFxuICAgICAgICAnI0I2NDkwMCcsXG4gICAgICAgICcjMjY3MzkyJyxcbiAgICAgICAgJyMzMjZBQzcnLFxuICAgIF07XG4gICAgcHJpdmF0ZSBwYXJlbnRoZXNlc01hcCA9IHtcbiAgICAgICAgJ30nOiAneycsXG4gICAgICAgICddJzogJ1snLFxuICAgICAgICAnKSc6ICcoJyxcbiAgICAgICAgJ3snOiAnfScsXG4gICAgICAgICdbJzogJ10nLFxuICAgICAgICAnKCc6ICcpJyxcbiAgICB9O1xuICAgIHByaXZhdGUgZG9jOiBhbnk7XG4gICAgcHJpdmF0ZSBfaGludHM6IElDb2RlRWRpdG9ySGludFtdID0gW107XG5cbiAgICBwcml2YXRlIGhpbnRSZWZzU3RhY2sgPSBbXTtcblxuICAgIHB1YmxpYyBjb2RlTWlycm9yT3B0aW9uczogYW55ID0ge1xuICAgICAgICBsaW5lV3JhcHBpbmc6IHRydWUsXG4gICAgICAgIG1hdGNoQnJhY2tldHM6IHRydWUsXG4gICAgICAgIGF1dG9SZWZyZXNoOiB0cnVlLFxuICAgICAgICBsaW5lTnVtYmVyczogZmFsc2UsXG4gICAgICAgIG1vZGU6ICdqYXZhc2NyaXB0JyxcbiAgICAgICAgZXh0cmFLZXlzOiB7ICdDdHJsLVNwYWNlJzogJ2F1dG9jb21wbGV0ZScgfSxcbiAgICAgICAgYXV0b0Nsb3NlQnJhY2tldHM6IHRydWUsXG4gICAgICAgIGhpbnRPcHRpb25zOiB7XG4gICAgICAgICAgICBjb250YWluZXI6IHdpbmRvdy5kb2N1bWVudC5ib2R5LFxuICAgICAgICAgICAgY29tcGxldGVTaW5nbGU6IGZhbHNlLFxuICAgICAgICB9LFxuICAgIH07XG4gICAgcHVibGljIGlzRm9jdXNlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBwdWJsaWMgbWFya2VyczogSUNvZGVFZGl0b3JNYXJrZXJbXTtcbiAgICBASW5wdXQoKSBwdWJsaWMgaGlnaGxpZ2h0SGludHMgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIHNldCBoaW50cyh2YWx1ZXM6IElDb2RlRWRpdG9ySGludFtdKSB7XG4gICAgICAgIGlmICh2YWx1ZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5faGludHMgPSB2YWx1ZXM7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVySGludHModmFsdWVzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpIGNvbnRyb2w6IEZvcm1Db250cm9sIHwgYW55O1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnU3RhcnQgdHlwaW5nIHlvdXIgZm9ybXVsYSBoZXJlLiBXZSBzdXBwb3J0ICgrLC0sKiwvKS5cXG5Gb3IgRXhhbXBsZTogW0ZlYi0yMl0gLSBbSmFuLTIyXSc7XG4gICAgQFZpZXdDaGlsZCgnY29kZUVkaXRvcicpIHByaXZhdGUgY29kZUVkaXRvcjogRHJDb2RlbWlycm9yQ29tcG9uZW50O1xuXG4gICAgcHVibGljIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pbm5lclZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgdmFsdWUodjogc3RyaW5nKSB7XG4gICAgICAgIGlmICh2ICE9PSB0aGlzLmlubmVyVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IHY7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodik7XG4gICAgICAgICAgICB0aGlzLmhpZ2hsaWdodEN1c3RvbUZ1bmN0aW9uc0luRWRpdG9yKCk7XG4gICAgICAgICAgICB0aGlzLmNvbG9yaXplUGFyZW50aGVzZXMoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmhpZ2hsaWdodEhpbnRzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVIaWdobGlnaHRIaW50cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMuaW5uZXJWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrID0gZm47XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xuICAgIH1cblxuICAgIGZvY3VzQ2hhbmdlZChib29sKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNGb2N1c2VkID0gYm9vbDtcbiAgICB9XG4gICAgcHVibGljIGFmdGVyQ29kZU1pcnJvckxvYWRlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kb2MgPSB0aGlzLmNvZGVFZGl0b3IuY29kZU1pcnJvci5nZXREb2MoKTtcblxuICAgICAgICB0aGlzLmNvZGVFZGl0b3IuY29kZU1pcnJvci5vbigna2V5dXAnLCAoY20sIGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX2hpbnRzLmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgKCFldmVudC5jdHJsS2V5ICYmIGV2ZW50LmtleUNvZGUgPj0gNjUgJiYgZXZlbnQua2V5Q29kZSA8PSA5MCkgfHxcbiAgICAgICAgICAgICAgICAoZXZlbnQua2V5Q29kZSA+PSA5NyAmJiBldmVudC5rZXlDb2RlIDw9IDEyMikgfHxcbiAgICAgICAgICAgICAgICAoZXZlbnQua2V5Q29kZSA+PSA0NiAmJiBldmVudC5rZXlDb2RlIDw9IDU3KSB8fFxuICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDMyXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgQ29kZU1pcnJvci5jb21tYW5kcy5hdXRvY29tcGxldGUodGhpcy5jb2RlRWRpdG9yLmNvZGVNaXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb2RlRWRpdG9yLmNvZGVNaXJyb3Iub24oJ2ZvY3VzJywgKGNtLCBldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9oaW50cy5sZW5ndGgpIHJldHVybjtcblxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNGb2N1c2VkKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgQ29kZU1pcnJvci5jb21tYW5kcy5hdXRvY29tcGxldGUodGhpcy5jb2RlRWRpdG9yLmNvZGVNaXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIDIwMCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuaGlnaGxpZ2h0SGludHMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUhpZ2hsaWdodEhpbnRzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNDbG9zZWRQYXJlbnRoZXNpcyhwYXJlbnRoZXNpczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBbJ30nLCAnKScsICddJ10uc29tZSgodmFsdWU6IHN0cmluZykgPT4gdmFsdWUgPT09IHBhcmVudGhlc2lzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbG9yaXplUGFyZW50aGVzZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN0cmluZyA9IHRoaXMuZG9jLmdldFZhbHVlKCk7XG4gICAgICAgIGNvbnN0IHN0YWNrID0gW107XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICBsZXQgbGluZSA9IDA7XG4gICAgICAgIGxldCBjaCA9IDA7XG4gICAgICAgIHRoaXMucGFyZW50aGVzZXNNYXJrZXJzLmZvckVhY2goKG1hcmtlcikgPT4gbWFya2VyLmNsZWFyKCkpO1xuICAgICAgICB0aGlzLnBhcmVudGhlc2VzTWFya2VycyA9IFtdO1xuXG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBzdHJpbmcubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICBjb25zdCBjaGFyID0gc3RyaW5nLmNoYXJBdChpbmRleCk7XG4gICAgICAgICAgICBpZiAoY2hhciA9PT0gJ1xcbicpIHtcbiAgICAgICAgICAgICAgICBsaW5lKys7XG4gICAgICAgICAgICAgICAgY2ggPSAwO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMucGFyZW50aGVzZXNNYXBbY2hhcl0pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwZWVrID0gc3RhY2sgPyBzdGFja1tzdGFjay5sZW5ndGggLSAxXSA6IG51bGw7XG5cbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNDbG9zZWRQYXJlbnRoZXNpcyhjaGFyKSkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgY29sb3JJbmRleCA9IHBlZWs/LmNvbG9ySW5kZXggKyAxIHx8IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9ySW5kZXggPSBjb2xvckluZGV4ID4gdGhpcy5wYXJlbnRoZXNpc0NvbG9ycy5sZW5ndGggLSAxID8gMCA6IGNvbG9ySW5kZXg7XG5cbiAgICAgICAgICAgICAgICAgICAgc3RhY2sucHVzaCh7IHZhbHVlOiBjaGFyLCBjb2xvcjogdGhpcy5wYXJlbnRoZXNpc0NvbG9yc1tjb2xvckluZGV4XSwgY29sb3JJbmRleCB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0W2luZGV4XSA9IHsgdmFsdWU6IGNoYXIsIGNvbG9yOiB0aGlzLnBhcmVudGhlc2lzQ29sb3JzW2NvbG9ySW5kZXhdLCBjb2xvckluZGV4IH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChzdGFjaz8ubGVuZ3RoICYmIHBlZWs/LnZhbHVlID09PSB0aGlzLnBhcmVudGhlc2VzTWFwW2NoYXJdKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtpbmRleF0gPSB7IHZhbHVlOiBjaGFyLCBjb2xvcjogcGVlay5jb2xvciwgY29sb3JJbmRleDogcGVlay5jb2xvckluZGV4IH07XG4gICAgICAgICAgICAgICAgICAgIHN0YWNrLnBvcCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJlc3VsdFtpbmRleF0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBhcmVudGhlc2VzTWFya2Vycy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvYy5tYXJrVGV4dChcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoOiBjaCArIDEsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzczogYGNvbG9yOiAke3Jlc3VsdFtpbmRleF0uY29sb3J9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNoKys7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhpZ2hsaWdodEN1c3RvbUZ1bmN0aW9uc0luRWRpdG9yKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBtYXJrZXJzID0gdGhpcy5tYXJrZXJzIHx8IFtdO1xuICAgICAgICBjb25zdCBleGlzdE1hcmtlcnMgPSB0aGlzLmV4aXN0TWFya2VycyB8fCBbXTtcblxuICAgICAgICBleGlzdE1hcmtlcnMuZm9yRWFjaCgobSkgPT4gbS5jbGVhcigpKTtcbiAgICAgICAgdGhpcy5kb2MuZWFjaExpbmUoKGxpbmUpID0+IHtcbiAgICAgICAgICAgIG1hcmtlcnMuZm9yRWFjaCgobWFya2VyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VhcmNoU3RyID0gbWFya2VyLm5hbWUgKyAnXFxcXCgnO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoZXMgPSBsaW5lLnRleHQubWF0Y2hBbGwobmV3IFJlZ0V4cChzZWFyY2hTdHIsICdnJykpO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgbWF0Y2ggb2YgbWF0Y2hlcykge1xuICAgICAgICAgICAgICAgICAgICBleGlzdE1hcmtlcnMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZG9jLm1hcmtUZXh0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZTogbGluZS5saW5lTm8oKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2g6IG1hdGNoLmluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lOiBsaW5lLmxpbmVObygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaDogbWF0Y2guaW5kZXggKyBtYXJrZXIubmFtZS5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogJ21hcmtlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBtYXJrZXIudGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBwYXN0ZVRleHQodGV4dDogc3RyaW5nLCBnb0NoYXJMZWZ0PzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRvYy5yZXBsYWNlU2VsZWN0aW9uKHRleHQpO1xuICAgICAgICB0aGlzLmRvYy5jbS5mb2N1cygpO1xuICAgICAgICBpZiAoZ29DaGFyTGVmdCkge1xuICAgICAgICAgICAgdGhpcy5kb2MuY20uZXhlY0NvbW1hbmQoJ2dvQ2hhckxlZnQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVnaXN0ZXJIaW50cyhkaWN0aW9uYXJ5OiBJQ29kZUVkaXRvckhpbnRbXSA9IFtdKSB7XG4gICAgICAgIGNvbnN0IGhpbnRSZWdleHAgPSAvW1xcdyRdfFsgJidcIiMlJEBdLztcbiAgICAgICAgQ29kZU1pcnJvci5yZWdpc3RlckhlbHBlcignaGludCcsICdkaWN0aW9uYXJ5SGludCcsIChlZGl0b3IpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnNvciA9IGVkaXRvci5nZXRDdXJzb3IoKTtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRMaW5lID0gZWRpdG9yLmdldExpbmUoY3Vyc29yLmxpbmUpO1xuXG4gICAgICAgICAgICBsZXQgc3RhcnQgPSBjdXJzb3IuY2g7XG4gICAgICAgICAgICBsZXQgZW5kID0gY3Vyc29yLmNoO1xuICAgICAgICAgICAgd2hpbGUgKGVuZCA8IGN1cnJlbnRMaW5lLmxlbmd0aCAmJiBoaW50UmVnZXhwLnRlc3QoY3VycmVudExpbmUuY2hhckF0KGVuZCkpKSArK2VuZDtcbiAgICAgICAgICAgIHdoaWxlIChzdGFydCAmJiBoaW50UmVnZXhwLnRlc3QoY3VycmVudExpbmUuY2hhckF0KHN0YXJ0IC0gMSkpKSAtLXN0YXJ0O1xuXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50V29yZCA9IChzdGFydCAhPT0gZW5kICYmIGN1cnJlbnRMaW5lLnNsaWNlKHN0YXJ0LCBlbmQpKSB8fCAnJztcblxuICAgICAgICAgICAgY29uc3QgZmlsdGVyZWREaWN0aW9uYXJ5ID1cbiAgICAgICAgICAgICAgICAoIWN1cnJlbnRXb3JkXG4gICAgICAgICAgICAgICAgICAgID8gZGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICA6IGRpY3Rpb25hcnkuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnZhbHVlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoY3VycmVudFdvcmQudG9Mb3dlckNhc2UoKSkpXG4gICAgICAgICAgICAgICAgKS5zb3J0KCkgfHwgW107XG5cbiAgICAgICAgICAgIGNvbnN0IGhpbnRzTGlzdDogSGludFtdID0gZmlsdGVyZWREaWN0aW9uYXJ5Lm1hcCgoaXRlbTogSUNvZGVFZGl0b3JIaW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGlzcGxheVRleHQgPSBpdGVtLnZhbHVlO1xuICAgICAgICAgICAgICAgIGxldCB0ZXh0ID0gaXRlbS52YWx1ZTtcblxuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50TGluZVtzdGFydCAtIDFdICE9PSAnWycpIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dCA9ICdbJyArIHRleHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50TGluZVtlbmRdICE9PSAnXScpIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dCArPSAnXSc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheVRleHQsXG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcjogKGVsZW1lbnQ6IEhUTUxMSUVsZW1lbnQsIGRhdGE6IEhpbnRzLCBjdXJyZW50OiBIaW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGFydEluZGV4ID0gY3VycmVudC5kaXNwbGF5VGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoY3VycmVudFdvcmQudG9Mb3dlckNhc2UoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJpbmdUb1JlcGxhY2UgPSBjdXJyZW50LmRpc3BsYXlUZXh0LnNsaWNlKHN0YXJ0SW5kZXgsIHN0YXJ0SW5kZXggKyBjdXJyZW50V29yZC5sZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaGludEhUTUwgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke2l0ZW0uaWNvbn0gYCArIGN1cnJlbnQuZGlzcGxheVRleHQucmVwbGFjZShzdHJpbmdUb1JlcGxhY2UsIGA8Yj4ke3N0cmluZ1RvUmVwbGFjZX08L2I+YCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLmNmci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShDb2RlRWRpdG9ySGludFdyYXBwZXJDb21wb25lbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gY29tcG9uZW50RmFjdG9yeS5jcmVhdGUodGhpcy5pbmplY3Rvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuY29udGVudCA9IGhpbnRIVE1MO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLnRvb2x0aXAgPSBpdGVtLmhpbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZChjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGludFJlZnNTdGFjay5wdXNoKGNvbXBvbmVudFJlZik7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGxpc3Q6IGhpbnRzTGlzdCxcbiAgICAgICAgICAgICAgICBmcm9tOiBDb2RlTWlycm9yLlBvcyhjdXJzb3IubGluZSwgc3RhcnQpLFxuICAgICAgICAgICAgICAgIHRvOiBDb2RlTWlycm9yLlBvcyhjdXJzb3IubGluZSwgZW5kKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgQ29kZU1pcnJvci5jb21tYW5kcy5hdXRvY29tcGxldGUgPSAoY20pID0+IHtcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveUhpbnRzKCk7XG5cbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIENvZGVNaXJyb3Iuc2hvd0hpbnQoY20sIENvZGVNaXJyb3IuaGludC5kaWN0aW9uYXJ5SGludCk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95SGludHMoKSB7XG4gICAgICAgIHRoaXMuaGludFJlZnNTdGFjay5mb3JFYWNoKChyZWYpID0+IHJlZi5kZXN0cm95KCkpO1xuICAgICAgICB0aGlzLmhpbnRSZWZzU3RhY2sgPSBbXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUhpZ2hsaWdodEhpbnRzKCkge1xuICAgICAgICBjb25zdCBoaW50cyA9IHRoaXMuX2hpbnRzIHx8IFtdO1xuICAgICAgICBjb25zdCBoaWdobGlnaHRlZEhpbnRzID0gdGhpcy5oaWdobGlnaHRlZEhpbnRzIHx8IFtdO1xuXG4gICAgICAgIGhpZ2hsaWdodGVkSGludHMuZm9yRWFjaCgobSkgPT4gbS5jbGVhcigpKTtcblxuICAgICAgICB0aGlzLmRvYy5lYWNoTGluZSgobGluZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hlcyA9IGxpbmUudGV4dC5tYXRjaEFsbCgvKD86XFxbKS4rPyg/PVxcXSkvZ20pO1xuICAgICAgICAgICAgZm9yIChjb25zdCBtYXRjaCBvZiBtYXRjaGVzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaGludCA9IGhpbnRzLmZpbmQoKGgpID0+IGgudmFsdWUgPT09IG1hdGNoWzBdLnJlcGxhY2UoJ1snLCAnJykpO1xuICAgICAgICAgICAgICAgIGlmIChoaW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGhpZ2hsaWdodGVkSGludHMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZG9jLm1hcmtUZXh0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZTogbGluZS5saW5lTm8oKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2g6IG1hdGNoLmluZGV4ICsgMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZTogbGluZS5saW5lTm8oKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2g6IG1hdGNoLmluZGV4ICsgMSArIGhpbnQudmFsdWUubGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICdoaW50LXZhcmlhYmxlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGhpbnQudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG4iLCI8ZHItY29kZW1pcnJvclxuICAgICNjb2RlRWRpdG9yXG4gICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgW29wdGlvbnNdPVwiY29kZU1pcnJvck9wdGlvbnNcIlxuICAgIFtjbGFzcy5tYXJrLWhpbnRzXT1cImhpZ2hsaWdodEhpbnRzXCJcbiAgICBbY2xhc3MubWlycm9yLWVycm9yXT1cImNvbnRyb2wuc3RhdHVzID09PSAnSU5WQUxJRCcgJiYgIWNvbnRyb2wucHJpc3RpbmVcIlxuICAgIChmb2N1c0NoYW5nZSk9XCJmb2N1c0NoYW5nZWQoJGV2ZW50KVwiXG4gICAgKGNvZGVNaXJyb3JMb2FkZWQpPVwiYWZ0ZXJDb2RlTWlycm9yTG9hZGVkKClcIj48L2RyLWNvZGVtaXJyb3I+XG48c3BhbiAqbmdJZj1cIiFpc0ZvY3VzZWQgJiYgIWlubmVyVmFsdWVcIiBjbGFzcz1cImNvZGVtaXJyb3ItcGxhY2Vob2xkZXJcIj57eyBwbGFjZWhvbGRlciB9fTwvc3Bhbj5cbjxkci1lcnJvciBbY29udHJvbF09XCJjb250cm9sXCIgW2Rpc3BsYXlBc0xhYmVsXT1cInRydWVcIj48L2RyLWVycm9yPlxuIl19
|
|
@@ -101,6 +101,18 @@ export const Colors = {
|
|
|
101
101
|
DR_COLOR_BADGE_PASTEL_OLIVE: '#dce2b9',
|
|
102
102
|
DR_COLOR_BADGE_POWDER_BLUE_GREY: '#d3dbe3',
|
|
103
103
|
DR_COLOR_BADGE_MUTED_PLUM: '#e7c7db',
|
|
104
|
+
DR_COLOR_WATERMARKS_PINK: '#feecf6',
|
|
105
|
+
DR_COLOR_WATERMARKS_PURPLE: '#f7edfe',
|
|
106
|
+
DR_COLOR_WATERMARKS_MEDIUM_PURPLE: '#e9cdfc',
|
|
107
|
+
DR_COLOR_WATERMARKS_DARK_PURPLE: '#ececfa',
|
|
108
|
+
DR_COLOR_WATERMARKS_GREEN: '#e9f6ee',
|
|
109
|
+
DR_COLOR_WATERMARKS_MEDIUM_GREEN: '#c7e4d8',
|
|
110
|
+
DR_COLOR_WATERMARKS_DARK_GREEN: '#e5efeb',
|
|
111
|
+
DR_COLOR_WATERMARKS_BLUE: '#eef3ff',
|
|
112
|
+
DR_COLOR_WATERMARKS_YELLOW: '#fff6e7',
|
|
113
|
+
DR_COLOR_WATERMARKS_GRAY: '#f3f4f6',
|
|
114
|
+
DR_COLOR_WATERMARKS_DARK_GRAY: '#e8e8ed',
|
|
115
|
+
DR_COLOR_WATERMARKS_ORANGE: '#ffede5',
|
|
104
116
|
DR_COLOR_AI_GRADIENT: 'linear-gradient(217.44deg, #3d36cd -13.46%, #32b4ff 44.38%)',
|
|
105
117
|
DR_COLOR_AI_BACKGROUND_MAIN_GRADIENT: 'linear-gradient(266deg, #6969ff 25.2%, #4eb7df 90.24%)',
|
|
106
118
|
DR_COLOR_AI_BACKGROUND_MAIN_HOVER_GRADIENT: 'linear-gradient(0deg, rgba(77, 77, 205, 0.4) 0%, rgba(77, 77, 205, 0.4) 100%), linear-gradient(266deg, #6969ff 25.2%, #4eb7df 90.24%)',
|
|
@@ -208,6 +220,18 @@ export const DR_COLOR_BADGE_PALE_YELLOW = '#fffacd';
|
|
|
208
220
|
export const DR_COLOR_BADGE_PASTEL_OLIVE = '#dce2b9';
|
|
209
221
|
export const DR_COLOR_BADGE_POWDER_BLUE_GREY = '#d3dbe3';
|
|
210
222
|
export const DR_COLOR_BADGE_MUTED_PLUM = '#e7c7db';
|
|
223
|
+
export const DR_COLOR_WATERMARKS_PINK = '#feecf6';
|
|
224
|
+
export const DR_COLOR_WATERMARKS_PURPLE = '#f7edfe';
|
|
225
|
+
export const DR_COLOR_WATERMARKS_MEDIUM_PURPLE = '#e9cdfc';
|
|
226
|
+
export const DR_COLOR_WATERMARKS_DARK_PURPLE = '#ececfa';
|
|
227
|
+
export const DR_COLOR_WATERMARKS_GREEN = '#e9f6ee';
|
|
228
|
+
export const DR_COLOR_WATERMARKS_MEDIUM_GREEN = '#c7e4d8';
|
|
229
|
+
export const DR_COLOR_WATERMARKS_DARK_GREEN = '#e5efeb';
|
|
230
|
+
export const DR_COLOR_WATERMARKS_BLUE = '#eef3ff';
|
|
231
|
+
export const DR_COLOR_WATERMARKS_YELLOW = '#fff6e7';
|
|
232
|
+
export const DR_COLOR_WATERMARKS_GRAY = '#f3f4f6';
|
|
233
|
+
export const DR_COLOR_WATERMARKS_DARK_GRAY = '#e8e8ed';
|
|
234
|
+
export const DR_COLOR_WATERMARKS_ORANGE = '#ffede5';
|
|
211
235
|
export const DR_COLOR_AI_GRADIENT = 'linear-gradient(217.44deg, #3d36cd -13.46%, #32b4ff 44.38%)';
|
|
212
236
|
export const DR_COLOR_AI_BACKGROUND_MAIN_GRADIENT = 'linear-gradient(266deg, #6969ff 25.2%, #4eb7df 90.24%)';
|
|
213
237
|
export const DR_COLOR_AI_BACKGROUND_MAIN_HOVER_GRADIENT = 'linear-gradient(0deg, rgba(77, 77, 205, 0.4) 0%, rgba(77, 77, 205, 0.4) 100%), linear-gradient(266deg, #6969ff 25.2%, #4eb7df 90.24%)';
|
|
@@ -215,4 +239,4 @@ export const DR_COLOR_AI_BACKGROUND_SECONDARY_HOVER_GRADIENT = 'linear-gradient(
|
|
|
215
239
|
export const DR_COLOR_AI_BORDER_SECONDARY_GRADIENT = 'linear-gradient(269.57deg, #6969ff -4.23%, #4eb7df 103.6%)';
|
|
216
240
|
export const DR_COLOR_AI_LIGHT_GRADIENT = 'linear-gradient(94deg, #f4f4ff 1.6%, #f2fafd 96.19%)';
|
|
217
241
|
export const DR_COLOR_AI_PURPLE_GRADIENT = 'linear-gradient( 31deg, #7676ff -0.84%, #5959ff 21.77%, #5757e0 46%, #4646ce 83.81%, #4b4be4 117.26%, #4444eb 140.53% )';
|
|
218
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvbW9kZWxzL2NvbG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUc7SUFDcEIsdUJBQXVCLEVBQUUsU0FBUztJQUNsQyxxQkFBcUIsRUFBRSxTQUFTO0lBQ2hDLGdCQUFnQixFQUFFLFNBQVM7SUFDM0Isc0JBQXNCLEVBQUUsU0FBUztJQUNqQyx3QkFBd0IsRUFBRSxTQUFTO0lBQ25DLDRCQUE0QixFQUFFLFNBQVM7SUFDdkMsNEJBQTRCLEVBQUUsU0FBUztJQUN2Qyx5QkFBeUIsRUFBRSxxREFBcUQ7SUFDaEYsb0JBQW9CLEVBQUUsU0FBUztJQUMvQixrQkFBa0IsRUFBRSxTQUFTO0lBQzdCLGFBQWEsRUFBRSxTQUFTO0lBQ3hCLG1CQUFtQixFQUFFLFNBQVM7SUFDOUIscUJBQXFCLEVBQUUsU0FBUztJQUNoQywyQkFBMkIsRUFBRSxTQUFTO0lBQ3RDLHlCQUF5QixFQUFFLFNBQVM7SUFDcEMsc0JBQXNCLEVBQUUsU0FBUztJQUNqQyxvQkFBb0IsRUFBRSxTQUFTO0lBQy9CLGVBQWUsRUFBRSxTQUFTO0lBQzFCLHFCQUFxQixFQUFFLFNBQVM7SUFDaEMsdUJBQXVCLEVBQUUsU0FBUztJQUNsQywyQkFBMkIsRUFBRSxTQUFTO0lBQ3RDLDJCQUEyQixFQUFFLFNBQVM7SUFDdEMsa0JBQWtCLEVBQUUsU0FBUztJQUM3Qix5QkFBeUIsRUFBRSxTQUFTO0lBQ3BDLG9CQUFvQixFQUFFLFNBQVM7SUFDL0IsYUFBYSxFQUFFLFNBQVM7SUFDeEIsMEJBQTBCLEVBQUUsU0FBUztJQUNyQyxtQkFBbUIsRUFBRSxTQUFTO0lBQzlCLCtCQUErQixFQUFFLFNBQVM7SUFDMUMsd0JBQXdCLEVBQUUsU0FBUztJQUNuQyw2QkFBNkIsRUFBRSxTQUFT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bGUgaXMgYXV0by1nZW5lcmF0ZWQgZnJvbSBjb2xvcnMuc2Nzc1xuICogRG8gbm90IGVkaXQgdGhpcyBmaWxlIG1hbnVhbGx5LiBFZGl0IGNvbG9ycy5zY3NzIGluc3RlYWQuXG4gKi9cblxuZXhwb3J0IGNvbnN0IENvbG9ycyA9IHtcbiAgRFJfQ09MT1JfUFJJTUFSWV9EQVJLRVI6ICcjMWQxZDZkJyxcbiAgRFJfQ09MT1JfUFJJTUFSWV9EQVJLOiAnIzI1MjU4YycsXG4gIERSX0NPTE9SX1BSSU1BUlk6ICcjNDY0NmNlJyxcbiAgRFJfQ09MT1JfUFJJTUFSWV9MSUdIVDogJyM3ZjdmZGQnLFxuICBEUl9DT0xPUl9QUklNQVJZX0xJR0hURVI6ICcjYjliOWVjJyxcbiAgRFJfQ09MT1JfUFJJTUFSWV9VTFRSQV9MSUdIVDogJyNlMmUyZmYnLFxuICBEUl9DT0xPUl9QUklNQVJZX1NVUEVSX0xJR0hUOiAnI2YyZjJmYicsXG4gIERSX0NPTE9SX1BSSU1BUllfR1JBRElFTlQ6ICdsaW5lYXItZ3JhZGllbnQoOTYuODlkZWcsICMyNTI1OGMgMCUsICM0NjQ2Y2UgMTAwJSknLFxuICBEUl9DT0xPUl9QSU5LX0RBUktFUjogJyM2ODAzMjUnLFxuICBEUl9DT0xPUl9QSU5LX0RBUks6ICcjOTgxNDQwJyxcbiAgRFJfQ09MT1JfUElOSzogJyNjOTI0NWInLFxuICBEUl9DT0xPUl9QSU5LX0xJR0hUOiAnI2Y5MzU3NicsXG4gIERSX0NPTE9SX1BJTktfTElHSFRFUjogJyNmYzkzYjYnLFxuICBEUl9DT0xPUl9QSU5LX1VMVFJBX0xJR0hURVI6ICcjZmZkYmU1JyxcbiAgRFJfQ09MT1JfUElOS19TVVBFUl9MSUdIVDogJyNmZmYxZjUnLFxuICBEUl9DT0xPUl9ZRUxMT1dfREFSS0VSOiAnIzllNWYwMCcsXG4gIERSX0NPTE9SX1lFTExPV19EQVJLOiAnI2MxNzcwMCcsXG4gIERSX0NPTE9SX1lFTExPVzogJyNmZmEzMTAnLFxuICBEUl9DT0xPUl9ZRUxMT1dfTElHSFQ6ICcjZmZiZjVhJyxcbiAgRFJfQ09MT1JfWUVMTE9XX0xJR0hURVI6ICcjZmZkY2E0JyxcbiAgRFJfQ09MT1JfWUVMTE9XX1VMVFJBX0xJR0hUOiAnI2ZmZWZkOScsXG4gIERSX0NPTE9SX1lFTExPV19TVVBFUl9MSUdIVDogJyNmZmY4ZWUnLFxuICBEUl9DT0xPUl9HUkFZX0RBUks6ICcjNGU1NjZjJyxcbiAgRFJfQ09MT1JfR1JBWV9NRURJVU1fREFSSzogJyM3ZTgyOGUnLFxuICBEUl9DT0xPUl9HUkFZX0RBUktFUjogJyMzNzNjNGMnLFxuICBEUl9DT0xPUl9HUkFZOiAnIzllYTFhYScsXG4gIERSX0NPTE9SX0dSQVlfTUVESVVNX0xJR0hUOiAnI2RmZTBlMycsXG4gIERSX0NPTE9SX0dSQVlfTElHSFQ6ICcjZjBmMWY0JyxcbiAgRFJfQ09MT1JfQkFDS0dST1VORF9NQUlOX0hFQURFUjogJyMwYzE0MmInLFxuICBEUl9DT0xPUl9CQUNLR1JPVU5EX01BSU46ICcjZjZmN2Y4JyxcbiAgRFJfQ09MT1JfQkFDS0dST1VORF9TRUNPTkRBUlk6ICcjZmJmYmZlJyxcbiAgRFJfQ09MT1JfQkFDS0dST1VORF9XSElURTogJyNmZmZmZmYnLFxuICBEUl9DT0xPUl9CQUNLR1JPVU5EX0hFQURFUjogJyNmMmYyZmInLFxuICBEUl9DT0xPUl9CQUNLR1JPVU5EX0hPVkVSOiAnI2Y1ZjVmNScsXG4gIERSX0NPTE9SX0JBQ0tHUk9VTkRfU0VMRUNURUQ6ICcjZWFlYWZmJyxcbiAgRFJfQ09MT1JfQkFDS0dST1VORF9ESVNBQkxFRDogJyNmMGYxZjQnLFxuICBEUl9DT0xPUl9CQUNLR1JPVU5EX1NUQVRVU19FUlJPUjogJyNmN2Q5ZGMnLFxuICBEUl9DT0xPUl9CQUNLR1JPVU5EX1NUQVRVU19JTkZPOiAnI2U2ZWZmZicsXG4gIERSX0NPTE9SX0JBQ0tHUk9VTkRfU1RBVFVTX1dBUk5JTkc6ICcjZmZlZmM3JyxcbiAgRFJfQ09MT1JfQkFDS0dST1VORF9TVEFUVVNfU1VDQ0VTUzogJyNkYmY1ZTYnLFxuICBEUl9DT0xPUl9CQUNLR1JPVU5EX1NUQVRVU19QUk9HUkVTUzogJyNmMmYyZmInLFxuICBEUl9DT0xPUl9CQUNLR1JPVU5EX1NUQVRVU19SRUdVTEFSOiAnI2YwZjFmNCcsXG4gIERSX0NPTE9SX1NUQVRVU19FUlJPUjogJyNiZjFkMzAnLFxuICBEUl9DT0xPUl9TVEFUVVNfSU5GTzogJyMwYjVhZjknLFxuICBEUl9DT0xPUl9TVEFUVVNfV0FSTklORzogJyNmZmI4MDAnLFxuICBEUl9DT0xPUl9TVEFUVVNfU1VDQ0VTUzogJyMwMzdjNWEnLFxuICBEUl9DT0xPUl9TVEFUVVNfUFJPR1JFU1M6ICcjNDY0NmNlJyxcbiAgRFJfQ09MT1JfU1RBVFVTX1JFR1VMQVI6ICcjN2U4MjhlJyxcbiAgRFJfQ09MT1JfQk9SREVSX0RJVklERVI6ICcjZGZlMGUzJyxcbiAgRFJfQ09MT1JfQk9SREVSX0lOUFVUOiAnIzllYTFhYScsXG4gIERSX0NPTE9SX0JPUkRFUl9IT1ZFUjogJyM0ZTU2NmMnLFxuICBEUl9DT0xPUl9CT1JERVJfRElTQUJMRUQ6ICcjYWVhYmFjJyxcbiAgRFJfQ09MT1JfQk9SREVSX0FDVElWRTogJyM0NjQ2Y2UnLFxuICBEUl9DT0xPUl9CT1JERVJfRVJST1I6ICcjYmYxZDMwJyxcbiAgRFJfQ09MT1JfVEVYVF9NQUlOOiAnIzMzMzMzMycsXG4gIERSX0NPTE9SX1RFWFRfU0VDT05EQVJZOiAnIzZkNmU2ZicsXG4gIERSX0NPTE9SX1RFWFRfRElTQUJMRUQ6ICcjYWVhYmFjJyxcbiAgRFJfQ09MT1JfVEVYVF9XSElURTogJyNmZmZmZmYnLFxuICBEUl9DT0xPUl9URVhUX0FDVElWRTogJyM0NjQ2Y2UnLFxuICBEUl9DT0xPUl9URVhUX1NVQ0NFU1M6ICcjMDM3YzVhJyxcbiAgRFJfQ09MT1JfVEVYVF9FUlJPUjogJyNiZjFkMzAnLFxuICBEUl9DT0xPUl9URVhUX1dBUk5JTkc6ICcjOWU1ZjAwJyxcbiAgRFJfQ09MT1JfVEVYVF9JTkZPOiAnIzBiNWFmOScsXG4gIERSX0NPTE9SX0FERElUSU9OQUxfQkxVRTogJyMwMDYxZmYnLFxuICBEUl9DT0xPUl9BRERJVElPTkFMX0JSSUdIVF9HUkVFTjogJyMyMGE0NTInLFxuICBEUl9DT0xPUl9BRERJVElPTkFMX0RBUktfQkxVRTogJyMxOTE5NGMnLFxuICBEUl9DT0xPUl9BRERJVElPTkFMX09SQU5HRTogJyNmZjRlMDAnLFxuICBEUl9DT0xPUl9BRERJVElPTkFMX0JSSUdIVF9QVVJQTEU6ICcjYjE0ZWYyJyxcbiAgRFJfQ09MT1JfQURESVRJT05BTF9MSUdIVF9CTFVFOiAnIzU3OGFmZicsXG4gIERSX0NPTE9SX0FERElUSU9OQUxfQlJJR0hUX1BJTks6ICcjZjEzZmE0JyxcbiAgRFJfQ09MT1JfQURESVRJT05BTF9NT1VTRTogJyM4NjkzYTInLFxuICBEUl9DT0xPUl9BRERJVElPTkFMX01FRElVTV9HUkVFTjogJyMwMDg2N2UnLFxuICBEUl9DT0xPUl9BRERJVElPTkFMX0RBUktfR1JFRU46ICcjMDA2MzM0JyxcbiAgRFJfQ09MT1JfQURESVRJT05BTF9MSUdIVF9QSU5LOiAnI2ZmNmJiNycsXG4gIERSX0NPTE9SX0FERElUSU9OQUxfREVFUF9NT0NIQTogJyM1MjNmM2UnLFxuICBEUl9DT0xPUl9BRERJVElPTkFMX1NPRlRfQ09SQUw6ICcjZjNiMWFmJyxcbiAgRFJfQ09MT1JfQURESVRJT05BTF9OQVZZX0JMVUU6ICcjMmU0ZjhjJyxcbiAgRFJfQ09MT1JfQURESVRJT05BTF9DT09MX0xBR09PTjogJyM3M2M5YzUnLFxuICBEUl9DT0xPUl9BRERJVElPTkFMX0xBVkVOREVSOiAnI2JhYTlmMycsXG4gIERSX0NPTE9SX0FERElUSU9OQUxfR1JBUEU6ICcjNzUzZjg2JyxcbiAgRFJfQ09MT1JfQURESVRJT05BTF9ST1lBTF9QVVJQTEU6ICcjNzI0ZGNhJyxcbiAgRFJfQ09MT1JfQURESVRJT05BTF9TS1lfQlJFRVpFOiAnIzgwY2FmYScsXG4gIERSX0NPTE9SX0FERElUSU9OQUxfSE9ORVk6ICcjZmZhZTAwJyxcbiAgRFJfQ09MT1JfQURESVRJT05BTF9GUkVTSF9MSU1FOiAnI2E4ZDE0YicsXG4gIERSX0NPTE9SX0FERElUSU9OQUxfU1BBQ0U6ICcjN2I2MWZmJyxcbiAgRFJfQ09MT1JfQkFER0VfTElHSFRfUFVSUExFOiAnI2RmZDlmZicsXG4gIERSX0NPTE9SX0JBREdFX1dBVEVSOiAnI2Q5ZjJmZicsXG4gIERSX0NPTE9SX0JBREdFX0JBQllfQkxVRTogJyNkOWU2ZmYnLFxuICBEUl9DT0xPUl9CQURHRV9CQUJZX1BJTks6ICcjZmZkYmYxJyxcbiAgRFJfQ09MT1JfQkFER0VfTElHSFRfVFVSUVVPSVNFOiAnI2Q2ZmNmOScsXG4gIERSX0NPTE9SX0JBREdFX0JSSUdIVF9HUkVFTjogJyNkOWZmZWEnLFxuICBEUl9DT0xPUl9CQURHRV9TVE9ORTogJyNmNmY0ZjQnLFxuICBEUl9DT0xPUl9CQURHRV9QRUFDSDogJyNmZmU1YjQnLFxuICBEUl9DT0xPUl9CQURHRV9TT0ZUX0NPUkFMOiAnI2ZmZDJjMicsXG4gIERSX0NPTE9SX0JBREdFX1BBTEVfWUVMTE9XOiAnI2ZmZmFjZCcsXG4gIERSX0NPTE9SX0JBREdFX1BBU1RFTF9PTElWRTogJyNkY2UyYjknLFxuICBEUl9DT0xPUl9CQURHRV9QT1dERVJfQkxVRV9HUkVZOiAnI2QzZGJlMycsXG4gIERSX0NPTE9SX0JBREdFX01VVEVEX1BMVU06ICcjZTdjN2RiJyxcbiAgRFJfQ09MT1JfQUlfR1JBRElFTlQ6ICdsaW5lYXItZ3JhZGllbnQoMjE3LjQ0ZGVnLCAjM2QzNmNkIC0xMy40NiUsICMzMmI0ZmYgNDQuMzglKScsXG4gIERSX0NPTE9SX0FJX0JBQ0tHUk9VTkRfTUFJTl9HUkFESUVOVDogJ2xpbmVhci1ncmFkaWVudCgyNjZkZWcsICM2OTY5ZmYgMjUuMiUsICM0ZWI3ZGYgOTAuMjQlKScsXG4gIERSX0NPTE9SX0FJX0JBQ0tHUk9VTkRfTUFJTl9IT1ZFUl9HUkFESUVOVDogJ2xpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDc3LCA3NywgMjA1LCAwLjQpIDAlLCByZ2JhKDc3LCA3NywgMjA1LCAwLjQpIDEwMCUpLCBsaW5lYXItZ3JhZGllbnQoMjY2ZGVnLCAjNjk2OWZmIDI1LjIlLCAjNGViN2RmIDkwLjI0JSknLFxuICBEUl9DT0xPUl9BSV9CQUNLR1JPVU5EX1NFQ09OREFSWV9IT1ZFUl9HUkFESUVOVDogJ2xpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoMTA1LCAxMDUsIDI1NSwgMC4yKSAtNC4yMyUsIHJnYmEoNzgsIDE4MywgMjIzLCAwLjIpIDEwMy42JSksICNmZmYnLFxuICBEUl9DT0xPUl9BSV9CT1JERVJfU0VDT05EQVJZX0dSQURJRU5UOiAnbGluZWFyLWdyYWRpZW50KDI2OS41N2RlZywgIzY5NjlmZiAtNC4yMyUsICM0ZWI3ZGYgMTAzLjYlKScsXG4gIERSX0NPTE9SX0FJX0xJR0hUX0dSQURJRU5UOiAnbGluZWFyLWdyYWRpZW50KDk0ZGVnLCAjZjRmNGZmIDEuNiUsICNmMmZhZmQgOTYuMTklKScsXG4gIERSX0NPTE9SX0FJX1BVUlBMRV9HUkFESUVOVDogJ2xpbmVhci1ncmFkaWVudCggMzFkZWcsICM3Njc2ZmYgLTAuODQlLCAjNTk1OWZmIDIxLjc3JSwgIzU3NTdlMCA0NiUsICM0NjQ2Y2UgODMuODElLCAjNGI0YmU0IDExNy4yNiUsICM0NDQ0ZWIgMTQwLjUzJSApJ1xufSBhcyBjb25zdDtcblxuLy8gSW5kaXZpZHVhbCBjb2xvciBleHBvcnRzXG5leHBvcnQgY29uc3QgRFJfQ09MT1JfUFJJTUFSWV9EQVJLRVIgPSAnIzFkMWQ2ZCc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfUFJJTUFSWV9EQVJLID0gJyMyNTI1OGMnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX1BSSU1BUlkgPSAnIzQ2NDZjZSc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfUFJJTUFSWV9MSUdIVCA9ICcjN2Y3ZmRkJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9QUklNQVJZX0xJR0hURVIgPSAnI2I5YjllYyc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfUFJJTUFSWV9VTFRSQV9MSUdIVCA9ICcjZTJlMmZmJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9QUklNQVJZX1NVUEVSX0xJR0hUID0gJyNmMmYyZmInO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX1BSSU1BUllfR1JBRElFTlQgPSAnbGluZWFyLWdyYWRpZW50KDk2Ljg5ZGVnLCAjMjUyNThjIDAlLCAjNDY0NmNlIDEwMCUpJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9QSU5LX0RBUktFUiA9ICcjNjgwMzI1JztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9QSU5LX0RBUksgPSAnIzk4MTQ0MCc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfUElOSyA9ICcjYzkyNDViJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9QSU5LX0xJR0hUID0gJyNmOTM1NzYnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX1BJTktfTElHSFRFUiA9ICcjZmM5M2I2JztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9QSU5LX1VMVFJBX0xJR0hURVIgPSAnI2ZmZGJlNSc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfUElOS19TVVBFUl9MSUdIVCA9ICcjZmZmMWY1JztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9ZRUxMT1dfREFSS0VSID0gJyM5ZTVmMDAnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX1lFTExPV19EQVJLID0gJyNjMTc3MDAnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX1lFTExPVyA9ICcjZmZhMzEwJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9ZRUxMT1dfTElHSFQgPSAnI2ZmYmY1YSc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfWUVMTE9XX0xJR0hURVIgPSAnI2ZmZGNhNCc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfWUVMTE9XX1VMVFJBX0xJR0hUID0gJyNmZmVmZDknO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX1lFTExPV19TVVBFUl9MSUdIVCA9ICcjZmZmOGVlJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9HUkFZX0RBUksgPSAnIzRlNTY2Yyc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfR1JBWV9NRURJVU1fREFSSyA9ICcjN2U4MjhlJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9HUkFZX0RBUktFUiA9ICcjMzczYzRjJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9HUkFZID0gJyM5ZWExYWEnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0dSQVlfTUVESVVNX0xJR0hUID0gJyNkZmUwZTMnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0dSQVlfTElHSFQgPSAnI2YwZjFmNCc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQkFDS0dST1VORF9NQUlOX0hFQURFUiA9ICcjMGMxNDJiJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CQUNLR1JPVU5EX01BSU4gPSAnI2Y2ZjdmOCc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQkFDS0dST1VORF9TRUNPTkRBUlkgPSAnI2ZiZmJmZSc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQkFDS0dST1VORF9XSElURSA9ICcjZmZmZmZmJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CQUNLR1JPVU5EX0hFQURFUiA9ICcjZjJmMmZiJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CQUNLR1JPVU5EX0hPVkVSID0gJyNmNWY1ZjUnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0JBQ0tHUk9VTkRfU0VMRUNURUQgPSAnI2VhZWFmZic7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQkFDS0dST1VORF9ESVNBQkxFRCA9ICcjZjBmMWY0JztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CQUNLR1JPVU5EX1NUQVRVU19FUlJPUiA9ICcjZjdkOWRjJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CQUNLR1JPVU5EX1NUQVRVU19JTkZPID0gJyNlNmVmZmYnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0JBQ0tHUk9VTkRfU1RBVFVTX1dBUk5JTkcgPSAnI2ZmZWZjNyc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQkFDS0dST1VORF9TVEFUVVNfU1VDQ0VTUyA9ICcjZGJmNWU2JztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CQUNLR1JPVU5EX1NUQVRVU19QUk9HUkVTUyA9ICcjZjJmMmZiJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CQUNLR1JPVU5EX1NUQVRVU19SRUdVTEFSID0gJyNmMGYxZjQnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX1NUQVRVU19FUlJPUiA9ICcjYmYxZDMwJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9TVEFUVVNfSU5GTyA9ICcjMGI1YWY5JztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9TVEFUVVNfV0FSTklORyA9ICcjZmZiODAwJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9TVEFUVVNfU1VDQ0VTUyA9ICcjMDM3YzVhJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9TVEFUVVNfUFJPR1JFU1MgPSAnIzQ2NDZjZSc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfU1RBVFVTX1JFR1VMQVIgPSAnIzdlODI4ZSc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQk9SREVSX0RJVklERVIgPSAnI2RmZTBlMyc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQk9SREVSX0lOUFVUID0gJyM5ZWExYWEnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0JPUkRFUl9IT1ZFUiA9ICcjNGU1NjZjJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CT1JERVJfRElTQUJMRUQgPSAnI2FlYWJhYyc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQk9SREVSX0FDVElWRSA9ICcjNDY0NmNlJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CT1JERVJfRVJST1IgPSAnI2JmMWQzMCc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfVEVYVF9NQUlOID0gJyMzMzMzMzMnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX1RFWFRfU0VDT05EQVJZID0gJyM2ZDZlNmYnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX1RFWFRfRElTQUJMRUQgPSAnI2FlYWJhYyc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfVEVYVF9XSElURSA9ICcjZmZmZmZmJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9URVhUX0FDVElWRSA9ICcjNDY0NmNlJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9URVhUX1NVQ0NFU1MgPSAnIzAzN2M1YSc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfVEVYVF9FUlJPUiA9ICcjYmYxZDMwJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9URVhUX1dBUk5JTkcgPSAnIzllNWYwMCc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfVEVYVF9JTkZPID0gJyMwYjVhZjknO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0FERElUSU9OQUxfQkxVRSA9ICcjMDA2MWZmJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9BRERJVElPTkFMX0JSSUdIVF9HUkVFTiA9ICcjMjBhNDUyJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9BRERJVElPTkFMX0RBUktfQkxVRSA9ICcjMTkxOTRjJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9BRERJVElPTkFMX09SQU5HRSA9ICcjZmY0ZTAwJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9BRERJVElPTkFMX0JSSUdIVF9QVVJQTEUgPSAnI2IxNGVmMic7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQURESVRJT05BTF9MSUdIVF9CTFVFID0gJyM1NzhhZmYnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0FERElUSU9OQUxfQlJJR0hUX1BJTksgPSAnI2YxM2ZhNCc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQURESVRJT05BTF9NT1VTRSA9ICcjODY5M2EyJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9BRERJVElPTkFMX01FRElVTV9HUkVFTiA9ICcjMDA4NjdlJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9BRERJVElPTkFMX0RBUktfR1JFRU4gPSAnIzAwNjMzNCc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQURESVRJT05BTF9MSUdIVF9QSU5LID0gJyNmZjZiYjcnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0FERElUSU9OQUxfREVFUF9NT0NIQSA9ICcjNTIzZjNlJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9BRERJVElPTkFMX1NPRlRfQ09SQUwgPSAnI2YzYjFhZic7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQURESVRJT05BTF9OQVZZX0JMVUUgPSAnIzJlNGY4Yyc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQURESVRJT05BTF9DT09MX0xBR09PTiA9ICcjNzNjOWM1JztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9BRERJVElPTkFMX0xBVkVOREVSID0gJyNiYWE5ZjMnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0FERElUSU9OQUxfR1JBUEUgPSAnIzc1M2Y4Nic7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQURESVRJT05BTF9ST1lBTF9QVVJQTEUgPSAnIzcyNGRjYSc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQURESVRJT05BTF9TS1lfQlJFRVpFID0gJyM4MGNhZmEnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0FERElUSU9OQUxfSE9ORVkgPSAnI2ZmYWUwMCc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQURESVRJT05BTF9GUkVTSF9MSU1FID0gJyNhOGQxNGInO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0FERElUSU9OQUxfU1BBQ0UgPSAnIzdiNjFmZic7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQkFER0VfTElHSFRfUFVSUExFID0gJyNkZmQ5ZmYnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0JBREdFX1dBVEVSID0gJyNkOWYyZmYnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0JBREdFX0JBQllfQkxVRSA9ICcjZDllNmZmJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CQURHRV9CQUJZX1BJTksgPSAnI2ZmZGJmMSc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQkFER0VfTElHSFRfVFVSUVVPSVNFID0gJyNkNmZjZjknO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0JBREdFX0JSSUdIVF9HUkVFTiA9ICcjZDlmZmVhJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CQURHRV9TVE9ORSA9ICcjZjZmNGY0JztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CQURHRV9QRUFDSCA9ICcjZmZlNWI0JztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CQURHRV9TT0ZUX0NPUkFMID0gJyNmZmQyYzInO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0JBREdFX1BBTEVfWUVMTE9XID0gJyNmZmZhY2QnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0JBREdFX1BBU1RFTF9PTElWRSA9ICcjZGNlMmI5JztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CQURHRV9QT1dERVJfQkxVRV9HUkVZID0gJyNkM2RiZTMnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0JBREdFX01VVEVEX1BMVU0gPSAnI2U3YzdkYic7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQUlfR1JBRElFTlQgPSAnbGluZWFyLWdyYWRpZW50KDIxNy40NGRlZywgIzNkMzZjZCAtMTMuNDYlLCAjMzJiNGZmIDQ0LjM4JSknO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0FJX0JBQ0tHUk9VTkRfTUFJTl9HUkFESUVOVCA9ICdsaW5lYXItZ3JhZGllbnQoMjY2ZGVnLCAjNjk2OWZmIDI1LjIlLCAjNGViN2RmIDkwLjI0JSknO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0FJX0JBQ0tHUk9VTkRfTUFJTl9IT1ZFUl9HUkFESUVOVCA9ICdsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSg3NywgNzcsIDIwNSwgMC40KSAwJSwgcmdiYSg3NywgNzcsIDIwNSwgMC40KSAxMDAlKSwgbGluZWFyLWdyYWRpZW50KDI2NmRlZywgIzY5NjlmZiAyNS4yJSwgIzRlYjdkZiA5MC4yNCUpJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9BSV9CQUNLR1JPVU5EX1NFQ09OREFSWV9IT1ZFUl9HUkFESUVOVCA9ICdsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKDEwNSwgMTA1LCAyNTUsIDAuMikgLTQuMjMlLCByZ2JhKDc4LCAxODMsIDIyMywgMC4yKSAxMDMuNiUpLCAjZmZmJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9BSV9CT1JERVJfU0VDT05EQVJZX0dSQURJRU5UID0gJ2xpbmVhci1ncmFkaWVudCgyNjkuNTdkZWcsICM2OTY5ZmYgLTQuMjMlLCAjNGViN2RmIDEwMy42JSknO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0FJX0xJR0hUX0dSQURJRU5UID0gJ2xpbmVhci1ncmFkaWVudCg5NGRlZywgI2Y0ZjRmZiAxLjYlLCAjZjJmYWZkIDk2LjE5JSknO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0FJX1BVUlBMRV9HUkFESUVOVCA9ICdsaW5lYXItZ3JhZGllbnQoIDMxZGVnLCAjNzY3NmZmIC0wLjg0JSwgIzU5NTlmZiAyMS43NyUsICM1NzU3ZTAgNDYlLCAjNDY0NmNlIDgzLjgxJSwgIzRiNGJlNCAxMTcuMjYlLCAjNDQ0NGViIDE0MC41MyUgKSc7XG4iXX0=
|
|
242
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvbW9kZWxzL2NvbG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUc7SUFDcEIsdUJBQXVCLEVBQUUsU0FBUztJQUNsQyxxQkFBcUIsRUFBRSxTQUFTO0lBQ2hDLGdCQUFnQixFQUFFLFNBQVM7SUFDM0Isc0JBQXNCLEVBQUUsU0FBUztJQUNqQyx3QkFBd0IsRUFBRSxTQUFTO0lBQ25DLDRCQUE0QixFQUFFLFNBQVM7SUFDdkMsNEJBQTRCLEVBQUUsU0FBUztJQUN2Qyx5QkFBeUIsRUFBRSxxREFBcUQ7SUFDaEYsb0JBQW9CLEVBQUUsU0FBUztJQUMvQixrQkFBa0IsRUFBRSxTQUFTO0lBQzdCLGFBQWEsRUFBRSxTQUFTO0lBQ3hCLG1CQUFtQixFQUFFLFNBQVM7SUFDOUIscUJBQXFCLEVBQUUsU0FBUztJQUNoQywyQkFBMkIsRUFBRSxTQUFTO0lBQ3RDLHlCQUF5QixFQUFFLFNBQVM7SUFDcEMsc0JBQXNCLEVBQUUsU0FBUztJQUNqQyxvQkFBb0IsRUFBRSxTQUFTO0lBQy9CLGVBQWUsRUFBRSxTQUFTO0lBQzFCLHFCQUFxQixFQUFFLFNBQVM7SUFDaEMsdUJBQXVCLEVBQUUsU0FBUztJQUNsQywyQkFBMkIsRUFBRSxTQUFTO0lBQ3RDLDJCQUEyQixFQUFFLFNBQVM7SUFDdEMsa0JBQWtCLEVBQUUsU0FBUztJQUM3Qix5QkFBeUIsRUFBRSxTQUFTO0lBQ3BDLG9CQUFvQixFQUFFLFNBQVM7SUFDL0IsYUFBYSxFQUFFLFNBQVM7SUFDeEIsMEJBQTBCLEVBQUUsU0FBUztJQUNyQyxtQkFBbUIsRUFBRSxTQUFTO0lBQzlCLCtCQUErQixFQUFFLFNBQVM7SUFDMUMsd0JBQXdCLEVBQUUsU0FBUztJQUNuQyw2QkFBNkIsRUFBRSxTQUFT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RyxTQUFTLENBQUM7QUFDcEQsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsU0FBUyxDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLFNBQVMsQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxTQUFTLENBQUM7QUFDbkQsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsU0FBUyxDQUFDO0FBQzFELE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLFNBQVMsQ0FBQztBQUN4RCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxTQUFTLENBQUM7QUFDbEQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsU0FBUyxDQUFDO0FBQ3BELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLFNBQVMsQ0FBQztBQUNsRCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxTQUFTLENBQUM7QUFDdkQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsU0FBUyxDQUFDO0FBQ3BELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLDZEQUE2RCxDQUFDO0FBQ2xHLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLHdEQUF3RCxDQUFDO0FBQzdHLE1BQU0sQ0FBQyxNQUFNLDBDQUEwQyxHQUFHLHVJQUF1SSxDQUFDO0FBQ2xNLE1BQU0sQ0FBQyxNQUFNLCtDQUErQyxHQUFHLGdHQUFnRyxDQUFDO0FBQ2hLLE1BQU0sQ0FBQyxNQUFNLHFDQUFxQyxHQUFHLDREQUE0RCxDQUFDO0FBQ2xILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLHNEQUFzRCxDQUFDO0FBQ2pHLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLHlIQUF5SCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgZnJvbSBjb2xvcnMuc2Nzc1xuICogRG8gbm90IGVkaXQgdGhpcyBmaWxlIG1hbnVhbGx5LiBFZGl0IGNvbG9ycy5zY3NzIGluc3RlYWQuXG4gKi9cblxuZXhwb3J0IGNvbnN0IENvbG9ycyA9IHtcbiAgRFJfQ09MT1JfUFJJTUFSWV9EQVJLRVI6ICcjMWQxZDZkJyxcbiAgRFJfQ09MT1JfUFJJTUFSWV9EQVJLOiAnIzI1MjU4YycsXG4gIERSX0NPTE9SX1BSSU1BUlk6ICcjNDY0NmNlJyxcbiAgRFJfQ09MT1JfUFJJTUFSWV9MSUdIVDogJyM3ZjdmZGQnLFxuICBEUl9DT0xPUl9QUklNQVJZX0xJR0hURVI6ICcjYjliOWVjJyxcbiAgRFJfQ09MT1JfUFJJTUFSWV9VTFRSQV9MSUdIVDogJyNlMmUyZmYnLFxuICBEUl9DT0xPUl9QUklNQVJZX1NVUEVSX0xJR0hUOiAnI2YyZjJmYicsXG4gIERSX0NPTE9SX1BSSU1BUllfR1JBRElFTlQ6ICdsaW5lYXItZ3JhZGllbnQoOTYuODlkZWcsICMyNTI1OGMgMCUsICM0NjQ2Y2UgMTAwJSknLFxuICBEUl9DT0xPUl9QSU5LX0RBUktFUjogJyM2ODAzMjUnLFxuICBEUl9DT0xPUl9QSU5LX0RBUks6ICcjOTgxNDQwJyxcbiAgRFJfQ09MT1JfUElOSzogJyNjOTI0NWInLFxuICBEUl9DT0xPUl9QSU5LX0xJR0hUOiAnI2Y5MzU3NicsXG4gIERSX0NPTE9SX1BJTktfTElHSFRFUjogJyNmYzkzYjYnLFxuICBEUl9DT0xPUl9QSU5LX1VMVFJBX0xJR0hURVI6ICcjZmZkYmU1JyxcbiAgRFJfQ09MT1JfUElOS19TVVBFUl9MSUdIVDogJyNmZmYxZjUnLFxuICBEUl9DT0xPUl9ZRUxMT1dfREFSS0VSOiAnIzllNWYwMCcsXG4gIERSX0NPTE9SX1lFTExPV19EQVJLOiAnI2MxNzcwMCcsXG4gIERSX0NPTE9SX1lFTExPVzogJyNmZmEzMTAnLFxuICBEUl9DT0xPUl9ZRUxMT1dfTElHSFQ6ICcjZmZiZjVhJyxcbiAgRFJfQ09MT1JfWUVMTE9XX0xJR0hURVI6ICcjZmZkY2E0JyxcbiAgRFJfQ09MT1JfWUVMTE9XX1VMVFJBX0xJR0hUOiAnI2ZmZWZkOScsXG4gIERSX0NPTE9SX1lFTExPV19TVVBFUl9MSUdIVDogJyNmZmY4ZWUnLFxuICBEUl9DT0xPUl9HUkFZX0RBUks6ICcjNGU1NjZjJyxcbiAgRFJfQ09MT1JfR1JBWV9NRURJVU1fREFSSzogJyM3ZTgyOGUnLFxuICBEUl9DT0xPUl9HUkFZX0RBUktFUjogJyMzNzNjNGMnLFxuICBEUl9DT0xPUl9HUkFZOiAnIzllYTFhYScsXG4gIERSX0NPTE9SX0dSQVlfTUVESVVNX0xJR0hUOiAnI2RmZTBlMycsXG4gIERSX0NPTE9SX0dSQVlfTElHSFQ6ICcjZjBmMWY0JyxcbiAgRFJfQ09MT1JfQkFDS0dST1VORF9NQUlOX0hFQURFUjogJyMwYzE0MmInLFxuICBEUl9DT0xPUl9CQUNLR1JPVU5EX01BSU46ICcjZjZmN2Y4JyxcbiAgRFJfQ09MT1JfQkFDS0dST1VORF9TRUNPTkRBUlk6ICcjZmJmYmZlJyxcbiAgRFJfQ09MT1JfQkFDS0dST1VORF9XSElURTogJyNmZmZmZmYnLFxuICBEUl9DT0xPUl9CQUNLR1JPVU5EX0hFQURFUjogJyNmMmYyZmInLFxuICBEUl9DT0xPUl9CQUNLR1JPVU5EX0hPVkVSOiAnI2Y1ZjVmNScsXG4gIERSX0NPTE9SX0JBQ0tHUk9VTkRfU0VMRUNURUQ6ICcjZWFlYWZmJyxcbiAgRFJfQ09MT1JfQkFDS0dST1VORF9ESVNBQkxFRDogJyNmMGYxZjQnLFxuICBEUl9DT0xPUl9CQUNLR1JPVU5EX1NUQVRVU19FUlJPUjogJyNmN2Q5ZGMnLFxuICBEUl9DT0xPUl9CQUNLR1JPVU5EX1NUQVRVU19JTkZPOiAnI2U2ZWZmZicsXG4gIERSX0NPTE9SX0JBQ0tHUk9VTkRfU1RBVFVTX1dBUk5JTkc6ICcjZmZlZmM3JyxcbiAgRFJfQ09MT1JfQkFDS0dST1VORF9TVEFUVVNfU1VDQ0VTUzogJyNkYmY1ZTYnLFxuICBEUl9DT0xPUl9CQUNLR1JPVU5EX1NUQVRVU19QUk9HUkVTUzogJyNmMmYyZmInLFxuICBEUl9DT0xPUl9CQUNLR1JPVU5EX1NUQVRVU19SRUdVTEFSOiAnI2YwZjFmNCcsXG4gIERSX0NPTE9SX1NUQVRVU19FUlJPUjogJyNiZjFkMzAnLFxuICBEUl9DT0xPUl9TVEFUVVNfSU5GTzogJyMwYjVhZjknLFxuICBEUl9DT0xPUl9TVEFUVVNfV0FSTklORzogJyNmZmI4MDAnLFxuICBEUl9DT0xPUl9TVEFUVVNfU1VDQ0VTUzogJyMwMzdjNWEnLFxuICBEUl9DT0xPUl9TVEFUVVNfUFJPR1JFU1M6ICcjNDY0NmNlJyxcbiAgRFJfQ09MT1JfU1RBVFVTX1JFR1VMQVI6ICcjN2U4MjhlJyxcbiAgRFJfQ09MT1JfQk9SREVSX0RJVklERVI6ICcjZGZlMGUzJyxcbiAgRFJfQ09MT1JfQk9SREVSX0lOUFVUOiAnIzllYTFhYScsXG4gIERSX0NPTE9SX0JPUkRFUl9IT1ZFUjogJyM0ZTU2NmMnLFxuICBEUl9DT0xPUl9CT1JERVJfRElTQUJMRUQ6ICcjYWVhYmFjJyxcbiAgRFJfQ09MT1JfQk9SREVSX0FDVElWRTogJyM0NjQ2Y2UnLFxuICBEUl9DT0xPUl9CT1JERVJfRVJST1I6ICcjYmYxZDMwJyxcbiAgRFJfQ09MT1JfVEVYVF9NQUlOOiAnIzMzMzMzMycsXG4gIERSX0NPTE9SX1RFWFRfU0VDT05EQVJZOiAnIzZkNmU2ZicsXG4gIERSX0NPTE9SX1RFWFRfRElTQUJMRUQ6ICcjYWVhYmFjJyxcbiAgRFJfQ09MT1JfVEVYVF9XSElURTogJyNmZmZmZmYnLFxuICBEUl9DT0xPUl9URVhUX0FDVElWRTogJyM0NjQ2Y2UnLFxuICBEUl9DT0xPUl9URVhUX1NVQ0NFU1M6ICcjMDM3YzVhJyxcbiAgRFJfQ09MT1JfVEVYVF9FUlJPUjogJyNiZjFkMzAnLFxuICBEUl9DT0xPUl9URVhUX1dBUk5JTkc6ICcjOWU1ZjAwJyxcbiAgRFJfQ09MT1JfVEVYVF9JTkZPOiAnIzBiNWFmOScsXG4gIERSX0NPTE9SX0FERElUSU9OQUxfQkxVRTogJyMwMDYxZmYnLFxuICBEUl9DT0xPUl9BRERJVElPTkFMX0JSSUdIVF9HUkVFTjogJyMyMGE0NTInLFxuICBEUl9DT0xPUl9BRERJVElPTkFMX0RBUktfQkxVRTogJyMxOTE5NGMnLFxuICBEUl9DT0xPUl9BRERJVElPTkFMX09SQU5HRTogJyNmZjRlMDAnLFxuICBEUl9DT0xPUl9BRERJVElPTkFMX0JSSUdIVF9QVVJQTEU6ICcjYjE0ZWYyJyxcbiAgRFJfQ09MT1JfQURESVRJT05BTF9MSUdIVF9CTFVFOiAnIzU3OGFmZicsXG4gIERSX0NPTE9SX0FERElUSU9OQUxfQlJJR0hUX1BJTks6ICcjZjEzZmE0JyxcbiAgRFJfQ09MT1JfQURESVRJT05BTF9NT1VTRTogJyM4NjkzYTInLFxuICBEUl9DT0xPUl9BRERJVElPTkFMX01FRElVTV9HUkVFTjogJyMwMDg2N2UnLFxuICBEUl9DT0xPUl9BRERJVElPTkFMX0RBUktfR1JFRU46ICcjMDA2MzM0JyxcbiAgRFJfQ09MT1JfQURESVRJT05BTF9MSUdIVF9QSU5LOiAnI2ZmNmJiNycsXG4gIERSX0NPTE9SX0FERElUSU9OQUxfREVFUF9NT0NIQTogJyM1MjNmM2UnLFxuICBEUl9DT0xPUl9BRERJVElPTkFMX1NPRlRfQ09SQUw6ICcjZjNiMWFmJyxcbiAgRFJfQ09MT1JfQURESVRJT05BTF9OQVZZX0JMVUU6ICcjMmU0ZjhjJyxcbiAgRFJfQ09MT1JfQURESVRJT05BTF9DT09MX0xBR09PTjogJyM3M2M5YzUnLFxuICBEUl9DT0xPUl9BRERJVElPTkFMX0xBVkVOREVSOiAnI2JhYTlmMycsXG4gIERSX0NPTE9SX0FERElUSU9OQUxfR1JBUEU6ICcjNzUzZjg2JyxcbiAgRFJfQ09MT1JfQURESVRJT05BTF9ST1lBTF9QVVJQTEU6ICcjNzI0ZGNhJyxcbiAgRFJfQ09MT1JfQURESVRJT05BTF9TS1lfQlJFRVpFOiAnIzgwY2FmYScsXG4gIERSX0NPTE9SX0FERElUSU9OQUxfSE9ORVk6ICcjZmZhZTAwJyxcbiAgRFJfQ09MT1JfQURESVRJT05BTF9GUkVTSF9MSU1FOiAnI2E4ZDE0YicsXG4gIERSX0NPTE9SX0FERElUSU9OQUxfU1BBQ0U6ICcjN2I2MWZmJyxcbiAgRFJfQ09MT1JfQkFER0VfTElHSFRfUFVSUExFOiAnI2RmZDlmZicsXG4gIERSX0NPTE9SX0JBREdFX1dBVEVSOiAnI2Q5ZjJmZicsXG4gIERSX0NPTE9SX0JBREdFX0JBQllfQkxVRTogJyNkOWU2ZmYnLFxuICBEUl9DT0xPUl9CQURHRV9CQUJZX1BJTks6ICcjZmZkYmYxJyxcbiAgRFJfQ09MT1JfQkFER0VfTElHSFRfVFVSUVVPSVNFOiAnI2Q2ZmNmOScsXG4gIERSX0NPTE9SX0JBREdFX0JSSUdIVF9HUkVFTjogJyNkOWZmZWEnLFxuICBEUl9DT0xPUl9CQURHRV9TVE9ORTogJyNmNmY0ZjQnLFxuICBEUl9DT0xPUl9CQURHRV9QRUFDSDogJyNmZmU1YjQnLFxuICBEUl9DT0xPUl9CQURHRV9TT0ZUX0NPUkFMOiAnI2ZmZDJjMicsXG4gIERSX0NPTE9SX0JBREdFX1BBTEVfWUVMTE9XOiAnI2ZmZmFjZCcsXG4gIERSX0NPTE9SX0JBREdFX1BBU1RFTF9PTElWRTogJyNkY2UyYjknLFxuICBEUl9DT0xPUl9CQURHRV9QT1dERVJfQkxVRV9HUkVZOiAnI2QzZGJlMycsXG4gIERSX0NPTE9SX0JBREdFX01VVEVEX1BMVU06ICcjZTdjN2RiJyxcbiAgRFJfQ09MT1JfV0FURVJNQVJLU19QSU5LOiAnI2ZlZWNmNicsXG4gIERSX0NPTE9SX1dBVEVSTUFSS1NfUFVSUExFOiAnI2Y3ZWRmZScsXG4gIERSX0NPTE9SX1dBVEVSTUFSS1NfTUVESVVNX1BVUlBMRTogJyNlOWNkZmMnLFxuICBEUl9DT0xPUl9XQVRFUk1BUktTX0RBUktfUFVSUExFOiAnI2VjZWNmYScsXG4gIERSX0NPTE9SX1dBVEVSTUFSS1NfR1JFRU46ICcjZTlmNmVlJyxcbiAgRFJfQ09MT1JfV0FURVJNQVJLU19NRURJVU1fR1JFRU46ICcjYzdlNGQ4JyxcbiAgRFJfQ09MT1JfV0FURVJNQVJLU19EQVJLX0dSRUVOOiAnI2U1ZWZlYicsXG4gIERSX0NPTE9SX1dBVEVSTUFSS1NfQkxVRTogJyNlZWYzZmYnLFxuICBEUl9DT0xPUl9XQVRFUk1BUktTX1lFTExPVzogJyNmZmY2ZTcnLFxuICBEUl9DT0xPUl9XQVRFUk1BUktTX0dSQVk6ICcjZjNmNGY2JyxcbiAgRFJfQ09MT1JfV0FURVJNQVJLU19EQVJLX0dSQVk6ICcjZThlOGVkJyxcbiAgRFJfQ09MT1JfV0FURVJNQVJLU19PUkFOR0U6ICcjZmZlZGU1JyxcbiAgRFJfQ09MT1JfQUlfR1JBRElFTlQ6ICdsaW5lYXItZ3JhZGllbnQoMjE3LjQ0ZGVnLCAjM2QzNmNkIC0xMy40NiUsICMzMmI0ZmYgNDQuMzglKScsXG4gIERSX0NPTE9SX0FJX0JBQ0tHUk9VTkRfTUFJTl9HUkFESUVOVDogJ2xpbmVhci1ncmFkaWVudCgyNjZkZWcsICM2OTY5ZmYgMjUuMiUsICM0ZWI3ZGYgOTAuMjQlKScsXG4gIERSX0NPTE9SX0FJX0JBQ0tHUk9VTkRfTUFJTl9IT1ZFUl9HUkFESUVOVDogJ2xpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDc3LCA3NywgMjA1LCAwLjQpIDAlLCByZ2JhKDc3LCA3NywgMjA1LCAwLjQpIDEwMCUpLCBsaW5lYXItZ3JhZGllbnQoMjY2ZGVnLCAjNjk2OWZmIDI1LjIlLCAjNGViN2RmIDkwLjI0JSknLFxuICBEUl9DT0xPUl9BSV9CQUNLR1JPVU5EX1NFQ09OREFSWV9IT1ZFUl9HUkFESUVOVDogJ2xpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoMTA1LCAxMDUsIDI1NSwgMC4yKSAtNC4yMyUsIHJnYmEoNzgsIDE4MywgMjIzLCAwLjIpIDEwMy42JSksICNmZmYnLFxuICBEUl9DT0xPUl9BSV9CT1JERVJfU0VDT05EQVJZX0dSQURJRU5UOiAnbGluZWFyLWdyYWRpZW50KDI2OS41N2RlZywgIzY5NjlmZiAtNC4yMyUsICM0ZWI3ZGYgMTAzLjYlKScsXG4gIERSX0NPTE9SX0FJX0xJR0hUX0dSQURJRU5UOiAnbGluZWFyLWdyYWRpZW50KDk0ZGVnLCAjZjRmNGZmIDEuNiUsICNmMmZhZmQgOTYuMTklKScsXG4gIERSX0NPTE9SX0FJX1BVUlBMRV9HUkFESUVOVDogJ2xpbmVhci1ncmFkaWVudCggMzFkZWcsICM3Njc2ZmYgLTAuODQlLCAjNTk1OWZmIDIxLjc3JSwgIzU3NTdlMCA0NiUsICM0NjQ2Y2UgODMuODElLCAjNGI0YmU0IDExNy4yNiUsICM0NDQ0ZWIgMTQwLjUzJSApJ1xufSBhcyBjb25zdDtcblxuLy8gSW5kaXZpZHVhbCBjb2xvciBleHBvcnRzXG5leHBvcnQgY29uc3QgRFJfQ09MT1JfUFJJTUFSWV9EQVJLRVIgPSAnIzFkMWQ2ZCc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfUFJJTUFSWV9EQVJLID0gJyMyNTI1OGMnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX1BSSU1BUlkgPSAnIzQ2NDZjZSc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfUFJJTUFSWV9MSUdIVCA9ICcjN2Y3ZmRkJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9QUklNQVJZX0xJR0hURVIgPSAnI2I5YjllYyc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfUFJJTUFSWV9VTFRSQV9MSUdIVCA9ICcjZTJlMmZmJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9QUklNQVJZX1NVUEVSX0xJR0hUID0gJyNmMmYyZmInO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX1BSSU1BUllfR1JBRElFTlQgPSAnbGluZWFyLWdyYWRpZW50KDk2Ljg5ZGVnLCAjMjUyNThjIDAlLCAjNDY0NmNlIDEwMCUpJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9QSU5LX0RBUktFUiA9ICcjNjgwMzI1JztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9QSU5LX0RBUksgPSAnIzk4MTQ0MCc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfUElOSyA9ICcjYzkyNDViJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9QSU5LX0xJR0hUID0gJyNmOTM1NzYnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX1BJTktfTElHSFRFUiA9ICcjZmM5M2I2JztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9QSU5LX1VMVFJBX0xJR0hURVIgPSAnI2ZmZGJlNSc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfUElOS19TVVBFUl9MSUdIVCA9ICcjZmZmMWY1JztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9ZRUxMT1dfREFSS0VSID0gJyM5ZTVmMDAnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX1lFTExPV19EQVJLID0gJyNjMTc3MDAnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX1lFTExPVyA9ICcjZmZhMzEwJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9ZRUxMT1dfTElHSFQgPSAnI2ZmYmY1YSc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfWUVMTE9XX0xJR0hURVIgPSAnI2ZmZGNhNCc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfWUVMTE9XX1VMVFJBX0xJR0hUID0gJyNmZmVmZDknO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX1lFTExPV19TVVBFUl9MSUdIVCA9ICcjZmZmOGVlJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9HUkFZX0RBUksgPSAnIzRlNTY2Yyc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfR1JBWV9NRURJVU1fREFSSyA9ICcjN2U4MjhlJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9HUkFZX0RBUktFUiA9ICcjMzczYzRjJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9HUkFZID0gJyM5ZWExYWEnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0dSQVlfTUVESVVNX0xJR0hUID0gJyNkZmUwZTMnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0dSQVlfTElHSFQgPSAnI2YwZjFmNCc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQkFDS0dST1VORF9NQUlOX0hFQURFUiA9ICcjMGMxNDJiJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CQUNLR1JPVU5EX01BSU4gPSAnI2Y2ZjdmOCc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQkFDS0dST1VORF9TRUNPTkRBUlkgPSAnI2ZiZmJmZSc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQkFDS0dST1VORF9XSElURSA9ICcjZmZmZmZmJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CQUNLR1JPVU5EX0hFQURFUiA9ICcjZjJmMmZiJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CQUNLR1JPVU5EX0hPVkVSID0gJyNmNWY1ZjUnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0JBQ0tHUk9VTkRfU0VMRUNURUQgPSAnI2VhZWFmZic7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQkFDS0dST1VORF9ESVNBQkxFRCA9ICcjZjBmMWY0JztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CQUNLR1JPVU5EX1NUQVRVU19FUlJPUiA9ICcjZjdkOWRjJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CQUNLR1JPVU5EX1NUQVRVU19JTkZPID0gJyNlNmVmZmYnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0JBQ0tHUk9VTkRfU1RBVFVTX1dBUk5JTkcgPSAnI2ZmZWZjNyc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQkFDS0dST1VORF9TVEFUVVNfU1VDQ0VTUyA9ICcjZGJmNWU2JztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CQUNLR1JPVU5EX1NUQVRVU19QUk9HUkVTUyA9ICcjZjJmMmZiJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CQUNLR1JPVU5EX1NUQVRVU19SRUdVTEFSID0gJyNmMGYxZjQnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX1NUQVRVU19FUlJPUiA9ICcjYmYxZDMwJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9TVEFUVVNfSU5GTyA9ICcjMGI1YWY5JztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9TVEFUVVNfV0FSTklORyA9ICcjZmZiODAwJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9TVEFUVVNfU1VDQ0VTUyA9ICcjMDM3YzVhJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9TVEFUVVNfUFJPR1JFU1MgPSAnIzQ2NDZjZSc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfU1RBVFVTX1JFR1VMQVIgPSAnIzdlODI4ZSc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQk9SREVSX0RJVklERVIgPSAnI2RmZTBlMyc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQk9SREVSX0lOUFVUID0gJyM5ZWExYWEnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0JPUkRFUl9IT1ZFUiA9ICcjNGU1NjZjJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CT1JERVJfRElTQUJMRUQgPSAnI2FlYWJhYyc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQk9SREVSX0FDVElWRSA9ICcjNDY0NmNlJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CT1JERVJfRVJST1IgPSAnI2JmMWQzMCc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfVEVYVF9NQUlOID0gJyMzMzMzMzMnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX1RFWFRfU0VDT05EQVJZID0gJyM2ZDZlNmYnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX1RFWFRfRElTQUJMRUQgPSAnI2FlYWJhYyc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfVEVYVF9XSElURSA9ICcjZmZmZmZmJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9URVhUX0FDVElWRSA9ICcjNDY0NmNlJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9URVhUX1NVQ0NFU1MgPSAnIzAzN2M1YSc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfVEVYVF9FUlJPUiA9ICcjYmYxZDMwJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9URVhUX1dBUk5JTkcgPSAnIzllNWYwMCc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfVEVYVF9JTkZPID0gJyMwYjVhZjknO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0FERElUSU9OQUxfQkxVRSA9ICcjMDA2MWZmJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9BRERJVElPTkFMX0JSSUdIVF9HUkVFTiA9ICcjMjBhNDUyJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9BRERJVElPTkFMX0RBUktfQkxVRSA9ICcjMTkxOTRjJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9BRERJVElPTkFMX09SQU5HRSA9ICcjZmY0ZTAwJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9BRERJVElPTkFMX0JSSUdIVF9QVVJQTEUgPSAnI2IxNGVmMic7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQURESVRJT05BTF9MSUdIVF9CTFVFID0gJyM1NzhhZmYnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0FERElUSU9OQUxfQlJJR0hUX1BJTksgPSAnI2YxM2ZhNCc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQURESVRJT05BTF9NT1VTRSA9ICcjODY5M2EyJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9BRERJVElPTkFMX01FRElVTV9HUkVFTiA9ICcjMDA4NjdlJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9BRERJVElPTkFMX0RBUktfR1JFRU4gPSAnIzAwNjMzNCc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQURESVRJT05BTF9MSUdIVF9QSU5LID0gJyNmZjZiYjcnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0FERElUSU9OQUxfREVFUF9NT0NIQSA9ICcjNTIzZjNlJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9BRERJVElPTkFMX1NPRlRfQ09SQUwgPSAnI2YzYjFhZic7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQURESVRJT05BTF9OQVZZX0JMVUUgPSAnIzJlNGY4Yyc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQURESVRJT05BTF9DT09MX0xBR09PTiA9ICcjNzNjOWM1JztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9BRERJVElPTkFMX0xBVkVOREVSID0gJyNiYWE5ZjMnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0FERElUSU9OQUxfR1JBUEUgPSAnIzc1M2Y4Nic7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQURESVRJT05BTF9ST1lBTF9QVVJQTEUgPSAnIzcyNGRjYSc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQURESVRJT05BTF9TS1lfQlJFRVpFID0gJyM4MGNhZmEnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0FERElUSU9OQUxfSE9ORVkgPSAnI2ZmYWUwMCc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQURESVRJT05BTF9GUkVTSF9MSU1FID0gJyNhOGQxNGInO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0FERElUSU9OQUxfU1BBQ0UgPSAnIzdiNjFmZic7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQkFER0VfTElHSFRfUFVSUExFID0gJyNkZmQ5ZmYnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0JBREdFX1dBVEVSID0gJyNkOWYyZmYnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0JBREdFX0JBQllfQkxVRSA9ICcjZDllNmZmJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CQURHRV9CQUJZX1BJTksgPSAnI2ZmZGJmMSc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQkFER0VfTElHSFRfVFVSUVVPSVNFID0gJyNkNmZjZjknO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0JBREdFX0JSSUdIVF9HUkVFTiA9ICcjZDlmZmVhJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CQURHRV9TVE9ORSA9ICcjZjZmNGY0JztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CQURHRV9QRUFDSCA9ICcjZmZlNWI0JztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CQURHRV9TT0ZUX0NPUkFMID0gJyNmZmQyYzInO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0JBREdFX1BBTEVfWUVMTE9XID0gJyNmZmZhY2QnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0JBREdFX1BBU1RFTF9PTElWRSA9ICcjZGNlMmI5JztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9CQURHRV9QT1dERVJfQkxVRV9HUkVZID0gJyNkM2RiZTMnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0JBREdFX01VVEVEX1BMVU0gPSAnI2U3YzdkYic7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfV0FURVJNQVJLU19QSU5LID0gJyNmZWVjZjYnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX1dBVEVSTUFSS1NfUFVSUExFID0gJyNmN2VkZmUnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX1dBVEVSTUFSS1NfTUVESVVNX1BVUlBMRSA9ICcjZTljZGZjJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9XQVRFUk1BUktTX0RBUktfUFVSUExFID0gJyNlY2VjZmEnO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX1dBVEVSTUFSS1NfR1JFRU4gPSAnI2U5ZjZlZSc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfV0FURVJNQVJLU19NRURJVU1fR1JFRU4gPSAnI2M3ZTRkOCc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfV0FURVJNQVJLU19EQVJLX0dSRUVOID0gJyNlNWVmZWInO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX1dBVEVSTUFSS1NfQkxVRSA9ICcjZWVmM2ZmJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9XQVRFUk1BUktTX1lFTExPVyA9ICcjZmZmNmU3JztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9XQVRFUk1BUktTX0dSQVkgPSAnI2YzZjRmNic7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfV0FURVJNQVJLU19EQVJLX0dSQVkgPSAnI2U4ZThlZCc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfV0FURVJNQVJLU19PUkFOR0UgPSAnI2ZmZWRlNSc7XG5leHBvcnQgY29uc3QgRFJfQ09MT1JfQUlfR1JBRElFTlQgPSAnbGluZWFyLWdyYWRpZW50KDIxNy40NGRlZywgIzNkMzZjZCAtMTMuNDYlLCAjMzJiNGZmIDQ0LjM4JSknO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0FJX0JBQ0tHUk9VTkRfTUFJTl9HUkFESUVOVCA9ICdsaW5lYXItZ3JhZGllbnQoMjY2ZGVnLCAjNjk2OWZmIDI1LjIlLCAjNGViN2RmIDkwLjI0JSknO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0FJX0JBQ0tHUk9VTkRfTUFJTl9IT1ZFUl9HUkFESUVOVCA9ICdsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSg3NywgNzcsIDIwNSwgMC40KSAwJSwgcmdiYSg3NywgNzcsIDIwNSwgMC40KSAxMDAlKSwgbGluZWFyLWdyYWRpZW50KDI2NmRlZywgIzY5NjlmZiAyNS4yJSwgIzRlYjdkZiA5MC4yNCUpJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9BSV9CQUNLR1JPVU5EX1NFQ09OREFSWV9IT1ZFUl9HUkFESUVOVCA9ICdsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKDEwNSwgMTA1LCAyNTUsIDAuMikgLTQuMjMlLCByZ2JhKDc4LCAxODMsIDIyMywgMC4yKSAxMDMuNiUpLCAjZmZmJztcbmV4cG9ydCBjb25zdCBEUl9DT0xPUl9BSV9CT1JERVJfU0VDT05EQVJZX0dSQURJRU5UID0gJ2xpbmVhci1ncmFkaWVudCgyNjkuNTdkZWcsICM2OTY5ZmYgLTQuMjMlLCAjNGViN2RmIDEwMy42JSknO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0FJX0xJR0hUX0dSQURJRU5UID0gJ2xpbmVhci1ncmFkaWVudCg5NGRlZywgI2Y0ZjRmZiAxLjYlLCAjZjJmYWZkIDk2LjE5JSknO1xuZXhwb3J0IGNvbnN0IERSX0NPTE9SX0FJX1BVUlBMRV9HUkFESUVOVCA9ICdsaW5lYXItZ3JhZGllbnQoIDMxZGVnLCAjNzY3NmZmIC0wLjg0JSwgIzU5NTlmZiAyMS43NyUsICM1NzU3ZTAgNDYlLCAjNDY0NmNlIDgzLjgxJSwgIzRiNGJlNCAxMTcuMjYlLCAjNDQ0NGViIDE0MC41MyUgKSc7XG4iXX0=
|