@hitsoft/abp.kadooglu 1.0.11 → 1.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/esm2020/config/enums/index.mjs +1 -1
- package/esm2020/config/providers/index.mjs +1 -1
- package/esm2020/config/public-api.mjs +1 -1
- package/esm2020/lib/components/kadooglu.component.mjs +1 -1
- package/esm2020/lib/hit-components/hit-carrier-person/hit-carrier-person-form/hit-carrier-person-form.component.mjs +4 -3
- package/esm2020/lib/hit-components/hit-entry-weighing/hit-entry-weighing-form/hit-entry-weighing-form.component.mjs +278 -109
- package/esm2020/lib/hit-components/hit-entry-weighing/hit-entry-weighing-list/hit-entry-weighing-list.component.mjs +40 -29
- package/esm2020/lib/hit-components/hit-factory-entry/hit-factory-entry-form/hit-factory-entry-form.component.mjs +266 -24
- package/esm2020/lib/hit-components/hit-knt-item-esl/hit-knt-item-esl-form/hit-knt-item-esl-form.component.mjs +4 -4
- package/esm2020/lib/hit-components/hit-vehicle-type/hit-vehicle-type-form/hit-vehicle-type-form.component.mjs +1 -1
- package/esm2020/lib/hit-proxy/hit-carrier-person/models.mjs +1 -1
- package/esm2020/lib/hit-proxy/hit-entry-weighing/hit-entry-weighing.service.mjs +2 -2
- package/esm2020/lib/hit-proxy/hit-entry-weighing/models.mjs +1 -1
- package/esm2020/lib/hit-proxy/hit-factory-entry/models.mjs +1 -1
- package/esm2020/lib/hit-proxy/hit-purchase-delivery-note/hit-purchase-delivery-note.service.mjs +4 -1
- package/esm2020/lib/hit-proxy/hit-purchase-delivery-note/models.mjs +1 -1
- package/esm2020/lib/hit-proxy/hit-stock-transfer/hit-stock-transfer.service.mjs +4 -1
- package/esm2020/lib/hit-proxy/hit-stock-transfer/models.mjs +1 -1
- package/esm2020/lib/services/kadooglu.service.mjs +1 -1
- package/esm2020/lib/services/scale-signalr.service.mjs +4 -1
- package/esm2020/lib/shared/hit-modal/hit-modal.component.mjs +68 -16
- package/fesm2015/hitsoft-abp.kadooglu.mjs +705 -218
- package/fesm2015/hitsoft-abp.kadooglu.mjs.map +1 -1
- package/fesm2020/hitsoft-abp.kadooglu.mjs +688 -210
- package/fesm2020/hitsoft-abp.kadooglu.mjs.map +1 -1
- package/lib/hit-components/hit-entry-weighing/hit-entry-weighing-form/hit-entry-weighing-form.component.d.ts +20 -7
- package/lib/hit-components/hit-entry-weighing/hit-entry-weighing-list/hit-entry-weighing-list.component.d.ts +8 -1
- package/lib/hit-components/hit-factory-entry/hit-factory-entry-form/hit-factory-entry-form.component.d.ts +24 -1
- package/lib/hit-proxy/hit-carrier-person/models.d.ts +2 -0
- package/lib/hit-proxy/hit-entry-weighing/models.d.ts +1 -0
- package/lib/hit-proxy/hit-factory-entry/models.d.ts +9 -4
- package/lib/hit-proxy/hit-purchase-delivery-note/hit-purchase-delivery-note.service.d.ts +1 -0
- package/lib/hit-proxy/hit-purchase-delivery-note/models.d.ts +6 -0
- package/lib/hit-proxy/hit-stock-transfer/hit-stock-transfer.service.d.ts +1 -0
- package/lib/hit-proxy/hit-stock-transfer/models.d.ts +2 -0
- package/lib/services/scale-signalr.service.d.ts +2 -0
- package/lib/shared/hit-modal/hit-modal.component.d.ts +25 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
# Kadooglu
|
|
2
|
-
|
|
3
|
-
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.0.4.
|
|
4
|
-
|
|
5
|
-
## Code scaffolding
|
|
6
|
-
|
|
7
|
-
Run `ng generate component component-name --project kadooglu` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project kadooglu`.
|
|
8
|
-
> Note: Don't forget to add `--project kadooglu` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
-
|
|
10
|
-
## Build
|
|
11
|
-
|
|
12
|
-
Run `ng build kadooglu` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
-
|
|
14
|
-
## Publishing
|
|
15
|
-
|
|
16
|
-
After building your library with `ng build kadooglu`, go to the dist folder `cd dist/kadooglu` and run `npm publish`.
|
|
17
|
-
|
|
18
|
-
## Running unit tests
|
|
19
|
-
|
|
20
|
-
Run `ng test kadooglu` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
-
|
|
22
|
-
## Further help
|
|
23
|
-
|
|
24
|
-
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
1
|
+
# Kadooglu
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.0.4.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project kadooglu` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project kadooglu`.
|
|
8
|
+
> Note: Don't forget to add `--project kadooglu` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
+
|
|
10
|
+
## Build
|
|
11
|
+
|
|
12
|
+
Run `ng build kadooglu` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
+
|
|
14
|
+
## Publishing
|
|
15
|
+
|
|
16
|
+
After building your library with `ng build kadooglu`, go to the dist folder `cd dist/kadooglu` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test kadooglu` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
+
|
|
22
|
+
## Further help
|
|
23
|
+
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './route-names';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS9jb25maWcvc3JjL2VudW1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yb3V0ZS1uYW1lcyc7XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './route.provider';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS9jb25maWcvc3JjL3Byb3ZpZGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yb3V0ZS5wcm92aWRlcic7XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export * from './enums';
|
|
2
2
|
export * from './kadooglu-config.module';
|
|
3
3
|
export * from './providers';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1L2NvbmZpZy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lbnVtcyc7XG5leHBvcnQgKiBmcm9tICcuL2thZG9vZ2x1LWNvbmZpZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMnO1xuIl19
|
|
@@ -15,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
15
15
|
type: Component,
|
|
16
16
|
args: [{ selector: 'lib-kadooglu', template: ` <p>kadooglu works!</p> ` }]
|
|
17
17
|
}], ctorParameters: function () { return [{ type: i1.KadoogluService }]; } });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Fkb29nbHUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUvc3JjL2xpYi9jb21wb25lbnRzL2thZG9vZ2x1LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7QUFRbEQsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUFvQixPQUF3QjtRQUF4QixZQUFPLEdBQVAsT0FBTyxDQUFpQjtJQUFHLENBQUM7SUFFaEQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxDQUFDOzs4R0FMVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixvREFIbEIsMEJBQTBCOzJGQUd6QixpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsY0FBYyxZQUNkLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLYWRvb2dsdVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9rYWRvb2dsdS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWthZG9vZ2x1JyxcbiAgdGVtcGxhdGU6IGAgPHA+a2Fkb29nbHUgd29ya3MhPC9wPiBgLFxuICBzdHlsZXM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBLYWRvb2dsdUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTogS2Fkb29nbHVTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2VydmljZS5zYW1wbGUoKS5zdWJzY3JpYmUoY29uc29sZS5sb2cpO1xuICB9XG59XG4iXX0=
|
|
@@ -43,7 +43,7 @@ export class HitCarrierPersonFormComponent {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
initForm() {
|
|
46
|
-
this.isTcCitizen = true;
|
|
46
|
+
this.isTcCitizen = this.record ? this.record.u_TcVtndsiMi !== 'N' : true;
|
|
47
47
|
if (this.record) {
|
|
48
48
|
this.code = this.record.code;
|
|
49
49
|
this.name = this.record.name;
|
|
@@ -100,6 +100,7 @@ export class HitCarrierPersonFormComponent {
|
|
|
100
100
|
u_Active: this.isActive ? 'Y' : 'N',
|
|
101
101
|
u_DefBP: this.u_DefBP,
|
|
102
102
|
u_CarrierFirm: this.u_CarrierFirm,
|
|
103
|
+
u_TcVtndsiMi: this.isTcCitizen ? 'Y' : 'N',
|
|
103
104
|
};
|
|
104
105
|
const obs$ = this.record?.code
|
|
105
106
|
? this.service.update(this.record.code, dto)
|
|
@@ -142,7 +143,7 @@ export class HitCarrierPersonFormComponent {
|
|
|
142
143
|
}
|
|
143
144
|
}
|
|
144
145
|
HitCarrierPersonFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCarrierPersonFormComponent, deps: [{ token: i1.HitCarrierPersonService }, { token: i2.ConfirmationService }, { token: i3.HitPlateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
145
|
-
HitCarrierPersonFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitCarrierPersonFormComponent, selector: "lib-hit-carrier-person-form", inputs: { visible: "visible", record: "record" }, outputs: { visibleChange: "visibleChange", saved: "saved", cancelled: "cancelled" }, usesOnChanges: true, ngImport: i0, template: "<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <!-- B\u00F6l\u00FCm 1: Kimlik Bilgileri -->\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-id-card me-2\"></i>{{ 'Kadooglu::IdentityInfo' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-12\">\r\n <div class=\"d-flex align-items-center gap-2 mb-1\">\r\n <label class=\"form-label mb-0 small fw-semibold text-muted\">\r\n {{ isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No' }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-check-box [(value)]=\"isTcCitizen\" text=\"T.C. Vatanda\u015F\u0131\"></dx-check-box>\r\n </div>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\"\r\n [placeholder]=\"isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No'\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::FirstName' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-text-box [(value)]=\"u_Firstname\" [placeholder]=\"'Kadooglu::FirstName' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::LastName' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-text-box [(value)]=\"u_Lastname\" [placeholder]=\"'Kadooglu::LastName' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- B\u00F6l\u00FCm 2: \u0130leti\u015Fim & Ara\u00E7 Bilgileri -->\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-truck me-2\"></i>{{ 'Kadooglu::ContactAndVehicleInfo' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Phone' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_Tel\" placeholder=\"Telefon numaras\u0131\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Plate' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [getFn]=\"plateData\"\r\n [columns]=\"plateColumns\"\r\n displayName=\"code\"\r\n keyExpr=\"code\"\r\n [editingData]=\"u_Plate\"\r\n (selected)=\"onPlateSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::CarrierFirm' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_CarrierFirm\" placeholder=\"Firma ad\u0131\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::DefaultBusinessPartner' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_DefBP\" placeholder=\"Varsay\u0131lan cari\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- B\u00F6l\u00FCm 3: Durum -->\r\n <div class=\"border rounded p-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n", dependencies: [{ kind: "component", type: i2.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i2.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "component", type: i4.HitModalComponent, selector: "hit-lookup-select", inputs: ["displayName", "keyExpr", "modalSize", "getFn", "loadFn", "columns", "isVisible", "disabled", "readOnly", "showDateFilter", "defaultDateFrom", "defaultDateTo", "editingData"], outputs: ["selected"] }, { kind: "component", type: i5.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i5.DxCheckBoxComponent, selector: "dx-check-box", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "enableThreeStateBehavior", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "iconSize", "isValid", "name", "readOnly", "rtlEnabled", "tabIndex", "text", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "enableThreeStateBehaviorChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconSizeChange", "isValidChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "tabIndexChange", "textChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "pipe", type: i6.LocalizationPipe, name: "abpLocalization" }] });
|
|
146
|
+
HitCarrierPersonFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitCarrierPersonFormComponent, selector: "lib-hit-carrier-person-form", inputs: { visible: "visible", record: "record" }, outputs: { visibleChange: "visibleChange", saved: "saved", cancelled: "cancelled" }, usesOnChanges: true, ngImport: i0, template: "<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <!-- B\u00F6l\u00FCm 1: Kimlik Bilgileri -->\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-id-card me-2\"></i>{{ 'Kadooglu::IdentityInfo' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-12\">\r\n <div class=\"d-flex align-items-center gap-2 mb-1\">\r\n <label class=\"form-label mb-0 small fw-semibold text-muted\">\r\n {{ isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No' }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-check-box [(value)]=\"isTcCitizen\" text=\"T.C. Vatanda\u015F\u0131\"></dx-check-box>\r\n </div>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\"\r\n [placeholder]=\"isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No'\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::FirstName' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-text-box [(value)]=\"u_Firstname\" [placeholder]=\"'Kadooglu::FirstName' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::LastName' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-text-box [(value)]=\"u_Lastname\" [placeholder]=\"'Kadooglu::LastName' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- B\u00F6l\u00FCm 2: \u0130leti\u015Fim & Ara\u00E7 Bilgileri -->\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-truck me-2\"></i>{{ 'Kadooglu::ContactAndVehicleInfo' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Phone' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_Tel\" placeholder=\"Telefon numaras\u0131\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Plate' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [getFn]=\"plateData\"\r\n [columns]=\"plateColumns\"\r\n displayName=\"code\"\r\n keyExpr=\"code\"\r\n [editingData]=\"u_Plate\"\r\n (selected)=\"onPlateSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::CarrierFirm' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_CarrierFirm\" placeholder=\"Firma ad\u0131\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::DefaultBusinessPartner' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_DefBP\" placeholder=\"Varsay\u0131lan cari\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- B\u00F6l\u00FCm 3: Durum -->\r\n <div class=\"border rounded p-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n", dependencies: [{ kind: "component", type: i2.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i2.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "component", type: i4.HitModalComponent, selector: "hit-lookup-select", inputs: ["displayName", "keyExpr", "modalSize", "getFn", "loadFn", "columns", "isVisible", "disabled", "readOnly", "showDateFilter", "defaultDateFrom", "defaultDateTo", "tabs", "editingData"], outputs: ["selected"] }, { kind: "component", type: i5.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i5.DxCheckBoxComponent, selector: "dx-check-box", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "enableThreeStateBehavior", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "iconSize", "isValid", "name", "readOnly", "rtlEnabled", "tabIndex", "text", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "enableThreeStateBehaviorChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconSizeChange", "isValidChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "tabIndexChange", "textChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "pipe", type: i6.LocalizationPipe, name: "abpLocalization" }] });
|
|
146
147
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCarrierPersonFormComponent, decorators: [{
|
|
147
148
|
type: Component,
|
|
148
149
|
args: [{ selector: 'lib-hit-carrier-person-form', template: "<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <!-- B\u00F6l\u00FCm 1: Kimlik Bilgileri -->\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-id-card me-2\"></i>{{ 'Kadooglu::IdentityInfo' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-12\">\r\n <div class=\"d-flex align-items-center gap-2 mb-1\">\r\n <label class=\"form-label mb-0 small fw-semibold text-muted\">\r\n {{ isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No' }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-check-box [(value)]=\"isTcCitizen\" text=\"T.C. Vatanda\u015F\u0131\"></dx-check-box>\r\n </div>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\"\r\n [placeholder]=\"isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No'\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::FirstName' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-text-box [(value)]=\"u_Firstname\" [placeholder]=\"'Kadooglu::FirstName' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::LastName' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-text-box [(value)]=\"u_Lastname\" [placeholder]=\"'Kadooglu::LastName' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- B\u00F6l\u00FCm 2: \u0130leti\u015Fim & Ara\u00E7 Bilgileri -->\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-truck me-2\"></i>{{ 'Kadooglu::ContactAndVehicleInfo' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Phone' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_Tel\" placeholder=\"Telefon numaras\u0131\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Plate' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [getFn]=\"plateData\"\r\n [columns]=\"plateColumns\"\r\n displayName=\"code\"\r\n keyExpr=\"code\"\r\n [editingData]=\"u_Plate\"\r\n (selected)=\"onPlateSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::CarrierFirm' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_CarrierFirm\" placeholder=\"Firma ad\u0131\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::DefaultBusinessPartner' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_DefBP\" placeholder=\"Varsay\u0131lan cari\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- B\u00F6l\u00FCm 3: Durum -->\r\n <div class=\"border rounded p-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n" }]
|
|
@@ -157,4 +158,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
157
158
|
}], cancelled: [{
|
|
158
159
|
type: Output
|
|
159
160
|
}] } });
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWNhcnJpZXItcGVyc29uLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUvc3JjL2xpYi9oaXQtY29tcG9uZW50cy9oaXQtY2Fycmllci1wZXJzb24vaGl0LWNhcnJpZXItcGVyc29uLWZvcm0vaGl0LWNhcnJpZXItcGVyc29uLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUvc3JjL2xpYi9oaXQtY29tcG9uZW50cy9oaXQtY2Fycmllci1wZXJzb24vaGl0LWNhcnJpZXItcGVyc29uLWZvcm0vaGl0LWNhcnJpZXItcGVyc29uLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFXdkIsTUFBTSxPQUFPLDZCQUE2QjtJQTBCeEMsWUFDVSxPQUFnQyxFQUNoQyxZQUFpQyxFQUNqQyxZQUE2QjtRQUY3QixZQUFPLEdBQVAsT0FBTyxDQUF5QjtRQUNoQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsaUJBQVksR0FBWixZQUFZLENBQWlCO1FBNUI5QixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2Ysa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzdDLFdBQU0sR0FBeUIsSUFBSSxDQUFDO1FBQ25DLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2pDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRS9DLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixZQUFP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LE1BQU07c0JBQWQsS0FBSztnQkFDSSxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xyXG5pbXBvcnQgeyBIaXRDYXJyaWVyUGVyc29uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2hpdC1wcm94eS9oaXQtY2Fycmllci1wZXJzb24vaGl0LWNhcnJpZXItcGVyc29uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYXJyaWVyUGVyc29uLCBTYXZlQ2FycmllclBlcnNvbkR0byB9IGZyb20gJy4uLy4uLy4uL2hpdC1wcm94eS9oaXQtY2Fycmllci1wZXJzb24vbW9kZWxzJztcclxuaW1wb3J0IHsgSGl0UGxhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vaGl0LXByb3h5L2hpdC1wbGF0ZS9oaXQtcGxhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFBsYXRlIH0gZnJvbSAnLi4vLi4vLi4vaGl0LXByb3h5L2hpdC1wbGF0ZS9tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItaGl0LWNhcnJpZXItcGVyc29uLWZvcm0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9oaXQtY2Fycmllci1wZXJzb24tZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIaXRDYXJyaWVyUGVyc29uRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSB2aXNpYmxlID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQElucHV0KCkgcmVjb3JkOiBDYXJyaWVyUGVyc29uIHwgbnVsbCA9IG51bGw7XHJcbiAgQE91dHB1dCgpIHNhdmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBPdXRwdXQoKSBjYW5jZWxsZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIGNvZGUgPSAnJztcclxuICBuYW1lID0gJyc7XHJcbiAgdV9GaXJzdG5hbWUgPSAnJztcclxuICB1X0xhc3RuYW1lID0gJyc7XHJcbiAgdV9QbGF0ZSA9ICcnO1xyXG4gIHVfVGVsID0gJyc7XHJcbiAgaXNBY3RpdmUgPSBmYWxzZTtcclxuICB1X0RlZkJQID0gJyc7XHJcbiAgdV9DYXJyaWVyRmlybSA9ICcnO1xyXG4gIGlzVGNDaXRpemVuID0gdHJ1ZTtcclxuICBpc0xvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgcGxhdGVEYXRhOiBQbGF0ZVtdID0gW107XHJcbiAgcGxhdGVDb2x1bW5zID0gW1xyXG4gICAgeyBkYXRhRmllbGQ6ICdjb2RlJywgY2FwdGlvbjogJ1BsYWthJywgd2lkdGg6IDEyMCB9LFxyXG4gICAgeyBkYXRhRmllbGQ6ICduYW1lJywgY2FwdGlvbjogJ0HDp8Sxa2xhbWEnIH0sXHJcbiAgICB7IGRhdGFGaWVsZDogJ3VfTW9kZWwnLCBjYXB0aW9uOiAnTW9kZWwnIH0sXHJcbiAgXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IEhpdENhcnJpZXJQZXJzb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb25maXJtYXRpb246IENvbmZpcm1hdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHBsYXRlU2VydmljZTogSGl0UGxhdGVTZXJ2aWNlLFxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBsYXRlU2VydmljZS5nZXRMaXN0KCkuc3Vic2NyaWJlKGQgPT4gKHRoaXMucGxhdGVEYXRhID0gZCkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ3Zpc2libGUnXT8uY3VycmVudFZhbHVlID09PSB0cnVlKSB7XHJcbiAgICAgIHRoaXMuaW5pdEZvcm0oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdEZvcm0oKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzVGNDaXRpemVuID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLnJlY29yZCkge1xyXG4gICAgICB0aGlzLmNvZGUgPSB0aGlzLnJlY29yZC5jb2RlO1xyXG4gICAgICB0aGlzLm5hbWUgPSB0aGlzLnJlY29yZC5uYW1lO1xyXG4gICAgICB0aGlzLnVfRmlyc3RuYW1lID0gdGhpcy5yZWNvcmQudV9GaXJzdG5hbWUgPz8gJyc7XHJcbiAgICAgIHRoaXMudV9MYXN0bmFtZSA9IHRoaXMucmVjb3JkLnVfTGFzdG5hbWUgPz8gJyc7XHJcbiAgICAgIHRoaXMudV9QbGF0ZSA9IHRoaXMucmVjb3JkLnVfUGxhdGUgPz8gJyc7XHJcbiAgICAgIHRoaXMudV9UZWwgPSB0aGlzLnJlY29yZC51X1RlbCA/PyAnJztcclxuICAgICAgdGhpcy5pc0FjdGl2ZSA9IHRoaXMucmVjb3JkLnVfQWN0aXZlID09PSAnWSc7XHJcbiAgICAgIHRoaXMudV9EZWZCUCA9IHRoaXMucmVjb3JkLnVfRGVmQlAgPz8gJyc7XHJcbiAgICAgIHRoaXMudV9DYXJyaWVyRmlybSA9IHRoaXMucmVjb3JkLnVfQ2FycmllckZpcm0gPz8gJyc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNvZGUgPSAnJztcclxuICAgICAgdGhpcy5uYW1lID0gJyc7XHJcbiAgICAgIHRoaXMudV9GaXJzdG5hbWUgPSAnJztcclxuICAgICAgdGhpcy51X0xhc3RuYW1lID0gJyc7XHJcbiAgICAgIHRoaXMudV9QbGF0ZSA9ICcnO1xyXG4gICAgICB0aGlzLnVfVGVsID0gJyc7XHJcbiAgICAgIHRoaXMuaXNBY3RpdmUgPSB0cnVlO1xyXG4gICAgICB0aGlzLnVfRGVmQlAgPSAnJztcclxuICAgICAgdGhpcy51X0NhcnJpZXJGaXJtID0gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblBsYXRlU2VsZWN0ZWQoZTogUGxhdGUpOiB2b2lkIHtcclxuICAgIGlmICghZSkgcmV0dXJuO1xyXG4gICAgdGhpcy51X1BsYXRlID0gZS5jb2RlO1xyXG4gIH1cclxuXHJcbiAgc2F2ZSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGZ1bGxOYW1lID0gW3RoaXMudV9GaXJzdG5hbWUsIHRoaXMudV9MYXN0bmFtZV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKS50cmltKCk7XHJcblxyXG4gICAgaWYgKCF0aGlzLmNvZGUgfHwgIWZ1bGxOYW1lKSB7XHJcbiAgICAgIHRoaXMuY29uZmlybWF0aW9uLndhcm4oJ0zDvHRmZW4gVC5DLiBObywgQWQgdmUgU295YWQgYWxhbmxhcsSxbsSxIGRvbGR1cnVudXouJywgJycsIHtcclxuICAgICAgICBoaWRlWWVzQnRuOiB0cnVlLFxyXG4gICAgICAgIGNhbmNlbFRleHQ6ICdLYXBhdCcsXHJcbiAgICAgICAgZGlzbWlzc2libGU6IGZhbHNlLFxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzVGNDaXRpemVuICYmICF0aGlzLnJlY29yZD8uY29kZSAmJiAhdGhpcy52YWxpZGF0ZVRDS04odGhpcy5jb2RlKSkge1xyXG4gICAgICB0aGlzLmNvbmZpcm1hdGlvbi53YXJuKCdHZcOnZXJzaXogVC5DLiBLaW1saWsgTm8uIEzDvHRmZW4gMTEgaGFuZWxpLCBnZcOnZXJsaSBiaXIgVENLTiBnaXJpbml6LicsICcnLCB7XHJcbiAgICAgICAgaGlkZVllc0J0bjogdHJ1ZSxcclxuICAgICAgICBjYW5jZWxUZXh0OiAnS2FwYXQnLFxyXG4gICAgICAgIGRpc21pc3NpYmxlOiBmYWxzZSxcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBkdG86IFNhdmVDYXJyaWVyUGVyc29uRHRvID0ge1xyXG4gICAgICBjb2RlOiB0aGlzLmNvZGUsXHJcbiAgICAgIG5hbWU6IGZ1bGxOYW1lLFxyXG4gICAgICB1X0ZpcnN0bmFtZTogdGhpcy51X0ZpcnN0bmFtZSxcclxuICAgICAgdV9MYXN0bmFtZTogdGhpcy51X0xhc3RuYW1lLFxyXG4gICAgICB1X1BsYXRlOiB0aGlzLnVfUGxhdGUsXHJcbiAgICAgIHVfVGVsOiB0aGlzLnVfVGVsLFxyXG4gICAgICB1X0FjdGl2ZTogdGhpcy5pc0FjdGl2ZSA/ICdZJyA6ICdOJyxcclxuICAgICAgdV9EZWZCUDogdGhpcy51X0RlZkJQLFxyXG4gICAgICB1X0NhcnJpZXJGaXJtOiB0aGlzLnVfQ2FycmllckZpcm0sXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IG9icyQgPSB0aGlzLnJlY29yZD8uY29kZVxyXG4gICAgICA/IHRoaXMuc2VydmljZS51cGRhdGUodGhpcy5yZWNvcmQuY29kZSwgZHRvKVxyXG4gICAgICA6IHRoaXMuc2VydmljZS5jcmVhdGUoZHRvKTtcclxuXHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICBvYnMkLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6ICgpID0+IHtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2F2ZWQuZW1pdCgpO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uTW9kYWxWaXNpYmxlQ2hhbmdlKHZhbDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy52aXNpYmxlID0gdmFsO1xyXG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsKTtcclxuICAgIGlmICghdmFsKSB7XHJcbiAgICAgIHRoaXMuY2FuY2VsbGVkLmVtaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNhbmNlbCgpOiB2b2lkIHtcclxuICAgIHRoaXMub25Nb2RhbFZpc2libGVDaGFuZ2UoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB2YWxpZGF0ZVRDS04odmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgdGMgPSB2YWx1ZT8udHJpbSgpO1xyXG4gICAgaWYgKCF0YyB8fCB0Yy5sZW5ndGggIT09IDExKSByZXR1cm4gZmFsc2U7XHJcbiAgICBpZiAoIS9eXFxkezExfSQvLnRlc3QodGMpKSByZXR1cm4gZmFsc2U7XHJcbiAgICBpZiAodGNbMF0gPT09ICcwJykgcmV0dXJuIGZhbHNlO1xyXG4gICAgY29uc3QgZCA9IHRjLnNwbGl0KCcnKS5tYXAoTnVtYmVyKTtcclxuICAgIGNvbnN0IGQxMCA9ICgoZFswXSArIGRbMl0gKyBkWzRdICsgZFs2XSArIGRbOF0pICogNyAtIChkWzFdICsgZFszXSArIGRbNV0gKyBkWzddKSkgJSAxMDtcclxuICAgIGlmIChkMTAgIT09IGRbOV0pIHJldHVybiBmYWxzZTtcclxuICAgIGNvbnN0IGQxMSA9IGQuc2xpY2UoMCwgMTApLnJlZHVjZSgoYSwgYikgPT4gYSArIGIsIDApICUgMTA7XHJcbiAgICByZXR1cm4gZDExID09PSBkWzEwXTtcclxuICB9XHJcbn1cclxuIiwiPGFicC1tb2RhbCBbdmlzaWJsZV09XCJ2aXNpYmxlXCIgKHZpc2libGVDaGFuZ2UpPVwib25Nb2RhbFZpc2libGVDaGFuZ2UoJGV2ZW50KVwiIFtvcHRpb25zXT1cInsgc2l6ZTogJ2xnJywgYmFja2Ryb3A6ICdzdGF0aWMnIH1cIj5cclxuICA8bmctdGVtcGxhdGUgI2FicEhlYWRlcj5cclxuICAgIDxoMz57eyByZWNvcmQ/LmNvZGUgPyAoJ0FicFVpOjpFZGl0JyB8IGFicExvY2FsaXphdGlvbikgOiAoJ0thZG9vZ2x1OjpOZXdSZWNvcmQnIHwgYWJwTG9jYWxpemF0aW9uKSB9fTwvaDM+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNhYnBCb2R5PlxyXG4gICAgPCEtLSBCw7Zsw7xtIDE6IEtpbWxpayBCaWxnaWxlcmkgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyIHJvdW5kZWQgcC0zIG1iLTNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJvcmRlci1ib3R0b20gcGItMiBtYi0zIGZ3LWJvbGQgdGV4dC1zZWNvbmRhcnlcIj5cclxuICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWlkLWNhcmQgbWUtMlwiPjwvaT57eyAnS2Fkb29nbHU6OklkZW50aXR5SW5mbycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93IG1iLTNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiBtYi0xXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgbWItMCBzbWFsbCBmdy1zZW1pYm9sZCB0ZXh0LW11dGVkXCI+XHJcbiAgICAgICAgICAgICAge3sgaXNUY0NpdGl6ZW4gPyAoJ0thZG9vZ2x1OjpUY0lkZW50aXR5Tm8nIHwgYWJwTG9jYWxpemF0aW9uKSA6ICdLaW1saWsgTm8nIH19IDxzcGFuIGNsYXNzPVwidGV4dC1kYW5nZXJcIj4qPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8ZHgtY2hlY2stYm94IFsodmFsdWUpXT1cImlzVGNDaXRpemVuXCIgdGV4dD1cIlQuQy4gVmF0YW5kYcWfxLFcIj48L2R4LWNoZWNrLWJveD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGR4LXRleHQtYm94IFsodmFsdWUpXT1cImNvZGVcIiBbZGlzYWJsZWRdPVwiISFyZWNvcmQ/LmNvZGVcIlxyXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiaXNUY0NpdGl6ZW4gPyAoJ0thZG9vZ2x1OjpUY0lkZW50aXR5Tm8nIHwgYWJwTG9jYWxpemF0aW9uKSA6ICdLaW1saWsgTm8nXCIgd2lkdGg9XCIxMDAlXCI+PC9keC10ZXh0LWJveD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsIG1iLTEgc21hbGwgZnctc2VtaWJvbGQgdGV4dC1tdXRlZFwiPlxyXG4gICAgICAgICAgICB7eyAnS2Fkb29nbHU6OkZpcnN0TmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX0gPHNwYW4gY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPio8L3NwYW4+XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgPGR4LXRleHQtYm94IFsodmFsdWUpXT1cInVfRmlyc3RuYW1lXCIgW3BsYWNlaG9sZGVyXT1cIidLYWRvb2dsdTo6Rmlyc3ROYW1lJyB8IGFicExvY2FsaXphdGlvblwiIHdpZHRoPVwiMTAwJVwiPjwvZHgtdGV4dC1ib3g+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsIG1iLTEgc21hbGwgZnctc2VtaWJvbGQgdGV4dC1tdXRlZFwiPlxyXG4gICAgICAgICAgICB7eyAnS2Fkb29nbHU6Okxhc3ROYW1lJyB8IGFicExvY2FsaXphdGlvbiB9fSA8c3BhbiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+Kjwvc3Bhbj5cclxuICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyh2YWx1ZSldPVwidV9MYXN0bmFtZVwiIFtwbGFjZWhvbGRlcl09XCInS2Fkb29nbHU6Okxhc3ROYW1lJyB8IGFicExvY2FsaXphdGlvblwiIHdpZHRoPVwiMTAwJVwiPjwvZHgtdGV4dC1ib3g+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPCEtLSBCw7Zsw7xtIDI6IMSwbGV0acWfaW0gJiBBcmHDpyBCaWxnaWxlcmkgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyIHJvdW5kZWQgcC0zIG1iLTNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJvcmRlci1ib3R0b20gcGItMiBtYi0zIGZ3LWJvbGQgdGV4dC1zZWNvbmRhcnlcIj5cclxuICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRydWNrIG1lLTJcIj48L2k+e3sgJ0thZG9vZ2x1OjpDb250YWN0QW5kVmVoaWNsZUluZm8nIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdyBtYi0zXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsIG1iLTEgc21hbGwgZnctc2VtaWJvbGQgdGV4dC1tdXRlZFwiPnt7ICdLYWRvb2dsdTo6UGhvbmUnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9sYWJlbD5cclxuICAgICAgICAgIDxkeC10ZXh0LWJveCBbKHZhbHVlKV09XCJ1X1RlbFwiIHBsYWNlaG9sZGVyPVwiVGVsZWZvbiBudW1hcmFzxLFcIiB3aWR0aD1cIjEwMCVcIj48L2R4LXRleHQtYm94PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBtYi0xIHNtYWxsIGZ3LXNlbWlib2xkIHRleHQtbXV0ZWRcIj57eyAnS2Fkb29nbHU6OlBsYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fTwvbGFiZWw+XHJcbiAgICAgICAgICA8aGl0LWxvb2t1cC1zZWxlY3RcclxuICAgICAgICAgICAgW2dldEZuXT1cInBsYXRlRGF0YVwiXHJcbiAgICAgICAgICAgIFtjb2x1bW5zXT1cInBsYXRlQ29sdW1uc1wiXHJcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lPVwiY29kZVwiXHJcbiAgICAgICAgICAgIGtleUV4cHI9XCJjb2RlXCJcclxuICAgICAgICAgICAgW2VkaXRpbmdEYXRhXT1cInVfUGxhdGVcIlxyXG4gICAgICAgICAgICAoc2VsZWN0ZWQpPVwib25QbGF0ZVNlbGVjdGVkKCRldmVudClcIj5cclxuICAgICAgICAgIDwvaGl0LWxvb2t1cC1zZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBtYi0xIHNtYWxsIGZ3LXNlbWlib2xkIHRleHQtbXV0ZWRcIj57eyAnS2Fkb29nbHU6OkNhcnJpZXJGaXJtJyB8IGFicExvY2FsaXphdGlvbiB9fTwvbGFiZWw+XHJcbiAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyh2YWx1ZSldPVwidV9DYXJyaWVyRmlybVwiIHBsYWNlaG9sZGVyPVwiRmlybWEgYWTEsVwiIHdpZHRoPVwiMTAwJVwiPjwvZHgtdGV4dC1ib3g+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsIG1iLTEgc21hbGwgZnctc2VtaWJvbGQgdGV4dC1tdXRlZFwiPnt7ICdLYWRvb2dsdTo6RGVmYXVsdEJ1c2luZXNzUGFydG5lcicgfCBhYnBMb2NhbGl6YXRpb24gfX08L2xhYmVsPlxyXG4gICAgICAgICAgPGR4LXRleHQtYm94IFsodmFsdWUpXT1cInVfRGVmQlBcIiBwbGFjZWhvbGRlcj1cIlZhcnNhecSxbGFuIGNhcmlcIiB3aWR0aD1cIjEwMCVcIj48L2R4LXRleHQtYm94PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDwhLS0gQsO2bMO8bSAzOiBEdXJ1bSAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJib3JkZXIgcm91bmRlZCBwLTNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJvcmRlci1ib3R0b20gcGItMiBtYi0zIGZ3LWJvbGQgdGV4dC1zZWNvbmRhcnlcIj5cclxuICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRvZ2dsZS1vbiBtZS0yXCI+PC9pPnt7ICdLYWRvb2dsdTo6U3RhdHVzJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGR4LWNoZWNrLWJveCBbKHZhbHVlKV09XCJpc0FjdGl2ZVwiIFt0ZXh0XT1cIidLYWRvb2dsdTo6SXNBY3RpdmUnIHwgYWJwTG9jYWxpemF0aW9uXCI+PC9keC1jaGVjay1ib3g+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiAoY2xpY2spPVwiY2FuY2VsKClcIj5cclxuICAgICAge3sgJ0FicFVpOjpDYW5jZWwnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxhYnAtYnV0dG9uIGljb25DbGFzcz1cImZhIGZhLXNhdmVcIiBidXR0b25UeXBlPVwiYnV0dG9uXCIgW2xvYWRpbmddPVwiaXNMb2FkaW5nXCIgKGNsaWNrKT1cInNhdmUoKVwiPlxyXG4gICAgICB7eyAnQWJwVWk6OlNhdmUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2FicC1idXR0b24+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9hYnAtbW9kYWw+XHJcbiJdfQ==
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWNhcnJpZXItcGVyc29uLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUvc3JjL2xpYi9oaXQtY29tcG9uZW50cy9oaXQtY2Fycmllci1wZXJzb24vaGl0LWNhcnJpZXItcGVyc29uLWZvcm0vaGl0LWNhcnJpZXItcGVyc29uLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUvc3JjL2xpYi9oaXQtY29tcG9uZW50cy9oaXQtY2Fycmllci1wZXJzb24vaGl0LWNhcnJpZXItcGVyc29uLWZvcm0vaGl0LWNhcnJpZXItcGVyc29uLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFXdkIsTUFBTSxPQUFPLDZCQUE2QjtJQTBCeEMsWUFDVSxPQUFnQyxFQUNoQyxZQUFpQyxFQUNqQyxZQUE2QjtRQUY3QixZQUFPLEdBQVAsT0FBTyxDQUF5QjtRQUNoQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsaUJBQVksR0FBWixZQUFZLENBQWlCO1FBNUI5QixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2Ysa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzdDLFdBQU0sR0FBeUIsSUFBSSxDQUFDO1FBQ25DLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2pDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRS9DLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixZQUFP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Q0FBQztJQUN2QixDQUFDOzswSEFoSlUsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsK05DbkIxQyxzdUpBK0ZBOzJGRDVFYSw2QkFBNkI7a0JBSnpDLFNBQVM7K0JBQ0UsNkJBQTZCOzhLQUk5QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksS0FBSztzQkFBZCxNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgSGl0Q2FycmllclBlcnNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9oaXQtcHJveHkvaGl0LWNhcnJpZXItcGVyc29uL2hpdC1jYXJyaWVyLXBlcnNvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2FycmllclBlcnNvbiwgU2F2ZUNhcnJpZXJQZXJzb25EdG8gfSBmcm9tICcuLi8uLi8uLi9oaXQtcHJveHkvaGl0LWNhcnJpZXItcGVyc29uL21vZGVscyc7XHJcbmltcG9ydCB7IEhpdFBsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2hpdC1wcm94eS9oaXQtcGxhdGUvaGl0LXBsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQbGF0ZSB9IGZyb20gJy4uLy4uLy4uL2hpdC1wcm94eS9oaXQtcGxhdGUvbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWhpdC1jYXJyaWVyLXBlcnNvbi1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGl0LWNhcnJpZXItcGVyc29uLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGl0Q2FycmllclBlcnNvbkZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgdmlzaWJsZSA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBJbnB1dCgpIHJlY29yZDogQ2FycmllclBlcnNvbiB8IG51bGwgPSBudWxsO1xyXG4gIEBPdXRwdXQoKSBzYXZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBAT3V0cHV0KCkgY2FuY2VsbGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBjb2RlID0gJyc7XHJcbiAgbmFtZSA9ICcnO1xyXG4gIHVfRmlyc3RuYW1lID0gJyc7XHJcbiAgdV9MYXN0bmFtZSA9ICcnO1xyXG4gIHVfUGxhdGUgPSAnJztcclxuICB1X1RlbCA9ICcnO1xyXG4gIGlzQWN0aXZlID0gZmFsc2U7XHJcbiAgdV9EZWZCUCA9ICcnO1xyXG4gIHVfQ2FycmllckZpcm0gPSAnJztcclxuICBpc1RjQ2l0aXplbiA9IHRydWU7XHJcbiAgaXNMb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gIHBsYXRlRGF0YTogUGxhdGVbXSA9IFtdO1xyXG4gIHBsYXRlQ29sdW1ucyA9IFtcclxuICAgIHsgZGF0YUZpZWxkOiAnY29kZScsIGNhcHRpb246ICdQbGFrYScsIHdpZHRoOiAxMjAgfSxcclxuICAgIHsgZGF0YUZpZWxkOiAnbmFtZScsIGNhcHRpb246ICdBw6fEsWtsYW1hJyB9LFxyXG4gICAgeyBkYXRhRmllbGQ6ICd1X01vZGVsJywgY2FwdGlvbjogJ01vZGVsJyB9LFxyXG4gIF07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBIaXRDYXJyaWVyUGVyc29uU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlybWF0aW9uOiBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBwbGF0ZVNlcnZpY2U6IEhpdFBsYXRlU2VydmljZSxcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5wbGF0ZVNlcnZpY2UuZ2V0TGlzdCgpLnN1YnNjcmliZShkID0+ICh0aGlzLnBsYXRlRGF0YSA9IGQpKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWyd2aXNpYmxlJ10/LmN1cnJlbnRWYWx1ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLmluaXRGb3JtKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRGb3JtKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc1RjQ2l0aXplbiA9IHRoaXMucmVjb3JkID8gdGhpcy5yZWNvcmQudV9UY1Z0bmRzaU1pICE9PSAnTicgOiB0cnVlO1xyXG4gICAgaWYgKHRoaXMucmVjb3JkKSB7XHJcbiAgICAgIHRoaXMuY29kZSA9IHRoaXMucmVjb3JkLmNvZGU7XHJcbiAgICAgIHRoaXMubmFtZSA9IHRoaXMucmVjb3JkLm5hbWU7XHJcbiAgICAgIHRoaXMudV9GaXJzdG5hbWUgPSB0aGlzLnJlY29yZC51X0ZpcnN0bmFtZSA/PyAnJztcclxuICAgICAgdGhpcy51X0xhc3RuYW1lID0gdGhpcy5yZWNvcmQudV9MYXN0bmFtZSA/PyAnJztcclxuICAgICAgdGhpcy51X1BsYXRlID0gdGhpcy5yZWNvcmQudV9QbGF0ZSA/PyAnJztcclxuICAgICAgdGhpcy51X1RlbCA9IHRoaXMucmVjb3JkLnVfVGVsID8/ICcnO1xyXG4gICAgICB0aGlzLmlzQWN0aXZlID0gdGhpcy5yZWNvcmQudV9BY3RpdmUgPT09ICdZJztcclxuICAgICAgdGhpcy51X0RlZkJQID0gdGhpcy5yZWNvcmQudV9EZWZCUCA/PyAnJztcclxuICAgICAgdGhpcy51X0NhcnJpZXJGaXJtID0gdGhpcy5yZWNvcmQudV9DYXJyaWVyRmlybSA/PyAnJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY29kZSA9ICcnO1xyXG4gICAgICB0aGlzLm5hbWUgPSAnJztcclxuICAgICAgdGhpcy51X0ZpcnN0bmFtZSA9ICcnO1xyXG4gICAgICB0aGlzLnVfTGFzdG5hbWUgPSAnJztcclxuICAgICAgdGhpcy51X1BsYXRlID0gJyc7XHJcbiAgICAgIHRoaXMudV9UZWwgPSAnJztcclxuICAgICAgdGhpcy5pc0FjdGl2ZSA9IHRydWU7XHJcbiAgICAgIHRoaXMudV9EZWZCUCA9ICcnO1xyXG4gICAgICB0aGlzLnVfQ2FycmllckZpcm0gPSAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uUGxhdGVTZWxlY3RlZChlOiBQbGF0ZSk6IHZvaWQge1xyXG4gICAgaWYgKCFlKSByZXR1cm47XHJcbiAgICB0aGlzLnVfUGxhdGUgPSBlLmNvZGU7XHJcbiAgfVxyXG5cclxuICBzYXZlKCk6IHZvaWQge1xyXG4gICAgY29uc3QgZnVsbE5hbWUgPSBbdGhpcy51X0ZpcnN0bmFtZSwgdGhpcy51X0xhc3RuYW1lXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpLnRyaW0oKTtcclxuXHJcbiAgICBpZiAoIXRoaXMuY29kZSB8fCAhZnVsbE5hbWUpIHtcclxuICAgICAgdGhpcy5jb25maXJtYXRpb24ud2FybignTMO8dGZlbiBULkMuIE5vLCBBZCB2ZSBTb3lhZCBhbGFubGFyxLFuxLEgZG9sZHVydW51ei4nLCAnJywge1xyXG4gICAgICAgIGhpZGVZZXNCdG46IHRydWUsXHJcbiAgICAgICAgY2FuY2VsVGV4dDogJ0thcGF0JyxcclxuICAgICAgICBkaXNtaXNzaWJsZTogZmFsc2UsXHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaXNUY0NpdGl6ZW4gJiYgIXRoaXMucmVjb3JkPy5jb2RlICYmICF0aGlzLnZhbGlkYXRlVENLTih0aGlzLmNvZGUpKSB7XHJcbiAgICAgIHRoaXMuY29uZmlybWF0aW9uLndhcm4oJ0dlw6dlcnNpeiBULkMuIEtpbWxpayBOby4gTMO8dGZlbiAxMSBoYW5lbGksIGdlw6dlcmxpIGJpciBUQ0tOIGdpcmluaXouJywgJycsIHtcclxuICAgICAgICBoaWRlWWVzQnRuOiB0cnVlLFxyXG4gICAgICAgIGNhbmNlbFRleHQ6ICdLYXBhdCcsXHJcbiAgICAgICAgZGlzbWlzc2libGU6IGZhbHNlLFxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGR0bzogU2F2ZUNhcnJpZXJQZXJzb25EdG8gPSB7XHJcbiAgICAgIGNvZGU6IHRoaXMuY29kZSxcclxuICAgICAgbmFtZTogZnVsbE5hbWUsXHJcbiAgICAgIHVfRmlyc3RuYW1lOiB0aGlzLnVfRmlyc3RuYW1lLFxyXG4gICAgICB1X0xhc3RuYW1lOiB0aGlzLnVfTGFzdG5hbWUsXHJcbiAgICAgIHVfUGxhdGU6IHRoaXMudV9QbGF0ZSxcclxuICAgICAgdV9UZWw6IHRoaXMudV9UZWwsXHJcbiAgICAgIHVfQWN0aXZlOiB0aGlzLmlzQWN0aXZlID8gJ1knIDogJ04nLFxyXG4gICAgICB1X0RlZkJQOiB0aGlzLnVfRGVmQlAsXHJcbiAgICAgIHVfQ2FycmllckZpcm06IHRoaXMudV9DYXJyaWVyRmlybSxcclxuICAgICAgdV9UY1Z0bmRzaU1pOiB0aGlzLmlzVGNDaXRpemVuID8gJ1knIDogJ04nLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBvYnMkID0gdGhpcy5yZWNvcmQ/LmNvZGVcclxuICAgICAgPyB0aGlzLnNlcnZpY2UudXBkYXRlKHRoaXMucmVjb3JkLmNvZGUsIGR0bylcclxuICAgICAgOiB0aGlzLnNlcnZpY2UuY3JlYXRlKGR0byk7XHJcblxyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgb2JzJC5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNhdmVkLmVtaXQoKTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6ICgpID0+IHtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbk1vZGFsVmlzaWJsZUNoYW5nZSh2YWw6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMudmlzaWJsZSA9IHZhbDtcclxuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbCk7XHJcbiAgICBpZiAoIXZhbCkge1xyXG4gICAgICB0aGlzLmNhbmNlbGxlZC5lbWl0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjYW5jZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uTW9kYWxWaXNpYmxlQ2hhbmdlKGZhbHNlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdmFsaWRhdGVUQ0tOKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHRjID0gdmFsdWU/LnRyaW0oKTtcclxuICAgIGlmICghdGMgfHwgdGMubGVuZ3RoICE9PSAxMSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgaWYgKCEvXlxcZHsxMX0kLy50ZXN0KHRjKSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgaWYgKHRjWzBdID09PSAnMCcpIHJldHVybiBmYWxzZTtcclxuICAgIGNvbnN0IGQgPSB0Yy5zcGxpdCgnJykubWFwKE51bWJlcik7XHJcbiAgICBjb25zdCBkMTAgPSAoKGRbMF0gKyBkWzJdICsgZFs0XSArIGRbNl0gKyBkWzhdKSAqIDcgLSAoZFsxXSArIGRbM10gKyBkWzVdICsgZFs3XSkpICUgMTA7XHJcbiAgICBpZiAoZDEwICE9PSBkWzldKSByZXR1cm4gZmFsc2U7XHJcbiAgICBjb25zdCBkMTEgPSBkLnNsaWNlKDAsIDEwKS5yZWR1Y2UoKGEsIGIpID0+IGEgKyBiLCAwKSAlIDEwO1xyXG4gICAgcmV0dXJuIGQxMSA9PT0gZFsxMF07XHJcbiAgfVxyXG59XHJcbiIsIjxhYnAtbW9kYWwgW3Zpc2libGVdPVwidmlzaWJsZVwiICh2aXNpYmxlQ2hhbmdlKT1cIm9uTW9kYWxWaXNpYmxlQ2hhbmdlKCRldmVudClcIiBbb3B0aW9uc109XCJ7IHNpemU6ICdsZycsIGJhY2tkcm9wOiAnc3RhdGljJyB9XCI+XHJcbiAgPG5nLXRlbXBsYXRlICNhYnBIZWFkZXI+XHJcbiAgICA8aDM+e3sgcmVjb3JkPy5jb2RlID8gKCdBYnBVaTo6RWRpdCcgfCBhYnBMb2NhbGl6YXRpb24pIDogKCdLYWRvb2dsdTo6TmV3UmVjb3JkJyB8IGFicExvY2FsaXphdGlvbikgfX08L2gzPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwQm9keT5cclxuICAgIDwhLS0gQsO2bMO8bSAxOiBLaW1saWsgQmlsZ2lsZXJpIC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImJvcmRlciByb3VuZGVkIHAtMyBtYi0zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXItYm90dG9tIHBiLTIgbWItMyBmdy1ib2xkIHRleHQtc2Vjb25kYXJ5XCI+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1pZC1jYXJkIG1lLTJcIj48L2k+e3sgJ0thZG9vZ2x1OjpJZGVudGl0eUluZm8nIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdyBtYi0zXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgbWItMVwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsIG1iLTAgc21hbGwgZnctc2VtaWJvbGQgdGV4dC1tdXRlZFwiPlxyXG4gICAgICAgICAgICAgIHt7IGlzVGNDaXRpemVuID8gKCdLYWRvb2dsdTo6VGNJZGVudGl0eU5vJyB8IGFicExvY2FsaXphdGlvbikgOiAnS2ltbGlrIE5vJyB9fSA8c3BhbiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+Kjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgPGR4LWNoZWNrLWJveCBbKHZhbHVlKV09XCJpc1RjQ2l0aXplblwiIHRleHQ9XCJULkMuIFZhdGFuZGHFn8SxXCI+PC9keC1jaGVjay1ib3g+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkeC10ZXh0LWJveCBbKHZhbHVlKV09XCJjb2RlXCIgW2Rpc2FibGVkXT1cIiEhcmVjb3JkPy5jb2RlXCJcclxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImlzVGNDaXRpemVuID8gKCdLYWRvb2dsdTo6VGNJZGVudGl0eU5vJyB8IGFicExvY2FsaXphdGlvbikgOiAnS2ltbGlrIE5vJ1wiIHdpZHRoPVwiMTAwJVwiPjwvZHgtdGV4dC1ib3g+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBtYi0xIHNtYWxsIGZ3LXNlbWlib2xkIHRleHQtbXV0ZWRcIj5cclxuICAgICAgICAgICAge3sgJ0thZG9vZ2x1OjpGaXJzdE5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19IDxzcGFuIGNsYXNzPVwidGV4dC1kYW5nZXJcIj4qPC9zcGFuPlxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgIDxkeC10ZXh0LWJveCBbKHZhbHVlKV09XCJ1X0ZpcnN0bmFtZVwiIFtwbGFjZWhvbGRlcl09XCInS2Fkb29nbHU6OkZpcnN0TmFtZScgfCBhYnBMb2NhbGl6YXRpb25cIiB3aWR0aD1cIjEwMCVcIj48L2R4LXRleHQtYm94PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBtYi0xIHNtYWxsIGZ3LXNlbWlib2xkIHRleHQtbXV0ZWRcIj5cclxuICAgICAgICAgICAge3sgJ0thZG9vZ2x1OjpMYXN0TmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX0gPHNwYW4gY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPio8L3NwYW4+XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgPGR4LXRleHQtYm94IFsodmFsdWUpXT1cInVfTGFzdG5hbWVcIiBbcGxhY2Vob2xkZXJdPVwiJ0thZG9vZ2x1OjpMYXN0TmFtZScgfCBhYnBMb2NhbGl6YXRpb25cIiB3aWR0aD1cIjEwMCVcIj48L2R4LXRleHQtYm94PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDwhLS0gQsO2bMO8bSAyOiDEsGxldGnFn2ltICYgQXJhw6cgQmlsZ2lsZXJpIC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImJvcmRlciByb3VuZGVkIHAtMyBtYi0zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXItYm90dG9tIHBiLTIgbWItMyBmdy1ib2xkIHRleHQtc2Vjb25kYXJ5XCI+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10cnVjayBtZS0yXCI+PC9pPnt7ICdLYWRvb2dsdTo6Q29udGFjdEFuZFZlaGljbGVJbmZvJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbWItM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBtYi0xIHNtYWxsIGZ3LXNlbWlib2xkIHRleHQtbXV0ZWRcIj57eyAnS2Fkb29nbHU6OlBob25lJyB8IGFicExvY2FsaXphdGlvbiB9fTwvbGFiZWw+XHJcbiAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyh2YWx1ZSldPVwidV9UZWxcIiBwbGFjZWhvbGRlcj1cIlRlbGVmb24gbnVtYXJhc8SxXCIgd2lkdGg9XCIxMDAlXCI+PC9keC10ZXh0LWJveD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgbWItMSBzbWFsbCBmdy1zZW1pYm9sZCB0ZXh0LW11dGVkXCI+e3sgJ0thZG9vZ2x1OjpQbGF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX08L2xhYmVsPlxyXG4gICAgICAgICAgPGhpdC1sb29rdXAtc2VsZWN0XHJcbiAgICAgICAgICAgIFtnZXRGbl09XCJwbGF0ZURhdGFcIlxyXG4gICAgICAgICAgICBbY29sdW1uc109XCJwbGF0ZUNvbHVtbnNcIlxyXG4gICAgICAgICAgICBkaXNwbGF5TmFtZT1cImNvZGVcIlxyXG4gICAgICAgICAgICBrZXlFeHByPVwiY29kZVwiXHJcbiAgICAgICAgICAgIFtlZGl0aW5nRGF0YV09XCJ1X1BsYXRlXCJcclxuICAgICAgICAgICAgKHNlbGVjdGVkKT1cIm9uUGxhdGVTZWxlY3RlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8L2hpdC1sb29rdXAtc2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgbWItMSBzbWFsbCBmdy1zZW1pYm9sZCB0ZXh0LW11dGVkXCI+e3sgJ0thZG9vZ2x1OjpDYXJyaWVyRmlybScgfCBhYnBMb2NhbGl6YXRpb24gfX08L2xhYmVsPlxyXG4gICAgICAgICAgPGR4LXRleHQtYm94IFsodmFsdWUpXT1cInVfQ2FycmllckZpcm1cIiBwbGFjZWhvbGRlcj1cIkZpcm1hIGFkxLFcIiB3aWR0aD1cIjEwMCVcIj48L2R4LXRleHQtYm94PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBtYi0xIHNtYWxsIGZ3LXNlbWlib2xkIHRleHQtbXV0ZWRcIj57eyAnS2Fkb29nbHU6OkRlZmF1bHRCdXNpbmVzc1BhcnRuZXInIHwgYWJwTG9jYWxpemF0aW9uIH19PC9sYWJlbD5cclxuICAgICAgICAgIDxkeC10ZXh0LWJveCBbKHZhbHVlKV09XCJ1X0RlZkJQXCIgcGxhY2Vob2xkZXI9XCJWYXJzYXnEsWxhbiBjYXJpXCIgd2lkdGg9XCIxMDAlXCI+PC9keC10ZXh0LWJveD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tIELDtmzDvG0gMzogRHVydW0gLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyIHJvdW5kZWQgcC0zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXItYm90dG9tIHBiLTIgbWItMyBmdy1ib2xkIHRleHQtc2Vjb25kYXJ5XCI+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10b2dnbGUtb24gbWUtMlwiPjwvaT57eyAnS2Fkb29nbHU6OlN0YXR1cycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkeC1jaGVjay1ib3ggWyh2YWx1ZSldPVwiaXNBY3RpdmVcIiBbdGV4dF09XCInS2Fkb29nbHU6OklzQWN0aXZlJyB8IGFicExvY2FsaXphdGlvblwiPjwvZHgtY2hlY2stYm94PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNhYnBGb290ZXI+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+XHJcbiAgICAgIHt7ICdBYnBVaTo6Q2FuY2VsJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8YWJwLWJ1dHRvbiBpY29uQ2xhc3M9XCJmYSBmYS1zYXZlXCIgYnV0dG9uVHlwZT1cImJ1dHRvblwiIFtsb2FkaW5nXT1cImlzTG9hZGluZ1wiIChjbGljayk9XCJzYXZlKClcIj5cclxuICAgICAge3sgJ0FicFVpOjpTYXZlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgPC9hYnAtYnV0dG9uPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvYWJwLW1vZGFsPlxyXG4iXX0=
|