@snabcentr/client-ui 4.16.0 → 4.18.0
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/auth/sign-up-form/sc-sign-up-form.component.d.ts +6 -0
- package/contragents/new-contragent-form/sc-new-contragent-form.component.d.ts +4 -0
- package/contragents/sc-contragents.module.d.ts +4 -3
- package/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.d.ts +13 -0
- package/directives/address-quality/sc-address-quality.directive.d.ts +23 -0
- package/directives/address-quality/sc-address-quality.service.d.ts +122 -0
- package/directives/address-quality/sc-i-address-quality-state.d.ts +14 -0
- package/directives/index.d.ts +2 -0
- package/esm2022/auth/sc-simple-sign-up-form/sc-simple-sign-up-form.component.mjs +1 -1
- package/esm2022/auth/sign-up-form/sc-sign-up-form.component.mjs +14 -4
- package/esm2022/catalog/notify-when-in-stock-dialog/sc-notify-when-in-stock-dialog.component.mjs +2 -2
- package/esm2022/contacts/new-contact-form/sc-new-contact-form.component.mjs +1 -1
- package/esm2022/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.mjs +1 -1
- package/esm2022/contragents/new-contragent-form/sc-new-contragent-form.component.mjs +26 -20
- package/esm2022/contragents/sc-contragents.module.mjs +4 -1
- package/esm2022/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.mjs +25 -4
- package/esm2022/directives/address-quality/sc-address-quality.directive.mjs +40 -0
- package/esm2022/directives/address-quality/sc-address-quality.service.mjs +214 -0
- package/esm2022/directives/address-quality/sc-i-address-quality-state.mjs +2 -0
- package/esm2022/directives/index.mjs +3 -1
- package/esm2022/feedback/feedback-form/sc-feedback-form.component.mjs +11 -21
- package/esm2022/form-fields/addresses-selection-field/sc-addresses-selection-field.component.mjs +4 -5
- package/esm2022/form-fields/suggestion-field/sc-suggestion-field.component.mjs +76 -16
- package/esm2022/providers/index.mjs +2 -2
- package/esm2022/providers/sc-block-incomplete-address.mjs +8 -0
- package/esm2022/public-api.mjs +2 -1
- package/esm2022/samples/sc-sample.module.mjs +3 -10
- package/esm2022/services/index.mjs +2 -1
- package/esm2022/services/sc-scripts.service.mjs +106 -0
- package/esm2022/smart-captcha/index.mjs +5 -0
- package/esm2022/smart-captcha/interfaces/index.mjs +6 -0
- package/esm2022/smart-captcha/interfaces/sc-smart-captcha-api.mjs +2 -0
- package/esm2022/smart-captcha/interfaces/sc-smart-captcha-event.mjs +2 -0
- package/esm2022/smart-captcha/interfaces/sc-smart-captcha-language.mjs +2 -0
- package/esm2022/smart-captcha/interfaces/sc-smart-captcha-render-params.mjs +2 -0
- package/esm2022/smart-captcha/interfaces/sc-smart-captcha-settings.mjs +2 -0
- package/esm2022/smart-captcha/interfaces/sc-smart-captcha-window.mjs +2 -0
- package/esm2022/smart-captcha/sc-smart-captcha.component.mjs +167 -0
- package/esm2022/smart-captcha/services/index.mjs +2 -0
- package/esm2022/smart-captcha/services/sc-smart-captcha-loader.service.mjs +87 -0
- package/esm2022/smart-captcha/tokens/index.mjs +3 -0
- package/esm2022/smart-captcha/tokens/sc-smart-captcha-load-timeout.token.mjs +8 -0
- package/esm2022/smart-captcha/tokens/sc-smart-captcha-settings.token.mjs +6 -0
- package/esm2022/user/update-user-info-dialog/sc-update-user-info-dialog.component.mjs +3 -3
- package/feedback/feedback-form/sc-feedback-form.component.d.ts +1 -1
- package/fesm2022/snabcentr-client-ui.mjs +758 -111
- package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
- package/form-fields/addresses-selection-field/sc-addresses-selection-field.component.d.ts +2 -0
- package/form-fields/suggestion-field/sc-suggestion-field.component.d.ts +36 -2
- package/package.json +2 -3
- package/providers/index.d.ts +1 -1
- package/providers/sc-block-incomplete-address.d.ts +5 -0
- package/public-api.d.ts +1 -0
- package/release_notes.tmp +3 -3
- package/samples/sc-sample.module.d.ts +1 -2
- package/services/index.d.ts +1 -0
- package/services/sc-scripts.service.d.ts +51 -0
- package/smart-captcha/index.d.ts +4 -0
- package/smart-captcha/interfaces/index.d.ts +5 -0
- package/smart-captcha/interfaces/sc-smart-captcha-api.d.ts +36 -0
- package/smart-captcha/interfaces/sc-smart-captcha-event.d.ts +4 -0
- package/smart-captcha/interfaces/sc-smart-captcha-language.d.ts +4 -0
- package/smart-captcha/interfaces/sc-smart-captcha-render-params.d.ts +16 -0
- package/smart-captcha/interfaces/sc-smart-captcha-settings.d.ts +16 -0
- package/smart-captcha/interfaces/sc-smart-captcha-window.d.ts +14 -0
- package/smart-captcha/sc-smart-captcha.component.d.ts +92 -0
- package/smart-captcha/services/index.d.ts +1 -0
- package/smart-captcha/services/sc-smart-captcha-loader.service.d.ts +50 -0
- package/smart-captcha/tokens/index.d.ts +2 -0
- package/smart-captcha/tokens/sc-smart-captcha-load-timeout.token.d.ts +5 -0
- package/smart-captcha/tokens/sc-smart-captcha-settings.token.d.ts +6 -0
- package/styles/tailwind/tailwind.scss +44 -2
- package/esm2022/providers/cleanup-recaptcha-artifacts.mjs +0 -30
- package/providers/cleanup-recaptcha-artifacts.d.ts +0 -7
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
import { HttpErrorResponse } from '@angular/common/http';
|
|
3
3
|
import { ChangeDetectionStrategy, Component, EventEmitter, Inject, inject, Input, Output, SkipSelf } from '@angular/core';
|
|
4
4
|
import { NgControl } from '@angular/forms';
|
|
5
|
-
import { SC_MIN_LENGTH_SEARCH_TERM, ScISuggestionType } from '@snabcentr/client-core';
|
|
5
|
+
import { SC_MIN_LENGTH_SEARCH_TERM, ScISuggestionType, ScSuggestionAddressQuality, } from '@snabcentr/client-core';
|
|
6
6
|
import { tuiControlValue, tuiIsFalsy, tuiIsPresent, tuiMarkControlAsTouchedAndValidate } from '@taiga-ui/cdk';
|
|
7
7
|
import { TUI_DATA_LIST_HOST } from '@taiga-ui/core';
|
|
8
8
|
import { catchError, debounceTime, filter, map, of, share, startWith, switchMap, throwError } from 'rxjs';
|
|
9
|
+
import { ScAddressQualityService } from '../../directives/address-quality/sc-address-quality.service';
|
|
9
10
|
import { SC_ALLOW_SELECT_TERMINATED } from '../../providers/sc-allow-select-terminated';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
import * as i1 from "@snabcentr/client-core";
|
|
@@ -29,6 +30,11 @@ export class ScSuggestionFieldComponent {
|
|
|
29
30
|
* Тип подсказок.
|
|
30
31
|
*/
|
|
31
32
|
this.type = ScISuggestionType.fio;
|
|
33
|
+
/**
|
|
34
|
+
* Признак, что элементы подсказок показывают пометку о полноте адреса.
|
|
35
|
+
* Отключается там, где адреса из подсказки по организации не применяются.
|
|
36
|
+
*/
|
|
37
|
+
this.showAddressQuality = true;
|
|
32
38
|
/**
|
|
33
39
|
* Событие выбора результата подсказки.
|
|
34
40
|
*/
|
|
@@ -51,6 +57,10 @@ export class ScSuggestionFieldComponent {
|
|
|
51
57
|
* Признак, что разрешено выбирать записи ликвидированных организаций.
|
|
52
58
|
*/
|
|
53
59
|
this.allowSelectTerminated = inject(SC_ALLOW_SELECT_TERMINATED);
|
|
60
|
+
/**
|
|
61
|
+
* Сервис-реестр качества адресов, выбранных из подсказок.
|
|
62
|
+
*/
|
|
63
|
+
this.addressQualityService = inject(ScAddressQualityService);
|
|
54
64
|
}
|
|
55
65
|
/** @inheritDoc */
|
|
56
66
|
ngOnInit() {
|
|
@@ -83,7 +93,7 @@ export class ScSuggestionFieldComponent {
|
|
|
83
93
|
break;
|
|
84
94
|
case ScISuggestionType.address:
|
|
85
95
|
if ('addressString' in suggestion) {
|
|
86
|
-
this.
|
|
96
|
+
this.applyAddressSuggestion(suggestion);
|
|
87
97
|
}
|
|
88
98
|
break;
|
|
89
99
|
case ScISuggestionType.bank:
|
|
@@ -97,17 +107,7 @@ export class ScSuggestionFieldComponent {
|
|
|
97
107
|
break;
|
|
98
108
|
case ScISuggestionType.organization:
|
|
99
109
|
if ('inn' in suggestion && !('bic' in suggestion)) {
|
|
100
|
-
|
|
101
|
-
name: suggestion.name,
|
|
102
|
-
inn: suggestion.inn,
|
|
103
|
-
kpp: suggestion.kpp,
|
|
104
|
-
okpo: suggestion.okpo,
|
|
105
|
-
directorName: suggestion.directorName,
|
|
106
|
-
directorPosition: suggestion.directorPosition,
|
|
107
|
-
legalAddress: suggestion.legalAddress,
|
|
108
|
-
postalAddress: suggestion.postalAddress,
|
|
109
|
-
actualAddress: suggestion.actualAddress,
|
|
110
|
-
}, { emitEvent: false });
|
|
110
|
+
this.applyOrganizationSuggestion(suggestion);
|
|
111
111
|
}
|
|
112
112
|
break;
|
|
113
113
|
case ScISuggestionType.email:
|
|
@@ -146,6 +146,33 @@ export class ScSuggestionFieldComponent {
|
|
|
146
146
|
}
|
|
147
147
|
return false;
|
|
148
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* Возвращает текст пометки о качестве адреса для элемента выпадающего списка подсказок либо null, когда пометка не требуется.
|
|
151
|
+
*
|
|
152
|
+
* @param quality Качество (полнота) адреса.
|
|
153
|
+
*/
|
|
154
|
+
getAddressQualityWarning(quality) {
|
|
155
|
+
if (!this.showAddressQuality) {
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
switch (quality) {
|
|
159
|
+
case ScSuggestionAddressQuality.undetermined:
|
|
160
|
+
return 'Полнота адреса не определена';
|
|
161
|
+
case ScSuggestionAddressQuality.incomplete:
|
|
162
|
+
return 'Неполный адрес';
|
|
163
|
+
default:
|
|
164
|
+
return null;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Возвращает текст пометки о качестве юридического адреса для подсказки по организации либо null,
|
|
169
|
+
* когда пометка не требуется, в том числе когда у организации нет юридического адреса.
|
|
170
|
+
*
|
|
171
|
+
* @param suggestion Объект подсказки по организации.
|
|
172
|
+
*/
|
|
173
|
+
getOrganizationAddressQualityWarning(suggestion) {
|
|
174
|
+
return suggestion.legalAddress ? this.getAddressQualityWarning(suggestion.legalAddressQuality) : null;
|
|
175
|
+
}
|
|
149
176
|
/**
|
|
150
177
|
* Проверяет прекращена ли деятельность указанной организации.
|
|
151
178
|
*
|
|
@@ -155,12 +182,43 @@ export class ScSuggestionFieldComponent {
|
|
|
155
182
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
156
183
|
return suggestion.rawData?.['state']?.status === 'LIQUIDATED';
|
|
157
184
|
}
|
|
185
|
+
/**
|
|
186
|
+
* Заполняет контрол строкой выбранного адреса и регистрирует качество адреса.
|
|
187
|
+
*
|
|
188
|
+
* @param suggestion Объект подсказки по адресу.
|
|
189
|
+
*/
|
|
190
|
+
applyAddressSuggestion(suggestion) {
|
|
191
|
+
this.control.control?.patchValue(suggestion.addressString, { emitEvent: false });
|
|
192
|
+
if (this.control.control) {
|
|
193
|
+
this.addressQualityService.setQuality(this.control.control, suggestion.quality ?? null);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Заполняет поля родительской группы данными выбранной организации и регистрирует качество её адресов.
|
|
198
|
+
*
|
|
199
|
+
* @param suggestion Объект подсказки по организации.
|
|
200
|
+
*/
|
|
201
|
+
applyOrganizationSuggestion(suggestion) {
|
|
202
|
+
const parentGroup = this.control.control?.parent;
|
|
203
|
+
parentGroup.patchValue({
|
|
204
|
+
name: suggestion.name,
|
|
205
|
+
inn: suggestion.inn,
|
|
206
|
+
kpp: suggestion.kpp,
|
|
207
|
+
okpo: suggestion.okpo,
|
|
208
|
+
directorName: suggestion.directorName,
|
|
209
|
+
directorPosition: suggestion.directorPosition,
|
|
210
|
+
legalAddress: suggestion.legalAddress,
|
|
211
|
+
postalAddress: suggestion.postalAddress,
|
|
212
|
+
actualAddress: suggestion.actualAddress,
|
|
213
|
+
}, { emitEvent: false });
|
|
214
|
+
this.addressQualityService.setOrganizationAddressQualities(parentGroup, suggestion);
|
|
215
|
+
}
|
|
158
216
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScSuggestionFieldComponent, deps: [{ token: NgControl, skipSelf: true }, { token: i1.ScSuggestionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
159
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
217
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ScSuggestionFieldComponent, selector: "sc-suggestion-field", inputs: { type: "type", showAddressQuality: "showAddressQuality" }, outputs: { selectedClick: "selectedClick" }, ngImport: i0, template: "<tui-loader\n size=\"m\"\n [overlay]=\"true\"\n [showLoader]=\"!!(loading$ | async)\"\n>\n @let options = suggestions$ | async;\n <tui-data-list>\n <button\n *ngFor=\"let option of options\"\n tuiOption\n (click)=\"onSelected(option)\"\n [disabled]=\"isDisabledSuggestion(option)\"\n class=\"flex-col !items-start\"\n >\n @let optionValue = $any(option);\n <ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"suggestionType.fio\">\n <span class=\"text-tui-link\">{{ optionValue.fio }}</span>\n </ng-container>\n <ng-container *ngSwitchCase=\"suggestionType.organization\">\n <span class=\"text-tui-link\">\n {{ optionValue.name }}\n <span class=\"ml-1 text-tui-text-02\">\u0438\u043D\u043D: {{ optionValue.inn }}</span>\n <span\n *ngIf=\"isOrgTerminated(optionValue)\"\n class=\"text-tui-negative\"\n >\n \u041B\u0438\u043A\u0432\u0438\u0434\u0438\u0440\u043E\u0432\u0430\u043D\u043E\n </span>\n </span>\n <span class=\"text-tui-text-02\">{{ optionValue?.legalAddress }}</span>\n @if (getOrganizationAddressQualityWarning(optionValue); as addressQualityWarning) {\n <span class=\"text-xs text-tui-status-warning\">{{ addressQualityWarning }}</span>\n }\n </ng-container>\n <ng-container *ngSwitchCase=\"suggestionType.bank\">\n <span class=\"text-tui-link\">{{ optionValue.name }}</span>\n <span class=\"text-tui-text-02\">{{ optionValue.bic }}</span>\n </ng-container>\n <ng-container *ngSwitchCase=\"suggestionType.email\">\n <span class=\"text-tui-link\">{{ optionValue.email }}</span>\n </ng-container>\n <ng-container *ngSwitchCase=\"suggestionType.address\">\n <span class=\"text-tui-link\">{{ optionValue.addressString }}</span>\n @if (getAddressQualityWarning(optionValue.quality); as addressQualityWarning) {\n <span class=\"text-xs text-tui-status-warning\">{{ addressQualityWarning }}</span>\n }\n </ng-container>\n </ng-container>\n </button>\n </tui-data-list>\n</tui-loader>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "component", type: i3.TuiOption, selector: "button[tuiOption]:not([new]), a[tuiOption]:not([new]), label[tuiOption]:not([new])", inputs: ["disabled", "value"] }, { kind: "component", type: i3.TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
160
218
|
}
|
|
161
219
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScSuggestionFieldComponent, decorators: [{
|
|
162
220
|
type: Component,
|
|
163
|
-
args: [{ selector: 'sc-suggestion-field', changeDetection: ChangeDetectionStrategy.OnPush, template: "<tui-loader\n size=\"m\"\n [overlay]=\"true\"\n [showLoader]=\"!!(loading$ | async)\"\n>\n @let options = suggestions$ | async;\n <tui-data-list>\n <button\n *ngFor=\"let option of options\"\n tuiOption\n (click)=\"onSelected(option)\"\n [disabled]=\"isDisabledSuggestion(option)\"\n class=\"flex-col !items-start\"\n >\n @let optionValue = $any(option);\n <ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"suggestionType.fio\">\n <span class=\"text-tui-link\">{{ optionValue.fio }}</span>\n </ng-container>\n <ng-container *ngSwitchCase=\"suggestionType.organization\">\n <span class=\"text-tui-link\">\n {{ optionValue.name }}\n <span class=\"ml-1 text-tui-text-02\">\u0438\u043D\u043D: {{ optionValue.inn }}</span>\n <span\n *ngIf=\"isOrgTerminated(optionValue)\"\n class=\"text-tui-negative\"\n >\n \u041B\u0438\u043A\u0432\u0438\u0434\u0438\u0440\u043E\u0432\u0430\u043D\u043E\n </span>\n </span>\n <span class=\"text-tui-text-02\">{{ optionValue?.legalAddress }}</span>\n </ng-container>\n <ng-container *ngSwitchCase=\"suggestionType.bank\">\n <span class=\"text-tui-link\">{{ optionValue.name }}</span>\n <span class=\"text-tui-text-02\">{{ optionValue.bic }}</span>\n </ng-container>\n <ng-container *ngSwitchCase=\"suggestionType.email\">\n <span class=\"text-tui-link\">{{ optionValue.email }}</span>\n </ng-container>\n <ng-container *ngSwitchCase=\"suggestionType.address\">\n <span class=\"text-tui-link\">{{ optionValue.addressString }}</span>\n </ng-container>\n </ng-container>\n </button>\n </tui-data-list>\n</tui-loader>\n" }]
|
|
221
|
+
args: [{ selector: 'sc-suggestion-field', changeDetection: ChangeDetectionStrategy.OnPush, template: "<tui-loader\n size=\"m\"\n [overlay]=\"true\"\n [showLoader]=\"!!(loading$ | async)\"\n>\n @let options = suggestions$ | async;\n <tui-data-list>\n <button\n *ngFor=\"let option of options\"\n tuiOption\n (click)=\"onSelected(option)\"\n [disabled]=\"isDisabledSuggestion(option)\"\n class=\"flex-col !items-start\"\n >\n @let optionValue = $any(option);\n <ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"suggestionType.fio\">\n <span class=\"text-tui-link\">{{ optionValue.fio }}</span>\n </ng-container>\n <ng-container *ngSwitchCase=\"suggestionType.organization\">\n <span class=\"text-tui-link\">\n {{ optionValue.name }}\n <span class=\"ml-1 text-tui-text-02\">\u0438\u043D\u043D: {{ optionValue.inn }}</span>\n <span\n *ngIf=\"isOrgTerminated(optionValue)\"\n class=\"text-tui-negative\"\n >\n \u041B\u0438\u043A\u0432\u0438\u0434\u0438\u0440\u043E\u0432\u0430\u043D\u043E\n </span>\n </span>\n <span class=\"text-tui-text-02\">{{ optionValue?.legalAddress }}</span>\n @if (getOrganizationAddressQualityWarning(optionValue); as addressQualityWarning) {\n <span class=\"text-xs text-tui-status-warning\">{{ addressQualityWarning }}</span>\n }\n </ng-container>\n <ng-container *ngSwitchCase=\"suggestionType.bank\">\n <span class=\"text-tui-link\">{{ optionValue.name }}</span>\n <span class=\"text-tui-text-02\">{{ optionValue.bic }}</span>\n </ng-container>\n <ng-container *ngSwitchCase=\"suggestionType.email\">\n <span class=\"text-tui-link\">{{ optionValue.email }}</span>\n </ng-container>\n <ng-container *ngSwitchCase=\"suggestionType.address\">\n <span class=\"text-tui-link\">{{ optionValue.addressString }}</span>\n @if (getAddressQualityWarning(optionValue.quality); as addressQualityWarning) {\n <span class=\"text-xs text-tui-status-warning\">{{ addressQualityWarning }}</span>\n }\n </ng-container>\n </ng-container>\n </button>\n </tui-data-list>\n</tui-loader>\n" }]
|
|
164
222
|
}], ctorParameters: () => [{ type: i4.NgControl, decorators: [{
|
|
165
223
|
type: SkipSelf
|
|
166
224
|
}, {
|
|
@@ -168,7 +226,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
168
226
|
args: [NgControl]
|
|
169
227
|
}] }, { type: i1.ScSuggestionService }], propDecorators: { type: [{
|
|
170
228
|
type: Input
|
|
229
|
+
}], showAddressQuality: [{
|
|
230
|
+
type: Input
|
|
171
231
|
}], selectedClick: [{
|
|
172
232
|
type: Output
|
|
173
233
|
}] } });
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc3VnZ2VzdGlvbi1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvZm9ybS1maWVsZHMvc3VnZ2VzdGlvbi1maWVsZC9zYy1zdWdnZXN0aW9uLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9mb3JtLWZpZWxkcy9zdWdnZXN0aW9uLWZpZWxkL3NjLXN1Z2dlc3Rpb24tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkNBQTJDO0FBRTNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEksT0FBTyxFQUFhLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx5QkFBeUIsRUFBa0QsaUJBQWlCLEVBQXFDLE1BQU0sd0JBQXdCLENBQUM7QUFDekssT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxrQkFBa0IsRUFBbUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7OztBQUV4Rjs7R0FFRztBQU1ILE1BQU0sT0FBTywwQkFBMEI7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QyxxQkFBcUIsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUMzRSxDQUFDO2dCQUNELE1BQU07WUFDVjtnQkFDSSxPQUFPLEtBQUssQ0FBQztRQUNyQixDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxlQUFlLENBQUMsVUFBcUM7UUFDeEQsc0VBQXNFO1FBQ3RFLE9BQU8sVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sS0FBSyxZQUFZLENBQUM7SUFDbEUsQ0FBQzsrR0F2TFEsMEJBQTBCLGtCQXFEdkIsU0FBUzttR0FyRFosMEJBQTBCLGtJQ3BCdkMsMG9FQThDQTs7NEZEMUJhLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDSSxxQkFBcUIsbUJBRWQsdUJBQXVCLENBQUMsTUFBTTs7MEJBc0QxQyxRQUFROzswQkFDUixNQUFNOzJCQUFDLFNBQVM7MkVBaERkLElBQUk7c0JBRFYsS0FBSztnQkFPQyxhQUFhO3NCQURuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgY2xhc3MtbWV0aG9kcy11c2UtdGhpcyAqL1xuXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBpbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU0NfTUlOX0xFTkdUSF9TRUFSQ0hfVEVSTSwgU2NJQXBpRXJyb3JSZXNwb25zZSwgU2NJU3VnZ2VzdGlvbk9yZ2FuaXphdGlvbiwgU2NJU3VnZ2VzdGlvblR5cGUsIFNjU3VnZ2VzdGlvbiwgU2NTdWdnZXN0aW9uU2VydmljZSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgdHVpQ29udHJvbFZhbHVlLCB0dWlJc0ZhbHN5LCB0dWlJc1ByZXNlbnQsIHR1aU1hcmtDb250cm9sQXNUb3VjaGVkQW5kVmFsaWRhdGUgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IFRVSV9EQVRBX0xJU1RfSE9TVCwgVHVpRGF0YUxpc3RIb3N0IH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHNoYXJlLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTQ19BTExPV19TRUxFQ1RfVEVSTUlOQVRFRCB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9zYy1hbGxvdy1zZWxlY3QtdGVybWluYXRlZCc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINC/0L7QtNGB0LrQsNC30L7QuiDQtNC70Y8g0L/QvtC70Y8g0LLQstC+0LTQsC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1zdWdnZXN0aW9uLWZpZWxkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2Mtc3VnZ2VzdGlvbi1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjU3VnZ2VzdGlvbkZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKipcbiAgICAgKiDQotC40L8g0L/QvtC00YHQutCw0LfQvtC6LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHR5cGU6IFNjSVN1Z2dlc3Rpb25UeXBlID0gU2NJU3VnZ2VzdGlvblR5cGUuZmlvO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0LLRi9Cx0L7RgNCwINGA0LXQt9GD0LvRjNGC0LDRgtCwINC/0L7QtNGB0LrQsNC30LrQuC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgc2VsZWN0ZWRDbGljazogRXZlbnRFbWl0dGVyPFNjU3VnZ2VzdGlvbj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNjU3VnZ2VzdGlvbj4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQv9C+0LTRgdC60LDQt9C+0LouXG4gICAgICovXG4gICAgcHVibGljIHN1Z2dlc3Rpb25zJD86IE9ic2VydmFibGU8U2NTdWdnZXN0aW9uW10gfCBudWxsPjtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDRgdC+0YHRgtC+0Y/QvdC40LUg0LfQsNC/0YDQvtGB0LAg0L/QvtC00YHQutCw0LfQvtC6LlxuICAgICAqL1xuICAgIHB1YmxpYyBsb2FkaW5nJD86IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgICAvKipcbiAgICAgKiDQn9C10YDQtdGH0LjRgdC70LXQvdC40LUg0YLQuNC/0L7QsiDQv9C+0LTRgdC60LDQt9C+0LouXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHN1Z2dlc3Rpb25UeXBlOiB0eXBlb2YgU2NJU3VnZ2VzdGlvblR5cGUgPSBTY0lTdWdnZXN0aW9uVHlwZTtcblxuICAgIC8qKlxuICAgICAqINCa0L7QvNC/0L7QvdC10L3RgiDQvtCx0ZHRgNGC0LrQsCDQstGL0L/QsNC00LDRjtGJ0LXQs9C+INGB0L/QuNGB0LrQsC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3Q6IFR1aURhdGFMaXN0SG9zdDx1bmtub3duPiB8IG51bGwgPSBpbmplY3Q8VHVpRGF0YUxpc3RIb3N0PHVua25vd24+PihUVUlfREFUQV9MSVNUX0hPU1QsIHtcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiDQnNC40L3QuNC80LDQu9GM0L3QsNGPINC00LvQuNC90LAg0L/QvtC40YHQutC+0LLQvtCz0L4g0LfQsNC/0YDQvtGB0LAg0LTQu9GPINC/0L7Qu9GD0YfQtdC90LjRjyDQtNCw0L3QvdGL0YUuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBtaW5MZW5ndGhTZWFyY2hUZXJtOiBudW1iZXIgPSBpbmplY3QoU0NfTUlOX0xFTkdUSF9TRUFSQ0hfVEVSTSk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INGA0LDQt9GA0LXRiNC10L3QviDQstGL0LHQuNGA0LDRgtGMINC30LDQv9C40YHQuCDQu9C40LrQstC40LTQuNGA0L7QstCw0L3QvdGL0YUg0L7RgNCz0LDQvdC40LfQsNGG0LjQuS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsbG93U2VsZWN0VGVybWluYXRlZDogYm9vbGVhbiA9IGluamVjdChTQ19BTExPV19TRUxFQ1RfVEVSTUlOQVRFRCk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjU3VnZ2VzdGlvbkZpZWxkQ29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250cm9sINCa0L7QvdGC0YDQvtC7INC/0L7Qu9GPINCy0LLQvtC00LAuXG4gICAgICogQHBhcmFtIHN1Z2dlc3Rpb25TZXJ2aWNlINCh0LXRgNCy0LjRgSDRgNCw0LHQvtGC0Ysg0YEgQVBJINC/0L7QtNGB0LrQsNC30L7Qui5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBTa2lwU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgY29udHJvbDogTmdDb250cm9sLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHN1Z2dlc3Rpb25TZXJ2aWNlOiBTY1N1Z2dlc3Rpb25TZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLyoqIEBpbmhlcml0RG9jICovXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCByZXF1ZXN0JCA9IHR1aUNvbnRyb2xWYWx1ZTxzdHJpbmcgfCBudWxsPih0aGlzLmNvbnRyb2wpLnBpcGUoXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWUoNTAwKSxcbiAgICAgICAgICAgIGZpbHRlcih0dWlJc1ByZXNlbnQpLFxuICAgICAgICAgICAgbWFwKCh0ZXJtKSA9PiB0ZXJtLnRyaW0oKSksXG4gICAgICAgICAgICBmaWx0ZXIoKHRlcm0pID0+IHRlcm0ubGVuZ3RoID49IHRoaXMubWluTGVuZ3RoU2VhcmNoVGVybSksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHRlcm06IHN0cmluZykgPT4gdGhpcy5zdWdnZXN0aW9uU2VydmljZS5nZXREYXRhPFNjU3VnZ2VzdGlvbj4odGVybSwgdGhpcy50eXBlKS5waXBlKHN0YXJ0V2l0aChudWxsKSkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvclJlc3BvbnNlID0gZXJyb3IuZXJyb3IgYXMgU2NJQXBpRXJyb3JSZXNwb25zZTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250cm9sLmNvbnRyb2wpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aU1hcmtDb250cm9sQXNUb3VjaGVkQW5kVmFsaWRhdGUodGhpcy5jb250cm9sLmNvbnRyb2wpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wuY29udHJvbC5zZXRFcnJvcnMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlclJlc3BvbnNlOiBbZXJyb3JSZXNwb25zZS5tZXNzYWdlIHx8ICfQntGI0LjQsdC60LAg0YHQtdGA0LLQtdGA0LA6INC/0L7QttCw0LvRg9C50YHRgtCwLCDQv9C10YDQtdC30LDQs9GA0YPQt9C40YLQtSDRgdGC0YDQsNC90LjRhtGDINC4L9C40LvQuCDQstGL0L/QvtC70L3QuNGC0LUg0LfQsNC/0YDQvtGBINC/0L7Qt9C20LUuJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG9mKFtdKSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHNoYXJlKClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnN1Z2dlc3Rpb25zJCA9IHJlcXVlc3QkLnBpcGUoZmlsdGVyKHR1aUlzUHJlc2VudCksIHN0YXJ0V2l0aChudWxsKSk7XG4gICAgICAgIHRoaXMubG9hZGluZyQgPSByZXF1ZXN0JC5waXBlKG1hcCh0dWlJc0ZhbHN5KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JfQsNC/0L7Qu9C90LXQvdC40LUg0L/QvtC70LXQuSDQvtGB0L3QvtCy0LUg0LLRi9Cx0YDQsNC90L3QvtC5INC/0L7QtNGB0LrQsNC30LrQuC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzdWdnZXN0aW9uINCe0LHRitC10LrRgiDQv9C+0LTRgdC60LDQt9C60LguXG4gICAgICovXG4gICAgcHVibGljIG9uU2VsZWN0ZWQoc3VnZ2VzdGlvbjogU2NTdWdnZXN0aW9uKTogdm9pZCB7XG4gICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFNjSVN1Z2dlc3Rpb25UeXBlLmZpbzpcbiAgICAgICAgICAgICAgICBpZiAoJ2ZpbycgaW4gc3VnZ2VzdGlvbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wuY29udHJvbD8ucGF0Y2hWYWx1ZShzdWdnZXN0aW9uLmZpbywgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgU2NJU3VnZ2VzdGlvblR5cGUuYWRkcmVzczpcbiAgICAgICAgICAgICAgICBpZiAoJ2FkZHJlc3NTdHJpbmcnIGluIHN1Z2dlc3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLmNvbnRyb2w/LnBhdGNoVmFsdWUoc3VnZ2VzdGlvbi5hZGRyZXNzU3RyaW5nLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBTY0lTdWdnZXN0aW9uVHlwZS5iYW5rOlxuICAgICAgICAgICAgICAgIGlmICgnaW5uJyBpbiBzdWdnZXN0aW9uICYmICdiaWMnIGluIHN1Z2dlc3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgKHRoaXMuY29udHJvbC5jb250cm9sPy5wYXJlbnQgYXMgRm9ybUdyb3VwKS5wYXRjaFZhbHVlKFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhbmtOYW1lOiBzdWdnZXN0aW9uLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmljOiBzdWdnZXN0aW9uLmJpYyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3JyZXNwb25kZW50QWNjb3VudDogc3VnZ2VzdGlvbi5jb3JyZXNwb25kZW50QWNjb3VudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGVtaXRFdmVudDogZmFsc2UgfVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgU2NJU3VnZ2VzdGlvblR5cGUub3JnYW5pemF0aW9uOlxuICAgICAgICAgICAgICAgIGlmICgnaW5uJyBpbiBzdWdnZXN0aW9uICYmICEoJ2JpYycgaW4gc3VnZ2VzdGlvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgKHRoaXMuY29udHJvbC5jb250cm9sPy5wYXJlbnQgYXMgRm9ybUdyb3VwKS5wYXRjaFZhbHVlKFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHN1Z2dlc3Rpb24ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbm46IHN1Z2dlc3Rpb24uaW5uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtwcDogc3VnZ2VzdGlvbi5rcHAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2twbzogc3VnZ2VzdGlvbi5va3BvLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdG9yTmFtZTogc3VnZ2VzdGlvbi5kaXJlY3Rvck5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0b3JQb3NpdGlvbjogc3VnZ2VzdGlvbi5kaXJlY3RvclBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZ2FsQWRkcmVzczogc3VnZ2VzdGlvbi5sZWdhbEFkZHJlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zdGFsQWRkcmVzczogc3VnZ2VzdGlvbi5wb3N0YWxBZGRyZXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdHVhbEFkZHJlc3M6IHN1Z2dlc3Rpb24uYWN0dWFsQWRkcmVzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGVtaXRFdmVudDogZmFsc2UgfVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgU2NJU3VnZ2VzdGlvblR5cGUuZW1haWw6XG4gICAgICAgICAgICAgICAgaWYgKCdlbWFpbCcgaW4gc3VnZ2VzdGlvbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wuY29udHJvbD8ucGF0Y2hWYWx1ZShzdWdnZXN0aW9uLmVtYWlsLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmhvc3Q/LmhhbmRsZU9wdGlvbikge1xuICAgICAgICAgICAgLy8g0JTRkdGA0LPQsNC10Lwg0LLQvdGD0YLRgNC10L3QvdC40Lkg0L7QsdGA0LDQsdC+0YLRh9C40Log0LLRi9Cx0L7RgNCwINGN0LvQtdC80LXQvdGC0LAg0LLRi9C/0LDQtNCw0Y7RidC10LPQviDRgdC/0LjRgdC60LAg0LTQu9GPINGA0LXRiNC10L3QuNGPINC/0YDQvtCx0LvQtdC80Ysg0LfQsNC60YDRi9GC0LjRjyDQstGL0L/QsNC00LDRjtGJ0LXQs9C+INGB0L/QuNGB0LrQsCDQv9C+0LTRgdC60LDQt9C60LguXG4gICAgICAgICAgICB0aGlzLmhvc3QuaGFuZGxlT3B0aW9uKHRoaXMuY29udHJvbC52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3RlZENsaWNrLmVtaXQoc3VnZ2VzdGlvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0L/RgNC40LfQvdCw0LosINGH0YLQviDRjdC70LXQvNC10L3RgiDQstGL0L/QsNC00LDRjtGJ0LXQs9C+INGB0L/QuNGB0LrQsCDQv9C+0LTRgdC60LDQt9C+0Log0L7RgtC60LvRjtGH0ZHQvS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzdWdnZXN0aW9uINCe0LHRitC10LrRgiDQv9C+0LTRgdC60LDQt9C60LguXG4gICAgICovXG4gICAgcHVibGljIGlzRGlzYWJsZWRTdWdnZXN0aW9uKHN1Z2dlc3Rpb246IFNjU3VnZ2VzdGlvbik6IGJvb2xlYW4ge1xuICAgICAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBTY0lTdWdnZXN0aW9uVHlwZS5maW86XG4gICAgICAgICAgICBjYXNlIFNjSVN1Z2dlc3Rpb25UeXBlLmFkZHJlc3M6XG4gICAgICAgICAgICBjYXNlIFNjSVN1Z2dlc3Rpb25UeXBlLmJhbms6XG4gICAgICAgICAgICBjYXNlIFNjSVN1Z2dlc3Rpb25UeXBlLmVtYWlsOlxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIGNhc2UgU2NJU3VnZ2VzdGlvblR5cGUub3JnYW5pemF0aW9uOlxuICAgICAgICAgICAgICAgIGlmICgnaW5uJyBpbiBzdWdnZXN0aW9uICYmICEoJ2JpYycgaW4gc3VnZ2VzdGlvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICF0aGlzLmFsbG93U2VsZWN0VGVybWluYXRlZCAmJiB0aGlzLmlzT3JnVGVybWluYXRlZChzdWdnZXN0aW9uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0L7QstC10YDRj9C10YIg0L/RgNC10LrRgNCw0YnQtdC90LAg0LvQuCDQtNC10Y/RgtC10LvRjNC90L7RgdGC0Ywg0YPQutCw0LfQsNC90L3QvtC5INC+0YDQs9Cw0L3QuNC30LDRhtC40LguXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc3VnZ2VzdGlvbiDQntCx0YrQtdC60YIg0L/QvtC00YHQutCw0LfQutC4INC/0L4g0L7RgNCz0LDQvdC40LfQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNPcmdUZXJtaW5hdGVkKHN1Z2dlc3Rpb246IFNjSVN1Z2dlc3Rpb25Pcmdhbml6YXRpb24pOiBib29sZWFuIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2Vzc1xuICAgICAgICByZXR1cm4gc3VnZ2VzdGlvbi5yYXdEYXRhPy5bJ3N0YXRlJ10/LnN0YXR1cyA9PT0gJ0xJUVVJREFURUQnO1xuICAgIH1cbn1cbiIsIjx0dWktbG9hZGVyXG4gICAgc2l6ZT1cIm1cIlxuICAgIFtvdmVybGF5XT1cInRydWVcIlxuICAgIFtzaG93TG9hZGVyXT1cIiEhKGxvYWRpbmckIHwgYXN5bmMpXCJcbj5cbiAgICBAbGV0IG9wdGlvbnMgPSBzdWdnZXN0aW9ucyQgfCBhc3luYztcbiAgICA8dHVpLWRhdGEtbGlzdD5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCJcbiAgICAgICAgICAgIHR1aU9wdGlvblxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0ZWQob3B0aW9uKVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFN1Z2dlc3Rpb24ob3B0aW9uKVwiXG4gICAgICAgICAgICBjbGFzcz1cImZsZXgtY29sICFpdGVtcy1zdGFydFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBsZXQgb3B0aW9uVmFsdWUgPSAkYW55KG9wdGlvbik7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJ0eXBlXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwic3VnZ2VzdGlvblR5cGUuZmlvXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC10dWktbGlua1wiPnt7IG9wdGlvblZhbHVlLmZpbyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJzdWdnZXN0aW9uVHlwZS5vcmdhbml6YXRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXR1aS1saW5rXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb25WYWx1ZS5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1sLTEgdGV4dC10dWktdGV4dC0wMlwiPtC40L3QvToge3sgb3B0aW9uVmFsdWUuaW5uIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzT3JnVGVybWluYXRlZChvcHRpb25WYWx1ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC10dWktbmVnYXRpdmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgINCb0LjQutCy0LjQtNC40YDQvtCy0LDQvdC+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXR1aS10ZXh0LTAyXCI+e3sgb3B0aW9uVmFsdWU/LmxlZ2FsQWRkcmVzcyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJzdWdnZXN0aW9uVHlwZS5iYW5rXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC10dWktbGlua1wiPnt7IG9wdGlvblZhbHVlLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC10dWktdGV4dC0wMlwiPnt7IG9wdGlvblZhbHVlLmJpYyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJzdWdnZXN0aW9uVHlwZS5lbWFpbFwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdHVpLWxpbmtcIj57eyBvcHRpb25WYWx1ZS5lbWFpbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJzdWdnZXN0aW9uVHlwZS5hZGRyZXNzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC10dWktbGlua1wiPnt7IG9wdGlvblZhbHVlLmFkZHJlc3NTdHJpbmcgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC90dWktZGF0YS1saXN0PlxuPC90dWktbG9hZGVyPlxuIl19
|
|
234
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc3VnZ2VzdGlvbi1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvZm9ybS1maWVsZHMvc3VnZ2VzdGlvbi1maWVsZC9zYy1zdWdnZXN0aW9uLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9mb3JtLWZpZWxkcy9zdWdnZXN0aW9uLWZpZWxkL3NjLXN1Z2dlc3Rpb24tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkNBQTJDO0FBRTNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEksT0FBTyxFQUFhLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFDSCx5QkFBeUIsRUFJekIsaUJBQWlCLEVBRWpCLDBCQUEwQixHQUU3QixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQW1CLE1BQU0sZ0JBQWdCLENBQUM7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXRILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSwwQkFBMEIsRUFB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QUFDLElBQUk7WUFDckIsR0FBRyxFQUFFLFVBQVUsQ0FBQyxHQUFHO1lBQ25CLEdBQUcsRUFBRSxVQUFVLENBQUMsR0FBRztZQUNuQixJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7WUFDckIsWUFBWSxFQUFFLFVBQVUsQ0FBQyxZQUFZO1lBQ3JDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxnQkFBZ0I7WUFDN0MsWUFBWSxFQUFFLFVBQVUsQ0FBQyxZQUFZO1lBQ3JDLGFBQWEsRUFBRSxVQUFVLENBQUMsYUFBYTtZQUN2QyxhQUFhLEVBQUUsVUFBVSxDQUFDLGFBQWE7U0FDMUMsRUFDRCxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FDdkIsQ0FBQztRQUVGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQywrQkFBK0IsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDeEYsQ0FBQzsrR0EzUFEsMEJBQTBCLGtCQWlFdkIsU0FBUzttR0FqRVosMEJBQTBCLDRLQzlCdkMsOGxGQW9EQTs7NEZEdEJhLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDSSxxQkFBcUIsbUJBRWQsdUJBQXVCLENBQUMsTUFBTTs7MEJBa0UxQyxRQUFROzswQkFDUixNQUFNOzJCQUFDLFNBQVM7MkVBNURkLElBQUk7c0JBRFYsS0FBSztnQkFRQyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBT0MsYUFBYTtzQkFEbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXMgKi9cblxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgU0NfTUlOX0xFTkdUSF9TRUFSQ0hfVEVSTSxcbiAgICBTY0lBcGlFcnJvclJlc3BvbnNlLFxuICAgIFNjSVN1Z2dlc3Rpb25BZGRyZXNzLFxuICAgIFNjSVN1Z2dlc3Rpb25Pcmdhbml6YXRpb24sXG4gICAgU2NJU3VnZ2VzdGlvblR5cGUsXG4gICAgU2NTdWdnZXN0aW9uLFxuICAgIFNjU3VnZ2VzdGlvbkFkZHJlc3NRdWFsaXR5LFxuICAgIFNjU3VnZ2VzdGlvblNlcnZpY2UsXG59IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgdHVpQ29udHJvbFZhbHVlLCB0dWlJc0ZhbHN5LCB0dWlJc1ByZXNlbnQsIHR1aU1hcmtDb250cm9sQXNUb3VjaGVkQW5kVmFsaWRhdGUgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IFRVSV9EQVRBX0xJU1RfSE9TVCwgVHVpRGF0YUxpc3RIb3N0IH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHNoYXJlLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY0FkZHJlc3NRdWFsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvYWRkcmVzcy1xdWFsaXR5L3NjLWFkZHJlc3MtcXVhbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IFNDX0FMTE9XX1NFTEVDVF9URVJNSU5BVEVEIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL3NjLWFsbG93LXNlbGVjdC10ZXJtaW5hdGVkJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0L/QvtC00YHQutCw0LfQvtC6INC00LvRjyDQv9C+0LvRjyDQstCy0L7QtNCwLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXN1Z2dlc3Rpb24tZmllbGQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1zdWdnZXN0aW9uLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NTdWdnZXN0aW9uRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKlxuICAgICAqINCi0LjQvyDQv9C+0LTRgdC60LDQt9C+0LouXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdHlwZTogU2NJU3VnZ2VzdGlvblR5cGUgPSBTY0lTdWdnZXN0aW9uVHlwZS5maW87XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INGN0LvQtdC80LXQvdGC0Ysg0L/QvtC00YHQutCw0LfQvtC6INC/0L7QutCw0LfRi9Cy0LDRjtGCINC/0L7QvNC10YLQutGDINC+INC/0L7Qu9C90L7RgtC1INCw0LTRgNC10YHQsC5cbiAgICAgKiDQntGC0LrQu9GO0YfQsNC10YLRgdGPINGC0LDQvCwg0LPQtNC1INCw0LTRgNC10YHQsCDQuNC3INC/0L7QtNGB0LrQsNC30LrQuCDQv9C+INC+0YDQs9Cw0L3QuNC30LDRhtC40Lgg0L3QtSDQv9GA0LjQvNC10L3Rj9GO0YLRgdGPLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNob3dBZGRyZXNzUXVhbGl0eTogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQstGL0LHQvtGA0LAg0YDQtdC30YPQu9GM0YLQsNGC0LAg0L/QvtC00YHQutCw0LfQutC4LlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBzZWxlY3RlZENsaWNrOiBFdmVudEVtaXR0ZXI8U2NTdWdnZXN0aW9uPiA9IG5ldyBFdmVudEVtaXR0ZXI8U2NTdWdnZXN0aW9uPigpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC/0L7QtNGB0LrQsNC30L7Qui5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3VnZ2VzdGlvbnMkPzogT2JzZXJ2YWJsZTxTY1N1Z2dlc3Rpb25bXSB8IG51bGw+O1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INGB0L7RgdGC0L7Rj9C90LjQtSDQt9Cw0L/RgNC+0YHQsCDQv9C+0LTRgdC60LDQt9C+0LouXG4gICAgICovXG4gICAgcHVibGljIGxvYWRpbmckPzogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAgIC8qKlxuICAgICAqINCf0LXRgNC10YfQuNGB0LvQtdC90LjQtSDRgtC40L/QvtCyINC/0L7QtNGB0LrQsNC30L7Qui5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc3VnZ2VzdGlvblR5cGU6IHR5cGVvZiBTY0lTdWdnZXN0aW9uVHlwZSA9IFNjSVN1Z2dlc3Rpb25UeXBlO1xuXG4gICAgLyoqXG4gICAgICog0JrQvtC80L/QvtC90LXQvdGCINC+0LHRkdGA0YLQutCwINCy0YvQv9Cw0LTQsNGO0YnQtdCz0L4g0YHQv9C40YHQutCwLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdDogVHVpRGF0YUxpc3RIb3N0PHVua25vd24+IHwgbnVsbCA9IGluamVjdDxUdWlEYXRhTGlzdEhvc3Q8dW5rbm93bj4+KFRVSV9EQVRBX0xJU1RfSE9TVCwge1xuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqINCc0LjQvdC40LzQsNC70YzQvdCw0Y8g0LTQu9C40L3QsCDQv9C+0LjRgdC60L7QstC+0LPQviDQt9Cw0L/RgNC+0YHQsCDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPINC00LDQvdC90YvRhS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IG1pbkxlbmd0aFNlYXJjaFRlcm06IG51bWJlciA9IGluamVjdChTQ19NSU5fTEVOR1RIX1NFQVJDSF9URVJNKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0YDQsNC30YDQtdGI0LXQvdC+INCy0YvQsdC40YDQsNGC0Ywg0LfQsNC/0LjRgdC4INC70LjQutCy0LjQtNC40YDQvtCy0LDQvdC90YvRhSDQvtGA0LPQsNC90LjQt9Cw0YbQuNC5LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxsb3dTZWxlY3RUZXJtaW5hdGVkOiBib29sZWFuID0gaW5qZWN0KFNDX0FMTE9XX1NFTEVDVF9URVJNSU5BVEVEKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgS3RgNC10LXRgdGC0YAg0LrQsNGH0LXRgdGC0LLQsCDQsNC00YDQtdGB0L7Qsiwg0LLRi9Cx0YDQsNC90L3Ri9GFINC40Lcg0L/QvtC00YHQutCw0LfQvtC6LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWRkcmVzc1F1YWxpdHlTZXJ2aWNlID0gaW5qZWN0KFNjQWRkcmVzc1F1YWxpdHlTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NTdWdnZXN0aW9uRmllbGRDb21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbnRyb2wg0JrQvtC90YLRgNC+0Lsg0L/QvtC70Y8g0LLQstC+0LTQsC5cbiAgICAgKiBAcGFyYW0gc3VnZ2VzdGlvblNlcnZpY2Ug0KHQtdGA0LLQuNGBINGA0LDQsdC+0YLRiyDRgSBBUEkg0L/QvtC00YHQutCw0LfQvtC6LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgQFNraXBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBjb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc3VnZ2VzdGlvblNlcnZpY2U6IFNjU3VnZ2VzdGlvblNlcnZpY2VcbiAgICApIHt9XG5cbiAgICAvKiogQGluaGVyaXREb2MgKi9cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QkID0gdHVpQ29udHJvbFZhbHVlPHN0cmluZyB8IG51bGw+KHRoaXMuY29udHJvbCkucGlwZShcbiAgICAgICAgICAgIGRlYm91bmNlVGltZSg1MDApLFxuICAgICAgICAgICAgZmlsdGVyKHR1aUlzUHJlc2VudCksXG4gICAgICAgICAgICBtYXAoKHRlcm0pID0+IHRlcm0udHJpbSgpKSxcbiAgICAgICAgICAgIGZpbHRlcigodGVybSkgPT4gdGVybS5sZW5ndGggPj0gdGhpcy5taW5MZW5ndGhTZWFyY2hUZXJtKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgodGVybTogc3RyaW5nKSA9PiB0aGlzLnN1Z2dlc3Rpb25TZXJ2aWNlLmdldERhdGE8U2NTdWdnZXN0aW9uPih0ZXJtLCB0aGlzLnR5cGUpLnBpcGUoc3RhcnRXaXRoKG51bGwpKSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yUmVzcG9uc2UgPSBlcnJvci5lcnJvciBhcyBTY0lBcGlFcnJvclJlc3BvbnNlO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2wuY29udHJvbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHVpTWFya0NvbnRyb2xBc1RvdWNoZWRBbmRWYWxpZGF0ZSh0aGlzLmNvbnRyb2wuY29udHJvbCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5jb250cm9sLnNldEVycm9ycyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyUmVzcG9uc2U6IFtlcnJvclJlc3BvbnNlLm1lc3NhZ2UgfHwgJ9Ce0YjQuNCx0LrQsCDRgdC10YDQstC10YDQsDog0L/QvtC20LDQu9GD0LnRgdGC0LAsINC/0LXRgNC10LfQsNCz0YDRg9C30LjRgtC1INGB0YLRgNCw0L3QuNGG0YMg0Lgv0LjQu9C4INCy0YvQv9C+0LvQvdC40YLQtSDQt9Cw0L/RgNC+0YEg0L/QvtC30LbQtS4nXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gb2YoW10pKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgc2hhcmUoKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuc3VnZ2VzdGlvbnMkID0gcmVxdWVzdCQucGlwZShmaWx0ZXIodHVpSXNQcmVzZW50KSwgc3RhcnRXaXRoKG51bGwpKTtcbiAgICAgICAgdGhpcy5sb2FkaW5nJCA9IHJlcXVlc3QkLnBpcGUobWFwKHR1aUlzRmFsc3kpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQl9Cw0L/QvtC70L3QtdC90LjQtSDQv9C+0LvQtdC5INC+0YHQvdC+0LLQtSDQstGL0LHRgNCw0L3QvdC+0Lkg0L/QvtC00YHQutCw0LfQutC4LlxuICAgICAqXG4gICAgICogQHBhcmFtIHN1Z2dlc3Rpb24g0J7QsdGK0LXQutGCINC/0L7QtNGB0LrQsNC30LrQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgb25TZWxlY3RlZChzdWdnZXN0aW9uOiBTY1N1Z2dlc3Rpb24pOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgU2NJU3VnZ2VzdGlvblR5cGUuZmlvOlxuICAgICAgICAgICAgICAgIGlmICgnZmlvJyBpbiBzdWdnZXN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5jb250cm9sPy5wYXRjaFZhbHVlKHN1Z2dlc3Rpb24uZmlvLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBTY0lTdWdnZXN0aW9uVHlwZS5hZGRyZXNzOlxuICAgICAgICAgICAgICAgIGlmICgnYWRkcmVzc1N0cmluZycgaW4gc3VnZ2VzdGlvbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcGx5QWRkcmVzc1N1Z2dlc3Rpb24oc3VnZ2VzdGlvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBTY0lTdWdnZXN0aW9uVHlwZS5iYW5rOlxuICAgICAgICAgICAgICAgIGlmICgnaW5uJyBpbiBzdWdnZXN0aW9uICYmICdiaWMnIGluIHN1Z2dlc3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgKHRoaXMuY29udHJvbC5jb250cm9sPy5wYXJlbnQgYXMgRm9ybUdyb3VwKS5wYXRjaFZhbHVlKFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhbmtOYW1lOiBzdWdnZXN0aW9uLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmljOiBzdWdnZXN0aW9uLmJpYyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3JyZXNwb25kZW50QWNjb3VudDogc3VnZ2VzdGlvbi5jb3JyZXNwb25kZW50QWNjb3VudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGVtaXRFdmVudDogZmFsc2UgfVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgU2NJU3VnZ2VzdGlvblR5cGUub3JnYW5pemF0aW9uOlxuICAgICAgICAgICAgICAgIGlmICgnaW5uJyBpbiBzdWdnZXN0aW9uICYmICEoJ2JpYycgaW4gc3VnZ2VzdGlvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBseU9yZ2FuaXphdGlvblN1Z2dlc3Rpb24oc3VnZ2VzdGlvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBTY0lTdWdnZXN0aW9uVHlwZS5lbWFpbDpcbiAgICAgICAgICAgICAgICBpZiAoJ2VtYWlsJyBpbiBzdWdnZXN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5jb250cm9sPy5wYXRjaFZhbHVlKHN1Z2dlc3Rpb24uZW1haWwsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaG9zdD8uaGFuZGxlT3B0aW9uKSB7XG4gICAgICAgICAgICAvLyDQlNGR0YDQs9Cw0LXQvCDQstC90YPRgtGA0LXQvdC90LjQuSDQvtCx0YDQsNCx0L7RgtGH0LjQuiDQstGL0LHQvtGA0LAg0Y3Qu9C10LzQtdC90YLQsCDQstGL0L/QsNC00LDRjtGJ0LXQs9C+INGB0L/QuNGB0LrQsCDQtNC70Y8g0YDQtdGI0LXQvdC40Y8g0L/RgNC+0LHQu9C10LzRiyDQt9Cw0LrRgNGL0YLQuNGPINCy0YvQv9Cw0LTQsNGO0YnQtdCz0L4g0YHQv9C40YHQutCwINC/0L7QtNGB0LrQsNC30LrQuC5cbiAgICAgICAgICAgIHRoaXMuaG9zdC5oYW5kbGVPcHRpb24odGhpcy5jb250cm9sLnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNlbGVjdGVkQ2xpY2suZW1pdChzdWdnZXN0aW9uKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQv9GA0LjQt9C90LDQuiwg0YfRgtC+INGN0LvQtdC80LXQvdGCINCy0YvQv9Cw0LTQsNGO0YnQtdCz0L4g0YHQv9C40YHQutCwINC/0L7QtNGB0LrQsNC30L7QuiDQvtGC0LrQu9GO0YfRkdC9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHN1Z2dlc3Rpb24g0J7QsdGK0LXQutGCINC/0L7QtNGB0LrQsNC30LrQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNEaXNhYmxlZFN1Z2dlc3Rpb24oc3VnZ2VzdGlvbjogU2NTdWdnZXN0aW9uKTogYm9vbGVhbiB7XG4gICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFNjSVN1Z2dlc3Rpb25UeXBlLmZpbzpcbiAgICAgICAgICAgIGNhc2UgU2NJU3VnZ2VzdGlvblR5cGUuYWRkcmVzczpcbiAgICAgICAgICAgIGNhc2UgU2NJU3VnZ2VzdGlvblR5cGUuYmFuazpcbiAgICAgICAgICAgIGNhc2UgU2NJU3VnZ2VzdGlvblR5cGUuZW1haWw6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgY2FzZSBTY0lTdWdnZXN0aW9uVHlwZS5vcmdhbml6YXRpb246XG4gICAgICAgICAgICAgICAgaWYgKCdpbm4nIGluIHN1Z2dlc3Rpb24gJiYgISgnYmljJyBpbiBzdWdnZXN0aW9uKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gIXRoaXMuYWxsb3dTZWxlY3RUZXJtaW5hdGVkICYmIHRoaXMuaXNPcmdUZXJtaW5hdGVkKHN1Z2dlc3Rpb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGC0LXQutGB0YIg0L/QvtC80LXRgtC60Lgg0L4g0LrQsNGH0LXRgdGC0LLQtSDQsNC00YDQtdGB0LAg0LTQu9GPINGN0LvQtdC80LXQvdGC0LAg0LLRi9C/0LDQtNCw0Y7RidC10LPQviDRgdC/0LjRgdC60LAg0L/QvtC00YHQutCw0LfQvtC6INC70LjQsdC+IG51bGwsINC60L7Qs9C00LAg0L/QvtC80LXRgtC60LAg0L3QtSDRgtGA0LXQsdGD0LXRgtGB0Y8uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcXVhbGl0eSDQmtCw0YfQtdGB0YLQstC+ICjQv9C+0LvQvdC+0YLQsCkg0LDQtNGA0LXRgdCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRBZGRyZXNzUXVhbGl0eVdhcm5pbmcocXVhbGl0eTogU2NTdWdnZXN0aW9uQWRkcmVzc1F1YWxpdHkgfCBudWxsIHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGlmICghdGhpcy5zaG93QWRkcmVzc1F1YWxpdHkpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgc3dpdGNoIChxdWFsaXR5KSB7XG4gICAgICAgICAgICBjYXNlIFNjU3VnZ2VzdGlvbkFkZHJlc3NRdWFsaXR5LnVuZGV0ZXJtaW5lZDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ9Cf0L7Qu9C90L7RgtCwINCw0LTRgNC10YHQsCDQvdC1INC+0L/RgNC10LTQtdC70LXQvdCwJztcbiAgICAgICAgICAgIGNhc2UgU2NTdWdnZXN0aW9uQWRkcmVzc1F1YWxpdHkuaW5jb21wbGV0ZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ9Cd0LXQv9C+0LvQvdGL0Lkg0LDQtNGA0LXRgSc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YLQtdC60YHRgiDQv9C+0LzQtdGC0LrQuCDQviDQutCw0YfQtdGB0YLQstC1INGO0YDQuNC00LjRh9C10YHQutC+0LPQviDQsNC00YDQtdGB0LAg0LTQu9GPINC/0L7QtNGB0LrQsNC30LrQuCDQv9C+INC+0YDQs9Cw0L3QuNC30LDRhtC40Lgg0LvQuNCx0L4gbnVsbCxcbiAgICAgKiDQutC+0LPQtNCwINC/0L7QvNC10YLQutCwINC90LUg0YLRgNC10LHRg9C10YLRgdGPLCDQsiDRgtC+0Lwg0YfQuNGB0LvQtSDQutC+0LPQtNCwINGDINC+0YDQs9Cw0L3QuNC30LDRhtC40Lgg0L3QtdGCINGO0YDQuNC00LjRh9C10YHQutC+0LPQviDQsNC00YDQtdGB0LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc3VnZ2VzdGlvbiDQntCx0YrQtdC60YIg0L/QvtC00YHQutCw0LfQutC4INC/0L4g0L7RgNCz0LDQvdC40LfQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0T3JnYW5pemF0aW9uQWRkcmVzc1F1YWxpdHlXYXJuaW5nKHN1Z2dlc3Rpb246IFNjSVN1Z2dlc3Rpb25Pcmdhbml6YXRpb24pOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHN1Z2dlc3Rpb24ubGVnYWxBZGRyZXNzID8gdGhpcy5nZXRBZGRyZXNzUXVhbGl0eVdhcm5pbmcoc3VnZ2VzdGlvbi5sZWdhbEFkZHJlc3NRdWFsaXR5KSA6IG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J/RgNC+0LLQtdGA0Y/QtdGCINC/0YDQtdC60YDQsNGJ0LXQvdCwINC70Lgg0LTQtdGP0YLQtdC70YzQvdC+0YHRgtGMINGD0LrQsNC30LDQvdC90L7QuSDQvtGA0LPQsNC90LjQt9Cw0YbQuNC4LlxuICAgICAqXG4gICAgICogQHBhcmFtIHN1Z2dlc3Rpb24g0J7QsdGK0LXQutGCINC/0L7QtNGB0LrQsNC30LrQuCDQv9C+INC+0YDQs9Cw0L3QuNC30LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIGlzT3JnVGVybWluYXRlZChzdWdnZXN0aW9uOiBTY0lTdWdnZXN0aW9uT3JnYW5pemF0aW9uKTogYm9vbGVhbiB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3NcbiAgICAgICAgcmV0dXJuIHN1Z2dlc3Rpb24ucmF3RGF0YT8uWydzdGF0ZSddPy5zdGF0dXMgPT09ICdMSVFVSURBVEVEJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQl9Cw0L/QvtC70L3Rj9C10YIg0LrQvtC90YLRgNC+0Lsg0YHRgtGA0L7QutC+0Lkg0LLRi9Cx0YDQsNC90L3QvtCz0L4g0LDQtNGA0LXRgdCwINC4INGA0LXQs9C40YHRgtGA0LjRgNGD0LXRgiDQutCw0YfQtdGB0YLQstC+INCw0LTRgNC10YHQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzdWdnZXN0aW9uINCe0LHRitC10LrRgiDQv9C+0LTRgdC60LDQt9C60Lgg0L/QviDQsNC00YDQtdGB0YMuXG4gICAgICovXG4gICAgcHJpdmF0ZSBhcHBseUFkZHJlc3NTdWdnZXN0aW9uKHN1Z2dlc3Rpb246IFNjSVN1Z2dlc3Rpb25BZGRyZXNzKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udHJvbC5jb250cm9sPy5wYXRjaFZhbHVlKHN1Z2dlc3Rpb24uYWRkcmVzc1N0cmluZywgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuY29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5hZGRyZXNzUXVhbGl0eVNlcnZpY2Uuc2V0UXVhbGl0eSh0aGlzLmNvbnRyb2wuY29udHJvbCwgc3VnZ2VzdGlvbi5xdWFsaXR5ID8/IG51bGwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JfQsNC/0L7Qu9C90Y/QtdGCINC/0L7Qu9GPINGA0L7QtNC40YLQtdC70YzRgdC60L7QuSDQs9GA0YPQv9C/0Ysg0LTQsNC90L3Ri9C80Lgg0LLRi9Cx0YDQsNC90L3QvtC5INC+0YDQs9Cw0L3QuNC30LDRhtC40Lgg0Lgg0YDQtdCz0LjRgdGC0YDQuNGA0YPQtdGCINC60LDRh9C10YHRgtCy0L4g0LXRkSDQsNC00YDQtdGB0L7Qsi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzdWdnZXN0aW9uINCe0LHRitC10LrRgiDQv9C+0LTRgdC60LDQt9C60Lgg0L/QviDQvtGA0LPQsNC90LjQt9Cw0YbQuNC4LlxuICAgICAqL1xuICAgIHByaXZhdGUgYXBwbHlPcmdhbml6YXRpb25TdWdnZXN0aW9uKHN1Z2dlc3Rpb246IFNjSVN1Z2dlc3Rpb25Pcmdhbml6YXRpb24pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGFyZW50R3JvdXAgPSB0aGlzLmNvbnRyb2wuY29udHJvbD8ucGFyZW50IGFzIEZvcm1Hcm91cDtcblxuICAgICAgICBwYXJlbnRHcm91cC5wYXRjaFZhbHVlKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IHN1Z2dlc3Rpb24ubmFtZSxcbiAgICAgICAgICAgICAgICBpbm46IHN1Z2dlc3Rpb24uaW5uLFxuICAgICAgICAgICAgICAgIGtwcDogc3VnZ2VzdGlvbi5rcHAsXG4gICAgICAgICAgICAgICAgb2twbzogc3VnZ2VzdGlvbi5va3BvLFxuICAgICAgICAgICAgICAgIGRpcmVjdG9yTmFtZTogc3VnZ2VzdGlvbi5kaXJlY3Rvck5hbWUsXG4gICAgICAgICAgICAgICAgZGlyZWN0b3JQb3NpdGlvbjogc3VnZ2VzdGlvbi5kaXJlY3RvclBvc2l0aW9uLFxuICAgICAgICAgICAgICAgIGxlZ2FsQWRkcmVzczogc3VnZ2VzdGlvbi5sZWdhbEFkZHJlc3MsXG4gICAgICAgICAgICAgICAgcG9zdGFsQWRkcmVzczogc3VnZ2VzdGlvbi5wb3N0YWxBZGRyZXNzLFxuICAgICAgICAgICAgICAgIGFjdHVhbEFkZHJlc3M6IHN1Z2dlc3Rpb24uYWN0dWFsQWRkcmVzcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7IGVtaXRFdmVudDogZmFsc2UgfVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuYWRkcmVzc1F1YWxpdHlTZXJ2aWNlLnNldE9yZ2FuaXphdGlvbkFkZHJlc3NRdWFsaXRpZXMocGFyZW50R3JvdXAsIHN1Z2dlc3Rpb24pO1xuICAgIH1cbn1cbiIsIjx0dWktbG9hZGVyXG4gICAgc2l6ZT1cIm1cIlxuICAgIFtvdmVybGF5XT1cInRydWVcIlxuICAgIFtzaG93TG9hZGVyXT1cIiEhKGxvYWRpbmckIHwgYXN5bmMpXCJcbj5cbiAgICBAbGV0IG9wdGlvbnMgPSBzdWdnZXN0aW9ucyQgfCBhc3luYztcbiAgICA8dHVpLWRhdGEtbGlzdD5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCJcbiAgICAgICAgICAgIHR1aU9wdGlvblxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0ZWQob3B0aW9uKVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFN1Z2dlc3Rpb24ob3B0aW9uKVwiXG4gICAgICAgICAgICBjbGFzcz1cImZsZXgtY29sICFpdGVtcy1zdGFydFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBsZXQgb3B0aW9uVmFsdWUgPSAkYW55KG9wdGlvbik7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJ0eXBlXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwic3VnZ2VzdGlvblR5cGUuZmlvXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC10dWktbGlua1wiPnt7IG9wdGlvblZhbHVlLmZpbyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJzdWdnZXN0aW9uVHlwZS5vcmdhbml6YXRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXR1aS1saW5rXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb25WYWx1ZS5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1sLTEgdGV4dC10dWktdGV4dC0wMlwiPtC40L3QvToge3sgb3B0aW9uVmFsdWUuaW5uIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzT3JnVGVybWluYXRlZChvcHRpb25WYWx1ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC10dWktbmVnYXRpdmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgINCb0LjQutCy0LjQtNC40YDQvtCy0LDQvdC+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXR1aS10ZXh0LTAyXCI+e3sgb3B0aW9uVmFsdWU/LmxlZ2FsQWRkcmVzcyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChnZXRPcmdhbml6YXRpb25BZGRyZXNzUXVhbGl0eVdhcm5pbmcob3B0aW9uVmFsdWUpOyBhcyBhZGRyZXNzUXVhbGl0eVdhcm5pbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC14cyB0ZXh0LXR1aS1zdGF0dXMtd2FybmluZ1wiPnt7IGFkZHJlc3NRdWFsaXR5V2FybmluZyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cInN1Z2dlc3Rpb25UeXBlLmJhbmtcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXR1aS1saW5rXCI+e3sgb3B0aW9uVmFsdWUubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXR1aS10ZXh0LTAyXCI+e3sgb3B0aW9uVmFsdWUuYmljIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cInN1Z2dlc3Rpb25UeXBlLmVtYWlsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC10dWktbGlua1wiPnt7IG9wdGlvblZhbHVlLmVtYWlsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cInN1Z2dlc3Rpb25UeXBlLmFkZHJlc3NcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXR1aS1saW5rXCI+e3sgb3B0aW9uVmFsdWUuYWRkcmVzc1N0cmluZyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChnZXRBZGRyZXNzUXVhbGl0eVdhcm5pbmcob3B0aW9uVmFsdWUucXVhbGl0eSk7IGFzIGFkZHJlc3NRdWFsaXR5V2FybmluZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXhzIHRleHQtdHVpLXN0YXR1cy13YXJuaW5nXCI+e3sgYWRkcmVzc1F1YWxpdHlXYXJuaW5nIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC90dWktZGF0YS1saXN0PlxuPC90dWktbG9hZGVyPlxuIl19
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './sc-verification-code-timeout';
|
|
2
2
|
export * from './sc-dialog-service.providers';
|
|
3
3
|
export * from './sc-allow-select-terminated';
|
|
4
|
+
export * from './sc-block-incomplete-address';
|
|
4
5
|
export * from './sc-help-notification-limit';
|
|
5
6
|
export * from './sc-help-notification-close';
|
|
6
7
|
export * from './sc-max-files-in-form-input';
|
|
@@ -13,5 +14,4 @@ export * from './sc-notify-when-in-stock-required-fields';
|
|
|
13
14
|
export * from './sc-banner-duration';
|
|
14
15
|
export * from './sc-debounce-time-default';
|
|
15
16
|
export * from './sc-hidden-print-elements.token';
|
|
16
|
-
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvcHJvdmlkZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NjLXZlcmlmaWNhdGlvbi1jb2RlLXRpbWVvdXQnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1kaWFsb2ctc2VydmljZS5wcm92aWRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1hbGxvdy1zZWxlY3QtdGVybWluYXRlZCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWhlbHAtbm90aWZpY2F0aW9uLWxpbWl0JztcbmV4cG9ydCAqIGZyb20gJy4vc2MtaGVscC1ub3RpZmljYXRpb24tY2xvc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1tYXgtZmlsZXMtaW4tZm9ybS1pbnB1dCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLXBhZ2Utc2l6ZS1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtY291bnRyeS1pZHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy11c2VyLXByb3ZpZGVycyc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWRhdGUtZm9ybWF0dGVyJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtZGF0ZS12YWx1ZS10cmFuc2Zvcm1lcic7XG5leHBvcnQgKiBmcm9tICcuL3NjLW5vdGlmeS13aGVuLWluLXN0b2NrLXJlcXVpcmVkLWZpZWxkcyc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWJhbm5lci1kdXJhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3NjLWRlYm91bmNlLXRpbWUtZGVmYXVsdCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWhpZGRlbi1wcmludC1lbGVtZW50cy50b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL2NsZWFudXAtcmVjYXB0Y2hhLWFydGlmYWN0cyc7XG4iXX0=
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvcHJvdmlkZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NjLXZlcmlmaWNhdGlvbi1jb2RlLXRpbWVvdXQnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1kaWFsb2ctc2VydmljZS5wcm92aWRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1hbGxvdy1zZWxlY3QtdGVybWluYXRlZCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWJsb2NrLWluY29tcGxldGUtYWRkcmVzcyc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWhlbHAtbm90aWZpY2F0aW9uLWxpbWl0JztcbmV4cG9ydCAqIGZyb20gJy4vc2MtaGVscC1ub3RpZmljYXRpb24tY2xvc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1tYXgtZmlsZXMtaW4tZm9ybS1pbnB1dCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLXBhZ2Utc2l6ZS1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtY291bnRyeS1pZHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy11c2VyLXByb3ZpZGVycyc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWRhdGUtZm9ybWF0dGVyJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtZGF0ZS12YWx1ZS10cmFuc2Zvcm1lcic7XG5leHBvcnQgKiBmcm9tICcuL3NjLW5vdGlmeS13aGVuLWluLXN0b2NrLXJlcXVpcmVkLWZpZWxkcyc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWJhbm5lci1kdXJhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3NjLWRlYm91bmNlLXRpbWUtZGVmYXVsdCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWhpZGRlbi1wcmludC1lbGVtZW50cy50b2tlbic7XG4iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
/**
|
|
3
|
+
* Токен признака, что отправка форм с неполным (по данным подсказок) адресом заблокирована.
|
|
4
|
+
*/
|
|
5
|
+
export const SC_BLOCK_INCOMPLETE_ADDRESS = new InjectionToken('SC_BLOCK_INCOMPLETE_ADDRESS', {
|
|
6
|
+
factory: () => true,
|
|
7
|
+
});
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYmxvY2staW5jb21wbGV0ZS1hZGRyZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3Byb3ZpZGVycy9zYy1ibG9jay1pbmNvbXBsZXRlLWFkZHJlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLElBQUksY0FBYyxDQUFVLDZCQUE2QixFQUFFO0lBQ2xHLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJO0NBQ3RCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICog0KLQvtC60LXQvSDQv9GA0LjQt9C90LDQutCwLCDRh9GC0L4g0L7RgtC/0YDQsNCy0LrQsCDRhNC+0YDQvCDRgSDQvdC10L/QvtC70L3Ri9C8ICjQv9C+INC00LDQvdC90YvQvCDQv9C+0LTRgdC60LDQt9C+0LopINCw0LTRgNC10YHQvtC8INC30LDQsdC70L7QutC40YDQvtCy0LDQvdCwLlxuICovXG5leHBvcnQgY29uc3QgU0NfQkxPQ0tfSU5DT01QTEVURV9BRERSRVNTID0gbmV3IEluamVjdGlvblRva2VuPGJvb2xlYW4+KCdTQ19CTE9DS19JTkNPTVBMRVRFX0FERFJFU1MnLCB7XG4gICAgZmFjdG9yeTogKCkgPT4gdHJ1ZSxcbn0pO1xuIl19
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -29,8 +29,9 @@ export * from './providers';
|
|
|
29
29
|
export * from './feedback';
|
|
30
30
|
export * from './qrcode';
|
|
31
31
|
export * from './share';
|
|
32
|
+
export * from './smart-captcha';
|
|
32
33
|
export * from './user';
|
|
33
34
|
export * from './validators';
|
|
34
35
|
export * from './verification';
|
|
35
36
|
export * from './profile';
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGgnO1xuZXhwb3J0ICogZnJvbSAnLi9hY2NvcmRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9iYW5uZXInO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJ0JztcbmV4cG9ydCAqIGZyb20gJy4vY2F0YWxvZyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZ3VyYXRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250cmFnZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRhY3RzJztcbmV4cG9ydCAqIGZyb20gJy4vZGVsaXZlcnktYWRkcmVzcyc7XG5leHBvcnQgKiBmcm9tICcuL2RpYWxvZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vZXJyb3ItaGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGVzJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZHMnO1xuZXhwb3J0ICogZnJvbSAnLi9pY29ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xvYWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2JyYW5kcy1saXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbmV3cyc7XG5leHBvcnQgKiBmcm9tICcuL25vaW5kZXgtd3JhcHBlcic7XG5leHBvcnQgKiBmcm9tICcuL29yZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcGFnZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdpbmF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zYW1wbGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbWV0aG9kcyc7XG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2ZlZWRiYWNrJztcbmV4cG9ydCAqIGZyb20gJy4vcXJjb2RlJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zbWFydC1jYXB0Y2hhJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlcic7XG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi92ZXJpZmljYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9maWxlJztcbiJdfQ==
|
|
@@ -5,7 +5,6 @@ import { TuiHovered } from '@taiga-ui/cdk';
|
|
|
5
5
|
import { TuiButton, TuiError, TuiLabel } from '@taiga-ui/core';
|
|
6
6
|
import { TuiAvatar, TuiButtonLoading, TuiCarousel, TuiFieldErrorPipe } from '@taiga-ui/kit';
|
|
7
7
|
import { TuiInputModule, TuiInputPhoneModule } from '@taiga-ui/legacy';
|
|
8
|
-
import { RecaptchaFormsModule, RecaptchaModule } from 'ng-recaptcha-2';
|
|
9
8
|
import { ScFormFieldsModule } from '../form-fields';
|
|
10
9
|
import { ScPreviewSampleComponent } from './preview-sample/sc-preview-sample.component';
|
|
11
10
|
import * as i0 from "@angular/core";
|
|
@@ -26,18 +25,14 @@ export class ScPreviewSampleModule {
|
|
|
26
25
|
TuiHovered,
|
|
27
26
|
TuiButton,
|
|
28
27
|
TuiButtonLoading,
|
|
29
|
-
TuiLabel,
|
|
30
|
-
RecaptchaFormsModule,
|
|
31
|
-
RecaptchaModule], exports: [ScPreviewSampleComponent] }); }
|
|
28
|
+
TuiLabel], exports: [ScPreviewSampleComponent] }); }
|
|
32
29
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPreviewSampleModule, imports: [CommonModule,
|
|
33
30
|
ReactiveFormsModule,
|
|
34
31
|
TuiError,
|
|
35
32
|
ScFormFieldsModule,
|
|
36
33
|
TuiInputModule,
|
|
37
34
|
TuiInputPhoneModule, i2.TuiCarouselComponent, TuiAvatar,
|
|
38
|
-
TuiButtonLoading
|
|
39
|
-
RecaptchaFormsModule,
|
|
40
|
-
RecaptchaModule] }); }
|
|
35
|
+
TuiButtonLoading] }); }
|
|
41
36
|
}
|
|
42
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPreviewSampleModule, decorators: [{
|
|
43
38
|
type: NgModule,
|
|
@@ -57,10 +52,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
57
52
|
TuiButton,
|
|
58
53
|
TuiButtonLoading,
|
|
59
54
|
TuiLabel,
|
|
60
|
-
RecaptchaFormsModule,
|
|
61
|
-
RecaptchaModule,
|
|
62
55
|
],
|
|
63
56
|
exports: [ScPreviewSampleComponent],
|
|
64
57
|
}]
|
|
65
58
|
}] });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc2FtcGxlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9zYW1wbGVzL3NjLXNhbXBsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RixPQUFPLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOENBQThDLENBQUM7Ozs7QUFFeEY7O0dBRUc7QUFvQkgsTUFBTSxPQUFPLHFCQUFxQjsrR0FBckIscUJBQXFCO2dIQUFyQixxQkFBcUIsaUJBbEJmLHdCQUF3QixhQUVuQyxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLFFBQVE7WUFDUixpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxtQkFBbUIsdUlBRW5CLFNBQVM7WUFDVCxVQUFVO1lBQ1YsU0FBUztZQUNULGdCQUFnQjtZQUNoQixRQUFRLGFBRUYsd0JBQXdCO2dIQUV6QixxQkFBcUIsWUFoQjFCLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsUUFBUTtZQUVSLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsbUJBQW1CLDJCQUVuQixTQUFTO1lBR1QsZ0JBQWdCOzs0RkFLWCxxQkFBcUI7a0JBbkJqQyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLHdCQUF3QixDQUFDO29CQUN4QyxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLFFBQVE7d0JBQ1IsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixHQUFHLFdBQVc7d0JBQ2QsU0FBUzt3QkFDVCxVQUFVO3dCQUNWLFNBQVM7d0JBQ1QsZ0JBQWdCO3dCQUNoQixRQUFRO3FCQUNYO29CQUNELE9BQU8sRUFBRSxDQUFDLHdCQUF3QixDQUFDO2lCQUN0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFR1aUhvdmVyZWQgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IFR1aUJ1dHRvbiwgVHVpRXJyb3IsIFR1aUxhYmVsIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgVHVpQXZhdGFyLCBUdWlCdXR0b25Mb2FkaW5nLCBUdWlDYXJvdXNlbCwgVHVpRmllbGRFcnJvclBpcGUgfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcbmltcG9ydCB7IFR1aUlucHV0TW9kdWxlLCBUdWlJbnB1dFBob25lTW9kdWxlIH0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeSc7XG5cbmltcG9ydCB7IFNjRm9ybUZpZWxkc01vZHVsZSB9IGZyb20gJy4uL2Zvcm0tZmllbGRzJztcbmltcG9ydCB7IFNjUHJldmlld1NhbXBsZUNvbXBvbmVudCB9IGZyb20gJy4vcHJldmlldy1zYW1wbGUvc2MtcHJldmlldy1zYW1wbGUuY29tcG9uZW50JztcblxuLyoqXG4gKiDQnNC+0LTRg9C70Ywg0L/RgNC10LTRgdGC0LDQstC70LXQvdC40Y8g0L7QsdGA0LDQt9GG0L7QsiDRgtC+0LLQsNGA0LAuXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbU2NQcmV2aWV3U2FtcGxlQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgVHVpRXJyb3IsXG4gICAgICAgIFR1aUZpZWxkRXJyb3JQaXBlLFxuICAgICAgICBTY0Zvcm1GaWVsZHNNb2R1bGUsXG4gICAgICAgIFR1aUlucHV0TW9kdWxlLFxuICAgICAgICBUdWlJbnB1dFBob25lTW9kdWxlLFxuICAgICAgICAuLi5UdWlDYXJvdXNlbCxcbiAgICAgICAgVHVpQXZhdGFyLFxuICAgICAgICBUdWlIb3ZlcmVkLFxuICAgICAgICBUdWlCdXR0b24sXG4gICAgICAgIFR1aUJ1dHRvbkxvYWRpbmcsXG4gICAgICAgIFR1aUxhYmVsLFxuICAgIF0sXG4gICAgZXhwb3J0czogW1NjUHJldmlld1NhbXBsZUNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNjUHJldmlld1NhbXBsZU1vZHVsZSB7fVxuIl19
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from './sc-help-notification.service';
|
|
2
2
|
export * from './print.service';
|
|
3
|
-
|
|
3
|
+
export * from './sc-scripts.service';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NjLWhlbHAtbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wcmludC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2Mtc2NyaXB0cy5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
|
2
|
+
import { inject, Injectable, NgZone, RendererFactory2 } from '@angular/core';
|
|
3
|
+
import { IS_BROWSER } from '@snabcentr/client-core';
|
|
4
|
+
import { EMPTY, Observable } from 'rxjs';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* Сервис для вставки в {@link Document} внешних и дополнительных скриптов.
|
|
8
|
+
*/
|
|
9
|
+
export class ScScriptsService {
|
|
10
|
+
constructor() {
|
|
11
|
+
/**
|
|
12
|
+
* Объект {@link Document}, предоставляющий доступ к DOM страницы.
|
|
13
|
+
*/
|
|
14
|
+
this.document = inject(DOCUMENT);
|
|
15
|
+
/**
|
|
16
|
+
* Объект {@link Renderer2}, предоставляющий доступ к DOM страницы.
|
|
17
|
+
*/
|
|
18
|
+
this.renderer = inject(RendererFactory2).createRenderer(null, null);
|
|
19
|
+
/**
|
|
20
|
+
* Признак того, что скрипт выполняется в браузере.
|
|
21
|
+
*/
|
|
22
|
+
this.isBrowser = inject(IS_BROWSER);
|
|
23
|
+
/**
|
|
24
|
+
* {@link NgZone} для вставки скриптов вне зоны Angular.
|
|
25
|
+
*/
|
|
26
|
+
this.ngZone = inject(NgZone);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Вставляет в конец {@link Document.body} скрипты, заданные строками HTML, вне зоны Angular. Из каждой строки берётся первый `<script>`. На сервере ничего не делает.
|
|
30
|
+
* Принимает только доверенные строки из конфигурации приложения: строка разбирается как HTML и может выполнить код.
|
|
31
|
+
*
|
|
32
|
+
* @param scriptStrings Строки HTML скриптов.
|
|
33
|
+
*/
|
|
34
|
+
appendScripts(scriptStrings) {
|
|
35
|
+
if (!this.isBrowser) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
this.ngZone.runOutsideAngular(() => {
|
|
39
|
+
scriptStrings.forEach((scriptString) => {
|
|
40
|
+
const script = this.createScript(scriptString);
|
|
41
|
+
if (script) {
|
|
42
|
+
this.renderer.appendChild(this.document.body, script);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Загружает внешний скрипт: при подписке добавляет его в {@link Document.head}, после загрузки выдаёт элемент скрипта и завершается.
|
|
49
|
+
* Если скрипт не загрузился или подписка отменена раньше, удаляет его со страницы; удаление не отменяет загрузку и выполнение уже вставленного скрипта. На сервере завершается без загрузки.
|
|
50
|
+
*
|
|
51
|
+
* @param url Адрес скрипта.
|
|
52
|
+
*/
|
|
53
|
+
loadScript$(url) {
|
|
54
|
+
if (!this.isBrowser) {
|
|
55
|
+
return EMPTY;
|
|
56
|
+
}
|
|
57
|
+
return new Observable((subscriber) => {
|
|
58
|
+
const script = this.renderer.createElement('script');
|
|
59
|
+
let isLoaded = false;
|
|
60
|
+
const unlistenLoad = this.renderer.listen(script, 'load', () => {
|
|
61
|
+
isLoaded = true;
|
|
62
|
+
subscriber.next(script);
|
|
63
|
+
subscriber.complete();
|
|
64
|
+
});
|
|
65
|
+
const unlistenError = this.renderer.listen(script, 'error', () => {
|
|
66
|
+
subscriber.error(new Error(`Failed to load script ${url}`));
|
|
67
|
+
});
|
|
68
|
+
this.renderer.setProperty(script, 'src', url);
|
|
69
|
+
this.renderer.appendChild(this.document.head, script);
|
|
70
|
+
return () => {
|
|
71
|
+
unlistenLoad();
|
|
72
|
+
unlistenError();
|
|
73
|
+
if (!isLoaded) {
|
|
74
|
+
this.removeScript(script);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Удаляет скрипт со страницы. При подключённых анимациях Angular узел удаляется при ближайшей проверке изменений.
|
|
81
|
+
*
|
|
82
|
+
* @param script Элемент скрипта.
|
|
83
|
+
*/
|
|
84
|
+
removeScript(script) {
|
|
85
|
+
this.renderer.removeChild(script.parentNode, script);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Создаёт {@link HTMLScriptElement} из строки HTML скрипта.
|
|
89
|
+
*
|
|
90
|
+
* @param scriptString Строка HTML скрипта.
|
|
91
|
+
*/
|
|
92
|
+
createScript(scriptString) {
|
|
93
|
+
const range = this.document.createRange();
|
|
94
|
+
const fragment = range.createContextualFragment(scriptString);
|
|
95
|
+
return fragment.querySelector('script');
|
|
96
|
+
}
|
|
97
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScScriptsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
98
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScScriptsService, providedIn: 'root' }); }
|
|
99
|
+
}
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScScriptsService, decorators: [{
|
|
101
|
+
type: Injectable,
|
|
102
|
+
args: [{
|
|
103
|
+
providedIn: 'root',
|
|
104
|
+
}]
|
|
105
|
+
}] });
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc2NyaXB0cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3NlcnZpY2VzL3NjLXNjcmlwdHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFhLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFekM7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZ0JBQWdCO0lBSDdCO1FBSUk7O1dBRUc7UUFDYyxhQUFRLEdBQWEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXZEOztXQUVHO1FBQ2MsYUFBUSxHQUFjLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFM0Y7O1dBRUc7UUFDYyxjQUFTLEdBQVksTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXpEOztXQUVHO1FBQ2MsV0FBTSxHQUFXLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztLQWtGcEQ7SUFoRkc7Ozs7O09BS0c7SUFDSSxhQUFhLENBQUMsYUFBZ0M7UUFDakQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNsQixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQy9CLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRTtnQkFDbkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFFL0MsSUFBSSxNQUFNLEVBQUUsQ0FBQztvQkFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDMUQsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxXQUFXLENBQUMsR0FBVztRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2xCLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7UUFFRCxPQUFPLElBQUksVUFBVSxDQUFvQixDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3BELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBc0IsQ0FBQztZQUMxRSxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFFckIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUU7Z0JBQzNELFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ2hCLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3hCLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMxQixDQUFDLENBQUMsQ0FBQztZQUNILE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFO2dCQUM3RCxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLHlCQUF5QixHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDaEUsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBRXRELE9BQU8sR0FBRyxFQUFFO2dCQUNSLFlBQVksRUFBRSxDQUFDO2dCQUNmLGFBQWEsRUFBRSxDQUFDO2dCQUVoQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDOUIsQ0FBQztZQUNMLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxZQUFZLENBQUMsTUFBeUI7UUFDekMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFlBQVksQ0FBQyxZQUFvQjtRQUNyQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUU5RCxPQUFPLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUMsQ0FBQzsrR0FwR1EsZ0JBQWdCO21IQUFoQixnQkFBZ0IsY0FGYixNQUFNOzs0RkFFVCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBOZ1pvbmUsIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5MiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVNfQlJPV1NFUiB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgRU1QVFksIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiDQodC10YDQstC40YEg0LTQu9GPINCy0YHRgtCw0LLQutC4INCyIHtAbGluayBEb2N1bWVudH0g0LLQvdC10YjQvdC40YUg0Lgg0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvRhSDRgdC60YDQuNC/0YLQvtCyLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY1NjcmlwdHNTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiDQntCx0YrQtdC60YIge0BsaW5rIERvY3VtZW50fSwg0L/RgNC10LTQvtGB0YLQsNCy0LvRj9GO0YnQuNC5INC00L7RgdGC0YPQvyDQuiBET00g0YHRgtGA0LDQvdC40YbRiy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50OiBEb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YrQtdC60YIge0BsaW5rIFJlbmRlcmVyMn0sINC/0YDQtdC00L7RgdGC0LDQstC70Y/RjtGJ0LjQuSDQtNC+0YHRgtGD0L8g0LogRE9NINGB0YLRgNCw0L3QuNGG0YsuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyID0gaW5qZWN0KFJlbmRlcmVyRmFjdG9yeTIpLmNyZWF0ZVJlbmRlcmVyKG51bGwsIG51bGwpO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0Log0YLQvtCz0L4sINGH0YLQviDRgdC60YDQuNC/0YIg0LLRi9C/0L7Qu9C90Y/QtdGC0YHRjyDQsiDQsdGA0LDRg9C30LXRgNC1LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNCcm93c2VyOiBib29sZWFuID0gaW5qZWN0KElTX0JST1dTRVIpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE5nWm9uZX0g0LTQu9GPINCy0YHRgtCw0LLQutC4INGB0LrRgNC40L/RgtC+0LIg0LLQvdC1INC30L7QvdGLIEFuZ3VsYXIuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gICAgLyoqXG4gICAgICog0JLRgdGC0LDQstC70Y/QtdGCINCyINC60L7QvdC10YYge0BsaW5rIERvY3VtZW50LmJvZHl9INGB0LrRgNC40L/RgtGLLCDQt9Cw0LTQsNC90L3Ri9C1INGB0YLRgNC+0LrQsNC80LggSFRNTCwg0LLQvdC1INC30L7QvdGLIEFuZ3VsYXIuINCY0Lcg0LrQsNC20LTQvtC5INGB0YLRgNC+0LrQuCDQsdC10YDRkdGC0YHRjyDQv9C10YDQstGL0LkgYDxzY3JpcHQ+YC4g0J3QsCDRgdC10YDQstC10YDQtSDQvdC40YfQtdCz0L4g0L3QtSDQtNC10LvQsNC10YIuXG4gICAgICog0J/RgNC40L3QuNC80LDQtdGCINGC0L7Qu9GM0LrQviDQtNC+0LLQtdGA0LXQvdC90YvQtSDRgdGC0YDQvtC60Lgg0LjQtyDQutC+0L3RhNC40LPRg9GA0LDRhtC40Lgg0L/RgNC40LvQvtC20LXQvdC40Y86INGB0YLRgNC+0LrQsCDRgNCw0LfQsdC40YDQsNC10YLRgdGPINC60LDQuiBIVE1MINC4INC80L7QttC10YIg0LLRi9C/0L7Qu9C90LjRgtGMINC60L7QtC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzY3JpcHRTdHJpbmdzINCh0YLRgNC+0LrQuCBIVE1MINGB0LrRgNC40L/RgtC+0LIuXG4gICAgICovXG4gICAgcHVibGljIGFwcGVuZFNjcmlwdHMoc2NyaXB0U3RyaW5nczogcmVhZG9ubHkgc3RyaW5nW10pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzQnJvd3Nlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgc2NyaXB0U3RyaW5ncy5mb3JFYWNoKChzY3JpcHRTdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzY3JpcHQgPSB0aGlzLmNyZWF0ZVNjcmlwdChzY3JpcHRTdHJpbmcpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHNjcmlwdCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZG9jdW1lbnQuYm9keSwgc2NyaXB0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JfQsNCz0YDRg9C20LDQtdGCINCy0L3QtdGI0L3QuNC5INGB0LrRgNC40L/Rgjog0L/RgNC4INC/0L7QtNC/0LjRgdC60LUg0LTQvtCx0LDQstC70Y/QtdGCINC10LPQviDQsiB7QGxpbmsgRG9jdW1lbnQuaGVhZH0sINC/0L7RgdC70LUg0LfQsNCz0YDRg9C30LrQuCDQstGL0LTQsNGR0YIg0Y3Qu9C10LzQtdC90YIg0YHQutGA0LjQv9GC0LAg0Lgg0LfQsNCy0LXRgNGI0LDQtdGC0YHRjy5cbiAgICAgKiDQldGB0LvQuCDRgdC60YDQuNC/0YIg0L3QtSDQt9Cw0LPRgNGD0LfQuNC70YHRjyDQuNC70Lgg0L/QvtC00L/QuNGB0LrQsCDQvtGC0LzQtdC90LXQvdCwINGA0LDQvdGM0YjQtSwg0YPQtNCw0LvRj9C10YIg0LXQs9C+INGB0L4g0YHRgtGA0LDQvdC40YbRizsg0YPQtNCw0LvQtdC90LjQtSDQvdC1INC+0YLQvNC10L3Rj9C10YIg0LfQsNCz0YDRg9C30LrRgyDQuCDQstGL0L/QvtC70L3QtdC90LjQtSDRg9C20LUg0LLRgdGC0LDQstC70LXQvdC90L7Qs9C+INGB0LrRgNC40L/RgtCwLiDQndCwINGB0LXRgNCy0LXRgNC1INC30LDQstC10YDRiNCw0LXRgtGB0Y8g0LHQtdC3INC30LDQs9GA0YPQt9C60LguXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdXJsINCQ0LTRgNC10YEg0YHQutGA0LjQv9GC0LAuXG4gICAgICovXG4gICAgcHVibGljIGxvYWRTY3JpcHQkKHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxIVE1MU2NyaXB0RWxlbWVudD4ge1xuICAgICAgICBpZiAoIXRoaXMuaXNCcm93c2VyKSB7XG4gICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8SFRNTFNjcmlwdEVsZW1lbnQ+KChzdWJzY3JpYmVyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzY3JpcHQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpIGFzIEhUTUxTY3JpcHRFbGVtZW50O1xuICAgICAgICAgICAgbGV0IGlzTG9hZGVkID0gZmFsc2U7XG5cbiAgICAgICAgICAgIGNvbnN0IHVubGlzdGVuTG9hZCA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHNjcmlwdCwgJ2xvYWQnLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dChzY3JpcHQpO1xuICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgdW5saXN0ZW5FcnJvciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHNjcmlwdCwgJ2Vycm9yJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuZXJyb3IobmV3IEVycm9yKGBGYWlsZWQgdG8gbG9hZCBzY3JpcHQgJHt1cmx9YCkpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkoc2NyaXB0LCAnc3JjJywgdXJsKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5kb2N1bWVudC5oZWFkLCBzY3JpcHQpO1xuXG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIHVubGlzdGVuTG9hZCgpO1xuICAgICAgICAgICAgICAgIHVubGlzdGVuRXJyb3IoKTtcblxuICAgICAgICAgICAgICAgIGlmICghaXNMb2FkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVTY3JpcHQoc2NyaXB0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9C00LDQu9GP0LXRgiDRgdC60YDQuNC/0YIg0YHQviDRgdGC0YDQsNC90LjRhtGLLiDQn9GA0Lgg0L/QvtC00LrQu9GO0YfRkdC90L3Ri9GFINCw0L3QuNC80LDRhtC40Y/RhSBBbmd1bGFyINGD0LfQtdC7INGD0LTQsNC70Y/QtdGC0YHRjyDQv9GA0Lgg0LHQu9C40LbQsNC50YjQtdC5INC/0YDQvtCy0LXRgNC60LUg0LjQt9C80LXQvdC10L3QuNC5LlxuICAgICAqXG4gICAgICogQHBhcmFtIHNjcmlwdCDQrdC70LXQvNC10L3RgiDRgdC60YDQuNC/0YLQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVtb3ZlU2NyaXB0KHNjcmlwdDogSFRNTFNjcmlwdEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZChzY3JpcHQucGFyZW50Tm9kZSwgc2NyaXB0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0ZHRgiB7QGxpbmsgSFRNTFNjcmlwdEVsZW1lbnR9INC40Lcg0YHRgtGA0L7QutC4IEhUTUwg0YHQutGA0LjQv9GC0LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc2NyaXB0U3RyaW5nINCh0YLRgNC+0LrQsCBIVE1MINGB0LrRgNC40L/RgtCwLlxuICAgICAqL1xuICAgIHByaXZhdGUgY3JlYXRlU2NyaXB0KHNjcmlwdFN0cmluZzogc3RyaW5nKTogSFRNTFNjcmlwdEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgY29uc3QgcmFuZ2UgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7XG4gICAgICAgIGNvbnN0IGZyYWdtZW50ID0gcmFuZ2UuY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KHNjcmlwdFN0cmluZyk7XG5cbiAgICAgICAgcmV0dXJuIGZyYWdtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NjcmlwdCcpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './interfaces';
|
|
2
|
+
export * from './sc-smart-captcha.component';
|
|
3
|
+
export * from './services';
|
|
4
|
+
export * from './tokens';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvc21hcnQtY2FwdGNoYS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vc2Mtc21hcnQtY2FwdGNoYS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucyc7XG4iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './sc-smart-captcha-api';
|
|
2
|
+
export * from './sc-smart-captcha-event';
|
|
3
|
+
export * from './sc-smart-captcha-language';
|
|
4
|
+
export * from './sc-smart-captcha-render-params';
|
|
5
|
+
export * from './sc-smart-captcha-settings';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvc21hcnQtY2FwdGNoYS9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2Mtc21hcnQtY2FwdGNoYS1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1zbWFydC1jYXB0Y2hhLWV2ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2Mtc21hcnQtY2FwdGNoYS1sYW5ndWFnZSc7XG5leHBvcnQgKiBmcm9tICcuL3NjLXNtYXJ0LWNhcHRjaGEtcmVuZGVyLXBhcmFtcyc7XG5leHBvcnQgKiBmcm9tICcuL3NjLXNtYXJ0LWNhcHRjaGEtc2V0dGluZ3MnO1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc21hcnQtY2FwdGNoYS1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvc21hcnQtY2FwdGNoYS9pbnRlcmZhY2VzL3NjLXNtYXJ0LWNhcHRjaGEtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY1NtYXJ0Q2FwdGNoYUV2ZW50IH0gZnJvbSAnLi9zYy1zbWFydC1jYXB0Y2hhLWV2ZW50JztcbmltcG9ydCB7IFNjU21hcnRDYXB0Y2hhUmVuZGVyUGFyYW1zIH0gZnJvbSAnLi9zYy1zbWFydC1jYXB0Y2hhLXJlbmRlci1wYXJhbXMnO1xuXG4vKipcbiAqIEFQSSBZYW5kZXggU21hcnRDYXB0Y2hhLCDQtNC+0YHRgtGD0L/QvdC+0LUg0LIgYHdpbmRvdy5zbWFydENhcHRjaGFgINC/0L7RgdC70LUg0LfQsNCz0YDRg9C30LrQuCDRgdC60YDQuNC/0YLQsC5cbiAqXG4gKiBAc2VlIFvQnNC10YLQvtC00Ysgd2luZG93LnNtYXJ0Q2FwdGNoYV0oaHR0cHM6Ly95YW5kZXguY2xvdWQvcnUvZG9jcy9zbWFydGNhcHRjaGEvY29uY2VwdHMvd2lkZ2V0LW1ldGhvZHMjbWV0aG9kcylcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTY1NtYXJ0Q2FwdGNoYUFwaSB7XG4gICAgLyoqXG4gICAgICog0J7RgtGA0LjRgdC+0LLRi9Cy0LDQtdGCINCy0LjQtNC20LXRgiDQsiDQutC+0L3RgtC10LnQvdC10YDQtSDQuCDQstC+0LfQstGA0LDRidCw0LXRgiDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQstC40LTQttC10YLQsCAo0LzQvtC20LXRgiDQsdGL0YLRjCDRgNCw0LLQtdC9IGAwYCkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGFpbmVyINCa0L7QvdGC0LXQudC90LXRgCDQtNC70Y8g0LLQuNC00LbQtdGC0LAuXG4gICAgICogQHBhcmFtIHBhcmFtcyDQn9Cw0YDQsNC80LXRgtGA0Ysg0L7RgtGA0LjRgdC+0LLQutC4LlxuICAgICAqL1xuICAgIHJlbmRlcjogKGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsIHBhcmFtczogU2NTbWFydENhcHRjaGFSZW5kZXJQYXJhbXMpID0+IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCh0LHRgNCw0YHRi9Cy0LDQtdGCINCy0LjQtNC20LXRgiDQsiDQvdCw0YfQsNC70YzQvdC+0LUg0YHQvtGB0YLQvtGP0L3QuNC1LlxuICAgICAqXG4gICAgICogQHBhcmFtIHdpZGdldElkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINCy0LjQtNC20LXRgtCwLlxuICAgICAqL1xuICAgIHJlc2V0OiAod2lkZ2V0SWQ6IG51bWJlcikgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqINCj0LTQsNC70Y/QtdGCINCy0LjQtNC20LXRgiDQuCDRgdC+0LfQtNCw0L3QvdGL0LUg0LjQvCDRjdC70LXQvNC10L3RgtGLINC4INC+0LHRgNCw0LHQvtGC0YfQuNC60LguXG4gICAgICpcbiAgICAgKiBAcGFyYW0gd2lkZ2V0SWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LLQuNC00LbQtdGC0LAuXG4gICAgICovXG4gICAgZGVzdHJveTogKHdpZGdldElkOiBudW1iZXIpID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiDQn9C+0LTQv9C40YHRi9Cy0LDQtdGCINC+0LHRgNCw0LHQvtGC0YfQuNC6INC90LAg0YHQvtCx0YvRgtC40LUg0LLQuNC00LbQtdGC0LAg0Lgg0LLQvtC30LLRgNCw0YnQsNC10YIg0YTRg9C90LrRhtC40Y4g0L7RgtC/0LjRgdC60LguXG4gICAgICpcbiAgICAgKiBAcGFyYW0gd2lkZ2V0SWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LLQuNC00LbQtdGC0LAuXG4gICAgICogQHBhcmFtIGV2ZW50INCh0L7QsdGL0YLQuNC1INCy0LjQtNC20LXRgtCwLlxuICAgICAqIEBwYXJhbSBjYWxsYmFjayDQntCx0YDQsNCx0L7RgtGH0LjQuiDRgdC+0LHRi9GC0LjRjywg0LTQu9GPINGB0L7QsdGL0YLQuNGPIGBzdWNjZXNzYCDQv9C+0LvRg9GH0LDQtdGCINGC0L7QutC10L0uXG4gICAgICovXG4gICAgc3Vic2NyaWJlOiAod2lkZ2V0SWQ6IG51bWJlciwgZXZlbnQ6IFNjU21hcnRDYXB0Y2hhRXZlbnQsIGNhbGxiYWNrOiAocGF5bG9hZD86IHVua25vd24pID0+IHZvaWQpID0+ICgpID0+IHZvaWQ7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc21hcnQtY2FwdGNoYS1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9zbWFydC1jYXB0Y2hhL2ludGVyZmFjZXMvc2Mtc21hcnQtY2FwdGNoYS1ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiDQodC+0LHRi9GC0LjQtSDQstC40LTQttC10YLQsCBZYW5kZXggU21hcnRDYXB0Y2hhLCDQvdCwINC60L7RgtC+0YDQvtC1INC80L7QttC90L4g0L/QvtC00L/QuNGB0LDRgtGM0YHRjy5cbiAqL1xuZXhwb3J0IHR5cGUgU2NTbWFydENhcHRjaGFFdmVudCA9ICdjaGFsbGVuZ2UtdmlzaWJsZScgfCAnY2hhbGxlbmdlLWhpZGRlbicgfCAnbmV0d29yay1lcnJvcicgfCAnamF2YXNjcmlwdC1lcnJvcicgfCAnc3VjY2VzcycgfCAndG9rZW4tZXhwaXJlZCc7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc21hcnQtY2FwdGNoYS1sYW5ndWFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9zbWFydC1jYXB0Y2hhL2ludGVyZmFjZXMvc2Mtc21hcnQtY2FwdGNoYS1sYW5ndWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiDQr9C30YvQuiDQstC40LTQttC10YLQsCBZYW5kZXggU21hcnRDYXB0Y2hhLlxuICovXG5leHBvcnQgdHlwZSBTY1NtYXJ0Q2FwdGNoYUxhbmd1YWdlID0gJ3J1JyB8ICdlbicgfCAnYmUnIHwgJ2trJyB8ICd0dCcgfCAndWsnIHwgJ3V6JyB8ICd0cic7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc21hcnQtY2FwdGNoYS1yZW5kZXItcGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3NtYXJ0LWNhcHRjaGEvaW50ZXJmYWNlcy9zYy1zbWFydC1jYXB0Y2hhLXJlbmRlci1wYXJhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjU21hcnRDYXB0Y2hhTGFuZ3VhZ2UgfSBmcm9tICcuL3NjLXNtYXJ0LWNhcHRjaGEtbGFuZ3VhZ2UnO1xuXG4vKipcbiAqINCf0LDRgNCw0LzQtdGC0YDRiyDQvtGC0YDQuNGB0L7QstC60Lgg0LLQuNC00LbQtdGC0LAgWWFuZGV4IFNtYXJ0Q2FwdGNoYS5cbiAqXG4gKiBAc2VlIFvQnNC10YLQvtC0IHJlbmRlcl0oaHR0cHM6Ly95YW5kZXguY2xvdWQvcnUvZG9jcy9zbWFydGNhcHRjaGEvY29uY2VwdHMvd2lkZ2V0LW1ldGhvZHMjcmVuZGVyKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjU21hcnRDYXB0Y2hhUmVuZGVyUGFyYW1zIHtcbiAgICAvKipcbiAgICAgKiDQmtC70Y7RhyDQutC70LjQtdC90YLRgdC60L7QuSDRh9Cw0YHRgtC4LlxuICAgICAqL1xuICAgIHNpdGVrZXk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCv0LfRi9C6INCy0LjQtNC20LXRgtCwLlxuICAgICAqL1xuICAgIGhsPzogU2NTbWFydENhcHRjaGFMYW5ndWFnZTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc21hcnQtY2FwdGNoYS1zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9zbWFydC1jYXB0Y2hhL2ludGVyZmFjZXMvc2Mtc21hcnQtY2FwdGNoYS1zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NTbWFydENhcHRjaGFMYW5ndWFnZSB9IGZyb20gJy4vc2Mtc21hcnQtY2FwdGNoYS1sYW5ndWFnZSc7XG5cbi8qKlxuICog0J3QsNGB0YLRgNC+0LnQutC4IFlhbmRleCBTbWFydENhcHRjaGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NTbWFydENhcHRjaGFTZXR0aW5ncyB7XG4gICAgLyoqXG4gICAgICog0JrQu9GO0Ycg0LrQu9C40LXQvdGC0YHQutC+0Lkg0YfQsNGB0YLQuC5cbiAgICAgKlxuICAgICAqIEBzZWUgW9Ca0LvRjtGH0Lgg0LrQsNC/0YfQuF0oaHR0cHM6Ly95YW5kZXguY2xvdWQvcnUvZG9jcy9zbWFydGNhcHRjaGEvY29uY2VwdHMva2V5cylcbiAgICAgKi9cbiAgICBzaXRla2V5OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQr9C30YvQuiDQstC40LTQttC10YLQsC5cbiAgICAgKi9cbiAgICBsYW5ndWFnZTogU2NTbWFydENhcHRjaGFMYW5ndWFnZTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc21hcnQtY2FwdGNoYS13aW5kb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvc21hcnQtY2FwdGNoYS9pbnRlcmZhY2VzL3NjLXNtYXJ0LWNhcHRjaGEtd2luZG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY1NtYXJ0Q2FwdGNoYUFwaSB9IGZyb20gJy4vc2Mtc21hcnQtY2FwdGNoYS1hcGknO1xuXG4vKipcbiAqINCe0LrQvdC+INCx0YDQsNGD0LfQtdGA0LAg0YEgQVBJIFlhbmRleCBTbWFydENhcHRjaGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NTbWFydENhcHRjaGFXaW5kb3cgZXh0ZW5kcyBXaW5kb3cge1xuICAgIC8qKlxuICAgICAqIEFQSSBZYW5kZXggU21hcnRDYXB0Y2hhLCDQv9C+0Y/QstC70Y/QtdGC0YHRjyDQv9C+0YHQu9C1INC30LDQs9GA0YPQt9C60Lgg0YHQutGA0LjQv9GC0LAuXG4gICAgICovXG4gICAgc21hcnRDYXB0Y2hhPzogU2NTbWFydENhcHRjaGFBcGk7XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YDQsNCx0L7RgtGH0LjQuiDQt9Cw0LPRgNGD0LfQutC4INGB0LrRgNC40L/RgtCwLCDQuNC80Y8g0LrQvtGC0L7RgNC+0LPQviDQv9C10YDQtdC00LDRkdGC0YHRjyDQsiDQv9Cw0YDQsNC80LXRgtGA0LUgYG9ubG9hZGAg0LDQtNGA0LXRgdCwINGB0LrRgNC40L/RgtCwLlxuICAgICAqL1xuICAgIHNjU21hcnRDYXB0Y2hhT25sb2FkPzogKCkgPT4gdm9pZDtcbn1cbiJdfQ==
|