@1money/react-ui 1.12.4-alpha.0 → 1.12.4-alpha.1
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/es/components/Select/Select.js +84 -3
- package/es/index.css +1 -1
- package/lib/components/Select/Select.js +84 -3
- package/lib/index.css +1 -1
- package/package.json +1 -1
|
@@ -237,6 +237,18 @@ export var Select = function Select(props) {
|
|
|
237
237
|
var debouncedHandleScroll = debounce(function () {
|
|
238
238
|
return setIsScrolling(false);
|
|
239
239
|
}, 500);
|
|
240
|
+
var refreshDOM = useCallback(function () {
|
|
241
|
+
var _a, _b;
|
|
242
|
+
var ele = (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getOverlay) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
243
|
+
if (!ele) return;
|
|
244
|
+
var originZIndex = ele.style.zIndex;
|
|
245
|
+
if (originZIndex != undefined) {
|
|
246
|
+
ele.style.zIndex = "".concat(parseInt(originZIndex) + 1);
|
|
247
|
+
setTimeout(function () {
|
|
248
|
+
ele.style.zIndex = originZIndex;
|
|
249
|
+
}, 0);
|
|
250
|
+
}
|
|
251
|
+
}, []);
|
|
240
252
|
var SelectComponent = useCallback(function (props) {
|
|
241
253
|
return multiple ? _jsx(MultiSelect, Object.assign({
|
|
242
254
|
unselectable: unselectable,
|
|
@@ -305,9 +317,75 @@ export var Select = function Select(props) {
|
|
|
305
317
|
setSelected(value);
|
|
306
318
|
}
|
|
307
319
|
}, [value]);
|
|
320
|
+
// @ts-expect-error
|
|
308
321
|
useImperativeHandle(ref !== null && ref !== void 0 ? ref : _ref, function () {
|
|
309
|
-
|
|
310
|
-
|
|
322
|
+
var _a, _b;
|
|
323
|
+
return multiple ? {
|
|
324
|
+
props: (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.props,
|
|
325
|
+
focus: function focus() {
|
|
326
|
+
var _a, _b;
|
|
327
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.focus) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
328
|
+
},
|
|
329
|
+
hide: function hide() {
|
|
330
|
+
var _a, _b;
|
|
331
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.hide) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
332
|
+
},
|
|
333
|
+
show: function show() {
|
|
334
|
+
var _a, _b;
|
|
335
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.show) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
336
|
+
},
|
|
337
|
+
getElement: function getElement() {
|
|
338
|
+
var _a, _b;
|
|
339
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getElement) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
340
|
+
},
|
|
341
|
+
getInput: function getInput() {
|
|
342
|
+
var _a, _b;
|
|
343
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getInput) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
344
|
+
},
|
|
345
|
+
getOverlay: function getOverlay() {
|
|
346
|
+
var _a, _b;
|
|
347
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getOverlay) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
348
|
+
}
|
|
349
|
+
} : {
|
|
350
|
+
props: (_b = selectRef.current) === null || _b === void 0 ? void 0 : _b.props,
|
|
351
|
+
clear: function clear() {
|
|
352
|
+
var _a, _b;
|
|
353
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.clear) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
354
|
+
},
|
|
355
|
+
focus: function focus() {
|
|
356
|
+
var _a, _b;
|
|
357
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.focus) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
358
|
+
},
|
|
359
|
+
hide: function hide() {
|
|
360
|
+
var _a, _b;
|
|
361
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.hide) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
362
|
+
},
|
|
363
|
+
show: function show() {
|
|
364
|
+
var _a, _b;
|
|
365
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.show) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
366
|
+
},
|
|
367
|
+
getElement: function getElement() {
|
|
368
|
+
var _a, _b;
|
|
369
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getElement) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
370
|
+
},
|
|
371
|
+
getInput: function getInput() {
|
|
372
|
+
var _a, _b;
|
|
373
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getInput) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
374
|
+
},
|
|
375
|
+
getOverlay: function getOverlay() {
|
|
376
|
+
var _a, _b;
|
|
377
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getOverlay) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
378
|
+
},
|
|
379
|
+
getFocusInput: function getFocusInput() {
|
|
380
|
+
var _a, _b;
|
|
381
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getFocusInput) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
382
|
+
},
|
|
383
|
+
getVirtualScroller: function getVirtualScroller() {
|
|
384
|
+
var _a, _b;
|
|
385
|
+
return (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getVirtualScroller) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
386
|
+
}
|
|
387
|
+
};
|
|
388
|
+
}, [multiple]);
|
|
311
389
|
return _jsx(SelectWrapper, {
|
|
312
390
|
label: label,
|
|
313
391
|
message: message,
|
|
@@ -369,6 +447,9 @@ export var Select = function Select(props) {
|
|
|
369
447
|
onShow: function onShow() {
|
|
370
448
|
setIsOpen(true);
|
|
371
449
|
_onShow === null || _onShow === void 0 ? void 0 : _onShow();
|
|
450
|
+
setTimeout(function () {
|
|
451
|
+
return refreshDOM();
|
|
452
|
+
}, 0);
|
|
372
453
|
},
|
|
373
454
|
dropdownIcon: function dropdownIcon() {
|
|
374
455
|
return _jsx(Icons, {
|
|
@@ -405,4 +486,4 @@ export var Select = function Select(props) {
|
|
|
405
486
|
};
|
|
406
487
|
Select.CustomDropdown = CustomDropdown;
|
|
407
488
|
export default /*#__PURE__*/memo(Select);
|
|
408
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwibWVtbyIsInVzZVJlZiIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZUNhbGxiYWNrIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsImlzRXF1YWwiLCJkZWJvdW5jZSIsIkRyb3Bkb3duIiwiTXVsdGlTZWxlY3QiLCJjbGFzc25hbWVzIiwiSWNvbnMiLCJTZWxlY3RXcmFwcGVyIiwicHJvcHMiLCJsYWJlbCIsIm1lc3NhZ2UiLCJyZXF1aXJlZCIsInByZWZpeENscyIsIndyYXBwZXJDbHMiLCJsYWJlbENscyIsIm1lc3NhZ2VDbHMiLCJzdWNjZXNzIiwiaW52YWxpZCIsImRpc2FibGVkIiwiY2hpbGRyZW4iLCJjbGFzc2VzIiwiY2xhc3NOYW1lIiwiam9pbiIsInRyaW0iLCJDdXN0b21Ecm9wZG93biIsInJlZiIsImRhdGFJZCIsIl9wcm9wcyRwcmVmaXhDbHMiLCJfcHJvcHMkc2l6ZSIsInNpemUiLCJlZGl0YWJsZSIsIl9wcm9wcyRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX3Byb3BzJGNsYXNzTmFtZSIsInNlbGVjdGVkVGVtcGxhdGUiLCJ0YWlsVGVtcGxhdGUiLCJvbkNsaWNrIiwib25Gb2N1cyIsIm9uQmx1ciIsImlzQ2xpY2tJbnNpZGUiLCJkYXRhSWRSZWYiLCJsYXN0Rm9jdXNSZWYiLCJzZWxlY3RSZWYiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJ2YWx1ZSIsInNldFZhbHVlIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJpc0ZvY3VzIiwic2V0SXNGb2N1cyIsInNlbGVjdENscyIsImZvY3VzIiwiYmx1ciIsImdldERPTU5vZGUiLCJjdXJyZW50IiwiZmluZEN1c3RvbURyb3Bkb3duRGF0YUlkIiwidGFyZ2V0IiwiX2EiLCJkYXRhc2V0Iiwic2VsZWN0Q3VzdG9tRHJvcGRvd25JZCIsImRvY3VtZW50IiwiYm9keSIsInBhcmVudCIsInBhcmVudE5vZGUiLCJwYXJlbnRFbGVtZW50IiwicmVtb3ZlRm9jdXMiLCJwcmV2IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjb250ZW50RWRpdGFibGUiLCJhdXRvRm9jdXMiLCJvbklucHV0IiwidmFsIiwiY3VycmVudFRhcmdldCIsImlubmVyVGV4dCIsIm5hbWUiLCJjb2xvciIsIlNlbGVjdCIsImlkIiwiX3Byb3BzJHByZWZpeENsczIiLCJfcHJvcHMkc2l6ZTIiLCJfcHJvcHMkY2xhc3NOYW1lMiIsIm11bHRpcGxlIiwib3B0aW9ucyIsInBhbmVsQ2xhc3NOYW1lIiwiZGVmYXVsdFZhbHVlIiwiaXRlbVRlbXBsYXRlIiwib25DaGFuZ2UiLCJvbkhpZGUiLCJvblNob3ciLCJ1bnNlbGVjdGFibGUiLCJyZXN0IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzZWxlY3RlZCIsInNldFNlbGVjdGVkIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJpc09wZW4iLCJzZXRJc09wZW4iLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMTAiLCJpc0hvdmVyIiwic2V0SXNIb3ZlciIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJpc1Njcm9sbGluZyIsInNldElzU2Nyb2xsaW5nIiwiX3JlZiIsIkFycmF5IiwiaXNBcnJheSIsImRlYm91bmNlZEhhbmRsZVNjcm9sbCIsIlNlbGVjdENvbXBvbmVudCIsImFzc2lnbiIsInNob3dTZWxlY3RBbGwiLCJjaGVja2JveEljb24iLCJyZW1vdmVJY29uIiwiX3Byb3BzJGljb25Qcm9wcyIsImljb25Qcm9wcyIsIm9uS2V5RG93biIsInRhYkluZGV4IiwicGFuZWxIZWFkZXJUZW1wbGF0ZSIsIl9iIiwiX2MiLCJfZCIsIl9lIiwiZmlsdGVyRWxlbWVudCIsInNlbGVjdGVkTnVtIiwibWV0YURhdGEiLCJ1cGRhdGVNb2RlbCIsImNvbGxhcHNlSWNvbiIsInVuZGVmaW5lZCIsImZpbHRlclBsYWNlaG9sZGVyIiwib3B0aW9uIiwiY2xlYXIiLCJmaWx0ZXJJY29uIiwiYXBwZW5kVG8iLCJkcm9wZG93bkljb24iLCJwdCIsIndyYXBwZXIiLCJvblNjcm9sbCIsImNhbmNlbCIsInBhbmVsIiwib25Nb3VzZUVudGVyIiwib25Nb3VzZUxlYXZlIiwib25Ub3VjaFN0YXJ0Iiwib25Ub3VjaEVuZCJdLCJtYXBwaW5ncyI6IjtBQUFBLElBQUlBLE1BQU0sR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRUQsQ0FBQyxDQUFDQyxDQUFDLENBQUMsR0FBR0gsQ0FBQyxDQUFDRyxDQUFDLENBQUM7RUFDZixJQUFJSCxDQUFDLElBQUksSUFBSSxJQUFJLE9BQU9JLE1BQU0sQ0FBQ0sscUJBQXFCLEtBQUssVUFBVSxFQUMvRCxLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVQLENBQUMsR0FBR0MsTUFBTSxDQUFDSyxxQkFBcUIsQ0FBQ1QsQ0FBQyxDQUFDLEVBQUVVLENBQUMsR0FBR1AsQ0FBQyxDQUFDUSxNQUFNLEVBQUVE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UUFDRCtCLEtBQUssRUFBRTtVQUNMQyxZQUFZLEVBQUUsU0FBZEEsWUFBWUEsQ0FBQTtZQUFBLE9BQVF4QyxVQUFVLENBQUMsSUFBSSxDQUFDO1VBQUE7VUFDcEN5QyxZQUFZLEVBQUUsU0FBZEEsWUFBWUEsQ0FBQTtZQUFBLE9BQVF6QyxVQUFVLENBQUMsS0FBSyxDQUFDO1VBQUE7VUFDckMwQyxZQUFZLEVBQUUsU0FBZEEsWUFBWUEsQ0FBQTtZQUFBLE9BQVExQyxVQUFVLENBQUMsSUFBSSxDQUFDO1VBQUE7VUFDcEMyQyxVQUFVLEVBQUUsU0FBWkEsVUFBVUEsQ0FBQTtZQUFBLE9BQVEzQyxVQUFVLENBQUMsS0FBSyxDQUFDO1VBQUE7UURsTC9CO01BQ0o7SUNtTEgsQ0FBQSxDQUFBO0VBQ0QsQ0FBQSxDQUNZO0FBRXBCLENBQUM7QUFFRDFCLE1BQU0sQ0FBQ3ZELGNBQWMsR0FBR0EsY0FBYztBQUV0Qyw0QkFBZTlCLElBQUksQ0FBQ3FGLE1BQU0sQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL1NlbGVjdC9TZWxlY3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlUmVmLCB1c2VNZW1vLCB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VDYWxsYmFjaywgdXNlSW1wZXJhdGl2ZUhhbmRsZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC5pc2VxdWFsJztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2guZGVib3VuY2UnO1xuaW1wb3J0IHsgRHJvcGRvd24gfSBmcm9tICdwcmltZXJlYWN0L2Ryb3Bkb3duJztcbmltcG9ydCB7IE11bHRpU2VsZWN0IH0gZnJvbSAncHJpbWVyZWFjdC9tdWx0aXNlbGVjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vSWNvbnMnO1xuY29uc3QgU2VsZWN0V3JhcHBlciA9IG1lbW8ocHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgbGFiZWwsIG1lc3NhZ2UsIHJlcXVpcmVkLCBwcmVmaXhDbHMsIHdyYXBwZXJDbHMsIGxhYmVsQ2xzLCBtZXNzYWdlQ2xzLCBzdWNjZXNzLCBpbnZhbGlkLCBkaXNhYmxlZCwgY2hpbGRyZW4sIH0gPSBwcm9wcztcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIHJldHVybiBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcygnd3JhcHBlcicsIHdyYXBwZXJDbHMpLCBjaGlsZHJlbjogW2xhYmVsICYmIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdsYWJlbCcsIFtyZXF1aXJlZCAmJiBjbGFzc2VzKCdsYWJlbC1yZXF1aXJlZCcpLCBsYWJlbENsc10uam9pbignICcpKSwgY2hpbGRyZW46IGxhYmVsIH0pLCBjaGlsZHJlbiwgbWVzc2FnZSAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnbWVzc2FnZScsIFtcbiAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyA/IGNsYXNzZXMoJ21lc3NhZ2Utc3VjY2VzcycpIDogJycsXG4gICAgICAgICAgICAgICAgICAgIGludmFsaWQgPyBjbGFzc2VzKCdtZXNzYWdlLWVycm9yJykgOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZUNsc1xuICAgICAgICAgICAgICAgIF0uam9pbignICcpLnRyaW0oKSksIGNoaWxkcmVuOiBtZXNzYWdlIH0pXSB9KTtcbn0pO1xuY29uc3QgQ3VzdG9tRHJvcGRvd24gPSBwcm9wcyA9PiB7XG4gICAgY29uc3QgeyByZWYsIGRhdGFJZCwgbGFiZWwsIG1lc3NhZ2UsIHJlcXVpcmVkLCBwcmVmaXhDbHMgPSAnc2VsZWN0Jywgd3JhcHBlckNscywgbGFiZWxDbHMsIG1lc3NhZ2VDbHMsIHNpemUgPSAnbGFyZ2UnLCBzdWNjZXNzLCBpbnZhbGlkLCBkaXNhYmxlZCwgZWRpdGFibGUsIHBsYWNlaG9sZGVyID0gJycsIGNsYXNzTmFtZSA9ICcnLCBzZWxlY3RlZFRlbXBsYXRlLCB0YWlsVGVtcGxhdGUsIG9uQ2xpY2ssIG9uRm9jdXMsIG9uQmx1ciwgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgaXNDbGlja0luc2lkZSA9IHVzZVJlZihmYWxzZSk7XG4gICAgY29uc3QgZGF0YUlkUmVmID0gdXNlUmVmKGRhdGFJZCk7XG4gICAgY29uc3QgbGFzdEZvY3VzUmVmID0gdXNlUmVmKGZhbHNlKTtcbiAgICBjb25zdCBzZWxlY3RSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSB1c2VTdGF0ZSgnJyk7XG4gICAgY29uc3QgW2lzRm9jdXMsIHNldElzRm9jdXNdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IHNlbGVjdENscyA9IHVzZU1lbW8oKCkgPT4gY2xhc3Nlcyh2b2lkIDAsIFtcbiAgICAgICAgY2xhc3NlcyhzaXplKSxcbiAgICAgICAgY2xhc3NlcygnY3VzdG9tJyksXG4gICAgICAgIGlzRm9jdXMgPyBjbGFzc2VzKCdmb2N1cycpIDogJycsXG4gICAgICAgIHN1Y2Nlc3MgPyBjbGFzc2VzKCdzdWNjZXNzJykgOiAnJyxcbiAgICAgICAgaW52YWxpZCA/IGNsYXNzZXMoJ2ludmFsaWQnKSA6ICcnLFxuICAgICAgICBkaXNhYmxlZCA/IGNsYXNzZXMoJ2Rpc2FibGVkJykgOiAnJyxcbiAgICAgICAgZWRpdGFibGUgPyBjbGFzc2VzKCdlZGl0YWJsZScpIDogJycsXG4gICAgICAgIGNsYXNzTmFtZVxuICAgIF0uam9pbignICcpKSwgW3NpemUsIGlzRm9jdXMsIHN1Y2Nlc3MsIGludmFsaWQsIGRpc2FibGVkLCBlZGl0YWJsZSwgY2xhc3NOYW1lXSk7XG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsICgpID0+ICh7XG4gICAgICAgIGZvY3VzOiAoKSA9PiBzZXRJc0ZvY3VzKHRydWUpLFxuICAgICAgICBibHVyOiAoKSA9PiBzZXRJc0ZvY3VzKGZhbHNlKSxcbiAgICAgICAgZ2V0RE9NTm9kZTogKCkgPT4gc2VsZWN0UmVmLmN1cnJlbnRcbiAgICB9KSwgW3JlZl0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGRhdGFJZFJlZi5jdXJyZW50ID0gZGF0YUlkO1xuICAgIH0sIFtkYXRhSWRdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoaXNGb2N1cyAhPT0gbGFzdEZvY3VzUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGxhc3RGb2N1c1JlZi5jdXJyZW50ID0gaXNGb2N1cztcbiAgICAgICAgICAgIGlmIChpc0ZvY3VzKSB7XG4gICAgICAgICAgICAgICAgb25Gb2N1cyA9PT0gbnVsbCB8fCBvbkZvY3VzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sIFtpc0ZvY3VzLCBvbkZvY3VzLCBvbkJsdXJdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBmaW5kQ3VzdG9tRHJvcGRvd25EYXRhSWQgPSAodGFyZ2V0KSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICBpZiAoIWRhdGFJZFJlZi5jdXJyZW50KVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIGlmICgoKF9hID0gdGFyZ2V0ID09PSBudWxsIHx8IHRhcmdldCA9PT0gdm9pZCAwID8gdm9pZCAwIDogdGFyZ2V0LmRhdGFzZXQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5zZWxlY3RDdXN0b21Ecm9wZG93bklkKSA9PT0gZGF0YUlkUmVmLmN1cnJlbnQpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICBpZiAodGFyZ2V0ID09PSBkb2N1bWVudC5ib2R5IHx8IHRhcmdldCA9PT0gZG9jdW1lbnQpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gdGFyZ2V0LnBhcmVudE5vZGUgfHwgdGFyZ2V0LnBhcmVudEVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAoIXBhcmVudClcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm4gZmluZEN1c3RvbURyb3Bkb3duRGF0YUlkKHBhcmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHJlbW92ZUZvY3VzID0gKGUpID0+IHtcbiAgICAgICAgICAgIGlmIChpc0NsaWNrSW5zaWRlLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICBpc0NsaWNrSW5zaWRlLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZXRJc0ZvY3VzKHByZXYgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcHJldilcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIHJldHVybiBmaW5kQ3VzdG9tRHJvcGRvd25EYXRhSWQoZS50YXJnZXQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgcmVtb3ZlRm9jdXMpO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCByZW1vdmVGb2N1cyk7XG4gICAgICAgIH07XG4gICAgfSwgW10pO1xuICAgIHJldHVybiBfanN4KFNlbGVjdFdyYXBwZXIsIHsgbGFiZWw6IGxhYmVsLCBtZXNzYWdlOiBtZXNzYWdlLCByZXF1aXJlZDogcmVxdWlyZWQsIHByZWZpeENsczogcHJlZml4Q2xzLCB3cmFwcGVyQ2xzOiB3cmFwcGVyQ2xzLCBsYWJlbENsczogbGFiZWxDbHMsIG1lc3NhZ2VDbHM6IG1lc3NhZ2VDbHMsIHN1Y2Nlc3M6IHN1Y2Nlc3MsIGludmFsaWQ6IGludmFsaWQsIGRpc2FibGVkOiBkaXNhYmxlZCwgY2hpbGRyZW46IF9qc3hzKFwiZGl2XCIsIHsgcmVmOiBzZWxlY3RSZWYsIGNsYXNzTmFtZTogc2VsZWN0Q2xzLCBjb250ZW50RWRpdGFibGU6ICFkaXNhYmxlZCA/IGVkaXRhYmxlIDogZmFsc2UsIGF1dG9Gb2N1czogZWRpdGFibGUsIFwiZGF0YS1wbGFjZWhvbGRlclwiOiBwbGFjZWhvbGRlciwgXCJkYXRhLXZhbHVlXCI6IHZhbHVlLCBvbkNsaWNrOiAoZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkaXNhYmxlZClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGlmICghZWRpdGFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaXNDbGlja0luc2lkZS5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgc2V0SXNGb2N1cyhwcmV2ID0+ICFwcmV2KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgb25DbGljayA9PT0gbnVsbCB8fCBvbkNsaWNrID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNsaWNrKGUpO1xuICAgICAgICAgICAgfSwgb25JbnB1dDogZSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IHZhbCA9IGUuY3VycmVudFRhcmdldC5pbm5lclRleHQ7XG4gICAgICAgICAgICAgICAgaWYgKHZhbCA9PT0gJ1xcbicpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsID0gJyc7XG4gICAgICAgICAgICAgICAgICAgIGUuY3VycmVudFRhcmdldC5pbm5lclRleHQgPSAnJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2V0VmFsdWUodmFsKTtcbiAgICAgICAgICAgIH0sIGNoaWxkcmVuOiBbIWRpc2FibGVkICYmIGVkaXRhYmxlXG4gICAgICAgICAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgICAgICAgICA6IHR5cGVvZiBzZWxlY3RlZFRlbXBsYXRlID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHNlbGVjdGVkVGVtcGxhdGUoaXNGb2N1cylcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2N1c3RvbS1wbGFjZWhvbGRlcicpLCBjaGlsZHJlbjogcGxhY2Vob2xkZXIgfSksIGVkaXRhYmxlXG4gICAgICAgICAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgICAgICAgICA6IHR5cGVvZiB0YWlsVGVtcGxhdGUgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGFpbFRlbXBsYXRlKGlzRm9jdXMpXG4gICAgICAgICAgICAgICAgICAgICAgICA6IF9qc3goSWNvbnMsIHsgbmFtZTogJ2NoZXZyb25Eb3duJywgY29sb3I6ICcjMTMxMzEzJywgc2l6ZTogMjAsIHdyYXBwZXJDbHM6IGNsYXNzZXMoJ2N1c3RvbS10YWlsJywgaXNGb2N1cyA/IGNsYXNzZXMoJ2N1c3RvbS10YWlsLWZvY3VzJykgOiAnJykgfSldIH0pIH0pO1xufTtcbmV4cG9ydCBjb25zdCBTZWxlY3QgPSBwcm9wcyA9PiB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHsgaWQsIHJlZiwgbmFtZSwgbGFiZWwsIG1lc3NhZ2UsIHJlcXVpcmVkLCBwcmVmaXhDbHMgPSAnc2VsZWN0Jywgd3JhcHBlckNscywgbGFiZWxDbHMsIG1lc3NhZ2VDbHMsIHZhbHVlLCBzaXplID0gJ2xhcmdlJywgc3VjY2VzcywgaW52YWxpZCwgZGlzYWJsZWQsIHBsYWNlaG9sZGVyLCBjbGFzc05hbWUgPSAnJywgbXVsdGlwbGUsIG9wdGlvbnMsIHBhbmVsQ2xhc3NOYW1lLCBkZWZhdWx0VmFsdWUsIGl0ZW1UZW1wbGF0ZSwgb25DaGFuZ2UsIG9uSGlkZSwgb25TaG93LCB1bnNlbGVjdGFibGUgfSA9IHByb3BzLCByZXN0ID0gX19yZXN0KHByb3BzLCBbXCJpZFwiLCBcInJlZlwiLCBcIm5hbWVcIiwgXCJsYWJlbFwiLCBcIm1lc3NhZ2VcIiwgXCJyZXF1aXJlZFwiLCBcInByZWZpeENsc1wiLCBcIndyYXBwZXJDbHNcIiwgXCJsYWJlbENsc1wiLCBcIm1lc3NhZ2VDbHNcIiwgXCJ2YWx1ZVwiLCBcInNpemVcIiwgXCJzdWNjZXNzXCIsIFwiaW52YWxpZFwiLCBcImRpc2FibGVkXCIsIFwicGxhY2Vob2xkZXJcIiwgXCJjbGFzc05hbWVcIiwgXCJtdWx0aXBsZVwiLCBcIm9wdGlvbnNcIiwgXCJwYW5lbENsYXNzTmFtZVwiLCBcImRlZmF1bHRWYWx1ZVwiLCBcIml0ZW1UZW1wbGF0ZVwiLCBcIm9uQ2hhbmdlXCIsIFwib25IaWRlXCIsIFwib25TaG93XCIsIFwidW5zZWxlY3RhYmxlXCJdKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IFtzZWxlY3RlZCwgc2V0U2VsZWN0ZWRdID0gdXNlU3RhdGUoKF9hID0gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHZvaWQgMCA/IHZhbHVlIDogZGVmYXVsdFZhbHVlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBudWxsKTtcbiAgICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtpc0hvdmVyLCBzZXRJc0hvdmVyXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbaXNTY3JvbGxpbmcsIHNldElzU2Nyb2xsaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBzZWxlY3RSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgX3JlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBzZWxlY3RDbHMgPSB1c2VNZW1vKCgpID0+IGNsYXNzZXModm9pZCAwLCBbXG4gICAgICAgIGNsYXNzZXMoc2l6ZSksXG4gICAgICAgIGlzT3BlbiA/IGNsYXNzZXMoJ3Nob3cnKSA6ICcnLFxuICAgICAgICBzdWNjZXNzID8gY2xhc3Nlcygnc3VjY2VzcycpIDogJycsXG4gICAgICAgIGludmFsaWQgPyBjbGFzc2VzKCdpbnZhbGlkJykgOiAnJyxcbiAgICAgICAgZGlzYWJsZWQgPyBjbGFzc2VzKCdkaXNhYmxlZCcpIDogJycsXG4gICAgICAgIChBcnJheS5pc0FycmF5KHNlbGVjdGVkKSA/IHNlbGVjdGVkLmxlbmd0aCA6IHNlbGVjdGVkKSA/IGNsYXNzZXMoJ2ZpbGxlZCcpIDogJycsXG4gICAgICAgIGNsYXNzTmFtZVxuICAgIF0uam9pbignICcpKSwgW3NpemUsIGlzT3Blbiwgc3VjY2Vzcywgc2VsZWN0ZWQsIGludmFsaWQsIGRpc2FibGVkLCBjbGFzc05hbWVdKTtcbiAgICBjb25zdCBkZWJvdW5jZWRIYW5kbGVTY3JvbGwgPSBkZWJvdW5jZSgoKSA9PiBzZXRJc1Njcm9sbGluZyhmYWxzZSksIDUwMCk7XG4gICAgY29uc3QgU2VsZWN0Q29tcG9uZW50ID0gdXNlQ2FsbGJhY2soKHByb3BzKSA9PiBtdWx0aXBsZVxuICAgICAgICA/IF9qc3goTXVsdGlTZWxlY3QsIE9iamVjdC5hc3NpZ24oeyB1bnNlbGVjdGFibGU6IHVuc2VsZWN0YWJsZSwgc2hvd1NlbGVjdEFsbDogZmFsc2UsIGNoZWNrYm94SWNvbjogX2pzeChJY29ucywgeyBuYW1lOiAnY2hlY2snLCBzaXplOiAxMiwgY29sb3I6ICcjRkVGRUZFJyB9KSwgcmVtb3ZlSWNvbjogcHJvcHMgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgb25DbGljaywgb25LZXlEb3duLCB0YWJJbmRleCB9ID0gcHJvcHMuaWNvblByb3BzO1xuICAgICAgICAgICAgICAgIHJldHVybiBfanN4KEljb25zLCB7IG5hbWU6ICdjbG9zZScsIHNpemU6IDE2LCBjb2xvcjogJyMxMzEzMTMnLCB0YWJJbmRleDogdGFiSW5kZXgsIHdyYXBwZXJDbHM6IGNsYXNzZXMoJ3Rva2VuLXJlbW92ZS1pY29uJyksIG9uQ2xpY2s6IG9uQ2xpY2ssIG9uS2V5RG93bjogb25LZXlEb3duIH0pO1xuICAgICAgICAgICAgfSwgcGFuZWxIZWFkZXJUZW1wbGF0ZTogb3B0aW9ucyA9PiB7XG4gICAgICAgICAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kLCBfZTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGZpbHRlckVsZW1lbnQsIHByb3BzIH0gPSBvcHRpb25zO1xuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZE51bSA9IChfZCA9IChfYyA9IChfYiA9IChfYSA9IHByb3BzID09PSBudWxsIHx8IHByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwcm9wcy5tZXRhRGF0YSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnByb3BzKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IudmFsdWUpID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYy5sZW5ndGgpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IDA7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1oZWFkZXInKSwgY2hpbGRyZW46IFtfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtaGVhZGVyLWluZm8nKSwgY2hpbGRyZW46IFtfanN4cyhcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWhlYWRlci1pbmZvLWNvdW50JyksIGNoaWxkcmVuOiBbc2VsZWN0ZWROdW0sIFwiIHNlbGVjdGVkXCJdIH0pLCBfanN4cyhcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWhlYWRlci1pbmZvLWNsZWFyJyksIG9uQ2xpY2s6IGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy51cGRhdGVNb2RlbChlLCBbXSwgW10pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgY2hpbGRyZW46IFtfanN4KEljb25zLCB7IG5hbWU6ICdjbG9zZScsIHNpemU6IDE2LCBjb2xvcjogJyNBRTAwMDAnLCB3cmFwcGVyQ2xzOiBjbGFzc2VzKCdwYW5lbC1oZWFkZXItaW5mby1jbGVhci1pY29uJykgfSksIFwiQ2xlYXIgYWxsXCJdIH0pXSB9KSwgKF9lID0gZmlsdGVyRWxlbWVudCA9PT0gbnVsbCB8fCBmaWx0ZXJFbGVtZW50ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBmaWx0ZXJFbGVtZW50LnByb3BzKSA9PT0gbnVsbCB8fCBfZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2UuY2hpbGRyZW5dIH0pO1xuICAgICAgICAgICAgfSB9LCBwcm9wcykpXG4gICAgICAgIDogX2pzeChEcm9wZG93biwgT2JqZWN0LmFzc2lnbih7IGNvbGxhcHNlSWNvbjogbXVsdGlwbGUgPyB2b2lkIDAgOiAoKSA9PiBfanN4KEljb25zLCB7IG5hbWU6ICdjaGV2cm9uVXAnLCBjb2xvcjogJyMxMzEzMTMnLCBzaXplOiAyMCB9KSB9LCBwcm9wcykpLCBbbXVsdGlwbGVdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhaXNFcXVhbChzZWxlY3RlZCwgdmFsdWUpKSB7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9LCBbdmFsdWVdKTtcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiAhPT0gbnVsbCAmJiByZWYgIT09IHZvaWQgMCA/IHJlZiA6IF9yZWYsICgpID0+IHNlbGVjdFJlZi5jdXJyZW50KTtcbiAgICByZXR1cm4gKF9qc3goU2VsZWN0V3JhcHBlciwgeyBsYWJlbDogbGFiZWwsIG1lc3NhZ2U6IG1lc3NhZ2UsIHJlcXVpcmVkOiByZXF1aXJlZCwgcHJlZml4Q2xzOiBwcmVmaXhDbHMsIHdyYXBwZXJDbHM6IHdyYXBwZXJDbHMsIGxhYmVsQ2xzOiBsYWJlbENscywgbWVzc2FnZUNsczogbWVzc2FnZUNscywgc3VjY2Vzczogc3VjY2VzcywgaW52YWxpZDogaW52YWxpZCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBjaGlsZHJlbjogX2pzeChTZWxlY3RDb21wb25lbnQsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgaWQ6IGlkLCByZWY6IHNlbGVjdFJlZiwgbmFtZTogbmFtZSwgZmlsdGVyUGxhY2Vob2xkZXI6ICdTZWFyY2gnLCByZXF1aXJlZDogcmVxdWlyZWQsIGRpc2FibGVkOiBkaXNhYmxlZCwgaW52YWxpZDogaW52YWxpZCwgb3B0aW9uczogb3B0aW9ucywgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCB2YWx1ZTogc2VsZWN0ZWQgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IHNlbGVjdGVkLCBjbGFzc05hbWU6IHNlbGVjdENscywgaXRlbVRlbXBsYXRlOiAob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1pdGVtJyksIG9uQ2xpY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbXVsdGlwbGUgJiYgdW5zZWxlY3RhYmxlID09PSAnb24nICYmIG9wdGlvbi52YWx1ZSA9PT0gc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX2EgPSBzZWxlY3RSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sIGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtaXRlbS1sYWJlbCcpLCBjaGlsZHJlbjogaXRlbVRlbXBsYXRlID8gaXRlbVRlbXBsYXRlKG9wdGlvbikgOiBvcHRpb24ubGFiZWwgfSksIF9qc3goSWNvbnMsIHsgbmFtZTogJ2NoZWNrJywgc2l6ZTogMTYsIGNvbG9yOiAnIzA3MzM4NycgfSldIH0pO1xuICAgICAgICAgICAgfSwgZmlsdGVySWNvbjogX2pzeChJY29ucywgeyBuYW1lOiAnc2VhcmNoJywgc2l6ZTogMjAsIGNvbG9yOiAnIzEzMTMxMycsIHdyYXBwZXJDbHM6IGNsYXNzZXMoJ2ZpbHRlci1pY29uJykgfSksIHBhbmVsQ2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbCcsIFtcbiAgICAgICAgICAgICAgICBwYW5lbENsYXNzTmFtZSxcbiAgICAgICAgICAgICAgICBpc0hvdmVyICYmIGNsYXNzZXMoJ3BhbmVsLWhvdmVyJyksXG4gICAgICAgICAgICAgICAgaXNTY3JvbGxpbmcgJiYgY2xhc3NlcygncGFuZWwtc2Nyb2xsaW5nJyksXG4gICAgICAgICAgICAgICAgcmVzdC5hcHBlbmRUbyA9PT0gJ3NlbGYnICYmIGNsYXNzZXMoJ3BhbmVsLWFwcGVuZC1zZWxmJyksXG4gICAgICAgICAgICBdLmpvaW4oJyAnKSksIG9uQ2hhbmdlOiAoZSkgPT4ge1xuICAgICAgICAgICAgICAgIHNldFNlbGVjdGVkKGUudmFsdWUpO1xuICAgICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgICAgICAgICBvbkNoYW5nZSA9PT0gbnVsbCB8fCBvbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DaGFuZ2UoZSk7XG4gICAgICAgICAgICB9LCBvbkhpZGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRJc09wZW4oZmFsc2UpO1xuICAgICAgICAgICAgICAgIG9uSGlkZSA9PT0gbnVsbCB8fCBvbkhpZGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uSGlkZSgpO1xuICAgICAgICAgICAgfSwgb25TaG93OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SXNPcGVuKHRydWUpO1xuICAgICAgICAgICAgICAgIG9uU2hvdyA9PT0gbnVsbCB8fCBvblNob3cgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uU2hvdygpO1xuICAgICAgICAgICAgfSwgZHJvcGRvd25JY29uOiAoKSA9PiBfanN4KEljb25zLCB7IG5hbWU6ICdjaGV2cm9uRG93bicsIGNvbG9yOiAnIzEzMTMxMycsIHNpemU6IDIwIH0pLCBwdDoge1xuICAgICAgICAgICAgICAgIHdyYXBwZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgb25TY3JvbGw6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlYm91bmNlZEhhbmRsZVNjcm9sbC5jYW5jZWwoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldElzU2Nyb2xsaW5nKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVib3VuY2VkSGFuZGxlU2Nyb2xsKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHBhbmVsOiB7XG4gICAgICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcjogKCkgPT4gc2V0SXNIb3Zlcih0cnVlKSxcbiAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUxlYXZlOiAoKSA9PiBzZXRJc0hvdmVyKGZhbHNlKSxcbiAgICAgICAgICAgICAgICAgICAgb25Ub3VjaFN0YXJ0OiAoKSA9PiBzZXRJc0hvdmVyKHRydWUpLFxuICAgICAgICAgICAgICAgICAgICBvblRvdWNoRW5kOiAoKSA9PiBzZXRJc0hvdmVyKGZhbHNlKSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IH0pKSB9KSk7XG59O1xuU2VsZWN0LkN1c3RvbURyb3Bkb3duID0gQ3VzdG9tRHJvcGRvd247XG5leHBvcnQgZGVmYXVsdCBtZW1vKFNlbGVjdCk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
489
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwibWVtbyIsInVzZVJlZiIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZUNhbGxiYWNrIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsImlzRXF1YWwiLCJkZWJvdW5jZSIsIkRyb3Bkb3duIiwiTXVsdGlTZWxlY3QiLCJjbGFzc25hbWVzIiwiSWNvbnMiLCJTZWxlY3RXcmFwcGVyIiwicHJvcHMiLCJsYWJlbCIsIm1lc3NhZ2UiLCJyZXF1aXJlZCIsInByZWZpeENscyIsIndyYXBwZXJDbHMiLCJsYWJlbENscyIsIm1lc3NhZ2VDbHMiLCJzdWNjZXNzIiwiaW52YWxpZCIsImRpc2FibGVkIiwiY2hpbGRyZW4iLCJjbGFzc2VzIiwiY2xhc3NOYW1lIiwiam9pbiIsInRyaW0iLCJDdXN0b21Ecm9wZG93biIsInJlZiIsImRhdGFJZCIsIl9wcm9wcyRwcmVmaXhDbHMiLCJfcHJvcHMkc2l6ZSIsInNpemUiLCJlZGl0YWJsZSIsIl9wcm9wcyRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX3Byb3BzJGNsYXNzTmFtZSIsInNlbGVjdGVkVGVtcGxhdGUiLCJ0YWlsVGVtcGxhdGUiLCJvbkNsaWNrIiwib25Gb2N1cyIsIm9uQmx1ciIsImlzQ2xpY2tJbnNpZGUiLCJkYXRhSWRSZWYiLCJsYXN0Rm9jdXNSZWYiLCJzZWxlY3RSZWYiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJ2YWx1ZSIsInNldFZhbHVlIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJpc0ZvY3VzIiwic2V0SXNGb2N1cyIsInNlbGVjdENscyIsImZvY3VzIiwiYmx1ciIsImdldERPTU5vZGUiLCJjdXJyZW50IiwiZmluZEN1c3RvbURyb3Bkb3duRGF0YUlkIiwidGFyZ2V0IiwiX2EiLCJkYXRhc2V0Iiwic2VsZWN0Q3VzdG9tRHJvcGRvd25JZCIsImRvY3VtZW50IiwiYm9keSIsInBhcmVudCIsInBhcmVudE5vZGUiLCJwYXJlbnRFbGVtZW50IiwicmVtb3ZlRm9jdXMiLCJwcmV2IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjb250ZW50RWRpdGFibGUiLCJhdXRvRm9jdXMiLCJvbklucHV0IiwidmFsIiwiY3VycmVudFRhcmdldCIsImlubmVyVGV4dCIsIm5hbWUiLCJjb2xvciIsIlNlbGVjdCIsImlkIiwiX3Byb3BzJHByZWZpeENsczIiLCJfcHJvcHMkc2l6ZTIiLCJfcHJvcHMkY2xhc3NOYW1lMiIsIm11bHRpcGxlIiwib3B0aW9ucyIsInBhbmVsQ2xhc3NOYW1lIiwiZGVmYXVsdFZhbHVlIiwiaXRlbVRlbXBsYXRlIiwib25DaGFuZ2UiLCJvbkhpZGUiLCJvblNob3ciLCJ1bnNlbGVjdGFibGUiLCJyZXN0IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzZWxlY3RlZCIsInNldFNlbGVjdGVkIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJpc09wZW4iLCJzZXRJc09wZW4iLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMTAiLCJpc0hvdmVyIiwic2V0SXNIb3ZlciIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJpc1Njcm9sbGluZyIsInNldElzU2Nyb2xsaW5nIiwiX3JlZiIsIkFycmF5IiwiaXNBcnJheSIsImRlYm91bmNlZEhhbmRsZVNjcm9sbCIsInJlZnJlc2hET00iLCJfYiIsImVsZSIsImdldE92ZXJsYXkiLCJvcmlnaW5aSW5kZXgiLCJzdHlsZSIsInpJbmRleCIsInVuZGVmaW5lZCIsImNvbmNhdCIsInBhcnNlSW50Iiwic2V0VGltZW91dCIsIlNlbGVjdENvbXBvbmVudCIsImFzc2lnbiIsInNob3dTZWxlY3RBbGwiLCJjaGVja2JveEljb24iLCJyZW1vdmVJY29uIiwiX3Byb3BzJGljb25Qcm9wcyIsImljb25Qcm9wcyIsIm9uS2V5RG93biIsInRhYkluZGV4IiwicGFuZWxIZWFkZXJUZW1wbGF0ZSIsIl9jIiwiX2QiLCJfZSIsImZpbHRlckVsZW1lbnQiLCJzZWxlY3RlZE51bSIsIm1ldGFEYXRhIiwidXBkYXRlTW9kZWwiLCJjb2xsYXBzZUljb24iLCJoaWRlIiwic2hvdyIsImdldEVsZW1lbnQiLCJnZXRJbnB1dCIsImNsZWFyIiwiZ2V0Rm9jdXNJbnB1dCIsImdldFZpcnR1YWxTY3JvbGxlciIsImZpbHRlclBsYWNlaG9sZGVyIiwib3B0aW9uIiwiZmlsdGVySWNvbiIsImFwcGVuZFRvIiwiZHJvcGRvd25JY29uIiwicHQiLCJ3cmFwcGVyIiwib25TY3JvbGwiLCJjYW5jZWwiLCJwYW5lbCIsIm9uTW91c2VFbnRlciIsIm9uTW91c2VMZWF2ZSIsIm9uVG91Y2hTdGFydCIsIm9uVG91Y2hFbmQiXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFJQSxNQUFNLEdBQUksSUFBSSxJQUFJLElBQUksQ0FBQ0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlDLENBQUMsSUFBSUgsQ0FBQyxFQUFFLElBQUlJLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUMsSUFBSUYsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDL0VELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDLEdBQUdILENBQUMsQ0FBQ0csQ0FBQyxDQUFDO0VBQ2YsSUFBSUgsQ0FB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S0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBQW5JLElBQUEsQ0FBQTJFLEVBQUEsQ0FBSTtNQUFBLENBQUE7TUFDekNvRixJQUFJLEVBQUUsU0FBTkEsSUFBSUEsQ0FBQSxFQUFPO1FBQUEsSUFBQXBGLEVBQUEsRUFBQXdELEVBQUE7UUFBQyxPQUFBLENBQUFBLEVBQUEsR0FBQSxDQUFBeEQsRUFBQSxHQUFBakIsU0FBUyxDQUFDYyxPQUFPLE1BQUEsSUFBQSxJQUFBRyxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRW9GLElBQUksTUFBQSxJQUFBLElBQUE1QixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBQW5JLElBQUEsQ0FBQTJFLEVBQUEsQ0FBSTtNQUFBLENBQUE7TUFDdkNxRixJQUFJLEVBQUUsU0FBTkEsSUFBSUEsQ0FBQSxFQUFPO1FBQUEsSUFBQXJGLEVBQUEsRUFBQXdELEVBQUE7UUFBQyxPQUFBLENBQUFBLEVBQUEsR0FBQSxDQUFBeEQsRUFBQSxHQUFBakIsU0FBUyxDQUFDYyxPQUFPLE1BQUEsSUFBQSxJQUFBRyxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRXFGLElBQUksTUFBQSxJQUFBLElBQUE3QixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBQW5JLElBQUEsQ0FBQTJFLEVBQUEsQ0FBSTtNQUFBLENBQUE7TUFDdkNzRixVQUFVLEVBQUUsU0FBWkEsVUFBVUEsQ0FBQSxFQUFPO1FBQUEsSUFBQXRGLEVBQUEsRUFBQXdELEVBQUE7UUFBQyxPQUFBLENBQUFBLEVBQUEsR0FBQSxDQUFBeEQsRUFBQSxHQUFBakIsU0FBUyxDQUFDYyxPQUFPLE1BQUEsSUFBQSxJQUFBRyxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRXNGLFVBQVUsTUFBQSxJQUFBLElBQUE5QixFQUFBLEtB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Q1ZpQyxVQUFVLENBQUM7VUFBQSxPQUFNVixVQUFVLENBQUEsQ0FBRTtRQUFBLEdBQUUsQ0FBQyxDQUFDO01BQ25DLENBQUM7TUFDRHdDLFlBQVksRUFBRSxTQUFkQSxZQUFZQSxDQUFBO1FBQUEsT0FBUW5LLElBQUEsQ0FBQ2UsS0FBSyxFQUFBO1VBQUN1RSxJQUFJLEVBQUMsYUFBYTtVQUFDQyxLQUFLLEVBQUMsU0FBUztVQUFDakQsSUFBSSxFQUFFO1FBQUUsQ0FBQSxDQUFJO01BQUE7TUFDMUU4SCxFQUFFLEVBQUU7UUFDRkMsT0FBTyxFQUFFO1VBQ1BDLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFBLEVBQU87WUFDYjVDLHFCQUFxQixDQUFDNkMsTUFBTSxDQUFBLENBQUU7WUFDOUJqRCxjQUFjLENBQUMsSUFBSSxDQUFDO1lBQ3BCSSxxQkFBcUIsQ0FBQSxDQUFFO1VBQ3pCO1FEOUtJLENDK0tMO1FBQ0Q4QyxLQUFLLEVBQUU7VUFDTEMsWUFBWSxFQUFFLFNBQWRBLFlBQVlBLENBQUE7WUFBQSxPQUFRdkQsVUFBVSxDQUFDLElBQUksQ0FBQztVQUFBO1VBQ3BDd0QsWUFBWSxFQUFFLFNBQWRBLFlBQVlBLENBQUE7WUFBQSxPQUFReEQsVUFBVSxDQUFDLEtBQUssQ0FBQztVQUFBO1VBQ3JDeUQsWUFBWSxFQUFFLFNBQWRBLFlBQVlBLENBQUE7WUFBQSxPQUFRekQsVUFBVSxDQUFDLElBQUksQ0FBQztVQUFBO1VBQ3BDMEQsVUFBVSxFQUFFLFNBQVpBLFVBQVVBLENBQUE7WUFBQSxPQUFRMUQsVUFBVSxDQUFDLEtBQUssQ0FBQztVQUFBO1FEOUsvQjtNQUNKO0lDK0tILENBQUEsQ0FBQTtFQUNELENBQUEsQ0FDWTtBQUVwQixDQUFDO0FBRUQxQixNQUFNLENBQUN2RCxjQUFjLEdBQUdBLGNBQWM7QUFFdEMsNEJBQWU5QixJQUFJLENBQUNxRixNQUFNLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9TZWxlY3QvU2VsZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZVJlZiwgdXNlTWVtbywgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlQ2FsbGJhY2ssIHVzZUltcGVyYXRpdmVIYW5kbGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2guaXNlcXVhbCc7XG5pbXBvcnQgZGVib3VuY2UgZnJvbSAnbG9kYXNoLmRlYm91bmNlJztcbmltcG9ydCB7IERyb3Bkb3duIH0gZnJvbSAncHJpbWVyZWFjdC9kcm9wZG93bic7XG5pbXBvcnQgeyBNdWx0aVNlbGVjdCB9IGZyb20gJ3ByaW1lcmVhY3QvbXVsdGlzZWxlY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uL0ljb25zJztcbmNvbnN0IFNlbGVjdFdyYXBwZXIgPSBtZW1vKHByb3BzID0+IHtcbiAgICBjb25zdCB7IGxhYmVsLCBtZXNzYWdlLCByZXF1aXJlZCwgcHJlZml4Q2xzLCB3cmFwcGVyQ2xzLCBsYWJlbENscywgbWVzc2FnZUNscywgc3VjY2VzcywgaW52YWxpZCwgZGlzYWJsZWQsIGNoaWxkcmVuLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICByZXR1cm4gX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3dyYXBwZXInLCB3cmFwcGVyQ2xzKSwgY2hpbGRyZW46IFtsYWJlbCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnbGFiZWwnLCBbcmVxdWlyZWQgJiYgY2xhc3NlcygnbGFiZWwtcmVxdWlyZWQnKSwgbGFiZWxDbHNdLmpvaW4oJyAnKSksIGNoaWxkcmVuOiBsYWJlbCB9KSwgY2hpbGRyZW4sIG1lc3NhZ2UgJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ21lc3NhZ2UnLCBbXG4gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MgPyBjbGFzc2VzKCdtZXNzYWdlLXN1Y2Nlc3MnKSA6ICcnLFxuICAgICAgICAgICAgICAgICAgICBpbnZhbGlkID8gY2xhc3NlcygnbWVzc2FnZS1lcnJvcicpIDogJycsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VDbHNcbiAgICAgICAgICAgICAgICBdLmpvaW4oJyAnKS50cmltKCkpLCBjaGlsZHJlbjogbWVzc2FnZSB9KV0gfSk7XG59KTtcbmNvbnN0IEN1c3RvbURyb3Bkb3duID0gcHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgcmVmLCBkYXRhSWQsIGxhYmVsLCBtZXNzYWdlLCByZXF1aXJlZCwgcHJlZml4Q2xzID0gJ3NlbGVjdCcsIHdyYXBwZXJDbHMsIGxhYmVsQ2xzLCBtZXNzYWdlQ2xzLCBzaXplID0gJ2xhcmdlJywgc3VjY2VzcywgaW52YWxpZCwgZGlzYWJsZWQsIGVkaXRhYmxlLCBwbGFjZWhvbGRlciA9ICcnLCBjbGFzc05hbWUgPSAnJywgc2VsZWN0ZWRUZW1wbGF0ZSwgdGFpbFRlbXBsYXRlLCBvbkNsaWNrLCBvbkZvY3VzLCBvbkJsdXIsIH0gPSBwcm9wcztcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IGlzQ2xpY2tJbnNpZGUgPSB1c2VSZWYoZmFsc2UpO1xuICAgIGNvbnN0IGRhdGFJZFJlZiA9IHVzZVJlZihkYXRhSWQpO1xuICAgIGNvbnN0IGxhc3RGb2N1c1JlZiA9IHVzZVJlZihmYWxzZSk7XG4gICAgY29uc3Qgc2VsZWN0UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gdXNlU3RhdGUoJycpO1xuICAgIGNvbnN0IFtpc0ZvY3VzLCBzZXRJc0ZvY3VzXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBzZWxlY3RDbHMgPSB1c2VNZW1vKCgpID0+IGNsYXNzZXModm9pZCAwLCBbXG4gICAgICAgIGNsYXNzZXMoc2l6ZSksXG4gICAgICAgIGNsYXNzZXMoJ2N1c3RvbScpLFxuICAgICAgICBpc0ZvY3VzID8gY2xhc3NlcygnZm9jdXMnKSA6ICcnLFxuICAgICAgICBzdWNjZXNzID8gY2xhc3Nlcygnc3VjY2VzcycpIDogJycsXG4gICAgICAgIGludmFsaWQgPyBjbGFzc2VzKCdpbnZhbGlkJykgOiAnJyxcbiAgICAgICAgZGlzYWJsZWQgPyBjbGFzc2VzKCdkaXNhYmxlZCcpIDogJycsXG4gICAgICAgIGVkaXRhYmxlID8gY2xhc3NlcygnZWRpdGFibGUnKSA6ICcnLFxuICAgICAgICBjbGFzc05hbWVcbiAgICBdLmpvaW4oJyAnKSksIFtzaXplLCBpc0ZvY3VzLCBzdWNjZXNzLCBpbnZhbGlkLCBkaXNhYmxlZCwgZWRpdGFibGUsIGNsYXNzTmFtZV0pO1xuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiAoe1xuICAgICAgICBmb2N1czogKCkgPT4gc2V0SXNGb2N1cyh0cnVlKSxcbiAgICAgICAgYmx1cjogKCkgPT4gc2V0SXNGb2N1cyhmYWxzZSksXG4gICAgICAgIGdldERPTU5vZGU6ICgpID0+IHNlbGVjdFJlZi5jdXJyZW50XG4gICAgfSksIFtyZWZdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBkYXRhSWRSZWYuY3VycmVudCA9IGRhdGFJZDtcbiAgICB9LCBbZGF0YUlkXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKGlzRm9jdXMgIT09IGxhc3RGb2N1c1JlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBsYXN0Rm9jdXNSZWYuY3VycmVudCA9IGlzRm9jdXM7XG4gICAgICAgICAgICBpZiAoaXNGb2N1cykge1xuICAgICAgICAgICAgICAgIG9uRm9jdXMgPT09IG51bGwgfHwgb25Gb2N1cyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25Gb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgb25CbHVyID09PSBudWxsIHx8IG9uQmx1ciA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25CbHVyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LCBbaXNGb2N1cywgb25Gb2N1cywgb25CbHVyXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgZmluZEN1c3RvbURyb3Bkb3duRGF0YUlkID0gKHRhcmdldCkgPT4ge1xuICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgaWYgKCFkYXRhSWRSZWYuY3VycmVudClcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICBpZiAoKChfYSA9IHRhcmdldCA9PT0gbnVsbCB8fCB0YXJnZXQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHRhcmdldC5kYXRhc2V0KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc2VsZWN0Q3VzdG9tRHJvcGRvd25JZCkgPT09IGRhdGFJZFJlZi5jdXJyZW50KVxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgaWYgKHRhcmdldCA9PT0gZG9jdW1lbnQuYm9keSB8fCB0YXJnZXQgPT09IGRvY3VtZW50KVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IHRhcmdldC5wYXJlbnROb2RlIHx8IHRhcmdldC5wYXJlbnRFbGVtZW50O1xuICAgICAgICAgICAgaWYgKCFwYXJlbnQpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuIGZpbmRDdXN0b21Ecm9wZG93bkRhdGFJZChwYXJlbnQpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCByZW1vdmVGb2N1cyA9IChlKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNDbGlja0luc2lkZS5jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgaXNDbGlja0luc2lkZS5jdXJyZW50ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2V0SXNGb2N1cyhwcmV2ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXByZXYpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmluZEN1c3RvbURyb3Bkb3duRGF0YUlkKGUudGFyZ2V0KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHJlbW92ZUZvY3VzKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgcmVtb3ZlRm9jdXMpO1xuICAgICAgICB9O1xuICAgIH0sIFtdKTtcbiAgICByZXR1cm4gX2pzeChTZWxlY3RXcmFwcGVyLCB7IGxhYmVsOiBsYWJlbCwgbWVzc2FnZTogbWVzc2FnZSwgcmVxdWlyZWQ6IHJlcXVpcmVkLCBwcmVmaXhDbHM6IHByZWZpeENscywgd3JhcHBlckNsczogd3JhcHBlckNscywgbGFiZWxDbHM6IGxhYmVsQ2xzLCBtZXNzYWdlQ2xzOiBtZXNzYWdlQ2xzLCBzdWNjZXNzOiBzdWNjZXNzLCBpbnZhbGlkOiBpbnZhbGlkLCBkaXNhYmxlZDogZGlzYWJsZWQsIGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCB7IHJlZjogc2VsZWN0UmVmLCBjbGFzc05hbWU6IHNlbGVjdENscywgY29udGVudEVkaXRhYmxlOiAhZGlzYWJsZWQgPyBlZGl0YWJsZSA6IGZhbHNlLCBhdXRvRm9jdXM6IGVkaXRhYmxlLCBcImRhdGEtcGxhY2Vob2xkZXJcIjogcGxhY2Vob2xkZXIsIFwiZGF0YS12YWx1ZVwiOiB2YWx1ZSwgb25DbGljazogKGUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZGlzYWJsZWQpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBpZiAoIWVkaXRhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGlzQ2xpY2tJbnNpZGUuY3VycmVudCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHNldElzRm9jdXMocHJldiA9PiAhcHJldik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2sgPT09IG51bGwgfHwgb25DbGljayA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DbGljayhlKTtcbiAgICAgICAgICAgIH0sIG9uSW5wdXQ6IGUgPT4ge1xuICAgICAgICAgICAgICAgIGxldCB2YWwgPSBlLmN1cnJlbnRUYXJnZXQuaW5uZXJUZXh0O1xuICAgICAgICAgICAgICAgIGlmICh2YWwgPT09ICdcXG4nKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbCA9ICcnO1xuICAgICAgICAgICAgICAgICAgICBlLmN1cnJlbnRUYXJnZXQuaW5uZXJUZXh0ID0gJyc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNldFZhbHVlKHZhbCk7XG4gICAgICAgICAgICB9LCBjaGlsZHJlbjogWyFkaXNhYmxlZCAmJiBlZGl0YWJsZVxuICAgICAgICAgICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgICAgICAgICAgOiB0eXBlb2Ygc2VsZWN0ZWRUZW1wbGF0ZSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICAgICAgICAgICAgPyBzZWxlY3RlZFRlbXBsYXRlKGlzRm9jdXMpXG4gICAgICAgICAgICAgICAgICAgICAgICA6IF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjdXN0b20tcGxhY2Vob2xkZXInKSwgY2hpbGRyZW46IHBsYWNlaG9sZGVyIH0pLCBlZGl0YWJsZVxuICAgICAgICAgICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgICAgICAgICAgOiB0eXBlb2YgdGFpbFRlbXBsYXRlID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRhaWxUZW1wbGF0ZShpc0ZvY3VzKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBfanN4KEljb25zLCB7IG5hbWU6ICdjaGV2cm9uRG93bicsIGNvbG9yOiAnIzEzMTMxMycsIHNpemU6IDIwLCB3cmFwcGVyQ2xzOiBjbGFzc2VzKCdjdXN0b20tdGFpbCcsIGlzRm9jdXMgPyBjbGFzc2VzKCdjdXN0b20tdGFpbC1mb2N1cycpIDogJycpIH0pXSB9KSB9KTtcbn07XG5leHBvcnQgY29uc3QgU2VsZWN0ID0gcHJvcHMgPT4ge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCB7IGlkLCByZWYsIG5hbWUsIGxhYmVsLCBtZXNzYWdlLCByZXF1aXJlZCwgcHJlZml4Q2xzID0gJ3NlbGVjdCcsIHdyYXBwZXJDbHMsIGxhYmVsQ2xzLCBtZXNzYWdlQ2xzLCB2YWx1ZSwgc2l6ZSA9ICdsYXJnZScsIHN1Y2Nlc3MsIGludmFsaWQsIGRpc2FibGVkLCBwbGFjZWhvbGRlciwgY2xhc3NOYW1lID0gJycsIG11bHRpcGxlLCBvcHRpb25zLCBwYW5lbENsYXNzTmFtZSwgZGVmYXVsdFZhbHVlLCBpdGVtVGVtcGxhdGUsIG9uQ2hhbmdlLCBvbkhpZGUsIG9uU2hvdywgdW5zZWxlY3RhYmxlIH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1wiaWRcIiwgXCJyZWZcIiwgXCJuYW1lXCIsIFwibGFiZWxcIiwgXCJtZXNzYWdlXCIsIFwicmVxdWlyZWRcIiwgXCJwcmVmaXhDbHNcIiwgXCJ3cmFwcGVyQ2xzXCIsIFwibGFiZWxDbHNcIiwgXCJtZXNzYWdlQ2xzXCIsIFwidmFsdWVcIiwgXCJzaXplXCIsIFwic3VjY2Vzc1wiLCBcImludmFsaWRcIiwgXCJkaXNhYmxlZFwiLCBcInBsYWNlaG9sZGVyXCIsIFwiY2xhc3NOYW1lXCIsIFwibXVsdGlwbGVcIiwgXCJvcHRpb25zXCIsIFwicGFuZWxDbGFzc05hbWVcIiwgXCJkZWZhdWx0VmFsdWVcIiwgXCJpdGVtVGVtcGxhdGVcIiwgXCJvbkNoYW5nZVwiLCBcIm9uSGlkZVwiLCBcIm9uU2hvd1wiLCBcInVuc2VsZWN0YWJsZVwiXSk7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBbc2VsZWN0ZWQsIHNldFNlbGVjdGVkXSA9IHVzZVN0YXRlKChfYSA9IHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB2b2lkIDAgPyB2YWx1ZSA6IGRlZmF1bHRWYWx1ZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogbnVsbCk7XG4gICAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbaXNIb3Zlciwgc2V0SXNIb3Zlcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW2lzU2Nyb2xsaW5nLCBzZXRJc1Njcm9sbGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3Qgc2VsZWN0UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IF9yZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3Qgc2VsZWN0Q2xzID0gdXNlTWVtbygoKSA9PiBjbGFzc2VzKHZvaWQgMCwgW1xuICAgICAgICBjbGFzc2VzKHNpemUpLFxuICAgICAgICBpc09wZW4gPyBjbGFzc2VzKCdzaG93JykgOiAnJyxcbiAgICAgICAgc3VjY2VzcyA/IGNsYXNzZXMoJ3N1Y2Nlc3MnKSA6ICcnLFxuICAgICAgICBpbnZhbGlkID8gY2xhc3NlcygnaW52YWxpZCcpIDogJycsXG4gICAgICAgIGRpc2FibGVkID8gY2xhc3NlcygnZGlzYWJsZWQnKSA6ICcnLFxuICAgICAgICAoQXJyYXkuaXNBcnJheShzZWxlY3RlZCkgPyBzZWxlY3RlZC5sZW5ndGggOiBzZWxlY3RlZCkgPyBjbGFzc2VzKCdmaWxsZWQnKSA6ICcnLFxuICAgICAgICBjbGFzc05hbWVcbiAgICBdLmpvaW4oJyAnKSksIFtzaXplLCBpc09wZW4sIHN1Y2Nlc3MsIHNlbGVjdGVkLCBpbnZhbGlkLCBkaXNhYmxlZCwgY2xhc3NOYW1lXSk7XG4gICAgY29uc3QgZGVib3VuY2VkSGFuZGxlU2Nyb2xsID0gZGVib3VuY2UoKCkgPT4gc2V0SXNTY3JvbGxpbmcoZmFsc2UpLCA1MDApO1xuICAgIGNvbnN0IHJlZnJlc2hET00gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGNvbnN0IGVsZSA9IChfYiA9IChfYSA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZ2V0T3ZlcmxheSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EpO1xuICAgICAgICBpZiAoIWVsZSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3Qgb3JpZ2luWkluZGV4ID0gZWxlLnN0eWxlLnpJbmRleDtcbiAgICAgICAgaWYgKG9yaWdpblpJbmRleCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGVsZS5zdHlsZS56SW5kZXggPSBgJHtwYXJzZUludChvcmlnaW5aSW5kZXgpICsgMX1gO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgZWxlLnN0eWxlLnpJbmRleCA9IG9yaWdpblpJbmRleDtcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICB9XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IFNlbGVjdENvbXBvbmVudCA9IHVzZUNhbGxiYWNrKChwcm9wcykgPT4gbXVsdGlwbGVcbiAgICAgICAgPyBfanN4KE11bHRpU2VsZWN0LCBPYmplY3QuYXNzaWduKHsgdW5zZWxlY3RhYmxlOiB1bnNlbGVjdGFibGUsIHNob3dTZWxlY3RBbGw6IGZhbHNlLCBjaGVja2JveEljb246IF9qc3goSWNvbnMsIHsgbmFtZTogJ2NoZWNrJywgc2l6ZTogMTIsIGNvbG9yOiAnI0ZFRkVGRScgfSksIHJlbW92ZUljb246IHByb3BzID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IG9uQ2xpY2ssIG9uS2V5RG93biwgdGFiSW5kZXggfSA9IHByb3BzLmljb25Qcm9wcztcbiAgICAgICAgICAgICAgICByZXR1cm4gX2pzeChJY29ucywgeyBuYW1lOiAnY2xvc2UnLCBzaXplOiAxNiwgY29sb3I6ICcjMTMxMzEzJywgdGFiSW5kZXg6IHRhYkluZGV4LCB3cmFwcGVyQ2xzOiBjbGFzc2VzKCd0b2tlbi1yZW1vdmUtaWNvbicpLCBvbkNsaWNrOiBvbkNsaWNrLCBvbktleURvd246IG9uS2V5RG93biB9KTtcbiAgICAgICAgICAgIH0sIHBhbmVsSGVhZGVyVGVtcGxhdGU6IG9wdGlvbnMgPT4ge1xuICAgICAgICAgICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZCwgX2U7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBmaWx0ZXJFbGVtZW50LCBwcm9wcyB9ID0gb3B0aW9ucztcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWROdW0gPSAoX2QgPSAoX2MgPSAoX2IgPSAoX2EgPSBwcm9wcyA9PT0gbnVsbCB8fCBwcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcHJvcHMubWV0YURhdGEpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5wcm9wcykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLnZhbHVlKSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2MubGVuZ3RoKSAhPT0gbnVsbCAmJiBfZCAhPT0gdm9pZCAwID8gX2QgOiAwO1xuICAgICAgICAgICAgICAgIHJldHVybiBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtaGVhZGVyJyksIGNoaWxkcmVuOiBbX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWhlYWRlci1pbmZvJyksIGNoaWxkcmVuOiBbX2pzeHMoXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1oZWFkZXItaW5mby1jb3VudCcpLCBjaGlsZHJlbjogW3NlbGVjdGVkTnVtLCBcIiBzZWxlY3RlZFwiXSB9KSwgX2pzeHMoXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1oZWFkZXItaW5mby1jbGVhcicpLCBvbkNsaWNrOiBlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMudXBkYXRlTW9kZWwoZSwgW10sIFtdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIGNoaWxkcmVuOiBbX2pzeChJY29ucywgeyBuYW1lOiAnY2xvc2UnLCBzaXplOiAxNiwgY29sb3I6ICcjQUUwMDAwJywgd3JhcHBlckNsczogY2xhc3NlcygncGFuZWwtaGVhZGVyLWluZm8tY2xlYXItaWNvbicpIH0pLCBcIkNsZWFyIGFsbFwiXSB9KV0gfSksIChfZSA9IGZpbHRlckVsZW1lbnQgPT09IG51bGwgfHwgZmlsdGVyRWxlbWVudCA9PT0gdm9pZCAwID8gdm9pZCAwIDogZmlsdGVyRWxlbWVudC5wcm9wcykgPT09IG51bGwgfHwgX2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9lLmNoaWxkcmVuXSB9KTtcbiAgICAgICAgICAgIH0gfSwgcHJvcHMpKVxuICAgICAgICA6IF9qc3goRHJvcGRvd24sIE9iamVjdC5hc3NpZ24oeyBjb2xsYXBzZUljb246IG11bHRpcGxlID8gdm9pZCAwIDogKCkgPT4gX2pzeChJY29ucywgeyBuYW1lOiAnY2hldnJvblVwJywgY29sb3I6ICcjMTMxMzEzJywgc2l6ZTogMjAgfSkgfSwgcHJvcHMpKSwgW211bHRpcGxlXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgIWlzRXF1YWwoc2VsZWN0ZWQsIHZhbHVlKSkge1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWQodmFsdWUpO1xuICAgICAgICB9XG4gICAgfSwgW3ZhbHVlXSk7XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmICE9PSBudWxsICYmIHJlZiAhPT0gdm9pZCAwID8gcmVmIDogX3JlZiwgKCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICByZXR1cm4gKG11bHRpcGxlID8ge1xuICAgICAgICAgICAgcHJvcHM6IChfYSA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EucHJvcHMsXG4gICAgICAgICAgICBmb2N1czogKCkgPT4geyB2YXIgX2EsIF9iOyByZXR1cm4gKF9iID0gKF9hID0gc2VsZWN0UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EpOyB9LFxuICAgICAgICAgICAgaGlkZTogKCkgPT4geyB2YXIgX2EsIF9iOyByZXR1cm4gKF9iID0gKF9hID0gc2VsZWN0UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5oaWRlKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSk7IH0sXG4gICAgICAgICAgICBzaG93OiAoKSA9PiB7IHZhciBfYSwgX2I7IHJldHVybiAoX2IgPSAoX2EgPSBzZWxlY3RSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnNob3cpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hKTsgfSxcbiAgICAgICAgICAgIGdldEVsZW1lbnQ6ICgpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuIChfYiA9IChfYSA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZ2V0RWxlbWVudCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EpOyB9LFxuICAgICAgICAgICAgZ2V0SW5wdXQ6ICgpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuIChfYiA9IChfYSA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZ2V0SW5wdXQpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hKTsgfSxcbiAgICAgICAgICAgIGdldE92ZXJsYXk6ICgpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuIChfYiA9IChfYSA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZ2V0T3ZlcmxheSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EpOyB9LFxuICAgICAgICB9IDoge1xuICAgICAgICAgICAgcHJvcHM6IChfYiA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IucHJvcHMsXG4gICAgICAgICAgICBjbGVhcjogKCkgPT4geyB2YXIgX2EsIF9iOyByZXR1cm4gKF9iID0gKF9hID0gc2VsZWN0UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jbGVhcikgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EpOyB9LFxuICAgICAgICAgICAgZm9jdXM6ICgpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuIChfYiA9IChfYSA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZm9jdXMpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hKTsgfSxcbiAgICAgICAgICAgIGhpZGU6ICgpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuIChfYiA9IChfYSA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuaGlkZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EpOyB9LFxuICAgICAgICAgICAgc2hvdzogKCkgPT4geyB2YXIgX2EsIF9iOyByZXR1cm4gKF9iID0gKF9hID0gc2VsZWN0UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5zaG93KSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSk7IH0sXG4gICAgICAgICAgICBnZXRFbGVtZW50OiAoKSA9PiB7IHZhciBfYSwgX2I7IHJldHVybiAoX2IgPSAoX2EgPSBzZWxlY3RSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmdldEVsZW1lbnQpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hKTsgfSxcbiAgICAgICAgICAgIGdldElucHV0OiAoKSA9PiB7IHZhciBfYSwgX2I7IHJldHVybiAoX2IgPSAoX2EgPSBzZWxlY3RSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmdldElucHV0KSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSk7IH0sXG4gICAgICAgICAgICBnZXRPdmVybGF5OiAoKSA9PiB7IHZhciBfYSwgX2I7IHJldHVybiAoX2IgPSAoX2EgPSBzZWxlY3RSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmdldE92ZXJsYXkpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hKTsgfSxcbiAgICAgICAgICAgIGdldEZvY3VzSW5wdXQ6ICgpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuIChfYiA9IChfYSA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZ2V0Rm9jdXNJbnB1dCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EpOyB9LFxuICAgICAgICAgICAgZ2V0VmlydHVhbFNjcm9sbGVyOiAoKSA9PiB7IHZhciBfYSwgX2I7IHJldHVybiAoX2IgPSAoX2EgPSBzZWxlY3RSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmdldFZpcnR1YWxTY3JvbGxlcikgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EpOyB9LFxuICAgICAgICB9KTtcbiAgICB9LCBbbXVsdGlwbGVdKTtcbiAgICByZXR1cm4gKF9qc3goU2VsZWN0V3JhcHBlciwgeyBsYWJlbDogbGFiZWwsIG1lc3NhZ2U6IG1lc3NhZ2UsIHJlcXVpcmVkOiByZXF1aXJlZCwgcHJlZml4Q2xzOiBwcmVmaXhDbHMsIHdyYXBwZXJDbHM6IHdyYXBwZXJDbHMsIGxhYmVsQ2xzOiBsYWJlbENscywgbWVzc2FnZUNsczogbWVzc2FnZUNscywgc3VjY2Vzczogc3VjY2VzcywgaW52YWxpZDogaW52YWxpZCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBjaGlsZHJlbjogX2pzeChTZWxlY3RDb21wb25lbnQsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgaWQ6IGlkLCByZWY6IHNlbGVjdFJlZiwgbmFtZTogbmFtZSwgZmlsdGVyUGxhY2Vob2xkZXI6ICdTZWFyY2gnLCByZXF1aXJlZDogcmVxdWlyZWQsIGRpc2FibGVkOiBkaXNhYmxlZCwgaW52YWxpZDogaW52YWxpZCwgb3B0aW9uczogb3B0aW9ucywgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCB2YWx1ZTogc2VsZWN0ZWQgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IHNlbGVjdGVkLCBjbGFzc05hbWU6IHNlbGVjdENscywgaXRlbVRlbXBsYXRlOiAob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1pdGVtJyksIG9uQ2xpY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbXVsdGlwbGUgJiYgdW5zZWxlY3RhYmxlID09PSAnb24nICYmIG9wdGlvbi52YWx1ZSA9PT0gc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX2EgPSBzZWxlY3RSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sIGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtaXRlbS1sYWJlbCcpLCBjaGlsZHJlbjogaXRlbVRlbXBsYXRlID8gaXRlbVRlbXBsYXRlKG9wdGlvbikgOiBvcHRpb24ubGFiZWwgfSksIF9qc3goSWNvbnMsIHsgbmFtZTogJ2NoZWNrJywgc2l6ZTogMTYsIGNvbG9yOiAnIzA3MzM4NycgfSldIH0pO1xuICAgICAgICAgICAgfSwgZmlsdGVySWNvbjogX2pzeChJY29ucywgeyBuYW1lOiAnc2VhcmNoJywgc2l6ZTogMjAsIGNvbG9yOiAnIzEzMTMxMycsIHdyYXBwZXJDbHM6IGNsYXNzZXMoJ2ZpbHRlci1pY29uJykgfSksIHBhbmVsQ2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbCcsIFtcbiAgICAgICAgICAgICAgICBwYW5lbENsYXNzTmFtZSxcbiAgICAgICAgICAgICAgICBpc0hvdmVyICYmIGNsYXNzZXMoJ3BhbmVsLWhvdmVyJyksXG4gICAgICAgICAgICAgICAgaXNTY3JvbGxpbmcgJiYgY2xhc3NlcygncGFuZWwtc2Nyb2xsaW5nJyksXG4gICAgICAgICAgICAgICAgcmVzdC5hcHBlbmRUbyA9PT0gJ3NlbGYnICYmIGNsYXNzZXMoJ3BhbmVsLWFwcGVuZC1zZWxmJyksXG4gICAgICAgICAgICBdLmpvaW4oJyAnKSksIG9uQ2hhbmdlOiAoZSkgPT4ge1xuICAgICAgICAgICAgICAgIHNldFNlbGVjdGVkKGUudmFsdWUpO1xuICAgICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgICAgICAgICBvbkNoYW5nZSA9PT0gbnVsbCB8fCBvbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DaGFuZ2UoZSk7XG4gICAgICAgICAgICB9LCBvbkhpZGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRJc09wZW4oZmFsc2UpO1xuICAgICAgICAgICAgICAgIG9uSGlkZSA9PT0gbnVsbCB8fCBvbkhpZGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uSGlkZSgpO1xuICAgICAgICAgICAgfSwgb25TaG93OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SXNPcGVuKHRydWUpO1xuICAgICAgICAgICAgICAgIG9uU2hvdyA9PT0gbnVsbCB8fCBvblNob3cgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uU2hvdygpO1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVmcmVzaERPTSgpLCAwKTtcbiAgICAgICAgICAgIH0sIGRyb3Bkb3duSWNvbjogKCkgPT4gX2pzeChJY29ucywgeyBuYW1lOiAnY2hldnJvbkRvd24nLCBjb2xvcjogJyMxMzEzMTMnLCBzaXplOiAyMCB9KSwgcHQ6IHtcbiAgICAgICAgICAgICAgICB3cmFwcGVyOiB7XG4gICAgICAgICAgICAgICAgICAgIG9uU2Nyb2xsOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWJvdW5jZWRIYW5kbGVTY3JvbGwuY2FuY2VsKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRJc1Njcm9sbGluZyh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlYm91bmNlZEhhbmRsZVNjcm9sbCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBwYW5lbDoge1xuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI6ICgpID0+IHNldElzSG92ZXIodHJ1ZSksXG4gICAgICAgICAgICAgICAgICAgIG9uTW91c2VMZWF2ZTogKCkgPT4gc2V0SXNIb3ZlcihmYWxzZSksXG4gICAgICAgICAgICAgICAgICAgIG9uVG91Y2hTdGFydDogKCkgPT4gc2V0SXNIb3Zlcih0cnVlKSxcbiAgICAgICAgICAgICAgICAgICAgb25Ub3VjaEVuZDogKCkgPT4gc2V0SXNIb3ZlcihmYWxzZSksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSB9KSkgfSkpO1xufTtcblNlbGVjdC5DdXN0b21Ecm9wZG93biA9IEN1c3RvbURyb3Bkb3duO1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhTZWxlY3QpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|