@osovitny/anatoly 2.15.5 → 2.15.6
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/esm2020/lib/ui/forms/contact-us/contact-us.mjs +41 -55
- package/fesm2015/osovitny-anatoly.mjs +53 -70
- package/fesm2015/osovitny-anatoly.mjs.map +1 -1
- package/fesm2020/osovitny-anatoly.mjs +53 -67
- package/fesm2020/osovitny-anatoly.mjs.map +1 -1
- package/lib/ui/forms/contact-us/contact-us.d.ts +4 -4
- package/package.json +1 -1
|
@@ -14,47 +14,47 @@
|
|
|
14
14
|
</file>
|
|
15
15
|
*/
|
|
16
16
|
//Node
|
|
17
|
-
import { Component, EventEmitter, Input, Output
|
|
17
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
18
18
|
import { FormControl, Validators } from '@angular/forms';
|
|
19
19
|
import { BaseEditComponent } from "../../components/base/base-edit.component";
|
|
20
20
|
import * as i0 from "@angular/core";
|
|
21
|
-
import * as i1 from "
|
|
22
|
-
import * as i2 from "
|
|
23
|
-
import * as i3 from "../../../
|
|
24
|
-
import * as i4 from "../../../
|
|
25
|
-
import * as i5 from "
|
|
26
|
-
import * as i6 from "
|
|
21
|
+
import * as i1 from "ngx-captcha";
|
|
22
|
+
import * as i2 from "@angular/forms";
|
|
23
|
+
import * as i3 from "../../../core/services/appcontext.service";
|
|
24
|
+
import * as i4 from "../../../data/services/emails-api.service";
|
|
25
|
+
import * as i5 from "../../../core/notifications/services/notification-service";
|
|
26
|
+
import * as i6 from "@angular/common";
|
|
27
27
|
import * as i7 from "../../directives/native-element.directive";
|
|
28
28
|
import * as i8 from "../../validation/form-validation-summary.component";
|
|
29
29
|
import * as i9 from "../../validation/item-validation-summary.component";
|
|
30
|
-
const _c0 = ["recaptcha"];
|
|
31
30
|
function ContactUsForm_option_12_Template(rf, ctx) { if (rf & 1) {
|
|
32
|
-
i0.ɵɵelementStart(0, "option",
|
|
31
|
+
i0.ɵɵelementStart(0, "option", 28);
|
|
33
32
|
i0.ɵɵtext(1);
|
|
34
33
|
i0.ɵɵelementEnd();
|
|
35
34
|
} if (rf & 2) {
|
|
36
|
-
const
|
|
37
|
-
i0.ɵɵproperty("value",
|
|
35
|
+
const topic_r3 = ctx.$implicit;
|
|
36
|
+
i0.ɵɵproperty("value", topic_r3.value);
|
|
38
37
|
i0.ɵɵadvance(1);
|
|
39
|
-
i0.ɵɵtextInterpolate1("",
|
|
38
|
+
i0.ɵɵtextInterpolate1("", topic_r3.value, " ");
|
|
40
39
|
} }
|
|
41
40
|
function ContactUsForm_p_23_Template(rf, ctx) { if (rf & 1) {
|
|
42
41
|
i0.ɵɵelementStart(0, "p");
|
|
43
42
|
i0.ɵɵtext(1, "Please indicate the email used for your MailEx login if you already have an account");
|
|
44
43
|
i0.ɵɵelementEnd();
|
|
45
44
|
} }
|
|
46
|
-
function
|
|
47
|
-
i0.ɵɵelementStart(0, "button",
|
|
45
|
+
function ContactUsForm_button_38_Template(rf, ctx) { if (rf & 1) {
|
|
46
|
+
i0.ɵɵelementStart(0, "button", 29);
|
|
48
47
|
i0.ɵɵtext(1, " Submit ");
|
|
49
48
|
i0.ɵɵelementEnd();
|
|
50
49
|
} if (rf & 2) {
|
|
51
|
-
const
|
|
52
|
-
i0.ɵɵclassProp("btn-primary", !
|
|
50
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
51
|
+
i0.ɵɵclassProp("btn-primary", !ctx_r2.formGroup.invalid);
|
|
53
52
|
} }
|
|
54
|
-
const
|
|
53
|
+
const _c0 = function (a0) { return { "has-error": a0 }; };
|
|
55
54
|
export class ContactUsForm extends BaseEditComponent {
|
|
56
|
-
constructor(fb, appContext, api, notificationService) {
|
|
55
|
+
constructor(reCaptcha, fb, appContext, api, notificationService) {
|
|
57
56
|
super();
|
|
57
|
+
this.reCaptcha = reCaptcha;
|
|
58
58
|
this.fb = fb;
|
|
59
59
|
this.appContext = appContext;
|
|
60
60
|
this.api = api;
|
|
@@ -80,7 +80,6 @@ export class ContactUsForm extends BaseEditComponent {
|
|
|
80
80
|
}
|
|
81
81
|
createFormGroup() {
|
|
82
82
|
this.formGroup = this.fb.group({
|
|
83
|
-
captcha: new FormControl(null, [Validators.required]),
|
|
84
83
|
name: new FormControl('', [Validators.required]),
|
|
85
84
|
email: new FormControl('', [Validators.required]),
|
|
86
85
|
topic: new FormControl('', [Validators.required]),
|
|
@@ -90,7 +89,7 @@ export class ContactUsForm extends BaseEditComponent {
|
|
|
90
89
|
}
|
|
91
90
|
setContext(context) {
|
|
92
91
|
this.isUserSignedIn = context.isUserSignedIn;
|
|
93
|
-
this.
|
|
92
|
+
this.reCaptchaSiteKey = context.reCaptchaSiteKeyV3;
|
|
94
93
|
this.selectedTopic = this.topicList[3].value;
|
|
95
94
|
this.setFormValue('topic', this.selectedTopic);
|
|
96
95
|
if (this.isUserSignedIn) {
|
|
@@ -105,20 +104,20 @@ export class ContactUsForm extends BaseEditComponent {
|
|
|
105
104
|
this.formSubmitted = true;
|
|
106
105
|
if (!this.isValid())
|
|
107
106
|
return;
|
|
108
|
-
const captcha = this.getFormValue('captcha');
|
|
109
107
|
const name = this.getFormValue('name');
|
|
110
108
|
const email = this.getFormValue('email');
|
|
111
109
|
const topic = this.selectedTopic;
|
|
112
110
|
const subject = this.getFormValue('subject');
|
|
113
111
|
const message = this.getFormValue('message');
|
|
114
|
-
this.
|
|
115
|
-
this.
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
112
|
+
this.reCaptcha.execute(this.reCaptchaSiteKey, 'ContactUs', (token) => {
|
|
113
|
+
this.api.sendContactUs(token, name, email, topic, subject, message, () => {
|
|
114
|
+
this.formSubmitted = false;
|
|
115
|
+
this.notificationService.success('Message has been sent successfully');
|
|
116
|
+
this.formGroup.reset();
|
|
117
|
+
this.submit.emit();
|
|
118
|
+
}, () => {
|
|
119
|
+
this.notificationService.error();
|
|
120
|
+
});
|
|
122
121
|
});
|
|
123
122
|
}
|
|
124
123
|
//Events
|
|
@@ -129,13 +128,8 @@ export class ContactUsForm extends BaseEditComponent {
|
|
|
129
128
|
this.selectedTopic = event.target.value;
|
|
130
129
|
}
|
|
131
130
|
}
|
|
132
|
-
ContactUsForm.ɵfac = function ContactUsForm_Factory(t) { return new (t || ContactUsForm)(i0.ɵɵdirectiveInject(i1.
|
|
133
|
-
ContactUsForm.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContactUsForm, selectors: [["anatoly-forms-contactus-form"]],
|
|
134
|
-
i0.ɵɵviewQuery(_c0, 5);
|
|
135
|
-
} if (rf & 2) {
|
|
136
|
-
let _t;
|
|
137
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.recaptcha = _t.first);
|
|
138
|
-
} }, inputs: { showActionButtons: "showActionButtons" }, outputs: { submit: "submit" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 43, vars: 32, consts: [["novalidate", "", 3, "formGroup", "ngSubmit"], [3, "formGroup", "visible"], [1, "contact-us"], [1, "row"], [1, "form-fields", "col-6"], [1, "form-topic", 3, "ngClass"], [1, "form-select-wrapper"], [1, "assistive-text"], ["formControlName", "topic", 1, "form-select", 3, "change"], [3, "value", 4, "ngFor", "ngForOf"], ["controlName", "topic", "controlTitle", "topic", 3, "formGroup", "formSubmitted"], [1, "form-name", 3, "ngClass"], ["formControlName", "name", "placeholder", "Name *", "type", "text", 1, "form-control"], ["controlName", "name", "controlTitle", "name", 3, "formGroup", "formSubmitted"], [1, "form-email", 3, "ngClass"], ["formControlName", "email", "placeholder", "E-mail *", "type", "text", 1, "form-control"], [4, "ngIf"], ["controlName", "email", "controlTitle", "email", 3, "formGroup", "formSubmitted"], [1, "form-subject", 3, "ngClass"], ["formControlName", "subject", "placeholder", "Subject *", "type", "text", 1, "form-control"], ["controlName", "subject", "controlTitle", "subject", 3, "formGroup", "formSubmitted"], [1, "col-6"], [1, "form-message", 3, "ngClass"], ["formControlName", "message", "name", "message", "placeholder", "Message *", "rows", "4", "type", "text"], ["controlName", "message", "controlTitle", "message", 3, "formGroup", "formSubmitted"], [1, "row", "form-footer"], [2, "transform", "scale(0.8)", "transform-origin", "0"], ["formControlName", "captcha", 3, "siteKey"], ["recaptcha", ""], ["class", "btn btn-success float-right m-t-20", "type", "submit", 3, "btn-primary", 4, "ngIf"], [3, "value"], ["type", "submit", 1, "btn", "btn-success", "float-right", "m-t-20"]], template: function ContactUsForm_Template(rf, ctx) { if (rf & 1) {
|
|
131
|
+
ContactUsForm.ɵfac = function ContactUsForm_Factory(t) { return new (t || ContactUsForm)(i0.ɵɵdirectiveInject(i1.ReCaptchaV3Service), i0.ɵɵdirectiveInject(i2.FormBuilder), i0.ɵɵdirectiveInject(i3.AppContextService), i0.ɵɵdirectiveInject(i4.EmailsApiService), i0.ɵɵdirectiveInject(i5.NotificationService)); };
|
|
132
|
+
ContactUsForm.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContactUsForm, selectors: [["anatoly-forms-contactus-form"]], inputs: { showActionButtons: "showActionButtons" }, outputs: { submit: "submit" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 39, vars: 31, consts: [["novalidate", "", 3, "formGroup", "ngSubmit"], [3, "formGroup", "visible"], [1, "contact-us"], [1, "row"], [1, "form-fields", "col-6"], [1, "form-topic", 3, "ngClass"], [1, "form-select-wrapper"], [1, "assistive-text"], ["formControlName", "topic", 1, "form-select", 3, "change"], [3, "value", 4, "ngFor", "ngForOf"], ["controlName", "topic", "controlTitle", "topic", 3, "formGroup", "formSubmitted"], [1, "form-name", 3, "ngClass"], ["formControlName", "name", "placeholder", "Name *", "type", "text", 1, "form-control"], ["controlName", "name", "controlTitle", "name", 3, "formGroup", "formSubmitted"], [1, "form-email", 3, "ngClass"], ["formControlName", "email", "placeholder", "E-mail *", "type", "text", 1, "form-control"], [4, "ngIf"], ["controlName", "email", "controlTitle", "email", 3, "formGroup", "formSubmitted"], [1, "form-subject", 3, "ngClass"], ["formControlName", "subject", "placeholder", "Subject *", "type", "text", 1, "form-control"], ["controlName", "subject", "controlTitle", "subject", 3, "formGroup", "formSubmitted"], [1, "col-6"], [1, "form-message", 3, "ngClass"], ["formControlName", "message", "name", "message", "placeholder", "Message *", "rows", "4", "type", "text"], ["controlName", "message", "controlTitle", "message", 3, "formGroup", "formSubmitted"], [1, "row", "form-footer"], [1, "col"], ["class", "btn btn-success", "type", "submit", 3, "btn-primary", 4, "ngIf"], [3, "value"], ["type", "submit", 1, "btn", "btn-success"]], template: function ContactUsForm_Template(rf, ctx) { if (rf & 1) {
|
|
139
133
|
i0.ɵɵelementStart(0, "form", 0);
|
|
140
134
|
i0.ɵɵlistener("ngSubmit", function ContactUsForm_Template_form_ngSubmit_0_listener() { return ctx.onSubmit(); });
|
|
141
135
|
i0.ɵɵelement(1, "anatoly-form-validation-summary", 1);
|
|
@@ -173,54 +167,46 @@ ContactUsForm.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContactUsForm
|
|
|
173
167
|
i0.ɵɵelementEnd();
|
|
174
168
|
i0.ɵɵelement(34, "textarea", 23)(35, "anatoly-item-validation-summary", 24);
|
|
175
169
|
i0.ɵɵelementEnd()()();
|
|
176
|
-
i0.ɵɵelementStart(36, "div", 25)(37, "div",
|
|
177
|
-
i0.ɵɵ
|
|
178
|
-
i0.ɵɵelementEnd()();
|
|
179
|
-
i0.ɵɵelementStart(41, "div", 21);
|
|
180
|
-
i0.ɵɵtemplate(42, ContactUsForm_button_42_Template, 2, 2, "button", 29);
|
|
170
|
+
i0.ɵɵelementStart(36, "div", 25)(37, "div", 26);
|
|
171
|
+
i0.ɵɵtemplate(38, ContactUsForm_button_38_Template, 2, 2, "button", 27);
|
|
181
172
|
i0.ɵɵelementEnd()()()();
|
|
182
173
|
} if (rf & 2) {
|
|
183
174
|
i0.ɵɵproperty("formGroup", ctx.formGroup);
|
|
184
175
|
i0.ɵɵadvance(1);
|
|
185
176
|
i0.ɵɵproperty("formGroup", ctx.formGroup)("visible", ctx.formSubmitted && ctx.formGroup.invalid);
|
|
186
177
|
i0.ɵɵadvance(6);
|
|
187
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(
|
|
178
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(21, _c0, ctx.isControlInvalid("topic")));
|
|
188
179
|
i0.ɵɵadvance(5);
|
|
189
180
|
i0.ɵɵproperty("ngForOf", ctx.topicList);
|
|
190
181
|
i0.ɵɵadvance(1);
|
|
191
182
|
i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted);
|
|
192
183
|
i0.ɵɵadvance(1);
|
|
193
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(
|
|
184
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(23, _c0, ctx.isControlInvalid("name")));
|
|
194
185
|
i0.ɵɵadvance(4);
|
|
195
186
|
i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted);
|
|
196
187
|
i0.ɵɵadvance(1);
|
|
197
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(
|
|
188
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(25, _c0, ctx.isControlInvalid("email")));
|
|
198
189
|
i0.ɵɵadvance(4);
|
|
199
190
|
i0.ɵɵproperty("ngIf", !ctx.isUserSignedIn);
|
|
200
191
|
i0.ɵɵadvance(1);
|
|
201
192
|
i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted);
|
|
202
193
|
i0.ɵɵadvance(1);
|
|
203
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(
|
|
194
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(27, _c0, ctx.isControlInvalid("subject")));
|
|
204
195
|
i0.ɵɵadvance(4);
|
|
205
196
|
i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted);
|
|
206
197
|
i0.ɵɵadvance(2);
|
|
207
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(
|
|
198
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(29, _c0, ctx.isControlInvalid("message")));
|
|
208
199
|
i0.ɵɵadvance(4);
|
|
209
200
|
i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted);
|
|
210
|
-
i0.ɵɵadvance(4);
|
|
211
|
-
i0.ɵɵproperty("siteKey", ctx.siteKey);
|
|
212
201
|
i0.ɵɵadvance(3);
|
|
213
202
|
i0.ɵɵproperty("ngIf", ctx.showActionButtons);
|
|
214
|
-
} }, dependencies: [
|
|
203
|
+
} }, dependencies: [i6.NgClass, i6.NgForOf, i6.NgIf, i2.ɵNgNoValidate, i2.NgSelectOption, i2.ɵNgSelectMultipleOption, i2.DefaultValueAccessor, i2.SelectControlValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.FormGroupDirective, i2.FormControlName, i7.NativeElementDirective, i8.FormValidationSummaryComponent, i9.ItemValidationSummaryComponent], encapsulation: 2 });
|
|
215
204
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContactUsForm, [{
|
|
216
205
|
type: Component,
|
|
217
|
-
args: [{ selector: 'anatoly-forms-contactus-form', template: "<form (ngSubmit)='onSubmit()' [formGroup]='formGroup' novalidate>\r\n <anatoly-form-validation-summary [formGroup]='formGroup'\r\n [visible]='formSubmitted && formGroup.invalid'></anatoly-form-validation-summary>\r\n\r\n <div class='contact-us'>\r\n <div class=\"row\">\r\n <div class='form-fields col-6'>\r\n <p>What can we help you with?</p>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('topic') }\" class='form-topic'>\r\n <div class='form-select-wrapper'>\r\n <label class='assistive-text'>Topic *</label>\r\n <select (change)='onTopicChange($event)' class='form-select' formControlName='topic'>\r\n <option *ngFor='let topic of topicList' [value]='topic.value'>{{ topic.value }} </option>\r\n </select>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='topic'\r\n controlTitle='topic'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('name') }\" class='form-name'>\r\n <label class='assistive-text'>Name *</label>\r\n <input class='form-control' formControlName='name' placeholder='Name *' type='text'>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='name'\r\n controlTitle='name'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('email') }\" class='form-email'>\r\n <label class='assistive-text'>E-mail * </label>\r\n <input class='form-control' formControlName='email' placeholder='E-mail *' type='text' />\r\n <p *ngIf='!isUserSignedIn'>Please indicate the email used for your MailEx login if you already have an account</p>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='email'\r\n controlTitle='email'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('subject') }\" class='form-subject'>\r\n <label class='assistive-text'>Subject *</label>\r\n <input class='form-control' formControlName='subject' placeholder='Subject *' type='text' />\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='subject'\r\n controlTitle='subject'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n </div>\r\n <div class='col-6'>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('message') }\" class='form-message'>\r\n <label class='assistive-text'>Message *</label>\r\n <textarea formControlName='message' name='message' placeholder='Message *' rows='4'\r\n type='text'></textarea>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='message'\r\n controlTitle='message'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row form-footer\">\r\n <div class=\"col
|
|
218
|
-
}], function () { return [{ type: i1.
|
|
206
|
+
args: [{ selector: 'anatoly-forms-contactus-form', template: "<form (ngSubmit)='onSubmit()' [formGroup]='formGroup' novalidate>\r\n <anatoly-form-validation-summary [formGroup]='formGroup'\r\n [visible]='formSubmitted && formGroup.invalid'></anatoly-form-validation-summary>\r\n\r\n <div class='contact-us'>\r\n <div class=\"row\">\r\n <div class='form-fields col-6'>\r\n <p>What can we help you with?</p>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('topic') }\" class='form-topic'>\r\n <div class='form-select-wrapper'>\r\n <label class='assistive-text'>Topic *</label>\r\n <select (change)='onTopicChange($event)' class='form-select' formControlName='topic'>\r\n <option *ngFor='let topic of topicList' [value]='topic.value'>{{ topic.value }} </option>\r\n </select>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='topic'\r\n controlTitle='topic'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('name') }\" class='form-name'>\r\n <label class='assistive-text'>Name *</label>\r\n <input class='form-control' formControlName='name' placeholder='Name *' type='text'>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='name'\r\n controlTitle='name'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('email') }\" class='form-email'>\r\n <label class='assistive-text'>E-mail * </label>\r\n <input class='form-control' formControlName='email' placeholder='E-mail *' type='text' />\r\n <p *ngIf='!isUserSignedIn'>Please indicate the email used for your MailEx login if you already have an account</p>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='email'\r\n controlTitle='email'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('subject') }\" class='form-subject'>\r\n <label class='assistive-text'>Subject *</label>\r\n <input class='form-control' formControlName='subject' placeholder='Subject *' type='text' />\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='subject'\r\n controlTitle='subject'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n </div>\r\n <div class='col-6'>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('message') }\" class='form-message'>\r\n <label class='assistive-text'>Message *</label>\r\n <textarea formControlName='message' name='message' placeholder='Message *' rows='4'\r\n type='text'></textarea>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='message'\r\n controlTitle='message'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row form-footer\">\r\n <div class=\"col\">\r\n <button *ngIf='showActionButtons'\r\n [class.btn-primary]='!formGroup.invalid'\r\n class='btn btn-success'\r\n type='submit'>\r\n Submit\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n" }]
|
|
207
|
+
}], function () { return [{ type: i1.ReCaptchaV3Service }, { type: i2.FormBuilder }, { type: i3.AppContextService }, { type: i4.EmailsApiService }, { type: i5.NotificationService }]; }, { showActionButtons: [{
|
|
219
208
|
type: Input
|
|
220
209
|
}], submit: [{
|
|
221
210
|
type: Output
|
|
222
|
-
}], recaptcha: [{
|
|
223
|
-
type: ViewChild,
|
|
224
|
-
args: ['recaptcha']
|
|
225
211
|
}] }); })();
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC11cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9mb3Jtcy9jb250YWN0LXVzL2NvbnRhY3QtdXMudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvZm9ybXMvY29udGFjdC11cy9jb250YWN0LXVzLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFlLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU90RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ2JoRSxrQ0FBOEQ7SUFBQSxZQUFrQjtJQUFBLGlCQUFTOzs7SUFBakQsc0NBQXFCO0lBQUMsZUFBa0I7SUFBbEIsOENBQWtCOzs7SUFxQnBGLHlCQUEyQjtJQUFBLG1HQUFtRjtJQUFBLGlCQUFJOzs7SUFzQ2xILGtDQUdzQjtJQUNwQix3QkFDRjtJQUFBLGlCQUFTOzs7SUFKRCx3REFBd0M7OztBRHpDMUQsTUFBTSxPQUFPLGFBQWMsU0FBUSxpQkFBaUI7SUFzQmxELFlBQ1UsRUFBZSxFQUNmLFVBQTZCLEVBQzdCLEdBQXFCLEVBQ3JCLG1CQUF3QztRQUNoRCxLQUFLLEVBQUUsQ0FBQztRQUpBLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixRQUFHLEdBQUgsR0FBRyxDQUFrQjtRQUNyQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBekJsRCxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUloQyxjQUFT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QUF6QixLQUFLO1lBR0ksTUFBTTtrQkFBZixNQUFNO1lBR2lCLFNBQVM7a0JBQWhDLFNBQVM7bUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAwMiBBdWcgMjAyMlxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSZUNhcHRjaGEyQ29tcG9uZW50IH0gZnJvbSAnbmd4LWNhcHRjaGEnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQXBwQ29udGV4dFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9hcHBjb250ZXh0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL25vdGlmaWNhdGlvbnMvc2VydmljZXMvbm90aWZpY2F0aW9uLXNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRW1haWxzQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RhdGEvc2VydmljZXMvZW1haWxzLWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFzZUVkaXRDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9iYXNlL2Jhc2UtZWRpdC5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYW5hdG9seS1mb3Jtcy1jb250YWN0dXMtZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRhY3QtdXMuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRhY3RVc0Zvcm0gZXh0ZW5kcyBCYXNlRWRpdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgaXNVc2VyU2lnbmVkSW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzaXRlS2V5Pzogc3RyaW5nO1xyXG4gIHNlbGVjdGVkVG9waWM7XHJcblxyXG4gIHRvcGljTGlzdCA9IFtcclxuICAgIHsgdmFsdWU6ICdCaWxsaW5nICYgUHJpY2luZycgfSxcclxuICAgIHsgdmFsdWU6ICdMZWdhbCAmIFByaXZhY3knIH0sXHJcbiAgICB7IHZhbHVlOiAnUmVwb3IgYWJ1c2UnIH0sXHJcbiAgICB7IHZhbHVlOiAnVGVjaG5pY2FsIFN1cHBvcnQnIH0sXHJcbiAgICB7IHZhbHVlOiAnT3RoZXInIH1cclxuICBdO1xyXG5cclxuICAvL0lucHV0c1xyXG4gIEBJbnB1dCgpIHNob3dBY3Rpb25CdXR0b25zID0gdHJ1ZTtcclxuXHJcbiAgLy9PdXRwdXRzXHJcbiAgQE91dHB1dCgpIHN1Ym1pdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIC8vVmlld0NoaWxkc1xyXG4gIEBWaWV3Q2hpbGQoJ3JlY2FwdGNoYScpIHJlY2FwdGNoYTogUmVDYXB0Y2hhMkNvbXBvbmVudDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgYXBwQ29udGV4dDogQXBwQ29udGV4dFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFwaTogRW1haWxzQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5jcmVhdGVGb3JtR3JvdXAoKTtcclxuIFxyXG4gICAgdGhpcy5hcHBDb250ZXh0LmdldEN1cnJlbnQoY29udGV4dCA9PiB7XHJcbiAgICAgIHRoaXMuc2V0Q29udGV4dChjb250ZXh0KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlRm9ybUdyb3VwKCkge1xyXG4gICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgY2FwdGNoYTogbmV3IEZvcm1Db250cm9sKG51bGwsIFsgVmFsaWRhdG9ycy5yZXF1aXJlZCBdKSxcclxuICAgICAgbmFtZTogbmV3IEZvcm1Db250cm9sKCcnLCBbIFZhbGlkYXRvcnMucmVxdWlyZWQgXSksXHJcbiAgICAgIGVtYWlsOiBuZXcgRm9ybUNvbnRyb2woJycsIFsgVmFsaWRhdG9ycy5yZXF1aXJlZCBdKSxcclxuICAgICAgdG9waWM6IG5ldyBGb3JtQ29udHJvbCgnJywgWyBWYWxpZGF0b3JzLnJlcXVpcmVkIF0pLFxyXG4gICAgICBzdWJqZWN0OiBuZXcgRm9ybUNvbnRyb2woJycsIFsgVmFsaWRhdG9ycy5yZXF1aXJlZCBdKSxcclxuICAgICAgbWVzc2FnZTogbmV3IEZvcm1Db250cm9sKCcnLCBbIFZhbGlkYXRvcnMucmVxdWlyZWQgXSlcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0Q29udGV4dChjb250ZXh0KSB7XHJcbiAgICB0aGlzLmlzVXNlclNpZ25lZEluID0gY29udGV4dC5pc1VzZXJTaWduZWRJbjtcclxuICAgIHRoaXMuc2l0ZUtleSA9IGNvbnRleHQucmVDYXB0Y2hhU2l0ZUtleTtcclxuICAgIHRoaXMuc2VsZWN0ZWRUb3BpYyA9IHRoaXMudG9waWNMaXN0WzNdLnZhbHVlO1xyXG5cclxuICAgIHRoaXMuc2V0Rm9ybVZhbHVlKCd0b3BpYycsIHRoaXMuc2VsZWN0ZWRUb3BpYyk7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNVc2VyU2lnbmVkSW4pIHtcclxuICAgICAgdGhpcy5zZXRGb3JtVmFsdWUoJ25hbWUnLCBjb250ZXh0LnVzZXIuZGlzcGxheU5hbWVPckZ1bGxOYW1lKTtcclxuICAgICAgdGhpcy5zZXRGb3JtVmFsdWUoJ2VtYWlsJywgY29udGV4dC51c2VyLmVtYWlsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzVmFsaWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAudmFsaWQ7XHJcbiAgfVxyXG5cclxuICBjb250YWN0VXMoKSB7XHJcbiAgICB0aGlzLmZvcm1TdWJtaXR0ZWQgPSB0cnVlO1xyXG4gICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGNhcHRjaGEgPSB0aGlzLmdldEZvcm1WYWx1ZSgnY2FwdGNoYScpO1xyXG4gICAgY29uc3QgbmFtZSA9IHRoaXMuZ2V0Rm9ybVZhbHVlKCduYW1lJyk7XHJcbiAgICBjb25zdCBlbWFpbCA9IHRoaXMuZ2V0Rm9ybVZhbHVlKCdlbWFpbCcpO1xyXG4gICAgY29uc3QgdG9waWMgPSB0aGlzLnNlbGVjdGVkVG9waWM7XHJcbiAgICBjb25zdCBzdWJqZWN0ID0gdGhpcy5nZXRGb3JtVmFsdWUoJ3N1YmplY3QnKTtcclxuICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLmdldEZvcm1WYWx1ZSgnbWVzc2FnZScpO1xyXG5cclxuICAgIHRoaXMuYXBpLnNlbmRDb250YWN0VXMoY2FwdGNoYSwgbmFtZSwgZW1haWwsIHRvcGljLCBzdWJqZWN0LCBtZXNzYWdlLFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5mb3JtU3VibWl0dGVkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnN1Y2Nlc3MoJ01lc3NhZ2UgaGFzIGJlZW4gc2VudCBzdWNjZXNzZnVsbHknKTtcclxuICAgICAgICB0aGlzLmZvcm1Hcm91cC5yZXNldCgpO1xyXG4gICAgICAgIHRoaXMucmVjYXB0Y2hhLnJlc2V0Q2FwdGNoYSgpO1xyXG5cclxuICAgICAgICB0aGlzLnN1Ym1pdC5lbWl0KCk7XHJcbiAgICAgIH0sXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZXJyb3IoKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vRXZlbnRzXHJcbiAgb25TdWJtaXQoKSB7XHJcbiAgICB0aGlzLmNvbnRhY3RVcygpO1xyXG4gIH1cclxuXHJcbiAgb25Ub3BpY0NoYW5nZShldmVudCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFRvcGljID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xyXG4gIH1cclxufVxyXG4iLCI8Zm9ybSAobmdTdWJtaXQpPSdvblN1Ym1pdCgpJyBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJyBub3ZhbGlkYXRlPlxyXG4gIDxhbmF0b2x5LWZvcm0tdmFsaWRhdGlvbi1zdW1tYXJ5IFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Zpc2libGVdPSdmb3JtU3VibWl0dGVkICYmIGZvcm1Hcm91cC5pbnZhbGlkJz48L2FuYXRvbHktZm9ybS12YWxpZGF0aW9uLXN1bW1hcnk+XHJcblxyXG4gIDxkaXYgY2xhc3M9J2NvbnRhY3QtdXMnPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPSdmb3JtLWZpZWxkcyBjb2wtNic+XHJcbiAgICAgICAgPHA+V2hhdCBjYW4gd2UgaGVscCB5b3Ugd2l0aD88L3A+XHJcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7J2hhcy1lcnJvcic6IGlzQ29udHJvbEludmFsaWQoJ3RvcGljJykgfVwiIGNsYXNzPSdmb3JtLXRvcGljJz5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9J2Zvcm0tc2VsZWN0LXdyYXBwZXInPlxyXG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9J2Fzc2lzdGl2ZS10ZXh0Jz5Ub3BpYyAqPC9sYWJlbD5cclxuICAgICAgICAgICAgPHNlbGVjdCAoY2hhbmdlKT0nb25Ub3BpY0NoYW5nZSgkZXZlbnQpJyBjbGFzcz0nZm9ybS1zZWxlY3QnIGZvcm1Db250cm9sTmFtZT0ndG9waWMnPlxyXG4gICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPSdsZXQgdG9waWMgb2YgdG9waWNMaXN0JyBbdmFsdWVdPSd0b3BpYy52YWx1ZSc+e3sgdG9waWMudmFsdWUgfX0gPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8YW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeSBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybVN1Ym1pdHRlZF09J2Zvcm1TdWJtaXR0ZWQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xOYW1lPSd0b3BpYydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbFRpdGxlPSd0b3BpYyc+XHJcbiAgICAgICAgICAgIDwvYW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieydoYXMtZXJyb3InOiBpc0NvbnRyb2xJbnZhbGlkKCduYW1lJykgfVwiIGNsYXNzPSdmb3JtLW5hbWUnPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPSdhc3Npc3RpdmUtdGV4dCc+TmFtZSAqPC9sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBjbGFzcz0nZm9ybS1jb250cm9sJyBmb3JtQ29udHJvbE5hbWU9J25hbWUnIHBsYWNlaG9sZGVyPSdOYW1lIConIHR5cGU9J3RleHQnPlxyXG4gICAgICAgICAgPGFuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtU3VibWl0dGVkXT0nZm9ybVN1Ym1pdHRlZCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xOYW1lPSduYW1lJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbFRpdGxlPSduYW1lJz5cclxuICAgICAgICAgIDwvYW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZCgnZW1haWwnKSB9XCIgY2xhc3M9J2Zvcm0tZW1haWwnPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPSdhc3Npc3RpdmUtdGV4dCc+RS1tYWlsICogPC9sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBjbGFzcz0nZm9ybS1jb250cm9sJyBmb3JtQ29udHJvbE5hbWU9J2VtYWlsJyBwbGFjZWhvbGRlcj0nRS1tYWlsIConIHR5cGU9J3RleHQnIC8+XHJcbiAgICAgICAgICA8cCAqbmdJZj0nIWlzVXNlclNpZ25lZEluJz5QbGVhc2UgaW5kaWNhdGUgdGhlIGVtYWlsIHVzZWQgZm9yIHlvdXIgTWFpbEV4IGxvZ2luIGlmIHlvdSBhbHJlYWR5IGhhdmUgYW4gYWNjb3VudDwvcD5cclxuICAgICAgICAgIDxhbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5IFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybVN1Ym1pdHRlZF09J2Zvcm1TdWJtaXR0ZWQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sTmFtZT0nZW1haWwnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J2VtYWlsJz5cclxuICAgICAgICAgIDwvYW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZCgnc3ViamVjdCcpIH1cIiBjbGFzcz0nZm9ybS1zdWJqZWN0Jz5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz0nYXNzaXN0aXZlLXRleHQnPlN1YmplY3QgKjwvbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXQgY2xhc3M9J2Zvcm0tY29udHJvbCcgZm9ybUNvbnRyb2xOYW1lPSdzdWJqZWN0JyBwbGFjZWhvbGRlcj0nU3ViamVjdCAqJyB0eXBlPSd0ZXh0JyAvPlxyXG4gICAgICAgICAgPGFuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtU3VibWl0dGVkXT0nZm9ybVN1Ym1pdHRlZCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xOYW1lPSdzdWJqZWN0J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbFRpdGxlPSdzdWJqZWN0Jz5cclxuICAgICAgICAgIDwvYW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPSdjb2wtNic+XHJcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7J2hhcy1lcnJvcic6IGlzQ29udHJvbEludmFsaWQoJ21lc3NhZ2UnKSB9XCIgY2xhc3M9J2Zvcm0tbWVzc2FnZSc+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9J2Fzc2lzdGl2ZS10ZXh0Jz5NZXNzYWdlICo8L2xhYmVsPlxyXG4gICAgICAgICAgPHRleHRhcmVhIGZvcm1Db250cm9sTmFtZT0nbWVzc2FnZScgbmFtZT0nbWVzc2FnZScgcGxhY2Vob2xkZXI9J01lc3NhZ2UgIConIHJvd3M9JzQnXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT0ndGV4dCc+PC90ZXh0YXJlYT5cclxuICAgICAgICAgIDxhbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5IFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybVN1Ym1pdHRlZF09J2Zvcm1TdWJtaXR0ZWQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sTmFtZT0nbWVzc2FnZSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xUaXRsZT0nbWVzc2FnZSc+XHJcbiAgICAgICAgICA8L2FuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnk+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZm9ybS1mb290ZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTZcIj5cclxuICAgICAgICAgIDxkaXYgc3R5bGU9J3RyYW5zZm9ybTpzY2FsZSgwLjgpO3RyYW5zZm9ybS1vcmlnaW46MDsnPlxyXG4gICAgICAgICAgICA8bmd4LXJlY2FwdGNoYTIgI3JlY2FwdGNoYSBbc2l0ZUtleV09J3NpdGVLZXknIGZvcm1Db250cm9sTmFtZT0nY2FwdGNoYSc+PC9uZ3gtcmVjYXB0Y2hhMj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiPlxyXG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj0nc2hvd0FjdGlvbkJ1dHRvbnMnXHJcbiAgICAgICAgICAgICAgICAgIFtjbGFzcy5idG4tcHJpbWFyeV09JyFmb3JtR3JvdXAuaW52YWxpZCdcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9J2J0biBidG4tc3VjY2VzcyBmbG9hdC1yaWdodCBtLXQtMjAnXHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9J3N1Ym1pdCc+XHJcbiAgICAgICAgICAgIFN1Ym1pdFxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9mb3JtPlxyXG4iXX0=
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC11cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9mb3Jtcy9jb250YWN0LXVzL2NvbnRhY3QtdXMudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvZm9ybXMvY29udGFjdC11cy9jb250YWN0LXVzLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQWUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBT3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7Ozs7Ozs7SUNiaEUsa0NBQThEO0lBQUEsWUFBa0I7SUFBQSxpQkFBUzs7O0lBQWpELHNDQUFxQjtJQUFDLGVBQWtCO0lBQWxCLDhDQUFrQjs7O0lBcUJwRix5QkFBMkI7SUFBQSxtR0FBbUY7SUFBQSxpQkFBSTs7O0lBaUNsSCxrQ0FHc0I7SUFDcEIsd0JBQ0Y7SUFBQSxpQkFBUzs7O0lBSkQsd0RBQXdDOzs7QURwQzFELE1BQU0sT0FBTyxhQUFjLFNBQVEsaUJBQWlCO0lBbUJsRCxZQUNVLFNBQTZCLEVBQzdCLEVBQWUsRUFDZixVQUE2QixFQUM3QixHQUFxQixFQUNyQixtQkFBd0M7UUFDaEQsS0FBSyxFQUFFLENBQUM7UUFMQSxjQUFTLEdBQVQsU0FBUyxDQUFvQjtRQUM3QixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFDN0IsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFDckIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQXZCbEQsbUJB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XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDAyIEF1ZyAyMDIyXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNy0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSZUNhcHRjaGFWM1NlcnZpY2UgfSBmcm9tICduZ3gtY2FwdGNoYSc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBBcHBDb250ZXh0U2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2FwcGNvbnRleHQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvbm90aWZpY2F0aW9ucy9zZXJ2aWNlcy9ub3RpZmljYXRpb24tc2VydmljZVwiO1xyXG5pbXBvcnQgeyBFbWFpbHNBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YS9zZXJ2aWNlcy9lbWFpbHMtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNlRWRpdENvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2Jhc2UvYmFzZS1lZGl0LmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWZvcm1zLWNvbnRhY3R1cy1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udGFjdC11cy5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29udGFjdFVzRm9ybSBleHRlbmRzIEJhc2VFZGl0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBpc1VzZXJTaWduZWRJbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHJlQ2FwdGNoYVNpdGVLZXk7XHJcbiAgc2VsZWN0ZWRUb3BpYztcclxuXHJcbiAgdG9waWNMaXN0ID0gW1xyXG4gICAgeyB2YWx1ZTogJ0JpbGxpbmcgJiBQcmljaW5nJyB9LFxyXG4gICAgeyB2YWx1ZTogJ0xlZ2FsICYgUHJpdmFjeScgfSxcclxuICAgIHsgdmFsdWU6ICdSZXBvciBhYnVzZScgfSxcclxuICAgIHsgdmFsdWU6ICdUZWNobmljYWwgU3VwcG9ydCcgfSxcclxuICAgIHsgdmFsdWU6ICdPdGhlcicgfVxyXG4gIF07XHJcblxyXG4gIC8vSW5wdXRzXHJcbiAgQElucHV0KCkgc2hvd0FjdGlvbkJ1dHRvbnMgPSB0cnVlO1xyXG5cclxuICAvL091dHB1dHNcclxuICBAT3V0cHV0KCkgc3VibWl0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlQ2FwdGNoYTogUmVDYXB0Y2hhVjNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIGFwcENvbnRleHQ6IEFwcENvbnRleHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhcGk6IEVtYWlsc0FwaVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuY3JlYXRlRm9ybUdyb3VwKCk7XHJcbiBcclxuICAgIHRoaXMuYXBwQ29udGV4dC5nZXRDdXJyZW50KGNvbnRleHQgPT4ge1xyXG4gICAgICB0aGlzLnNldENvbnRleHQoY29udGV4dCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUZvcm1Hcm91cCgpIHtcclxuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbCgnJywgWyBWYWxpZGF0b3JzLnJlcXVpcmVkIF0pLFxyXG4gICAgICBlbWFpbDogbmV3IEZvcm1Db250cm9sKCcnLCBbIFZhbGlkYXRvcnMucmVxdWlyZWQgXSksXHJcbiAgICAgIHRvcGljOiBuZXcgRm9ybUNvbnRyb2woJycsIFsgVmFsaWRhdG9ycy5yZXF1aXJlZCBdKSxcclxuICAgICAgc3ViamVjdDogbmV3IEZvcm1Db250cm9sKCcnLCBbIFZhbGlkYXRvcnMucmVxdWlyZWQgXSksXHJcbiAgICAgIG1lc3NhZ2U6IG5ldyBGb3JtQ29udHJvbCgnJywgWyBWYWxpZGF0b3JzLnJlcXVpcmVkIF0pXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldENvbnRleHQoY29udGV4dCkge1xyXG4gICAgdGhpcy5pc1VzZXJTaWduZWRJbiA9IGNvbnRleHQuaXNVc2VyU2lnbmVkSW47XHJcbiAgICB0aGlzLnJlQ2FwdGNoYVNpdGVLZXkgPSBjb250ZXh0LnJlQ2FwdGNoYVNpdGVLZXlWMztcclxuICAgIHRoaXMuc2VsZWN0ZWRUb3BpYyA9IHRoaXMudG9waWNMaXN0WzNdLnZhbHVlO1xyXG5cclxuICAgIHRoaXMuc2V0Rm9ybVZhbHVlKCd0b3BpYycsIHRoaXMuc2VsZWN0ZWRUb3BpYyk7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNVc2VyU2lnbmVkSW4pIHtcclxuICAgICAgdGhpcy5zZXRGb3JtVmFsdWUoJ25hbWUnLCBjb250ZXh0LnVzZXIuZGlzcGxheU5hbWVPckZ1bGxOYW1lKTtcclxuICAgICAgdGhpcy5zZXRGb3JtVmFsdWUoJ2VtYWlsJywgY29udGV4dC51c2VyLmVtYWlsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzVmFsaWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAudmFsaWQ7XHJcbiAgfVxyXG5cclxuICBjb250YWN0VXMoKSB7XHJcbiAgICB0aGlzLmZvcm1TdWJtaXR0ZWQgPSB0cnVlO1xyXG4gICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IG5hbWUgPSB0aGlzLmdldEZvcm1WYWx1ZSgnbmFtZScpO1xyXG4gICAgY29uc3QgZW1haWwgPSB0aGlzLmdldEZvcm1WYWx1ZSgnZW1haWwnKTtcclxuICAgIGNvbnN0IHRvcGljID0gdGhpcy5zZWxlY3RlZFRvcGljO1xyXG4gICAgY29uc3Qgc3ViamVjdCA9IHRoaXMuZ2V0Rm9ybVZhbHVlKCdzdWJqZWN0Jyk7XHJcbiAgICBjb25zdCBtZXNzYWdlID0gdGhpcy5nZXRGb3JtVmFsdWUoJ21lc3NhZ2UnKTtcclxuXHJcbiAgICB0aGlzLnJlQ2FwdGNoYS5leGVjdXRlKHRoaXMucmVDYXB0Y2hhU2l0ZUtleSwgJ0NvbnRhY3RVcycsICh0b2tlbikgPT4ge1xyXG4gICAgICB0aGlzLmFwaS5zZW5kQ29udGFjdFVzKHRva2VuLCBuYW1lLCBlbWFpbCwgdG9waWMsIHN1YmplY3QsIG1lc3NhZ2UsXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5mb3JtU3VibWl0dGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uuc3VjY2VzcygnTWVzc2FnZSBoYXMgYmVlbiBzZW50IHN1Y2Nlc3NmdWxseScpO1xyXG4gICAgICAgICAgdGhpcy5mb3JtR3JvdXAucmVzZXQoKTtcclxuICBcclxuICAgICAgICAgIHRoaXMuc3VibWl0LmVtaXQoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgICgpID0+IHtcclxuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5lcnJvcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9FdmVudHNcclxuICBvblN1Ym1pdCgpIHtcclxuICAgIHRoaXMuY29udGFjdFVzKCk7XHJcbiAgfVxyXG5cclxuICBvblRvcGljQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkVG9waWMgPSBldmVudC50YXJnZXQudmFsdWU7XHJcbiAgfVxyXG59XHJcbiIsIjxmb3JtIChuZ1N1Ym1pdCk9J29uU3VibWl0KCknIFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnIG5vdmFsaWRhdGU+XHJcbiAgPGFuYXRvbHktZm9ybS12YWxpZGF0aW9uLXN1bW1hcnkgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmlzaWJsZV09J2Zvcm1TdWJtaXR0ZWQgJiYgZm9ybUdyb3VwLmludmFsaWQnPjwvYW5hdG9seS1mb3JtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuXHJcbiAgPGRpdiBjbGFzcz0nY29udGFjdC11cyc+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9J2Zvcm0tZmllbGRzIGNvbC02Jz5cclxuICAgICAgICA8cD5XaGF0IGNhbiB3ZSBoZWxwIHlvdSB3aXRoPzwvcD5cclxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZCgndG9waWMnKSB9XCIgY2xhc3M9J2Zvcm0tdG9waWMnPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz0nZm9ybS1zZWxlY3Qtd3JhcHBlcic+XHJcbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0nYXNzaXN0aXZlLXRleHQnPlRvcGljICo8L2xhYmVsPlxyXG4gICAgICAgICAgICA8c2VsZWN0IChjaGFuZ2UpPSdvblRvcGljQ2hhbmdlKCRldmVudCknIGNsYXNzPSdmb3JtLXNlbGVjdCcgZm9ybUNvbnRyb2xOYW1lPSd0b3BpYyc+XHJcbiAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9J2xldCB0b3BpYyBvZiB0b3BpY0xpc3QnIFt2YWx1ZV09J3RvcGljLnZhbHVlJz57eyB0b3BpYy52YWx1ZSB9fSA8L29wdGlvbj5cclxuICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDxhbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5IFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtU3VibWl0dGVkXT0nZm9ybVN1Ym1pdHRlZCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbE5hbWU9J3RvcGljJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J3RvcGljJz5cclxuICAgICAgICAgICAgPC9hbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7J2hhcy1lcnJvcic6IGlzQ29udHJvbEludmFsaWQoJ25hbWUnKSB9XCIgY2xhc3M9J2Zvcm0tbmFtZSc+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9J2Fzc2lzdGl2ZS10ZXh0Jz5OYW1lICo8L2xhYmVsPlxyXG4gICAgICAgICAgPGlucHV0IGNsYXNzPSdmb3JtLWNvbnRyb2wnIGZvcm1Db250cm9sTmFtZT0nbmFtZScgcGxhY2Vob2xkZXI9J05hbWUgKicgdHlwZT0ndGV4dCc+XHJcbiAgICAgICAgICA8YW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeSBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1TdWJtaXR0ZWRdPSdmb3JtU3VibWl0dGVkJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbE5hbWU9J25hbWUnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J25hbWUnPlxyXG4gICAgICAgICAgPC9hbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieydoYXMtZXJyb3InOiBpc0NvbnRyb2xJbnZhbGlkKCdlbWFpbCcpIH1cIiBjbGFzcz0nZm9ybS1lbWFpbCc+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9J2Fzc2lzdGl2ZS10ZXh0Jz5FLW1haWwgKiA8L2xhYmVsPlxyXG4gICAgICAgICAgPGlucHV0IGNsYXNzPSdmb3JtLWNvbnRyb2wnIGZvcm1Db250cm9sTmFtZT0nZW1haWwnIHBsYWNlaG9sZGVyPSdFLW1haWwgKicgdHlwZT0ndGV4dCcgLz5cclxuICAgICAgICAgIDxwICpuZ0lmPSchaXNVc2VyU2lnbmVkSW4nPlBsZWFzZSBpbmRpY2F0ZSB0aGUgZW1haWwgdXNlZCBmb3IgeW91ciBNYWlsRXggbG9naW4gaWYgeW91IGFscmVhZHkgaGF2ZSBhbiBhY2NvdW50PC9wPlxyXG4gICAgICAgICAgPGFuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtU3VibWl0dGVkXT0nZm9ybVN1Ym1pdHRlZCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xOYW1lPSdlbWFpbCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xUaXRsZT0nZW1haWwnPlxyXG4gICAgICAgICAgPC9hbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieydoYXMtZXJyb3InOiBpc0NvbnRyb2xJbnZhbGlkKCdzdWJqZWN0JykgfVwiIGNsYXNzPSdmb3JtLXN1YmplY3QnPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPSdhc3Npc3RpdmUtdGV4dCc+U3ViamVjdCAqPC9sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBjbGFzcz0nZm9ybS1jb250cm9sJyBmb3JtQ29udHJvbE5hbWU9J3N1YmplY3QnIHBsYWNlaG9sZGVyPSdTdWJqZWN0IConIHR5cGU9J3RleHQnIC8+XHJcbiAgICAgICAgICA8YW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeSBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1TdWJtaXR0ZWRdPSdmb3JtU3VibWl0dGVkJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbE5hbWU9J3N1YmplY3QnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J3N1YmplY3QnPlxyXG4gICAgICAgICAgPC9hbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9J2NvbC02Jz5cclxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZCgnbWVzc2FnZScpIH1cIiBjbGFzcz0nZm9ybS1tZXNzYWdlJz5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz0nYXNzaXN0aXZlLXRleHQnPk1lc3NhZ2UgKjwvbGFiZWw+XHJcbiAgICAgICAgICA8dGV4dGFyZWEgZm9ybUNvbnRyb2xOYW1lPSdtZXNzYWdlJyBuYW1lPSdtZXNzYWdlJyBwbGFjZWhvbGRlcj0nTWVzc2FnZSAgKicgcm93cz0nNCdcclxuICAgICAgICAgICAgICAgICAgICB0eXBlPSd0ZXh0Jz48L3RleHRhcmVhPlxyXG4gICAgICAgICAgPGFuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtU3VibWl0dGVkXT0nZm9ybVN1Ym1pdHRlZCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xOYW1lPSdtZXNzYWdlJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbFRpdGxlPSdtZXNzYWdlJz5cclxuICAgICAgICAgIDwvYW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdyBmb3JtLWZvb3RlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICAgIDxidXR0b24gKm5nSWY9J3Nob3dBY3Rpb25CdXR0b25zJ1xyXG4gICAgICAgICAgICAgICAgICBbY2xhc3MuYnRuLXByaW1hcnldPSchZm9ybUdyb3VwLmludmFsaWQnXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSdidG4gYnRuLXN1Y2Nlc3MnXHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9J3N1Ym1pdCc+XHJcbiAgICAgICAgICAgIFN1Ym1pdFxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9mb3JtPlxyXG4iXX0=
|