@adlfe/campaign-management-library 2.11.1 → 2.11.4
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/adlfe-campaign-management-library.d.ts +14 -9
- package/adlfe-campaign-management-library.metadata.json +1 -1
- package/bundles/adlfe-campaign-management-library.umd.js +372 -109
- package/bundles/adlfe-campaign-management-library.umd.js.map +1 -1
- package/bundles/adlfe-campaign-management-library.umd.min.js +1 -1
- package/bundles/adlfe-campaign-management-library.umd.min.js.map +1 -1
- package/esm2015/adlfe-campaign-management-library.js +15 -10
- package/esm2015/environments/environment.js +3 -3
- package/esm2015/lib/campaign-management/campaign-management.module.js +4 -2
- package/esm2015/lib/campaign-management/components/input-numeric/input-numeric.component.js +113 -0
- package/esm2015/lib/campaign-management/components/input-numeric/input-numeric.module.js +18 -0
- package/esm2015/lib/campaign-management/models/general-information-wa-req.model.js +12 -2
- package/esm2015/lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/filter-in-list-of-campaign.component.js +1 -1
- package/esm2015/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/pending-approval-dialog-view.component.js +45 -43
- package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.js +64 -5
- package/esm2015/lib/campaign-management/modules/new-campaign/general-information/general-information.component.js +3 -3
- package/esm2015/lib/campaign-management/modules/new-campaign/new-campaign.component.js +45 -41
- package/esm2015/lib/campaign-management/validators/index.js +12 -0
- package/esm2015/lib/campaign-management/validators/max.validator.js +14 -0
- package/esm2015/lib/campaign-management/validators/min.validator.js +14 -0
- package/esm2015/lib/campaign-management/validators/required.validator.js +10 -0
- package/esm2015/lib/core/const/constants.const.js +6 -6
- package/esm2015/lib/core/const/validation-message.const.js +5 -2
- package/esm2015/public-api.js +1 -6
- package/esm5/adlfe-campaign-management-library.js +15 -10
- package/esm5/environments/environment.js +3 -3
- package/esm5/lib/campaign-management/campaign-management.module.js +4 -2
- package/esm5/lib/campaign-management/components/input-numeric/input-numeric.component.js +127 -0
- package/esm5/lib/campaign-management/components/input-numeric/input-numeric.module.js +21 -0
- package/esm5/lib/campaign-management/models/general-information-wa-req.model.js +12 -2
- package/esm5/lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/filter-in-list-of-campaign.component.js +1 -1
- package/esm5/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/pending-approval-dialog-view.component.js +44 -40
- package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.js +68 -5
- package/esm5/lib/campaign-management/modules/new-campaign/general-information/general-information.component.js +3 -3
- package/esm5/lib/campaign-management/modules/new-campaign/new-campaign.component.js +45 -41
- package/esm5/lib/campaign-management/validators/index.js +12 -0
- package/esm5/lib/campaign-management/validators/max.validator.js +14 -0
- package/esm5/lib/campaign-management/validators/min.validator.js +14 -0
- package/esm5/lib/campaign-management/validators/required.validator.js +10 -0
- package/esm5/lib/core/const/constants.const.js +6 -6
- package/esm5/lib/core/const/validation-message.const.js +5 -2
- package/esm5/public-api.js +1 -6
- package/fesm2015/adlfe-campaign-management-library.js +419 -179
- package/fesm2015/adlfe-campaign-management-library.js.map +1 -1
- package/fesm5/adlfe-campaign-management-library.js +439 -176
- package/fesm5/adlfe-campaign-management-library.js.map +1 -1
- package/lib/campaign-management/components/input-numeric/input-numeric.component.d.ts +30 -0
- package/lib/campaign-management/components/input-numeric/input-numeric.module.d.ts +2 -0
- package/lib/campaign-management/models/general-information-wa-req.model.d.ts +3 -0
- package/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.d.ts +7 -0
- package/lib/campaign-management/validators/index.d.ts +8 -0
- package/lib/campaign-management/validators/max.validator.d.ts +2 -0
- package/lib/campaign-management/validators/min.validator.d.ts +2 -0
- package/lib/campaign-management/validators/required.validator.d.ts +2 -0
- package/package.json +1 -1
- package/public-api.d.ts +0 -5
|
@@ -98,7 +98,7 @@ var NewCampaignComponent = /** @class */ (function () {
|
|
|
98
98
|
var subs = this.apiAdapterService
|
|
99
99
|
.executeApiRequest([], "/campaign/" + this.campaignID, 'GET')
|
|
100
100
|
.subscribe(function (resp) {
|
|
101
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61;
|
|
101
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67, _68;
|
|
102
102
|
if (!resp)
|
|
103
103
|
return;
|
|
104
104
|
var generalInformation = {
|
|
@@ -106,64 +106,68 @@ var NewCampaignComponent = /** @class */ (function () {
|
|
|
106
106
|
medium: (_b = resp.data) === null || _b === void 0 ? void 0 : _b.platform,
|
|
107
107
|
channel: ['image', 'video', 'document'].includes((_c = resp.data) === null || _c === void 0 ? void 0 : _c.type)
|
|
108
108
|
? 'MEDIA'
|
|
109
|
-
: (
|
|
110
|
-
|
|
109
|
+
: ((_d = resp.data) === null || _d === void 0 ? void 0 : _d.isDirectSend) ? 'utility'
|
|
110
|
+
: (_f = (_e = resp.data) === null || _e === void 0 ? void 0 : _e.type) === null || _f === void 0 ? void 0 : _f.toUpperCase(),
|
|
111
|
+
media: (_h = (_g = resp.data) === null || _g === void 0 ? void 0 : _g.type) === null || _h === void 0 ? void 0 : _h.toUpperCase(),
|
|
112
|
+
isPrevTemplate: (_k = (_j = resp) === null || _j === void 0 ? void 0 : _j.data) === null || _k === void 0 ? void 0 : _k.isPrevTemplate,
|
|
113
|
+
templateName: (_m = (_l = resp) === null || _l === void 0 ? void 0 : _l.data) === null || _m === void 0 ? void 0 : _m.templateName,
|
|
114
|
+
ttl: (_p = (_o = resp) === null || _o === void 0 ? void 0 : _o.data) === null || _p === void 0 ? void 0 : _p.ttlSeconds,
|
|
111
115
|
from: {
|
|
112
|
-
id: (
|
|
113
|
-
name: (
|
|
114
|
-
platform: (
|
|
115
|
-
clientId: (
|
|
116
|
-
clientName: (
|
|
117
|
-
accountNo: (
|
|
118
|
-
wabaId: (
|
|
116
|
+
id: (_q = resp.data) === null || _q === void 0 ? void 0 : _q.accountId,
|
|
117
|
+
name: (_r = resp.data) === null || _r === void 0 ? void 0 : _r.accountName,
|
|
118
|
+
platform: (_s = resp.data) === null || _s === void 0 ? void 0 : _s.platform,
|
|
119
|
+
clientId: (_t = resp.data) === null || _t === void 0 ? void 0 : _t.clientId,
|
|
120
|
+
clientName: (_u = resp.data) === null || _u === void 0 ? void 0 : _u.clientName,
|
|
121
|
+
accountNo: (_v = resp.data) === null || _v === void 0 ? void 0 : _v.accountNo,
|
|
122
|
+
wabaId: (_x = (_w = resp.data) === null || _w === void 0 ? void 0 : _w.wabaId, (_x !== null && _x !== void 0 ? _x : '')),
|
|
119
123
|
},
|
|
120
|
-
text: (
|
|
121
|
-
targetURL: (
|
|
122
|
-
paramHeader: (
|
|
123
|
-
paramBody: (
|
|
124
|
-
paramButton: (
|
|
125
|
-
otpValue: (
|
|
124
|
+
text: (_z = (_y = resp.data) === null || _y === void 0 ? void 0 : _y.details) === null || _z === void 0 ? void 0 : _z.text,
|
|
125
|
+
targetURL: (_11 = (_7 = (_3 = (_2 = (_1 = (_0 = resp.data) === null || _0 === void 0 ? void 0 : _0.details) === null || _1 === void 0 ? void 0 : _1.image) === null || _2 === void 0 ? void 0 : _2.url, (_3 !== null && _3 !== void 0 ? _3 : (_6 = (_5 = (_4 = resp.data) === null || _4 === void 0 ? void 0 : _4.details) === null || _5 === void 0 ? void 0 : _5.document) === null || _6 === void 0 ? void 0 : _6.url)), (_7 !== null && _7 !== void 0 ? _7 : (_10 = (_9 = (_8 = resp.data) === null || _8 === void 0 ? void 0 : _8.details) === null || _9 === void 0 ? void 0 : _9.video) === null || _10 === void 0 ? void 0 : _10.url)), (_11 !== null && _11 !== void 0 ? _11 : (_14 = (_13 = (_12 = resp.data) === null || _12 === void 0 ? void 0 : _12.details) === null || _13 === void 0 ? void 0 : _13.template) === null || _14 === void 0 ? void 0 : _14.headerURL)),
|
|
126
|
+
paramHeader: (_17 = (_16 = (_15 = resp.data) === null || _15 === void 0 ? void 0 : _15.details) === null || _16 === void 0 ? void 0 : _16.template) === null || _17 === void 0 ? void 0 : _17.header,
|
|
127
|
+
paramBody: (_20 = (_19 = (_18 = resp.data) === null || _18 === void 0 ? void 0 : _18.details) === null || _19 === void 0 ? void 0 : _19.template) === null || _20 === void 0 ? void 0 : _20.data,
|
|
128
|
+
paramButton: (_23 = (_22 = (_21 = resp.data) === null || _21 === void 0 ? void 0 : _21.details) === null || _22 === void 0 ? void 0 : _22.template) === null || _23 === void 0 ? void 0 : _23.button,
|
|
129
|
+
otpValue: (_28 = __spread((_27 = (_26 = (_25 = (_24 = resp.data) === null || _24 === void 0 ? void 0 : _24.details) === null || _25 === void 0 ? void 0 : _25.template) === null || _26 === void 0 ? void 0 : _26.data, (_27 !== null && _27 !== void 0 ? _27 : [])))) === null || _28 === void 0 ? void 0 : _28.pop(),
|
|
126
130
|
template: {
|
|
127
|
-
ID: (
|
|
128
|
-
name: (
|
|
129
|
-
lang: (
|
|
130
|
-
platform: (
|
|
131
|
-
headerURL: (
|
|
131
|
+
ID: (_31 = (_30 = (_29 = resp.data) === null || _29 === void 0 ? void 0 : _29.details) === null || _30 === void 0 ? void 0 : _30.template) === null || _31 === void 0 ? void 0 : _31.id,
|
|
132
|
+
name: (_34 = (_33 = (_32 = resp.data) === null || _32 === void 0 ? void 0 : _32.details) === null || _33 === void 0 ? void 0 : _33.template) === null || _34 === void 0 ? void 0 : _34.name,
|
|
133
|
+
lang: (_37 = (_36 = (_35 = resp.data) === null || _35 === void 0 ? void 0 : _35.details) === null || _36 === void 0 ? void 0 : _36.template) === null || _37 === void 0 ? void 0 : _37.lang,
|
|
134
|
+
platform: (_38 = resp.data) === null || _38 === void 0 ? void 0 : _38.platform,
|
|
135
|
+
headerURL: (_41 = (_40 = (_39 = resp.data) === null || _39 === void 0 ? void 0 : _39.details) === null || _40 === void 0 ? void 0 : _40.template) === null || _41 === void 0 ? void 0 : _41.headerURL,
|
|
132
136
|
header: {
|
|
133
|
-
examples: (
|
|
137
|
+
examples: (_44 = (_43 = (_42 = resp.data) === null || _42 === void 0 ? void 0 : _42.details) === null || _43 === void 0 ? void 0 : _43.template) === null || _44 === void 0 ? void 0 : _44.header,
|
|
134
138
|
},
|
|
135
139
|
body: {
|
|
136
|
-
examples: (
|
|
140
|
+
examples: (_47 = (_46 = (_45 = resp.data) === null || _45 === void 0 ? void 0 : _45.details) === null || _46 === void 0 ? void 0 : _46.template) === null || _47 === void 0 ? void 0 : _47.data,
|
|
137
141
|
},
|
|
138
|
-
buttons: (
|
|
139
|
-
ClientId: (
|
|
140
|
-
ClientName: (
|
|
142
|
+
buttons: (_50 = (_49 = (_48 = resp.data) === null || _48 === void 0 ? void 0 : _48.details) === null || _49 === void 0 ? void 0 : _49.template) === null || _50 === void 0 ? void 0 : _50.button,
|
|
143
|
+
ClientId: (_51 = resp.data) === null || _51 === void 0 ? void 0 : _51.clientId,
|
|
144
|
+
ClientName: (_52 = resp.data) === null || _52 === void 0 ? void 0 : _52.clientName,
|
|
141
145
|
},
|
|
142
|
-
isUpload: ((
|
|
143
|
-
fileId: (
|
|
146
|
+
isUpload: ((_53 = resp.data) === null || _53 === void 0 ? void 0 : _53.fileId) !== '',
|
|
147
|
+
fileId: (_54 = resp.data) === null || _54 === void 0 ? void 0 : _54.fileId,
|
|
144
148
|
};
|
|
145
149
|
localStorage.setItem('telin.campaign', JSON.stringify(__assign(__assign({}, _this.getCampaignStorage), {
|
|
146
150
|
generalInformation: {
|
|
147
|
-
id: (
|
|
151
|
+
id: (_55 = resp.data) === null || _55 === void 0 ? void 0 : _55.id,
|
|
148
152
|
form: generalInformation,
|
|
149
153
|
},
|
|
150
|
-
failover: (
|
|
151
|
-
targetAudience: (
|
|
154
|
+
failover: (_56 = resp.data) === null || _56 === void 0 ? void 0 : _56.failover,
|
|
155
|
+
targetAudience: (_57 = resp.data) === null || _57 === void 0 ? void 0 : _57.targets,
|
|
152
156
|
targetAudienceFile: {
|
|
153
|
-
name: (
|
|
154
|
-
targetURL: (
|
|
157
|
+
name: (_58 = resp.data) === null || _58 === void 0 ? void 0 : _58.fileName,
|
|
158
|
+
targetURL: (_59 = resp.data) === null || _59 === void 0 ? void 0 : _59.targetURL,
|
|
155
159
|
},
|
|
156
160
|
scheduler: {
|
|
157
|
-
schedulerType: ((
|
|
161
|
+
schedulerType: ((_60 = resp.data) === null || _60 === void 0 ? void 0 : _60.scheduleType) === 'MULTI'
|
|
158
162
|
? 'ONE_TIME'
|
|
159
|
-
: (
|
|
160
|
-
startDate: (
|
|
161
|
-
startTime: (
|
|
162
|
-
isRepeat: ((
|
|
163
|
-
delivery: (
|
|
163
|
+
: (_61 = resp.data) === null || _61 === void 0 ? void 0 : _61.scheduleType,
|
|
164
|
+
startDate: (_63 = (_62 = resp.data) === null || _62 === void 0 ? void 0 : _62.startTime) === null || _63 === void 0 ? void 0 : _63.split(' ')[0],
|
|
165
|
+
startTime: (_65 = (_64 = resp.data) === null || _64 === void 0 ? void 0 : _64.startTime) === null || _65 === void 0 ? void 0 : _65.split(' ')[1],
|
|
166
|
+
isRepeat: ((_66 = resp.data) === null || _66 === void 0 ? void 0 : _66.scheduleType) === 'MULTI',
|
|
167
|
+
delivery: (_67 = resp.data) === null || _67 === void 0 ? void 0 : _67.repeat,
|
|
164
168
|
},
|
|
165
169
|
})));
|
|
166
|
-
_this.isLine = ((
|
|
170
|
+
_this.isLine = ((_68 = resp.data) === null || _68 === void 0 ? void 0 : _68.platform) === 'LINE';
|
|
167
171
|
_this.isLoading = false;
|
|
168
172
|
_this.initWizard();
|
|
169
173
|
}, function () {
|
|
@@ -457,4 +461,4 @@ var NewCampaignComponent = /** @class */ (function () {
|
|
|
457
461
|
return NewCampaignComponent;
|
|
458
462
|
}());
|
|
459
463
|
export { NewCampaignComponent };
|
|
460
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LWNhbXBhaWduLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhZGxmZS9jYW1wYWlnbi1tYW5hZ2VtZW50LWxpYnJhcnkvIiwic291cmNlcyI6WyJsaWIvY2FtcGFpZ24tbWFuYWdlbWVudC9tb2R1bGVzL25ldy1jYW1wYWlnbi9uZXctY2FtcGFpZ24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5GLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsNEJBQTRCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFPakc7SUF3QkksOEJBQ1ksTUFBaUIsRUFDakIsaUJBQTJDLEVBQzNDLE1BQXFCO1FBSGpDLGlCQUlJO1FBSFEsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQTBCO1FBQzNDLFdBQU0sR0FBTixNQUFNLENBQWU7UUExQnZCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUc5QyxpQkFBWSxHQUFHLFFBQVEsQ0FBQztRQUN4QixtQkFBYyxHQUFXLENBQUMsQ0FBQztRQUUzQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsOEJBQXlCLEdBQVksS0FBSyxDQUFDO1FBQzNDLDZCQUF3QixHQUFZLEtBQUssQ0FBQztRQUMxQyxpQ0FBNEIsR0FBWSxLQUFLLENBQUM7UUFDOUMsZ0NBQTJCLEdBQVksS0FBSyxDQUFDO1FBQzdDLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFRdkIsMkJBQXNCLEdBQVksS0FBSyxDQUFDO1FBQ3hDLGdCQUFXLEdBQW1CLEVBQUUsQ0FBQztRQW1ObEMsOEJBQXlCLEdBQUc7O1lBQy9CLElBQU0sYUFBYSxHQUFHLEtBQUksQ0FBQyxzQkFBc0IsQ0FBQztZQUVsRCxJQUFJLE9BQUEsYUFBYSwwQ0FBRSxNQUFNLE1BQUssS0FBSyxFQUFFO2dCQUNqQyxPQUFPLElBQUksQ0FBQzthQUNmO1lBRUQsSUFBSSxPQUFBLGFBQWEsMENBQUUsT0FBTyxNQUFLLE1BQU0sRUFBRTtnQkFDbkMsSUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGdCQUFnQixDQUFDLEtBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDNUQsSUFBTSxNQUFNLEdBQUc7b0JBQ1gsUUFBUSxFQUFFLGdCQUFnQixDQUFDLGFBQWE7b0JBQ3hDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZO29CQUN2QyxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsc0JBQXNCO2lCQUN0RCxDQUFDO2dCQUVGLElBQUksTUFBTSxDQUFDLFFBQVEsR0FBRyxFQUFFLEVBQUU7b0JBQ3RCLE9BQU8sS0FBSyxDQUFDO2lCQUNoQjtxQkFBTTtvQkFDSCxPQUFPLElBQUksQ0FBQztpQkFDZjthQUNKO2lCQUFNO2dCQUNILElBQUksYUFBVyxHQUFHLEtBQUksQ0FBQyxPQUFPLENBQUM7Z0JBQy9CLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBQSxhQUFhLENBQUMsUUFBUSwwQ0FBRSxJQUFJLDBDQUFFLFFBQVEsS0FBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBQyxLQUFLLEVBQUUsS0FBSztvQkFDdEUsSUFBSSxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7d0JBQ3BDLElBQU0sV0FBVyxHQUFHLE9BQUssS0FBSyxPQUFJLENBQUM7d0JBQ25DLElBQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDO3dCQUNsRCxhQUFXLEdBQUcsYUFBVyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQzVEO2dCQUNMLENBQUMsQ0FBQyxDQUFDO2dCQUVILElBQU0sZ0JBQWdCLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxhQUFXLENBQUMsQ0FBQztnQkFDM0QsSUFBTSxNQUFNLEdBQUc7b0JBQ1gsUUFBUSxFQUFFLGdCQUFnQixDQUFDLGFBQWE7b0JBQ3hDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZO29CQUN2QyxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsc0JBQXNCO2lCQUN0RCxDQUFDO2dCQUVGLElBQUksTUFBTSxDQUFDLFFBQVEsR0FBRyxFQUFFLEVBQUU7b0JBQ3RCLE9BQU8sS0FBSyxDQUFDO2lCQUNoQjtxQkFBTTtvQkFDSCxPQUFPLElBQUksQ0FBQztpQkFDZjthQUNKO1FBQ0wsQ0FBQyxDQUFDO0lBeFBDLENBQUM7SUFFSix1Q0FBUSxHQUFSOztRQUNJLElBQUksQ0FBQyxVQUFVLGVBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLDBDQUFFLEtBQUssQ0FBQyxHQUFHLDJDQUFHLEdBQUcsRUFBRSxDQUFDO1FBRTlELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU8seUNBQVUsR0FBbEI7UUFDSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNkLElBQUksQ0FBQyxVQUFVLEdBQUc7Z0JBQ2QscUJBQXFCO2dCQUNyQixvQkFBb0I7Z0JBQ3BCLGlCQUFpQjtnQkFDakIsV0FBVztnQkFDWCxTQUFTO2FBQ1osQ0FBQztZQUNGLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVPLHVEQUF3QixHQUFoQztRQUFBLGlCQWlHQzs7UUFoR0csSUFBSSxPQUFBLElBQUksQ0FBQyxVQUFVLDBDQUFFLE1BQU0sSUFBRyxFQUFFO1lBQUUsT0FBTztRQUV6QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUV0QixJQUFNLElBQUksR0FBRyxJQUFJLENBQUMsaUJBQWlCO2FBQzlCLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxlQUFhLElBQUksQ0FBQyxVQUFZLEVBQUUsS0FBSyxDQUFDO2FBQzVELFNBQVMsQ0FDTixVQUFDLElBQXNCOztZQUNuQixJQUFJLENBQUMsSUFBSTtnQkFBRSxPQUFPO1lBRWxCLElBQU0sa0JBQWtCLEdBQUc7Z0JBQ3ZCLFlBQVksUUFBRSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxJQUFJO2dCQUM3QixNQUFNLFFBQUUsSUFBSSxDQUFDLElBQUksMENBQUUsUUFBUTtnQkFDM0IsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQyxRQUFRLE9BQUMsSUFBSSxDQUFDLElBQUksMENBQUUsSUFBSSxDQUFDO29CQUM3RCxDQUFDLENBQUMsT0FBTztvQkFDVCxDQUFDLGFBQUMsSUFBSSxDQUFDLElBQUksMENBQUUsSUFBSSwwQ0FBRSxXQUFXLEVBQUU7Z0JBQ3BDLEtBQUssY0FBRSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxJQUFJLDBDQUFFLFdBQVcsRUFBRTtnQkFDckMsSUFBSSxFQUFFO29CQUNGLEVBQUUsUUFBRSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxTQUFTO29CQUN4QixJQUFJLFFBQUUsSUFBSSxDQUFDLElBQUksMENBQUUsV0FBVztvQkFDNUIsUUFBUSxRQUFFLElBQUksQ0FBQyxJQUFJLDBDQUFFLFFBQVE7b0JBQzdCLFFBQVEsUUFBRSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxRQUFRO29CQUM3QixVQUFVLFFBQUUsSUFBSSxDQUFDLElBQUksMENBQUUsVUFBVTtvQkFDakMsU0FBUyxRQUFFLElBQUksQ0FBQyxJQUFJLDBDQUFFLFNBQVM7b0JBQy9CLE1BQU0sY0FBRSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxNQUFNLHVDQUFJLEVBQUUsRUFBQTtpQkFDbEM7Z0JBQ0QsSUFBSSxjQUFFLElBQUksQ0FBQyxJQUFJLDBDQUFFLE9BQU8sMENBQUUsSUFBSTtnQkFDOUIsU0FBUyxzQ0FDTCxJQUFJLENBQUMsSUFBSSwwQ0FBRSxPQUFPLDBDQUFFLEtBQUssMENBQUUsR0FBRyx5REFDOUIsSUFBSSxDQUFDLElBQUksMENBQUUsT0FBTywwQ0FBRSxRQUFRLDBDQUFFLEdBQUcsMkRBQ2pDLElBQUksQ0FBQyxJQUFJLDBDQUFFLE9BQU8sMENBQUUsS0FBSywwQ0FBRSxHQUFHLDJEQUM5QixJQUFJLENBQUMsSUFBSSwwQ0FBRSxPQUFPLDBDQUFFLFFBQVEsMENBQUUsU0FBUyxFQUFBO2dCQUMzQyxXQUFXLHFCQUFFLElBQUksQ0FBQyxJQUFJLDBDQUFFLE9BQU8sMENBQUUsUUFBUSw0Q0FBRSxNQUFNO2dCQUNqRCxTQUFTLHVCQUFFLElBQUksQ0FBQyxJQUFJLDRDQUFFLE9BQU8sNENBQUUsUUFBUSw0Q0FBRSxJQUFJO2dCQUM3QyxXQUFXLHVCQUFFLElBQUksQ0FBQyxJQUFJLDRDQUFFLE9BQU8sNENBQUUsUUFBUSw0Q0FBRSxNQUFNO2dCQUNqRCxRQUFRLGtCQUFNLDRCQUFDLElBQUksQ0FBQyxJQUFJLDRDQUFFLE9BQU8sNENBQUUsUUFBUSw0Q0FBRSxJQUFJLDBDQUFJLEVBQUUsRUFBQyw2Q0FBRyxHQUFHLEVBQUU7Z0JBQ2hFLFFBQVEsRUFBRTtvQkFDTixFQUFFLHVCQUFFLElBQUksQ0FBQyxJQUFJLDRDQUFFLE9BQU8sNENBQUUsUUFBUSw0Q0FBRSxFQUFFO29CQUNwQyxJQUFJLHVCQUFFLElBQUksQ0FBQyxJQUFJLDRDQUFFLE9BQU8sNENBQUUsUUFBUSw0Q0FBRSxJQUFJO29CQUN4QyxJQUFJLHVCQUFFLElBQUksQ0FBQyxJQUFJLDRDQUFFLE9BQU8sNENBQUUsUUFBUSw0Q0FBRSxJQUFJO29CQUN4QyxRQUFRLFNBQUUsSUFBSSxDQUFDLElBQUksNENBQUUsUUFBUTtvQkFDN0IsU0FBUyx1QkFBRSxJQUFJLENBQUMsSUFBSSw0Q0FBRSxPQUFPLDRDQUFFLFFBQVEsNENBQUUsU0FBUztvQkFDbEQsTUFBTSxFQUFFO3dCQUNKLFFBQVEsdUJBQUUsSUFBSSxDQUFDLElBQUksNENBQUUsT0FBTyw0Q0FBRSxRQUFRLDRDQUFFLE1BQU07cUJBQ2pEO29CQUNELElBQUksRUFBRTt3QkFDRixRQUFRLHVCQUFFLElBQUksQ0FBQyxJQUFJLDRDQUFFLE9BQU8sNENBQUUsUUFBUSw0Q0FBRSxJQUFJO3FCQUMvQztvQkFDRCxPQUFPLHVCQUFFLElBQUksQ0FBQyxJQUFJLDRDQUFFLE9BQU8sNENBQUUsUUFBUSw0Q0FBRSxNQUFNO29CQUM3QyxRQUFRLFNBQUUsSUFBSSxDQUFDLElBQUksNENBQUUsUUFBUTtvQkFDN0IsVUFBVSxTQUFFLElBQUksQ0FBQyxJQUFJLDRDQUFFLFVBQVU7aUJBQ3BDO2dCQUNELFFBQVEsRUFBRSxRQUFBLElBQUksQ0FBQyxJQUFJLDRDQUFFLE1BQU0sTUFBSyxFQUFFO2dCQUNsQyxNQUFNLFNBQUUsSUFBSSxDQUFDLElBQUksNENBQUUsTUFBTTthQUM1QixDQUFDO1lBRUYsWUFBWSxDQUFDLE9BQU8sQ0FDaEIsZ0JBQWdCLEVBQ2hCLElBQUksQ0FBQyxTQUFTLHVCQUNQLEtBQUksQ0FBQyxrQkFBa0IsR0FDdkI7Z0JBQ0Msa0JBQWtCLEVBQUU7b0JBQ2hCLEVBQUUsU0FBRSxJQUFJLENBQUMsSUFBSSw0Q0FBRSxFQUFFO29CQUNqQixJQUFJLEVBQUUsa0JBQWtCO2lCQUMzQjtnQkFDRCxRQUFRLFNBQUUsSUFBSSxDQUFDLElBQUksNENBQUUsUUFBUTtnQkFDN0IsY0FBYyxTQUFFLElBQUksQ0FBQyxJQUFJLDRDQUFFLE9BQU87Z0JBQ2xDLGtCQUFrQixFQUFFO29CQUNoQixJQUFJLFNBQUUsSUFBSSxDQUFDLElBQUksNENBQUUsUUFBUTtvQkFDekIsU0FBUyxTQUFFLElBQUksQ0FBQyxJQUFJLDRDQUFFLFNBQVM7aUJBQ2xDO2dCQUNELFNBQVMsRUFBRTtvQkFDUCxhQUFhLEVBQ1QsUUFBQSxJQUFJLENBQUMsSUFBSSw0Q0FBRSxZQUFZLE1BQUssT0FBTzt3QkFDL0IsQ0FBQyxDQUFDLFVBQVU7d0JBQ1osQ0FBQyxRQUFDLElBQUksQ0FBQyxJQUFJLDRDQUFFLFlBQVk7b0JBQ2pDLFNBQVMsZ0JBQUUsSUFBSSxDQUFDLElBQUksNENBQUUsU0FBUyw0Q0FBRSxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztvQkFDOUMsU0FBUyxnQkFBRSxJQUFJLENBQUMsSUFBSSw0Q0FBRSxTQUFTLDRDQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO29CQUM5QyxRQUFRLEVBQUUsUUFBQSxJQUFJLENBQUMsSUFBSSw0Q0FBRSxZQUFZLE1BQUssT0FBTztvQkFDN0MsUUFBUSxTQUFFLElBQUksQ0FBQyxJQUFJLDRDQUFFLE1BQU07aUJBQzlCO2FBQ0osRUFDSCxDQUNMLENBQUM7WUFFRixLQUFJLENBQUMsTUFBTSxHQUFHLFFBQUEsSUFBSSxDQUFDLElBQUksNENBQUUsUUFBUSxNQUFLLE1BQU0sQ0FBQztZQUM3QyxLQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUV2QixLQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxFQUNEO1lBQ0ksS0FBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQyxDQUNKLENBQUM7UUFFTixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU0saURBQWtCLEdBQXpCLFVBQTBCLElBQTZDOztRQUNuRSxJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssV0FBSSxJQUFJLENBQUMsS0FBSywwQ0FBRSxLQUFLLENBQUEsQ0FBQztRQUN0RixJQUFJLENBQUMsTUFBTSxHQUFHLGFBQUEsSUFBSSxDQUFDLE1BQU0sMENBQUUsV0FBVyw0Q0FBSSxNQUFNLE1BQUssTUFBTSxDQUFDO1FBRTVELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVsQixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEtBQUs7WUFDekIsSUFBSSxDQUFDLHNCQUFzQix5QkFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsR0FDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FDOUIsQ0FBQztJQUNWLENBQUM7SUFFTSxnREFBaUIsR0FBeEIsVUFBeUIsSUFBZTtRQUNwQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUMzQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFTSw2Q0FBYyxHQUFyQixVQUFzQixNQUtyQjs7UUFDRyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN0QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQztRQUNoRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUM5QyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUM5QyxJQUFJLENBQUMsNEJBQTRCO1lBQzdCLENBQUMsTUFBTSxDQUFDLFFBQVEsV0FBSSxNQUFNLENBQUMsSUFBSSwwQ0FBRSxJQUFJLENBQUEsQ0FBQztnQkFDdEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLHVCQUN0RCxJQUFJLENBQUMsa0JBQWtCLDBDQUFFLGtCQUFrQiwwQ0FBRSxJQUFJLDBDQUFFLE1BQU0sQ0FBQSxDQUFDO0lBQ2xFLENBQUM7SUFFTSx3Q0FBUyxHQUFoQixVQUFpQixJQUFlO1FBQzVCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ2xELENBQUM7SUFFTSx1REFBd0IsR0FBL0I7UUFDSSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUVyQixRQUFRLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDekIsS0FBSyxDQUFDO2dCQUNGLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO2dCQUNyQyxNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO2dCQUNuRixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2dCQUMzRSxNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtvQkFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDOUMsTUFBTTtZQUNWO2dCQUNJLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUN0QixNQUFNO1NBQ2I7SUFDTCxDQUFDO0lBRUQsc0JBQUksb0RBQWtCO2FBQXRCO1lBQ0ksT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDO2dCQUN6QyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3BELENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDYixDQUFDOzs7T0FBQTtJQUVELHNCQUFJLHlDQUFPO2FBQVg7O1lBQ0ksSUFBTSxJQUFJLEdBQ04sT0FBQSxJQUFJLENBQUMsc0JBQXNCLDBDQUFFLElBQUksd0JBQ2pDLElBQUksQ0FBQyxzQkFBc0IsMENBQUUsUUFBUSwwQ0FBRSxJQUFJLDBDQUFFLElBQUksQ0FBQSxpQkFDakQsSUFBSSxDQUFDLHNCQUFzQiwwQ0FBRSxJQUFJLDBDQUFFLElBQUksQ0FBQSxDQUFDO1lBRTVDLE9BQU8sWUFDSCxJQUFJLDBDQUNFLEtBQUssQ0FBQyxRQUFRLEVBQ2YsSUFBSSxDQUFDLFFBQVEsRUFDYixLQUFLLENBQUMsUUFBUSxFQUNkLElBQUksQ0FBQyxNQUFNLHdDQUFLLEVBQUUsRUFDMUIsQ0FBQztRQUNOLENBQUM7OztPQUFBO0lBK0NPLDREQUE2QixHQUFyQztRQUFBLGlCQThEQztRQTdERyxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QixPQUFPO1NBQ1Y7UUFFRCxJQUFNLE9BQU8sR0FBRyxJQUFJLDRCQUE0QixFQUFFLENBQUMsS0FBSyxjQUNqRCxJQUFJLENBQUMsc0JBQXNCLEVBQ2hDLENBQUM7UUFFSCxJQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFdkMsSUFBSSxZQUFZLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUU7WUFDL0QsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJO2dCQUN0QixZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztTQUNuRjtRQUVELElBQU0sYUFBYSxHQUFxQjtZQUNwQztnQkFDSSxJQUFJLEVBQUUsTUFBTTtnQkFDWixLQUFLLEVBQUUsWUFBWTtnQkFDbkIsRUFBRSxFQUFFLE1BQU07Z0JBQ1YsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsY0FBYyxFQUFFLElBQUk7YUFDdkI7U0FDSixDQUFDO1FBQ0YsSUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGlCQUFpQjthQUM5QixpQkFBaUIsQ0FDZCxhQUFhLEVBQ2IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUU7WUFDMUIsQ0FBQyxDQUFDLGVBQWEsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUk7WUFDL0MsQ0FBQyxDQUFDLFdBQVcsRUFDakIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQ2xEO2FBQ0EsU0FBUyxDQUNOLFVBQUMsSUFBSTs7WUFDRCxJQUFJLGFBQUEsSUFBSSwwQ0FBRSxPQUFPLDBDQUFFLFdBQVcsUUFBTyxTQUFTLEVBQUU7Z0JBQzVDLEtBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUN0QixPQUFPO2FBQ1Y7WUFFRCxZQUFZLENBQUMsT0FBTyxDQUNoQixnQkFBZ0IsRUFDaEIsSUFBSSxDQUFDLFNBQVMsdUJBQ1AsS0FBSSxDQUFDLGtCQUFrQixHQUN2QjtnQkFDQyxrQkFBa0IsRUFBRTtvQkFDaEIsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDaEIsSUFBSSxFQUFFLEtBQUksQ0FBQyxzQkFBc0I7aUJBQ3BDO2FBQ0osRUFDSCxDQUNMLENBQUM7WUFFRixLQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QixLQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQztRQUM3QixDQUFDLEVBQ0QsY0FBTSxPQUFBLENBQUMsS0FBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBdkIsQ0FBdUIsQ0FDaEMsQ0FBQztRQUVOLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTywyREFBNEIsR0FBcEM7UUFBQSxpQkE2Q0M7O1FBNUNHLElBQU0sT0FBTyxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQyxLQUFLLGNBQ3JDLElBQUksQ0FBQyxxQkFBcUIsRUFDL0IsQ0FBQztRQUVILElBQU0sYUFBYSxHQUFxQjtZQUNwQztnQkFDSSxJQUFJLEVBQUUsTUFBTTtnQkFDWixLQUFLLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDeEIsRUFBRSxFQUFFLE1BQU07Z0JBQ1YsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsY0FBYyxFQUFFLElBQUk7YUFDdkI7U0FDSixDQUFDO1FBRUYsSUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGlCQUFpQjthQUM5QixpQkFBaUIsQ0FDZCxhQUFhLEVBQ2IsNEJBQWEsSUFBSSxDQUFDLGtCQUFrQiwwQ0FBRSxrQkFBa0IsMENBQUUsRUFBRSxlQUFXLEVBQ3ZFLE1BQU0sQ0FDVDthQUNBLFNBQVMsQ0FDTixVQUFDLElBQUk7O1lBQ0QsSUFBSSxhQUFBLElBQUksMENBQUUsT0FBTywwQ0FBRSxXQUFXLFFBQU8sU0FBUyxFQUFFO2dCQUM1QyxLQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDdEIsT0FBTzthQUNWO1lBRUQsWUFBWSxDQUFDLE9BQU8sQ0FDaEIsZ0JBQWdCLEVBQ2hCLElBQUksQ0FBQyxTQUFTLHVCQUNQLEtBQUksQ0FBQyxrQkFBa0IsR0FDdkI7Z0JBQ0MsUUFBUSxFQUFFLEtBQUksQ0FBQyxxQkFBcUI7YUFDdkMsRUFDSCxDQUNMLENBQUM7WUFFRixLQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QixLQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQztRQUM3QixDQUFDLEVBQ0QsY0FBTSxPQUFBLENBQUMsS0FBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBdkIsQ0FBdUIsQ0FDaEMsQ0FBQztRQUVOLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxxREFBc0IsR0FBOUI7UUFBQSxpQkFnRUM7O1FBL0RHLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQ3JFLFlBQVksQ0FBQyxPQUFPLENBQ2hCLGdCQUFnQixFQUNoQixJQUFJLENBQUMsU0FBUyx1QkFDUCxJQUFJLENBQUMsa0JBQWtCLEdBQ3ZCO2dCQUNDLGNBQWMsRUFBRSxJQUFJLENBQUMsa0JBQWtCO2dCQUN2QyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CO2dCQUM3QyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCO2FBQzlDLEVBQ0gsQ0FDTCxDQUFDO1lBRUYsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUM7WUFDekIsT0FBTztTQUNWO1FBRUQsSUFBTSxhQUFhLEdBQXFCO1lBQ3BDO2dCQUNJLElBQUksRUFBRSxNQUFNO2dCQUNaLEtBQUssRUFBRTtvQkFDSCxPQUFPLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtvQkFDaEMsV0FBVyxFQUFFLElBQUksQ0FBQyxtQkFBbUI7aUJBQ3hDO2dCQUNELEVBQUUsRUFBRSxNQUFNO2dCQUNWLElBQUksRUFBRSxRQUFRO2dCQUNkLGNBQWMsRUFBRSxJQUFJO2FBQ3ZCO1NBQ0osQ0FBQztRQUVGLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUI7YUFDOUIsaUJBQWlCLENBQ2QsYUFBYSxFQUNiLDRCQUFhLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsa0JBQWtCLDBDQUFFLEVBQUUscUJBQWlCLEVBQzdFLE1BQU0sQ0FDVDthQUNBLFNBQVMsQ0FDTixVQUFDLElBQUk7O1lBQ0QsSUFBSSxhQUFBLElBQUksMENBQUUsT0FBTywwQ0FBRSxXQUFXLFFBQU8sU0FBUyxFQUFFO2dCQUM1QyxLQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDdEIsT0FBTzthQUNWO1lBRUQsWUFBWSxDQUFDLE9BQU8sQ0FDaEIsZ0JBQWdCLEVBQ2hCLElBQUksQ0FBQyxTQUFTLHVCQUNQLEtBQUksQ0FBQyxrQkFBa0IsR0FDdkI7Z0JBQ0MsY0FBYyxFQUFFLEtBQUksQ0FBQyxrQkFBa0I7Z0JBQ3ZDLG1CQUFtQixFQUFFLEtBQUksQ0FBQyxtQkFBbUI7Z0JBQzdDLGtCQUFrQixFQUFFLEtBQUksQ0FBQyxrQkFBa0I7YUFDOUMsRUFDSCxDQUNMLENBQUM7WUFFRixLQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QixLQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQztRQUM3QixDQUFDLEVBQ0QsY0FBTSxPQUFBLENBQUMsS0FBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBdkIsQ0FBdUIsQ0FDaEMsQ0FBQztRQUVOLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxtREFBb0IsR0FBNUI7UUFBQSxpQkE2Q0M7O1FBNUNHLElBQU0sT0FBTyxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQyxLQUFLLGNBQ3RDLElBQUksQ0FBQyxhQUFhLEVBQ3ZCLENBQUM7UUFFSCxJQUFNLGFBQWEsR0FBcUI7WUFDcEM7Z0JBQ0ksSUFBSSxFQUFFLE1BQU07Z0JBQ1osS0FBSyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUU7Z0JBQ3hCLEVBQUUsRUFBRSxNQUFNO2dCQUNWLElBQUksRUFBRSxRQUFRO2dCQUNkLGNBQWMsRUFBRSxJQUFJO2FBQ3ZCO1NBQ0osQ0FBQztRQUVGLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUI7YUFDOUIsaUJBQWlCLENBQ2QsYUFBYSxFQUNiLDRCQUFhLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsa0JBQWtCLDBDQUFFLEVBQUUsZUFBVyxFQUN2RSxNQUFNLENBQ1Q7YUFDQSxTQUFTLENBQ04sVUFBQyxJQUFJOztZQUNELElBQUksYUFBQSxJQUFJLDBDQUFFLE9BQU8sMENBQUUsV0FBVyxRQUFPLFNBQVMsRUFBRTtnQkFDNUMsS0FBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLE9BQU87YUFDVjtZQUVELFlBQVksQ0FBQyxPQUFPLENBQ2hCLGdCQUFnQixFQUNoQixJQUFJLENBQUMsU0FBUyx1QkFDUCxLQUFJLENBQUMsa0JBQWtCLEdBQ3ZCO2dCQUNDLFNBQVMsRUFBRSxLQUFJLENBQUMsYUFBYTthQUNoQyxFQUNILENBQ0wsQ0FBQztZQUVGLEtBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLEtBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxDQUFDO1FBQzdCLENBQUMsRUFDRCxjQUFNLE9BQUEsQ0FBQyxLQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUF2QixDQUF1QixDQUNoQyxDQUFDO1FBRU4sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLHlDQUFVLEdBQWpCO1FBQ0ksSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVNLGdEQUFpQixHQUF4QixVQUF5QixJQUFjO1FBQ25DLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU8scURBQXNCLEdBQTlCLFVBQStCLElBQWM7UUFBN0MsaUJBNEJDO1FBM0JHLElBQU0sWUFBWSxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUU3QyxZQUFZLENBQUMsS0FBSyxHQUFHLHNCQUFzQixDQUFDO1FBQzVDLFlBQVksQ0FBQyxPQUFPLEdBQUcscURBQXFELENBQUM7UUFDN0UsWUFBWSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDbEMsWUFBWSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFFOUIsSUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU07YUFDbkIsSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQ3pCLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLGFBQWEsRUFBRSx5QkFBeUI7WUFDeEMsSUFBSSxFQUFFLFlBQVk7U0FDckIsQ0FBQzthQUNELFdBQVcsRUFBRTthQUNiLFNBQVMsQ0FBQyxVQUFDLElBQUk7O1lBQ1osSUFBSSxJQUFJLEVBQUU7Z0JBQ04sTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQ3ZCLEVBQUUsRUFDRixtQkFBSSxLQUFJLENBQUMsa0JBQWtCLDBDQUFFLGtCQUFrQiwwQ0FBRSxFQUFFLENBQUUsRUFDckQsa0JBQWtCLENBQ3JCLENBQUM7Z0JBRUYsS0FBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDL0I7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVQLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxrREFBbUIsR0FBMUI7UUFBQSxpQkF1Q0M7O1FBdENHLElBQU0sYUFBYSxHQUFxQixFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFFckIsZ0JBQUksSUFBSSxDQUFDLGtCQUFrQiwwQ0FBRSxrQkFBa0IsMENBQUUsSUFBSTtZQUNqRCxhQUFhLENBQUMsSUFBSSxDQUFDO2dCQUNmLElBQUksRUFBRSxRQUFRO2dCQUNkLEtBQUssRUFBRSxJQUFJO2dCQUNYLEVBQUUsRUFBRSxPQUFPO2dCQUNYLElBQUksRUFBRSxRQUFRO2FBQ2pCLENBQUMsQ0FBQztRQUVQLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUI7YUFDOUIsaUJBQWlCLENBQ2QsYUFBYSxFQUNiLDRCQUFhLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsa0JBQWtCLDBDQUFFLEVBQUUsYUFBUyxFQUNyRSxNQUFNLENBQ1Q7YUFDQSxTQUFTLENBQ04sVUFBQyxJQUFJOztZQUNELElBQUksYUFBQSxJQUFJLDBDQUFFLE9BQU8sMENBQUUsV0FBVyxRQUFPLFNBQVMsRUFBRTtnQkFDNUMsS0FBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLE9BQU87YUFDVjtZQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUN2QixFQUFFLEVBQ0YsbUJBQUksS0FBSSxDQUFDLGtCQUFrQiwwQ0FBRSxrQkFBa0IsMENBQUUsRUFBRSxDQUFFLEVBQ3JELGtCQUFrQixDQUNyQixDQUFDO1lBRUYsS0FBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsa0NBQWtDLENBQUMsQ0FBQztZQUN4RCxLQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QixLQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzNELENBQUMsRUFDRCxjQUFNLE9BQUEsQ0FBQyxLQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUF2QixDQUF1QixDQUNoQyxDQUFDO1FBRU4sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELDBDQUFXLEdBQVg7UUFDSSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFDLElBQUksSUFBSyxPQUFBLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBbEIsQ0FBa0IsQ0FBQyxDQUFDO0lBQzNELENBQUM7O2dCQTlpQm1CLFNBQVM7Z0JBQ0Usd0JBQXdCO2dCQUNuQyxhQUFhOztJQTFCdkI7UUFBVCxNQUFNLEVBQUU7NkRBQTRDO0lBRDVDLG9CQUFvQjtRQUxoQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLDJvSkFBNEM7O1NBRS9DLENBQUM7T0FDVyxvQkFBb0IsQ0F3a0JoQztJQUFELDJCQUFDO0NBQUEsQUF4a0JELElBd2tCQztTQXhrQlksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTZWdtZW50ZWRNZXNzYWdlIH0gZnJvbSAnc21zLXNlZ21lbnRzLWNhbGN1bGF0b3InO1xyXG5pbXBvcnQgeyBNYWluQXJlYSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvZW51bXMnO1xyXG5pbXBvcnQgeyBQYXJhbWV0ZXIgfSBmcm9tICcuLi8uLi8uLi9jb3JlL21vZGVscy91dGlsL2FwaS1hZGFwdGVyLXNlcnZpY2UtbW9kZWxzJztcclxuaW1wb3J0IHsgQXBwUmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL21vZGVscy91dGlsL2FwaS1kdG8vcmVzcG9uc2UtbW9kZWxzJztcclxuaW1wb3J0IHsgQXBpQWRhcHRlclNlcnZpY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2dsb2JhbC9jb25maXJtYXRpb24vY29uZmlybWF0aW9uJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9nbG9iYWwvY29uZmlybWF0aW9uL3NoYXJlZC9tb2RlbCc7XHJcbmltcG9ydCB7IEZhaWxvdmVyUmVxTW9kZWwsIEdlbmVyYWxJbmZvcm1hdGlvbldBUmVxTW9kZWwsIFNjaGVkdWxlclJlcU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdsaWItbmV3LWNhbXBhaWduJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZXctY2FtcGFpZ24uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbmV3LWNhbXBhaWduLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZXdDYW1wYWlnbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIEBPdXRwdXQoKSBjdXJyZW50VmlldyA9IG5ldyBFdmVudEVtaXR0ZXI8TWFpbkFyZWE+KCk7XHJcblxyXG4gICAgcHVibGljIGNhbXBhaWduSUQ6IHN0cmluZztcclxuICAgIHB1YmxpYyBjdXJyZW50Vmlld3MgPSBNYWluQXJlYTtcclxuICAgIHB1YmxpYyBwb3NpdGlvbldpemFyZDogbnVtYmVyID0gMTtcclxuICAgIHB1YmxpYyBkYXRhV2l6YXJkOiBzdHJpbmdbXTtcclxuICAgIHB1YmxpYyBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBpc1N1Ym1pdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGlzR2VuZXJhbEluZm9ybWF0aW9uVmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBpc0ZhaWxvdmVyTWVjaGFuaXNtVmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBpc051bWJlckJhc2VJbmZvcm1hdGlvblZhbGlkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaXNTY2hlZHVsZXJJbmZvcm1hdGlvblZhbGlkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaXNMaW5lOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgZ2VuZXJhbEluZm9ybWF0aW9uRGF0YTogYW55O1xyXG4gICAgcHVibGljIGZhaWxvdmVyTWVjaGFuaXNtRGF0YTogYW55O1xyXG4gICAgcHVibGljIHRhcmdldEF1ZGllbmNlRGF0YTogc3RyaW5nW107XHJcbiAgICBwdWJsaWMgdGFyZ2V0QXVkaWVuY2VDb3VudDogbnVtYmVyO1xyXG4gICAgcHVibGljIHRhcmdldEF1ZGllbmNlRmlsZTogYW55O1xyXG4gICAgcHVibGljIHNjaGVkdWxlckRhdGE6IGFueTtcclxuXHJcbiAgICBwcml2YXRlIGlzVXBsb2FkVGFyZ2V0QXVkaWVuY2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHByaXZhdGUgc3Vic2NyaWJlcnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgICAgICBwcml2YXRlIGFwaUFkYXB0ZXJTZXJ2aWNlOiBBcGlBZGFwdGVyU2VydmljZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSB0b2FzdHI6IFRvYXN0clNlcnZpY2VcclxuICAgICkge31cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNhbXBhaWduSUQgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU/LnNwbGl0KCcvJyk/LnBvcCgpO1xyXG5cclxuICAgICAgICB0aGlzLmluaXRXaXphcmQoKTtcclxuICAgICAgICB0aGlzLmdldENhbXBhaWduRGV0YWlsU2VydmljZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5pdFdpemFyZCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuaXNMaW5lKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YVdpemFyZCA9IFtcclxuICAgICAgICAgICAgICAgICdHZW5lcmFsIEluZm9ybWF0aW9uJyxcclxuICAgICAgICAgICAgICAgICdGYWlsb3ZlciBNZWNoYW5pc20nLFxyXG4gICAgICAgICAgICAgICAgJ1RhcmdldCBBdWRpZW5jZScsXHJcbiAgICAgICAgICAgICAgICAnU2NoZWR1bGVyJyxcclxuICAgICAgICAgICAgICAgICdTdW1tYXJ5JyxcclxuICAgICAgICAgICAgXTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5kYXRhV2l6YXJkID0gWydHZW5lcmFsIEluZm9ybWF0aW9uJywgJ1RhcmdldCBBdWRpZW5jZScsICdTY2hlZHVsZXInLCAnU3VtbWFyeSddO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0Q2FtcGFpZ25EZXRhaWxTZXJ2aWNlKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmNhbXBhaWduSUQ/Lmxlbmd0aCA8IDEwKSByZXR1cm47XHJcblxyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgY29uc3Qgc3VicyA9IHRoaXMuYXBpQWRhcHRlclNlcnZpY2VcclxuICAgICAgICAgICAgLmV4ZWN1dGVBcGlSZXF1ZXN0KFtdLCBgL2NhbXBhaWduLyR7dGhpcy5jYW1wYWlnbklEfWAsICdHRVQnKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgKHJlc3A6IEFwcFJlc3BvbnNlPGFueT4pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIXJlc3ApIHJldHVybjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2VuZXJhbEluZm9ybWF0aW9uID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYW1wYWlnbk5hbWU6IHJlc3AuZGF0YT8ubmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWVkaXVtOiByZXNwLmRhdGE/LnBsYXRmb3JtLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGFubmVsOiBbJ2ltYWdlJywgJ3ZpZGVvJywgJ2RvY3VtZW50J10uaW5jbHVkZXMocmVzcC5kYXRhPy50eXBlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnTUVESUEnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHJlc3AuZGF0YT8udHlwZT8udG9VcHBlckNhc2UoKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWVkaWE6IHJlc3AuZGF0YT8udHlwZT8udG9VcHBlckNhc2UoKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZnJvbToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHJlc3AuZGF0YT8uYWNjb3VudElkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogcmVzcC5kYXRhPy5hY2NvdW50TmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYXRmb3JtOiByZXNwLmRhdGE/LnBsYXRmb3JtLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQ6IHJlc3AuZGF0YT8uY2xpZW50SWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnROYW1lOiByZXNwLmRhdGE/LmNsaWVudE5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NvdW50Tm86IHJlc3AuZGF0YT8uYWNjb3VudE5vLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FiYUlkOiByZXNwLmRhdGE/LndhYmFJZCA/PyAnJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogcmVzcC5kYXRhPy5kZXRhaWxzPy50ZXh0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRVUkw6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwLmRhdGE/LmRldGFpbHM/LmltYWdlPy51cmwgPz9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3AuZGF0YT8uZGV0YWlscz8uZG9jdW1lbnQ/LnVybCA/P1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcC5kYXRhPy5kZXRhaWxzPy52aWRlbz8udXJsID8/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5oZWFkZXJVUkwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtSGVhZGVyOiByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5oZWFkZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtQm9keTogcmVzcC5kYXRhPy5kZXRhaWxzPy50ZW1wbGF0ZT8uZGF0YSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1CdXR0b246IHJlc3AuZGF0YT8uZGV0YWlscz8udGVtcGxhdGU/LmJ1dHRvbixcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3RwVmFsdWU6IFsuLi4ocmVzcC5kYXRhPy5kZXRhaWxzPy50ZW1wbGF0ZT8uZGF0YSA/PyBbXSldPy5wb3AoKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIElEOiByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5pZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHJlc3AuZGF0YT8uZGV0YWlscz8udGVtcGxhdGU/Lm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nOiByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5sYW5nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhdGZvcm06IHJlc3AuZGF0YT8ucGxhdGZvcm0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJVUkw6IHJlc3AuZGF0YT8uZGV0YWlscz8udGVtcGxhdGU/LmhlYWRlclVSTCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4YW1wbGVzOiByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5oZWFkZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4YW1wbGVzOiByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5kYXRhLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbnM6IHJlc3AuZGF0YT8uZGV0YWlscz8udGVtcGxhdGU/LmJ1dHRvbixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsaWVudElkOiByZXNwLmRhdGE/LmNsaWVudElkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xpZW50TmFtZTogcmVzcC5kYXRhPy5jbGllbnROYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1VwbG9hZDogcmVzcC5kYXRhPy5maWxlSWQgIT09ICcnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlSWQ6IHJlc3AuZGF0YT8uZmlsZUlkLFxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAndGVsaW4uY2FtcGFpZ24nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmdldENhbXBhaWduU3RvcmFnZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmFsSW5mb3JtYXRpb246IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHJlc3AuZGF0YT8uaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm06IGdlbmVyYWxJbmZvcm1hdGlvbixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxvdmVyOiByZXNwLmRhdGE/LmZhaWxvdmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldEF1ZGllbmNlOiByZXNwLmRhdGE/LnRhcmdldHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0QXVkaWVuY2VGaWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHJlc3AuZGF0YT8uZmlsZU5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldFVSTDogcmVzcC5kYXRhPy50YXJnZXRVUkwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2hlZHVsZXI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NoZWR1bGVyVHlwZTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3AuZGF0YT8uc2NoZWR1bGVUeXBlID09PSAnTVVMVEknXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnT05FX1RJTUUnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiByZXNwLmRhdGE/LnNjaGVkdWxlVHlwZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnREYXRlOiByZXNwLmRhdGE/LnN0YXJ0VGltZT8uc3BsaXQoJyAnKVswXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRUaW1lOiByZXNwLmRhdGE/LnN0YXJ0VGltZT8uc3BsaXQoJyAnKVsxXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNSZXBlYXQ6IHJlc3AuZGF0YT8uc2NoZWR1bGVUeXBlID09PSAnTVVMVEknLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxpdmVyeTogcmVzcC5kYXRhPy5yZXBlYXQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xpbmUgPSByZXNwLmRhdGE/LnBsYXRmb3JtID09PSAnTElORSc7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0V2l6YXJkKCk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlcnMucHVzaChzdWJzKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2VuZXJhbEluZm9ybWF0aW9uKGZvcm06IHsgcGFyZW50OiBGb3JtR3JvdXA7IGNoaWxkOiBGb3JtR3JvdXAgfSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaXNHZW5lcmFsSW5mb3JtYXRpb25WYWxpZCA9IGZvcm0ucGFyZW50LnZhbGlkICYmIGZvcm0uY2hpbGQgJiYgZm9ybS5jaGlsZD8udmFsaWQ7XHJcbiAgICAgICAgdGhpcy5pc0xpbmUgPSBmb3JtLnBhcmVudD8uZ2V0UmF3VmFsdWUoKT8ubWVkaXVtID09PSAnTElORSc7XHJcblxyXG4gICAgICAgIHRoaXMuaW5pdFdpemFyZCgpO1xyXG5cclxuICAgICAgICBpZiAoZm9ybS5wYXJlbnQgJiYgZm9ybS5jaGlsZClcclxuICAgICAgICAgICAgdGhpcy5nZW5lcmFsSW5mb3JtYXRpb25EYXRhID0ge1xyXG4gICAgICAgICAgICAgICAgLi4uZm9ybS5wYXJlbnQuZ2V0UmF3VmFsdWUoKSxcclxuICAgICAgICAgICAgICAgIC4uLmZvcm0uY2hpbGQuZ2V0UmF3VmFsdWUoKSxcclxuICAgICAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZmFpbG92ZXJNZWNoYW5pc20oZm9ybTogRm9ybUdyb3VwKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pc0ZhaWxvdmVyTWVjaGFuaXNtVmFsaWQgPSBmb3JtLnZhbGlkO1xyXG4gICAgICAgIHRoaXMuZmFpbG92ZXJNZWNoYW5pc21EYXRhID0gZm9ybS5nZXRSYXdWYWx1ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB0YXJnZXRBdWRpZW5jZSh0YXJnZXQ6IHtcclxuICAgICAgICB0YXJnZXRBdWRpZW5jZTogc3RyaW5nW107XHJcbiAgICAgICAgbnVtYmVyQ291bnQ6IG51bWJlcjtcclxuICAgICAgICBpc1VwbG9hZDogYm9vbGVhbjtcclxuICAgICAgICBmaWxlOiBhbnk7XHJcbiAgICB9KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy50YXJnZXRBdWRpZW5jZUZpbGUgPSB0YXJnZXQuZmlsZTtcclxuICAgICAgICB0aGlzLnRhcmdldEF1ZGllbmNlRGF0YSA9IHRhcmdldC50YXJnZXRBdWRpZW5jZTtcclxuICAgICAgICB0aGlzLnRhcmdldEF1ZGllbmNlQ291bnQgPSB0YXJnZXQubnVtYmVyQ291bnQ7XHJcbiAgICAgICAgdGhpcy5pc1VwbG9hZFRhcmdldEF1ZGllbmNlID0gdGFyZ2V0LmlzVXBsb2FkO1xyXG4gICAgICAgIHRoaXMuaXNOdW1iZXJCYXNlSW5mb3JtYXRpb25WYWxpZCA9XHJcbiAgICAgICAgICAgICh0YXJnZXQuaXNVcGxvYWQgJiYgdGFyZ2V0LmZpbGU/Lm5hbWUpIHx8XHJcbiAgICAgICAgICAgICghdGFyZ2V0LmlzVXBsb2FkICYmIHRhcmdldC50YXJnZXRBdWRpZW5jZS5sZW5ndGggPiAwKSB8fFxyXG4gICAgICAgICAgICB0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5mb3JtPy5maWxlSWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNjaGVkdWxlcihmb3JtOiBGb3JtR3JvdXApOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNjaGVkdWxlckRhdGEgPSBmb3JtLmdldFJhd1ZhbHVlKCk7XHJcbiAgICAgICAgdGhpcy5pc1NjaGVkdWxlckluZm9ybWF0aW9uVmFsaWQgPSBmb3JtLnZhbGlkO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkNsaWNrU2F2ZUFuZE5leHRCdXR0b24oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pc1N1Ym1pdCA9IHRydWU7XHJcblxyXG4gICAgICAgIHN3aXRjaCAodGhpcy5wb3NpdGlvbldpemFyZCkge1xyXG4gICAgICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNhdmVHZW5lcmFsSW5mb3JtYXRpb25TZXJ2aWNlKCk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAyOlxyXG4gICAgICAgICAgICAgICAgIXRoaXMuaXNMaW5lID8gdGhpcy5zYXZlRmFpbG92ZXJNZWNoYW5pc21TZXJ2aWNlKCkgOiB0aGlzLnNhdmVOdW1iZXJCYXNlc1NlcnZpY2UoKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDM6XHJcbiAgICAgICAgICAgICAgICAhdGhpcy5pc0xpbmUgPyB0aGlzLnNhdmVOdW1iZXJCYXNlc1NlcnZpY2UoKSA6IHRoaXMuc2F2ZVNjaGVkdWxlclNlcnZpY2UoKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDQ6XHJcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNMaW5lKSB0aGlzLnNhdmVTY2hlZHVsZXJTZXJ2aWNlKCk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIHRoaXMuaXNTdWJtaXQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXQgZ2V0Q2FtcGFpZ25TdG9yYWdlKCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd0ZWxpbi5jYW1wYWlnbicpXHJcbiAgICAgICAgICAgID8gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndGVsaW4uY2FtcGFpZ24nKSlcclxuICAgICAgICAgICAgOiB7fTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZ2V0Qm9keSgpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGJvZHkgPVxyXG4gICAgICAgICAgICB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkRhdGE/LnRleHQgfHxcclxuICAgICAgICAgICAgdGhpcy5nZW5lcmFsSW5mb3JtYXRpb25EYXRhPy50ZW1wbGF0ZT8uYm9keT8udGV4dCB8fFxyXG4gICAgICAgICAgICB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkRhdGE/LmJvZHk/LnRleHQ7XHJcblxyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIGJvZHlcclxuICAgICAgICAgICAgICAgID8uc3BsaXQoL1xcXFxufFxcbi8pXHJcbiAgICAgICAgICAgICAgICAuam9pbignPGJyIC8+JylcclxuICAgICAgICAgICAgICAgIC5zcGxpdCgvXFxcXHR8XFx0LylcclxuICAgICAgICAgICAgICAgIC5qb2luKCcgICAgJykgPz8gJydcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkNoZWNrVHdpbGlvQ291bnRlclZhbGlkID0gKCk6IGJvb2xlYW4gPT4ge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlc0dlbmVyYWwgPSB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkRhdGE7XHJcblxyXG4gICAgICAgIGlmICh2YWx1ZXNHZW5lcmFsPy5tZWRpdW0gIT09ICdTTVMnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHZhbHVlc0dlbmVyYWw/LmNoYW5uZWwgPT09ICdURVhUJykge1xyXG4gICAgICAgICAgICBjb25zdCBzZWdtZW50ZWRNZXNzYWdlID0gbmV3IFNlZ21lbnRlZE1lc3NhZ2UodGhpcy5nZXRCb2R5KTtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0ge1xyXG4gICAgICAgICAgICAgICAgc2VnbWVudHM6IHNlZ21lbnRlZE1lc3NhZ2Uuc2VnbWVudHNDb3VudCxcclxuICAgICAgICAgICAgICAgIGVuY29kaW5nOiBzZWdtZW50ZWRNZXNzYWdlLmVuY29kaW5nTmFtZSxcclxuICAgICAgICAgICAgICAgIGNoYXJhY3RlcnM6IHNlZ21lbnRlZE1lc3NhZ2UubnVtYmVyT2ZVbmljb2RlU2NhbGFycyxcclxuICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgIGlmIChyZXN1bHQuc2VnbWVudHMgPiAxMCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBsZXQgdmFsdWVSZXN1bHQgPSB0aGlzLmdldEJvZHk7XHJcbiAgICAgICAgICAgIEFycmF5LmZyb20odmFsdWVzR2VuZXJhbC50ZW1wbGF0ZT8uYm9keT8uZXhhbXBsZXMgfHwgW10pLm1hcCgoZW50cnksIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodmFsdWVzR2VuZXJhbC5wYXJhbUJvZHkubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyID0gYHt7JHtlbnRyeX19fWA7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB2YWx1ZXNHZW5lcmFsLnBhcmFtQm9keVtpbmRleF0ubmFtZTtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZVJlc3VsdCA9IHZhbHVlUmVzdWx0LnNwbGl0KHBsYWNlaG9sZGVyKS5qb2luKHZhbHVlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBzZWdtZW50ZWRNZXNzYWdlID0gbmV3IFNlZ21lbnRlZE1lc3NhZ2UodmFsdWVSZXN1bHQpO1xyXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSB7XHJcbiAgICAgICAgICAgICAgICBzZWdtZW50czogc2VnbWVudGVkTWVzc2FnZS5zZWdtZW50c0NvdW50LFxyXG4gICAgICAgICAgICAgICAgZW5jb2Rpbmc6IHNlZ21lbnRlZE1lc3NhZ2UuZW5jb2RpbmdOYW1lLFxyXG4gICAgICAgICAgICAgICAgY2hhcmFjdGVyczogc2VnbWVudGVkTWVzc2FnZS5udW1iZXJPZlVuaWNvZGVTY2FsYXJzLFxyXG4gICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgaWYgKHJlc3VsdC5zZWdtZW50cyA+IDEwKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgcHJpdmF0ZSBzYXZlR2VuZXJhbEluZm9ybWF0aW9uU2VydmljZSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMub25DaGVja1R3aWxpb0NvdW50ZXJWYWxpZCgpKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RyLmVycm9yKCdTZWdtZW50IGNhbm5vdCBtb3JlIHRoYW4gMTAnKTtcclxuICAgICAgICAgICAgdGhpcy5pc1N1Ym1pdCA9IGZhbHNlO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBib2R5UmVxID0gbmV3IEdlbmVyYWxJbmZvcm1hdGlvbldBUmVxTW9kZWwoKS5jbG9uZSh7XHJcbiAgICAgICAgICAgIC4uLnRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRGF0YSxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgY29uc3QgcGF5bG9hZFZhbHVlID0gYm9keVJlcS5jb252ZXJ0KCk7XHJcblxyXG4gICAgICAgIGlmIChwYXlsb2FkVmFsdWUudGVtcGxhdGUgJiYgdGhpcy5nZW5lcmFsSW5mb3JtYXRpb25EYXRhLnRlbXBsYXRlKSB7XHJcbiAgICAgICAgICAgIHBheWxvYWRWYWx1ZS50ZW1wbGF0ZS50eXBlID1cclxuICAgICAgICAgICAgICAgIHBheWxvYWRWYWx1ZS50ZW1wbGF0ZS50eXBlIHx8IHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRGF0YS50ZW1wbGF0ZS5jYXRlZ29yeTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHBhcmFtZXRlckxpc3Q6IEFycmF5PFBhcmFtZXRlcj4gPSBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdkYXRhJyxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBwYXlsb2FkVmFsdWUsXHJcbiAgICAgICAgICAgICAgICBpbjogJ2JvZHknLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXHJcbiAgICAgICAgICAgICAgICB3aXRob3V0S2V5RGF0YTogdHJ1ZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICBdO1xyXG4gICAgICAgIGNvbnN0IHN1YnMgPSB0aGlzLmFwaUFkYXB0ZXJTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5leGVjdXRlQXBpUmVxdWVzdChcclxuICAgICAgICAgICAgICAgIHBhcmFtZXRlckxpc3QsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkRhdGEuaWRcclxuICAgICAgICAgICAgICAgICAgICA/IGAvY2FtcGFpZ24vJHt0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkRhdGEuaWR9YFxyXG4gICAgICAgICAgICAgICAgICAgIDogJy9jYW1wYWlnbicsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkRhdGEuaWQgPyAnUFVUJyA6ICdQT1NUJ1xyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICAocmVzcCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwPy5tZXNzYWdlPy50b0xvd2VyQ2FzZSgpICE9PSAnc3VjY2VzcycpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1N1Ym1pdCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3RlbGluLmNhbXBhaWduJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5nZXRDYW1wYWlnblN0b3JhZ2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhbEluZm9ybWF0aW9uOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiByZXNwLmRhdGEuaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm06IHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRGF0YSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU3VibWl0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbldpemFyZCArPSAxO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICgpID0+ICh0aGlzLmlzU3VibWl0ID0gZmFsc2UpXHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlcnMucHVzaChzdWJzKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNhdmVGYWlsb3Zlck1lY2hhbmlzbVNlcnZpY2UoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgYm9keVJlcSA9IG5ldyBGYWlsb3ZlclJlcU1vZGVsKCkuY2xvbmUoe1xyXG4gICAgICAgICAgICAuLi50aGlzLmZhaWxvdmVyTWVjaGFuaXNtRGF0YSxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgY29uc3QgcGFyYW1ldGVyTGlzdDogQXJyYXk8UGFyYW1ldGVyPiA9IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbmFtZTogJ2RhdGEnLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IGJvZHlSZXEuY29udmVydCgpLFxyXG4gICAgICAgICAgICAgICAgaW46ICdib2R5JyxcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxyXG4gICAgICAgICAgICAgICAgd2l0aG91dEtleURhdGE6IHRydWUsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgXTtcclxuXHJcbiAgICAgICAgY29uc3Qgc3VicyA9IHRoaXMuYXBpQWRhcHRlclNlcnZpY2VcclxuICAgICAgICAgICAgLmV4ZWN1dGVBcGlSZXF1ZXN0KFxyXG4gICAgICAgICAgICAgICAgcGFyYW1ldGVyTGlzdCxcclxuICAgICAgICAgICAgICAgIGAvY2FtcGFpZ24vJHt0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5pZH0vZmFpbG92ZXJgLFxyXG4gICAgICAgICAgICAgICAgJ1BPU1QnXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICAgIChyZXNwKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3A/Lm1lc3NhZ2U/LnRvTG93ZXJDYXNlKCkgIT09ICdzdWNjZXNzJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU3VibWl0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAndGVsaW4uY2FtcGFpZ24nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmdldENhbXBhaWduU3RvcmFnZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWlsb3ZlcjogdGhpcy5mYWlsb3Zlck1lY2hhbmlzbURhdGEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTdWJtaXQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uV2l6YXJkICs9IDE7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKCkgPT4gKHRoaXMuaXNTdWJtaXQgPSBmYWxzZSlcclxuICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVycy5wdXNoKHN1YnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2F2ZU51bWJlckJhc2VzU2VydmljZSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy50YXJnZXRBdWRpZW5jZURhdGEubGVuZ3RoID09PSAwIHx8IHRoaXMuaXNVcGxvYWRUYXJnZXRBdWRpZW5jZSkge1xyXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcclxuICAgICAgICAgICAgICAgICd0ZWxpbi5jYW1wYWlnbicsXHJcbiAgICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5nZXRDYW1wYWlnblN0b3JhZ2UsXHJcbiAgICAgICAgICAgICAgICAgICAgLi4ue1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRBdWRpZW5jZTogdGhpcy50YXJnZXRBdWRpZW5jZURhdGEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldEF1ZGllbmNlQ291bnQ6IHRoaXMudGFyZ2V0QXVkaWVuY2VDb3VudCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0QXVkaWVuY2VGaWxlOiB0aGlzLnRhcmdldEF1ZGllbmNlRmlsZSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuaXNTdWJtaXQgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5wb3NpdGlvbldpemFyZCArPSAxO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBwYXJhbWV0ZXJMaXN0OiBBcnJheTxQYXJhbWV0ZXI+ID0gW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnZGF0YScsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZToge1xyXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldHM6IHRoaXMudGFyZ2V0QXVkaWVuY2VEYXRhLFxyXG4gICAgICAgICAgICAgICAgICAgIG51bWJlckNvdW50OiB0aGlzLnRhcmdldEF1ZGllbmNlQ291bnQsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgaW46ICdib2R5JyxcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxyXG4gICAgICAgICAgICAgICAgd2l0aG91dEtleURhdGE6IHRydWUsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgXTtcclxuXHJcbiAgICAgICAgY29uc3Qgc3VicyA9IHRoaXMuYXBpQWRhcHRlclNlcnZpY2VcclxuICAgICAgICAgICAgLmV4ZWN1dGVBcGlSZXF1ZXN0KFxyXG4gICAgICAgICAgICAgICAgcGFyYW1ldGVyTGlzdCxcclxuICAgICAgICAgICAgICAgIGAvY2FtcGFpZ24vJHt0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5pZH0vdGFyZ2V0Y2F0ZWdvcnlgLFxyXG4gICAgICAgICAgICAgICAgJ1BPU1QnXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICAgIChyZXNwKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3A/Lm1lc3NhZ2U/LnRvTG93ZXJDYXNlKCkgIT09ICdzdWNjZXNzJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU3VibWl0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAndGVsaW4uY2FtcGFpZ24nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmdldENhbXBhaWduU3RvcmFnZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRBdWRpZW5jZTogdGhpcy50YXJnZXRBdWRpZW5jZURhdGEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0QXVkaWVuY2VDb3VudDogdGhpcy50YXJnZXRBdWRpZW5jZUNvdW50LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldEF1ZGllbmNlRmlsZTogdGhpcy50YXJnZXRBdWRpZW5jZUZpbGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTdWJtaXQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uV2l6YXJkICs9IDE7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKCkgPT4gKHRoaXMuaXNTdWJtaXQgPSBmYWxzZSlcclxuICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVycy5wdXNoKHN1YnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2F2ZVNjaGVkdWxlclNlcnZpY2UoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgYm9keVJlcSA9IG5ldyBTY2hlZHVsZXJSZXFNb2RlbCgpLmNsb25lKHtcclxuICAgICAgICAgICAgLi4udGhpcy5zY2hlZHVsZXJEYXRhLFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBjb25zdCBwYXJhbWV0ZXJMaXN0OiBBcnJheTxQYXJhbWV0ZXI+ID0gW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnZGF0YScsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogYm9keVJlcS5jb252ZXJ0KCksXHJcbiAgICAgICAgICAgICAgICBpbjogJ2JvZHknLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXHJcbiAgICAgICAgICAgICAgICB3aXRob3V0S2V5RGF0YTogdHJ1ZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICBdO1xyXG5cclxuICAgICAgICBjb25zdCBzdWJzID0gdGhpcy5hcGlBZGFwdGVyU2VydmljZVxyXG4gICAgICAgICAgICAuZXhlY3V0ZUFwaVJlcXVlc3QoXHJcbiAgICAgICAgICAgICAgICBwYXJhbWV0ZXJMaXN0LFxyXG4gICAgICAgICAgICAgICAgYC9jYW1wYWlnbi8ke3RoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy5nZW5lcmFsSW5mb3JtYXRpb24/LmlkfS9zY2hlZHVsZWAsXHJcbiAgICAgICAgICAgICAgICAnUE9TVCdcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgKHJlc3ApID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzcD8ubWVzc2FnZT8udG9Mb3dlckNhc2UoKSAhPT0gJ3N1Y2Nlc3MnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTdWJtaXQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICd0ZWxpbi5jYW1wYWlnbicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ue1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjaGVkdWxlcjogdGhpcy5zY2hlZHVsZXJEYXRhLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU3VibWl0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbldpemFyZCArPSAxO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICgpID0+ICh0aGlzLmlzU3VibWl0ID0gZmFsc2UpXHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlcnMucHVzaChzdWJzKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25QcmV2aW91cygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnBvc2l0aW9uV2l6YXJkIC09IDE7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNoYW5nZUN1cnJlbnRWaWV3KGFyZWE6IE1haW5BcmVhKSB7XHJcbiAgICAgICAgdGhpcy5vcGVuQ29uZmlybWF0aW9uRGlhbG9nKGFyZWEpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgb3BlbkNvbmZpcm1hdGlvbkRpYWxvZyhhcmVhOiBNYWluQXJlYSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGNvbmZpcm1hdGlvbiA9IG5ldyBDb25maXJtYXRpb25Nb2RlbCgpO1xyXG5cclxuICAgICAgICBjb25maXJtYXRpb24udGl0bGUgPSAnQ2FuY2VsIEFkZCBCcm9hZGNhc3QnO1xyXG4gICAgICAgIGNvbmZpcm1hdGlvbi5jb250ZW50ID0gYEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjYW5jZWw8YnIvPiBBZGQgQnJvYWRjYXN0P2A7XHJcbiAgICAgICAgY29uZmlybWF0aW9uLmJ0blN1Ym1pdFJlZCA9ICdZZXMnO1xyXG4gICAgICAgIGNvbmZpcm1hdGlvbi5idG5DYW5jZWwgPSAnTm8nO1xyXG5cclxuICAgICAgICBjb25zdCBzdWJzID0gdGhpcy5kaWFsb2dcclxuICAgICAgICAgICAgLm9wZW4oQ29uZmlybWF0aW9uQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgICAgICBhdXRvRm9jdXM6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgYmFja2Ryb3BDbGFzczogJ292ZXJsYXktYmFja2Ryb3AtZGlhbG9nJyxcclxuICAgICAgICAgICAgICAgIGRhdGE6IGNvbmZpcm1hdGlvbixcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLmFmdGVyQ2xvc2VkKClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzcCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3ApIHtcclxuICAgICAgICAgICAgICAgICAgICB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBgLyR7dGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LmdlbmVyYWxJbmZvcm1hdGlvbj8uaWR9YCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy9zZWN1cmUvY2FtcGFpZ24nXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50Vmlldy5lbWl0KGFyZWEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVycy5wdXNoKHN1YnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvblN1Ym1pdEZvckFwcHJvdmFsKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHBhcmFtZXRlckxpc3Q6IEFycmF5PFBhcmFtZXRlcj4gPSBbXTtcclxuICAgICAgICB0aGlzLmlzU3VibWl0ID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy50YXJnZXRBdWRpZW5jZUZpbGU/Lm5hbWUpXHJcbiAgICAgICAgICAgIHBhcmFtZXRlckxpc3QucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnaXNGaWxlJyxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgaW46ICdxdWVyeScsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGNvbnN0IHN1YnMgPSB0aGlzLmFwaUFkYXB0ZXJTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5leGVjdXRlQXBpUmVxdWVzdChcclxuICAgICAgICAgICAgICAgIHBhcmFtZXRlckxpc3QsXHJcbiAgICAgICAgICAgICAgICBgL2NhbXBhaWduLyR7dGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LmdlbmVyYWxJbmZvcm1hdGlvbj8uaWR9L3N1Ym1pdGAsXHJcbiAgICAgICAgICAgICAgICAnUE9TVCdcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgKHJlc3ApID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzcD8ubWVzc2FnZT8udG9Mb3dlckNhc2UoKSAhPT0gJ3N1Y2Nlc3MnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTdWJtaXQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7fSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYC8ke3RoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy5nZW5lcmFsSW5mb3JtYXRpb24/LmlkfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICcvc2VjdXJlL2NhbXBhaWduJ1xyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyLnN1Y2Nlc3MoJ0NhbXBhaWduIHN1Ym1pdHRlZCBmb3IgYXBwcm92YWwhJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1N1Ym1pdCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFZpZXcuZW1pdCh0aGlzLmN1cnJlbnRWaWV3cy5DYW1wYWlnbkluZGV4KTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAoKSA9PiAodGhpcy5pc1N1Ym1pdCA9IGZhbHNlKVxyXG4gICAgICAgICAgICApO1xyXG5cclxuICAgICAgICB0aGlzLnN1YnNjcmliZXJzLnB1c2goc3Vicyk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVycy5mb3JFYWNoKChlYWNoKSA9PiBlYWNoLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
464
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LWNhbXBhaWduLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhZGxmZS9jYW1wYWlnbi1tYW5hZ2VtZW50LWxpYnJhcnkvIiwic291cmNlcyI6WyJsaWIvY2FtcGFpZ24tbWFuYWdlbWVudC9tb2R1bGVzL25ldy1jYW1wYWlnbi9uZXctY2FtcGFpZ24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5GLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsNEJBQTRCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFPakc7SUF3QkksOEJBQ1ksTUFBaUIsRUFDakIsaUJBQTJDLEVBQzNDLE1BQXFCO1FBSGpDLGlCQUlJO1FBSFEsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQTBCO1FBQzNDLFdBQU0sR0FBTixNQUFNLENBQWU7UUExQnZCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUc5QyxpQkFBWSxHQUFHLFFBQVEsQ0FBQztRQUN4QixtQkFBYyxHQUFXLENBQUMsQ0FBQztRQUUzQixjQUFTLEdBQVks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U0FFL0MsQ0FBQztPQUNXLG9CQUFvQixDQTZrQmhDO0lBQUQsMkJBQUM7Q0FBQSxBQTdrQkQsSUE2a0JDO1NBN2tCWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFRvYXN0clNlcnZpY2UgfSBmcm9tICduZ3gtdG9hc3RyJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNlZ21lbnRlZE1lc3NhZ2UgfSBmcm9tICdzbXMtc2VnbWVudHMtY2FsY3VsYXRvcic7XHJcbmltcG9ydCB7IE1haW5BcmVhIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9lbnVtcyc7XHJcbmltcG9ydCB7IFBhcmFtZXRlciB9IGZyb20gJy4uLy4uLy4uL2NvcmUvbW9kZWxzL3V0aWwvYXBpLWFkYXB0ZXItc2VydmljZS1tb2RlbHMnO1xyXG5pbXBvcnQgeyBBcHBSZXNwb25zZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvbW9kZWxzL3V0aWwvYXBpLWR0by9yZXNwb25zZS1tb2RlbHMnO1xyXG5pbXBvcnQgeyBBcGlBZGFwdGVyU2VydmljZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZ2xvYmFsL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb24nO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25Nb2RlbCB9IGZyb20gJy4uLy4uLy4uL2dsb2JhbC9jb25maXJtYXRpb24vc2hhcmVkL21vZGVsJztcclxuaW1wb3J0IHsgRmFpbG92ZXJSZXFNb2RlbCwgR2VuZXJhbEluZm9ybWF0aW9uV0FSZXFNb2RlbCwgU2NoZWR1bGVyUmVxTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2xpYi1uZXctY2FtcGFpZ24nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL25ldy1jYW1wYWlnbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9uZXctY2FtcGFpZ24uY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5ld0NhbXBhaWduQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgQE91dHB1dCgpIGN1cnJlbnRWaWV3ID0gbmV3IEV2ZW50RW1pdHRlcjxNYWluQXJlYT4oKTtcclxuXHJcbiAgICBwdWJsaWMgY2FtcGFpZ25JRDogc3RyaW5nO1xyXG4gICAgcHVibGljIGN1cnJlbnRWaWV3cyA9IE1haW5BcmVhO1xyXG4gICAgcHVibGljIHBvc2l0aW9uV2l6YXJkOiBudW1iZXIgPSAxO1xyXG4gICAgcHVibGljIGRhdGFXaXphcmQ6IHN0cmluZ1tdO1xyXG4gICAgcHVibGljIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGlzU3VibWl0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaXNHZW5lcmFsSW5mb3JtYXRpb25WYWxpZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGlzRmFpbG92ZXJNZWNoYW5pc21WYWxpZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGlzTnVtYmVyQmFzZUluZm9ybWF0aW9uVmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBpc1NjaGVkdWxlckluZm9ybWF0aW9uVmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBpc0xpbmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBnZW5lcmFsSW5mb3JtYXRpb25EYXRhOiBhbnk7XHJcbiAgICBwdWJsaWMgZmFpbG92ZXJNZWNoYW5pc21EYXRhOiBhbnk7XHJcbiAgICBwdWJsaWMgdGFyZ2V0QXVkaWVuY2VEYXRhOiBzdHJpbmdbXTtcclxuICAgIHB1YmxpYyB0YXJnZXRBdWRpZW5jZUNvdW50OiBudW1iZXI7XHJcbiAgICBwdWJsaWMgdGFyZ2V0QXVkaWVuY2VGaWxlOiBhbnk7XHJcbiAgICBwdWJsaWMgc2NoZWR1bGVyRGF0YTogYW55O1xyXG5cclxuICAgIHByaXZhdGUgaXNVcGxvYWRUYXJnZXRBdWRpZW5jZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBzdWJzY3JpYmVyczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgICAgIHByaXZhdGUgYXBpQWRhcHRlclNlcnZpY2U6IEFwaUFkYXB0ZXJTZXJ2aWNlU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHRvYXN0cjogVG9hc3RyU2VydmljZVxyXG4gICAgKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY2FtcGFpZ25JRCA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZT8uc3BsaXQoJy8nKT8ucG9wKCk7XHJcblxyXG4gICAgICAgIHRoaXMuaW5pdFdpemFyZCgpO1xyXG4gICAgICAgIHRoaXMuZ2V0Q2FtcGFpZ25EZXRhaWxTZXJ2aWNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpbml0V2l6YXJkKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5pc0xpbmUpIHtcclxuICAgICAgICAgICAgdGhpcy5kYXRhV2l6YXJkID0gW1xyXG4gICAgICAgICAgICAgICAgJ0dlbmVyYWwgSW5mb3JtYXRpb24nLFxyXG4gICAgICAgICAgICAgICAgJ0ZhaWxvdmVyIE1lY2hhbmlzbScsXHJcbiAgICAgICAgICAgICAgICAnVGFyZ2V0IEF1ZGllbmNlJyxcclxuICAgICAgICAgICAgICAgICdTY2hlZHVsZXInLFxyXG4gICAgICAgICAgICAgICAgJ1N1bW1hcnknLFxyXG4gICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmRhdGFXaXphcmQgPSBbJ0dlbmVyYWwgSW5mb3JtYXRpb24nLCAnVGFyZ2V0IEF1ZGllbmNlJywgJ1NjaGVkdWxlcicsICdTdW1tYXJ5J107XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRDYW1wYWlnbkRldGFpbFNlcnZpY2UoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuY2FtcGFpZ25JRD8ubGVuZ3RoIDwgMTApIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgICBjb25zdCBzdWJzID0gdGhpcy5hcGlBZGFwdGVyU2VydmljZVxyXG4gICAgICAgICAgICAuZXhlY3V0ZUFwaVJlcXVlc3QoW10sIGAvY2FtcGFpZ24vJHt0aGlzLmNhbXBhaWduSUR9YCwgJ0dFVCcpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICAocmVzcDogQXBwUmVzcG9uc2U8YW55PikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVzcCkgcmV0dXJuO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBnZW5lcmFsSW5mb3JtYXRpb24gPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbXBhaWduTmFtZTogcmVzcC5kYXRhPy5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtZWRpdW06IHJlc3AuZGF0YT8ucGxhdGZvcm0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5uZWw6IFsnaW1hZ2UnLCAndmlkZW8nLCAnZG9jdW1lbnQnXS5pbmNsdWRlcyhyZXNwLmRhdGE/LnR5cGUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdNRURJQSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogcmVzcC5kYXRhPy5pc0RpcmVjdFNlbmRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAndXRpbGl0eSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiByZXNwLmRhdGE/LnR5cGU/LnRvVXBwZXJDYXNlKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lZGlhOiByZXNwLmRhdGE/LnR5cGU/LnRvVXBwZXJDYXNlKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzUHJldlRlbXBsYXRlOiByZXNwPy5kYXRhPy5pc1ByZXZUZW1wbGF0ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVOYW1lOiByZXNwPy5kYXRhPy50ZW1wbGF0ZU5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR0bDogcmVzcD8uZGF0YT8udHRsU2Vjb25kcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZnJvbToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHJlc3AuZGF0YT8uYWNjb3VudElkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogcmVzcC5kYXRhPy5hY2NvdW50TmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYXRmb3JtOiByZXNwLmRhdGE/LnBsYXRmb3JtLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQ6IHJlc3AuZGF0YT8uY2xpZW50SWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnROYW1lOiByZXNwLmRhdGE/LmNsaWVudE5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NvdW50Tm86IHJlc3AuZGF0YT8uYWNjb3VudE5vLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FiYUlkOiByZXNwLmRhdGE/LndhYmFJZCA/PyAnJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogcmVzcC5kYXRhPy5kZXRhaWxzPy50ZXh0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRVUkw6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwLmRhdGE/LmRldGFpbHM/LmltYWdlPy51cmwgPz9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3AuZGF0YT8uZGV0YWlscz8uZG9jdW1lbnQ/LnVybCA/P1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcC5kYXRhPy5kZXRhaWxzPy52aWRlbz8udXJsID8/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5oZWFkZXJVUkwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtSGVhZGVyOiByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5oZWFkZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtQm9keTogcmVzcC5kYXRhPy5kZXRhaWxzPy50ZW1wbGF0ZT8uZGF0YSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1CdXR0b246IHJlc3AuZGF0YT8uZGV0YWlscz8udGVtcGxhdGU/LmJ1dHRvbixcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3RwVmFsdWU6IFsuLi4ocmVzcC5kYXRhPy5kZXRhaWxzPy50ZW1wbGF0ZT8uZGF0YSA/PyBbXSldPy5wb3AoKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIElEOiByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5pZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHJlc3AuZGF0YT8uZGV0YWlscz8udGVtcGxhdGU/Lm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nOiByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5sYW5nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhdGZvcm06IHJlc3AuZGF0YT8ucGxhdGZvcm0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJVUkw6IHJlc3AuZGF0YT8uZGV0YWlscz8udGVtcGxhdGU/LmhlYWRlclVSTCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4YW1wbGVzOiByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5oZWFkZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4YW1wbGVzOiByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5kYXRhLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbnM6IHJlc3AuZGF0YT8uZGV0YWlscz8udGVtcGxhdGU/LmJ1dHRvbixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsaWVudElkOiByZXNwLmRhdGE/LmNsaWVudElkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xpZW50TmFtZTogcmVzcC5kYXRhPy5jbGllbnROYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1VwbG9hZDogcmVzcC5kYXRhPy5maWxlSWQgIT09ICcnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlSWQ6IHJlc3AuZGF0YT8uZmlsZUlkLFxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAndGVsaW4uY2FtcGFpZ24nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmdldENhbXBhaWduU3RvcmFnZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmFsSW5mb3JtYXRpb246IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHJlc3AuZGF0YT8uaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm06IGdlbmVyYWxJbmZvcm1hdGlvbixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxvdmVyOiByZXNwLmRhdGE/LmZhaWxvdmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldEF1ZGllbmNlOiByZXNwLmRhdGE/LnRhcmdldHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0QXVkaWVuY2VGaWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHJlc3AuZGF0YT8uZmlsZU5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldFVSTDogcmVzcC5kYXRhPy50YXJnZXRVUkwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2hlZHVsZXI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NoZWR1bGVyVHlwZTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3AuZGF0YT8uc2NoZWR1bGVUeXBlID09PSAnTVVMVEknXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnT05FX1RJTUUnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiByZXNwLmRhdGE/LnNjaGVkdWxlVHlwZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnREYXRlOiByZXNwLmRhdGE/LnN0YXJ0VGltZT8uc3BsaXQoJyAnKVswXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRUaW1lOiByZXNwLmRhdGE/LnN0YXJ0VGltZT8uc3BsaXQoJyAnKVsxXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNSZXBlYXQ6IHJlc3AuZGF0YT8uc2NoZWR1bGVUeXBlID09PSAnTVVMVEknLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxpdmVyeTogcmVzcC5kYXRhPy5yZXBlYXQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xpbmUgPSByZXNwLmRhdGE/LnBsYXRmb3JtID09PSAnTElORSc7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0V2l6YXJkKCk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlcnMucHVzaChzdWJzKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2VuZXJhbEluZm9ybWF0aW9uKGZvcm06IHsgcGFyZW50OiBGb3JtR3JvdXA7IGNoaWxkOiBGb3JtR3JvdXAgfSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaXNHZW5lcmFsSW5mb3JtYXRpb25WYWxpZCA9IGZvcm0ucGFyZW50LnZhbGlkICYmIGZvcm0uY2hpbGQgJiYgZm9ybS5jaGlsZD8udmFsaWQ7XHJcbiAgICAgICAgdGhpcy5pc0xpbmUgPSBmb3JtLnBhcmVudD8uZ2V0UmF3VmFsdWUoKT8ubWVkaXVtID09PSAnTElORSc7XHJcblxyXG4gICAgICAgIHRoaXMuaW5pdFdpemFyZCgpO1xyXG5cclxuICAgICAgICBpZiAoZm9ybS5wYXJlbnQgJiYgZm9ybS5jaGlsZClcclxuICAgICAgICAgICAgdGhpcy5nZW5lcmFsSW5mb3JtYXRpb25EYXRhID0ge1xyXG4gICAgICAgICAgICAgICAgLi4uZm9ybS5wYXJlbnQuZ2V0UmF3VmFsdWUoKSxcclxuICAgICAgICAgICAgICAgIC4uLmZvcm0uY2hpbGQuZ2V0UmF3VmFsdWUoKSxcclxuICAgICAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZmFpbG92ZXJNZWNoYW5pc20oZm9ybTogRm9ybUdyb3VwKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pc0ZhaWxvdmVyTWVjaGFuaXNtVmFsaWQgPSBmb3JtLnZhbGlkO1xyXG4gICAgICAgIHRoaXMuZmFpbG92ZXJNZWNoYW5pc21EYXRhID0gZm9ybS5nZXRSYXdWYWx1ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB0YXJnZXRBdWRpZW5jZSh0YXJnZXQ6IHtcclxuICAgICAgICB0YXJnZXRBdWRpZW5jZTogc3RyaW5nW107XHJcbiAgICAgICAgbnVtYmVyQ291bnQ6IG51bWJlcjtcclxuICAgICAgICBpc1VwbG9hZDogYm9vbGVhbjtcclxuICAgICAgICBmaWxlOiBhbnk7XHJcbiAgICB9KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy50YXJnZXRBdWRpZW5jZUZpbGUgPSB0YXJnZXQuZmlsZTtcclxuICAgICAgICB0aGlzLnRhcmdldEF1ZGllbmNlRGF0YSA9IHRhcmdldC50YXJnZXRBdWRpZW5jZTtcclxuICAgICAgICB0aGlzLnRhcmdldEF1ZGllbmNlQ291bnQgPSB0YXJnZXQubnVtYmVyQ291bnQ7XHJcbiAgICAgICAgdGhpcy5pc1VwbG9hZFRhcmdldEF1ZGllbmNlID0gdGFyZ2V0LmlzVXBsb2FkO1xyXG4gICAgICAgIHRoaXMuaXNOdW1iZXJCYXNlSW5mb3JtYXRpb25WYWxpZCA9XHJcbiAgICAgICAgICAgICh0YXJnZXQuaXNVcGxvYWQgJiYgdGFyZ2V0LmZpbGU/Lm5hbWUpIHx8XHJcbiAgICAgICAgICAgICghdGFyZ2V0LmlzVXBsb2FkICYmIHRhcmdldC50YXJnZXRBdWRpZW5jZS5sZW5ndGggPiAwKSB8fFxyXG4gICAgICAgICAgICB0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5mb3JtPy5maWxlSWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNjaGVkdWxlcihmb3JtOiBGb3JtR3JvdXApOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNjaGVkdWxlckRhdGEgPSBmb3JtLmdldFJhd1ZhbHVlKCk7XHJcbiAgICAgICAgdGhpcy5pc1NjaGVkdWxlckluZm9ybWF0aW9uVmFsaWQgPSBmb3JtLnZhbGlkO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkNsaWNrU2F2ZUFuZE5leHRCdXR0b24oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pc1N1Ym1pdCA9IHRydWU7XHJcblxyXG4gICAgICAgIHN3aXRjaCAodGhpcy5wb3NpdGlvbldpemFyZCkge1xyXG4gICAgICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNhdmVHZW5lcmFsSW5mb3JtYXRpb25TZXJ2aWNlKCk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAyOlxyXG4gICAgICAgICAgICAgICAgIXRoaXMuaXNMaW5lID8gdGhpcy5zYXZlRmFpbG92ZXJNZWNoYW5pc21TZXJ2aWNlKCkgOiB0aGlzLnNhdmVOdW1iZXJCYXNlc1NlcnZpY2UoKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDM6XHJcbiAgICAgICAgICAgICAgICAhdGhpcy5pc0xpbmUgPyB0aGlzLnNhdmVOdW1iZXJCYXNlc1NlcnZpY2UoKSA6IHRoaXMuc2F2ZVNjaGVkdWxlclNlcnZpY2UoKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDQ6XHJcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNMaW5lKSB0aGlzLnNhdmVTY2hlZHVsZXJTZXJ2aWNlKCk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIHRoaXMuaXNTdWJtaXQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXQgZ2V0Q2FtcGFpZ25TdG9yYWdlKCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd0ZWxpbi5jYW1wYWlnbicpXHJcbiAgICAgICAgICAgID8gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndGVsaW4uY2FtcGFpZ24nKSlcclxuICAgICAgICAgICAgOiB7fTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZ2V0Qm9keSgpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGJvZHkgPVxyXG4gICAgICAgICAgICB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkRhdGE/LnRleHQgfHxcclxuICAgICAgICAgICAgdGhpcy5nZW5lcmFsSW5mb3JtYXRpb25EYXRhPy50ZW1wbGF0ZT8uYm9keT8udGV4dCB8fFxyXG4gICAgICAgICAgICB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkRhdGE/LmJvZHk/LnRleHQ7XHJcblxyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIGJvZHlcclxuICAgICAgICAgICAgICAgID8uc3BsaXQoL1xcXFxufFxcbi8pXHJcbiAgICAgICAgICAgICAgICAuam9pbignPGJyIC8+JylcclxuICAgICAgICAgICAgICAgIC5zcGxpdCgvXFxcXHR8XFx0LylcclxuICAgICAgICAgICAgICAgIC5qb2luKCcgICAgJykgPz8gJydcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkNoZWNrVHdpbGlvQ291bnRlclZhbGlkID0gKCk6IGJvb2xlYW4gPT4ge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlc0dlbmVyYWwgPSB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkRhdGE7XHJcblxyXG4gICAgICAgIGlmICh2YWx1ZXNHZW5lcmFsPy5tZWRpdW0gIT09ICdTTVMnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHZhbHVlc0dlbmVyYWw/LmNoYW5uZWwgPT09ICdURVhUJykge1xyXG4gICAgICAgICAgICBjb25zdCBzZWdtZW50ZWRNZXNzYWdlID0gbmV3IFNlZ21lbnRlZE1lc3NhZ2UodGhpcy5nZXRCb2R5KTtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0ge1xyXG4gICAgICAgICAgICAgICAgc2VnbWVudHM6IHNlZ21lbnRlZE1lc3NhZ2Uuc2VnbWVudHNDb3VudCxcclxuICAgICAgICAgICAgICAgIGVuY29kaW5nOiBzZWdtZW50ZWRNZXNzYWdlLmVuY29kaW5nTmFtZSxcclxuICAgICAgICAgICAgICAgIGNoYXJhY3RlcnM6IHNlZ21lbnRlZE1lc3NhZ2UubnVtYmVyT2ZVbmljb2RlU2NhbGFycyxcclxuICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgIGlmIChyZXN1bHQuc2VnbWVudHMgPiAxMCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBsZXQgdmFsdWVSZXN1bHQgPSB0aGlzLmdldEJvZHk7XHJcbiAgICAgICAgICAgIEFycmF5LmZyb20odmFsdWVzR2VuZXJhbC50ZW1wbGF0ZT8uYm9keT8uZXhhbXBsZXMgfHwgW10pLm1hcCgoZW50cnksIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodmFsdWVzR2VuZXJhbC5wYXJhbUJvZHkubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyID0gYHt7JHtlbnRyeX19fWA7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB2YWx1ZXNHZW5lcmFsLnBhcmFtQm9keVtpbmRleF0ubmFtZTtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZVJlc3VsdCA9IHZhbHVlUmVzdWx0LnNwbGl0KHBsYWNlaG9sZGVyKS5qb2luKHZhbHVlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBzZWdtZW50ZWRNZXNzYWdlID0gbmV3IFNlZ21lbnRlZE1lc3NhZ2UodmFsdWVSZXN1bHQpO1xyXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSB7XHJcbiAgICAgICAgICAgICAgICBzZWdtZW50czogc2VnbWVudGVkTWVzc2FnZS5zZWdtZW50c0NvdW50LFxyXG4gICAgICAgICAgICAgICAgZW5jb2Rpbmc6IHNlZ21lbnRlZE1lc3NhZ2UuZW5jb2RpbmdOYW1lLFxyXG4gICAgICAgICAgICAgICAgY2hhcmFjdGVyczogc2VnbWVudGVkTWVzc2FnZS5udW1iZXJPZlVuaWNvZGVTY2FsYXJzLFxyXG4gICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgaWYgKHJlc3VsdC5zZWdtZW50cyA+IDEwKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgcHJpdmF0ZSBzYXZlR2VuZXJhbEluZm9ybWF0aW9uU2VydmljZSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMub25DaGVja1R3aWxpb0NvdW50ZXJWYWxpZCgpKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RyLmVycm9yKCdTZWdtZW50IGNhbm5vdCBtb3JlIHRoYW4gMTAnKTtcclxuICAgICAgICAgICAgdGhpcy5pc1N1Ym1pdCA9IGZhbHNlO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBib2R5UmVxID0gbmV3IEdlbmVyYWxJbmZvcm1hdGlvbldBUmVxTW9kZWwoKS5jbG9uZSh7XHJcbiAgICAgICAgICAgIC4uLnRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRGF0YSxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgY29uc3QgcGF5bG9hZFZhbHVlID0gYm9keVJlcS5jb252ZXJ0KCk7XHJcblxyXG4gICAgICAgIGlmIChwYXlsb2FkVmFsdWUudGVtcGxhdGUgJiYgdGhpcy5nZW5lcmFsSW5mb3JtYXRpb25EYXRhLnRlbXBsYXRlKSB7XHJcbiAgICAgICAgICAgIHBheWxvYWRWYWx1ZS50ZW1wbGF0ZS50eXBlID1cclxuICAgICAgICAgICAgICAgIHBheWxvYWRWYWx1ZS50ZW1wbGF0ZS50eXBlIHx8IHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRGF0YS50ZW1wbGF0ZS5jYXRlZ29yeTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHBhcmFtZXRlckxpc3Q6IEFycmF5PFBhcmFtZXRlcj4gPSBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdkYXRhJyxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBwYXlsb2FkVmFsdWUsXHJcbiAgICAgICAgICAgICAgICBpbjogJ2JvZHknLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXHJcbiAgICAgICAgICAgICAgICB3aXRob3V0S2V5RGF0YTogdHJ1ZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICBdO1xyXG4gICAgICAgIGNvbnN0IHN1YnMgPSB0aGlzLmFwaUFkYXB0ZXJTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5leGVjdXRlQXBpUmVxdWVzdChcclxuICAgICAgICAgICAgICAgIHBhcmFtZXRlckxpc3QsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkRhdGEuaWRcclxuICAgICAgICAgICAgICAgICAgICA/IGAvY2FtcGFpZ24vJHt0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkRhdGEuaWR9YFxyXG4gICAgICAgICAgICAgICAgICAgIDogJy9jYW1wYWlnbicsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkRhdGEuaWQgPyAnUFVUJyA6ICdQT1NUJ1xyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICAocmVzcCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwPy5tZXNzYWdlPy50b0xvd2VyQ2FzZSgpICE9PSAnc3VjY2VzcycpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1N1Ym1pdCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3RlbGluLmNhbXBhaWduJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5nZXRDYW1wYWlnblN0b3JhZ2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhbEluZm9ybWF0aW9uOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiByZXNwLmRhdGEuaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm06IHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRGF0YSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU3VibWl0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbldpemFyZCArPSAxO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICgpID0+ICh0aGlzLmlzU3VibWl0ID0gZmFsc2UpXHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlcnMucHVzaChzdWJzKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNhdmVGYWlsb3Zlck1lY2hhbmlzbVNlcnZpY2UoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgYm9keVJlcSA9IG5ldyBGYWlsb3ZlclJlcU1vZGVsKCkuY2xvbmUoe1xyXG4gICAgICAgICAgICAuLi50aGlzLmZhaWxvdmVyTWVjaGFuaXNtRGF0YSxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgY29uc3QgcGFyYW1ldGVyTGlzdDogQXJyYXk8UGFyYW1ldGVyPiA9IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbmFtZTogJ2RhdGEnLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IGJvZHlSZXEuY29udmVydCgpLFxyXG4gICAgICAgICAgICAgICAgaW46ICdib2R5JyxcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxyXG4gICAgICAgICAgICAgICAgd2l0aG91dEtleURhdGE6IHRydWUsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgXTtcclxuXHJcbiAgICAgICAgY29uc3Qgc3VicyA9IHRoaXMuYXBpQWRhcHRlclNlcnZpY2VcclxuICAgICAgICAgICAgLmV4ZWN1dGVBcGlSZXF1ZXN0KFxyXG4gICAgICAgICAgICAgICAgcGFyYW1ldGVyTGlzdCxcclxuICAgICAgICAgICAgICAgIGAvY2FtcGFpZ24vJHt0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5pZH0vZmFpbG92ZXJgLFxyXG4gICAgICAgICAgICAgICAgJ1BPU1QnXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICAgIChyZXNwKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3A/Lm1lc3NhZ2U/LnRvTG93ZXJDYXNlKCkgIT09ICdzdWNjZXNzJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU3VibWl0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAndGVsaW4uY2FtcGFpZ24nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmdldENhbXBhaWduU3RvcmFnZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWlsb3ZlcjogdGhpcy5mYWlsb3Zlck1lY2hhbmlzbURhdGEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTdWJtaXQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uV2l6YXJkICs9IDE7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKCkgPT4gKHRoaXMuaXNTdWJtaXQgPSBmYWxzZSlcclxuICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVycy5wdXNoKHN1YnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2F2ZU51bWJlckJhc2VzU2VydmljZSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy50YXJnZXRBdWRpZW5jZURhdGEubGVuZ3RoID09PSAwIHx8IHRoaXMuaXNVcGxvYWRUYXJnZXRBdWRpZW5jZSkge1xyXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcclxuICAgICAgICAgICAgICAgICd0ZWxpbi5jYW1wYWlnbicsXHJcbiAgICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5nZXRDYW1wYWlnblN0b3JhZ2UsXHJcbiAgICAgICAgICAgICAgICAgICAgLi4ue1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRBdWRpZW5jZTogdGhpcy50YXJnZXRBdWRpZW5jZURhdGEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldEF1ZGllbmNlQ291bnQ6IHRoaXMudGFyZ2V0QXVkaWVuY2VDb3VudCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0QXVkaWVuY2VGaWxlOiB0aGlzLnRhcmdldEF1ZGllbmNlRmlsZSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuaXNTdWJtaXQgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5wb3NpdGlvbldpemFyZCArPSAxO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBwYXJhbWV0ZXJMaXN0OiBBcnJheTxQYXJhbWV0ZXI+ID0gW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnZGF0YScsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZToge1xyXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldHM6IHRoaXMudGFyZ2V0QXVkaWVuY2VEYXRhLFxyXG4gICAgICAgICAgICAgICAgICAgIG51bWJlckNvdW50OiB0aGlzLnRhcmdldEF1ZGllbmNlQ291bnQsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgaW46ICdib2R5JyxcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxyXG4gICAgICAgICAgICAgICAgd2l0aG91dEtleURhdGE6IHRydWUsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgXTtcclxuXHJcbiAgICAgICAgY29uc3Qgc3VicyA9IHRoaXMuYXBpQWRhcHRlclNlcnZpY2VcclxuICAgICAgICAgICAgLmV4ZWN1dGVBcGlSZXF1ZXN0KFxyXG4gICAgICAgICAgICAgICAgcGFyYW1ldGVyTGlzdCxcclxuICAgICAgICAgICAgICAgIGAvY2FtcGFpZ24vJHt0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5pZH0vdGFyZ2V0Y2F0ZWdvcnlgLFxyXG4gICAgICAgICAgICAgICAgJ1BPU1QnXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICAgIChyZXNwKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3A/Lm1lc3NhZ2U/LnRvTG93ZXJDYXNlKCkgIT09ICdzdWNjZXNzJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU3VibWl0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAndGVsaW4uY2FtcGFpZ24nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmdldENhbXBhaWduU3RvcmFnZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRBdWRpZW5jZTogdGhpcy50YXJnZXRBdWRpZW5jZURhdGEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0QXVkaWVuY2VDb3VudDogdGhpcy50YXJnZXRBdWRpZW5jZUNvdW50LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldEF1ZGllbmNlRmlsZTogdGhpcy50YXJnZXRBdWRpZW5jZUZpbGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTdWJtaXQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uV2l6YXJkICs9IDE7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKCkgPT4gKHRoaXMuaXNTdWJtaXQgPSBmYWxzZSlcclxuICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVycy5wdXNoKHN1YnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2F2ZVNjaGVkdWxlclNlcnZpY2UoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgYm9keVJlcSA9IG5ldyBTY2hlZHVsZXJSZXFNb2RlbCgpLmNsb25lKHtcclxuICAgICAgICAgICAgLi4udGhpcy5zY2hlZHVsZXJEYXRhLFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBjb25zdCBwYXJhbWV0ZXJMaXN0OiBBcnJheTxQYXJhbWV0ZXI+ID0gW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnZGF0YScsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogYm9keVJlcS5jb252ZXJ0KCksXHJcbiAgICAgICAgICAgICAgICBpbjogJ2JvZHknLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXHJcbiAgICAgICAgICAgICAgICB3aXRob3V0S2V5RGF0YTogdHJ1ZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICBdO1xyXG5cclxuICAgICAgICBjb25zdCBzdWJzID0gdGhpcy5hcGlBZGFwdGVyU2VydmljZVxyXG4gICAgICAgICAgICAuZXhlY3V0ZUFwaVJlcXVlc3QoXHJcbiAgICAgICAgICAgICAgICBwYXJhbWV0ZXJMaXN0LFxyXG4gICAgICAgICAgICAgICAgYC9jYW1wYWlnbi8ke3RoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy5nZW5lcmFsSW5mb3JtYXRpb24/LmlkfS9zY2hlZHVsZWAsXHJcbiAgICAgICAgICAgICAgICAnUE9TVCdcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgKHJlc3ApID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzcD8ubWVzc2FnZT8udG9Mb3dlckNhc2UoKSAhPT0gJ3N1Y2Nlc3MnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTdWJtaXQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICd0ZWxpbi5jYW1wYWlnbicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ue1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjaGVkdWxlcjogdGhpcy5zY2hlZHVsZXJEYXRhLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU3VibWl0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbldpemFyZCArPSAxO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICgpID0+ICh0aGlzLmlzU3VibWl0ID0gZmFsc2UpXHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlcnMucHVzaChzdWJzKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25QcmV2aW91cygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnBvc2l0aW9uV2l6YXJkIC09IDE7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNoYW5nZUN1cnJlbnRWaWV3KGFyZWE6IE1haW5BcmVhKSB7XHJcbiAgICAgICAgdGhpcy5vcGVuQ29uZmlybWF0aW9uRGlhbG9nKGFyZWEpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgb3BlbkNvbmZpcm1hdGlvbkRpYWxvZyhhcmVhOiBNYWluQXJlYSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGNvbmZpcm1hdGlvbiA9IG5ldyBDb25maXJtYXRpb25Nb2RlbCgpO1xyXG5cclxuICAgICAgICBjb25maXJtYXRpb24udGl0bGUgPSAnQ2FuY2VsIEFkZCBCcm9hZGNhc3QnO1xyXG4gICAgICAgIGNvbmZpcm1hdGlvbi5jb250ZW50ID0gYEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjYW5jZWw8YnIvPiBBZGQgQnJvYWRjYXN0P2A7XHJcbiAgICAgICAgY29uZmlybWF0aW9uLmJ0blN1Ym1pdFJlZCA9ICdZZXMnO1xyXG4gICAgICAgIGNvbmZpcm1hdGlvbi5idG5DYW5jZWwgPSAnTm8nO1xyXG5cclxuICAgICAgICBjb25zdCBzdWJzID0gdGhpcy5kaWFsb2dcclxuICAgICAgICAgICAgLm9wZW4oQ29uZmlybWF0aW9uQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgICAgICBhdXRvRm9jdXM6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgYmFja2Ryb3BDbGFzczogJ292ZXJsYXktYmFja2Ryb3AtZGlhbG9nJyxcclxuICAgICAgICAgICAgICAgIGRhdGE6IGNvbmZpcm1hdGlvbixcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLmFmdGVyQ2xvc2VkKClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzcCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3ApIHtcclxuICAgICAgICAgICAgICAgICAgICB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBgLyR7dGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LmdlbmVyYWxJbmZvcm1hdGlvbj8uaWR9YCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy9zZWN1cmUvY2FtcGFpZ24nXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50Vmlldy5lbWl0KGFyZWEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVycy5wdXNoKHN1YnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvblN1Ym1pdEZvckFwcHJvdmFsKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHBhcmFtZXRlckxpc3Q6IEFycmF5PFBhcmFtZXRlcj4gPSBbXTtcclxuICAgICAgICB0aGlzLmlzU3VibWl0ID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy50YXJnZXRBdWRpZW5jZUZpbGU/Lm5hbWUpXHJcbiAgICAgICAgICAgIHBhcmFtZXRlckxpc3QucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnaXNGaWxlJyxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgaW46ICdxdWVyeScsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGNvbnN0IHN1YnMgPSB0aGlzLmFwaUFkYXB0ZXJTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5leGVjdXRlQXBpUmVxdWVzdChcclxuICAgICAgICAgICAgICAgIHBhcmFtZXRlckxpc3QsXHJcbiAgICAgICAgICAgICAgICBgL2NhbXBhaWduLyR7dGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LmdlbmVyYWxJbmZvcm1hdGlvbj8uaWR9L3N1Ym1pdGAsXHJcbiAgICAgICAgICAgICAgICAnUE9TVCdcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgKHJlc3ApID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzcD8ubWVzc2FnZT8udG9Mb3dlckNhc2UoKSAhPT0gJ3N1Y2Nlc3MnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTdWJtaXQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7fSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYC8ke3RoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy5nZW5lcmFsSW5mb3JtYXRpb24/LmlkfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICcvc2VjdXJlL2NhbXBhaWduJ1xyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyLnN1Y2Nlc3MoJ0NhbXBhaWduIHN1Ym1pdHRlZCBmb3IgYXBwcm92YWwhJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1N1Ym1pdCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFZpZXcuZW1pdCh0aGlzLmN1cnJlbnRWaWV3cy5DYW1wYWlnbkluZGV4KTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAoKSA9PiAodGhpcy5pc1N1Ym1pdCA9IGZhbHNlKVxyXG4gICAgICAgICAgICApO1xyXG5cclxuICAgICAgICB0aGlzLnN1YnNjcmliZXJzLnB1c2goc3Vicyk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVycy5mb3JFYWNoKChlYWNoKSA9PiBlYWNoLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Validators as AngularValidators } from '@angular/forms';
|
|
2
|
+
import { maxValidator } from './max.validator';
|
|
3
|
+
import { minValidator } from './min.validator';
|
|
4
|
+
import { requiredValidator } from './required.validator';
|
|
5
|
+
export var Validators = {
|
|
6
|
+
compose: AngularValidators.compose,
|
|
7
|
+
composeAync: AngularValidators.composeAsync,
|
|
8
|
+
max: maxValidator,
|
|
9
|
+
min: minValidator,
|
|
10
|
+
required: requiredValidator,
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRsZmUvY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL2NhbXBhaWduLW1hbmFnZW1lbnQvdmFsaWRhdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxJQUFJLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RCxNQUFNLENBQUMsSUFBTSxVQUFVLEdBQUc7SUFDdEIsT0FBTyxFQUFFLGlCQUFpQixDQUFDLE9BQU87SUFDbEMsV0FBVyxFQUFFLGlCQUFpQixDQUFDLFlBQVk7SUFDM0MsR0FBRyxFQUFFLFlBQVk7SUFDakIsR0FBRyxFQUFFLFlBQVk7SUFDakIsUUFBUSxFQUFFLGlCQUFpQjtDQUM5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9ycyBhcyBBbmd1bGFyVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgbWF4VmFsaWRhdG9yIH0gZnJvbSAnLi9tYXgudmFsaWRhdG9yJztcclxuaW1wb3J0IHsgbWluVmFsaWRhdG9yIH0gZnJvbSAnLi9taW4udmFsaWRhdG9yJztcclxuaW1wb3J0IHsgcmVxdWlyZWRWYWxpZGF0b3IgfSBmcm9tICcuL3JlcXVpcmVkLnZhbGlkYXRvcic7XHJcblxyXG5leHBvcnQgY29uc3QgVmFsaWRhdG9ycyA9IHtcclxuICAgIGNvbXBvc2U6IEFuZ3VsYXJWYWxpZGF0b3JzLmNvbXBvc2UsXHJcbiAgICBjb21wb3NlQXluYzogQW5ndWxhclZhbGlkYXRvcnMuY29tcG9zZUFzeW5jLFxyXG4gICAgbWF4OiBtYXhWYWxpZGF0b3IsXHJcbiAgICBtaW46IG1pblZhbGlkYXRvcixcclxuICAgIHJlcXVpcmVkOiByZXF1aXJlZFZhbGlkYXRvcixcclxufTtcclxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Validators } from '@angular/forms';
|
|
2
|
+
export var maxValidator = function (max, message) {
|
|
3
|
+
return function (AC) {
|
|
4
|
+
var isError = Validators.max(max)(AC);
|
|
5
|
+
if (isError)
|
|
6
|
+
return {
|
|
7
|
+
max: max,
|
|
8
|
+
actual: AC.value,
|
|
9
|
+
message: message || "Max Value equals to " + max,
|
|
10
|
+
};
|
|
11
|
+
return null;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF4LnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhZGxmZS9jYW1wYWlnbi1tYW5hZ2VtZW50LWxpYnJhcnkvIiwic291cmNlcyI6WyJsaWIvY2FtcGFpZ24tbWFuYWdlbWVudC92YWxpZGF0b3JzL21heC52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxNQUFNLENBQUMsSUFBTSxZQUFZLEdBQUcsVUFBQyxHQUFXLEVBQUUsT0FBZTtJQUN4RCxPQUFPLFVBQUMsRUFBbUI7UUFDMUIsSUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QyxJQUFJLE9BQU87WUFDVixPQUFPO2dCQUNOLEdBQUcsRUFBRSxHQUFHO2dCQUNSLE1BQU0sRUFBRSxFQUFFLENBQUMsS0FBSztnQkFDaEIsT0FBTyxFQUFFLE9BQU8sSUFBSSx5QkFBdUIsR0FBSzthQUNoRCxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDLENBQUM7QUFDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmV4cG9ydCBjb25zdCBtYXhWYWxpZGF0b3IgPSAobWF4OiBudW1iZXIsIG1lc3NhZ2U6IHN0cmluZykgPT4ge1xyXG5cdHJldHVybiAoQUM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuXHRcdGNvbnN0IGlzRXJyb3IgPSBWYWxpZGF0b3JzLm1heChtYXgpKEFDKTtcclxuXHRcdGlmIChpc0Vycm9yKVxyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdG1heDogbWF4LFxyXG5cdFx0XHRcdGFjdHVhbDogQUMudmFsdWUsXHJcblx0XHRcdFx0bWVzc2FnZTogbWVzc2FnZSB8fCBgTWF4IFZhbHVlIGVxdWFscyB0byAke21heH1gLFxyXG5cdFx0XHR9O1xyXG5cdFx0cmV0dXJuIG51bGw7XHJcblx0fTtcclxufTtcclxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Validators } from '@angular/forms';
|
|
2
|
+
export var minValidator = function (min, message) {
|
|
3
|
+
return function (AC) {
|
|
4
|
+
var isError = Validators.min(min)(AC);
|
|
5
|
+
if (isError)
|
|
6
|
+
return {
|
|
7
|
+
min: min,
|
|
8
|
+
actual: AC.value,
|
|
9
|
+
message: message || "Min Value equals to " + min,
|
|
10
|
+
};
|
|
11
|
+
return null;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhZGxmZS9jYW1wYWlnbi1tYW5hZ2VtZW50LWxpYnJhcnkvIiwic291cmNlcyI6WyJsaWIvY2FtcGFpZ24tbWFuYWdlbWVudC92YWxpZGF0b3JzL21pbi52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxNQUFNLENBQUMsSUFBTSxZQUFZLEdBQUcsVUFBQyxHQUFXLEVBQUUsT0FBZTtJQUN4RCxPQUFPLFVBQUMsRUFBbUI7UUFDMUIsSUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QyxJQUFJLE9BQU87WUFDVixPQUFPO2dCQUNOLEdBQUcsRUFBRSxHQUFHO2dCQUNSLE1BQU0sRUFBRSxFQUFFLENBQUMsS0FBSztnQkFDaEIsT0FBTyxFQUFFLE9BQU8sSUFBSSx5QkFBdUIsR0FBSzthQUNoRCxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDLENBQUM7QUFDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmV4cG9ydCBjb25zdCBtaW5WYWxpZGF0b3IgPSAobWluOiBudW1iZXIsIG1lc3NhZ2U6IHN0cmluZykgPT4ge1xyXG5cdHJldHVybiAoQUM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuXHRcdGNvbnN0IGlzRXJyb3IgPSBWYWxpZGF0b3JzLm1pbihtaW4pKEFDKTtcclxuXHRcdGlmIChpc0Vycm9yKVxyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdG1pbjogbWluLFxyXG5cdFx0XHRcdGFjdHVhbDogQUMudmFsdWUsXHJcblx0XHRcdFx0bWVzc2FnZTogbWVzc2FnZSB8fCBgTWluIFZhbHVlIGVxdWFscyB0byAke21pbn1gLFxyXG5cdFx0XHR9O1xyXG5cdFx0cmV0dXJuIG51bGw7XHJcblx0fTtcclxufTtcclxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Validators } from '@angular/forms';
|
|
2
|
+
export var requiredValidator = function (message) {
|
|
3
|
+
return function (ac) {
|
|
4
|
+
var isError = Validators.required(ac);
|
|
5
|
+
if (isError)
|
|
6
|
+
return { message: message };
|
|
7
|
+
return null;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFkbGZlL2NhbXBhaWduLW1hbmFnZW1lbnQtbGlicmFyeS8iLCJzb3VyY2VzIjpbImxpYi9jYW1wYWlnbi1tYW5hZ2VtZW50L3ZhbGlkYXRvcnMvcmVxdWlyZWQudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0QsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUYsTUFBTSxDQUFDLElBQU0saUJBQWlCLEdBQUcsVUFBQyxPQUFlO0lBQ2hELE9BQU8sVUFBQyxFQUFtQjtRQUMxQixJQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLElBQUksT0FBTztZQUFFLE9BQU8sRUFBRSxPQUFPLFNBQUEsRUFBRSxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQyxDQUFDO0FBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmV4cG9ydCBjb25zdCByZXF1aXJlZFZhbGlkYXRvciA9IChtZXNzYWdlOiBzdHJpbmcpOiBWYWxpZGF0b3JGbiA9PiB7XHJcblx0cmV0dXJuIChhYzogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xyXG5cdFx0Y29uc3QgaXNFcnJvciA9IFZhbGlkYXRvcnMucmVxdWlyZWQoYWMpO1xyXG5cdFx0aWYgKGlzRXJyb3IpIHJldHVybiB7IG1lc3NhZ2UgfTtcclxuXHRcdHJldHVybiBudWxsO1xyXG5cdH07XHJcbn07XHJcbiJdfQ==
|
|
@@ -41,6 +41,10 @@ export var MsgTypeWAOptionConst = [
|
|
|
41
41
|
name: 'Template',
|
|
42
42
|
code: 'TEMPLATE',
|
|
43
43
|
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Text - Utility',
|
|
46
|
+
code: 'utility',
|
|
47
|
+
},
|
|
44
48
|
];
|
|
45
49
|
export var MsgTypeEmailOptionConst = [
|
|
46
50
|
{
|
|
@@ -122,11 +126,7 @@ export var CampaignPerformanceChartConfig = {
|
|
|
122
126
|
{ type: 'bar', color: '#35CDF3' },
|
|
123
127
|
],
|
|
124
128
|
};
|
|
125
|
-
var ɵ0 = [
|
|
126
|
-
'Delivery Rate of Campaigns',
|
|
127
|
-
'Total Number of Campaigns',
|
|
128
|
-
'Cost Distribution',
|
|
129
|
-
], ɵ1 = [], ɵ2 = [], ɵ3 = [], ɵ4 = [];
|
|
129
|
+
var ɵ0 = ['Delivery Rate of Campaigns', 'Total Number of Campaigns', 'Cost Distribution'], ɵ1 = [], ɵ2 = [], ɵ3 = [], ɵ4 = [];
|
|
130
130
|
export var ConversationInsightsChartConfig = {
|
|
131
131
|
tooltip: {
|
|
132
132
|
trigger: 'axis',
|
|
@@ -169,4 +169,4 @@ export var ConversationInsightsChartConfig = {
|
|
|
169
169
|
],
|
|
170
170
|
};
|
|
171
171
|
export { ɵ0, ɵ1, ɵ2, ɵ3, ɵ4 };
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmNvbnN0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFkbGZlL2NhbXBhaWduLW1hbmFnZW1lbnQtbGlicmFyeS8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL2NvbnN0L2NvbnN0YW50cy5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsSUFBTSxtQkFBbUIsR0FBRztJQUNsQztRQUNDLElBQUksRUFBRSxTQUFTO1FBQ2YsWUFBWSxFQUFFLGNBQWM7UUFDNUIsS0FBSyxFQUFFLGNBQWM7UUFDckIsS0FBSyxFQUFFLFVBQVU7UUFDakIsS0FBSyxFQUFFLElBQUk7S0FDWDtJQUNEO1FBQ0MsSUFBSSxFQUFFLFVBQVU7UUFDaEIsWUFBWSxFQUFFLGVBQWU7UUFDN0IsS0FBSyxFQUFFLFNBQVM7UUFDaEIsS0FBSyxFQUFFLEtBQUs7UUFDWixLQUFLLEVBQUUsS0FBSztLQUNaO0lBQ0Q7UUFDQyxJQUFJLEVBQUUsWUFBWTtRQUNsQixZQUFZLEVBQUUsaUJBQWlCO1FBQy9CLEtBQUssRUFBRSxtQkFBbUI7UUFDMUIsS0FBSyxFQUFFLE9BQU87UUFDZCxLQUFLLEVBQUUsT0FBTztLQUNkO0lBQ0Q7UUFDQyxJQUFJLEVBQUUsV0FBVztRQUNqQixZQUFZLEVBQUUsZ0JBQWdCO1FBQzlCLEtBQUssRUFBRSxVQUFVO1FBQ2pCLEtBQUssRUFBRSxNQUFNO1FBQ2IsS0FBSyxFQUFFLE1BQU07S0FDYjtDQUNELENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSxvQkFBb0IsR0FBRztJQUNuQztRQUNDLElBQUksRUFBRSxNQUFNO1FBQ1osSUFBSSxFQUFFLE1BQU07S0FDWjtJQUNEO1FBQ0MsSUFBSSxFQUFFLE9BQU87UUFDYixJQUFJLEVBQUUsT0FBTztLQUNiO0lBQ0Q7UUFDQyxJQUFJLEVBQUUsVUFBVTtRQUNoQixJQUFJLEVBQUUsVUFBVTtLQUNoQjtDQUtELENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSx1QkFBdUIsR0FBRztJQUN0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QUFJLEVBQUUsT0FBTztLQUNiO0lBQ0QsTUFBTSxFQUFFO1FBQ1A7WUFDQyxJQUFJLEVBQUUsNEJBQTRCO1lBQ2xDLElBQUksSUFBSTtZQUNSLElBQUksRUFBRSxNQUFNO1lBQ1osTUFBTSxFQUFFLElBQUk7WUFDWixTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7U0FDeEM7UUFDRDtZQUNDLElBQUksRUFBRSwyQkFBMkI7WUFDakMsSUFBSSxJQUFJO1lBQ1IsSUFBSSxFQUFFLE1BQU07WUFDWixNQUFNLEVBQUUsSUFBSTtZQUNaLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtTQUN6QztRQUNEO1lBQ0MsSUFBSSxFQUFFLG1CQUFtQjtZQUN6QixJQUFJLElBQUk7WUFDUixJQUFJLEVBQUUsTUFBTTtZQUNaLE1BQU0sRUFBRSxJQUFJO1lBQ1osU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFO1NBQzNDO0tBQ0Q7Q0FDRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFBsYXRmb3JtT3B0aW9uQ29uc3QgPSBbXHJcblx0e1xyXG5cdFx0aWNvbjogJ2ljb25fd2EnLFxyXG5cdFx0aW5wdXRTdmdJY29uOiAnaWNvbi13YS1ncmF5JyxcclxuXHRcdGltYWdlOiAnd2hhdHNhcHAucG5nJyxcclxuXHRcdGxhYmVsOiAnV2hhdHNBcHAnLFxyXG5cdFx0dmFsdWU6ICdXQScsXHJcblx0fSxcclxuXHR7XHJcblx0XHRpY29uOiAnbWVudV9zbXMnLFxyXG5cdFx0aW5wdXRTdmdJY29uOiAnaWNvbi1zbXMtZ3JheScsXHJcblx0XHRpbWFnZTogJ3Ntcy5wbmcnLFxyXG5cdFx0bGFiZWw6ICdTTVMnLFxyXG5cdFx0dmFsdWU6ICdTTVMnLFxyXG5cdH0sXHJcblx0e1xyXG5cdFx0aWNvbjogJ2ljb25fZW1haWwnLFxyXG5cdFx0aW5wdXRTdmdJY29uOiAnaWNvbi1lbWFpbC1ncmF5JyxcclxuXHRcdGltYWdlOiAnZW1haWwtY29udGFjdC5wbmcnLFxyXG5cdFx0bGFiZWw6ICdFbWFpbCcsXHJcblx0XHR2YWx1ZTogJ0VNQUlMJyxcclxuXHR9LFxyXG5cdHtcclxuXHRcdGljb246ICdpY29uX2xpbmUnLFxyXG5cdFx0aW5wdXRTdmdJY29uOiAnaWNvbi1saW5lLWdyYXknLFxyXG5cdFx0aW1hZ2U6ICdsaW5lLnBuZycsXHJcblx0XHRsYWJlbDogJ0xpbmUnLFxyXG5cdFx0dmFsdWU6ICdMSU5FJyxcclxuXHR9LFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IE1zZ1R5cGVXQU9wdGlvbkNvbnN0ID0gW1xyXG5cdHtcclxuXHRcdG5hbWU6ICdUZXh0JyxcclxuXHRcdGNvZGU6ICdURVhUJyxcclxuXHR9LFxyXG5cdHtcclxuXHRcdG5hbWU6ICdNZWRpYScsXHJcblx0XHRjb2RlOiAnTUVESUEnLFxyXG5cdH0sXHJcblx0e1xyXG5cdFx0bmFtZTogJ1RlbXBsYXRlJyxcclxuXHRcdGNvZGU6ICdURU1QTEFURScsXHJcblx0fSxcclxuXHQvKiB7XHJcblx0XHRuYW1lOiAnQ2F0YWxvZ3VlJyxcclxuXHRcdGNvZGU6ICdDQVRBTE9HVUUnLFxyXG5cdH0sICovXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgTXNnVHlwZUVtYWlsT3B0aW9uQ29uc3QgPSBbXHJcblx0e1xyXG5cdFx0bmFtZTogJ1RleHQnLFxyXG5cdFx0Y29kZTogJ0hUTUwnLFxyXG5cdH0sXHJcblx0e1xyXG5cdFx0bmFtZTogJ1RlbXBsYXRlJyxcclxuXHRcdGNvZGU6ICdURU1QTEFURScsXHJcblx0fSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBNc2dUeXBlTGluZU9wdGlvbkNvbnN0ID0gW1xyXG5cdHtcclxuXHRcdG5hbWU6ICdUZXh0JyxcclxuXHRcdGNvZGU6ICdURVhUJyxcclxuXHR9LFxyXG5cdHtcclxuXHRcdG5hbWU6ICdUZW1wbGF0ZScsXHJcblx0XHRjb2RlOiAnVEVNUExBVEUnLFxyXG5cdH0sXHJcblx0Lyoge1xyXG5cdFx0bmFtZTogJ0J1dHRvbicsXHJcblx0XHRjb2RlOiAnQlVUVE9OJyxcclxuXHR9LFxyXG5cdHtcclxuXHRcdG5hbWU6ICdDb25maXJtYXRpb24nLFxyXG5cdFx0Y29kZTogJ0NPTkZJUk1BVElPTicsXHJcblx0fSxcclxuXHR7XHJcblx0XHRuYW1lOiAnQ2Fyb3VzZWwnLFxyXG5cdFx0Y29kZTogJ0NBUk9VU0VMJyxcclxuXHR9LFxyXG5cdHtcclxuXHRcdG5hbWU6ICdJbWFnZSBDYXJvdXNlbCcsXHJcblx0XHRjb2RlOiAnSU1BR0VfQ0FST1VTRUwnLFxyXG5cdH0sXHJcblx0e1xyXG5cdFx0bmFtZTogJ0ZsZXggQnViYmxlJyxcclxuXHRcdGNvZGU6ICdGTEVYX0JVQkJMRScsXHJcblx0fSxcclxuXHR7XHJcblx0XHRuYW1lOiAnRmxleCBDYXJvdXNlbCcsXHJcblx0XHRjb2RlOiAnRkxFWF9DQVJPVVNFTCcsXHJcblx0fSwgKi9cclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBNZWRpYVR5cGVPcHRpb25Db25zdCA9IFtcclxuXHR7XHJcblx0XHRuYW1lOiAnSW1hZ2UnLFxyXG5cdFx0Y29kZTogJ0lNQUdFJyxcclxuXHR9LFxyXG5cdHtcclxuXHRcdG5hbWU6ICdWaWRlbycsXHJcblx0XHRjb2RlOiAnVklERU8nLFxyXG5cdH0sXHJcblx0e1xyXG5cdFx0bmFtZTogJ0RvY3VtZW50JyxcclxuXHRcdGNvZGU6ICdET0NVTUVOVCcsXHJcblx0fSxcclxuXHQvKiB7XHJcblx0XHRuYW1lOiAnTG9jYXRpb24nLFxyXG5cdFx0Y29kZTogJ0xPQ0FUSU9OJyxcclxuXHR9LCAqL1xyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IFdpZGdldExpdmVDYW1wYWlnbkNvbnN0OiB7XHJcblx0dGl0bGU6IHN0cmluZztcclxuXHRhcnJvdzogc3RyaW5nO1xyXG5cdHZhbHVlOiBudW1iZXI7XHJcblx0ZGF0ZTogc3RyaW5nO1xyXG5cdGljb246IHN0cmluZztcclxuXHRkYXRlY2xhc3M6IHN0cmluZztcclxufVtdID0gW1xyXG5cdHtcclxuXHRcdHRpdGxlOiAnVG90YWwgQ2FtcGFpZ25zJyxcclxuXHRcdGFycm93OiAnLi4vLi4vLi4vLi4vYXNzZXRzL3N2Zy9pY29uLWRvd24tYXJyb3cuc3ZnJyxcclxuXHRcdHZhbHVlOiAwLFxyXG5cdFx0ZGF0ZTogJycsXHJcblx0XHRpY29uOiAnLi4vLi4vLi4vLi4vYXNzZXRzL3N2Zy9pY29uLXRvdGFsLWNhbXBhaWduLnN2ZycsXHJcblx0XHRkYXRlY2xhc3M6ICdyZWRwZXJjZW50JyxcclxuXHR9LFxyXG5cdHtcclxuXHRcdHRpdGxlOiAnTGl2ZSBDYW1wYWlnbnMnLFxyXG5cdFx0YXJyb3c6ICcuLi8uLi8uLi8uLi9hc3NldHMvc3ZnL2ljb24tZG93bi1hcnJvdy5zdmcnLFxyXG5cdFx0dmFsdWU6IDAsXHJcblx0XHRkYXRlOiAnJyxcclxuXHRcdGljb246ICcuLi8uLi8uLi8uLi9hc3NldHMvc3ZnL2ljb24tdXNlLWNhbXBhaWduLnN2ZycsXHJcblx0XHRkYXRlY2xhc3M6ICdyZWRwZXJjZW50JyxcclxuXHR9LFxyXG5cdHtcclxuXHRcdHRpdGxlOiAnUGVuZGluZyBBcHByb3ZhbCcsXHJcblx0XHRhcnJvdzogJy4uLy4uLy4uLy4uL2Fzc2V0cy9zdmcvaWNvbi1kb3duLWFycm93LnN2ZycsXHJcblx0XHR2YWx1ZTogMCxcclxuXHRcdGRhdGU6ICcnLFxyXG5cdFx0aWNvbjogJy4uLy4uLy4uLy4uL2Fzc2V0cy9zdmcvaWNvbi1wZW5kaW5nLWFwcHJvdmFsLWNhbXBhaWduLnN2ZycsXHJcblx0XHRkYXRlY2xhc3M6ICdyZWRwZXJjZW50JyxcclxuXHR9LFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IENhbXBhaWduUGVyZm9ybWFuY2VDaGFydENvbmZpZyA9IHtcclxuXHRsZWdlbmQ6IHtcclxuXHRcdGljb246ICdjaXJjbGUnLFxyXG5cdFx0b3JpZW50OiAnaG9yaXpvbnRhbCcsXHJcblx0XHR4OiAnY2VudGVyJyxcclxuXHRcdHk6ICdib3R0b20nLFxyXG5cdH0sXHJcblx0dG9vbHRpcDoge30sXHJcblx0ZGF0YXNldDoge1xyXG5cdFx0c291cmNlOiBbWycnLCAnV0EgVGV4dCcsICdXQSBUZW1wbGF0ZScsICdXQSBNZWRpYScsICdQcm9kdWN0IENhdGFsb2cnXV0sXHJcblx0fSxcclxuXHR4QXhpczogeyB0eXBlOiAnY2F0ZWdvcnknIH0sXHJcblx0eUF4aXM6IHt9LFxyXG5cdHNlcmllczogW1xyXG5cdFx0eyB0eXBlOiAnYmFyJywgY29sb3I6ICcjRTY2NkRBJyB9LFxyXG5cdFx0eyB0eXBlOiAnYmFyJywgY29sb3I6ICcjRUI3MjE1JyB9LFxyXG5cdFx0eyB0eXBlOiAnYmFyJywgY29sb3I6ICcjRjNCNDM1JyB9LFxyXG5cdFx0eyB0eXBlOiAnYmFyJywgY29sb3I6ICcjMzVDREYzJyB9LFxyXG5cdF0sXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgQ29udmVyc2F0aW9uSW5zaWdodHNDaGFydENvbmZpZyA9IHtcclxuXHR0b29sdGlwOiB7XHJcblx0XHR0cmlnZ2VyOiAnYXhpcycsXHJcblx0fSxcclxuXHRsZWdlbmQ6IHtcclxuXHRcdGljb246ICdjaXJjbGUnLFxyXG5cdFx0ZGF0YTogW1xyXG5cdFx0XHQnRGVsaXZlcnkgUmF0ZSBvZiBDYW1wYWlnbnMnLFxyXG5cdFx0XHQnVG90YWwgTnVtYmVyIG9mIENhbXBhaWducycsXHJcblx0XHRcdCdDb3N0IERpc3RyaWJ1dGlvbicsXHJcblx0XHRdLFxyXG5cdFx0eDogJ2NlbnRlcicsXHJcblx0XHR5OiAnYm90dG9tJyxcclxuXHR9LFxyXG5cdHhBeGlzOiB7XHJcblx0XHR0eXBlOiAnY2F0ZWdvcnknLFxyXG5cdFx0ZGF0YTogW10sXHJcblx0fSxcclxuXHR5QXhpczoge1xyXG5cdFx0dHlwZTogJ3ZhbHVlJyxcclxuXHR9LFxyXG5cdHNlcmllczogW1xyXG5cdFx0e1xyXG5cdFx0XHRuYW1lOiAnRGVsaXZlcnkgUmF0ZSBvZiBDYW1wYWlnbnMnLFxyXG5cdFx0XHRkYXRhOiBbXSxcclxuXHRcdFx0dHlwZTogJ2xpbmUnLFxyXG5cdFx0XHRzbW9vdGg6IHRydWUsXHJcblx0XHRcdGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgY29sb3I6ICdibHVlJyB9IH0sXHJcblx0XHR9LFxyXG5cdFx0e1xyXG5cdFx0XHRuYW1lOiAnVG90YWwgTnVtYmVyIG9mIENhbXBhaWducycsXHJcblx0XHRcdGRhdGE6IFtdLFxyXG5cdFx0XHR0eXBlOiAnbGluZScsXHJcblx0XHRcdHNtb290aDogdHJ1ZSxcclxuXHRcdFx0aXRlbVN0eWxlOiB7IG5vcm1hbDogeyBjb2xvcjogJ2dyZWVuJyB9IH0sXHJcblx0XHR9LFxyXG5cdFx0e1xyXG5cdFx0XHRuYW1lOiAnQ29zdCBEaXN0cmlidXRpb24nLFxyXG5cdFx0XHRkYXRhOiBbXSxcclxuXHRcdFx0dHlwZTogJ2xpbmUnLFxyXG5cdFx0XHRzbW9vdGg6IHRydWUsXHJcblx0XHRcdGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgY29sb3I6ICcjRTY2NkRBJyB9IH0sXHJcblx0XHR9LFxyXG5cdF0sXHJcbn07XHJcbiJdfQ==
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmNvbnN0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFkbGZlL2NhbXBhaWduLW1hbmFnZW1lbnQtbGlicmFyeS8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL2NvbnN0L2NvbnN0YW50cy5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsSUFBTSxtQkFBbUIsR0FBRztJQUMvQjtRQUNJLElBQUksRUFBRSxTQUFTO1FBQ2YsWUFBWSxFQUFFLGNBQWM7UUFDNUIsS0FBSyxFQUFFLGNBQWM7UUFDckIsS0FBSyxFQUFFLFVBQVU7UUFDakIsS0FBSyxFQUFFLElBQUk7S0FDZDtJQUNEO1FBQ0ksSUFBSSxFQUFFLFVBQVU7UUFDaEIsWUFBWSxFQUFFLGVBQWU7UUFDN0IsS0FBSyxFQUFFLFNBQVM7UUFDaEIsS0FBSyxFQUFFLEtBQUs7UUFDWixLQUFLLEVBQUUsS0FBSztLQUNmO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsWUFBWTtRQUNsQixZQUFZLEVBQUUsaUJBQWlCO1FBQy9CLEtBQUssRUFBRSxtQkFBbUI7UUFDMUIsS0FBSyxFQUFFLE9BQU87UUFDZCxLQUFLLEVBQUUsT0FBTztLQUNqQjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFdBQVc7UUFDakIsWUFBWSxFQUFFLGdCQUFnQjtRQUM5QixLQUFLLEVBQUUsVUFBVTtRQUNqQixLQUFLLEVBQUUsTUFBTTtRQUNiLEtBQUssRUFBRSxNQUFNO0tBQ2hCO0NBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLG9CQUFvQixHQUFHO0lBQ2hDO1FBQ0ksSUFBSSxFQUFFLE1BQU07UUFDWixJQUFJLEVBQUUsTUFBTTtLQUNmO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsT0FBTztRQUNiLElBQUksRUFBRSxPQUFPO0tBQ2hCO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsVUFBVTtRQUNoQixJQUFJLEVBQUUsVUFBVTtLQUNuQjtJQUNEO1FBQ0ksSUFBSSxFQUFFLGdCQUFnQjtRQUN0QixJQUFJLEVBQUUs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QUNILElBQUksRUFBRSxVQUFVO1FBQ2hCLElBQUksSUFBSTtLQUNYO0lBQ0QsS0FBSyxFQUFFO1FBQ0gsSUFBSSxFQUFFLE9BQU87S0FDaEI7SUFDRCxNQUFNLEVBQUU7UUFDSjtZQUNJLElBQUksRUFBRSw0QkFBNEI7WUFDbEMsSUFBSSxJQUFJO1lBQ1IsSUFBSSxFQUFFLE1BQU07WUFDWixNQUFNLEVBQUUsSUFBSTtZQUNaLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRTtTQUMzQztRQUNEO1lBQ0ksSUFBSSxFQUFFLDJCQUEyQjtZQUNqQyxJQUFJLElBQUk7WUFDUixJQUFJLEVBQUUsTUFBTTtZQUNaLE1BQU0sRUFBRSxJQUFJO1lBQ1osU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1NBQzVDO1FBQ0Q7WUFDSSxJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLElBQUksSUFBSTtZQUNSLElBQUksRUFBRSxNQUFNO1lBQ1osTUFBTSxFQUFFLElBQUk7WUFDWixTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUU7U0FDOUM7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgUGxhdGZvcm1PcHRpb25Db25zdCA9IFtcclxuICAgIHtcclxuICAgICAgICBpY29uOiAnaWNvbl93YScsXHJcbiAgICAgICAgaW5wdXRTdmdJY29uOiAnaWNvbi13YS1ncmF5JyxcclxuICAgICAgICBpbWFnZTogJ3doYXRzYXBwLnBuZycsXHJcbiAgICAgICAgbGFiZWw6ICdXaGF0c0FwcCcsXHJcbiAgICAgICAgdmFsdWU6ICdXQScsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGljb246ICdtZW51X3NtcycsXHJcbiAgICAgICAgaW5wdXRTdmdJY29uOiAnaWNvbi1zbXMtZ3JheScsXHJcbiAgICAgICAgaW1hZ2U6ICdzbXMucG5nJyxcclxuICAgICAgICBsYWJlbDogJ1NNUycsXHJcbiAgICAgICAgdmFsdWU6ICdTTVMnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBpY29uOiAnaWNvbl9lbWFpbCcsXHJcbiAgICAgICAgaW5wdXRTdmdJY29uOiAnaWNvbi1lbWFpbC1ncmF5JyxcclxuICAgICAgICBpbWFnZTogJ2VtYWlsLWNvbnRhY3QucG5nJyxcclxuICAgICAgICBsYWJlbDogJ0VtYWlsJyxcclxuICAgICAgICB2YWx1ZTogJ0VNQUlMJyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgaWNvbjogJ2ljb25fbGluZScsXHJcbiAgICAgICAgaW5wdXRTdmdJY29uOiAnaWNvbi1saW5lLWdyYXknLFxyXG4gICAgICAgIGltYWdlOiAnbGluZS5wbmcnLFxyXG4gICAgICAgIGxhYmVsOiAnTGluZScsXHJcbiAgICAgICAgdmFsdWU6ICdMSU5FJyxcclxuICAgIH0sXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgTXNnVHlwZVdBT3B0aW9uQ29uc3QgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ1RleHQnLFxyXG4gICAgICAgIGNvZGU6ICdURVhUJyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ01lZGlhJyxcclxuICAgICAgICBjb2RlOiAnTUVESUEnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnVGVtcGxhdGUnLFxyXG4gICAgICAgIGNvZGU6ICdURU1QTEFURScsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdUZXh0IC0gVXRpbGl0eScsXHJcbiAgICAgICAgY29kZTogJ3V0aWxpdHknLFxyXG4gICAgfSxcclxuICAgIC8qIHtcclxuXHRcdG5hbWU6ICdDYXRhbG9ndWUnLFxyXG5cdFx0Y29kZTogJ0NBVEFMT0dVRScsXHJcblx0fSwgKi9cclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBNc2dUeXBlRW1haWxPcHRpb25Db25zdCA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnVGV4dCcsXHJcbiAgICAgICAgY29kZTogJ0hUTUwnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnVGVtcGxhdGUnLFxyXG4gICAgICAgIGNvZGU6ICdURU1QTEFURScsXHJcbiAgICB9LFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IE1zZ1R5cGVMaW5lT3B0aW9uQ29uc3QgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ1RleHQnLFxyXG4gICAgICAgIGNvZGU6ICdURVhUJyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ1RlbXBsYXRlJyxcclxuICAgICAgICBjb2RlOiAnVEVNUExBVEUnLFxyXG4gICAgfSxcclxuICAgIC8qIHtcclxuXHRcdG5hbWU6ICdCdXR0b24nLFxyXG5cdFx0Y29kZTogJ0JVVFRPTicsXHJcblx0fSxcclxuXHR7XHJcblx0XHRuYW1lOiAnQ29uZmlybWF0aW9uJyxcclxuXHRcdGNvZGU6ICdDT05GSVJNQVRJT04nLFxyXG5cdH0sXHJcblx0e1xyXG5cdFx0bmFtZTogJ0Nhcm91c2VsJyxcclxuXHRcdGNvZGU6ICdDQVJPVVNFTCcsXHJcblx0fSxcclxuXHR7XHJcblx0XHRuYW1lOiAnSW1hZ2UgQ2Fyb3VzZWwnLFxyXG5cdFx0Y29kZTogJ0lNQUdFX0NBUk9VU0VMJyxcclxuXHR9LFxyXG5cdHtcclxuXHRcdG5hbWU6ICdGbGV4IEJ1YmJsZScsXHJcblx0XHRjb2RlOiAnRkxFWF9CVUJCTEUnLFxyXG5cdH0sXHJcblx0e1xyXG5cdFx0bmFtZTogJ0ZsZXggQ2Fyb3VzZWwnLFxyXG5cdFx0Y29kZTogJ0ZMRVhfQ0FST1VTRUwnLFxyXG5cdH0sICovXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgTWVkaWFUeXBlT3B0aW9uQ29uc3QgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ0ltYWdlJyxcclxuICAgICAgICBjb2RlOiAnSU1BR0UnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnVmlkZW8nLFxyXG4gICAgICAgIGNvZGU6ICdWSURFTycsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdEb2N1bWVudCcsXHJcbiAgICAgICAgY29kZTogJ0RPQ1VNRU5UJyxcclxuICAgIH0sXHJcbiAgICAvKiB7XHJcblx0XHRuYW1lOiAnTG9jYXRpb24nLFxyXG5cdFx0Y29kZTogJ0xPQ0FUSU9OJyxcclxuXHR9LCAqL1xyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IFdpZGdldExpdmVDYW1wYWlnbkNvbnN0OiB7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgYXJyb3c6IHN0cmluZztcclxuICAgIHZhbHVlOiBudW1iZXI7XHJcbiAgICBkYXRlOiBzdHJpbmc7XHJcbiAgICBpY29uOiBzdHJpbmc7XHJcbiAgICBkYXRlY2xhc3M6IHN0cmluZztcclxufVtdID0gW1xyXG4gICAge1xyXG4gICAgICAgIHRpdGxlOiAnVG90YWwgQ2FtcGFpZ25zJyxcclxuICAgICAgICBhcnJvdzogJy4uLy4uLy4uLy4uL2Fzc2V0cy9zdmcvaWNvbi1kb3duLWFycm93LnN2ZycsXHJcbiAgICAgICAgdmFsdWU6IDAsXHJcbiAgICAgICAgZGF0ZTogJycsXHJcbiAgICAgICAgaWNvbjogJy4uLy4uLy4uLy4uL2Fzc2V0cy9zdmcvaWNvbi10b3RhbC1jYW1wYWlnbi5zdmcnLFxyXG4gICAgICAgIGRhdGVjbGFzczogJ3JlZHBlcmNlbnQnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICB0aXRsZTogJ0xpdmUgQ2FtcGFpZ25zJyxcclxuICAgICAgICBhcnJvdzogJy4uLy4uLy4uLy4uL2Fzc2V0cy9zdmcvaWNvbi1kb3duLWFycm93LnN2ZycsXHJcbiAgICAgICAgdmFsdWU6IDAsXHJcbiAgICAgICAgZGF0ZTogJycsXHJcbiAgICAgICAgaWNvbjogJy4uLy4uLy4uLy4uL2Fzc2V0cy9zdmcvaWNvbi11c2UtY2FtcGFpZ24uc3ZnJyxcclxuICAgICAgICBkYXRlY2xhc3M6ICdyZWRwZXJjZW50JyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdQZW5kaW5nIEFwcHJvdmFsJyxcclxuICAgICAgICBhcnJvdzogJy4uLy4uLy4uLy4uL2Fzc2V0cy9zdmcvaWNvbi1kb3duLWFycm93LnN2ZycsXHJcbiAgICAgICAgdmFsdWU6IDAsXHJcbiAgICAgICAgZGF0ZTogJycsXHJcbiAgICAgICAgaWNvbjogJy4uLy4uLy4uLy4uL2Fzc2V0cy9zdmcvaWNvbi1wZW5kaW5nLWFwcHJvdmFsLWNhbXBhaWduLnN2ZycsXHJcbiAgICAgICAgZGF0ZWNsYXNzOiAncmVkcGVyY2VudCcsXHJcbiAgICB9LFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IENhbXBhaWduUGVyZm9ybWFuY2VDaGFydENvbmZpZyA9IHtcclxuICAgIGxlZ2VuZDoge1xyXG4gICAgICAgIGljb246ICdjaXJjbGUnLFxyXG4gICAgICAgIG9yaWVudDogJ2hvcml6b250YWwnLFxyXG4gICAgICAgIHg6ICdjZW50ZXInLFxyXG4gICAgICAgIHk6ICdib3R0b20nLFxyXG4gICAgfSxcclxuICAgIHRvb2x0aXA6IHt9LFxyXG4gICAgZGF0YXNldDoge1xyXG4gICAgICAgIHNvdXJjZTogW1snJywgJ1dBIFRleHQnLCAnV0EgVGVtcGxhdGUnLCAnV0EgTWVkaWEnLCAnUHJvZHVjdCBDYXRhbG9nJ11dLFxyXG4gICAgfSxcclxuICAgIHhBeGlzOiB7IHR5cGU6ICdjYXRlZ29yeScgfSxcclxuICAgIHlBeGlzOiB7fSxcclxuICAgIHNlcmllczogW1xyXG4gICAgICAgIHsgdHlwZTogJ2JhcicsIGNvbG9yOiAnI0U2NjZEQScgfSxcclxuICAgICAgICB7IHR5cGU6ICdiYXInLCBjb2xvcjogJyNFQjcyMTUnIH0sXHJcbiAgICAgICAgeyB0eXBlOiAnYmFyJywgY29sb3I6ICcjRjNCNDM1JyB9LFxyXG4gICAgICAgIHsgdHlwZTogJ2JhcicsIGNvbG9yOiAnIzM1Q0RGMycgfSxcclxuICAgIF0sXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgQ29udmVyc2F0aW9uSW5zaWdodHNDaGFydENvbmZpZyA9IHtcclxuICAgIHRvb2x0aXA6IHtcclxuICAgICAgICB0cmlnZ2VyOiAnYXhpcycsXHJcbiAgICB9LFxyXG4gICAgbGVnZW5kOiB7XHJcbiAgICAgICAgaWNvbjogJ2NpcmNsZScsXHJcbiAgICAgICAgZGF0YTogWydEZWxpdmVyeSBSYXRlIG9mIENhbXBhaWducycsICdUb3RhbCBOdW1iZXIgb2YgQ2FtcGFpZ25zJywgJ0Nvc3QgRGlzdHJpYnV0aW9uJ10sXHJcbiAgICAgICAgeDogJ2NlbnRlcicsXHJcbiAgICAgICAgeTogJ2JvdHRvbScsXHJcbiAgICB9LFxyXG4gICAgeEF4aXM6IHtcclxuICAgICAgICB0eXBlOiAnY2F0ZWdvcnknLFxyXG4gICAgICAgIGRhdGE6IFtdLFxyXG4gICAgfSxcclxuICAgIHlBeGlzOiB7XHJcbiAgICAgICAgdHlwZTogJ3ZhbHVlJyxcclxuICAgIH0sXHJcbiAgICBzZXJpZXM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIG5hbWU6ICdEZWxpdmVyeSBSYXRlIG9mIENhbXBhaWducycsXHJcbiAgICAgICAgICAgIGRhdGE6IFtdLFxyXG4gICAgICAgICAgICB0eXBlOiAnbGluZScsXHJcbiAgICAgICAgICAgIHNtb290aDogdHJ1ZSxcclxuICAgICAgICAgICAgaXRlbVN0eWxlOiB7IG5vcm1hbDogeyBjb2xvcjogJ2JsdWUnIH0gfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgbmFtZTogJ1RvdGFsIE51bWJlciBvZiBDYW1wYWlnbnMnLFxyXG4gICAgICAgICAgICBkYXRhOiBbXSxcclxuICAgICAgICAgICAgdHlwZTogJ2xpbmUnLFxyXG4gICAgICAgICAgICBzbW9vdGg6IHRydWUsXHJcbiAgICAgICAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgY29sb3I6ICdncmVlbicgfSB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBuYW1lOiAnQ29zdCBEaXN0cmlidXRpb24nLFxyXG4gICAgICAgICAgICBkYXRhOiBbXSxcclxuICAgICAgICAgICAgdHlwZTogJ2xpbmUnLFxyXG4gICAgICAgICAgICBzbW9vdGg6IHRydWUsXHJcbiAgICAgICAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgY29sb3I6ICcjRTY2NkRBJyB9IH0sXHJcbiAgICAgICAgfSxcclxuICAgIF0sXHJcbn07XHJcbiJdfQ==
|
|
@@ -8,7 +8,10 @@ export var GeneralInformationMessageValidationConst = {
|
|
|
8
8
|
export var GeneralInformationWAMessageValidationConst = {
|
|
9
9
|
channel: [{ type: 'required', message: 'Message Type is required' }],
|
|
10
10
|
from: [{ type: 'required', message: 'From is required' }],
|
|
11
|
-
text: [
|
|
11
|
+
text: [
|
|
12
|
+
{ type: 'required', message: 'Text is required' },
|
|
13
|
+
{ type: 'maxlength', message: 'Maximum character 1024' },
|
|
14
|
+
],
|
|
12
15
|
media: [{ type: 'required', message: 'Media Type is required' }],
|
|
13
16
|
fileName: [{ type: 'required', message: 'File is required' }],
|
|
14
17
|
template: [{ type: 'required', message: 'Template is required' }],
|
|
@@ -53,4 +56,4 @@ export var SchedulerMessageValidationConst = {
|
|
|
53
56
|
startDate: [{ type: 'required', message: 'Select Date is required' }],
|
|
54
57
|
startTime: [{ type: 'required', message: 'Select Time is required' }],
|
|
55
58
|
};
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1tZXNzYWdlLmNvbnN0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFkbGZlL2NhbXBhaWduLW1hbmFnZW1lbnQtbGlicmFyeS8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL2NvbnN0L3ZhbGlkYXRpb24tbWVzc2FnZS5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsSUFBTSx3Q0FBd0MsR0FBRztJQUNwRCxZQUFZLEVBQUU7UUFDVixFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFO1FBQ2hFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUU7S0FDMUQ7SUFDRCxNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLENBQUM7Q0FDakUsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLDBDQUEwQyxHQUFHO0lBQ3RELE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQztJQUNwRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLENBQUM7SUFDekQsSUFBSSxFQUFFO1FBQ0YsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRTtRQUNqRCxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFO0tBQzNEO0lBQ0QsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxDQUFDO0lBQ2hFLFFBQVEsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztJQUM3RCxRQUFRLEVBQUUsQ0FBQyxF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RUFBRSxDQUFDO0lBQy9ELFlBQVksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQztDQUN4RSxDQUFDO0FBRUYsTUFBTSxDQUFDLElBQU0sK0JBQStCLEdBQUc7SUFDM0MsU0FBUyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxDQUFDO0lBQ3JFLFNBQVMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsQ0FBQztDQUN4RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEdlbmVyYWxJbmZvcm1hdGlvbk1lc3NhZ2VWYWxpZGF0aW9uQ29uc3QgPSB7XHJcbiAgICBjYW1wYWlnbk5hbWU6IFtcclxuICAgICAgICB7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdHZW5lcmFsIEluZm9ybWF0aW9uIGlzIHJlcXVpcmVkJyB9LFxyXG4gICAgICAgIHsgdHlwZTogJ21heGxlbmd0aCcsIG1lc3NhZ2U6ICdNYXhpbXVtIGNoYXJhY3RlciAxMDAnIH0sXHJcbiAgICBdLFxyXG4gICAgbWVkaXVtOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnQ2hhbm5lbCBpcyByZXF1aXJlZCcgfV0sXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgR2VuZXJhbEluZm9ybWF0aW9uV0FNZXNzYWdlVmFsaWRhdGlvbkNvbnN0ID0ge1xyXG4gICAgY2hhbm5lbDogW3sgdHlwZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ01lc3NhZ2UgVHlwZSBpcyByZXF1aXJlZCcgfV0sXHJcbiAgICBmcm9tOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnRnJvbSBpcyByZXF1aXJlZCcgfV0sXHJcbiAgICB0ZXh0OiBbXHJcbiAgICAgICAgeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnVGV4dCBpcyByZXF1aXJlZCcgfSxcclxuICAgICAgICB7IHR5cGU6ICdtYXhsZW5ndGgnLCBtZXNzYWdlOiAnTWF4aW11bSBjaGFyYWN0ZXIgMTAyNCcgfSxcclxuICAgIF0sXHJcbiAgICBtZWRpYTogW3sgdHlwZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ01lZGlhIFR5cGUgaXMgcmVxdWlyZWQnIH1dLFxyXG4gICAgZmlsZU5hbWU6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdGaWxlIGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIHRlbXBsYXRlOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnVGVtcGxhdGUgaXMgcmVxdWlyZWQnIH1dLFxyXG4gICAgY2F0ZWdvcnk6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdDYXRlZ29yeSBpcyByZXF1aXJlZCcgfV0sXHJcbiAgICBjYXRhbG9ndWU6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdDYXRhbG9nIGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIHByb2R1Y3Q6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdQcm9kdWN0IGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIGJvZHk6IFt7IHR5cGU6ICdtYXhsZW5ndGgnLCBtZXNzYWdlOiAnTWF4aW11bSBjaGFyYWN0ZXIgMTAwJyB9XSxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBHZW5lcmFsSW5mb3JtYXRpb25FbWFpbE1lc3NhZ2VWYWxpZGF0aW9uQ29uc3QgPSB7XHJcbiAgICBjaGFubmVsOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnTWVzc2FnZSBUeXBlIGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIGZyb206IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdGcm9tIGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIHRleHQ6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdUZXh0IGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIHRlbXBsYXRlOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnVGVtcGxhdGUgaXMgcmVxdWlyZWQnIH1dLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IEdlbmVyYWxJbmZvcm1hdGlvblNNU01lc3NhZ2VWYWxpZGF0aW9uQ29uc3QgPSB7XHJcbiAgICBjaGFubmVsOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnTWVzc2FnZSBUeXBlIGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIGZyb206IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdGcm9tIGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIHRleHQ6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdUZXh0IGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIHRlbXBsYXRlOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnVGVtcGxhdGUgaXMgcmVxdWlyZWQnIH1dLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IEdlbmVyYWxJbmZvcm1hdGlvbkxpbmVNZXNzYWdlVmFsaWRhdGlvbkNvbnN0ID0ge1xyXG4gICAgY2hhbm5lbDogW3sgdHlwZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ01lc3NhZ2UgVHlwZSBpcyByZXF1aXJlZCcgfV0sXHJcbiAgICBmcm9tOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnRnJvbSBpcyByZXF1aXJlZCcgfV0sXHJcbiAgICB0ZXh0OiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnVGV4dCBpcyByZXF1aXJlZCcgfV0sXHJcbiAgICB0ZW1wbGF0ZTogW3sgdHlwZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ1RlbXBsYXRlIGlzIHJlcXVpcmVkJyB9XSxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBGYWlsb3Zlck1lY2hhbmlzbVZhbGlkYXRpb25Db25zdCA9IHtcclxuICAgIGludGVydmFsOiBbXHJcbiAgICAgICAgeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnSW50ZXJ2YWwgVGltZSBpcyByZXF1aXJlZCcgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHR5cGU6ICdpbnRlcnZhbFRpbWUnLFxyXG4gICAgICAgICAgICBtZXNzYWdlOiAnTXVzdCBiZSBncmVhdGVyIHRoYW4gMCBhbmQgd2l0aG91dCBkZWNpbWFsJyxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxuICAgIHR5cGU6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdNYWluIFJ1bGVzIGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIGFjY291bnRJZDogW3sgdHlwZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ0FjY291bnQgaXMgcmVxdWlyZWQnIH1dLFxyXG4gICAgc3ViamVjdDogW3sgdHlwZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ1N1YmplY3QgaXMgcmVxdWlyZWQnIH1dLFxyXG4gICAgbWVzc2FnZTogW3sgdHlwZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ01lc3NhZ2UgaXMgcmVxdWlyZWQnIH1dLFxyXG4gICAgdGVtcGxhdGVOYW1lOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnVGVtcGxhdGUgaXMgcmVxdWlyZWQnIH1dLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IFNjaGVkdWxlck1lc3NhZ2VWYWxpZGF0aW9uQ29uc3QgPSB7XHJcbiAgICBzdGFydERhdGU6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdTZWxlY3QgRGF0ZSBpcyByZXF1aXJlZCcgfV0sXHJcbiAgICBzdGFydFRpbWU6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdTZWxlY3QgVGltZSBpcyByZXF1aXJlZCcgfV0sXHJcbn07XHJcbiJdfQ==
|