@projectcor/maia-components 2.11.100-10 → 2.11.100-3
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/lib/components/atoms/MAIAInput/MAIAInput.js +3 -11
- package/lib/components/atoms/MAIAInput/styles.js +2 -2
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.js +1 -3
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.styles.js +6 -9
- package/package.json +1 -1
|
@@ -50,9 +50,6 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
50
50
|
var TOOL_CHIP_EXIT_MS = 220;
|
|
51
51
|
var SLASH_DROPDOWN_WIDTH_PX = 340;
|
|
52
52
|
var SLASH_DROPDOWN_LEFT_OFFSET_PX = 24;
|
|
53
|
-
var SLASH_DROPDOWN_MAX_HEIGHT_PX = 416;
|
|
54
|
-
var SLASH_DROPDOWN_GAP_ABOVE_INPUT_PX = 4;
|
|
55
|
-
var SLASH_DROPDOWN_VIEWPORT_EDGE_PX = 8;
|
|
56
53
|
export var MAIAInput = function MAIAInput(_ref) {
|
|
57
54
|
var _agent$entity, _contextChip$items, _contextChip$items2, _agent$connectors, _agent$model_display_, _contextChip$items3;
|
|
58
55
|
var onSendMessage = _ref.onSendMessage,
|
|
@@ -174,8 +171,7 @@ export var MAIAInput = function MAIAInput(_ref) {
|
|
|
174
171
|
var slashDropdownZIndex = useMaiaTaskPanelZIndex(1200, 'overlay');
|
|
175
172
|
var _useState19 = useState({
|
|
176
173
|
bottom: 0,
|
|
177
|
-
left: 0
|
|
178
|
-
maxHeight: SLASH_DROPDOWN_MAX_HEIGHT_PX
|
|
174
|
+
left: 0
|
|
179
175
|
}),
|
|
180
176
|
_useState20 = _slicedToArray(_useState19, 2),
|
|
181
177
|
slashDropdownPos = _useState20[0],
|
|
@@ -187,12 +183,9 @@ export var MAIAInput = function MAIAInput(_ref) {
|
|
|
187
183
|
var viewportH = window.innerHeight;
|
|
188
184
|
var viewportW = window.innerWidth;
|
|
189
185
|
var left = Math.max(8, Math.min(viewportW - SLASH_DROPDOWN_WIDTH_PX - 8, rect.left + SLASH_DROPDOWN_LEFT_OFFSET_PX));
|
|
190
|
-
var availableHeightPx = rect.top - SLASH_DROPDOWN_GAP_ABOVE_INPUT_PX - SLASH_DROPDOWN_VIEWPORT_EDGE_PX;
|
|
191
|
-
var maxHeight = Math.min(SLASH_DROPDOWN_MAX_HEIGHT_PX, Math.max(0, availableHeightPx));
|
|
192
186
|
setSlashDropdownPos({
|
|
193
187
|
left: left,
|
|
194
|
-
bottom: viewportH - rect.top +
|
|
195
|
-
maxHeight: maxHeight
|
|
188
|
+
bottom: viewportH - rect.top + 4
|
|
196
189
|
});
|
|
197
190
|
}, [wrapperRef]);
|
|
198
191
|
useLayoutEffect(function () {
|
|
@@ -1037,10 +1030,9 @@ export var MAIAInput = function MAIAInput(_ref) {
|
|
|
1037
1030
|
onClose: handleCloseSlashDropdown,
|
|
1038
1031
|
bottom: slashDropdownPos.bottom,
|
|
1039
1032
|
left: slashDropdownPos.left,
|
|
1040
|
-
maxHeight: slashDropdownPos.maxHeight,
|
|
1041
1033
|
zIndex: slashDropdownZIndex,
|
|
1042
1034
|
anchorRef: wrapperRef
|
|
1043
1035
|
}), document.body)]
|
|
1044
1036
|
});
|
|
1045
1037
|
};
|
|
1046
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZUxheW91dEVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsImNyZWF0ZVBvcnRhbCIsIlBvcG92ZXIiLCJDaGVjayIsIkNyb3NzIiwiVG9vbHRpcCIsIkFjdGl2ZVRvb2xDaGlwSWNvbkJ1dHRvbiIsIkFjdGl2ZVRvb2xDaGlwTGFiZWwiLCJBY3RpdmVUb29sQ2hpcFJvb3QiLCJQbHVzTWVudURpdmlkZXIiLCJQbHVzTWVudUlubmVyQ29sdW1uIiwiUGx1c01lbnVJdGVtQnV0dG9uIiwiUGx1c01lbnVJdGVtTGFiZWwiLCJQbHVzTWVudVBhcGVyIiwiUGx1c01lbnVUb29sc1JvdyIsIlBsdXNUb2dnbGVCdXR0b24iLCJTQ0lucHV0Q2hpcHNSb3ciLCJTQ0lucHV0TWV0YUljb25CdXR0b24iLCJTQ0lucHV0TWV0YUluZGljYXRvcnMiLCJTQ01JQXR0YWNobWVudCIsIlNDTUlBdHRhY2htZW50RGVsZXRlSWNvbiIsIlNDTUlBdHRhY2htZW50RmlsZUljb24iLCJTQ01JQXR0YWNobWVudEljb24iLCJTQ01JQXR0YWNobWVudE5hbWUiLCJTdHlsZWRNQUlBSW5wdXRXcmFwcGVyIiwiU3R5bGVkTUFJQVNlbmRCdXR0b24iLCJTdHlsZWRNQUlBTWFpblRvb2xiYXJHcmlkIiwiU0NJbnB1dEVkaXRvckNlbGwiLCJTQ0lucHV0VG9vbGJhclJvdyIsIlN0eWxlZE1BSUFQbHVzVG9vbGJhckNlbGwiLCJTdHlsZWRNQUlBU2VuZFRvb2xiYXJDZWxsIiwiU3R5bGVkTUFJQVN0b3BCdXR0b24iLCJTdHlsZWRNQUlBU3RvcEljb24iLCJTdHlsZWRNQUlBRHJvcE92ZXJsYXkiLCJnZXRNYWlhSW5wdXRFZGl0b3JNYXhIZWlnaHQiLCJNQUlBX0lOUFVUX1RPT0xCQVJfUk9XX0hFSUdIVF9QWCIsInVzZUdsb2JhbENvbnRleHQiLCJNb2RhbEZpbGVFeGNlZWRzIiwiU2xhc2hDb21tYW5kRHJvcGRvd24iLCJ1c2VTbGFzaENvbW1hbmRzIiwicmVzb2x2ZVF1aWNrQWN0aW9uVHlwZSIsInVzZVQiLCJNYWlhSW5wdXRBZGRJY29uIiwiTWFpYUlucHV0QXR0YWNoSWNvbiIsIk1haWFJbnB1dEF0dGFjaG1lbnRJbWFnZUljb24iLCJNYWlhSW5wdXREZWVwU2VhcmNoSWNvbiIsIkNvckFjY2Vzc0ljb24iLCJNYWlhSW5wdXRNZW50aW9uSWNvbiIsIk1haWFJbnB1dFJvYm90SWNvbiIsIk1haWFJbnB1dFNlbmRJY29uIiwiTWFpYUlucHV0U2xhc2hJY29uIiwiTWFpYUlucHV0V2ViU2VhcmNoSWNvbiIsIkVWRU5UUyIsInVzZUV2ZW50IiwiZ2V0Q2hhdFRvb2xzTWVudUFnZW50VHlwZSIsIk1BSUFfQ0hBVF9JTlBVVF9VSSIsImFsbG93ZWRGaWxlVHlwZXMiLCJmaWxlVHlwZXMiLCJNQVhfRklMRV9TSVpFX01CX01BSUFfVklTSU9OIiwiTUFYX0ZJTEVfU0laRV9NQl9PTEQiLCJNQVhfRklMRV9TSVpFX01CX0FVRElPIiwiTUFYX0NIQVRfSU5QVVRfQVRUQUNITUVOVFMiLCJBUFBDVUVTX0VWRU5UUyIsInRyYWNrQXBwY3Vlc0V2ZW50IiwiQ2hpcCIsIkNvbnRleHRNZW50aW9uRWRpdG9yIiwidXNlTWFpYVRhc2tQYW5lbFpJbmRleCIsInVzZU1lbnRpb25Qb3BvdmVyIiwiZGF0YVRyYW5zZmVySGFzRmlsZXMiLCJmaWxlc0Zyb21EYXRhVHJhbnNmZXIiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJUT09MX0NISVBfRVhJVF9NUyIsIlNMQVNIX0RST1BET1dOX1dJRFRIX1BYIiwiU0xBU0hfRFJPUERPV05fTEVGVF9PRkZTRVRfUFgiLCJTTEFTSF9EUk9QRE9XTl9NQVhfSEVJR0hUX1BYIiwiU0xBU0hfRFJPUERPV05fR0FQX0FCT1ZFX0lOUFVUX1BYIiwiU0xBU0hfRFJPUERPV05fVklFV1BPUlRfRURHRV9QWCIsIk1BSUFJbnB1dCIsIl9yZWYiLCJfYWdlbnQkZW50aXR5IiwiX2NvbnRleHRDaGlwJGl0ZW1zIiwiX2NvbnRleHRDaGlwJGl0ZW1zMiIsIl9hZ2VudCRjb25uZWN0b3JzIiwiX2FnZW50JG1vZGVsX2Rpc3BsYXlfIiwiX2NvbnRleHRDaGlwJGl0ZW1zMyIsIm9uU2VuZE1lc3NhZ2UiLCJjbGFzc05hbWUiLCJkaXNhYmxlZCIsImlzU3RyZWFtaW5nIiwiaXNXcml0aW5nIiwib25TdG9wR2VuZXJhdGlvbiIsInBsYWNlaG9sZGVyIiwib25DaGFuZ2UiLCJfcmVmJGFsaWduQnV0dG9ucyIsImFsaWduQnV0dG9ucyIsIm9uRmlsZUF0dGFjaCIsIm9uRGVsZXRlQXR0YWNobWVudCIsIl9yZWYkYXR0YWNobWVudHMiLCJhdHRhY2htZW50cyIsImNoYXRJZCIsIm5ld0NoYXRLZXkiLCJ0b29sdGlwWkluZGV4IiwiZXh0ZXJuYWxQb3BvdmVyQW5jaG9yUmVmIiwicG9wb3ZlckFuY2hvclJlZiIsImxheW91dE1vZGUiLCJjb250ZXh0Q2hpcCIsIl91c2VUIiwidCIsImVkaXRvclJlZiIsImZpbGVJbnB1dFJlZiIsImNoaXBzUm93UmVmIiwidG9vbGJhclJvd1JlZiIsImludGVybmFsV3JhcHBlclJlZiIsIndyYXBwZXJSZWYiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJoYXNUeXBpbmdQcmVzZW5jZSIsInNldEhhc1R5cGluZ1ByZXNlbmNlIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJjaGlwc1Jvd0hlaWdodCIsInNldENoaXBzUm93SGVpZ2h0IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJ0b29sYmFyUm93SGVpZ2h0Iiwic2V0VG9vbGJhclJvd0hlaWdodCIsIl91c2VTdGF0ZTciLCJpc09wZW4iLCJleGNsdWRlZEZpbGVzIiwiZXhjZWVkZWRGaWxlcyIsImZpbGVTaXplcyIsIl91c2VTdGF0ZTgiLCJtb2RhbFByb3BzIiwic2V0TW9kYWxQcm9wcyIsImV2ZW50QW1wbGl0dWRlIiwiX3VzZUdsb2JhbENvbnRleHQiLCJ0b2dnbGVXZWJTZWFyY2giLCJpc1dlYlNlYXJjaEFjdGl2ZSIsInRvZ2dsZURlZXBTZWFyY2giLCJpc0RlZXBTZWFyY2hBY3RpdmUiLCJhZ2VudCIsImluaXRpYWxEcmFmdCIsImRlZXBMaW5rU2VuZFBlbmRpbmdSZWYiLCJwbHVzTWVudVpJbmRleCIsImluaXRpYWxEcmFmdEFwcGxpZWRSZWYiLCJfdXNlTWVudGlvblBvcG92ZXIiLCJwb3BvdmVyT3BlbiIsInJlc2V0TWVudGlvbk9wZW5UcmFja2luZyIsImhhbmRsZVRyaWdnZXIiLCJoYW5kbGVQb3BvdmVyS2V5RG93biIsImhhbmRsZUtleURvd24iLCJwb3BvdmVyTm9kZSIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwicGx1c01lbnVBbmNob3IiLCJzZXRQbHVzTWVudUFuY2hvciIsIl91c2VTdGF0ZTEiLCJfdXNlU3RhdGUxMCIsImFjdGl2ZVRvb2xDaGlwSG92ZXJlZCIsInNldEFjdGl2ZVRvb2xDaGlwSG92ZXJlZCIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJ0b29sQ2hpcEV4aXRpbmciLCJzZXRUb29sQ2hpcEV4aXRpbmciLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0IiwiaXNGaWxlRHJhZ0FjdGl2ZSIsInNldElzRmlsZURyYWdBY3RpdmUiLCJ0b29sQ2hpcEV4aXRUaW1lclJlZiIsImZpbGVEcmFnQ291bnRlclJlZiIsInNlYXJjaE1vZGVBY3RpdmVSZWYiLCJ3ZWIiLCJkZWVwIiwicGx1c01lbnVPcGVuIiwiQm9vbGVhbiIsInByZXZpb3VzQWdlbnRJZFJlZiIsInVuZGVmaW5lZCIsInByZXZpb3VzQ2hhdElkUmVmIiwicHJldmlvdXNOZXdDaGF0S2V5UmVmIiwicHJldmlvdXNMYXlvdXRNb2RlUmVmIiwiYW5hbHl0aWNzQWdlbnRUeXBlIiwiYW5hbHl0aWNzQ2xvbmVFbnRpdHlQYXlsb2FkIiwidHlwZSIsImVudGl0eSIsIl91c2VTbGFzaENvbW1hbmRzIiwiaWQiLCJzbGFzaENvbW1hbmRzIiwiY29tbWFuZHMiLCJfdXNlU3RhdGUxNSIsIl91c2VTdGF0ZTE2Iiwic2hvd1NsYXNoRHJvcGRvd24iLCJzZXRTaG93U2xhc2hEcm9wZG93biIsIl91c2VTdGF0ZTE3IiwiX3VzZVN0YXRlMTgiLCJzbGFzaFF1ZXJ5Iiwic2V0U2xhc2hRdWVyeSIsInNsYXNoTWVudVdhc09wZW5SZWYiLCJzbGFzaERyb3Bkb3duWkluZGV4IiwiX3VzZVN0YXRlMTkiLCJib3R0b20iLCJsZWZ0IiwibWF4SGVpZ2h0IiwiX3VzZVN0YXRlMjAiLCJzbGFzaERyb3Bkb3duUG9zIiwic2V0U2xhc2hEcm9wZG93blBvcyIsInBvc2l0aW9uU2xhc2hEcm9wZG93biIsIl93cmFwcGVyUmVmJGN1cnJlbnQiLCJyZWN0IiwiY3VycmVudCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsIndpZHRoIiwidmlld3BvcnRIIiwid2luZG93IiwiaW5uZXJIZWlnaHQiLCJ2aWV3cG9ydFciLCJpbm5lcldpZHRoIiwiTWF0aCIsIm1heCIsIm1pbiIsImF2YWlsYWJsZUhlaWdodFB4IiwidG9wIiwiaGFuZGxlciIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwic2NoZWR1bGVJbnB1dEZvY3VzQWZ0ZXJUb29sQWN0aW9uIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwic2V0VGltZW91dCIsIl9lZGl0b3JSZWYkY3VycmVudCIsImZvY3VzIiwiY2xvc2VQbHVzTWVudSIsImNhbmNlbFBlbmRpbmdUb29sQ2hpcEV4aXQiLCJjbGVhclRpbWVvdXQiLCJoYW5kbGVQbHVzQnV0dG9uTW91c2VEb3duIiwiZSIsInByZXZlbnREZWZhdWx0IiwiaGFuZGxlUGx1c0J1dHRvbkNsaWNrIiwic3RvcFByb3BhZ2F0aW9uIiwiY3VycmVudFRhcmdldCIsImFpQ2hhdFBsdXNPcGVuIiwiX29iamVjdFNwcmVhZCIsImFnZW50X3R5cGUiLCJoYW5kbGVNZW50aW9uQnV0dG9uQ2xpY2siLCJfZWRpdG9yUmVmJGN1cnJlbnQyIiwiaW5zZXJ0TWVudGlvblRyaWdnZXIiLCJoYW5kbGVQbHVzTWVudUF0dGFjaCIsIl9maWxlSW5wdXRSZWYkY3VycmVudCIsImFpQ2hhdFRvb2xzIiwib3B0aW9uIiwibGVuZ3RoIiwiY2xpY2siLCJiZWdpblRvb2xDaGlwRXhpdCIsIndhc1dlYiIsIndhc0RlZXAiLCJfc2VhcmNoTW9kZUFjdGl2ZVJlZiQiLCJoYW5kbGVQbHVzTWVudVdlYlNlYXJjaCIsImhhbmRsZVBsdXNNZW51RGVlcFNlYXJjaCIsImhhbmRsZVBsdXNNZW51UXVpY2tBY3Rpb25zIiwiX2VkaXRvclJlZiRjdXJyZW50MyIsImluc2VydFNsYXNoVHJpZ2dlciIsIl9lZGl0b3JSZWYkY3VycmVudDQiLCJfZWRpdG9yUmVmJGN1cnJlbnQ1IiwiZHJhZnQiLCJ0cmltIiwic2V0UGxhaW5UZXh0IiwiX2VkaXRvclJlZiRjdXJyZW50NiIsInNlbmREaXNhYmxlZCIsImFnZW50Q2hhbmdlZCIsInByZXZpb3VzQ2hhdElkIiwiY3VycmVudENoYXRJZCIsImNoYXRDaGFuZ2VkIiwiY2hhbmdlZEZyb21OZXdDaGF0VG9PbGRDaGF0IiwibmV3Q2hhdFN0YXJ0ZWQiLCJpc0luaXRpYWxNb3VudCIsImRlbGF5IiwiX2VkaXRvclJlZiRjdXJyZW50NyIsInByZXZpb3VzTGF5b3V0TW9kZSIsInRpbWVvdXRJZCIsIl9lZGl0b3JSZWYkY3VycmVudDgiLCJpc1NwZWNpYWxpc3RBZ2VudCIsIm9ic2VydmVyIiwiSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiLCJfcmVmMiIsIl9yZWYzIiwiZW50cnkiLCJpc0ludGVyc2VjdGluZyIsIm1haWFDb250ZXh0TWVudGlvbkluaXQiLCJkaXNjb25uZWN0IiwidGhyZXNob2xkIiwib2JzZXJ2ZSIsImhhbmRsZVNlc3Npb25DaGFuZ2UiLCJfZWRpdG9yUmVmJGN1cnJlbnQ5IiwiY2xlYXIiLCJkb2N1bWVudCIsImhhbmRsZVJlZm9jdXMiLCJfZWRpdG9yUmVmJGN1cnJlbnQwIiwiaGFuZGxlU2VuZE1lc3NhZ2UiLCJfZWRpdG9yUmVmJGN1cnJlbnQxIiwiX3N0YXRlJHRleHQiLCJfc3RhdGUkbWVudGlvbnMiLCJfZWRpdG9yUmVmJGN1cnJlbnQxMCIsInN0YXRlIiwic2VyaWFsaXplIiwidGV4dCIsIm1lbnRpb25zIiwiaGFuZGxlU2VsZWN0U2xhc2hDb21tYW5kIiwiY29tbWFuZCIsIl9lZGl0b3JSZWYkY3VycmVudDExIiwiX3N0YXRlJHRleHQyIiwiX2VkaXRvclJlZiRjdXJyZW50MTMiLCJhaUNoYXRRdWlja0FjdGlvblNlbGVjdCIsInR5cGVfcXVpY2tfYWN0aW9uIiwib3JpZ2luX3F1aWNrX2FjdGlvbiIsInRyaWdnZXJQYXJ0IiwiY29uY2F0IiwiYmVmb3JlVHJpZ2dlciIsImVuZHNXaXRoIiwic2xpY2UiLCJpc0VtcHR5QmVmb3JlVHJpZ2dlciIsIl9lZGl0b3JSZWYkY3VycmVudDEyIiwidGl0bGUiLCJpbnNlcnRTbGFzaENvbW1hbmQiLCJsYWJlbCIsImhhbmRsZUNsb3NlU2xhc2hEcm9wZG93biIsImhhbmRsZUVkaXRvcklucHV0IiwiX3JlZjQiLCJ0cmlnZ2VyIiwic2xhc2hUcmlnZ2VyIiwiYWN0aXZlIiwiYWlDaGF0UXVpY2tBY3Rpb25PcGVuIiwicXVlcnkiLCJrZXkiLCJzaGlmdEtleSIsImFkZEZpbGVzIiwiaW5jb21pbmciLCJmaWxlc0luc2VydGVkIiwiaXNOZXdGb3JtYXQiLCJleHRlbnNpb24iLCJpbmNsdWRlcyIsImlzT2xkRm9ybWF0IiwiaXNBdWRpb0Zvcm1hdCIsImZvckVhY2giLCJmaWxlIiwiX2ZpbGVOYW1lUGFydHMkcG9wIiwiZXhjbHVkZWRGaWxlIiwiZmlsZU5hbWVQYXJ0cyIsIm5hbWUiLCJzcGxpdCIsImZpbGVFeHRlbnNpb24iLCJwb3AiLCJ0b0xvd2VyQ2FzZSIsInNpemUiLCJwdXNoIiwidHlwZUZpbGUiLCJwYXJzZWRGaWxlIiwiRmlsZSIsImhhbmRsZUZpbGVTZWxlY3QiLCJmaWxlcyIsInRhcmdldCIsIkFycmF5IiwiZnJvbSIsInZhbHVlIiwicmVzZXRGaWxlRHJhZyIsImhhbmRsZURyYWdFbnRlciIsImRhdGFUcmFuc2ZlciIsImhhbmRsZURyYWdMZWF2ZSIsImhhbmRsZURyYWdPdmVyIiwiZHJvcEVmZmVjdCIsImhhbmRsZURyb3AiLCJoYW5kbGVQYXN0ZUZpbGVzIiwiaGFuZGxlV3JhcHBlclBhc3RlIiwiX3dyYXBwZXJSZWYkY3VycmVudDIiLCJlZGl0b3JFbCIsInF1ZXJ5U2VsZWN0b3IiLCJjb250YWlucyIsImNsaXBib2FyZERhdGEiLCJoYW5kbGVEZWxldGVBdHRhY2htZW50IiwiZmlsZUlkIiwiaGFuZGxlU3RvcEdlbmVyYXRpb24iLCJhaUNoYXRTdG9wUmVzcG9uc2UiLCJzaG93Q2hpcHNSb3ciLCJpdGVtcyIsImNoaXBzRWwiLCJ0b29sYmFyRWwiLCJ1cGRhdGVIZWlnaHRzIiwibmV4dENoaXBzIiwiY2VpbCIsImhlaWdodCIsIm5leHRUb29sYmFyIiwicHJldiIsIlJlc2l6ZU9ic2VydmVyIiwiZWRpdG9yTWF4SGVpZ2h0IiwiY2hpcHNSb3dIZWlnaHRQeCIsInRvb2xiYXJSb3dIZWlnaHRQeCIsInRvb2xiYXJJY29uQ29sb3IiLCJwbHVzTWVudUljb25Db2xvciIsIm1lbnVJY29uIiwiaXNDdXN0b21BZ2VudCIsImhhc0NvckFjY2VzcyIsImNvbm5lY3RvcnMiLCJzb21lIiwiY29ubmVjdG9yIiwiZ3JvdXAiLCJzbHVncyIsInNsdWciLCJhZ2VudE1vZGVsTmFtZSIsIm1vZGVsX2Rpc3BsYXlfbmFtZSIsInNob3dDdXN0b21NZXRhSW5kaWNhdG9ycyIsInNob3dNZW50aW9uQnV0dG9uIiwiYWN0aXZlVG9vbENoaXBMZWFkaW5nSWNvbiIsImNvbG9yIiwiY2hpcENsb3NlSWNvbiIsImNoaWxkcmVuIiwicmVmIiwiaGFzQXR0YWNobWVudHMiLCIkZmlsZURyYWdBY3RpdmUiLCJvblBhc3RlIiwib25EcmFnRW50ZXIiLCJvbkRyYWdMZWF2ZSIsIm9uRHJhZ092ZXIiLCJvbkRyb3AiLCJsZWFkaW5nSWNvbiIsIm1hcCIsImF0dGFjaG1lbnQiLCJpbmRleCIsIl9hdHRhY2htZW50JHR5cGUiLCJpc0ltYWdlIiwic3RhcnRzV2l0aCIsInRlc3QiLCJjaGlwSWNvbiIsInpJbmRleCIsImRlZmF1bHRWYWx1ZSIsIm9uQ2xpY2siLCJvbklucHV0Iiwib25LZXlEb3duIiwib25QYXN0ZUZpbGVzIiwiJG1lbnVPcGVuIiwib25Nb3VzZURvd24iLCJvcGVuIiwiYW5jaG9yRWwiLCJvbkNsb3NlIiwiZGlzYWJsZUF1dG9Gb2N1cyIsImRpc2FibGVFbmZvcmNlRm9jdXMiLCJkaXNhYmxlUmVzdG9yZUZvY3VzIiwiYW5jaG9yT3JpZ2luIiwidmVydGljYWwiLCJob3Jpem9udGFsIiwidHJhbnNmb3JtT3JpZ2luIiwic3giLCJzbG90UHJvcHMiLCJwYXBlciIsImVsZXZhdGlvbiIsIm92ZXJmbG93IiwiYm9yZGVyUmFkaXVzIiwiYm94U2hhZG93IiwiYmFja2dyb3VuZENvbG9yIiwibWFyZ2luVG9wIiwiJGhvdmVyZWQiLCIkZXhpdGluZyIsIm9uTW91c2VFbnRlciIsIm9uTW91c2VMZWF2ZSIsIiRjbG9zZVNob3duIiwibW9kZWwiLCJzdHlsZSIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwiaGFzVmFsdWVzIiwibXVsdGlwbGUiLCJhY2NlcHQiLCJib2R5Iiwib25TZWxlY3QiLCJhbmNob3JSZWYiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9NQUlBSW5wdXQvTUFJQUlucHV0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1yZXN0cmljdGVkLXN5bnRheCAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tY29udGludWUgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXZvaWQgKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L25vLWFycmF5LWluZGV4LWtleSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tbG9uZWx5LWlmICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBwcmVmZXItZGVzdHJ1Y3R1cmluZyAqL1xuLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvY2xpY2stZXZlbnRzLWhhdmUta2V5LWV2ZW50cyAqL1xuLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvbm8tc3RhdGljLWVsZW1lbnQtaW50ZXJhY3Rpb25zICovXG5pbXBvcnQge1xuICBDaGFuZ2VFdmVudCxcbiAgQ2xpcGJvYXJkRXZlbnQsXG4gIERyYWdFdmVudCxcbiAgS2V5Ym9hcmRFdmVudCxcbiAgTW91c2VFdmVudCxcbiAgUmVhY3ROb2RlLFxuICBNdXRhYmxlUmVmT2JqZWN0LFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VMYXlvdXRFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAncmVhY3QtZG9tJ1xuaW1wb3J0IHsgUG9wb3ZlciB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwnXG5pbXBvcnQgeyBDaGVjayB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZWNrJ1xuaW1wb3J0IHsgQ3Jvc3MgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9Dcm9zcydcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcblxuaW1wb3J0IHtcbiAgQWN0aXZlVG9vbENoaXBJY29uQnV0dG9uLFxuICBBY3RpdmVUb29sQ2hpcExhYmVsLFxuICBBY3RpdmVUb29sQ2hpcFJvb3QsXG4gIFBsdXNNZW51RGl2aWRlcixcbiAgUGx1c01lbnVJbm5lckNvbHVtbixcbiAgUGx1c01lbnVJdGVtQnV0dG9uLFxuICBQbHVzTWVudUl0ZW1MYWJlbCxcbiAgUGx1c01lbnVQYXBlcixcbiAgUGx1c01lbnVUb29sc1JvdyxcbiAgUGx1c1RvZ2dsZUJ1dHRvbixcbiAgU0NJbnB1dENoaXBzUm93LFxuICBTQ0lucHV0TWV0YUljb25CdXR0b24sXG4gIFNDSW5wdXRNZXRhSW5kaWNhdG9ycyxcbiAgU0NNSUF0dGFjaG1lbnQsXG4gIFNDTUlBdHRhY2htZW50RGVsZXRlSWNvbixcbiAgU0NNSUF0dGFjaG1lbnRGaWxlSWNvbixcbiAgU0NNSUF0dGFjaG1lbnRJY29uLFxuICBTQ01JQXR0YWNobWVudE5hbWUsXG4gIFN0eWxlZE1BSUFJbnB1dFdyYXBwZXIsXG4gIFN0eWxlZE1BSUFTZW5kQnV0dG9uLFxuICBTdHlsZWRNQUlBTWFpblRvb2xiYXJHcmlkLFxuICBTQ0lucHV0RWRpdG9yQ2VsbCxcbiAgU0NJbnB1dFRvb2xiYXJSb3csXG4gIFN0eWxlZE1BSUFQbHVzVG9vbGJhckNlbGwsXG4gIFN0eWxlZE1BSUFTZW5kVG9vbGJhckNlbGwsXG4gIFN0eWxlZE1BSUFTdG9wQnV0dG9uLFxuICBTdHlsZWRNQUlBU3RvcEljb24sXG4gIFN0eWxlZE1BSUFEcm9wT3ZlcmxheSxcbn0gZnJvbSAnLi9zdHlsZXMnXG5pbXBvcnQgeyBnZXRNYWlhSW5wdXRFZGl0b3JNYXhIZWlnaHQsIE1BSUFfSU5QVVRfVE9PTEJBUl9ST1dfSEVJR0hUX1BYIH0gZnJvbSAnLi9tYWlhSW5wdXRMYXlvdXQnXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IE1vZGFsRmlsZUV4Y2VlZHMgfSBmcm9tICcuLi8uLi9vcmdhbmlzbXMvTW9kYWxGaWxlRXhjZWVkcydcbmltcG9ydCB7IFNsYXNoQ29tbWFuZERyb3Bkb3duIH0gZnJvbSAnLi4vU2xhc2hDb21tYW5kRHJvcGRvd24nXG5pbXBvcnQgeyB1c2VTbGFzaENvbW1hbmRzIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlU2xhc2hDb21tYW5kcydcbmltcG9ydCB7IHJlc29sdmVRdWlja0FjdGlvblR5cGUgfSBmcm9tICcuLi8uLi8uLi91dGlscy9ob3Vyc1BsYW5uZXJRdWlja0FjdGlvblR5cGUnXG5pbXBvcnQgdHlwZSB7IEFjdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL0FjdGlvbidcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuaW1wb3J0IHsgTWFpYUlucHV0QWRkSWNvbiB9IGZyb20gJy4uL2ljb25zL01haWFJbnB1dEFkZEljb24nXG5pbXBvcnQgeyBNYWlhSW5wdXRBdHRhY2hJY29uIH0gZnJvbSAnLi4vaWNvbnMvTWFpYUlucHV0QXR0YWNoSWNvbidcbmltcG9ydCB7IE1haWFJbnB1dEF0dGFjaG1lbnRJbWFnZUljb24gfSBmcm9tICcuLi9pY29ucy9NYWlhSW5wdXRBdHRhY2htZW50SW1hZ2VJY29uJ1xuaW1wb3J0IHsgTWFpYUlucHV0RGVlcFNlYXJjaEljb24gfSBmcm9tICcuLi9pY29ucy9NYWlhSW5wdXREZWVwU2VhcmNoSWNvbidcbmltcG9ydCB7IENvckFjY2Vzc0ljb24gfSBmcm9tICcuLi9pY29ucy9Db3JBY2Nlc3NJY29uJ1xuaW1wb3J0IHsgTWFpYUlucHV0TWVudGlvbkljb24gfSBmcm9tICcuLi9pY29ucy9NYWlhSW5wdXRNZW50aW9uSWNvbidcbmltcG9ydCB7IE1haWFJbnB1dFJvYm90SWNvbiB9IGZyb20gJy4uL2ljb25zL01haWFJbnB1dFJvYm90SWNvbidcbmltcG9ydCB7IE1haWFJbnB1dFNlbmRJY29uIH0gZnJvbSAnLi4vaWNvbnMvTWFpYUlucHV0U2VuZEljb24nXG5pbXBvcnQgeyBNYWlhSW5wdXRTbGFzaEljb24gfSBmcm9tICcuLi9pY29ucy9NYWlhSW5wdXRTbGFzaEljb24nXG5pbXBvcnQgeyBNYWlhSW5wdXRXZWJTZWFyY2hJY29uIH0gZnJvbSAnLi4vaWNvbnMvTWFpYUlucHV0V2ViU2VhcmNoSWNvbidcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7IGdldENoYXRUb29sc01lbnVBZ2VudFR5cGUgfSBmcm9tICcuLi8uLi8uLi91dGlscy9oaXRsQW5hbHl0aWNzJ1xuaW1wb3J0IHsgTUFJQV9DSEFUX0lOUFVUX1VJIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL2NvbmZpZydcbmltcG9ydCB7XG4gIGFsbG93ZWRGaWxlVHlwZXMsXG4gIGZpbGVUeXBlcyxcbiAgTUFYX0ZJTEVfU0laRV9NQl9NQUlBX1ZJU0lPTixcbiAgTUFYX0ZJTEVfU0laRV9NQl9PTEQsXG4gIE1BWF9GSUxFX1NJWkVfTUJfQVVESU8sXG4gIE1BWF9DSEFUX0lOUFVUX0FUVEFDSE1FTlRTLFxufSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvZm9ybWF0RXh0ZW5zaW9ucydcbmltcG9ydCB7IEFQUENVRVNfRVZFTlRTLCB0cmFja0FwcGN1ZXNFdmVudCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FwcGN1ZXMnXG5pbXBvcnQgeyBDaGlwIH0gZnJvbSAnLi4vQ2hpcCdcbmltcG9ydCB7IENvbnRleHRNZW50aW9uRWRpdG9yLCBDb250ZXh0TWVudGlvbkVkaXRvckhhbmRsZSB9IGZyb20gJy4uL0NvbnRleHRNZW50aW9uRWRpdG9yJ1xuaW1wb3J0IHsgdXNlTWFpYVRhc2tQYW5lbFpJbmRleCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZU1haWFUYXNrUGFuZWxaSW5kZXgnXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWN5Y2xlXG5pbXBvcnQgeyB1c2VNZW50aW9uUG9wb3ZlciB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZU1lbnRpb25Qb3BvdmVyJ1xuaW1wb3J0IHsgQ29udGV4dEVudGl0eVR5cGUsIENvbnRleHRNZW50aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvY29udGV4dE1lbnRpb24nXG5pbXBvcnQgeyBkYXRhVHJhbnNmZXJIYXNGaWxlcywgZmlsZXNGcm9tRGF0YVRyYW5zZmVyIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY2hhdElucHV0RmlsZXMnXG5cbmNvbnN0IFRPT0xfQ0hJUF9FWElUX01TID0gMjIwXG5jb25zdCBTTEFTSF9EUk9QRE9XTl9XSURUSF9QWCA9IDM0MFxuY29uc3QgU0xBU0hfRFJPUERPV05fTEVGVF9PRkZTRVRfUFggPSAyNFxuY29uc3QgU0xBU0hfRFJPUERPV05fTUFYX0hFSUdIVF9QWCA9IDQxNlxuY29uc3QgU0xBU0hfRFJPUERPV05fR0FQX0FCT1ZFX0lOUFVUX1BYID0gNFxuY29uc3QgU0xBU0hfRFJPUERPV05fVklFV1BPUlRfRURHRV9QWCA9IDhcblxudHlwZSBBdHRhY2htZW50RmlsZSA9IHtcbiAgZmlsZTogRmlsZVxuICBvcmlnaW5hbEZpbGU/OiBGaWxlXG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIHNpemU6IG51bWJlclxuICB0eXBlOiBzdHJpbmdcbiAgaWNvbj86IFJlYWN0Tm9kZVxufVxuXG50eXBlIE1BSUFJbnB1dFByb3BzID0ge1xuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIG9uU2VuZE1lc3NhZ2U6IChcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdLFxuICAgIG1lbnRpb25zPzogQ29udGV4dE1lbnRpb25bXSxcbiAgICBmYXFJZD86IHN0cmluZyxcbiAgICBhZ2VudFN1Z2dlc3Rpb25JZD86IHN0cmluZyxcbiAgICBmdWFJZD86IHN0cmluZyxcbiAgICBzY0lkPzogc3RyaW5nXG4gICkgPT4gdm9pZFxuICBvblN0b3BHZW5lcmF0aW9uPzogKCgpID0+IHZvaWQpIHwgbnVsbFxuICBpc1N0cmVhbWluZz86IGJvb2xlYW5cbiAgaXNXcml0aW5nPzogYm9vbGVhblxuICBwbGFjZWhvbGRlcj86IHN0cmluZ1xuICBvbkNoYW5nZT86ICgpID0+IHZvaWRcbiAgYWxpZ25CdXR0b25zPzogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJ1xuICBvbkZpbGVBdHRhY2g/OiAoZmlsZTogRmlsZSkgPT4gdm9pZFxuICBvbkRlbGV0ZUF0dGFjaG1lbnQ/OiAoZmlsZUlkOiBzdHJpbmcpID0+IHZvaWRcbiAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdXG4gIGNoYXRJZD86IHN0cmluZ1xuICBuZXdDaGF0S2V5PzogbnVtYmVyXG4gIHRvb2x0aXBaSW5kZXg/OiBudW1iZXJcbiAgLyoqIEV4cG9uZSBlbCB3cmFwcGVyIGRlbCBpbnB1dCBwYXJhIGFuY2xhciBwb3BvdmVycyAobWVuY2lvbmVzLCBwaW4gZGUgY29udGV4dG8pLiAqL1xuICBwb3BvdmVyQW5jaG9yUmVmPzogTXV0YWJsZVJlZk9iamVjdDxIVE1MRGl2RWxlbWVudCB8IG51bGw+XG4gIGxheW91dE1vZGU/OiAnc2lkZWJhcicgfCAnZnVsbHNjcmVlbicgfCAnZmxvYXRpbmcnXG4gIC8qKiBDaGlwIGRlIGNvbnRleHRvICh0YXJlYS9wcm95ZWN0by9jbGllbnRlL2dsb2JhbCkgbW9zdHJhZG8gZW4gbGEgdG9vbGJhciBkZWwgaW5wdXQuICovXG4gIGNvbnRleHRDaGlwPzoge1xuICAgIGl0ZW1zOiBzdHJpbmdbXVxuICAgIHR5cGU/OiBDb250ZXh0RW50aXR5VHlwZVxuICAgIGxlYWRpbmdJY29uPzogUmVhY3ROb2RlXG4gIH0gfCBudWxsXG59XG5cbmV4cG9ydCBjb25zdCBNQUlBSW5wdXQgPSAoe1xuICBvblNlbmRNZXNzYWdlLFxuICBjbGFzc05hbWUsXG4gIGRpc2FibGVkLFxuICBpc1N0cmVhbWluZyxcbiAgaXNXcml0aW5nLFxuICBvblN0b3BHZW5lcmF0aW9uLFxuICBwbGFjZWhvbGRlcixcbiAgb25DaGFuZ2UsXG4gIGFsaWduQnV0dG9ucyA9ICd2ZXJ0aWNhbCcsXG4gIG9uRmlsZUF0dGFjaCxcbiAgb25EZWxldGVBdHRhY2htZW50LFxuICBhdHRhY2htZW50cyA9IFtdLFxuICBjaGF0SWQsXG4gIG5ld0NoYXRLZXksXG4gIHRvb2x0aXBaSW5kZXgsXG4gIHBvcG92ZXJBbmNob3JSZWY6IGV4dGVybmFsUG9wb3ZlckFuY2hvclJlZixcbiAgbGF5b3V0TW9kZSxcbiAgY29udGV4dENoaXAsXG59OiBNQUlBSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICBjb25zdCBlZGl0b3JSZWYgPSB1c2VSZWY8Q29udGV4dE1lbnRpb25FZGl0b3JIYW5kbGU+KG51bGwpXG4gIGNvbnN0IGZpbGVJbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKVxuICBjb25zdCBjaGlwc1Jvd1JlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgdG9vbGJhclJvd1JlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgaW50ZXJuYWxXcmFwcGVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCB3cmFwcGVyUmVmID0gZXh0ZXJuYWxQb3BvdmVyQW5jaG9yUmVmID8/IGludGVybmFsV3JhcHBlclJlZlxuICBjb25zdCBbaGFzVHlwaW5nUHJlc2VuY2UsIHNldEhhc1R5cGluZ1ByZXNlbmNlXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbY2hpcHNSb3dIZWlnaHQsIHNldENoaXBzUm93SGVpZ2h0XSA9IHVzZVN0YXRlKDApXG4gIGNvbnN0IFt0b29sYmFyUm93SGVpZ2h0LCBzZXRUb29sYmFyUm93SGVpZ2h0XSA9IHVzZVN0YXRlKE1BSUFfSU5QVVRfVE9PTEJBUl9ST1dfSEVJR0hUX1BYKVxuICBjb25zdCBbbW9kYWxQcm9wcywgc2V0TW9kYWxQcm9wc10gPSB1c2VTdGF0ZSh7XG4gICAgaXNPcGVuOiBmYWxzZSxcbiAgICBleGNsdWRlZEZpbGVzOiBbXSBhcyBzdHJpbmdbXSxcbiAgICBleGNlZWRlZEZpbGVzOiBbXSBhcyBzdHJpbmdbXSxcbiAgICBmaWxlU2l6ZXM6IHt9IGFzIFJlY29yZDxzdHJpbmcsIG51bWJlcj4sXG4gIH0pXG4gIGNvbnN0IGV2ZW50QW1wbGl0dWRlID0gdXNlRXZlbnQoKVxuICBjb25zdCB7XG4gICAgdG9nZ2xlV2ViU2VhcmNoLFxuICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgIHRvZ2dsZURlZXBTZWFyY2gsXG4gICAgaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgIGFnZW50LFxuICAgIGluaXRpYWxEcmFmdCxcbiAgICBkZWVwTGlua1NlbmRQZW5kaW5nUmVmLFxuICB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG4gIGNvbnN0IHBsdXNNZW51WkluZGV4ID0gdXNlTWFpYVRhc2tQYW5lbFpJbmRleCgxMzAwLCAnb3ZlcmxheScpXG4gIGNvbnN0IGluaXRpYWxEcmFmdEFwcGxpZWRSZWYgPSB1c2VSZWYoZmFsc2UpXG5cbiAgY29uc3Qge1xuICAgIHBvcG92ZXJPcGVuLFxuICAgIHJlc2V0TWVudGlvbk9wZW5UcmFja2luZyxcbiAgICBoYW5kbGVUcmlnZ2VyLFxuICAgIGhhbmRsZUtleURvd246IGhhbmRsZVBvcG92ZXJLZXlEb3duLFxuICAgIHBvcG92ZXJOb2RlLFxuICB9ID0gdXNlTWVudGlvblBvcG92ZXIoe1xuICAgIGVkaXRvclJlZixcbiAgICBwb3BvdmVyQW5jaG9yUmVmOiB3cmFwcGVyUmVmLFxuICB9KVxuXG4gIGNvbnN0IFtwbHVzTWVudUFuY2hvciwgc2V0UGx1c01lbnVBbmNob3JdID0gdXNlU3RhdGU8SFRNTEJ1dHRvbkVsZW1lbnQgfCBudWxsPihudWxsKVxuICBjb25zdCBbYWN0aXZlVG9vbENoaXBIb3ZlcmVkLCBzZXRBY3RpdmVUb29sQ2hpcEhvdmVyZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFt0b29sQ2hpcEV4aXRpbmcsIHNldFRvb2xDaGlwRXhpdGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2lzRmlsZURyYWdBY3RpdmUsIHNldElzRmlsZURyYWdBY3RpdmVdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHRvb2xDaGlwRXhpdFRpbWVyUmVmID0gdXNlUmVmPFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbD4obnVsbClcbiAgY29uc3QgZmlsZURyYWdDb3VudGVyUmVmID0gdXNlUmVmKDApXG4gIGNvbnN0IHNlYXJjaE1vZGVBY3RpdmVSZWYgPSB1c2VSZWYoeyB3ZWI6IGZhbHNlLCBkZWVwOiBmYWxzZSB9KVxuICBjb25zdCBwbHVzTWVudU9wZW4gPSBCb29sZWFuKHBsdXNNZW51QW5jaG9yKVxuXG4gIC8vIEluaWNpYWxpemFyIGxhcyByZWZlcmVuY2lhcyBjb21vIHVuZGVmaW5lZCBwYXJhIGRldGVjdGFyIGVsIHByaW1lciBjYW1iaW8gY29ycmVjdGFtZW50ZVxuICBjb25zdCBwcmV2aW91c0FnZW50SWRSZWYgPSB1c2VSZWY8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpXG4gIGNvbnN0IHByZXZpb3VzQ2hhdElkUmVmID0gdXNlUmVmPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKVxuICBjb25zdCBwcmV2aW91c05ld0NoYXRLZXlSZWYgPSB1c2VSZWY8bnVtYmVyIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpXG4gIGNvbnN0IHByZXZpb3VzTGF5b3V0TW9kZVJlZiA9IHVzZVJlZjxNQUlBSW5wdXRQcm9wc1snbGF5b3V0TW9kZSddPih1bmRlZmluZWQpXG5cbiAgY29uc3QgYW5hbHl0aWNzQWdlbnRUeXBlID0gZ2V0Q2hhdFRvb2xzTWVudUFnZW50VHlwZShhZ2VudClcbiAgY29uc3QgYW5hbHl0aWNzQ2xvbmVFbnRpdHlQYXlsb2FkID0gYWdlbnQ/LnR5cGUgPT09ICdjbG9uZScgPyB7IGVudGl0eTogYWdlbnQuZW50aXR5ID8/IG51bGwgfSA6IHt9XG5cbiAgLy8gU2xhc2ggY29tbWFuZHMgYXBsaWNhbiBhIGNsb25lcyBlc3BlY2lhbGlzdGFzIHkgYWwgb3JjaGVzdHJhdG9yIGdsb2JhbCAoZXN0ZSBhZ3JlZ2EgbG9zIGRlIHN1cyBzdWJhZ2VudGVzKS5cbiAgLy8gTG9zIGN1c3RvbSB5IGxvcyBjbG9uZSBnbG9iYWwvbWFpYWtlciBubyBsb3MgdGllbmVuIGhhYmlsaXRhZG9zLlxuICBjb25zdCB7IGNvbW1hbmRzOiBzbGFzaENvbW1hbmRzIH0gPSB1c2VTbGFzaENvbW1hbmRzKFxuICAgIChhZ2VudD8udHlwZSA9PT0gJ29yY2hlc3RyYXRvcicgJiYgYWdlbnQ/LmVudGl0eSA9PT0gJ2dsb2JhbCcpIHx8XG4gICAgICAoYWdlbnQ/LnR5cGUgPT09ICdjbG9uZScgJiYgYWdlbnQ/LmVudGl0eSAhPT0gJ2dsb2JhbCcpXG4gICAgICA/IGFnZW50Py5pZFxuICAgICAgOiB1bmRlZmluZWRcbiAgKVxuICBjb25zdCBbc2hvd1NsYXNoRHJvcGRvd24sIHNldFNob3dTbGFzaERyb3Bkb3duXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbc2xhc2hRdWVyeSwgc2V0U2xhc2hRdWVyeV0gPSB1c2VTdGF0ZSgnJylcbiAgY29uc3Qgc2xhc2hNZW51V2FzT3BlblJlZiA9IHVzZVJlZihmYWxzZSlcbiAgY29uc3Qgc2xhc2hEcm9wZG93blpJbmRleCA9IHVzZU1haWFUYXNrUGFuZWxaSW5kZXgoMTIwMCwgJ292ZXJsYXknKVxuICBjb25zdCBbc2xhc2hEcm9wZG93blBvcywgc2V0U2xhc2hEcm9wZG93blBvc10gPSB1c2VTdGF0ZSh7XG4gICAgYm90dG9tOiAwLFxuICAgIGxlZnQ6IDAsXG4gICAgbWF4SGVpZ2h0OiBTTEFTSF9EUk9QRE9XTl9NQVhfSEVJR0hUX1BYLFxuICB9KVxuXG4gIGNvbnN0IHBvc2l0aW9uU2xhc2hEcm9wZG93biA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCByZWN0ID0gd3JhcHBlclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgIGlmICghcmVjdCB8fCByZWN0LndpZHRoIDw9IDApIHJldHVyblxuXG4gICAgY29uc3Qgdmlld3BvcnRIID0gd2luZG93LmlubmVySGVpZ2h0XG4gICAgY29uc3Qgdmlld3BvcnRXID0gd2luZG93LmlubmVyV2lkdGhcbiAgICBjb25zdCBsZWZ0ID0gTWF0aC5tYXgoXG4gICAgICA4LFxuICAgICAgTWF0aC5taW4odmlld3BvcnRXIC0gU0xBU0hfRFJPUERPV05fV0lEVEhfUFggLSA4LCByZWN0LmxlZnQgKyBTTEFTSF9EUk9QRE9XTl9MRUZUX09GRlNFVF9QWClcbiAgICApXG4gICAgY29uc3QgYXZhaWxhYmxlSGVpZ2h0UHggPSByZWN0LnRvcCAtIFNMQVNIX0RST1BET1dOX0dBUF9BQk9WRV9JTlBVVF9QWCAtIFNMQVNIX0RST1BET1dOX1ZJRVdQT1JUX0VER0VfUFhcbiAgICBjb25zdCBtYXhIZWlnaHQgPSBNYXRoLm1pbihTTEFTSF9EUk9QRE9XTl9NQVhfSEVJR0hUX1BYLCBNYXRoLm1heCgwLCBhdmFpbGFibGVIZWlnaHRQeCkpXG5cbiAgICBzZXRTbGFzaERyb3Bkb3duUG9zKHtcbiAgICAgIGxlZnQsXG4gICAgICBib3R0b206IHZpZXdwb3J0SCAtIHJlY3QudG9wICsgU0xBU0hfRFJPUERPV05fR0FQX0FCT1ZFX0lOUFVUX1BYLFxuICAgICAgbWF4SGVpZ2h0LFxuICAgIH0pXG4gIH0sIFt3cmFwcGVyUmVmXSlcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghc2hvd1NsYXNoRHJvcGRvd24pIHJldHVybiB1bmRlZmluZWRcblxuICAgIHBvc2l0aW9uU2xhc2hEcm9wZG93bigpXG5cbiAgICBjb25zdCBoYW5kbGVyID0gKCkgPT4gcG9zaXRpb25TbGFzaERyb3Bkb3duKClcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlciwgdHJ1ZSlcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgaGFuZGxlcilcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlciwgdHJ1ZSlcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCBoYW5kbGVyKVxuICAgIH1cbiAgfSwgW3Nob3dTbGFzaERyb3Bkb3duLCBwb3NpdGlvblNsYXNoRHJvcGRvd25dKVxuXG4gIC8qKiBUcmFzIGVsZWdpciBvIHF1aXRhciBiw7pzcXVlZGEgd2ViL3Byb2Z1bmRhOiB2b2x2ZXIgYWwgdGV4dGFyZWEgKFBvcG92ZXIvbWVudSBwdWVkZSByb2JhciBmb2NvKS4gKi9cbiAgY29uc3Qgc2NoZWR1bGVJbnB1dEZvY3VzQWZ0ZXJUb29sQWN0aW9uID0gKCkgPT4ge1xuICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGVkaXRvclJlZi5jdXJyZW50Py5mb2N1cygpXG4gICAgICB9LCAwKVxuICAgIH0pXG4gIH1cblxuICBjb25zdCBjbG9zZVBsdXNNZW51ID0gKCkgPT4ge1xuICAgIHNldFBsdXNNZW51QW5jaG9yKG51bGwpXG4gICAgc2NoZWR1bGVJbnB1dEZvY3VzQWZ0ZXJUb29sQWN0aW9uKClcbiAgfVxuXG4gIGNvbnN0IGNhbmNlbFBlbmRpbmdUb29sQ2hpcEV4aXQgPSAoKSA9PiB7XG4gICAgaWYgKHRvb2xDaGlwRXhpdFRpbWVyUmVmLmN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0b29sQ2hpcEV4aXRUaW1lclJlZi5jdXJyZW50KVxuICAgICAgdG9vbENoaXBFeGl0VGltZXJSZWYuY3VycmVudCA9IG51bGxcbiAgICB9XG4gICAgc2V0VG9vbENoaXBFeGl0aW5nKGZhbHNlKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlUGx1c0J1dHRvbk1vdXNlRG93biA9IChlOiBNb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50PikgPT4ge1xuICAgIC8vIEV2aXRhIHF1ZSBlbCBib3TDs24gcm9iZSBlbCBmb2NvIGRlbCBpbnB1dCBhbCBhYnJpciBlbCBtZW7Dui5cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVBsdXNCdXR0b25DbGljayA9IChlOiBNb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50PikgPT4ge1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICBpZiAocGx1c01lbnVBbmNob3IpIHtcbiAgICAgIGNsb3NlUGx1c01lbnUoKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHNldFBsdXNNZW51QW5jaG9yKGUuY3VycmVudFRhcmdldClcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0UGx1c09wZW4sIHsgYWdlbnRfdHlwZTogYW5hbHl0aWNzQWdlbnRUeXBlLCAuLi5hbmFseXRpY3NDbG9uZUVudGl0eVBheWxvYWQgfSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZU1lbnRpb25CdXR0b25DbGljayA9IChlOiBNb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50PikgPT4ge1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICBpZiAoZGlzYWJsZWQpIHJldHVyblxuICAgIGNsb3NlUGx1c01lbnUoKVxuICAgIGVkaXRvclJlZi5jdXJyZW50Py5pbnNlcnRNZW50aW9uVHJpZ2dlcigpXG4gIH1cblxuICBjb25zdCBoYW5kbGVQbHVzTWVudUF0dGFjaCA9ICgpID0+IHtcbiAgICBjbG9zZVBsdXNNZW51KClcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0VG9vbHMsIHtcbiAgICAgIGFnZW50X3R5cGU6IGFuYWx5dGljc0FnZW50VHlwZSxcbiAgICAgIG9wdGlvbjogJ2ZpbGVzJyxcbiAgICAgIC4uLmFuYWx5dGljc0Nsb25lRW50aXR5UGF5bG9hZCxcbiAgICB9KVxuICAgIGlmIChhdHRhY2htZW50cy5sZW5ndGggPj0gTUFYX0NIQVRfSU5QVVRfQVRUQUNITUVOVFMpIHJldHVyblxuICAgIGZpbGVJbnB1dFJlZi5jdXJyZW50Py5jbGljaygpXG4gIH1cblxuICBjb25zdCBiZWdpblRvb2xDaGlwRXhpdCA9ICgpID0+IHtcbiAgICBpZiAodG9vbENoaXBFeGl0VGltZXJSZWYuY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNvbnN0IHdhc1dlYiA9IGlzV2ViU2VhcmNoQWN0aXZlXG4gICAgY29uc3Qgd2FzRGVlcCA9IGlzRGVlcFNlYXJjaEFjdGl2ZVxuICAgIGlmICghd2FzV2ViICYmICF3YXNEZWVwKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgc2V0VG9vbENoaXBFeGl0aW5nKHRydWUpXG4gICAgdG9vbENoaXBFeGl0VGltZXJSZWYuY3VycmVudCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdG9vbENoaXBFeGl0VGltZXJSZWYuY3VycmVudCA9IG51bGxcbiAgICAgIGNvbnN0IHsgd2ViLCBkZWVwIH0gPSBzZWFyY2hNb2RlQWN0aXZlUmVmLmN1cnJlbnRcbiAgICAgIGlmICh3YXNXZWIgJiYgd2ViKSB7XG4gICAgICAgIHRvZ2dsZVdlYlNlYXJjaCgpXG4gICAgICB9IGVsc2UgaWYgKHdhc0RlZXAgJiYgZGVlcCkge1xuICAgICAgICB0b2dnbGVEZWVwU2VhcmNoKClcbiAgICAgIH1cbiAgICAgIHNldFRvb2xDaGlwRXhpdGluZyhmYWxzZSlcbiAgICAgIHNjaGVkdWxlSW5wdXRGb2N1c0FmdGVyVG9vbEFjdGlvbigpXG4gICAgfSwgVE9PTF9DSElQX0VYSVRfTVMpXG4gIH1cblxuICBjb25zdCBoYW5kbGVQbHVzTWVudVdlYlNlYXJjaCA9ICgpID0+IHtcbiAgICBjbG9zZVBsdXNNZW51KClcbiAgICBpZiAoaXNXZWJTZWFyY2hBY3RpdmUpIHtcbiAgICAgIGJlZ2luVG9vbENoaXBFeGl0KClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBjYW5jZWxQZW5kaW5nVG9vbENoaXBFeGl0KClcbiAgICBpZiAoaXNEZWVwU2VhcmNoQWN0aXZlKSB7XG4gICAgICB0b2dnbGVEZWVwU2VhcmNoKClcbiAgICB9XG4gICAgdG9nZ2xlV2ViU2VhcmNoKClcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0VG9vbHMsIHtcbiAgICAgIGFnZW50X3R5cGU6IGFuYWx5dGljc0FnZW50VHlwZSxcbiAgICAgIG9wdGlvbjogJ3NlYXJjaCcsXG4gICAgICAuLi5hbmFseXRpY3NDbG9uZUVudGl0eVBheWxvYWQsXG4gICAgfSlcbiAgICBzY2hlZHVsZUlucHV0Rm9jdXNBZnRlclRvb2xBY3Rpb24oKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlUGx1c01lbnVEZWVwU2VhcmNoID0gKCkgPT4ge1xuICAgIGNsb3NlUGx1c01lbnUoKVxuICAgIGlmIChpc0RlZXBTZWFyY2hBY3RpdmUpIHtcbiAgICAgIGJlZ2luVG9vbENoaXBFeGl0KClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBjYW5jZWxQZW5kaW5nVG9vbENoaXBFeGl0KClcbiAgICBpZiAoaXNXZWJTZWFyY2hBY3RpdmUpIHtcbiAgICAgIHRvZ2dsZVdlYlNlYXJjaCgpXG4gICAgfVxuICAgIHRvZ2dsZURlZXBTZWFyY2goKVxuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRUb29scywge1xuICAgICAgYWdlbnRfdHlwZTogYW5hbHl0aWNzQWdlbnRUeXBlLFxuICAgICAgb3B0aW9uOiAnZGVlcF9zZWFyY2gnLFxuICAgICAgLi4uYW5hbHl0aWNzQ2xvbmVFbnRpdHlQYXlsb2FkLFxuICAgIH0pXG4gICAgc2NoZWR1bGVJbnB1dEZvY3VzQWZ0ZXJUb29sQWN0aW9uKClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVBsdXNNZW51UXVpY2tBY3Rpb25zID0gKCkgPT4ge1xuICAgIHNldFBsdXNNZW51QW5jaG9yKG51bGwpXG4gICAgaWYgKGRpc2FibGVkKSByZXR1cm5cbiAgICBlZGl0b3JSZWYuY3VycmVudD8uaW5zZXJ0U2xhc2hUcmlnZ2VyKClcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFkaXNhYmxlZCkge1xuICAgICAgZWRpdG9yUmVmLmN1cnJlbnQ/LmZvY3VzKClcbiAgICB9XG4gIH0sIFtkaXNhYmxlZF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBkcmFmdCA9IGluaXRpYWxEcmFmdD8udHJpbSgpXG4gICAgaWYgKCFkcmFmdCB8fCBpbml0aWFsRHJhZnRBcHBsaWVkUmVmLmN1cnJlbnQgfHwgZGlzYWJsZWQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBpbml0aWFsRHJhZnRBcHBsaWVkUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgaWYgKGRlZXBMaW5rU2VuZFBlbmRpbmdSZWYpIHtcbiAgICAgIGRlZXBMaW5rU2VuZFBlbmRpbmdSZWYuY3VycmVudCA9IHRydWVcbiAgICB9XG4gICAgZWRpdG9yUmVmLmN1cnJlbnQ/LnNldFBsYWluVGV4dChkcmFmdClcbiAgICBzZXRIYXNUeXBpbmdQcmVzZW5jZSh0cnVlKVxuICAgIGlmICghZGlzYWJsZWQpIHtcbiAgICAgIGVkaXRvclJlZi5jdXJyZW50Py5mb2N1cygpXG4gICAgfVxuICB9LCBbaW5pdGlhbERyYWZ0LCBkaXNhYmxlZCwgZGVlcExpbmtTZW5kUGVuZGluZ1JlZl0pXG5cbiAgY29uc3Qgc2VuZERpc2FibGVkID0gdXNlTWVtbyhcbiAgICAoKSA9PiAhaGFzVHlwaW5nUHJlc2VuY2UgJiYgYXR0YWNobWVudHMubGVuZ3RoID09PSAwLFxuICAgIFtoYXNUeXBpbmdQcmVzZW5jZSwgYXR0YWNobWVudHMubGVuZ3RoXVxuICApXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZWFyY2hNb2RlQWN0aXZlUmVmLmN1cnJlbnQgPSB7IHdlYjogaXNXZWJTZWFyY2hBY3RpdmUsIGRlZXA6IGlzRGVlcFNlYXJjaEFjdGl2ZSB9XG4gIH0sIFtpc1dlYlNlYXJjaEFjdGl2ZSwgaXNEZWVwU2VhcmNoQWN0aXZlXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAodG9vbENoaXBFeGl0VGltZXJSZWYuY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgICBjbGVhclRpbWVvdXQodG9vbENoaXBFeGl0VGltZXJSZWYuY3VycmVudClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc1dlYlNlYXJjaEFjdGl2ZSAmJiAhaXNEZWVwU2VhcmNoQWN0aXZlKSB7XG4gICAgICBzZXRBY3RpdmVUb29sQ2hpcEhvdmVyZWQoZmFsc2UpXG4gICAgfVxuICB9LCBbaXNXZWJTZWFyY2hBY3RpdmUsIGlzRGVlcFNlYXJjaEFjdGl2ZV0pXG5cbiAgLy8gQXV0by1mb2N1cyBjdWFuZG8gY2FtYmlhIGVsIGFnZW50ZSBvIGxhIGNvbnZlcnNhY2nDs24sIG8gYWwgbW9udGFyIGVsIGNvbXBvbmVudGVcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBhZ2VudENoYW5nZWQgPSBwcmV2aW91c0FnZW50SWRSZWYuY3VycmVudCAhPT0gYWdlbnQ/LmlkXG4gICAgY29uc3QgcHJldmlvdXNDaGF0SWQgPSBwcmV2aW91c0NoYXRJZFJlZi5jdXJyZW50XG4gICAgY29uc3QgY3VycmVudENoYXRJZCA9IGNoYXRJZFxuICAgIGNvbnN0IGNoYXRDaGFuZ2VkID0gcHJldmlvdXNDaGF0SWQgIT09IGN1cnJlbnRDaGF0SWRcbiAgICBjb25zdCBjaGFuZ2VkRnJvbU5ld0NoYXRUb09sZENoYXQgPVxuICAgICAgKHByZXZpb3VzQ2hhdElkID09PSB1bmRlZmluZWQgfHwgcHJldmlvdXNDaGF0SWQgPT09IG51bGwpICYmIGN1cnJlbnRDaGF0SWQgIT09IHVuZGVmaW5lZCAmJiBjdXJyZW50Q2hhdElkICE9PSBudWxsXG4gICAgY29uc3QgbmV3Q2hhdFN0YXJ0ZWQgPSBwcmV2aW91c05ld0NoYXRLZXlSZWYuY3VycmVudCAhPT0gbmV3Q2hhdEtleVxuICAgIGNvbnN0IGlzSW5pdGlhbE1vdW50ID0gcHJldmlvdXNBZ2VudElkUmVmLmN1cnJlbnQgPT09IHVuZGVmaW5lZCAmJiBwcmV2aW91c0NoYXRJZFJlZi5jdXJyZW50ID09PSB1bmRlZmluZWRcblxuICAgIGlmICgoYWdlbnRDaGFuZ2VkIHx8IGNoYXRDaGFuZ2VkIHx8IGNoYW5nZWRGcm9tTmV3Q2hhdFRvT2xkQ2hhdCB8fCBuZXdDaGF0U3RhcnRlZCB8fCBpc0luaXRpYWxNb3VudCkgJiYgIWRpc2FibGVkKSB7XG4gICAgICBjb25zdCBkZWxheSA9IGlzSW5pdGlhbE1vdW50IHx8IGNoYW5nZWRGcm9tTmV3Q2hhdFRvT2xkQ2hhdCA/IDIwMCA6IDEwMFxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICghZGlzYWJsZWQpIGVkaXRvclJlZi5jdXJyZW50Py5mb2N1cygpXG4gICAgICB9LCBkZWxheSlcbiAgICB9XG5cbiAgICBwcmV2aW91c0FnZW50SWRSZWYuY3VycmVudCA9IGFnZW50Py5pZFxuICAgIHByZXZpb3VzQ2hhdElkUmVmLmN1cnJlbnQgPSBjaGF0SWRcbiAgICBwcmV2aW91c05ld0NoYXRLZXlSZWYuY3VycmVudCA9IG5ld0NoYXRLZXlcbiAgfSwgW2FnZW50Py5pZCwgY2hhdElkLCBuZXdDaGF0S2V5LCBkaXNhYmxlZF0pXG5cbiAgLy8gQXV0by1mb2N1cyBjdWFuZG8gY2FtYmlhIGxhIGRpc3Bvc2ljacOzbiBkZWwgbW9kYWwgKHNpZGViYXIgLyBmdWxsc2NyZWVuIC8gZmxvYXRpbmcpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFsYXlvdXRNb2RlKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgY29uc3QgcHJldmlvdXNMYXlvdXRNb2RlID0gcHJldmlvdXNMYXlvdXRNb2RlUmVmLmN1cnJlbnRcbiAgICBwcmV2aW91c0xheW91dE1vZGVSZWYuY3VycmVudCA9IGxheW91dE1vZGVcblxuICAgIGlmIChwcmV2aW91c0xheW91dE1vZGUgPT09IHVuZGVmaW5lZCB8fCBwcmV2aW91c0xheW91dE1vZGUgPT09IGxheW91dE1vZGUgfHwgZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjb25zdCB0aW1lb3V0SWQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIWRpc2FibGVkKSB7XG4gICAgICAgIGVkaXRvclJlZi5jdXJyZW50Py5mb2N1cygpXG4gICAgICB9XG4gICAgfSwgMjAwKVxuXG4gICAgcmV0dXJuICgpID0+IHdpbmRvdy5jbGVhclRpbWVvdXQodGltZW91dElkKVxuICB9LCBbbGF5b3V0TW9kZSwgZGlzYWJsZWRdKVxuXG4gIC8vIEFwcGN1ZXM6IG5vdGlmeSB0aGF0IHRoZSBpbnB1dCBpcyB2aXNpYmxlIGZvciBzcGVjaWFsaXN0IGFnZW50cyAoY2xvbmUgKyBwcm9qZWN0L2NsaWVudClcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBpc1NwZWNpYWxpc3RBZ2VudCA9IGFnZW50Py50eXBlID09PSAnY2xvbmUnICYmIChhZ2VudD8uZW50aXR5ID09PSAncHJvamVjdCcgfHwgYWdlbnQ/LmVudGl0eSA9PT0gJ2NsaWVudCcpXG4gICAgaWYgKCF3cmFwcGVyUmVmLmN1cnJlbnQgfHwgIWlzU3BlY2lhbGlzdEFnZW50KSByZXR1cm4gdW5kZWZpbmVkXG5cbiAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihcbiAgICAgIChbZW50cnldKSA9PiB7XG4gICAgICAgIGlmIChlbnRyeS5pc0ludGVyc2VjdGluZykge1xuICAgICAgICAgIHRyYWNrQXBwY3Vlc0V2ZW50KEFQUENVRVNfRVZFTlRTLm1haWFDb250ZXh0TWVudGlvbkluaXQpXG4gICAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7IHRocmVzaG9sZDogMC4xIH1cbiAgICApXG5cbiAgICBvYnNlcnZlci5vYnNlcnZlKHdyYXBwZXJSZWYuY3VycmVudClcbiAgICByZXR1cm4gKCkgPT4gb2JzZXJ2ZXIuZGlzY29ubmVjdCgpXG4gIH0sIFthZ2VudD8uaWQsIGFnZW50Py50eXBlLCBhZ2VudD8uZW50aXR5XSlcblxuICAvLyBDbGVhciBpbnB1dCB3aGVuIHNlc3Npb24gY2hhbmdlcyAodXNlciBzd2l0Y2hlcyB0byBhIGRpZmZlcmVudCBjaGF0KVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZVNlc3Npb25DaGFuZ2UgPSAoKSA9PiB7XG4gICAgICBpZiAoZGVlcExpbmtTZW5kUGVuZGluZ1JlZikge1xuICAgICAgICBkZWVwTGlua1NlbmRQZW5kaW5nUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgICAgfVxuICAgICAgZWRpdG9yUmVmLmN1cnJlbnQ/LmNsZWFyKClcbiAgICAgIHNldEhhc1R5cGluZ1ByZXNlbmNlKGZhbHNlKVxuICAgICAgc2V0U2hvd1NsYXNoRHJvcGRvd24oZmFsc2UpXG4gICAgICBzZXRTbGFzaFF1ZXJ5KCcnKVxuICAgICAgcmVzZXRNZW50aW9uT3BlblRyYWNraW5nKClcbiAgICB9XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjaGF0LXNlc3Npb24tY2hhbmdlZCcsIGhhbmRsZVNlc3Npb25DaGFuZ2UpXG4gICAgcmV0dXJuICgpID0+IGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYXQtc2Vzc2lvbi1jaGFuZ2VkJywgaGFuZGxlU2Vzc2lvbkNoYW5nZSlcbiAgfSwgW3Jlc2V0TWVudGlvbk9wZW5UcmFja2luZywgZGVlcExpbmtTZW5kUGVuZGluZ1JlZl0pXG5cbiAgLy8gTWFudGVuZXIgZm9jbyBhbCBzZWxlY2Npb25hciB1biBjb250ZXh0byByZWNpZW50ZSAoZWwgY2xpY2sgZW4gZWwgcGlsbCBsbyByb2JhIGFsIGlucHV0KS5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVSZWZvY3VzID0gKCkgPT4ge1xuICAgICAgaWYgKGRpc2FibGVkKSByZXR1cm5cbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIGVkaXRvclJlZi5jdXJyZW50Py5mb2N1cygpXG4gICAgICB9KVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21haWEtaW5wdXQtcmVmb2N1cycsIGhhbmRsZVJlZm9jdXMpXG4gICAgcmV0dXJuICgpID0+IGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21haWEtaW5wdXQtcmVmb2N1cycsIGhhbmRsZVJlZm9jdXMpXG4gIH0sIFtkaXNhYmxlZF0pXG5cbiAgY29uc3QgaGFuZGxlU2VuZE1lc3NhZ2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3Qgc3RhdGUgPSBlZGl0b3JSZWYuY3VycmVudD8uc2VyaWFsaXplKClcbiAgICBjb25zdCB0ZXh0ID0gc3RhdGU/LnRleHQgPz8gJydcbiAgICBpZiAoIXRleHQudHJpbSgpICYmICFhdHRhY2htZW50cy5sZW5ndGgpIHJldHVyblxuICAgIGNvbnN0IG1lbnRpb25zID0gc3RhdGU/Lm1lbnRpb25zID8/IFtdXG4gICAgb25TZW5kTWVzc2FnZSh0ZXh0LCBhdHRhY2htZW50cywgbWVudGlvbnMpXG4gICAgZWRpdG9yUmVmLmN1cnJlbnQ/LmNsZWFyKClcbiAgICBzZXRIYXNUeXBpbmdQcmVzZW5jZShmYWxzZSlcbiAgICBzZXRTaG93U2xhc2hEcm9wZG93bihmYWxzZSlcbiAgICBzZXRTbGFzaFF1ZXJ5KCcnKVxuICAgIHJlc2V0TWVudGlvbk9wZW5UcmFja2luZygpXG4gIH0sIFthdHRhY2htZW50cywgb25TZW5kTWVzc2FnZSwgcmVzZXRNZW50aW9uT3BlblRyYWNraW5nXSlcblxuICBjb25zdCBoYW5kbGVTZWxlY3RTbGFzaENvbW1hbmQgPSB1c2VDYWxsYmFjayhcbiAgICAoY29tbWFuZDogQWN0aW9uKSA9PiB7XG4gICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0UXVpY2tBY3Rpb25TZWxlY3QsIHtcbiAgICAgICAgdHlwZV9xdWlja19hY3Rpb246IHJlc29sdmVRdWlja0FjdGlvblR5cGUoY29tbWFuZCksXG4gICAgICAgIG9yaWdpbl9xdWlja19hY3Rpb246ICdzbGFzaF9tZW51JyxcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IHN0YXRlID0gZWRpdG9yUmVmLmN1cnJlbnQ/LnNlcmlhbGl6ZSgpXG4gICAgICBjb25zdCB0ZXh0ID0gc3RhdGU/LnRleHQgPz8gJydcbiAgICAgIGNvbnN0IHRyaWdnZXJQYXJ0ID0gYC8ke3NsYXNoUXVlcnl9YFxuICAgICAgY29uc3QgYmVmb3JlVHJpZ2dlciA9IHRleHQuZW5kc1dpdGgodHJpZ2dlclBhcnQpID8gdGV4dC5zbGljZSgwLCAtdHJpZ2dlclBhcnQubGVuZ3RoKSA6IHRleHRcbiAgICAgIGNvbnN0IGlzRW1wdHlCZWZvcmVUcmlnZ2VyID0gYmVmb3JlVHJpZ2dlci50cmltKCkgPT09ICcnXG5cbiAgICAgIGlmIChpc0VtcHR5QmVmb3JlVHJpZ2dlcikge1xuICAgICAgICBvblNlbmRNZXNzYWdlKGNvbW1hbmQudGl0bGUsIGF0dGFjaG1lbnRzLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGNvbW1hbmQuaWQpXG4gICAgICAgIGVkaXRvclJlZi5jdXJyZW50Py5jbGVhcigpXG4gICAgICAgIHNldEhhc1R5cGluZ1ByZXNlbmNlKGZhbHNlKVxuICAgICAgICBzZXRTaG93U2xhc2hEcm9wZG93bihmYWxzZSlcbiAgICAgICAgc2V0U2xhc2hRdWVyeSgnJylcbiAgICAgICAgc2xhc2hNZW51V2FzT3BlblJlZi5jdXJyZW50ID0gZmFsc2VcbiAgICAgICAgcmVzZXRNZW50aW9uT3BlblRyYWNraW5nKClcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGVkaXRvclJlZi5jdXJyZW50Py5pbnNlcnRTbGFzaENvbW1hbmQoeyBpZDogY29tbWFuZC5pZCwgbGFiZWw6IGNvbW1hbmQudGl0bGUgfSlcbiAgICAgIHNldFNob3dTbGFzaERyb3Bkb3duKGZhbHNlKVxuICAgICAgc2V0U2xhc2hRdWVyeSgnJylcbiAgICAgIHNsYXNoTWVudVdhc09wZW5SZWYuY3VycmVudCA9IGZhbHNlXG4gICAgfSxcbiAgICBbYXR0YWNobWVudHMsIG9uU2VuZE1lc3NhZ2UsIHJlc2V0TWVudGlvbk9wZW5UcmFja2luZywgc2xhc2hRdWVyeSwgZXZlbnRBbXBsaXR1ZGVdXG4gIClcblxuICBjb25zdCBoYW5kbGVDbG9zZVNsYXNoRHJvcGRvd24gPSAoKSA9PiB7XG4gICAgc2V0U2hvd1NsYXNoRHJvcGRvd24oZmFsc2UpXG4gICAgc2xhc2hNZW51V2FzT3BlblJlZi5jdXJyZW50ID0gZmFsc2VcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUVkaXRvcklucHV0ID0gdXNlQ2FsbGJhY2soXG4gICAgKHtcbiAgICAgIHRleHQsXG4gICAgICB0cmlnZ2VyLFxuICAgICAgc2xhc2hUcmlnZ2VyLFxuICAgIH06IHtcbiAgICAgIHRleHQ6IHN0cmluZ1xuICAgICAgbWVudGlvbnM6IENvbnRleHRNZW50aW9uW11cbiAgICAgIHRyaWdnZXI6IHsgYWN0aXZlOiBib29sZWFuOyBxdWVyeTogc3RyaW5nOyBhdFJ1bkxlbmd0aDogbnVtYmVyIH1cbiAgICAgIHNsYXNoVHJpZ2dlcj86IHsgYWN0aXZlOiBib29sZWFuOyBxdWVyeTogc3RyaW5nIH1cbiAgICB9KSA9PiB7XG4gICAgICBzZXRIYXNUeXBpbmdQcmVzZW5jZSh0ZXh0LnRyaW0oKS5sZW5ndGggPiAwKVxuICAgICAgb25DaGFuZ2U/LigpXG4gICAgICBoYW5kbGVUcmlnZ2VyKHRyaWdnZXIpXG5cbiAgICAgIGlmIChzbGFzaFRyaWdnZXI/LmFjdGl2ZSAmJiBzbGFzaENvbW1hbmRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgaWYgKCFzbGFzaE1lbnVXYXNPcGVuUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0UXVpY2tBY3Rpb25PcGVuKVxuICAgICAgICAgIHNsYXNoTWVudVdhc09wZW5SZWYuY3VycmVudCA9IHRydWVcbiAgICAgICAgfVxuICAgICAgICBzZXRTaG93U2xhc2hEcm9wZG93bih0cnVlKVxuICAgICAgICBzZXRTbGFzaFF1ZXJ5KHNsYXNoVHJpZ2dlci5xdWVyeSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNsYXNoTWVudVdhc09wZW5SZWYuY3VycmVudCA9IGZhbHNlXG4gICAgICAgIHNldFNob3dTbGFzaERyb3Bkb3duKGZhbHNlKVxuICAgICAgICBzZXRTbGFzaFF1ZXJ5KCcnKVxuICAgICAgfVxuICAgIH0sXG4gICAgW29uQ2hhbmdlLCBoYW5kbGVUcmlnZ2VyLCBzbGFzaENvbW1hbmRzLCBldmVudEFtcGxpdHVkZV1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUtleURvd24gPSB1c2VDYWxsYmFjayhcbiAgICAoZTogS2V5Ym9hcmRFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICAgIGlmIChoYW5kbGVQb3BvdmVyS2V5RG93bihlKSkgcmV0dXJuXG4gICAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicgJiYgIWUuc2hpZnRLZXkgJiYgIXBvcG92ZXJPcGVuKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICBpZiAoIXNlbmREaXNhYmxlZCAmJiAhZGlzYWJsZWQpIGhhbmRsZVNlbmRNZXNzYWdlKClcbiAgICAgIH1cbiAgICB9LFxuICAgIFtoYW5kbGVQb3BvdmVyS2V5RG93biwgcG9wb3Zlck9wZW4sIHNlbmREaXNhYmxlZCwgZGlzYWJsZWQsIGhhbmRsZVNlbmRNZXNzYWdlXVxuICApXG5cbiAgY29uc3QgYWRkRmlsZXMgPSAoaW5jb21pbmc6IEZpbGVbXSkgPT4ge1xuICAgIGlmICghaW5jb21pbmcubGVuZ3RoIHx8IGRpc2FibGVkKSByZXR1cm5cblxuICAgIGNvbnN0IGV4Y2VlZGVkRmlsZXM6IHN0cmluZ1tdID0gW11cbiAgICBjb25zdCBleGNsdWRlZEZpbGVzOiBzdHJpbmdbXSA9IFtdXG4gICAgY29uc3QgZmlsZVNpemVzOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0ge31cbiAgICBsZXQgZmlsZXNJbnNlcnRlZCA9IGF0dGFjaG1lbnRzLmxlbmd0aFxuXG4gICAgY29uc3QgaXNOZXdGb3JtYXQgPSAoZXh0ZW5zaW9uOiBzdHJpbmcpID0+IFsnLnBuZycsICcuanBnJywgJy5qcGVnJywgJy5wZGYnXS5pbmNsdWRlcyhleHRlbnNpb24pXG4gICAgY29uc3QgaXNPbGRGb3JtYXQgPSAoZXh0ZW5zaW9uOiBzdHJpbmcpID0+XG4gICAgICBbJy50eHQnLCAnLm1kJywgJy5jc3YnLCAnLmRvYycsICcuZG9jeCcsICcucHB0JywgJy5wcHR4JywgJy54bHN4JywgJy54bHMnXS5pbmNsdWRlcyhleHRlbnNpb24pXG4gICAgY29uc3QgaXNBdWRpb0Zvcm1hdCA9IChleHRlbnNpb246IHN0cmluZykgPT5cbiAgICAgIFsnLmZsYWMnLCAnLm00YScsICcubXAzJywgJy5tcDQnLCAnLm9nYScsICcub2dnJywgJy53YXYnLCAnLndlYm0nXS5pbmNsdWRlcyhleHRlbnNpb24pXG5cbiAgICBpbmNvbWluZy5mb3JFYWNoKGZpbGUgPT4ge1xuICAgICAgbGV0IGV4Y2x1ZGVkRmlsZSA9IGZhbHNlXG4gICAgICBjb25zdCBmaWxlTmFtZVBhcnRzID0gZmlsZS5uYW1lLnNwbGl0KCcuJylcbiAgICAgIGNvbnN0IGZpbGVFeHRlbnNpb24gPSBmaWxlTmFtZVBhcnRzLmxlbmd0aCA+IDEgPyBgLiR7ZmlsZU5hbWVQYXJ0cy5wb3AoKT8udG9Mb3dlckNhc2UoKX1gIDogJydcblxuICAgICAgaWYgKCFhbGxvd2VkRmlsZVR5cGVzPy5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgZmlsZVNpemVzW2ZpbGUubmFtZV0gPSBmaWxlLnNpemVcblxuICAgICAgaWYgKGlzTmV3Rm9ybWF0KGZpbGVFeHRlbnNpb24pKSB7XG4gICAgICAgIGlmIChmaWxlLnNpemUgPiBNQVhfRklMRV9TSVpFX01CX01BSUFfVklTSU9OICogMTAyNCAqIDEwMjQpIHtcbiAgICAgICAgICBleGNlZWRlZEZpbGVzLnB1c2goZmlsZS5uYW1lKVxuICAgICAgICAgIGV4Y2x1ZGVkRmlsZSA9IHRydWVcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWxlc0luc2VydGVkICsgMSA+IE1BWF9DSEFUX0lOUFVUX0FUVEFDSE1FTlRTKSB7XG4gICAgICAgICAgZXhjbHVkZWRGaWxlcy5wdXNoKGZpbGUubmFtZSlcbiAgICAgICAgICBleGNsdWRlZEZpbGUgPSB0cnVlXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoaXNPbGRGb3JtYXQoZmlsZUV4dGVuc2lvbikpIHtcbiAgICAgICAgaWYgKGZpbGUuc2l6ZSA+IE1BWF9GSUxFX1NJWkVfTUJfT0xEICogMTAyNCAqIDEwMjQpIHtcbiAgICAgICAgICBleGNlZWRlZEZpbGVzLnB1c2goZmlsZS5uYW1lKVxuICAgICAgICAgIGV4Y2x1ZGVkRmlsZSA9IHRydWVcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWxlc0luc2VydGVkICsgMSA+IE1BWF9DSEFUX0lOUFVUX0FUVEFDSE1FTlRTKSB7XG4gICAgICAgICAgZXhjbHVkZWRGaWxlcy5wdXNoKGZpbGUubmFtZSlcbiAgICAgICAgICBleGNsdWRlZEZpbGUgPSB0cnVlXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoaXNBdWRpb0Zvcm1hdChmaWxlRXh0ZW5zaW9uKSkge1xuICAgICAgICBpZiAoZmlsZS5zaXplID4gTUFYX0ZJTEVfU0laRV9NQl9BVURJTyAqIDEwMjQgKiAxMDI0KSB7XG4gICAgICAgICAgZXhjZWVkZWRGaWxlcy5wdXNoKGZpbGUubmFtZSlcbiAgICAgICAgICBleGNsdWRlZEZpbGUgPSB0cnVlXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmlsZXNJbnNlcnRlZCArIDEgPiBNQVhfQ0hBVF9JTlBVVF9BVFRBQ0hNRU5UUykge1xuICAgICAgICAgIGV4Y2x1ZGVkRmlsZXMucHVzaChmaWxlLm5hbWUpXG4gICAgICAgICAgZXhjbHVkZWRGaWxlID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICghZXhjbHVkZWRGaWxlKSB7XG4gICAgICAgIGZpbGVzSW5zZXJ0ZWQgKz0gMVxuICAgICAgICBjb25zdCB0eXBlRmlsZSA9IGZpbGUudHlwZSB8fCBmaWxlVHlwZXNbZmlsZUV4dGVuc2lvbl1cbiAgICAgICAgY29uc3QgcGFyc2VkRmlsZSA9IG5ldyBGaWxlKFtmaWxlXSwgZmlsZS5uYW1lLCB7IHR5cGU6IHR5cGVGaWxlIH0pXG4gICAgICAgIG9uRmlsZUF0dGFjaD8uKHBhcnNlZEZpbGUpXG4gICAgICB9XG4gICAgfSlcblxuICAgIGlmIChleGNsdWRlZEZpbGVzLmxlbmd0aCB8fCBleGNlZWRlZEZpbGVzLmxlbmd0aCkge1xuICAgICAgc2V0TW9kYWxQcm9wcyh7IGlzT3BlbjogdHJ1ZSwgZXhjbHVkZWRGaWxlcywgZXhjZWVkZWRGaWxlcywgZmlsZVNpemVzIH0pXG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRmlsZVNlbGVjdCA9IChlOiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgIGNvbnN0IGZpbGVzID0gZS50YXJnZXQuZmlsZXNcbiAgICBpZiAoZmlsZXMpIHtcbiAgICAgIGFkZEZpbGVzKEFycmF5LmZyb20oZmlsZXMpKVxuICAgIH1cbiAgICBpZiAoZmlsZUlucHV0UmVmLmN1cnJlbnQpIHtcbiAgICAgIGZpbGVJbnB1dFJlZi5jdXJyZW50LnZhbHVlID0gJydcbiAgICB9XG4gIH1cblxuICBjb25zdCByZXNldEZpbGVEcmFnID0gKCkgPT4ge1xuICAgIGZpbGVEcmFnQ291bnRlclJlZi5jdXJyZW50ID0gMFxuICAgIHNldElzRmlsZURyYWdBY3RpdmUoZmFsc2UpXG4gIH1cblxuICBjb25zdCBoYW5kbGVEcmFnRW50ZXIgPSAoZTogRHJhZ0V2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgIGlmICghZGF0YVRyYW5zZmVySGFzRmlsZXMoZS5kYXRhVHJhbnNmZXIpKSByZXR1cm5cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgaWYgKGRpc2FibGVkKSByZXR1cm5cbiAgICBmaWxlRHJhZ0NvdW50ZXJSZWYuY3VycmVudCArPSAxXG4gICAgc2V0SXNGaWxlRHJhZ0FjdGl2ZSh0cnVlKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRHJhZ0xlYXZlID0gKGU6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICBpZiAoIWlzRmlsZURyYWdBY3RpdmUgJiYgIWRhdGFUcmFuc2Zlckhhc0ZpbGVzKGUuZGF0YVRyYW5zZmVyKSkgcmV0dXJuXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgIGZpbGVEcmFnQ291bnRlclJlZi5jdXJyZW50ID0gTWF0aC5tYXgoMCwgZmlsZURyYWdDb3VudGVyUmVmLmN1cnJlbnQgLSAxKVxuICAgIGlmIChmaWxlRHJhZ0NvdW50ZXJSZWYuY3VycmVudCA9PT0gMCkge1xuICAgICAgc2V0SXNGaWxlRHJhZ0FjdGl2ZShmYWxzZSlcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVEcmFnT3ZlciA9IChlOiBEcmFnRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKCFkYXRhVHJhbnNmZXJIYXNGaWxlcyhlLmRhdGFUcmFuc2ZlcikpIHJldHVyblxuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICBpZiAoZGlzYWJsZWQpIHJldHVyblxuICAgIGUuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgPSAnY29weSdcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZURyb3AgPSAoZTogRHJhZ0V2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgIGlmICghZGF0YVRyYW5zZmVySGFzRmlsZXMoZS5kYXRhVHJhbnNmZXIpKSB7XG4gICAgICByZXNldEZpbGVEcmFnKClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgcmVzZXRGaWxlRHJhZygpXG4gICAgaWYgKGRpc2FibGVkKSByZXR1cm5cbiAgICBhZGRGaWxlcyhmaWxlc0Zyb21EYXRhVHJhbnNmZXIoZS5kYXRhVHJhbnNmZXIpKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlUGFzdGVGaWxlcyA9IChmaWxlczogRmlsZVtdKSA9PiB7XG4gICAgYWRkRmlsZXMoZmlsZXMpXG4gIH1cblxuICBjb25zdCBoYW5kbGVXcmFwcGVyUGFzdGUgPSAoZTogQ2xpcGJvYXJkRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgY29uc3QgZWRpdG9yRWwgPSB3cmFwcGVyUmVmLmN1cnJlbnQ/LnF1ZXJ5U2VsZWN0b3IoJ1tjb250ZW50ZWRpdGFibGU9XCJ0cnVlXCJdJylcbiAgICBpZiAoZWRpdG9yRWwgJiYgZWRpdG9yRWwuY29udGFpbnMoZS50YXJnZXQgYXMgTm9kZSkpIHJldHVyblxuICAgIGNvbnN0IGZpbGVzID0gZmlsZXNGcm9tRGF0YVRyYW5zZmVyKGUuY2xpcGJvYXJkRGF0YSlcbiAgICBpZiAoIWZpbGVzLmxlbmd0aCkgcmV0dXJuXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgYWRkRmlsZXMoZmlsZXMpXG4gIH1cblxuICBjb25zdCBoYW5kbGVEZWxldGVBdHRhY2htZW50ID0gKGZpbGVJZDogc3RyaW5nKSA9PiB7XG4gICAgb25EZWxldGVBdHRhY2htZW50Py4oZmlsZUlkKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlU3RvcEdlbmVyYXRpb24gPSAoKSA9PiB7XG4gICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdFN0b3BSZXNwb25zZSlcbiAgICBvblN0b3BHZW5lcmF0aW9uPy4oKVxuICB9XG5cbiAgY29uc3Qgc2hvd0NoaXBzUm93ID0gQm9vbGVhbihjb250ZXh0Q2hpcD8uaXRlbXM/Lmxlbmd0aCB8fCBhdHRhY2htZW50cy5sZW5ndGgpXG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBjaGlwc0VsID0gY2hpcHNSb3dSZWYuY3VycmVudFxuICAgIGNvbnN0IHRvb2xiYXJFbCA9IHRvb2xiYXJSb3dSZWYuY3VycmVudFxuXG4gICAgY29uc3QgdXBkYXRlSGVpZ2h0cyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG5leHRDaGlwcyA9IHNob3dDaGlwc1JvdyAmJiBjaGlwc0VsID8gTWF0aC5jZWlsKGNoaXBzRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0KSA6IDBcbiAgICAgIGNvbnN0IG5leHRUb29sYmFyID0gdG9vbGJhckVsXG4gICAgICAgID8gTWF0aC5jZWlsKHRvb2xiYXJFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQpXG4gICAgICAgIDogTUFJQV9JTlBVVF9UT09MQkFSX1JPV19IRUlHSFRfUFhcblxuICAgICAgc2V0Q2hpcHNSb3dIZWlnaHQocHJldiA9PiAocHJldiA9PT0gbmV4dENoaXBzID8gcHJldiA6IG5leHRDaGlwcykpXG4gICAgICBzZXRUb29sYmFyUm93SGVpZ2h0KHByZXYgPT4gKHByZXYgPT09IG5leHRUb29sYmFyID8gcHJldiA6IG5leHRUb29sYmFyKSlcbiAgICB9XG5cbiAgICB1cGRhdGVIZWlnaHRzKClcblxuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKHVwZGF0ZUhlaWdodHMpXG4gICAgaWYgKHNob3dDaGlwc1JvdyAmJiBjaGlwc0VsKSBvYnNlcnZlci5vYnNlcnZlKGNoaXBzRWwpXG4gICAgaWYgKHRvb2xiYXJFbCkgb2JzZXJ2ZXIub2JzZXJ2ZSh0b29sYmFyRWwpXG5cbiAgICByZXR1cm4gKCkgPT4gb2JzZXJ2ZXIuZGlzY29ubmVjdCgpXG4gIH0sIFtzaG93Q2hpcHNSb3csIGNvbnRleHRDaGlwPy5pdGVtcz8ubGVuZ3RoLCBhdHRhY2htZW50cy5sZW5ndGhdKVxuXG4gIGNvbnN0IGVkaXRvck1heEhlaWdodCA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIGdldE1haWFJbnB1dEVkaXRvck1heEhlaWdodCh7XG4gICAgICAgIGNoaXBzUm93SGVpZ2h0UHg6IGNoaXBzUm93SGVpZ2h0LFxuICAgICAgICB0b29sYmFyUm93SGVpZ2h0UHg6IHRvb2xiYXJSb3dIZWlnaHQsXG4gICAgICB9KSxcbiAgICBbY2hpcHNSb3dIZWlnaHQsIHRvb2xiYXJSb3dIZWlnaHRdXG4gIClcblxuICBjb25zdCB0b29sYmFySWNvbkNvbG9yID0gJyM4MDgwODAnXG4gIGNvbnN0IHBsdXNNZW51SWNvbkNvbG9yID0gTUFJQV9DSEFUX0lOUFVUX1VJLm1lbnVJY29uXG4gIGNvbnN0IGlzQ3VzdG9tQWdlbnQgPSBhZ2VudD8udHlwZSA9PT0gJ2N1c3RvbSdcbiAgY29uc3QgaGFzQ29yQWNjZXNzID0gQm9vbGVhbihcbiAgICBpc0N1c3RvbUFnZW50ICYmXG4gICAgYWdlbnQ/LmNvbm5lY3RvcnM/LnNvbWUoXG4gICAgICBjb25uZWN0b3IgPT5cbiAgICAgICAgY29ubmVjdG9yLmdyb3VwID09PSAnQ09SJyAmJiBjb25uZWN0b3Iuc2x1Z3Muc29tZShzbHVnID0+IHR5cGVvZiBzbHVnID09PSAnc3RyaW5nJyAmJiBzbHVnLnRyaW0oKS5sZW5ndGggPiAwKVxuICAgIClcbiAgKVxuICBjb25zdCBhZ2VudE1vZGVsTmFtZSA9IGlzQ3VzdG9tQWdlbnQgPyBhZ2VudD8ubW9kZWxfZGlzcGxheV9uYW1lPy50cmltKCkgfHwgbnVsbCA6IG51bGxcbiAgY29uc3Qgc2hvd0N1c3RvbU1ldGFJbmRpY2F0b3JzID0gaGFzQ29yQWNjZXNzIHx8IEJvb2xlYW4oYWdlbnRNb2RlbE5hbWUpXG4gIGNvbnN0IHNob3dNZW50aW9uQnV0dG9uID0gYWdlbnQ/LnR5cGUgPT09ICdvcmNoZXN0cmF0b3InIHx8IGhhc0NvckFjY2Vzc1xuXG4gIGxldCBhY3RpdmVUb29sQ2hpcExlYWRpbmdJY29uOiBSZWFjdE5vZGVcbiAgaWYgKGFjdGl2ZVRvb2xDaGlwSG92ZXJlZCkge1xuICAgIGFjdGl2ZVRvb2xDaGlwTGVhZGluZ0ljb24gPSA8Q3Jvc3MgY29sb3I9e01BSUFfQ0hBVF9JTlBVVF9VSS5jaGlwQ2xvc2VJY29ufSB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gIH0gZWxzZSBpZiAoaXNXZWJTZWFyY2hBY3RpdmUpIHtcbiAgICBhY3RpdmVUb29sQ2hpcExlYWRpbmdJY29uID0gPE1haWFJbnB1dFdlYlNlYXJjaEljb24gY29sb3I9e3BsdXNNZW51SWNvbkNvbG9yfSB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gIH0gZWxzZSB7XG4gICAgYWN0aXZlVG9vbENoaXBMZWFkaW5nSWNvbiA9IDxNYWlhSW5wdXREZWVwU2VhcmNoSWNvbiBjb2xvcj17cGx1c01lbnVJY29uQ29sb3J9IHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gLz5cbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxTdHlsZWRNQUlBSW5wdXRXcmFwcGVyXG4gICAgICAgIHJlZj17d3JhcHBlclJlZn1cbiAgICAgICAgZGlzYWJsZWQ9e2ZhbHNlfVxuICAgICAgICBhbGlnbkJ1dHRvbnM9e2FsaWduQnV0dG9uc31cbiAgICAgICAgaGFzQXR0YWNobWVudHM9eyEhYXR0YWNobWVudHMubGVuZ3RofVxuICAgICAgICAkZmlsZURyYWdBY3RpdmU9e2lzRmlsZURyYWdBY3RpdmV9XG4gICAgICAgIGRhdGEtYXBwY3Vlcz1cIm1haWFfY2hhdF9pbnB1dFwiXG4gICAgICAgIGRhdGEtbWFpYS1zdHJlYW1pbmc9e2lzU3RyZWFtaW5nID8gJ3RydWUnIDogJ2ZhbHNlJ31cbiAgICAgICAgb25QYXN0ZT17aGFuZGxlV3JhcHBlclBhc3RlfVxuICAgICAgICBvbkRyYWdFbnRlcj17aGFuZGxlRHJhZ0VudGVyfVxuICAgICAgICBvbkRyYWdMZWF2ZT17aGFuZGxlRHJhZ0xlYXZlfVxuICAgICAgICBvbkRyYWdPdmVyPXtoYW5kbGVEcmFnT3Zlcn1cbiAgICAgICAgb25Ecm9wPXtoYW5kbGVEcm9wfVxuICAgICAgPlxuICAgICAgICB7c2hvd0NoaXBzUm93ICYmIChcbiAgICAgICAgICA8U0NJbnB1dENoaXBzUm93IHJlZj17Y2hpcHNSb3dSZWZ9PlxuICAgICAgICAgICAge2NvbnRleHRDaGlwPy5pdGVtcz8ubGVuZ3RoID8gKFxuICAgICAgICAgICAgICA8Q2hpcFxuICAgICAgICAgICAgICAgIGl0ZW1zPXtjb250ZXh0Q2hpcC5pdGVtc31cbiAgICAgICAgICAgICAgICB0eXBlPXtjb250ZXh0Q2hpcC50eXBlfVxuICAgICAgICAgICAgICAgIGxlYWRpbmdJY29uPXtjb250ZXh0Q2hpcC5sZWFkaW5nSWNvbn1cbiAgICAgICAgICAgICAgICB0b29sdGlwWkluZGV4PXt0b29sdGlwWkluZGV4fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7YXR0YWNobWVudHMubWFwKChhdHRhY2htZW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBpc0ltYWdlID1cbiAgICAgICAgICAgICAgICBhdHRhY2htZW50LnR5cGU/LnN0YXJ0c1dpdGgoJ2ltYWdlLycpIHx8IC9cXC4ocG5nfGpwZT9nfGdpZnx3ZWJwfGJtcHxzdmcpJC9pLnRlc3QoYXR0YWNobWVudC5uYW1lIHx8ICcnKVxuICAgICAgICAgICAgICBjb25zdCBjaGlwSWNvbiA9IGlzSW1hZ2UgPyAoXG4gICAgICAgICAgICAgICAgPE1haWFJbnB1dEF0dGFjaG1lbnRJbWFnZUljb24gY29sb3I9XCIjODA4MDgwXCIgd2lkdGg9ezEyfSBoZWlnaHQ9ezEyfSAvPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxNYWlhSW5wdXRBdHRhY2hJY29uIGNvbG9yPVwiIzgwODA4MFwiIHdpZHRoPXsxM30gaGVpZ2h0PXsxM30gLz5cbiAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e2F0dGFjaG1lbnQubmFtZX0ga2V5PXtgJHthdHRhY2htZW50LmlkfS0ke2luZGV4fWB9IHpJbmRleD17dG9vbHRpcFpJbmRleH0+XG4gICAgICAgICAgICAgICAgICA8U0NNSUF0dGFjaG1lbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxTQ01JQXR0YWNobWVudEljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPFNDTUlBdHRhY2htZW50RmlsZUljb24+e2NoaXBJY29ufTwvU0NNSUF0dGFjaG1lbnRGaWxlSWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8U0NNSUF0dGFjaG1lbnREZWxldGVJY29uXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e3QoJ2NoYXQucmVtb3ZlQXR0YWNobWVudEFyaWEnLCB7IGRlZmF1bHRWYWx1ZTogJ1F1aXRhciBhcmNoaXZvJyB9KX1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZURlbGV0ZUF0dGFjaG1lbnQoYXR0YWNobWVudC5pZCl9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPENyb3NzIGNvbG9yPVwiIzY2NjY2NlwiIHdpZHRoPXsxNH0gaGVpZ2h0PXsxNH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L1NDTUlBdHRhY2htZW50RGVsZXRlSWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9TQ01JQXR0YWNobWVudEljb24+XG4gICAgICAgICAgICAgICAgICAgIDxTQ01JQXR0YWNobWVudE5hbWU+e2F0dGFjaG1lbnQubmFtZX08L1NDTUlBdHRhY2htZW50TmFtZT5cbiAgICAgICAgICAgICAgICAgIDwvU0NNSUF0dGFjaG1lbnQ+XG4gICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA8L1NDSW5wdXRDaGlwc1Jvdz5cbiAgICAgICAgKX1cbiAgICAgICAgPFN0eWxlZE1BSUFNYWluVG9vbGJhckdyaWQ+XG4gICAgICAgICAgPFNDSW5wdXRFZGl0b3JDZWxsPlxuICAgICAgICAgICAgPENvbnRleHRNZW50aW9uRWRpdG9yXG4gICAgICAgICAgICAgIHJlZj17ZWRpdG9yUmVmfVxuICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgICAgICAgbWF4SGVpZ2h0PXtlZGl0b3JNYXhIZWlnaHR9XG4gICAgICAgICAgICAgIG9uSW5wdXQ9e2hhbmRsZUVkaXRvcklucHV0fVxuICAgICAgICAgICAgICBvbktleURvd249e2hhbmRsZUtleURvd259XG4gICAgICAgICAgICAgIG9uUGFzdGVGaWxlcz17aGFuZGxlUGFzdGVGaWxlc31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TQ0lucHV0RWRpdG9yQ2VsbD5cbiAgICAgICAgICA8U0NJbnB1dFRvb2xiYXJSb3cgcmVmPXt0b29sYmFyUm93UmVmfT5cbiAgICAgICAgICAgIDxTdHlsZWRNQUlBUGx1c1Rvb2xiYXJDZWxsPlxuICAgICAgICAgICAgICA8UGx1c01lbnVUb29sc1Jvdz5cbiAgICAgICAgICAgICAgICA8UGx1c1RvZ2dsZUJ1dHRvblxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAkbWVudU9wZW49e3BsdXNNZW51T3Blbn1cbiAgICAgICAgICAgICAgICAgIG9uTW91c2VEb3duPXtoYW5kbGVQbHVzQnV0dG9uTW91c2VEb3dufVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlUGx1c0J1dHRvbkNsaWNrfVxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY2hhdC5vcGVuUGx1c01lbnVBcmlhJyl9XG4gICAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICBhcmlhLWV4cGFuZGVkPXtwbHVzTWVudU9wZW59XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPE1haWFJbnB1dEFkZEljb24gY29sb3I9e3Rvb2xiYXJJY29uQ29sb3J9IHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gLz5cbiAgICAgICAgICAgICAgICA8L1BsdXNUb2dnbGVCdXR0b24+XG4gICAgICAgICAgICAgICAge3Nob3dNZW50aW9uQnV0dG9uICYmIChcbiAgICAgICAgICAgICAgICAgIDxQbHVzVG9nZ2xlQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAkbWVudU9wZW49e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVNZW50aW9uQnV0dG9uQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY2hhdC5vcGVuTWVudGlvbkFyaWEnKX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPE1haWFJbnB1dE1lbnRpb25JY29uIGNvbG9yPXt0b29sYmFySWNvbkNvbG9yfSB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gICAgICAgICAgICAgICAgICA8L1BsdXNUb2dnbGVCdXR0b24+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8UG9wb3ZlclxuICAgICAgICAgICAgICAgICAgb3Blbj17cGx1c01lbnVPcGVufVxuICAgICAgICAgICAgICAgICAgYW5jaG9yRWw9e3BsdXNNZW51QW5jaG9yfVxuICAgICAgICAgICAgICAgICAgb25DbG9zZT17Y2xvc2VQbHVzTWVudX1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVBdXRvRm9jdXNcbiAgICAgICAgICAgICAgICAgIGRpc2FibGVFbmZvcmNlRm9jdXNcbiAgICAgICAgICAgICAgICAgIGRpc2FibGVSZXN0b3JlRm9jdXNcbiAgICAgICAgICAgICAgICAgIGFuY2hvck9yaWdpbj17eyB2ZXJ0aWNhbDogJ3RvcCcsIGhvcml6b250YWw6ICdsZWZ0JyB9fVxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtT3JpZ2luPXt7IHZlcnRpY2FsOiAnYm90dG9tJywgaG9yaXpvbnRhbDogJ2xlZnQnIH19XG4gICAgICAgICAgICAgICAgICBzeD17eyB6SW5kZXg6IHBsdXNNZW51WkluZGV4IH19XG4gICAgICAgICAgICAgICAgICBzbG90UHJvcHM9e3tcbiAgICAgICAgICAgICAgICAgICAgcGFwZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgICBlbGV2YXRpb246IDAsXG4gICAgICAgICAgICAgICAgICAgICAgc3g6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiAndmlzaWJsZScsXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc0cHgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgYm94U2hhZG93OiAnbm9uZScsXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5Ub3A6ICctNHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8UGx1c01lbnVQYXBlcj5cbiAgICAgICAgICAgICAgICAgICAgPFBsdXNNZW51SW5uZXJDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPFBsdXNNZW51SXRlbUJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlUGx1c01lbnVBdHRhY2h9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPE1haWFJbnB1dEF0dGFjaEljb24gY29sb3I9e3BsdXNNZW51SWNvbkNvbG9yfSB3aWR0aD17MjF9IGhlaWdodD17MjB9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8UGx1c01lbnVJdGVtTGFiZWw+e3QoJ2NoYXQucGx1c01lbnVBdHRhY2gnKX08L1BsdXNNZW51SXRlbUxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgIDwvUGx1c01lbnVJdGVtQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgIDxQbHVzTWVudURpdmlkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8UGx1c01lbnVJdGVtQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVQbHVzTWVudVdlYlNlYXJjaH0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8TWFpYUlucHV0V2ViU2VhcmNoSWNvbiBjb2xvcj17cGx1c01lbnVJY29uQ29sb3J9IHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxQbHVzTWVudUl0ZW1MYWJlbD57dCgnY2hhdC5zZWFyY2hXZWInKX08L1BsdXNNZW51SXRlbUxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAge2lzV2ViU2VhcmNoQWN0aXZlID8gPENoZWNrIGNvbG9yPXtwbHVzTWVudUljb25Db2xvcn0gd2lkdGg9ezE2fSBoZWlnaHQ9ezE2fSAvPiA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgICAgPC9QbHVzTWVudUl0ZW1CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgPFBsdXNNZW51SXRlbUJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlUGx1c01lbnVEZWVwU2VhcmNofT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxNYWlhSW5wdXREZWVwU2VhcmNoSWNvbiBjb2xvcj17cGx1c01lbnVJY29uQ29sb3J9IHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxQbHVzTWVudUl0ZW1MYWJlbD57dCgnY2hhdC5wbHVzTWVudURlZXBJbnZlc3RpZ2F0aW9uJyl9PC9QbHVzTWVudUl0ZW1MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtpc0RlZXBTZWFyY2hBY3RpdmUgPyA8Q2hlY2sgY29sb3I9e3BsdXNNZW51SWNvbkNvbG9yfSB3aWR0aD17MTZ9IGhlaWdodD17MTZ9IC8+IDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICA8L1BsdXNNZW51SXRlbUJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8UGx1c01lbnVEaXZpZGVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPFBsdXNNZW51SXRlbUJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlUGx1c01lbnVRdWlja0FjdGlvbnN9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPE1haWFJbnB1dFNsYXNoSWNvbiBjb2xvcj17cGx1c01lbnVJY29uQ29sb3J9IHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxQbHVzTWVudUl0ZW1MYWJlbD57dCgnY2hhdC5wbHVzTWVudVF1aWNrQWN0aW9ucycpfTwvUGx1c01lbnVJdGVtTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPC9QbHVzTWVudUl0ZW1CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvUGx1c01lbnVJbm5lckNvbHVtbj5cbiAgICAgICAgICAgICAgICAgIDwvUGx1c01lbnVQYXBlcj5cbiAgICAgICAgICAgICAgICA8L1BvcG92ZXI+XG4gICAgICAgICAgICAgICAgeyhpc1dlYlNlYXJjaEFjdGl2ZSB8fCBpc0RlZXBTZWFyY2hBY3RpdmUpICYmIChcbiAgICAgICAgICAgICAgICAgIDxBY3RpdmVUb29sQ2hpcFJvb3RcbiAgICAgICAgICAgICAgICAgICAgJGhvdmVyZWQ9e2FjdGl2ZVRvb2xDaGlwSG92ZXJlZH1cbiAgICAgICAgICAgICAgICAgICAgJGV4aXRpbmc9e3Rvb2xDaGlwRXhpdGluZ31cbiAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUVudGVyPXsoKSA9PiBzZXRBY3RpdmVUb29sQ2hpcEhvdmVyZWQodHJ1ZSl9XG4gICAgICAgICAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17KCkgPT4gc2V0QWN0aXZlVG9vbENoaXBIb3ZlcmVkKGZhbHNlKX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEFjdGl2ZVRvb2xDaGlwSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICRjbG9zZVNob3duPXthY3RpdmVUb29sQ2hpcEhvdmVyZWR9XG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY2hhdC5yZW1vdmVBY3RpdmVUb29sQXJpYScpfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2UgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW5Ub29sQ2hpcEV4aXQoKVxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7YWN0aXZlVG9vbENoaXBMZWFkaW5nSWNvbn1cbiAgICAgICAgICAgICAgICAgICAgPC9BY3RpdmVUb29sQ2hpcEljb25CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxBY3RpdmVUb29sQ2hpcExhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgIHtpc1dlYlNlYXJjaEFjdGl2ZSA/IHQoJ2NoYXQuc2VhcmNoV2ViJykgOiB0KCdjaGF0LnBsdXNNZW51RGVlcEludmVzdGlnYXRpb24nKX1cbiAgICAgICAgICAgICAgICAgICAgPC9BY3RpdmVUb29sQ2hpcExhYmVsPlxuICAgICAgICAgICAgICAgICAgPC9BY3RpdmVUb29sQ2hpcFJvb3Q+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9QbHVzTWVudVRvb2xzUm93PlxuICAgICAgICAgICAgPC9TdHlsZWRNQUlBUGx1c1Rvb2xiYXJDZWxsPlxuICAgICAgICAgICAgPFN0eWxlZE1BSUFTZW5kVG9vbGJhckNlbGw+XG4gICAgICAgICAgICAgIHtzaG93Q3VzdG9tTWV0YUluZGljYXRvcnMgJiYgKFxuICAgICAgICAgICAgICAgIDxTQ0lucHV0TWV0YUluZGljYXRvcnM+XG4gICAgICAgICAgICAgICAgICB7aGFzQ29yQWNjZXNzICYmIChcbiAgICAgICAgICAgICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZT17dCgnY2hhdC5mb290ZXIuY29yQWNjZXNzVG9vbHRpcCcpfVxuICAgICAgICAgICAgICAgICAgICAgIHsuLi4odG9vbHRpcFpJbmRleCAhPSBudWxsID8geyB6SW5kZXg6IHRvb2x0aXBaSW5kZXggfSA6IHt9KX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxTQ0lucHV0TWV0YUljb25CdXR0b24gYXJpYS1sYWJlbD17dCgnY2hhdC5mb290ZXIuY29yQWNjZXNzTGFiZWwnKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Q29yQWNjZXNzSWNvbiB3aWR0aD17MTV9IGhlaWdodD17MTR9IGNvbG9yPXt0b29sYmFySWNvbkNvbG9yfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvU0NJbnB1dE1ldGFJY29uQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAge2FnZW50TW9kZWxOYW1lICYmIChcbiAgICAgICAgICAgICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZT17dCgnY2hpcExsbS50b29sdGlwJywgeyBtb2RlbDogYWdlbnRNb2RlbE5hbWUgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgey4uLih0b29sdGlwWkluZGV4ICE9IG51bGwgPyB7IHpJbmRleDogdG9vbHRpcFpJbmRleCB9IDoge30pfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPFNDSW5wdXRNZXRhSWNvbkJ1dHRvbiBhcmlhLWxhYmVsPXthZ2VudE1vZGVsTmFtZX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8TWFpYUlucHV0Um9ib3RJY29uIHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gY29sb3I9e3Rvb2xiYXJJY29uQ29sb3J9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9TQ0lucHV0TWV0YUljb25CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9TQ0lucHV0TWV0YUluZGljYXRvcnM+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHtpc1dyaXRpbmcgPyAoXG4gICAgICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3QoJ2NoYXQuc3RvcCcpfSB6SW5kZXg9e3Rvb2x0aXBaSW5kZXh9PlxuICAgICAgICAgICAgICAgICAgPFN0eWxlZE1BSUFTdG9wQnV0dG9uIGRpc2FibGVkPXtmYWxzZX0gb25DbGljaz17aGFuZGxlU3RvcEdlbmVyYXRpb259IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cbiAgICAgICAgICAgICAgICAgICAgPFN0eWxlZE1BSUFTdG9wSWNvbiAvPlxuICAgICAgICAgICAgICAgICAgPC9TdHlsZWRNQUlBU3RvcEJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3QoJ2NoYXQuc2VuZCcpfSB6SW5kZXg9e3Rvb2x0aXBaSW5kZXh9PlxuICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgZGlzcGxheTogJ2lubGluZS1mbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicgfX0+XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRNQUlBU2VuZEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVNlbmRNZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtzZW5kRGlzYWJsZWQgfHwgZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgaGFzVmFsdWVzPXtoYXNUeXBpbmdQcmVzZW5jZSB8fCBhdHRhY2htZW50cy5sZW5ndGggPiAwfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPE1haWFJbnB1dFNlbmRJY29uIGNvbG9yPVwiI0JGQkZCRlwiIHdpZHRoPXsxNn0gaGVpZ2h0PXsxNn0gLz5cbiAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRNQUlBU2VuZEJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1N0eWxlZE1BSUFTZW5kVG9vbGJhckNlbGw+XG4gICAgICAgICAgPC9TQ0lucHV0VG9vbGJhclJvdz5cbiAgICAgICAgPC9TdHlsZWRNQUlBTWFpblRvb2xiYXJHcmlkPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICByZWY9e2ZpbGVJbnB1dFJlZn1cbiAgICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgICAgbXVsdGlwbGVcbiAgICAgICAgICBhY2NlcHQ9XCIudHh0LC5tZCwuY3N2LC5kb2MsLmRvY3gsLnBwdCwucHB0eCwucG5nLC5qcGcsLmpwZWcsLnBkZiwueGxzeCwueGxzLC5mbGFjLC5tNGEsLm1wMywubXA0LC5vZ2EsLm9nZywud2F2LC53ZWJtXCJcbiAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlRmlsZVNlbGVjdH1cbiAgICAgICAgICBzdHlsZT17eyBkaXNwbGF5OiAnbm9uZScgfX1cbiAgICAgICAgLz5cbiAgICAgICAge2lzRmlsZURyYWdBY3RpdmUgJiYgPFN0eWxlZE1BSUFEcm9wT3ZlcmxheT57dCgnY2hhdC5kcm9wRmlsZXNIZXJlJyl9PC9TdHlsZWRNQUlBRHJvcE92ZXJsYXk+fVxuICAgICAgPC9TdHlsZWRNQUlBSW5wdXRXcmFwcGVyPlxuICAgICAge21vZGFsUHJvcHMuaXNPcGVuICYmIChcbiAgICAgICAgPE1vZGFsRmlsZUV4Y2VlZHNcbiAgICAgICAgICBvbkNsb3NlPXsoKSA9PiBzZXRNb2RhbFByb3BzKHsgaXNPcGVuOiBmYWxzZSwgZXhjbHVkZWRGaWxlczogW10sIGV4Y2VlZGVkRmlsZXM6IFtdLCBmaWxlU2l6ZXM6IHt9IH0pfVxuICAgICAgICAgIGV4Y2x1ZGVkRmlsZXM9e21vZGFsUHJvcHMuZXhjbHVkZWRGaWxlc31cbiAgICAgICAgICBleGNlZWRlZEZpbGVzPXttb2RhbFByb3BzLmV4Y2VlZGVkRmlsZXN9XG4gICAgICAgICAgZmlsZVNpemVzPXttb2RhbFByb3BzLmZpbGVTaXplc31cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgICB7cG9wb3Zlck5vZGUgJiYgY3JlYXRlUG9ydGFsKHBvcG92ZXJOb2RlLCBkb2N1bWVudC5ib2R5KX1cbiAgICAgIHtzaG93U2xhc2hEcm9wZG93biAmJlxuICAgICAgICBjcmVhdGVQb3J0YWwoXG4gICAgICAgICAgPFNsYXNoQ29tbWFuZERyb3Bkb3duXG4gICAgICAgICAgICBjb21tYW5kcz17c2xhc2hDb21tYW5kc31cbiAgICAgICAgICAgIHF1ZXJ5PXtzbGFzaFF1ZXJ5fVxuICAgICAgICAgICAgb25TZWxlY3Q9e2hhbmRsZVNlbGVjdFNsYXNoQ29tbWFuZH1cbiAgICAgICAgICAgIG9uQ2xvc2U9e2hhbmRsZUNsb3NlU2xhc2hEcm9wZG93bn1cbiAgICAgICAgICAgIGJvdHRvbT17c2xhc2hEcm9wZG93blBvcy5ib3R0b219XG4gICAgICAgICAgICBsZWZ0PXtzbGFzaERyb3Bkb3duUG9zLmxlZnR9XG4gICAgICAgICAgICBtYXhIZWlnaHQ9e3NsYXNoRHJvcGRvd25Qb3MubWF4SGVpZ2h0fVxuICAgICAgICAgICAgekluZGV4PXtzbGFzaERyb3Bkb3duWkluZGV4fVxuICAgICAgICAgICAgYW5jaG9yUmVmPXt3cmFwcGVyUmVmfVxuICAgICAgICAgIC8+LFxuICAgICAgICAgIGRvY3VtZW50LmJvZHlcbiAgICAgICAgKX1cbiAgICA8Lz5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FRRUEsV0FBVyxFQUNYQyxTQUFTLEVBQ1RDLGVBQWUsRUFDZkMsT0FBTyxFQUNQQyxNQUFNLEVBQ05DLFFBQVEsUUFDSCxPQUFPO0FBQ2QsU0FBU0MsWUFBWSxRQUFRLFdBQVc7QUFDeEMsU0FBU0MsT0FBTyxRQUFRLGVBQWU7QUFDdkMsU0FBU0MsS0FBSyxRQUFRLHdDQUF3QztBQUM5RCxTQUFTQyxLQUFLLFFBQVEsd0NBQXdDO0FBQzlELFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFFdEUsU0FDRUMsd0JBQXdCLEVBQ3hCQyxtQkFBbUIsRUFDbkJDLGtCQUFrQixFQUNsQkMsZUFBZSxFQUNmQyxtQkFBbUIsRUFDbkJDLGtCQUFrQixFQUNsQkMsaUJBQWlCLEVBQ2pCQyxhQUFhLEVBQ2JDLGdCQUFnQixFQUNoQkMsZ0JBQWdCLEVBQ2hCQyxlQUFlLEVBQ2ZDLHFCQUFxQixFQUNyQkMscUJBQXFCLEVBQ3JCQyxjQUFjLEVBQ2RDLHdCQUF3QixFQUN4QkMsc0JBQXNCLEVBQ3RCQyxrQkFBa0IsRUFDbEJDLGtCQUFrQixFQUNsQkMsc0JBQXNCLEVBQ3RCQyxvQkFBb0IsRUFDcEJDLHlCQUF5QixFQUN6QkMsaUJBQWlCLEVBQ2pCQyxpQkFBaUIsRUFDakJDLHlCQUF5QixFQUN6QkMseUJBQXlCLEVBQ3pCQyxvQkFBb0IsRUFDcEJDLGtCQUFrQixFQUNsQkMscUJBQXFCLFFBQ2hCLFVB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
|
|
1038
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZUxheW91dEVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsImNyZWF0ZVBvcnRhbCIsIlBvcG92ZXIiLCJDaGVjayIsIkNyb3NzIiwiVG9vbHRpcCIsIkFjdGl2ZVRvb2xDaGlwSWNvbkJ1dHRvbiIsIkFjdGl2ZVRvb2xDaGlwTGFiZWwiLCJBY3RpdmVUb29sQ2hpcFJvb3QiLCJQbHVzTWVudURpdmlkZXIiLCJQbHVzTWVudUlubmVyQ29sdW1uIiwiUGx1c01lbnVJdGVtQnV0dG9uIiwiUGx1c01lbnVJdGVtTGFiZWwiLCJQbHVzTWVudVBhcGVyIiwiUGx1c01lbnVUb29sc1JvdyIsIlBsdXNUb2dnbGVCdXR0b24iLCJTQ0lucHV0Q2hpcHNSb3ciLCJTQ0lucHV0TWV0YUljb25CdXR0b24iLCJTQ0lucHV0TWV0YUluZGljYXRvcnMiLCJTQ01JQXR0YWNobWVudCIsIlNDTUlBdHRhY2htZW50RGVsZXRlSWNvbiIsIlNDTUlBdHRhY2htZW50RmlsZUljb24iLCJTQ01JQXR0YWNobWVudEljb24iLCJTQ01JQXR0YWNobWVudE5hbWUiLCJTdHlsZWRNQUlBSW5wdXRXcmFwcGVyIiwiU3R5bGVkTUFJQVNlbmRCdXR0b24iLCJTdHlsZWRNQUlBTWFpblRvb2xiYXJHcmlkIiwiU0NJbnB1dEVkaXRvckNlbGwiLCJTQ0lucHV0VG9vbGJhclJvdyIsIlN0eWxlZE1BSUFQbHVzVG9vbGJhckNlbGwiLCJTdHlsZWRNQUlBU2VuZFRvb2xiYXJDZWxsIiwiU3R5bGVkTUFJQVN0b3BCdXR0b24iLCJTdHlsZWRNQUlBU3RvcEljb24iLCJTdHlsZWRNQUlBRHJvcE92ZXJsYXkiLCJnZXRNYWlhSW5wdXRFZGl0b3JNYXhIZWlnaHQiLCJNQUlBX0lOUFVUX1RPT0xCQVJfUk9XX0hFSUdIVF9QWCIsInVzZUdsb2JhbENvbnRleHQiLCJNb2RhbEZpbGVFeGNlZWRzIiwiU2xhc2hDb21tYW5kRHJvcGRvd24iLCJ1c2VTbGFzaENvbW1hbmRzIiwicmVzb2x2ZVF1aWNrQWN0aW9uVHlwZSIsInVzZVQiLCJNYWlhSW5wdXRBZGRJY29uIiwiTWFpYUlucHV0QXR0YWNoSWNvbiIsIk1haWFJbnB1dEF0dGFjaG1lbnRJbWFnZUljb24iLCJNYWlhSW5wdXREZWVwU2VhcmNoSWNvbiIsIkNvckFjY2Vzc0ljb24iLCJNYWlhSW5wdXRNZW50aW9uSWNvbiIsIk1haWFJbnB1dFJvYm90SWNvbiIsIk1haWFJbnB1dFNlbmRJY29uIiwiTWFpYUlucHV0U2xhc2hJY29uIiwiTWFpYUlucHV0V2ViU2VhcmNoSWNvbiIsIkVWRU5UUyIsInVzZUV2ZW50IiwiZ2V0Q2hhdFRvb2xzTWVudUFnZW50VHlwZSIsIk1BSUFfQ0hBVF9JTlBVVF9VSSIsImFsbG93ZWRGaWxlVHlwZXMiLCJmaWxlVHlwZXMiLCJNQVhfRklMRV9TSVpFX01CX01BSUFfVklTSU9OIiwiTUFYX0ZJTEVfU0laRV9NQl9PTEQiLCJNQVhfRklMRV9TSVpFX01CX0FVRElPIiwiTUFYX0NIQVRfSU5QVVRfQVRUQUNITUVOVFMiLCJBUFBDVUVTX0VWRU5UUyIsInRyYWNrQXBwY3Vlc0V2ZW50IiwiQ2hpcCIsIkNvbnRleHRNZW50aW9uRWRpdG9yIiwidXNlTWFpYVRhc2tQYW5lbFpJbmRleCIsInVzZU1lbnRpb25Qb3BvdmVyIiwiZGF0YVRyYW5zZmVySGFzRmlsZXMiLCJmaWxlc0Zyb21EYXRhVHJhbnNmZXIiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJUT09MX0NISVBfRVhJVF9NUyIsIlNMQVNIX0RST1BET1dOX1dJRFRIX1BYIiwiU0xBU0hfRFJPUERPV05fTEVGVF9PRkZTRVRfUFgiLCJNQUlBSW5wdXQiLCJfcmVmIiwiX2FnZW50JGVudGl0eSIsIl9jb250ZXh0Q2hpcCRpdGVtcyIsIl9jb250ZXh0Q2hpcCRpdGVtczIiLCJfYWdlbnQkY29ubmVjdG9ycyIsIl9hZ2VudCRtb2RlbF9kaXNwbGF5XyIsIl9jb250ZXh0Q2hpcCRpdGVtczMiLCJvblNlbmRNZXNzYWdlIiwiY2xhc3NOYW1lIiwiZGlzYWJsZWQiLCJpc1N0cmVhbWluZyIsImlzV3JpdGluZyIsIm9uU3RvcEdlbmVyYXRpb24iLCJwbGFjZWhvbGRlciIsIm9uQ2hhbmdlIiwiX3JlZiRhbGlnbkJ1dHRvbnMiLCJhbGlnbkJ1dHRvbnMiLCJvbkZpbGVBdHRhY2giLCJvbkRlbGV0ZUF0dGFjaG1lbnQiLCJfcmVmJGF0dGFjaG1lbnRzIiwiYXR0YWNobWVudHMiLCJjaGF0SWQiLCJuZXdDaGF0S2V5IiwidG9vbHRpcFpJbmRleCIsImV4dGVybmFsUG9wb3ZlckFuY2hvclJlZiIsInBvcG92ZXJBbmNob3JSZWYiLCJsYXlvdXRNb2RlIiwiY29udGV4dENoaXAiLCJfdXNlVCIsInQiLCJlZGl0b3JSZWYiLCJmaWxlSW5wdXRSZWYiLCJjaGlwc1Jvd1JlZiIsInRvb2xiYXJSb3dSZWYiLCJpbnRlcm5hbFdyYXBwZXJSZWYiLCJ3cmFwcGVyUmVmIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaGFzVHlwaW5nUHJlc2VuY2UiLCJzZXRIYXNUeXBpbmdQcmVzZW5jZSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiY2hpcHNSb3dIZWlnaHQiLCJzZXRDaGlwc1Jvd0hlaWdodCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwidG9vbGJhclJvd0hlaWdodCIsInNldFRvb2xiYXJSb3dIZWlnaHQiLCJfdXNlU3RhdGU3IiwiaXNPcGVuIiwiZXhjbHVkZWRGaWxlcyIsImV4Y2VlZGVkRmlsZXMiLCJmaWxlU2l6ZXMiLCJfdXNlU3RhdGU4IiwibW9kYWxQcm9wcyIsInNldE1vZGFsUHJvcHMiLCJldmVudEFtcGxpdHVkZSIsIl91c2VHbG9iYWxDb250ZXh0IiwidG9nZ2xlV2ViU2VhcmNoIiwiaXNXZWJTZWFyY2hBY3RpdmUiLCJ0b2dnbGVEZWVwU2VhcmNoIiwiaXNEZWVwU2VhcmNoQWN0aXZlIiwiYWdlbnQiLCJpbml0aWFsRHJhZnQiLCJkZWVwTGlua1NlbmRQZW5kaW5nUmVmIiwicGx1c01lbnVaSW5kZXgiLCJpbml0aWFsRHJhZnRBcHBsaWVkUmVmIiwiX3VzZU1lbnRpb25Qb3BvdmVyIiwicG9wb3Zlck9wZW4iLCJyZXNldE1lbnRpb25PcGVuVHJhY2tpbmciLCJoYW5kbGVUcmlnZ2VyIiwiaGFuZGxlUG9wb3ZlcktleURvd24iLCJoYW5kbGVLZXlEb3duIiwicG9wb3Zlck5vZGUiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMCIsInBsdXNNZW51QW5jaG9yIiwic2V0UGx1c01lbnVBbmNob3IiLCJfdXNlU3RhdGUxIiwiX3VzZVN0YXRlMTAiLCJhY3RpdmVUb29sQ2hpcEhvdmVyZWQiLCJzZXRBY3RpdmVUb29sQ2hpcEhvdmVyZWQiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwidG9vbENoaXBFeGl0aW5nIiwic2V0VG9vbENoaXBFeGl0aW5nIiwiX3VzZVN0YXRlMTMiLCJfdXNlU3RhdGUxNCIsImlzRmlsZURyYWdBY3RpdmUiLCJzZXRJc0ZpbGVEcmFnQWN0aXZlIiwidG9vbENoaXBFeGl0VGltZXJSZWYiLCJmaWxlRHJhZ0NvdW50ZXJSZWYiLCJzZWFyY2hNb2RlQWN0aXZlUmVmIiwid2ViIiwiZGVlcCIsInBsdXNNZW51T3BlbiIsIkJvb2xlYW4iLCJwcmV2aW91c0FnZW50SWRSZWYiLCJ1bmRlZmluZWQiLCJwcmV2aW91c0NoYXRJZFJlZiIsInByZXZpb3VzTmV3Q2hhdEtleVJlZiIsInByZXZpb3VzTGF5b3V0TW9kZVJlZiIsImFuYWx5dGljc0FnZW50VHlwZSIsImFuYWx5dGljc0Nsb25lRW50aXR5UGF5bG9hZCIsInR5cGUiLCJlbnRpdHkiLCJfdXNlU2xhc2hDb21tYW5kcyIsImlkIiwic2xhc2hDb21tYW5kcyIsImNvbW1hbmRzIiwiX3VzZVN0YXRlMTUiLCJfdXNlU3RhdGUxNiIsInNob3dTbGFzaERyb3Bkb3duIiwic2V0U2hvd1NsYXNoRHJvcGRvd24iLCJfdXNlU3RhdGUxNyIsIl91c2VTdGF0ZTE4Iiwic2xhc2hRdWVyeSIsInNldFNsYXNoUXVlcnkiLCJzbGFzaE1lbnVXYXNPcGVuUmVmIiwic2xhc2hEcm9wZG93blpJbmRleCIsIl91c2VTdGF0ZTE5IiwiYm90dG9tIiwibGVmdCIsIl91c2VTdGF0ZTIwIiwic2xhc2hEcm9wZG93blBvcyIsInNldFNsYXNoRHJvcGRvd25Qb3MiLCJwb3NpdGlvblNsYXNoRHJvcGRvd24iLCJfd3JhcHBlclJlZiRjdXJyZW50IiwicmVjdCIsImN1cnJlbnQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJ3aWR0aCIsInZpZXdwb3J0SCIsIndpbmRvdyIsImlubmVySGVpZ2h0Iiwidmlld3BvcnRXIiwiaW5uZXJXaWR0aCIsIk1hdGgiLCJtYXgiLCJtaW4iLCJ0b3AiLCJoYW5kbGVyIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJzY2hlZHVsZUlucHV0Rm9jdXNBZnRlclRvb2xBY3Rpb24iLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJzZXRUaW1lb3V0IiwiX2VkaXRvclJlZiRjdXJyZW50IiwiZm9jdXMiLCJjbG9zZVBsdXNNZW51IiwiY2FuY2VsUGVuZGluZ1Rvb2xDaGlwRXhpdCIsImNsZWFyVGltZW91dCIsImhhbmRsZVBsdXNCdXR0b25Nb3VzZURvd24iLCJlIiwicHJldmVudERlZmF1bHQiLCJoYW5kbGVQbHVzQnV0dG9uQ2xpY2siLCJzdG9wUHJvcGFnYXRpb24iLCJjdXJyZW50VGFyZ2V0IiwiYWlDaGF0UGx1c09wZW4iLCJfb2JqZWN0U3ByZWFkIiwiYWdlbnRfdHlwZSIsImhhbmRsZU1lbnRpb25CdXR0b25DbGljayIsIl9lZGl0b3JSZWYkY3VycmVudDIiLCJpbnNlcnRNZW50aW9uVHJpZ2dlciIsImhhbmRsZVBsdXNNZW51QXR0YWNoIiwiX2ZpbGVJbnB1dFJlZiRjdXJyZW50IiwiYWlDaGF0VG9vbHMiLCJvcHRpb24iLCJsZW5ndGgiLCJjbGljayIsImJlZ2luVG9vbENoaXBFeGl0Iiwid2FzV2ViIiwid2FzRGVlcCIsIl9zZWFyY2hNb2RlQWN0aXZlUmVmJCIsImhhbmRsZVBsdXNNZW51V2ViU2VhcmNoIiwiaGFuZGxlUGx1c01lbnVEZWVwU2VhcmNoIiwiaGFuZGxlUGx1c01lbnVRdWlja0FjdGlvbnMiLCJfZWRpdG9yUmVmJGN1cnJlbnQzIiwiaW5zZXJ0U2xhc2hUcmlnZ2VyIiwiX2VkaXRvclJlZiRjdXJyZW50NCIsIl9lZGl0b3JSZWYkY3VycmVudDUiLCJkcmFmdCIsInRyaW0iLCJzZXRQbGFpblRleHQiLCJfZWRpdG9yUmVmJGN1cnJlbnQ2Iiwic2VuZERpc2FibGVkIiwiYWdlbnRDaGFuZ2VkIiwicHJldmlvdXNDaGF0SWQiLCJjdXJyZW50Q2hhdElkIiwiY2hhdENoYW5nZWQiLCJjaGFuZ2VkRnJvbU5ld0NoYXRUb09sZENoYXQiLCJuZXdDaGF0U3RhcnRlZCIsImlzSW5pdGlhbE1vdW50IiwiZGVsYXkiLCJfZWRpdG9yUmVmJGN1cnJlbnQ3IiwicHJldmlvdXNMYXlvdXRNb2RlIiwidGltZW91dElkIiwiX2VkaXRvclJlZiRjdXJyZW50OCIsImlzU3BlY2lhbGlzdEFnZW50Iiwib2JzZXJ2ZXIiLCJJbnRlcnNlY3Rpb25PYnNlcnZlciIsIl9yZWYyIiwiX3JlZjMiLCJlbnRyeSIsImlzSW50ZXJzZWN0aW5nIiwibWFpYUNvbnRleHRNZW50aW9uSW5pdCIsImRpc2Nvbm5lY3QiLCJ0aHJlc2hvbGQiLCJvYnNlcnZlIiwiaGFuZGxlU2Vzc2lvbkNoYW5nZSIsIl9lZGl0b3JSZWYkY3VycmVudDkiLCJjbGVhciIsImRvY3VtZW50IiwiaGFuZGxlUmVmb2N1cyIsIl9lZGl0b3JSZWYkY3VycmVudDAiLCJoYW5kbGVTZW5kTWVzc2FnZSIsIl9lZGl0b3JSZWYkY3VycmVudDEiLCJfc3RhdGUkdGV4dCIsIl9zdGF0ZSRtZW50aW9ucyIsIl9lZGl0b3JSZWYkY3VycmVudDEwIiwic3RhdGUiLCJzZXJpYWxpemUiLCJ0ZXh0IiwibWVudGlvbnMiLCJoYW5kbGVTZWxlY3RTbGFzaENvbW1hbmQiLCJjb21tYW5kIiwiX2VkaXRvclJlZiRjdXJyZW50MTEiLCJfc3RhdGUkdGV4dDIiLCJfZWRpdG9yUmVmJGN1cnJlbnQxMyIsImFpQ2hhdFF1aWNrQWN0aW9uU2VsZWN0IiwidHlwZV9xdWlja19hY3Rpb24iLCJvcmlnaW5fcXVpY2tfYWN0aW9uIiwidHJpZ2dlclBhcnQiLCJjb25jYXQiLCJiZWZvcmVUcmlnZ2VyIiwiZW5kc1dpdGgiLCJzbGljZSIsImlzRW1wdHlCZWZvcmVUcmlnZ2VyIiwiX2VkaXRvclJlZiRjdXJyZW50MTIiLCJ0aXRsZSIsImluc2VydFNsYXNoQ29tbWFuZCIsImxhYmVsIiwiaGFuZGxlQ2xvc2VTbGFzaERyb3Bkb3duIiwiaGFuZGxlRWRpdG9ySW5wdXQiLCJfcmVmNCIsInRyaWdnZXIiLCJzbGFzaFRyaWdnZXIiLCJhY3RpdmUiLCJhaUNoYXRRdWlja0FjdGlvbk9wZW4iLCJxdWVyeSIsImtleSIsInNoaWZ0S2V5IiwiYWRkRmlsZXMiLCJpbmNvbWluZyIsImZpbGVzSW5zZXJ0ZWQiLCJpc05ld0Zvcm1hdCIsImV4dGVuc2lvbiIsImluY2x1ZGVzIiwiaXNPbGRGb3JtYXQiLCJpc0F1ZGlvRm9ybWF0IiwiZm9yRWFjaCIsImZpbGUiLCJfZmlsZU5hbWVQYXJ0cyRwb3AiLCJleGNsdWRlZEZpbGUiLCJmaWxlTmFtZVBhcnRzIiwibmFtZSIsInNwbGl0IiwiZmlsZUV4dGVuc2lvbiIsInBvcCIsInRvTG93ZXJDYXNlIiwic2l6ZSIsInB1c2giLCJ0eXBlRmlsZSIsInBhcnNlZEZpbGUiLCJGaWxlIiwiaGFuZGxlRmlsZVNlbGVjdCIsImZpbGVzIiwidGFyZ2V0IiwiQXJyYXkiLCJmcm9tIiwidmFsdWUiLCJyZXNldEZpbGVEcmFnIiwiaGFuZGxlRHJhZ0VudGVyIiwiZGF0YVRyYW5zZmVyIiwiaGFuZGxlRHJhZ0xlYXZlIiwiaGFuZGxlRHJhZ092ZXIiLCJkcm9wRWZmZWN0IiwiaGFuZGxlRHJvcCIsImhhbmRsZVBhc3RlRmlsZXMiLCJoYW5kbGVXcmFwcGVyUGFzdGUiLCJfd3JhcHBlclJlZiRjdXJyZW50MiIsImVkaXRvckVsIiwicXVlcnlTZWxlY3RvciIsImNvbnRhaW5zIiwiY2xpcGJvYXJkRGF0YSIsImhhbmRsZURlbGV0ZUF0dGFjaG1lbnQiLCJmaWxlSWQiLCJoYW5kbGVTdG9wR2VuZXJhdGlvbiIsImFpQ2hhdFN0b3BSZXNwb25zZSIsInNob3dDaGlwc1JvdyIsIml0ZW1zIiwiY2hpcHNFbCIsInRvb2xiYXJFbCIsInVwZGF0ZUhlaWdodHMiLCJuZXh0Q2hpcHMiLCJjZWlsIiwiaGVpZ2h0IiwibmV4dFRvb2xiYXIiLCJwcmV2IiwiUmVzaXplT2JzZXJ2ZXIiLCJlZGl0b3JNYXhIZWlnaHQiLCJjaGlwc1Jvd0hlaWdodFB4IiwidG9vbGJhclJvd0hlaWdodFB4IiwidG9vbGJhckljb25Db2xvciIsInBsdXNNZW51SWNvbkNvbG9yIiwibWVudUljb24iLCJpc0N1c3RvbUFnZW50IiwiaGFzQ29yQWNjZXNzIiwiY29ubmVjdG9ycyIsInNvbWUiLCJjb25uZWN0b3IiLCJncm91cCIsInNsdWdzIiwic2x1ZyIsImFnZW50TW9kZWxOYW1lIiwibW9kZWxfZGlzcGxheV9uYW1lIiwic2hvd0N1c3RvbU1ldGFJbmRpY2F0b3JzIiwic2hvd01lbnRpb25CdXR0b24iLCJhY3RpdmVUb29sQ2hpcExlYWRpbmdJY29uIiwiY29sb3IiLCJjaGlwQ2xvc2VJY29uIiwiY2hpbGRyZW4iLCJyZWYiLCJoYXNBdHRhY2htZW50cyIsIiRmaWxlRHJhZ0FjdGl2ZSIsIm9uUGFzdGUiLCJvbkRyYWdFbnRlciIsIm9uRHJhZ0xlYXZlIiwib25EcmFnT3ZlciIsIm9uRHJvcCIsImxlYWRpbmdJY29uIiwibWFwIiwiYXR0YWNobWVudCIsImluZGV4IiwiX2F0dGFjaG1lbnQkdHlwZSIsImlzSW1hZ2UiLCJzdGFydHNXaXRoIiwidGVzdCIsImNoaXBJY29uIiwiekluZGV4IiwiZGVmYXVsdFZhbHVlIiwib25DbGljayIsIm1heEhlaWdodCIsIm9uSW5wdXQiLCJvbktleURvd24iLCJvblBhc3RlRmlsZXMiLCIkbWVudU9wZW4iLCJvbk1vdXNlRG93biIsIm9wZW4iLCJhbmNob3JFbCIsIm9uQ2xvc2UiLCJkaXNhYmxlQXV0b0ZvY3VzIiwiZGlzYWJsZUVuZm9yY2VGb2N1cyIsImRpc2FibGVSZXN0b3JlRm9jdXMiLCJhbmNob3JPcmlnaW4iLCJ2ZXJ0aWNhbCIsImhvcml6b250YWwiLCJ0cmFuc2Zvcm1PcmlnaW4iLCJzeCIsInNsb3RQcm9wcyIsInBhcGVyIiwiZWxldmF0aW9uIiwib3ZlcmZsb3ciLCJib3JkZXJSYWRpdXMiLCJib3hTaGFkb3ciLCJiYWNrZ3JvdW5kQ29sb3IiLCJtYXJnaW5Ub3AiLCIkaG92ZXJlZCIsIiRleGl0aW5nIiwib25Nb3VzZUVudGVyIiwib25Nb3VzZUxlYXZlIiwiJGNsb3NlU2hvd24iLCJtb2RlbCIsInN0eWxlIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJoYXNWYWx1ZXMiLCJtdWx0aXBsZSIsImFjY2VwdCIsImJvZHkiLCJvblNlbGVjdCIsImFuY2hvclJlZiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL01BSUFJbnB1dC9NQUlBSW5wdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXJlc3RyaWN0ZWQtc3ludGF4ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1jb250aW51ZSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tdm9pZCAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3Qvbm8tYXJyYXktaW5kZXgta2V5ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1sb25lbHktaWYgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIHByZWZlci1kZXN0cnVjdHVyaW5nICovXG4vKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9jbGljay1ldmVudHMtaGF2ZS1rZXktZXZlbnRzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9uby1zdGF0aWMtZWxlbWVudC1pbnRlcmFjdGlvbnMgKi9cbmltcG9ydCB7XG4gIENoYW5nZUV2ZW50LFxuICBDbGlwYm9hcmRFdmVudCxcbiAgRHJhZ0V2ZW50LFxuICBLZXlib2FyZEV2ZW50LFxuICBNb3VzZUV2ZW50LFxuICBSZWFjdE5vZGUsXG4gIE11dGFibGVSZWZPYmplY3QsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQgeyBQb3BvdmVyIH0gZnJvbSAnQG11aS9tYXRlcmlhbCdcbmltcG9ydCB7IENoZWNrIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ2hlY2snXG5pbXBvcnQgeyBDcm9zcyB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0Nyb3NzJ1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuXG5pbXBvcnQge1xuICBBY3RpdmVUb29sQ2hpcEljb25CdXR0b24sXG4gIEFjdGl2ZVRvb2xDaGlwTGFiZWwsXG4gIEFjdGl2ZVRvb2xDaGlwUm9vdCxcbiAgUGx1c01lbnVEaXZpZGVyLFxuICBQbHVzTWVudUlubmVyQ29sdW1uLFxuICBQbHVzTWVudUl0ZW1CdXR0b24sXG4gIFBsdXNNZW51SXRlbUxhYmVsLFxuICBQbHVzTWVudVBhcGVyLFxuICBQbHVzTWVudVRvb2xzUm93LFxuICBQbHVzVG9nZ2xlQnV0dG9uLFxuICBTQ0lucHV0Q2hpcHNSb3csXG4gIFNDSW5wdXRNZXRhSWNvbkJ1dHRvbixcbiAgU0NJbnB1dE1ldGFJbmRpY2F0b3JzLFxuICBTQ01JQXR0YWNobWVudCxcbiAgU0NNSUF0dGFjaG1lbnREZWxldGVJY29uLFxuICBTQ01JQXR0YWNobWVudEZpbGVJY29uLFxuICBTQ01JQXR0YWNobWVudEljb24sXG4gIFNDTUlBdHRhY2htZW50TmFtZSxcbiAgU3R5bGVkTUFJQUlucHV0V3JhcHBlcixcbiAgU3R5bGVkTUFJQVNlbmRCdXR0b24sXG4gIFN0eWxlZE1BSUFNYWluVG9vbGJhckdyaWQsXG4gIFNDSW5wdXRFZGl0b3JDZWxsLFxuICBTQ0lucHV0VG9vbGJhclJvdyxcbiAgU3R5bGVkTUFJQVBsdXNUb29sYmFyQ2VsbCxcbiAgU3R5bGVkTUFJQVNlbmRUb29sYmFyQ2VsbCxcbiAgU3R5bGVkTUFJQVN0b3BCdXR0b24sXG4gIFN0eWxlZE1BSUFTdG9wSWNvbixcbiAgU3R5bGVkTUFJQURyb3BPdmVybGF5LFxufSBmcm9tICcuL3N0eWxlcydcbmltcG9ydCB7IGdldE1haWFJbnB1dEVkaXRvck1heEhlaWdodCwgTUFJQV9JTlBVVF9UT09MQkFSX1JPV19IRUlHSFRfUFggfSBmcm9tICcuL21haWFJbnB1dExheW91dCdcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgTW9kYWxGaWxlRXhjZWVkcyB9IGZyb20gJy4uLy4uL29yZ2FuaXNtcy9Nb2RhbEZpbGVFeGNlZWRzJ1xuaW1wb3J0IHsgU2xhc2hDb21tYW5kRHJvcGRvd24gfSBmcm9tICcuLi9TbGFzaENvbW1hbmREcm9wZG93bidcbmltcG9ydCB7IHVzZVNsYXNoQ29tbWFuZHMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VTbGFzaENvbW1hbmRzJ1xuaW1wb3J0IHsgcmVzb2x2ZVF1aWNrQWN0aW9uVHlwZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2hvdXJzUGxhbm5lclF1aWNrQWN0aW9uVHlwZSdcbmltcG9ydCB0eXBlIHsgQWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvQWN0aW9uJ1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyBNYWlhSW5wdXRBZGRJY29uIH0gZnJvbSAnLi4vaWNvbnMvTWFpYUlucHV0QWRkSWNvbidcbmltcG9ydCB7IE1haWFJbnB1dEF0dGFjaEljb24gfSBmcm9tICcuLi9pY29ucy9NYWlhSW5wdXRBdHRhY2hJY29uJ1xuaW1wb3J0IHsgTWFpYUlucHV0QXR0YWNobWVudEltYWdlSWNvbiB9IGZyb20gJy4uL2ljb25zL01haWFJbnB1dEF0dGFjaG1lbnRJbWFnZUljb24nXG5pbXBvcnQgeyBNYWlhSW5wdXREZWVwU2VhcmNoSWNvbiB9IGZyb20gJy4uL2ljb25zL01haWFJbnB1dERlZXBTZWFyY2hJY29uJ1xuaW1wb3J0IHsgQ29yQWNjZXNzSWNvbiB9IGZyb20gJy4uL2ljb25zL0NvckFjY2Vzc0ljb24nXG5pbXBvcnQgeyBNYWlhSW5wdXRNZW50aW9uSWNvbiB9IGZyb20gJy4uL2ljb25zL01haWFJbnB1dE1lbnRpb25JY29uJ1xuaW1wb3J0IHsgTWFpYUlucHV0Um9ib3RJY29uIH0gZnJvbSAnLi4vaWNvbnMvTWFpYUlucHV0Um9ib3RJY29uJ1xuaW1wb3J0IHsgTWFpYUlucHV0U2VuZEljb24gfSBmcm9tICcuLi9pY29ucy9NYWlhSW5wdXRTZW5kSWNvbidcbmltcG9ydCB7IE1haWFJbnB1dFNsYXNoSWNvbiB9IGZyb20gJy4uL2ljb25zL01haWFJbnB1dFNsYXNoSWNvbidcbmltcG9ydCB7IE1haWFJbnB1dFdlYlNlYXJjaEljb24gfSBmcm9tICcuLi9pY29ucy9NYWlhSW5wdXRXZWJTZWFyY2hJY29uJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgZ2V0Q2hhdFRvb2xzTWVudUFnZW50VHlwZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2hpdGxBbmFseXRpY3MnXG5pbXBvcnQgeyBNQUlBX0NIQVRfSU5QVVRfVUkgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvY29uZmlnJ1xuaW1wb3J0IHtcbiAgYWxsb3dlZEZpbGVUeXBlcyxcbiAgZmlsZVR5cGVzLFxuICBNQVhfRklMRV9TSVpFX01CX01BSUFfVklTSU9OLFxuICBNQVhfRklMRV9TSVpFX01CX09MRCxcbiAgTUFYX0ZJTEVfU0laRV9NQl9BVURJTyxcbiAgTUFYX0NIQVRfSU5QVVRfQVRUQUNITUVOVFMsXG59IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9mb3JtYXRFeHRlbnNpb25zJ1xuaW1wb3J0IHsgQVBQQ1VFU19FVkVOVFMsIHRyYWNrQXBwY3Vlc0V2ZW50IH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXBwY3VlcydcbmltcG9ydCB7IENoaXAgfSBmcm9tICcuLi9DaGlwJ1xuaW1wb3J0IHsgQ29udGV4dE1lbnRpb25FZGl0b3IsIENvbnRleHRNZW50aW9uRWRpdG9ySGFuZGxlIH0gZnJvbSAnLi4vQ29udGV4dE1lbnRpb25FZGl0b3InXG5pbXBvcnQgeyB1c2VNYWlhVGFza1BhbmVsWkluZGV4IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlTWFpYVRhc2tQYW5lbFpJbmRleCdcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGVcbmltcG9ydCB7IHVzZU1lbnRpb25Qb3BvdmVyIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlTWVudGlvblBvcG92ZXInXG5pbXBvcnQgeyBDb250ZXh0RW50aXR5VHlwZSwgQ29udGV4dE1lbnRpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcy9jb250ZXh0TWVudGlvbidcbmltcG9ydCB7IGRhdGFUcmFuc2Zlckhhc0ZpbGVzLCBmaWxlc0Zyb21EYXRhVHJhbnNmZXIgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jaGF0SW5wdXRGaWxlcydcblxuY29uc3QgVE9PTF9DSElQX0VYSVRfTVMgPSAyMjBcbmNvbnN0IFNMQVNIX0RST1BET1dOX1dJRFRIX1BYID0gMzQwXG5jb25zdCBTTEFTSF9EUk9QRE9XTl9MRUZUX09GRlNFVF9QWCA9IDI0XG5cbnR5cGUgQXR0YWNobWVudEZpbGUgPSB7XG4gIGZpbGU6IEZpbGVcbiAgb3JpZ2luYWxGaWxlPzogRmlsZVxuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBzaXplOiBudW1iZXJcbiAgdHlwZTogc3RyaW5nXG4gIGljb24/OiBSZWFjdE5vZGVcbn1cblxudHlwZSBNQUlBSW5wdXRQcm9wcyA9IHtcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBvblNlbmRNZXNzYWdlOiAoXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSxcbiAgICBtZW50aW9ucz86IENvbnRleHRNZW50aW9uW10sXG4gICAgZmFxSWQ/OiBzdHJpbmcsXG4gICAgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmcsXG4gICAgZnVhSWQ/OiBzdHJpbmcsXG4gICAgc2NJZD86IHN0cmluZ1xuICApID0+IHZvaWRcbiAgb25TdG9wR2VuZXJhdGlvbj86ICgoKSA9PiB2b2lkKSB8IG51bGxcbiAgaXNTdHJlYW1pbmc/OiBib29sZWFuXG4gIGlzV3JpdGluZz86IGJvb2xlYW5cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgb25DaGFuZ2U/OiAoKSA9PiB2b2lkXG4gIGFsaWduQnV0dG9ucz86ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCdcbiAgb25GaWxlQXR0YWNoPzogKGZpbGU6IEZpbGUpID0+IHZvaWRcbiAgb25EZWxldGVBdHRhY2htZW50PzogKGZpbGVJZDogc3RyaW5nKSA9PiB2b2lkXG4gIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXVxuICBjaGF0SWQ/OiBzdHJpbmdcbiAgbmV3Q2hhdEtleT86IG51bWJlclxuICB0b29sdGlwWkluZGV4PzogbnVtYmVyXG4gIC8qKiBFeHBvbmUgZWwgd3JhcHBlciBkZWwgaW5wdXQgcGFyYSBhbmNsYXIgcG9wb3ZlcnMgKG1lbmNpb25lcywgcGluIGRlIGNvbnRleHRvKS4gKi9cbiAgcG9wb3ZlckFuY2hvclJlZj86IE11dGFibGVSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBudWxsPlxuICBsYXlvdXRNb2RlPzogJ3NpZGViYXInIHwgJ2Z1bGxzY3JlZW4nIHwgJ2Zsb2F0aW5nJ1xuICAvKiogQ2hpcCBkZSBjb250ZXh0byAodGFyZWEvcHJveWVjdG8vY2xpZW50ZS9nbG9iYWwpIG1vc3RyYWRvIGVuIGxhIHRvb2xiYXIgZGVsIGlucHV0LiAqL1xuICBjb250ZXh0Q2hpcD86IHtcbiAgICBpdGVtczogc3RyaW5nW11cbiAgICB0eXBlPzogQ29udGV4dEVudGl0eVR5cGVcbiAgICBsZWFkaW5nSWNvbj86IFJlYWN0Tm9kZVxuICB9IHwgbnVsbFxufVxuXG5leHBvcnQgY29uc3QgTUFJQUlucHV0ID0gKHtcbiAgb25TZW5kTWVzc2FnZSxcbiAgY2xhc3NOYW1lLFxuICBkaXNhYmxlZCxcbiAgaXNTdHJlYW1pbmcsXG4gIGlzV3JpdGluZyxcbiAgb25TdG9wR2VuZXJhdGlvbixcbiAgcGxhY2Vob2xkZXIsXG4gIG9uQ2hhbmdlLFxuICBhbGlnbkJ1dHRvbnMgPSAndmVydGljYWwnLFxuICBvbkZpbGVBdHRhY2gsXG4gIG9uRGVsZXRlQXR0YWNobWVudCxcbiAgYXR0YWNobWVudHMgPSBbXSxcbiAgY2hhdElkLFxuICBuZXdDaGF0S2V5LFxuICB0b29sdGlwWkluZGV4LFxuICBwb3BvdmVyQW5jaG9yUmVmOiBleHRlcm5hbFBvcG92ZXJBbmNob3JSZWYsXG4gIGxheW91dE1vZGUsXG4gIGNvbnRleHRDaGlwLFxufTogTUFJQUlucHV0UHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUKClcbiAgY29uc3QgZWRpdG9yUmVmID0gdXNlUmVmPENvbnRleHRNZW50aW9uRWRpdG9ySGFuZGxlPihudWxsKVxuICBjb25zdCBmaWxlSW5wdXRSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcbiAgY29uc3QgY2hpcHNSb3dSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHRvb2xiYXJSb3dSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGludGVybmFsV3JhcHBlclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3Qgd3JhcHBlclJlZiA9IGV4dGVybmFsUG9wb3ZlckFuY2hvclJlZiA/PyBpbnRlcm5hbFdyYXBwZXJSZWZcbiAgY29uc3QgW2hhc1R5cGluZ1ByZXNlbmNlLCBzZXRIYXNUeXBpbmdQcmVzZW5jZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2NoaXBzUm93SGVpZ2h0LCBzZXRDaGlwc1Jvd0hlaWdodF0gPSB1c2VTdGF0ZSgwKVxuICBjb25zdCBbdG9vbGJhclJvd0hlaWdodCwgc2V0VG9vbGJhclJvd0hlaWdodF0gPSB1c2VTdGF0ZShNQUlBX0lOUFVUX1RPT0xCQVJfUk9XX0hFSUdIVF9QWClcbiAgY29uc3QgW21vZGFsUHJvcHMsIHNldE1vZGFsUHJvcHNdID0gdXNlU3RhdGUoe1xuICAgIGlzT3BlbjogZmFsc2UsXG4gICAgZXhjbHVkZWRGaWxlczogW10gYXMgc3RyaW5nW10sXG4gICAgZXhjZWVkZWRGaWxlczogW10gYXMgc3RyaW5nW10sXG4gICAgZmlsZVNpemVzOiB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+LFxuICB9KVxuICBjb25zdCBldmVudEFtcGxpdHVkZSA9IHVzZUV2ZW50KClcbiAgY29uc3Qge1xuICAgIHRvZ2dsZVdlYlNlYXJjaCxcbiAgICBpc1dlYlNlYXJjaEFjdGl2ZSxcbiAgICB0b2dnbGVEZWVwU2VhcmNoLFxuICAgIGlzRGVlcFNlYXJjaEFjdGl2ZSxcbiAgICBhZ2VudCxcbiAgICBpbml0aWFsRHJhZnQsXG4gICAgZGVlcExpbmtTZW5kUGVuZGluZ1JlZixcbiAgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCBwbHVzTWVudVpJbmRleCA9IHVzZU1haWFUYXNrUGFuZWxaSW5kZXgoMTMwMCwgJ292ZXJsYXknKVxuICBjb25zdCBpbml0aWFsRHJhZnRBcHBsaWVkUmVmID0gdXNlUmVmKGZhbHNlKVxuXG4gIGNvbnN0IHtcbiAgICBwb3BvdmVyT3BlbixcbiAgICByZXNldE1lbnRpb25PcGVuVHJhY2tpbmcsXG4gICAgaGFuZGxlVHJpZ2dlcixcbiAgICBoYW5kbGVLZXlEb3duOiBoYW5kbGVQb3BvdmVyS2V5RG93bixcbiAgICBwb3BvdmVyTm9kZSxcbiAgfSA9IHVzZU1lbnRpb25Qb3BvdmVyKHtcbiAgICBlZGl0b3JSZWYsXG4gICAgcG9wb3ZlckFuY2hvclJlZjogd3JhcHBlclJlZixcbiAgfSlcblxuICBjb25zdCBbcGx1c01lbnVBbmNob3IsIHNldFBsdXNNZW51QW5jaG9yXSA9IHVzZVN0YXRlPEhUTUxCdXR0b25FbGVtZW50IHwgbnVsbD4obnVsbClcbiAgY29uc3QgW2FjdGl2ZVRvb2xDaGlwSG92ZXJlZCwgc2V0QWN0aXZlVG9vbENoaXBIb3ZlcmVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbdG9vbENoaXBFeGl0aW5nLCBzZXRUb29sQ2hpcEV4aXRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtpc0ZpbGVEcmFnQWN0aXZlLCBzZXRJc0ZpbGVEcmFnQWN0aXZlXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCB0b29sQ2hpcEV4aXRUaW1lclJlZiA9IHVzZVJlZjxSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGw+KG51bGwpXG4gIGNvbnN0IGZpbGVEcmFnQ291bnRlclJlZiA9IHVzZVJlZigwKVxuICBjb25zdCBzZWFyY2hNb2RlQWN0aXZlUmVmID0gdXNlUmVmKHsgd2ViOiBmYWxzZSwgZGVlcDogZmFsc2UgfSlcbiAgY29uc3QgcGx1c01lbnVPcGVuID0gQm9vbGVhbihwbHVzTWVudUFuY2hvcilcblxuICAvLyBJbmljaWFsaXphciBsYXMgcmVmZXJlbmNpYXMgY29tbyB1bmRlZmluZWQgcGFyYSBkZXRlY3RhciBlbCBwcmltZXIgY2FtYmlvIGNvcnJlY3RhbWVudGVcbiAgY29uc3QgcHJldmlvdXNBZ2VudElkUmVmID0gdXNlUmVmPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKVxuICBjb25zdCBwcmV2aW91c0NoYXRJZFJlZiA9IHVzZVJlZjxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZClcbiAgY29uc3QgcHJldmlvdXNOZXdDaGF0S2V5UmVmID0gdXNlUmVmPG51bWJlciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKVxuICBjb25zdCBwcmV2aW91c0xheW91dE1vZGVSZWYgPSB1c2VSZWY8TUFJQUlucHV0UHJvcHNbJ2xheW91dE1vZGUnXT4odW5kZWZpbmVkKVxuXG4gIGNvbnN0IGFuYWx5dGljc0FnZW50VHlwZSA9IGdldENoYXRUb29sc01lbnVBZ2VudFR5cGUoYWdlbnQpXG4gIGNvbnN0IGFuYWx5dGljc0Nsb25lRW50aXR5UGF5bG9hZCA9IGFnZW50Py50eXBlID09PSAnY2xvbmUnID8geyBlbnRpdHk6IGFnZW50LmVudGl0eSA/PyBudWxsIH0gOiB7fVxuXG4gIC8vIFNsYXNoIGNvbW1hbmRzIGFwbGljYW4gYSBjbG9uZXMgZXNwZWNpYWxpc3RhcyB5IGFsIG9yY2hlc3RyYXRvciBnbG9iYWwgKGVzdGUgYWdyZWdhIGxvcyBkZSBzdXMgc3ViYWdlbnRlcykuXG4gIC8vIExvcyBjdXN0b20geSBsb3MgY2xvbmUgZ2xvYmFsL21haWFrZXIgbm8gbG9zIHRpZW5lbiBoYWJpbGl0YWRvcy5cbiAgY29uc3QgeyBjb21tYW5kczogc2xhc2hDb21tYW5kcyB9ID0gdXNlU2xhc2hDb21tYW5kcyhcbiAgICAoYWdlbnQ/LnR5cGUgPT09ICdvcmNoZXN0cmF0b3InICYmIGFnZW50Py5lbnRpdHkgPT09ICdnbG9iYWwnKSB8fFxuICAgICAgKGFnZW50Py50eXBlID09PSAnY2xvbmUnICYmIGFnZW50Py5lbnRpdHkgIT09ICdnbG9iYWwnKVxuICAgICAgPyBhZ2VudD8uaWRcbiAgICAgIDogdW5kZWZpbmVkXG4gIClcbiAgY29uc3QgW3Nob3dTbGFzaERyb3Bkb3duLCBzZXRTaG93U2xhc2hEcm9wZG93bl0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3NsYXNoUXVlcnksIHNldFNsYXNoUXVlcnldID0gdXNlU3RhdGUoJycpXG4gIGNvbnN0IHNsYXNoTWVudVdhc09wZW5SZWYgPSB1c2VSZWYoZmFsc2UpXG4gIGNvbnN0IHNsYXNoRHJvcGRvd25aSW5kZXggPSB1c2VNYWlhVGFza1BhbmVsWkluZGV4KDEyMDAsICdvdmVybGF5JylcbiAgY29uc3QgW3NsYXNoRHJvcGRvd25Qb3MsIHNldFNsYXNoRHJvcGRvd25Qb3NdID0gdXNlU3RhdGUoeyBib3R0b206IDAsIGxlZnQ6IDAgfSlcblxuICBjb25zdCBwb3NpdGlvblNsYXNoRHJvcGRvd24gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3QgcmVjdCA9IHdyYXBwZXJSZWYuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICBpZiAoIXJlY3QgfHwgcmVjdC53aWR0aCA8PSAwKSByZXR1cm5cblxuICAgIGNvbnN0IHZpZXdwb3J0SCA9IHdpbmRvdy5pbm5lckhlaWdodFxuICAgIGNvbnN0IHZpZXdwb3J0VyA9IHdpbmRvdy5pbm5lcldpZHRoXG4gICAgY29uc3QgbGVmdCA9IE1hdGgubWF4KFxuICAgICAgOCxcbiAgICAgIE1hdGgubWluKHZpZXdwb3J0VyAtIFNMQVNIX0RST1BET1dOX1dJRFRIX1BYIC0gOCwgcmVjdC5sZWZ0ICsgU0xBU0hfRFJPUERPV05fTEVGVF9PRkZTRVRfUFgpXG4gICAgKVxuXG4gICAgc2V0U2xhc2hEcm9wZG93blBvcyh7XG4gICAgICBsZWZ0LFxuICAgICAgYm90dG9tOiB2aWV3cG9ydEggLSByZWN0LnRvcCArIDQsXG4gICAgfSlcbiAgfSwgW3dyYXBwZXJSZWZdKVxuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFzaG93U2xhc2hEcm9wZG93bikgcmV0dXJuIHVuZGVmaW5lZFxuXG4gICAgcG9zaXRpb25TbGFzaERyb3Bkb3duKClcblxuICAgIGNvbnN0IGhhbmRsZXIgPSAoKSA9PiBwb3NpdGlvblNsYXNoRHJvcGRvd24oKVxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVyLCB0cnVlKVxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBoYW5kbGVyKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVyLCB0cnVlKVxuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGhhbmRsZXIpXG4gICAgfVxuICB9LCBbc2hvd1NsYXNoRHJvcGRvd24sIHBvc2l0aW9uU2xhc2hEcm9wZG93bl0pXG5cbiAgLyoqIFRyYXMgZWxlZ2lyIG8gcXVpdGFyIGLDunNxdWVkYSB3ZWIvcHJvZnVuZGE6IHZvbHZlciBhbCB0ZXh0YXJlYSAoUG9wb3Zlci9tZW51IHB1ZWRlIHJvYmFyIGZvY28pLiAqL1xuICBjb25zdCBzY2hlZHVsZUlucHV0Rm9jdXNBZnRlclRvb2xBY3Rpb24gPSAoKSA9PiB7XG4gICAgaWYgKGRpc2FibGVkKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgZWRpdG9yUmVmLmN1cnJlbnQ/LmZvY3VzKClcbiAgICAgIH0sIDApXG4gICAgfSlcbiAgfVxuXG4gIGNvbnN0IGNsb3NlUGx1c01lbnUgPSAoKSA9PiB7XG4gICAgc2V0UGx1c01lbnVBbmNob3IobnVsbClcbiAgICBzY2hlZHVsZUlucHV0Rm9jdXNBZnRlclRvb2xBY3Rpb24oKVxuICB9XG5cbiAgY29uc3QgY2FuY2VsUGVuZGluZ1Rvb2xDaGlwRXhpdCA9ICgpID0+IHtcbiAgICBpZiAodG9vbENoaXBFeGl0VGltZXJSZWYuY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRvb2xDaGlwRXhpdFRpbWVyUmVmLmN1cnJlbnQpXG4gICAgICB0b29sQ2hpcEV4aXRUaW1lclJlZi5jdXJyZW50ID0gbnVsbFxuICAgIH1cbiAgICBzZXRUb29sQ2hpcEV4aXRpbmcoZmFsc2UpXG4gIH1cblxuICBjb25zdCBoYW5kbGVQbHVzQnV0dG9uTW91c2VEb3duID0gKGU6IE1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+KSA9PiB7XG4gICAgLy8gRXZpdGEgcXVlIGVsIGJvdMOzbiByb2JlIGVsIGZvY28gZGVsIGlucHV0IGFsIGFicmlyIGVsIG1lbsO6LlxuICAgIGUucHJldmVudERlZmF1bHQoKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlUGx1c0J1dHRvbkNsaWNrID0gKGU6IE1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+KSA9PiB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgIGlmIChwbHVzTWVudUFuY2hvcikge1xuICAgICAgY2xvc2VQbHVzTWVudSgpXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgc2V0UGx1c01lbnVBbmNob3IoZS5jdXJyZW50VGFyZ2V0KVxuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRQbHVzT3BlbiwgeyBhZ2VudF90eXBlOiBhbmFseXRpY3NBZ2VudFR5cGUsIC4uLmFuYWx5dGljc0Nsb25lRW50aXR5UGF5bG9hZCB9KVxuICB9XG5cbiAgY29uc3QgaGFuZGxlTWVudGlvbkJ1dHRvbkNsaWNrID0gKGU6IE1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+KSA9PiB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgIGlmIChkaXNhYmxlZCkgcmV0dXJuXG4gICAgY2xvc2VQbHVzTWVudSgpXG4gICAgZWRpdG9yUmVmLmN1cnJlbnQ/Lmluc2VydE1lbnRpb25UcmlnZ2VyKClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVBsdXNNZW51QXR0YWNoID0gKCkgPT4ge1xuICAgIGNsb3NlUGx1c01lbnUoKVxuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRUb29scywge1xuICAgICAgYWdlbnRfdHlwZTogYW5hbHl0aWNzQWdlbnRUeXBlLFxuICAgICAgb3B0aW9uOiAnZmlsZXMnLFxuICAgICAgLi4uYW5hbHl0aWNzQ2xvbmVFbnRpdHlQYXlsb2FkLFxuICAgIH0pXG4gICAgaWYgKGF0dGFjaG1lbnRzLmxlbmd0aCA+PSBNQVhfQ0hBVF9JTlBVVF9BVFRBQ0hNRU5UUykgcmV0dXJuXG4gICAgZmlsZUlucHV0UmVmLmN1cnJlbnQ/LmNsaWNrKClcbiAgfVxuXG4gIGNvbnN0IGJlZ2luVG9vbENoaXBFeGl0ID0gKCkgPT4ge1xuICAgIGlmICh0b29sQ2hpcEV4aXRUaW1lclJlZi5jdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY29uc3Qgd2FzV2ViID0gaXNXZWJTZWFyY2hBY3RpdmVcbiAgICBjb25zdCB3YXNEZWVwID0gaXNEZWVwU2VhcmNoQWN0aXZlXG4gICAgaWYgKCF3YXNXZWIgJiYgIXdhc0RlZXApIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBzZXRUb29sQ2hpcEV4aXRpbmcodHJ1ZSlcbiAgICB0b29sQ2hpcEV4aXRUaW1lclJlZi5jdXJyZW50ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0b29sQ2hpcEV4aXRUaW1lclJlZi5jdXJyZW50ID0gbnVsbFxuICAgICAgY29uc3QgeyB3ZWIsIGRlZXAgfSA9IHNlYXJjaE1vZGVBY3RpdmVSZWYuY3VycmVudFxuICAgICAgaWYgKHdhc1dlYiAmJiB3ZWIpIHtcbiAgICAgICAgdG9nZ2xlV2ViU2VhcmNoKClcbiAgICAgIH0gZWxzZSBpZiAod2FzRGVlcCAmJiBkZWVwKSB7XG4gICAgICAgIHRvZ2dsZURlZXBTZWFyY2goKVxuICAgICAgfVxuICAgICAgc2V0VG9vbENoaXBFeGl0aW5nKGZhbHNlKVxuICAgICAgc2NoZWR1bGVJbnB1dEZvY3VzQWZ0ZXJUb29sQWN0aW9uKClcbiAgICB9LCBUT09MX0NISVBfRVhJVF9NUylcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVBsdXNNZW51V2ViU2VhcmNoID0gKCkgPT4ge1xuICAgIGNsb3NlUGx1c01lbnUoKVxuICAgIGlmIChpc1dlYlNlYXJjaEFjdGl2ZSkge1xuICAgICAgYmVnaW5Ub29sQ2hpcEV4aXQoKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNhbmNlbFBlbmRpbmdUb29sQ2hpcEV4aXQoKVxuICAgIGlmIChpc0RlZXBTZWFyY2hBY3RpdmUpIHtcbiAgICAgIHRvZ2dsZURlZXBTZWFyY2goKVxuICAgIH1cbiAgICB0b2dnbGVXZWJTZWFyY2goKVxuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRUb29scywge1xuICAgICAgYWdlbnRfdHlwZTogYW5hbHl0aWNzQWdlbnRUeXBlLFxuICAgICAgb3B0aW9uOiAnc2VhcmNoJyxcbiAgICAgIC4uLmFuYWx5dGljc0Nsb25lRW50aXR5UGF5bG9hZCxcbiAgICB9KVxuICAgIHNjaGVkdWxlSW5wdXRGb2N1c0FmdGVyVG9vbEFjdGlvbigpXG4gIH1cblxuICBjb25zdCBoYW5kbGVQbHVzTWVudURlZXBTZWFyY2ggPSAoKSA9PiB7XG4gICAgY2xvc2VQbHVzTWVudSgpXG4gICAgaWYgKGlzRGVlcFNlYXJjaEFjdGl2ZSkge1xuICAgICAgYmVnaW5Ub29sQ2hpcEV4aXQoKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNhbmNlbFBlbmRpbmdUb29sQ2hpcEV4aXQoKVxuICAgIGlmIChpc1dlYlNlYXJjaEFjdGl2ZSkge1xuICAgICAgdG9nZ2xlV2ViU2VhcmNoKClcbiAgICB9XG4gICAgdG9nZ2xlRGVlcFNlYXJjaCgpXG4gICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdFRvb2xzLCB7XG4gICAgICBhZ2VudF90eXBlOiBhbmFseXRpY3NBZ2VudFR5cGUsXG4gICAgICBvcHRpb246ICdkZWVwX3NlYXJjaCcsXG4gICAgICAuLi5hbmFseXRpY3NDbG9uZUVudGl0eVBheWxvYWQsXG4gICAgfSlcbiAgICBzY2hlZHVsZUlucHV0Rm9jdXNBZnRlclRvb2xBY3Rpb24oKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlUGx1c01lbnVRdWlja0FjdGlvbnMgPSAoKSA9PiB7XG4gICAgc2V0UGx1c01lbnVBbmNob3IobnVsbClcbiAgICBpZiAoZGlzYWJsZWQpIHJldHVyblxuICAgIGVkaXRvclJlZi5jdXJyZW50Py5pbnNlcnRTbGFzaFRyaWdnZXIoKVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWRpc2FibGVkKSB7XG4gICAgICBlZGl0b3JSZWYuY3VycmVudD8uZm9jdXMoKVxuICAgIH1cbiAgfSwgW2Rpc2FibGVkXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGRyYWZ0ID0gaW5pdGlhbERyYWZ0Py50cmltKClcbiAgICBpZiAoIWRyYWZ0IHx8IGluaXRpYWxEcmFmdEFwcGxpZWRSZWYuY3VycmVudCB8fCBkaXNhYmxlZCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGluaXRpYWxEcmFmdEFwcGxpZWRSZWYuY3VycmVudCA9IHRydWVcbiAgICBpZiAoZGVlcExpbmtTZW5kUGVuZGluZ1JlZikge1xuICAgICAgZGVlcExpbmtTZW5kUGVuZGluZ1JlZi5jdXJyZW50ID0gdHJ1ZVxuICAgIH1cbiAgICBlZGl0b3JSZWYuY3VycmVudD8uc2V0UGxhaW5UZXh0KGRyYWZ0KVxuICAgIHNldEhhc1R5cGluZ1ByZXNlbmNlKHRydWUpXG4gICAgaWYgKCFkaXNhYmxlZCkge1xuICAgICAgZWRpdG9yUmVmLmN1cnJlbnQ/LmZvY3VzKClcbiAgICB9XG4gIH0sIFtpbml0aWFsRHJhZnQsIGRpc2FibGVkLCBkZWVwTGlua1NlbmRQZW5kaW5nUmVmXSlcblxuICBjb25zdCBzZW5kRGlzYWJsZWQgPSB1c2VNZW1vKFxuICAgICgpID0+ICFoYXNUeXBpbmdQcmVzZW5jZSAmJiBhdHRhY2htZW50cy5sZW5ndGggPT09IDAsXG4gICAgW2hhc1R5cGluZ1ByZXNlbmNlLCBhdHRhY2htZW50cy5sZW5ndGhdXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNlYXJjaE1vZGVBY3RpdmVSZWYuY3VycmVudCA9IHsgd2ViOiBpc1dlYlNlYXJjaEFjdGl2ZSwgZGVlcDogaXNEZWVwU2VhcmNoQWN0aXZlIH1cbiAgfSwgW2lzV2ViU2VhcmNoQWN0aXZlLCBpc0RlZXBTZWFyY2hBY3RpdmVdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmICh0b29sQ2hpcEV4aXRUaW1lclJlZi5jdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0b29sQ2hpcEV4aXRUaW1lclJlZi5jdXJyZW50KVxuICAgICAgfVxuICAgIH1cbiAgfSwgW10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWlzV2ViU2VhcmNoQWN0aXZlICYmICFpc0RlZXBTZWFyY2hBY3RpdmUpIHtcbiAgICAgIHNldEFjdGl2ZVRvb2xDaGlwSG92ZXJlZChmYWxzZSlcbiAgICB9XG4gIH0sIFtpc1dlYlNlYXJjaEFjdGl2ZSwgaXNEZWVwU2VhcmNoQWN0aXZlXSlcblxuICAvLyBBdXRvLWZvY3VzIGN1YW5kbyBjYW1iaWEgZWwgYWdlbnRlIG8gbGEgY29udmVyc2FjacOzbiwgbyBhbCBtb250YXIgZWwgY29tcG9uZW50ZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGFnZW50Q2hhbmdlZCA9IHByZXZpb3VzQWdlbnRJZFJlZi5jdXJyZW50ICE9PSBhZ2VudD8uaWRcbiAgICBjb25zdCBwcmV2aW91c0NoYXRJZCA9IHByZXZpb3VzQ2hhdElkUmVmLmN1cnJlbnRcbiAgICBjb25zdCBjdXJyZW50Q2hhdElkID0gY2hhdElkXG4gICAgY29uc3QgY2hhdENoYW5nZWQgPSBwcmV2aW91c0NoYXRJZCAhPT0gY3VycmVudENoYXRJZFxuICAgIGNvbnN0IGNoYW5nZWRGcm9tTmV3Q2hhdFRvT2xkQ2hhdCA9XG4gICAgICAocHJldmlvdXNDaGF0SWQgPT09IHVuZGVmaW5lZCB8fCBwcmV2aW91c0NoYXRJZCA9PT0gbnVsbCkgJiYgY3VycmVudENoYXRJZCAhPT0gdW5kZWZpbmVkICYmIGN1cnJlbnRDaGF0SWQgIT09IG51bGxcbiAgICBjb25zdCBuZXdDaGF0U3RhcnRlZCA9IHByZXZpb3VzTmV3Q2hhdEtleVJlZi5jdXJyZW50ICE9PSBuZXdDaGF0S2V5XG4gICAgY29uc3QgaXNJbml0aWFsTW91bnQgPSBwcmV2aW91c0FnZW50SWRSZWYuY3VycmVudCA9PT0gdW5kZWZpbmVkICYmIHByZXZpb3VzQ2hhdElkUmVmLmN1cnJlbnQgPT09IHVuZGVmaW5lZFxuXG4gICAgaWYgKChhZ2VudENoYW5nZWQgfHwgY2hhdENoYW5nZWQgfHwgY2hhbmdlZEZyb21OZXdDaGF0VG9PbGRDaGF0IHx8IG5ld0NoYXRTdGFydGVkIHx8IGlzSW5pdGlhbE1vdW50KSAmJiAhZGlzYWJsZWQpIHtcbiAgICAgIGNvbnN0IGRlbGF5ID0gaXNJbml0aWFsTW91bnQgfHwgY2hhbmdlZEZyb21OZXdDaGF0VG9PbGRDaGF0ID8gMjAwIDogMTAwXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKCFkaXNhYmxlZCkgZWRpdG9yUmVmLmN1cnJlbnQ/LmZvY3VzKClcbiAgICAgIH0sIGRlbGF5KVxuICAgIH1cblxuICAgIHByZXZpb3VzQWdlbnRJZFJlZi5jdXJyZW50ID0gYWdlbnQ/LmlkXG4gICAgcHJldmlvdXNDaGF0SWRSZWYuY3VycmVudCA9IGNoYXRJZFxuICAgIHByZXZpb3VzTmV3Q2hhdEtleVJlZi5jdXJyZW50ID0gbmV3Q2hhdEtleVxuICB9LCBbYWdlbnQ/LmlkLCBjaGF0SWQsIG5ld0NoYXRLZXksIGRpc2FibGVkXSlcblxuICAvLyBBdXRvLWZvY3VzIGN1YW5kbyBjYW1iaWEgbGEgZGlzcG9zaWNpw7NuIGRlbCBtb2RhbCAoc2lkZWJhciAvIGZ1bGxzY3JlZW4gLyBmbG9hdGluZylcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWxheW91dE1vZGUpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjb25zdCBwcmV2aW91c0xheW91dE1vZGUgPSBwcmV2aW91c0xheW91dE1vZGVSZWYuY3VycmVudFxuICAgIHByZXZpb3VzTGF5b3V0TW9kZVJlZi5jdXJyZW50ID0gbGF5b3V0TW9kZVxuXG4gICAgaWYgKHByZXZpb3VzTGF5b3V0TW9kZSA9PT0gdW5kZWZpbmVkIHx8IHByZXZpb3VzTGF5b3V0TW9kZSA9PT0gbGF5b3V0TW9kZSB8fCBkaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNvbnN0IHRpbWVvdXRJZCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghZGlzYWJsZWQpIHtcbiAgICAgICAgZWRpdG9yUmVmLmN1cnJlbnQ/LmZvY3VzKClcbiAgICAgIH1cbiAgICB9LCAyMDApXG5cbiAgICByZXR1cm4gKCkgPT4gd2luZG93LmNsZWFyVGltZW91dCh0aW1lb3V0SWQpXG4gIH0sIFtsYXlvdXRNb2RlLCBkaXNhYmxlZF0pXG5cbiAgLy8gQXBwY3Vlczogbm90aWZ5IHRoYXQgdGhlIGlucHV0IGlzIHZpc2libGUgZm9yIHNwZWNpYWxpc3QgYWdlbnRzIChjbG9uZSArIHByb2plY3QvY2xpZW50KVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGlzU3BlY2lhbGlzdEFnZW50ID0gYWdlbnQ/LnR5cGUgPT09ICdjbG9uZScgJiYgKGFnZW50Py5lbnRpdHkgPT09ICdwcm9qZWN0JyB8fCBhZ2VudD8uZW50aXR5ID09PSAnY2xpZW50JylcbiAgICBpZiAoIXdyYXBwZXJSZWYuY3VycmVudCB8fCAhaXNTcGVjaWFsaXN0QWdlbnQpIHJldHVybiB1bmRlZmluZWRcblxuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKFxuICAgICAgKFtlbnRyeV0pID0+IHtcbiAgICAgICAgaWYgKGVudHJ5LmlzSW50ZXJzZWN0aW5nKSB7XG4gICAgICAgICAgdHJhY2tBcHBjdWVzRXZlbnQoQVBQQ1VFU19FVkVOVFMubWFpYUNvbnRleHRNZW50aW9uSW5pdClcbiAgICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KClcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgdGhyZXNob2xkOiAwLjEgfVxuICAgIClcblxuICAgIG9ic2VydmVyLm9ic2VydmUod3JhcHBlclJlZi5jdXJyZW50KVxuICAgIHJldHVybiAoKSA9PiBvYnNlcnZlci5kaXNjb25uZWN0KClcbiAgfSwgW2FnZW50Py5pZCwgYWdlbnQ/LnR5cGUsIGFnZW50Py5lbnRpdHldKVxuXG4gIC8vIENsZWFyIGlucHV0IHdoZW4gc2Vzc2lvbiBjaGFuZ2VzICh1c2VyIHN3aXRjaGVzIHRvIGEgZGlmZmVyZW50IGNoYXQpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlU2Vzc2lvbkNoYW5nZSA9ICgpID0+IHtcbiAgICAgIGlmIChkZWVwTGlua1NlbmRQZW5kaW5nUmVmKSB7XG4gICAgICAgIGRlZXBMaW5rU2VuZFBlbmRpbmdSZWYuY3VycmVudCA9IGZhbHNlXG4gICAgICB9XG4gICAgICBlZGl0b3JSZWYuY3VycmVudD8uY2xlYXIoKVxuICAgICAgc2V0SGFzVHlwaW5nUHJlc2VuY2UoZmFsc2UpXG4gICAgICBzZXRTaG93U2xhc2hEcm9wZG93bihmYWxzZSlcbiAgICAgIHNldFNsYXNoUXVlcnkoJycpXG4gICAgICByZXNldE1lbnRpb25PcGVuVHJhY2tpbmcoKVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYXQtc2Vzc2lvbi1jaGFuZ2VkJywgaGFuZGxlU2Vzc2lvbkNoYW5nZSlcbiAgICByZXR1cm4gKCkgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhdC1zZXNzaW9uLWNoYW5nZWQnLCBoYW5kbGVTZXNzaW9uQ2hhbmdlKVxuICB9LCBbcmVzZXRNZW50aW9uT3BlblRyYWNraW5nLCBkZWVwTGlua1NlbmRQZW5kaW5nUmVmXSlcblxuICAvLyBNYW50ZW5lciBmb2NvIGFsIHNlbGVjY2lvbmFyIHVuIGNvbnRleHRvIHJlY2llbnRlIChlbCBjbGljayBlbiBlbCBwaWxsIGxvIHJvYmEgYWwgaW5wdXQpLlxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZVJlZm9jdXMgPSAoKSA9PiB7XG4gICAgICBpZiAoZGlzYWJsZWQpIHJldHVyblxuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgZWRpdG9yUmVmLmN1cnJlbnQ/LmZvY3VzKClcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbWFpYS1pbnB1dC1yZWZvY3VzJywgaGFuZGxlUmVmb2N1cylcbiAgICByZXR1cm4gKCkgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbWFpYS1pbnB1dC1yZWZvY3VzJywgaGFuZGxlUmVmb2N1cylcbiAgfSwgW2Rpc2FibGVkXSlcblxuICBjb25zdCBoYW5kbGVTZW5kTWVzc2FnZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBzdGF0ZSA9IGVkaXRvclJlZi5jdXJyZW50Py5zZXJpYWxpemUoKVxuICAgIGNvbnN0IHRleHQgPSBzdGF0ZT8udGV4dCA/PyAnJ1xuICAgIGlmICghdGV4dC50cmltKCkgJiYgIWF0dGFjaG1lbnRzLmxlbmd0aCkgcmV0dXJuXG4gICAgY29uc3QgbWVudGlvbnMgPSBzdGF0ZT8ubWVudGlvbnMgPz8gW11cbiAgICBvblNlbmRNZXNzYWdlKHRleHQsIGF0dGFjaG1lbnRzLCBtZW50aW9ucylcbiAgICBlZGl0b3JSZWYuY3VycmVudD8uY2xlYXIoKVxuICAgIHNldEhhc1R5cGluZ1ByZXNlbmNlKGZhbHNlKVxuICAgIHNldFNob3dTbGFzaERyb3Bkb3duKGZhbHNlKVxuICAgIHNldFNsYXNoUXVlcnkoJycpXG4gICAgcmVzZXRNZW50aW9uT3BlblRyYWNraW5nKClcbiAgfSwgW2F0dGFjaG1lbnRzLCBvblNlbmRNZXNzYWdlLCByZXNldE1lbnRpb25PcGVuVHJhY2tpbmddKVxuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdFNsYXNoQ29tbWFuZCA9IHVzZUNhbGxiYWNrKFxuICAgIChjb21tYW5kOiBBY3Rpb24pID0+IHtcbiAgICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRRdWlja0FjdGlvblNlbGVjdCwge1xuICAgICAgICB0eXBlX3F1aWNrX2FjdGlvbjogcmVzb2x2ZVF1aWNrQWN0aW9uVHlwZShjb21tYW5kKSxcbiAgICAgICAgb3JpZ2luX3F1aWNrX2FjdGlvbjogJ3NsYXNoX21lbnUnLFxuICAgICAgfSlcblxuICAgICAgY29uc3Qgc3RhdGUgPSBlZGl0b3JSZWYuY3VycmVudD8uc2VyaWFsaXplKClcbiAgICAgIGNvbnN0IHRleHQgPSBzdGF0ZT8udGV4dCA/PyAnJ1xuICAgICAgY29uc3QgdHJpZ2dlclBhcnQgPSBgLyR7c2xhc2hRdWVyeX1gXG4gICAgICBjb25zdCBiZWZvcmVUcmlnZ2VyID0gdGV4dC5lbmRzV2l0aCh0cmlnZ2VyUGFydCkgPyB0ZXh0LnNsaWNlKDAsIC10cmlnZ2VyUGFydC5sZW5ndGgpIDogdGV4dFxuICAgICAgY29uc3QgaXNFbXB0eUJlZm9yZVRyaWdnZXIgPSBiZWZvcmVUcmlnZ2VyLnRyaW0oKSA9PT0gJydcblxuICAgICAgaWYgKGlzRW1wdHlCZWZvcmVUcmlnZ2VyKSB7XG4gICAgICAgIG9uU2VuZE1lc3NhZ2UoY29tbWFuZC50aXRsZSwgYXR0YWNobWVudHMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgY29tbWFuZC5pZClcbiAgICAgICAgZWRpdG9yUmVmLmN1cnJlbnQ/LmNsZWFyKClcbiAgICAgICAgc2V0SGFzVHlwaW5nUHJlc2VuY2UoZmFsc2UpXG4gICAgICAgIHNldFNob3dTbGFzaERyb3Bkb3duKGZhbHNlKVxuICAgICAgICBzZXRTbGFzaFF1ZXJ5KCcnKVxuICAgICAgICBzbGFzaE1lbnVXYXNPcGVuUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgICAgICByZXNldE1lbnRpb25PcGVuVHJhY2tpbmcoKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgZWRpdG9yUmVmLmN1cnJlbnQ/Lmluc2VydFNsYXNoQ29tbWFuZCh7IGlkOiBjb21tYW5kLmlkLCBsYWJlbDogY29tbWFuZC50aXRsZSB9KVxuICAgICAgc2V0U2hvd1NsYXNoRHJvcGRvd24oZmFsc2UpXG4gICAgICBzZXRTbGFzaFF1ZXJ5KCcnKVxuICAgICAgc2xhc2hNZW51V2FzT3BlblJlZi5jdXJyZW50ID0gZmFsc2VcbiAgICB9LFxuICAgIFthdHRhY2htZW50cywgb25TZW5kTWVzc2FnZSwgcmVzZXRNZW50aW9uT3BlblRyYWNraW5nLCBzbGFzaFF1ZXJ5LCBldmVudEFtcGxpdHVkZV1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUNsb3NlU2xhc2hEcm9wZG93biA9ICgpID0+IHtcbiAgICBzZXRTaG93U2xhc2hEcm9wZG93bihmYWxzZSlcbiAgICBzbGFzaE1lbnVXYXNPcGVuUmVmLmN1cnJlbnQgPSBmYWxzZVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRWRpdG9ySW5wdXQgPSB1c2VDYWxsYmFjayhcbiAgICAoe1xuICAgICAgdGV4dCxcbiAgICAgIHRyaWdnZXIsXG4gICAgICBzbGFzaFRyaWdnZXIsXG4gICAgfToge1xuICAgICAgdGV4dDogc3RyaW5nXG4gICAgICBtZW50aW9uczogQ29udGV4dE1lbnRpb25bXVxuICAgICAgdHJpZ2dlcjogeyBhY3RpdmU6IGJvb2xlYW47IHF1ZXJ5OiBzdHJpbmc7IGF0UnVuTGVuZ3RoOiBudW1iZXIgfVxuICAgICAgc2xhc2hUcmlnZ2VyPzogeyBhY3RpdmU6IGJvb2xlYW47IHF1ZXJ5OiBzdHJpbmcgfVxuICAgIH0pID0+IHtcbiAgICAgIHNldEhhc1R5cGluZ1ByZXNlbmNlKHRleHQudHJpbSgpLmxlbmd0aCA+IDApXG4gICAgICBvbkNoYW5nZT8uKClcbiAgICAgIGhhbmRsZVRyaWdnZXIodHJpZ2dlcilcblxuICAgICAgaWYgKHNsYXNoVHJpZ2dlcj8uYWN0aXZlICYmIHNsYXNoQ29tbWFuZHMubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAoIXNsYXNoTWVudVdhc09wZW5SZWYuY3VycmVudCkge1xuICAgICAgICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRRdWlja0FjdGlvbk9wZW4pXG4gICAgICAgICAgc2xhc2hNZW51V2FzT3BlblJlZi5jdXJyZW50ID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICAgIHNldFNob3dTbGFzaERyb3Bkb3duKHRydWUpXG4gICAgICAgIHNldFNsYXNoUXVlcnkoc2xhc2hUcmlnZ2VyLnF1ZXJ5KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2xhc2hNZW51V2FzT3BlblJlZi5jdXJyZW50ID0gZmFsc2VcbiAgICAgICAgc2V0U2hvd1NsYXNoRHJvcGRvd24oZmFsc2UpXG4gICAgICAgIHNldFNsYXNoUXVlcnkoJycpXG4gICAgICB9XG4gICAgfSxcbiAgICBbb25DaGFuZ2UsIGhhbmRsZVRyaWdnZXIsIHNsYXNoQ29tbWFuZHMsIGV2ZW50QW1wbGl0dWRlXVxuICApXG5cbiAgY29uc3QgaGFuZGxlS2V5RG93biA9IHVzZUNhbGxiYWNrKFxuICAgIChlOiBLZXlib2FyZEV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgICAgaWYgKGhhbmRsZVBvcG92ZXJLZXlEb3duKGUpKSByZXR1cm5cbiAgICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJyAmJiAhZS5zaGlmdEtleSAmJiAhcG9wb3Zlck9wZW4pIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIGlmICghc2VuZERpc2FibGVkICYmICFkaXNhYmxlZCkgaGFuZGxlU2VuZE1lc3NhZ2UoKVxuICAgICAgfVxuICAgIH0sXG4gICAgW2hhbmRsZVBvcG92ZXJLZXlEb3duLCBwb3BvdmVyT3Blbiwgc2VuZERpc2FibGVkLCBkaXNhYmxlZCwgaGFuZGxlU2VuZE1lc3NhZ2VdXG4gIClcblxuICBjb25zdCBhZGRGaWxlcyA9IChpbmNvbWluZzogRmlsZVtdKSA9PiB7XG4gICAgaWYgKCFpbmNvbWluZy5sZW5ndGggfHwgZGlzYWJsZWQpIHJldHVyblxuXG4gICAgY29uc3QgZXhjZWVkZWRGaWxlczogc3RyaW5nW10gPSBbXVxuICAgIGNvbnN0IGV4Y2x1ZGVkRmlsZXM6IHN0cmluZ1tdID0gW11cbiAgICBjb25zdCBmaWxlU2l6ZXM6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7fVxuICAgIGxldCBmaWxlc0luc2VydGVkID0gYXR0YWNobWVudHMubGVuZ3RoXG5cbiAgICBjb25zdCBpc05ld0Zvcm1hdCA9IChleHRlbnNpb246IHN0cmluZykgPT4gWycucG5nJywgJy5qcGcnLCAnLmpwZWcnLCAnLnBkZiddLmluY2x1ZGVzKGV4dGVuc2lvbilcbiAgICBjb25zdCBpc09sZEZvcm1hdCA9IChleHRlbnNpb246IHN0cmluZykgPT5cbiAgICAgIFsnLnR4dCcsICcubWQnLCAnLmNzdicsICcuZG9jJywgJy5kb2N4JywgJy5wcHQnLCAnLnBwdHgnLCAnLnhsc3gnLCAnLnhscyddLmluY2x1ZGVzKGV4dGVuc2lvbilcbiAgICBjb25zdCBpc0F1ZGlvRm9ybWF0ID0gKGV4dGVuc2lvbjogc3RyaW5nKSA9PlxuICAgICAgWycuZmxhYycsICcubTRhJywgJy5tcDMnLCAnLm1wNCcsICcub2dhJywgJy5vZ2cnLCAnLndhdicsICcud2VibSddLmluY2x1ZGVzKGV4dGVuc2lvbilcblxuICAgIGluY29taW5nLmZvckVhY2goZmlsZSA9PiB7XG4gICAgICBsZXQgZXhjbHVkZWRGaWxlID0gZmFsc2VcbiAgICAgIGNvbnN0IGZpbGVOYW1lUGFydHMgPSBmaWxlLm5hbWUuc3BsaXQoJy4nKVxuICAgICAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IGZpbGVOYW1lUGFydHMubGVuZ3RoID4gMSA/IGAuJHtmaWxlTmFtZVBhcnRzLnBvcCgpPy50b0xvd2VyQ2FzZSgpfWAgOiAnJ1xuXG4gICAgICBpZiAoIWFsbG93ZWRGaWxlVHlwZXM/LmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBmaWxlU2l6ZXNbZmlsZS5uYW1lXSA9IGZpbGUuc2l6ZVxuXG4gICAgICBpZiAoaXNOZXdGb3JtYXQoZmlsZUV4dGVuc2lvbikpIHtcbiAgICAgICAgaWYgKGZpbGUuc2l6ZSA+IE1BWF9GSUxFX1NJWkVfTUJfTUFJQV9WSVNJT04gKiAxMDI0ICogMTAyNCkge1xuICAgICAgICAgIGV4Y2VlZGVkRmlsZXMucHVzaChmaWxlLm5hbWUpXG4gICAgICAgICAgZXhjbHVkZWRGaWxlID0gdHJ1ZVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpbGVzSW5zZXJ0ZWQgKyAxID4gTUFYX0NIQVRfSU5QVVRfQVRUQUNITUVOVFMpIHtcbiAgICAgICAgICBleGNsdWRlZEZpbGVzLnB1c2goZmlsZS5uYW1lKVxuICAgICAgICAgIGV4Y2x1ZGVkRmlsZSA9IHRydWVcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChpc09sZEZvcm1hdChmaWxlRXh0ZW5zaW9uKSkge1xuICAgICAgICBpZiAoZmlsZS5zaXplID4gTUFYX0ZJTEVfU0laRV9NQl9PTEQgKiAxMDI0ICogMTAyNCkge1xuICAgICAgICAgIGV4Y2VlZGVkRmlsZXMucHVzaChmaWxlLm5hbWUpXG4gICAgICAgICAgZXhjbHVkZWRGaWxlID0gdHJ1ZVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpbGVzSW5zZXJ0ZWQgKyAxID4gTUFYX0NIQVRfSU5QVVRfQVRUQUNITUVOVFMpIHtcbiAgICAgICAgICBleGNsdWRlZEZpbGVzLnB1c2goZmlsZS5uYW1lKVxuICAgICAgICAgIGV4Y2x1ZGVkRmlsZSA9IHRydWVcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChpc0F1ZGlvRm9ybWF0KGZpbGVFeHRlbnNpb24pKSB7XG4gICAgICAgIGlmIChmaWxlLnNpemUgPiBNQVhfRklMRV9TSVpFX01CX0FVRElPICogMTAyNCAqIDEwMjQpIHtcbiAgICAgICAgICBleGNlZWRlZEZpbGVzLnB1c2goZmlsZS5uYW1lKVxuICAgICAgICAgIGV4Y2x1ZGVkRmlsZSA9IHRydWVcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWxlc0luc2VydGVkICsgMSA+IE1BWF9DSEFUX0lOUFVUX0FUVEFDSE1FTlRTKSB7XG4gICAgICAgICAgZXhjbHVkZWRGaWxlcy5wdXNoKGZpbGUubmFtZSlcbiAgICAgICAgICBleGNsdWRlZEZpbGUgPSB0cnVlXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCFleGNsdWRlZEZpbGUpIHtcbiAgICAgICAgZmlsZXNJbnNlcnRlZCArPSAxXG4gICAgICAgIGNvbnN0IHR5cGVGaWxlID0gZmlsZS50eXBlIHx8IGZpbGVUeXBlc1tmaWxlRXh0ZW5zaW9uXVxuICAgICAgICBjb25zdCBwYXJzZWRGaWxlID0gbmV3IEZpbGUoW2ZpbGVdLCBmaWxlLm5hbWUsIHsgdHlwZTogdHlwZUZpbGUgfSlcbiAgICAgICAgb25GaWxlQXR0YWNoPy4ocGFyc2VkRmlsZSlcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgaWYgKGV4Y2x1ZGVkRmlsZXMubGVuZ3RoIHx8IGV4Y2VlZGVkRmlsZXMubGVuZ3RoKSB7XG4gICAgICBzZXRNb2RhbFByb3BzKHsgaXNPcGVuOiB0cnVlLCBleGNsdWRlZEZpbGVzLCBleGNlZWRlZEZpbGVzLCBmaWxlU2l6ZXMgfSlcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVGaWxlU2VsZWN0ID0gKGU6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgY29uc3QgZmlsZXMgPSBlLnRhcmdldC5maWxlc1xuICAgIGlmIChmaWxlcykge1xuICAgICAgYWRkRmlsZXMoQXJyYXkuZnJvbShmaWxlcykpXG4gICAgfVxuICAgIGlmIChmaWxlSW5wdXRSZWYuY3VycmVudCkge1xuICAgICAgZmlsZUlucHV0UmVmLmN1cnJlbnQudmFsdWUgPSAnJ1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJlc2V0RmlsZURyYWcgPSAoKSA9PiB7XG4gICAgZmlsZURyYWdDb3VudGVyUmVmLmN1cnJlbnQgPSAwXG4gICAgc2V0SXNGaWxlRHJhZ0FjdGl2ZShmYWxzZSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZURyYWdFbnRlciA9IChlOiBEcmFnRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKCFkYXRhVHJhbnNmZXJIYXNGaWxlcyhlLmRhdGFUcmFuc2ZlcikpIHJldHVyblxuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICBpZiAoZGlzYWJsZWQpIHJldHVyblxuICAgIGZpbGVEcmFnQ291bnRlclJlZi5jdXJyZW50ICs9IDFcbiAgICBzZXRJc0ZpbGVEcmFnQWN0aXZlKHRydWUpXG4gIH1cblxuICBjb25zdCBoYW5kbGVEcmFnTGVhdmUgPSAoZTogRHJhZ0V2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgIGlmICghaXNGaWxlRHJhZ0FjdGl2ZSAmJiAhZGF0YVRyYW5zZmVySGFzRmlsZXMoZS5kYXRhVHJhbnNmZXIpKSByZXR1cm5cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgZmlsZURyYWdDb3VudGVyUmVmLmN1cnJlbnQgPSBNYXRoLm1heCgwLCBmaWxlRHJhZ0NvdW50ZXJSZWYuY3VycmVudCAtIDEpXG4gICAgaWYgKGZpbGVEcmFnQ291bnRlclJlZi5jdXJyZW50ID09PSAwKSB7XG4gICAgICBzZXRJc0ZpbGVEcmFnQWN0aXZlKGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZURyYWdPdmVyID0gKGU6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICBpZiAoIWRhdGFUcmFuc2Zlckhhc0ZpbGVzKGUuZGF0YVRyYW5zZmVyKSkgcmV0dXJuXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgIGlmIChkaXNhYmxlZCkgcmV0dXJuXG4gICAgZS5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9ICdjb3B5J1xuICB9XG5cbiAgY29uc3QgaGFuZGxlRHJvcCA9IChlOiBEcmFnRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKCFkYXRhVHJhbnNmZXJIYXNGaWxlcyhlLmRhdGFUcmFuc2ZlcikpIHtcbiAgICAgIHJlc2V0RmlsZURyYWcoKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICByZXNldEZpbGVEcmFnKClcbiAgICBpZiAoZGlzYWJsZWQpIHJldHVyblxuICAgIGFkZEZpbGVzKGZpbGVzRnJvbURhdGFUcmFuc2ZlcihlLmRhdGFUcmFuc2ZlcikpXG4gIH1cblxuICBjb25zdCBoYW5kbGVQYXN0ZUZpbGVzID0gKGZpbGVzOiBGaWxlW10pID0+IHtcbiAgICBhZGRGaWxlcyhmaWxlcylcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVdyYXBwZXJQYXN0ZSA9IChlOiBDbGlwYm9hcmRFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICBjb25zdCBlZGl0b3JFbCA9IHdyYXBwZXJSZWYuY3VycmVudD8ucXVlcnlTZWxlY3RvcignW2NvbnRlbnRlZGl0YWJsZT1cInRydWVcIl0nKVxuICAgIGlmIChlZGl0b3JFbCAmJiBlZGl0b3JFbC5jb250YWlucyhlLnRhcmdldCBhcyBOb2RlKSkgcmV0dXJuXG4gICAgY29uc3QgZmlsZXMgPSBmaWxlc0Zyb21EYXRhVHJhbnNmZXIoZS5jbGlwYm9hcmREYXRhKVxuICAgIGlmICghZmlsZXMubGVuZ3RoKSByZXR1cm5cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBhZGRGaWxlcyhmaWxlcylcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZURlbGV0ZUF0dGFjaG1lbnQgPSAoZmlsZUlkOiBzdHJpbmcpID0+IHtcbiAgICBvbkRlbGV0ZUF0dGFjaG1lbnQ/LihmaWxlSWQpXG4gIH1cblxuICBjb25zdCBoYW5kbGVTdG9wR2VuZXJhdGlvbiA9ICgpID0+IHtcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0U3RvcFJlc3BvbnNlKVxuICAgIG9uU3RvcEdlbmVyYXRpb24/LigpXG4gIH1cblxuICBjb25zdCBzaG93Q2hpcHNSb3cgPSBCb29sZWFuKGNvbnRleHRDaGlwPy5pdGVtcz8ubGVuZ3RoIHx8IGF0dGFjaG1lbnRzLmxlbmd0aClcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGNoaXBzRWwgPSBjaGlwc1Jvd1JlZi5jdXJyZW50XG4gICAgY29uc3QgdG9vbGJhckVsID0gdG9vbGJhclJvd1JlZi5jdXJyZW50XG5cbiAgICBjb25zdCB1cGRhdGVIZWlnaHRzID0gKCkgPT4ge1xuICAgICAgY29uc3QgbmV4dENoaXBzID0gc2hvd0NoaXBzUm93ICYmIGNoaXBzRWwgPyBNYXRoLmNlaWwoY2hpcHNFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQpIDogMFxuICAgICAgY29uc3QgbmV4dFRvb2xiYXIgPSB0b29sYmFyRWxcbiAgICAgICAgPyBNYXRoLmNlaWwodG9vbGJhckVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodClcbiAgICAgICAgOiBNQUlBX0lOUFVUX1RPT0xCQVJfUk9XX0hFSUdIVF9QWFxuXG4gICAgICBzZXRDaGlwc1Jvd0hlaWdodChwcmV2ID0+IChwcmV2ID09PSBuZXh0Q2hpcHMgPyBwcmV2IDogbmV4dENoaXBzKSlcbiAgICAgIHNldFRvb2xiYXJSb3dIZWlnaHQocHJldiA9PiAocHJldiA9PT0gbmV4dFRvb2xiYXIgPyBwcmV2IDogbmV4dFRvb2xiYXIpKVxuICAgIH1cblxuICAgIHVwZGF0ZUhlaWdodHMoKVxuXG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIodXBkYXRlSGVpZ2h0cylcbiAgICBpZiAoc2hvd0NoaXBzUm93ICYmIGNoaXBzRWwpIG9ic2VydmVyLm9ic2VydmUoY2hpcHNFbClcbiAgICBpZiAodG9vbGJhckVsKSBvYnNlcnZlci5vYnNlcnZlKHRvb2xiYXJFbClcblxuICAgIHJldHVybiAoKSA9PiBvYnNlcnZlci5kaXNjb25uZWN0KClcbiAgfSwgW3Nob3dDaGlwc1JvdywgY29udGV4dENoaXA/Lml0ZW1zPy5sZW5ndGgsIGF0dGFjaG1lbnRzLmxlbmd0aF0pXG5cbiAgY29uc3QgZWRpdG9yTWF4SGVpZ2h0ID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgZ2V0TWFpYUlucHV0RWRpdG9yTWF4SGVpZ2h0KHtcbiAgICAgICAgY2hpcHNSb3dIZWlnaHRQeDogY2hpcHNSb3dIZWlnaHQsXG4gICAgICAgIHRvb2xiYXJSb3dIZWlnaHRQeDogdG9vbGJhclJvd0hlaWdodCxcbiAgICAgIH0pLFxuICAgIFtjaGlwc1Jvd0hlaWdodCwgdG9vbGJhclJvd0hlaWdodF1cbiAgKVxuXG4gIGNvbnN0IHRvb2xiYXJJY29uQ29sb3IgPSAnIzgwODA4MCdcbiAgY29uc3QgcGx1c01lbnVJY29uQ29sb3IgPSBNQUlBX0NIQVRfSU5QVVRfVUkubWVudUljb25cbiAgY29uc3QgaXNDdXN0b21BZ2VudCA9IGFnZW50Py50eXBlID09PSAnY3VzdG9tJ1xuICBjb25zdCBoYXNDb3JBY2Nlc3MgPSBCb29sZWFuKFxuICAgIGlzQ3VzdG9tQWdlbnQgJiZcbiAgICBhZ2VudD8uY29ubmVjdG9ycz8uc29tZShcbiAgICAgIGNvbm5lY3RvciA9PlxuICAgICAgICBjb25uZWN0b3IuZ3JvdXAgPT09ICdDT1InICYmIGNvbm5lY3Rvci5zbHVncy5zb21lKHNsdWcgPT4gdHlwZW9mIHNsdWcgPT09ICdzdHJpbmcnICYmIHNsdWcudHJpbSgpLmxlbmd0aCA+IDApXG4gICAgKVxuICApXG4gIGNvbnN0IGFnZW50TW9kZWxOYW1lID0gaXNDdXN0b21BZ2VudCA/IGFnZW50Py5tb2RlbF9kaXNwbGF5X25hbWU/LnRyaW0oKSB8fCBudWxsIDogbnVsbFxuICBjb25zdCBzaG93Q3VzdG9tTWV0YUluZGljYXRvcnMgPSBoYXNDb3JBY2Nlc3MgfHwgQm9vbGVhbihhZ2VudE1vZGVsTmFtZSlcbiAgY29uc3Qgc2hvd01lbnRpb25CdXR0b24gPSBhZ2VudD8udHlwZSA9PT0gJ29yY2hlc3RyYXRvcicgfHwgaGFzQ29yQWNjZXNzXG5cbiAgbGV0IGFjdGl2ZVRvb2xDaGlwTGVhZGluZ0ljb246IFJlYWN0Tm9kZVxuICBpZiAoYWN0aXZlVG9vbENoaXBIb3ZlcmVkKSB7XG4gICAgYWN0aXZlVG9vbENoaXBMZWFkaW5nSWNvbiA9IDxDcm9zcyBjb2xvcj17TUFJQV9DSEFUX0lOUFVUX1VJLmNoaXBDbG9zZUljb259IHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gLz5cbiAgfSBlbHNlIGlmIChpc1dlYlNlYXJjaEFjdGl2ZSkge1xuICAgIGFjdGl2ZVRvb2xDaGlwTGVhZGluZ0ljb24gPSA8TWFpYUlucHV0V2ViU2VhcmNoSWNvbiBjb2xvcj17cGx1c01lbnVJY29uQ29sb3J9IHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gLz5cbiAgfSBlbHNlIHtcbiAgICBhY3RpdmVUb29sQ2hpcExlYWRpbmdJY29uID0gPE1haWFJbnB1dERlZXBTZWFyY2hJY29uIGNvbG9yPXtwbHVzTWVudUljb25Db2xvcn0gd2lkdGg9ezE4fSBoZWlnaHQ9ezE4fSAvPlxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPFN0eWxlZE1BSUFJbnB1dFdyYXBwZXJcbiAgICAgICAgcmVmPXt3cmFwcGVyUmVmfVxuICAgICAgICBkaXNhYmxlZD17ZmFsc2V9XG4gICAgICAgIGFsaWduQnV0dG9ucz17YWxpZ25CdXR0b25zfVxuICAgICAgICBoYXNBdHRhY2htZW50cz17ISFhdHRhY2htZW50cy5sZW5ndGh9XG4gICAgICAgICRmaWxlRHJhZ0FjdGl2ZT17aXNGaWxlRHJhZ0FjdGl2ZX1cbiAgICAgICAgZGF0YS1hcHBjdWVzPVwibWFpYV9jaGF0X2lucHV0XCJcbiAgICAgICAgZGF0YS1tYWlhLXN0cmVhbWluZz17aXNTdHJlYW1pbmcgPyAndHJ1ZScgOiAnZmFsc2UnfVxuICAgICAgICBvblBhc3RlPXtoYW5kbGVXcmFwcGVyUGFzdGV9XG4gICAgICAgIG9uRHJhZ0VudGVyPXtoYW5kbGVEcmFnRW50ZXJ9XG4gICAgICAgIG9uRHJhZ0xlYXZlPXtoYW5kbGVEcmFnTGVhdmV9XG4gICAgICAgIG9uRHJhZ092ZXI9e2hhbmRsZURyYWdPdmVyfVxuICAgICAgICBvbkRyb3A9e2hhbmRsZURyb3B9XG4gICAgICA+XG4gICAgICAgIHtzaG93Q2hpcHNSb3cgJiYgKFxuICAgICAgICAgIDxTQ0lucHV0Q2hpcHNSb3cgcmVmPXtjaGlwc1Jvd1JlZn0+XG4gICAgICAgICAgICB7Y29udGV4dENoaXA/Lml0ZW1zPy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgIDxDaGlwXG4gICAgICAgICAgICAgICAgaXRlbXM9e2NvbnRleHRDaGlwLml0ZW1zfVxuICAgICAgICAgICAgICAgIHR5cGU9e2NvbnRleHRDaGlwLnR5cGV9XG4gICAgICAgICAgICAgICAgbGVhZGluZ0ljb249e2NvbnRleHRDaGlwLmxlYWRpbmdJY29ufVxuICAgICAgICAgICAgICAgIHRvb2x0aXBaSW5kZXg9e3Rvb2x0aXBaSW5kZXh9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIHthdHRhY2htZW50cy5tYXAoKGF0dGFjaG1lbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGlzSW1hZ2UgPVxuICAgICAgICAgICAgICAgIGF0dGFjaG1lbnQudHlwZT8uc3RhcnRzV2l0aCgnaW1hZ2UvJykgfHwgL1xcLihwbmd8anBlP2d8Z2lmfHdlYnB8Ym1wfHN2ZykkL2kudGVzdChhdHRhY2htZW50Lm5hbWUgfHwgJycpXG4gICAgICAgICAgICAgIGNvbnN0IGNoaXBJY29uID0gaXNJbWFnZSA/IChcbiAgICAgICAgICAgICAgICA8TWFpYUlucHV0QXR0YWNobWVudEltYWdlSWNvbiBjb2xvcj1cIiM4MDgwODBcIiB3aWR0aD17MTJ9IGhlaWdodD17MTJ9IC8+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPE1haWFJbnB1dEF0dGFjaEljb24gY29sb3I9XCIjODA4MDgwXCIgd2lkdGg9ezEzfSBoZWlnaHQ9ezEzfSAvPlxuICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17YXR0YWNobWVudC5uYW1lfSBrZXk9e2Ake2F0dGFjaG1lbnQuaWR9LSR7aW5kZXh9YH0gekluZGV4PXt0b29sdGlwWkluZGV4fT5cbiAgICAgICAgICAgICAgICAgIDxTQ01JQXR0YWNobWVudD5cbiAgICAgICAgICAgICAgICAgICAgPFNDTUlBdHRhY2htZW50SWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8U0NNSUF0dGFjaG1lbnRGaWxlSWNvbj57Y2hpcEljb259PC9TQ01JQXR0YWNobWVudEZpbGVJY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDxTQ01JQXR0YWNobWVudERlbGV0ZUljb25cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY2hhdC5yZW1vdmVBdHRhY2htZW50QXJpYScsIHsgZGVmYXVsdFZhbHVlOiAnUXVpdGFyIGFyY2hpdm8nIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlRGVsZXRlQXR0YWNobWVudChhdHRhY2htZW50LmlkKX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Q3Jvc3MgY29sb3I9XCIjNjY2NjY2XCIgd2lkdGg9ezE0fSBoZWlnaHQ9ezE0fSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvU0NNSUF0dGFjaG1lbnREZWxldGVJY29uPlxuICAgICAgICAgICAgICAgICAgICA8L1NDTUlBdHRhY2htZW50SWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPFNDTUlBdHRhY2htZW50TmFtZT57YXR0YWNobWVudC5uYW1lfTwvU0NNSUF0dGFjaG1lbnROYW1lPlxuICAgICAgICAgICAgICAgICAgPC9TQ01JQXR0YWNobWVudD5cbiAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvU0NJbnB1dENoaXBzUm93PlxuICAgICAgICApfVxuICAgICAgICA8U3R5bGVkTUFJQU1haW5Ub29sYmFyR3JpZD5cbiAgICAgICAgICA8U0NJbnB1dEVkaXRvckNlbGw+XG4gICAgICAgICAgICA8Q29udGV4dE1lbnRpb25FZGl0b3JcbiAgICAgICAgICAgICAgcmVmPXtlZGl0b3JSZWZ9XG4gICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICBtYXhIZWlnaHQ9e2VkaXRvck1heEhlaWdodH1cbiAgICAgICAgICAgICAgb25JbnB1dD17aGFuZGxlRWRpdG9ySW5wdXR9XG4gICAgICAgICAgICAgIG9uS2V5RG93bj17aGFuZGxlS2V5RG93bn1cbiAgICAgICAgICAgICAgb25QYXN0ZUZpbGVzPXtoYW5kbGVQYXN0ZUZpbGVzfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L1NDSW5wdXRFZGl0b3JDZWxsPlxuICAgICAgICAgIDxTQ0lucHV0VG9vbGJhclJvdyByZWY9e3Rvb2xiYXJSb3dSZWZ9PlxuICAgICAgICAgICAgPFN0eWxlZE1BSUFQbHVzVG9vbGJhckNlbGw+XG4gICAgICAgICAgICAgIDxQbHVzTWVudVRvb2xzUm93PlxuICAgICAgICAgICAgICAgIDxQbHVzVG9nZ2xlQnV0dG9uXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICRtZW51T3Blbj17cGx1c01lbnVPcGVufVxuICAgICAgICAgICAgICAgICAgb25Nb3VzZURvd249e2hhbmRsZVBsdXNCdXR0b25Nb3VzZURvd259XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVQbHVzQnV0dG9uQ2xpY2t9XG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXt0KCdjaGF0Lm9wZW5QbHVzTWVudUFyaWEnKX1cbiAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9e3BsdXNNZW51T3Blbn1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8TWFpYUlucHV0QWRkSWNvbiBjb2xvcj17dG9vbGJhckljb25Db2xvcn0gd2lkdGg9ezE4fSBoZWlnaHQ9ezE4fSAvPlxuICAgICAgICAgICAgICAgIDwvUGx1c1RvZ2dsZUJ1dHRvbj5cbiAgICAgICAgICAgICAgICB7c2hvd01lbnRpb25CdXR0b24gJiYgKFxuICAgICAgICAgICAgICAgICAgPFBsdXNUb2dnbGVCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICRtZW51T3Blbj17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZU1lbnRpb25CdXR0b25DbGlja31cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXt0KCdjaGF0Lm9wZW5NZW50aW9uQXJpYScpfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8TWFpYUlucHV0TWVudGlvbkljb24gY29sb3I9e3Rvb2xiYXJJY29uQ29sb3J9IHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gLz5cbiAgICAgICAgICAgICAgICAgIDwvUGx1c1RvZ2dsZUJ1dHRvbj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDxQb3BvdmVyXG4gICAgICAgICAgICAgICAgICBvcGVuPXtwbHVzTWVudU9wZW59XG4gICAgICAgICAgICAgICAgICBhbmNob3JFbD17cGx1c01lbnVBbmNob3J9XG4gICAgICAgICAgICAgICAgICBvbkNsb3NlPXtjbG9zZVBsdXNNZW51fVxuICAgICAgICAgICAgICAgICAgZGlzYWJsZUF1dG9Gb2N1c1xuICAgICAgICAgICAgICAgICAgZGlzYWJsZUVuZm9yY2VGb2N1c1xuICAgICAgICAgICAgICAgICAgZGlzYWJsZVJlc3RvcmVGb2N1c1xuICAgICAgICAgICAgICAgICAgYW5jaG9yT3JpZ2luPXt7IHZlcnRpY2FsOiAndG9wJywgaG9yaXpvbnRhbDogJ2xlZnQnIH19XG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1PcmlnaW49e3sgdmVydGljYWw6ICdib3R0b20nLCBob3Jpem9udGFsOiAnbGVmdCcgfX1cbiAgICAgICAgICAgICAgICAgIHN4PXt7IHpJbmRleDogcGx1c01lbnVaSW5kZXggfX1cbiAgICAgICAgICAgICAgICAgIHNsb3RQcm9wcz17e1xuICAgICAgICAgICAgICAgICAgICBwYXBlcjoge1xuICAgICAgICAgICAgICAgICAgICAgIGVsZXZhdGlvbjogMCxcbiAgICAgICAgICAgICAgICAgICAgICBzeDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICd2aXNpYmxlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBib3hTaGFkb3c6ICdub25lJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpblRvcDogJy00cHgnLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxQbHVzTWVudVBhcGVyPlxuICAgICAgICAgICAgICAgICAgICA8UGx1c01lbnVJbm5lckNvbHVtbj5cbiAgICAgICAgICAgICAgICAgICAgICA8UGx1c01lbnVJdGVtQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVQbHVzTWVudUF0dGFjaH0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8TWFpYUlucHV0QXR0YWNoSWNvbiBjb2xvcj17cGx1c01lbnVJY29uQ29sb3J9IHdpZHRoPXsyMX0gaGVpZ2h0PXsyMH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxQbHVzTWVudUl0ZW1MYWJlbD57dCgnY2hhdC5wbHVzTWVudUF0dGFjaCcpfTwvUGx1c01lbnVJdGVtTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPC9QbHVzTWVudUl0ZW1CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgPFBsdXNNZW51RGl2aWRlciAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxQbHVzTWVudUl0ZW1CdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZVBsdXNNZW51V2ViU2VhcmNofT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxNYWlhSW5wdXRXZWJTZWFyY2hJY29uIGNvbG9yPXtwbHVzTWVudUljb25Db2xvcn0gd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFBsdXNNZW51SXRlbUxhYmVsPnt0KCdjaGF0LnNlYXJjaFdlYicpfTwvUGx1c01lbnVJdGVtTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICB7aXNXZWJTZWFyY2hBY3RpdmUgPyA8Q2hlY2sgY29sb3I9e3BsdXNNZW51SWNvbkNvbG9yfSB3aWR0aD17MTZ9IGhlaWdodD17MTZ9IC8+IDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICA8L1BsdXNNZW51SXRlbUJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8UGx1c01lbnVJdGVtQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVQbHVzTWVudURlZXBTZWFyY2h9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPE1haWFJbnB1dERlZXBTZWFyY2hJY29uIGNvbG9yPXtwbHVzTWVudUljb25Db2xvcn0gd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFBsdXNNZW51SXRlbUxhYmVsPnt0KCdjaGF0LnBsdXNNZW51RGVlcEludmVzdGlnYXRpb24nKX08L1BsdXNNZW51SXRlbUxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAge2lzRGVlcFNlYXJjaEFjdGl2ZSA/IDxDaGVjayBjb2xvcj17cGx1c01lbnVJY29uQ29sb3J9IHdpZHRoPXsxNn0gaGVpZ2h0PXsxNn0gLz4gOiBudWxsfVxuICAgICAgICAgICAgICAgICAgICAgIDwvUGx1c01lbnVJdGVtQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgIDxQbHVzTWVudURpdmlkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8UGx1c01lbnVJdGVtQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVQbHVzTWVudVF1aWNrQWN0aW9uc30+XG4gICAgICAgICAgICAgICAgICAgICAgICA8TWFpYUlucHV0U2xhc2hJY29uIGNvbG9yPXtwbHVzTWVudUljb25Db2xvcn0gd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFBsdXNNZW51SXRlbUxhYmVsPnt0KCdjaGF0LnBsdXNNZW51UXVpY2tBY3Rpb25zJyl9PC9QbHVzTWVudUl0ZW1MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICA8L1BsdXNNZW51SXRlbUJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9QbHVzTWVudUlubmVyQ29sdW1uPlxuICAgICAgICAgICAgICAgICAgPC9QbHVzTWVudVBhcGVyPlxuICAgICAgICAgICAgICAgIDwvUG9wb3Zlcj5cbiAgICAgICAgICAgICAgICB7KGlzV2ViU2VhcmNoQWN0aXZlIHx8IGlzRGVlcFNlYXJjaEFjdGl2ZSkgJiYgKFxuICAgICAgICAgICAgICAgICAgPEFjdGl2ZVRvb2xDaGlwUm9vdFxuICAgICAgICAgICAgICAgICAgICAkaG92ZXJlZD17YWN0aXZlVG9vbENoaXBIb3ZlcmVkfVxuICAgICAgICAgICAgICAgICAgICAkZXhpdGluZz17dG9vbENoaXBFeGl0aW5nfVxuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI9eygpID0+IHNldEFjdGl2ZVRvb2xDaGlwSG92ZXJlZCh0cnVlKX1cbiAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUxlYXZlPXsoKSA9PiBzZXRBY3RpdmVUb29sQ2hpcEhvdmVyZWQoZmFsc2UpfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8QWN0aXZlVG9vbENoaXBJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgJGNsb3NlU2hvd249e2FjdGl2ZVRvb2xDaGlwSG92ZXJlZH1cbiAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXt0KCdjaGF0LnJlbW92ZUFjdGl2ZVRvb2xBcmlhJyl9XG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgICAgICAgICBiZWdpblRvb2xDaGlwRXhpdCgpXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHthY3RpdmVUb29sQ2hpcExlYWRpbmdJY29ufVxuICAgICAgICAgICAgICAgICAgICA8L0FjdGl2ZVRvb2xDaGlwSWNvbkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPEFjdGl2ZVRvb2xDaGlwTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAge2lzV2ViU2VhcmNoQWN0aXZlID8gdCgnY2hhdC5zZWFyY2hXZWInKSA6IHQoJ2NoYXQucGx1c01lbnVEZWVwSW52ZXN0aWdhdGlvbicpfVxuICAgICAgICAgICAgICAgICAgICA8L0FjdGl2ZVRvb2xDaGlwTGFiZWw+XG4gICAgICAgICAgICAgICAgICA8L0FjdGl2ZVRvb2xDaGlwUm9vdD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1BsdXNNZW51VG9vbHNSb3c+XG4gICAgICAgICAgICA8L1N0eWxlZE1BSUFQbHVzVG9vbGJhckNlbGw+XG4gICAgICAgICAgICA8U3R5bGVkTUFJQVNlbmRUb29sYmFyQ2VsbD5cbiAgICAgICAgICAgICAge3Nob3dDdXN0b21NZXRhSW5kaWNhdG9ycyAmJiAoXG4gICAgICAgICAgICAgICAgPFNDSW5wdXRNZXRhSW5kaWNhdG9ycz5cbiAgICAgICAgICAgICAgICAgIHtoYXNDb3JBY2Nlc3MgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPXt0KCdjaGF0LmZvb3Rlci5jb3JBY2Nlc3NUb29sdGlwJyl9XG4gICAgICAgICAgICAgICAgICAgICAgey4uLih0b29sdGlwWkluZGV4ICE9IG51bGwgPyB7IHpJbmRleDogdG9vbHRpcFpJbmRleCB9IDoge30pfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPFNDSW5wdXRNZXRhSWNvbkJ1dHRvbiBhcmlhLWxhYmVsPXt0KCdjaGF0LmZvb3Rlci5jb3JBY2Nlc3NMYWJlbCcpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxDb3JBY2Nlc3NJY29uIHdpZHRoPXsxNX0gaGVpZ2h0PXsxNH0gY29sb3I9e3Rvb2xiYXJJY29uQ29sb3J9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9TQ0lucHV0TWV0YUljb25CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICB7YWdlbnRNb2RlbE5hbWUgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPXt0KCdjaGlwTGxtLnRvb2x0aXAnLCB7IG1vZGVsOiBhZ2VudE1vZGVsTmFtZSB9KX1cbiAgICAgICAgICAgICAgICAgICAgICB7Li4uKHRvb2x0aXBaSW5kZXggIT0gbnVsbCA/IHsgekluZGV4OiB0b29sdGlwWkluZGV4IH0gOiB7fSl9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8U0NJbnB1dE1ldGFJY29uQnV0dG9uIGFyaWEtbGFiZWw9e2FnZW50TW9kZWxOYW1lfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxNYWlhSW5wdXRSb2JvdEljb24gd2lkdGg9ezE4fSBoZWlnaHQ9ezE4fSBjb2xvcj17dG9vbGJhckljb25Db2xvcn0gLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L1NDSW5wdXRNZXRhSWNvbkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L1NDSW5wdXRNZXRhSW5kaWNhdG9ycz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAge2lzV3JpdGluZyA/IChcbiAgICAgICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17dCgnY2hhdC5zdG9wJyl9IHpJbmRleD17dG9vbHRpcFpJbmRleH0+XG4gICAgICAgICAgICAgICAgICA8U3R5bGVkTUFJQVN0b3BCdXR0b24gZGlzYWJsZWQ9e2ZhbHNlfSBvbkNsaWNrPXtoYW5kbGVTdG9wR2VuZXJhdGlvbn0gY2xhc3NOYW1lPXtjbGFzc05hbWV9PlxuICAgICAgICAgICAgICAgICAgICA8U3R5bGVkTUFJQVN0b3BJY29uIC8+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZE1BSUFTdG9wQnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17dCgnY2hhdC5zZW5kJyl9IHpJbmRleD17dG9vbHRpcFpJbmRleH0+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBkaXNwbGF5OiAnaW5saW5lLWZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJyB9fT5cbiAgICAgICAgICAgICAgICAgICAgPFN0eWxlZE1BSUFTZW5kQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlU2VuZE1lc3NhZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3NlbmREaXNhYmxlZCB8fCBkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICBoYXNWYWx1ZXM9e2hhc1R5cGluZ1ByZXNlbmNlIHx8IGF0dGFjaG1lbnRzLmxlbmd0aCA+IDB9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8TWFpYUlucHV0U2VuZEljb24gY29sb3I9XCIjQkZCRkJGXCIgd2lkdGg9ezE2fSBoZWlnaHQ9ezE2fSAvPlxuICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZE1BSUFTZW5kQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvU3R5bGVkTUFJQVNlbmRUb29sYmFyQ2VsbD5cbiAgICAgICAgICA8L1NDSW5wdXRUb29sYmFyUm93PlxuICAgICAgICA8L1N0eWxlZE1BSUFNYWluVG9vbGJhckdyaWQ+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIHJlZj17ZmlsZUlucHV0UmVmfVxuICAgICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgICBtdWx0aXBsZVxuICAgICAgICAgIGFjY2VwdD1cIi50eHQsLm1kLC5jc3YsLmRvYywuZG9jeCwucHB0LC5wcHR4LC5wbmcsLmpwZywuanBlZywucGRmLC54bHN4LC54bHMsLmZsYWMsLm00YSwubXAzLC5tcDQsLm9nYSwub2dnLC53YXYsLndlYm1cIlxuICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVGaWxlU2VsZWN0fVxuICAgICAgICAgIHN0eWxlPXt7IGRpc3BsYXk6ICdub25lJyB9fVxuICAgICAgICAvPlxuICAgICAgICB7aXNGaWxlRHJhZ0FjdGl2ZSAmJiA8U3R5bGVkTUFJQURyb3BPdmVybGF5Pnt0KCdjaGF0LmRyb3BGaWxlc0hlcmUnKX08L1N0eWxlZE1BSUFEcm9wT3ZlcmxheT59XG4gICAgICA8L1N0eWxlZE1BSUFJbnB1dFdyYXBwZXI+XG4gICAgICB7bW9kYWxQcm9wcy5pc09wZW4gJiYgKFxuICAgICAgICA8TW9kYWxGaWxlRXhjZWVkc1xuICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHNldE1vZGFsUHJvcHMoeyBpc09wZW46IGZhbHNlLCBleGNsdWRlZEZpbGVzOiBbXSwgZXhjZWVkZWRGaWxlczogW10sIGZpbGVTaXplczoge30gfSl9XG4gICAgICAgICAgZXhjbHVkZWRGaWxlcz17bW9kYWxQcm9wcy5leGNsdWRlZEZpbGVzfVxuICAgICAgICAgIGV4Y2VlZGVkRmlsZXM9e21vZGFsUHJvcHMuZXhjZWVkZWRGaWxlc31cbiAgICAgICAgICBmaWxlU2l6ZXM9e21vZGFsUHJvcHMuZmlsZVNpemVzfVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIHtwb3BvdmVyTm9kZSAmJiBjcmVhdGVQb3J0YWwocG9wb3Zlck5vZGUsIGRvY3VtZW50LmJvZHkpfVxuICAgICAge3Nob3dTbGFzaERyb3Bkb3duICYmXG4gICAgICAgIGNyZWF0ZVBvcnRhbChcbiAgICAgICAgICA8U2xhc2hDb21tYW5kRHJvcGRvd25cbiAgICAgICAgICAgIGNvbW1hbmRzPXtzbGFzaENvbW1hbmRzfVxuICAgICAgICAgICAgcXVlcnk9e3NsYXNoUXVlcnl9XG4gICAgICAgICAgICBvblNlbGVjdD17aGFuZGxlU2VsZWN0U2xhc2hDb21tYW5kfVxuICAgICAgICAgICAgb25DbG9zZT17aGFuZGxlQ2xvc2VTbGFzaERyb3Bkb3dufVxuICAgICAgICAgICAgYm90dG9tPXtzbGFzaERyb3Bkb3duUG9zLmJvdHRvbX1cbiAgICAgICAgICAgIGxlZnQ9e3NsYXNoRHJvcGRvd25Qb3MubGVmdH1cbiAgICAgICAgICAgIHpJbmRleD17c2xhc2hEcm9wZG93blpJbmRleH1cbiAgICAgICAgICAgIGFuY2hvclJlZj17d3JhcHBlclJlZn1cbiAgICAgICAgICAvPixcbiAgICAgICAgICBkb2N1bWVudC5ib2R5XG4gICAgICAgICl9XG4gICAgPC8+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBUUVBLFdBQVcsRUFDWEMsU0FBUyxFQUNUQyxlQUFlLEVBQ2ZDLE9BQU8sRUFDUEMsTUFBTSxFQUNOQyxRQUFRLFFBQ0gsT0FBTztBQUNkLFNBQVNDLFlBQVksUUFBUSxXQUFXO0FBQ3hDLFNBQVNDLE9BQU8sUUFBUSxlQUFlO0FBQ3ZDLFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFDOUQsU0FBU0MsS0FBSyxRQUFRLHdDQUF3QztBQUM5RCxTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBRXRFLFNBQ0VDLHdCQUF3QixFQUN4QkMsbUJBQW1CLEVBQ25CQyxrQkFBa0IsRUFDbEJDLGVBQWUsRUFDZkMsbUJBQW1CLEVBQ25CQyxrQkFBa0IsRUFDbEJDLGlCQUFpQixFQUNqQkMsYUFB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
|
|
@@ -67,7 +67,7 @@ export var SCInputMetaIndicators = styled.div.withConfig({
|
|
|
67
67
|
export var SCInputMetaIconButton = styled.span.withConfig({
|
|
68
68
|
displayName: "styles__SCInputMetaIconButton",
|
|
69
69
|
componentId: "sc-cs6u9w-9"
|
|
70
|
-
})(["display:flex;width:30px;height:30px;padding:0;justify-content:center;align-items:center;flex-shrink:0;border-radius:8px;background:", ";box-sizing:border-box;cursor:default;"], colors.white.main);
|
|
70
|
+
})(["display:flex;width:30px;height:30px;padding:0;justify-content:center;align-items:center;flex-shrink:0;border-radius:8px;background:", ";box-sizing:border-box;cursor:default;transition:background-color 0.15s ease;&:hover{background:", ";}"], colors.white.main, MAIA_CHAT_INPUT_UI.chipSurfaceHover);
|
|
71
71
|
export var StyledMAIAInput = styled.textarea.withConfig({
|
|
72
72
|
displayName: "styles__StyledMAIAInput",
|
|
73
73
|
componentId: "sc-cs6u9w-10"
|
|
@@ -179,4 +179,4 @@ export var StyledMAIAStopButton = styled.button.withConfig({
|
|
|
179
179
|
displayName: "styles__StyledMAIAStopButton",
|
|
180
180
|
componentId: "sc-cs6u9w-29"
|
|
181
181
|
})(["background:none;border:none;padding:0;font:inherit;background-color:#f2f2f2 !important;height:30px;width:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;&:hover{background-color:", " !important;", "{background-color:", " !important;}}&:disabled{cursor:not-allowed;background-color:#f2f2f2 !important;opacity:0.6;}"], BLUE_IA_COLORS[50], StyledMAIAStopIcon, BLUE_IA_COLORS[500]);
|
|
182
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJrZXlmcmFtZXMiLCJjb2xvcnMiLCJCTFVFX0lBX0NPTE9SUyIsIk1BSUFfQ0hBVF9JTlBVVF9VSSIsInNjcm9sbGFibGVTdHlsZXMiLCJDbGVhckJ1dHRvbiIsIk1BSUFfSU5QVVRfQ0hJUFNfQ09OVEVOVF9HQVBfUFgiLCJNQUlBX0lOUFVUX0lOVEVSTkFMX0dBUF9QWCIsIk1BSUFfSU5QVVRfV1JBUFBFUl9NQVhfSEVJR0hUX1BYIiwiZmxvdyIsImFjdGl2ZVRvb2xDaGlwQ2xvc2VJY29uSW4iLCJhY3RpdmVUb29sQ2hpcE91dCIsImN1c3RvbUlucHV0U3R5bGVzIiwiU3R5bGVkTUFJQUlucHV0V3JhcHBlciIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiX3JlZiIsImRpc2FibGVkIiwidGV4dCIsIl9yZWYyIiwiaGFzQXR0YWNobWVudHMiLCJfcmVmMyIsIiRmaWxlRHJhZ0FjdGl2ZSIsIlN0eWxlZE1BSUFEcm9wT3ZlcmxheSIsIlN0eWxlZE1BSUFNYWluVG9vbGJhckdyaWQiLCJTQ0lucHV0RWRpdG9yQ2VsbCIsIlNDSW5wdXRDaGlwc1JvdyIsIlNDSW5wdXRUb29sYmFyUm93IiwiU3R5bGVkTUFJQVBsdXNUb29sYmFyQ2VsbCIsIlN0eWxlZE1BSUFTZW5kVG9vbGJhckNlbGwiLCJTQ0lucHV0TWV0YUluZGljYXRvcnMiLCJTQ0lucHV0TWV0YUljb25CdXR0b24iLCJzcGFuIiwid2hpdGUiLCJtYWluIiwiU3R5bGVkTUFJQUlucHV0IiwidGV4dGFyZWEiLCJzZWNvbmRhcnkiLCJTdHlsZWRNQUlBU2VuZEJ1dHRvbiIsIl9yZWY0IiwiaGFzVmFsdWVzIiwiY29uY2F0IiwiX3JlZjUiLCJfcmVmNiIsIlNDTUlXcmFwcGVyQXR0YWNobWVudHMiLCJTQ01JQXR0YWNobWVudCIsIlNDTUlBdHRhY2htZW50SWNvbiIsIlNDTUlBdHRhY2htZW50RmlsZUljb24iLCJTQ01JQXR0YWNobWVudERlbGV0ZUljb24iLCJidXR0b24iLCJTQ01JQXR0YWNobWVudE5hbWUiLCJQbHVzTWVudVRvb2xzUm93IiwiUGx1c1RvZ2dsZUJ1dHRvbiIsIl9yZWY3IiwiJG1lbnVPcGVuIiwiUGx1c01lbnVQYXBlciIsImdyYXkiLCJsaWdodCIsIlBsdXNNZW51SW5uZXJDb2x1bW4iLCJQbHVzTWVudURpdmlkZXIiLCJQbHVzTWVudUl0ZW1CdXR0b24iLCJiYWNrZ3JvdW5kIiwiUGx1c01lbnVJdGVtTGFiZWwiLCJtZW51SWNvbiIsIkFjdGl2ZVRvb2xDaGlwUm9vdCIsIl9yZWY4IiwiJGhvdmVyZWQiLCJfcmVmOSIsImNoaXBTdXJmYWNlSG92ZXIiLCJfcmVmMCIsIl9yZWYxIiwiJGV4aXRpbmciLCJBY3RpdmVUb29sQ2hpcEljb25CdXR0b24iLCJfcmVmMTAiLCIkY2xvc2VTaG93biIsIl9yZWYxMSIsIkFjdGl2ZVRvb2xDaGlwTGFiZWwiLCJwcmltYXJ5Iiwic3RvcFB1bHNlIiwiU3R5bGVkTUFJQVN0b3BJY29uIiwiU3R5bGVkTUFJQVN0b3BCdXR0b24iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9NQUlBSW5wdXQvc3R5bGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9pbmRlbnQgKi9cbmltcG9ydCBzdHlsZWQsIHsgY3NzLCBrZXlmcmFtZXMgfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcbmltcG9ydCBjb2xvcnMgZnJvbSAnQHByb2plY3Rjb3IvdGhlbWUvbGliL2Jhc2UvY29sb3JzJ1xuaW1wb3J0IHsgQkxVRV9JQV9DT0xPUlMsIE1BSUFfQ0hBVF9JTlBVVF9VSSB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9jb25maWcnXG5pbXBvcnQgeyBzY3JvbGxhYmxlU3R5bGVzIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3NoYXJlZC9zY3JvbGxhYmxlJ1xuaW1wb3J0IHsgQ2xlYXJCdXR0b24gfSBmcm9tICcuLi9DbGVhckJ1dHRvbidcbmltcG9ydCB7XG4gIE1BSUFfSU5QVVRfQ0hJUFNfQ09OVEVOVF9HQVBfUFgsXG4gIE1BSUFfSU5QVVRfSU5URVJOQUxfR0FQX1BYLFxuICBNQUlBX0lOUFVUX1dSQVBQRVJfTUFYX0hFSUdIVF9QWCxcbn0gZnJvbSAnLi9tYWlhSW5wdXRMYXlvdXQnXG5cbmV4cG9ydCBjb25zdCBmbG93ID0ga2V5ZnJhbWVzYFxuICAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpcbiAgICAgIDAlIDAlLFxuICAgICAgMCUgNTAlO1xuICB9XG4gIDUwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpcbiAgICAgIDAlIDAlLFxuICAgICAgMTAwJSA1MCU7XG4gIH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpcbiAgICAgIDAlIDAlLFxuICAgICAgMCUgNTAlO1xuICB9XG5gXG5cbmNvbnN0IGFjdGl2ZVRvb2xDaGlwQ2xvc2VJY29uSW4gPSBrZXlmcmFtZXNgXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDAuNTU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgyKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5gXG5cbmNvbnN0IGFjdGl2ZVRvb2xDaGlwT3V0ID0ga2V5ZnJhbWVzYFxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTIpIHRyYW5zbGF0ZVkoM3B4KTtcbiAgfVxuYFxuXG5jb25zdCBjdXN0b21JbnB1dFN0eWxlcyA9IGNzc2BcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDpcbiAgICBsaW5lYXItZ3JhZGllbnQod2hpdGUsIHdoaXRlKSBwYWRkaW5nLWJveCxcbiAgICBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICM0ZDM1NjkgMCUsICM4NzQwYmYgNTkuNjIlLCAjMmQ3N2JkIDEwMCUpIGJvcmRlci1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXNpemU6XG4gICAgMTAwJSAxMDAlLFxuICAgIDIwMCUgMTAwJTtcbiAgYW5pbWF0aW9uOiAke2Zsb3d9IDNzIGVhc2UgaW5maW5pdGU7XG4gIGJveC1zaGFkb3c6XG4gICAgM3B4IDRweCAxNHB4IDAgcmdiYSgxMzUsIDY0LCAxOTEsIDAuMTUpLFxuICAgIC0zcHggLTRweCAxNHB4IDAgcmdiYSg0NSwgMTE5LCAxODksIDAuMTUpO1xuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQUlucHV0V3JhcHBlciA9IHN0eWxlZC5kaXY8e1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgYWxpZ25CdXR0b25zPzogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJ1xuICBoYXNBdHRhY2htZW50czogYm9vbGVhblxuICAvKiogRXN0YWRvIGluaWNpYWw6IHRvb2xiYXIgZW4gdW5hIHNvbGEgbMOtbmVhIHNpbiBhZGp1bnRvcyBuaSB0b29scyBkZWwgKyBuaSBtdWx0aWxpbmUgKi9cbiAgY29tcGFjdFNpbmdsZVJvd1Rvb2xiYXI/OiBib29sZWFuXG4gICRmaWxlRHJhZ0FjdGl2ZT86IGJvb2xlYW5cbn0+YFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHRyYW5zaXRpb246XG4gICAgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSxcbiAgICBib3gtc2hhZG93IDAuMnMgZWFzZTtcbiAgcGFkZGluZzogOHB4O1xuICBjdXJzb3I6ICR7KHsgZGlzYWJsZWQgfSkgPT4gKGRpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdhdXRvJyl9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiA1OHB4O1xuICBtYXgtaGVpZ2h0OiAke01BSUFfSU5QVVRfV1JBUFBFUl9NQVhfSEVJR0hUX1BYfXB4O1xuICBnYXA6ICR7TUFJQV9JTlBVVF9DSElQU19DT05URU5UX0dBUF9QWH1weDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJHtjb2xvcnMudGV4dC5kaXNhYmxlZH07XG4gIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgICR7Y3VzdG9tSW5wdXRTdHlsZXN9XG4gIH1cblxuICAkeyh7IGhhc0F0dGFjaG1lbnRzIH0pID0+XG4gICAgaGFzQXR0YWNobWVudHMgJiZcbiAgICBjc3NgXG4gICAgICAke2N1c3RvbUlucHV0U3R5bGVzfVxuICAgIGB9XG5cbiAgJHsoeyAkZmlsZURyYWdBY3RpdmUgfSkgPT5cbiAgICAkZmlsZURyYWdBY3RpdmUgJiZcbiAgICBjc3NgXG4gICAgICBib3JkZXI6IDFweCBkYXNoZWQgJHtCTFVFX0lBX0NPTE9SU1s1MDBdfTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoNDUsIDExOSwgMTg5LCAwLjA2KTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFEcm9wT3ZlcmxheSA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICR7QkxVRV9JQV9DT0xPUlNbNzAwXX07XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigycHgpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigycHgpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG5gXG5cbi8qKiBUb29sYmFyIGZpamEgZW4gMiBmaWxhczogaW5wdXQgYXJyaWJhLCArIC8gc2VuZCBhYmFqbyAodG9vbGJhciBubyBzY3JvbGxlYSkuICovXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQU1haW5Ub29sYmFyR3JpZCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyIGF1dG87XG4gIGdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4KDAsIGF1dG8pIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICByb3ctZ2FwOiAke01BSUFfSU5QVVRfSU5URVJOQUxfR0FQX1BYfXB4O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgbWluLWhlaWdodDogMDtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbmBcblxuLyoqIENlbGRhIGRlbCBlZGl0b3IgKGVsIHNjcm9sbCB2aXZlIGVuIGVsIGNvbnRlbnRlZGl0YWJsZSkuICovXG5leHBvcnQgY29uc3QgU0NJbnB1dEVkaXRvckNlbGwgPSBzdHlsZWQuZGl2YFxuICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICBncmlkLXJvdzogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBtaW4taGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuYFxuXG4vKiogRmlsYSBjb21wYXJ0aWRhOiBjaGlwIGRlIGNvbnRleHRvICsgY2hpcHMgZGUgYXR0YWNobWVudHMgKHdyYXApLiAqL1xuZXhwb3J0IGNvbnN0IFNDSW5wdXRDaGlwc1JvdyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBnYXA6IDRweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXNocmluazogMDtcbiAgbWluLXdpZHRoOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDRweDtcbmBcblxuLyoqIEZpbGEgaW5mZXJpb3IgZGUgYm90b25lczogc2llbXByZSB2aXNpYmxlLCBudW5jYSBzY3JvbGxlYSBjb24gZWwgdGV4dG8uICovXG5leHBvcnQgY29uc3QgU0NJbnB1dFRvb2xiYXJSb3cgPSBzdHlsZWQuZGl2YFxuICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICBncmlkLXJvdzogMjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IDhweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtaW4taGVpZ2h0OiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQVBsdXNUb29sYmFyQ2VsbCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQVNlbmRUb29sYmFyQ2VsbCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuYFxuXG4vKiogSW5kaWNhZG9yZXMgYSBsYSBpenF1aWVyZGEgZGVsIHNlbmQgKGFjY2VzbyBDT1IgLyBtb2RlbG8pIHBhcmEgYWdlbnRlcyBjdXN0b20uICovXG5leHBvcnQgY29uc3QgU0NJbnB1dE1ldGFJbmRpY2F0b3JzID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NJbnB1dE1ldGFJY29uQnV0dG9uID0gc3R5bGVkLnNwYW5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXNocmluazogMDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kOiAke2NvbG9ycy53aGl0ZS5tYWlufTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQUlucHV0ID0gc3R5bGVkLnRleHRhcmVhPHtcbiAgYWxpZ25CdXR0b25zPzogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJ1xuICAkdG9vbGJhckxheW91dFZhcmlhbnQ/OiAnc3RhY2tlZFJvd3MnXG59PmBcbiAgJHtzY3JvbGxhYmxlU3R5bGVzfVxuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBwYWRkaW5nOiAwO1xuICByZXNpemU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgbWluLWhlaWdodDogMjBweDtcbiAgbWF4LWhlaWdodDogMTcwcHg7XG4gIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gIGdyaWQtcm93OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke2NvbG9ycy50ZXh0LnNlY29uZGFyeX07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQVNlbmRCdXR0b24gPSBzdHlsZWQoQ2xlYXJCdXR0b24pPHsgaGFzVmFsdWVzPzogYm9vbGVhbiB9PmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyBoYXNWYWx1ZXMgfSkgPT4gKGhhc1ZhbHVlcyA/IGAke0JMVUVfSUFfQ09MT1JTWzUwMF19YCA6ICcjZjJmMmYyJyl9O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblxuICBzdmcge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgJHsoeyBoYXNWYWx1ZXMgfSkgPT5cbiAgICAgIGhhc1ZhbHVlcyAmJlxuICAgICAgY3NzYFxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICBzdHJva2U6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke0JMVUVfSUFfQ09MT1JTWzcwMF19ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgIHN2ZyB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgICAgcGF0aCB7XG4gICAgICAgIHN0cm9rZTogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMiAhaW1wb3J0YW50O1xuXG4gICAgJHsoeyBoYXNWYWx1ZXMgfSkgPT5cbiAgICAgICFoYXNWYWx1ZXMgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgc3ZnIHBhdGgge1xuICAgICAgICAgIHN0cm9rZTogJHtjb2xvcnMudGV4dC5kaXNhYmxlZH0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgYH1cblxuICAgICY6aG92ZXIge1xuICAgICAgc3ZnIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDTUlXcmFwcGVyQXR0YWNobWVudHMgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEycHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01JQXR0YWNobWVudCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAyNHB4O1xuICBtYXgtd2lkdGg6IDExOHB4O1xuICBwYWRkaW5nOiA2cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMnB4O1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4td2lkdGg6IDA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NNSUF0dGFjaG1lbnRJY29uID0gc3R5bGVkLnNwYW5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIHN2ZyxcbiAgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NNSUF0dGFjaG1lbnRGaWxlSWNvbiA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG5cbiAgc3ZnIHtcbiAgICB3aWR0aDogMTNweDtcbiAgICBoZWlnaHQ6IDEzcHg7XG4gIH1cblxuICAke1NDTUlBdHRhY2htZW50fTpob3ZlciAmIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01JQXR0YWNobWVudERlbGV0ZUljb24gPSBzdHlsZWQuYnV0dG9uYFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICBsaW5lLWhlaWdodDogMDtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG5cbiAgc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICB9XG5cbiAgJHtTQ01JQXR0YWNobWVudH06aG92ZXIgJiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxuXG4gICY6aG92ZXIgc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDYpO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01JQXR0YWNobWVudE5hbWUgPSBzdHlsZWQuc3BhbmBcbiAgZmxleDogMSAxIGF1dG87XG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBQbHVzTWVudVRvb2xzUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBQbHVzVG9nZ2xlQnV0dG9uID0gc3R5bGVkLmJ1dHRvbjx7ICRtZW51T3BlbjogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kOiAkeyh7ICRtZW51T3BlbiB9KSA9PiAoJG1lbnVPcGVuID8gJyNmMmYyZjInIDogY29sb3JzLndoaXRlLm1haW4pfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbGV4LXNocmluazogMDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzLXZpc2libGU6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgUGx1c01lbnVQYXBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMjA5cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDEycHggOHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR7Y29sb3JzLmNvbG9ycy5ncmF5LmxpZ2h0fTtcbiAgYmFja2dyb3VuZDogJHtjb2xvcnMud2hpdGUubWFpbn07XG4gIGJveC1zaGFkb3c6XG4gICAgMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wOCksXG4gICAgMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNCk7XG5gXG5cbmV4cG9ydCBjb25zdCBQbHVzTWVudUlubmVyQ29sdW1uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNHB4O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuYFxuXG5leHBvcnQgY29uc3QgUGx1c01lbnVEaXZpZGVyID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDE3MHB4O1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogJHtjb2xvcnMuY29sb3JzLmdyYXkubGlnaHR9O1xuICBmbGV4LXNocmluazogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFBsdXNNZW51SXRlbUJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA4cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHtjb2xvcnMuYmFja2dyb3VuZC5zZWNvbmRhcnl9O1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgJHtCTFVFX0lBX0NPTE9SU1s1MDBdfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgUGx1c01lbnVJdGVtTGFiZWwgPSBzdHlsZWQuc3BhbmBcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBjb2xvcjogJHtNQUlBX0NIQVRfSU5QVVRfVUkubWVudUljb259O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuYFxuXG5leHBvcnQgY29uc3QgQWN0aXZlVG9vbENoaXBSb290ID0gc3R5bGVkLmRpdjx7ICRob3ZlcmVkOiBib29sZWFuOyAkZXhpdGluZzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgbWF4LXdpZHRoOiAxNDRweDtcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAycHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyAkaG92ZXJlZCB9KSA9PiAoJGhvdmVyZWQgPyAnMTZweCcgOiAnMCcpfTtcbiAgYmFja2dyb3VuZDogJHsoeyAkaG92ZXJlZCB9KSA9PiAoJGhvdmVyZWQgPyBNQUlBX0NIQVRfSU5QVVRfVUkuY2hpcFN1cmZhY2VIb3ZlciA6ICd0cmFuc3BhcmVudCcpfTtcbiAgYm94LXNoYWRvdzogJHsoeyAkaG92ZXJlZCB9KSA9PiAoJGhvdmVyZWQgPyAnMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wNyknIDogJ25vbmUnKX07XG4gIHRyYW5zaXRpb246XG4gICAgYmFja2dyb3VuZC1jb2xvciAwLjIycyBlYXNlLFxuICAgIGJvcmRlci1yYWRpdXMgMC4yMnMgZWFzZSxcbiAgICBib3gtc2hhZG93IDAuMjJzIGVhc2U7XG5cbiAgJHsoeyAkZXhpdGluZyB9KSA9PlxuICAgICRleGl0aW5nICYmXG4gICAgY3NzYFxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBhbmltYXRpb246ICR7YWN0aXZlVG9vbENoaXBPdXR9IDAuMjJzIGVhc2UgZm9yd2FyZHM7XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IEFjdGl2ZVRvb2xDaGlwSWNvbkJ1dHRvbiA9IHN0eWxlZC5idXR0b248eyAkY2xvc2VTaG93bjogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG5cbiAgc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICR7KHsgJGNsb3NlU2hvd24gfSkgPT5cbiAgICAkY2xvc2VTaG93biAmJlxuICAgIGNzc2BcbiAgICAgIHN2ZyB7XG4gICAgICAgIGFuaW1hdGlvbjogJHthY3RpdmVUb29sQ2hpcENsb3NlSWNvbklufSAwLjI0cyBlYXNlIGZvcndhcmRzO1xuICAgICAgfVxuICAgIGB9XG5cbiAgLyogU2NhbGUgc29sbyBjb24gbGEgY3J1eiB2aXNpYmxlIHkgaG92ZXIgc29icmUgZWxsYSAobm8gc29icmUgZWwgY2hpcC9pY29ubyBkZSB0b29sKSAqL1xuICAmOmhvdmVyIHtcbiAgICAkeyh7ICRjbG9zZVNob3duIH0pID0+XG4gICAgICAkY2xvc2VTaG93biAmJlxuICAgICAgY3NzYFxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDYpO1xuICAgICAgYH1cbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICR7QkxVRV9JQV9DT0xPUlNbNTAwXX07XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgQWN0aXZlVG9vbENoaXBMYWJlbCA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogJHtjb2xvcnMudGV4dC5wcmltYXJ5fTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5gXG5jb25zdCBzdG9wUHVsc2UgPSBrZXlmcmFtZXNgXG4gIDAlLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICB9XG5gXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQVN0b3BJY29uID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEzcHg7XG4gIGhlaWdodDogMTNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhjOGM4YztcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBhbmltYXRpb246ICR7c3RvcFB1bHNlfSAxLjZzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuYFxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFTdG9wQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBmb250OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke0JMVUVfSUFfQ09MT1JTWzUwXX0gIWltcG9ydGFudDtcblxuICAgICR7U3R5bGVkTUFJQVN0b3BJY29ufSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke0JMVUVfSUFfQ09MT1JTWzUwMF19ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMC42O1xuICB9XG5gXG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsT0FBT0EsTUFBTSxJQUFJQyxHQUFHLEVBQUVDLFNBQVMsUUFBUSxtQkFBbUI7QUFDMUQsT0FBT0MsTUFBTSxNQUFNLG1DQUFtQztBQUN0RCxTQUFTQyxjQUFjLEVBQUVDLGtCQUFrQixRQUFRLHdCQUF3QjtBQUMzRSxTQUFTQyxnQkFBZ0IsUUFBUSxtQ0FBbUM7QUFDcEUsU0FBU0MsV0FBVyxRQUFRLGdCQUFnQjtBQUM1QyxTQUNFQywrQkFBK0IsRUFDL0JDLDBCQUEwQixFQUMxQkMsZ0NBQWdDLFFBQzNCLG1CQUFtQjtBQUUxQixPQUFPLElBQU1DLElBQUksR0FBR1QsU0FBUywwSEFnQjVCO0FBRUQsSUFBTVUseUJBQXlCLEdBQUdWLFNBQVMsZ0ZBUzFDO0FBRUQsSUFBTVcsaUJBQWlCLEdBQUdYLFNBQVMsMkdBU2xDO0FBRUQsSUFBTVksaUJBQWlCLEdBQUdiLEdBQUcseVVBU2RVLElBQUksQ0FJbEI7QUFFRCxPQUFPLElBQU1JLHNCQUFzQixHQUFHZixNQUFNLENBQUNnQixHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsdVZBZ0JwQyxVQUFBQyxJQUFBO0VBQUEsSUFBR0MsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7RUFBQSxPQUFRQSxRQUFRLEdBQUcsYUFBYSxHQUFHLE1BQU07QUFBQSxDQUFDLEVBR2pEWCxnQ0FBZ0MsRUFDdkNGLCtCQUErQixFQUtsQkwsTUFBTSxD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Q0FBQyxFQUM5QyxVQUFBQyxLQUFBO0VBQUEsSUFBR0QsUUFBUSxHQUFBQyxLQUFBLENBQVJELFFBQVE7RUFBQSxPQUFRQSxRQUFRLEdBQUdqRSxrQkFBa0IsQ0FBQ21FLGdCQUFnQixHQUFHLGFBQWE7QUFBQSxDQUFDLEVBQ2xGLFVBQUFDLEtBQUE7RUFBQSxJQUFHSCxRQUFRLEdBQUFHLEtBQUEsQ0FBUkgsUUFBUTtFQUFBLE9BQVFBLFFBQVEsR0FBRywrQkFBK0IsR0FBRyxNQUFNO0FBQUEsQ0FBQyxFQU1uRixVQUFBSSxLQUFBO0VBQUEsSUFBR0MsUUFBUSxHQUFBRCxLQUFBLENBQVJDLFFBQVE7RUFBQSxPQUNYQSxRQUFRLElBQ1IxRSxHQUFHLDhEQUVZWSxpQkFBaUIsQ0FDL0I7QUFBQSxFQUNKO0FBRUQsT0FBTyxJQUFNK0Qsd0JBQXdCLEdBQUc1RSxNQUFNLENBQUNxRCxNQUFNLENBQUFwQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGdTQWlCakQsVUFBQTBELE1BQUE7RUFBQSxJQUFHQyxXQUFXLEdBQUFELE1BQUEsQ0FBWEMsV0FBVztFQUFBLE9BQ2RBLFdBQVcsSUFDWDdFLEdBQUcsK0NBRWNXLHlCQUF5QixDQUV6QztBQUFBLEdBSUMsVUFBQW1FLE1BQUE7RUFBQSxJQUFHRCxXQUFXLEdBQUFDLE1BQUEsQ0FBWEQsV0FBVztFQUFBLE9BQ2RBLFdBQVcsSUFDWDdFLEdBQUcsNEJBRUY7QUFBQSxHQUlrQkcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUczQztBQUVELE9BQU8sSUFBTTRFLG1CQUFtQixHQUFHaEYsTUFBTSxDQUFDb0MsSUFBSSxDQUFBbkIsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw4SUFDbkNoQixNQUFNLENBQUNtQixJQUFJLENBQUMyRCxPQUFPLENBUTdCO0FBQ0QsSUFBTUMsU0FBUyxHQUFHaEYsU0FBUyw0REFRMUI7QUFDRCxPQUFPLElBQU1pRixrQkFBa0IsR0FBR25GLE1BQU0sQ0FBQ2dCLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxvSEFLN0IrRCxTQUFTLENBQ3ZCO0FBQ0QsT0FBTyxJQUFNRSxvQkFBb0IsR0FBR3BGLE1BQU0sQ0FBQ3FELE1BQU0sQ0FBQXBDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsK1dBZXpCZixjQUFjLENBQUMsRUFBRSxDQUFDLEVBRXBDK0Usa0JBQWtCLEVBQ0UvRSxjQUFjLENBQUMsR0FBRyxDQUFDLENBUzVDIiwiaWdub3JlTGlzdCI6W119
|
|
182
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJrZXlmcmFtZXMiLCJjb2xvcnMiLCJCTFVFX0lBX0NPTE9SUyIsIk1BSUFfQ0hBVF9JTlBVVF9VSSIsInNjcm9sbGFibGVTdHlsZXMiLCJDbGVhckJ1dHRvbiIsIk1BSUFfSU5QVVRfQ0hJUFNfQ09OVEVOVF9HQVBfUFgiLCJNQUlBX0lOUFVUX0lOVEVSTkFMX0dBUF9QWCIsIk1BSUFfSU5QVVRfV1JBUFBFUl9NQVhfSEVJR0hUX1BYIiwiZmxvdyIsImFjdGl2ZVRvb2xDaGlwQ2xvc2VJY29uSW4iLCJhY3RpdmVUb29sQ2hpcE91dCIsImN1c3RvbUlucHV0U3R5bGVzIiwiU3R5bGVkTUFJQUlucHV0V3JhcHBlciIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiX3JlZiIsImRpc2FibGVkIiwidGV4dCIsIl9yZWYyIiwiaGFzQXR0YWNobWVudHMiLCJfcmVmMyIsIiRmaWxlRHJhZ0FjdGl2ZSIsIlN0eWxlZE1BSUFEcm9wT3ZlcmxheSIsIlN0eWxlZE1BSUFNYWluVG9vbGJhckdyaWQiLCJTQ0lucHV0RWRpdG9yQ2VsbCIsIlNDSW5wdXRDaGlwc1JvdyIsIlNDSW5wdXRUb29sYmFyUm93IiwiU3R5bGVkTUFJQVBsdXNUb29sYmFyQ2VsbCIsIlN0eWxlZE1BSUFTZW5kVG9vbGJhckNlbGwiLCJTQ0lucHV0TWV0YUluZGljYXRvcnMiLCJTQ0lucHV0TWV0YUljb25CdXR0b24iLCJzcGFuIiwid2hpdGUiLCJtYWluIiwiY2hpcFN1cmZhY2VIb3ZlciIsIlN0eWxlZE1BSUFJbnB1dCIsInRleHRhcmVhIiwic2Vjb25kYXJ5IiwiU3R5bGVkTUFJQVNlbmRCdXR0b24iLCJfcmVmNCIsImhhc1ZhbHVlcyIsImNvbmNhdCIsIl9yZWY1IiwiX3JlZjYiLCJTQ01JV3JhcHBlckF0dGFjaG1lbnRzIiwiU0NNSUF0dGFjaG1lbnQiLCJTQ01JQXR0YWNobWVudEljb24iLCJTQ01JQXR0YWNobWVudEZpbGVJY29uIiwiU0NNSUF0dGFjaG1lbnREZWxldGVJY29uIiwiYnV0dG9uIiwiU0NNSUF0dGFjaG1lbnROYW1lIiwiUGx1c01lbnVUb29sc1JvdyIsIlBsdXNUb2dnbGVCdXR0b24iLCJfcmVmNyIsIiRtZW51T3BlbiIsIlBsdXNNZW51UGFwZXIiLCJncmF5IiwibGlnaHQiLCJQbHVzTWVudUlubmVyQ29sdW1uIiwiUGx1c01lbnVEaXZpZGVyIiwiUGx1c01lbnVJdGVtQnV0dG9uIiwiYmFja2dyb3VuZCIsIlBsdXNNZW51SXRlbUxhYmVsIiwibWVudUljb24iLCJBY3RpdmVUb29sQ2hpcFJvb3QiLCJfcmVmOCIsIiRob3ZlcmVkIiwiX3JlZjkiLCJfcmVmMCIsIl9yZWYxIiwiJGV4aXRpbmciLCJBY3RpdmVUb29sQ2hpcEljb25CdXR0b24iLCJfcmVmMTAiLCIkY2xvc2VTaG93biIsIl9yZWYxMSIsIkFjdGl2ZVRvb2xDaGlwTGFiZWwiLCJwcmltYXJ5Iiwic3RvcFB1bHNlIiwiU3R5bGVkTUFJQVN0b3BJY29uIiwiU3R5bGVkTUFJQVN0b3BCdXR0b24iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9NQUlBSW5wdXQvc3R5bGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9pbmRlbnQgKi9cbmltcG9ydCBzdHlsZWQsIHsgY3NzLCBrZXlmcmFtZXMgfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcbmltcG9ydCBjb2xvcnMgZnJvbSAnQHByb2plY3Rjb3IvdGhlbWUvbGliL2Jhc2UvY29sb3JzJ1xuaW1wb3J0IHsgQkxVRV9JQV9DT0xPUlMsIE1BSUFfQ0hBVF9JTlBVVF9VSSB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9jb25maWcnXG5pbXBvcnQgeyBzY3JvbGxhYmxlU3R5bGVzIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3NoYXJlZC9zY3JvbGxhYmxlJ1xuaW1wb3J0IHsgQ2xlYXJCdXR0b24gfSBmcm9tICcuLi9DbGVhckJ1dHRvbidcbmltcG9ydCB7XG4gIE1BSUFfSU5QVVRfQ0hJUFNfQ09OVEVOVF9HQVBfUFgsXG4gIE1BSUFfSU5QVVRfSU5URVJOQUxfR0FQX1BYLFxuICBNQUlBX0lOUFVUX1dSQVBQRVJfTUFYX0hFSUdIVF9QWCxcbn0gZnJvbSAnLi9tYWlhSW5wdXRMYXlvdXQnXG5cbmV4cG9ydCBjb25zdCBmbG93ID0ga2V5ZnJhbWVzYFxuICAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpcbiAgICAgIDAlIDAlLFxuICAgICAgMCUgNTAlO1xuICB9XG4gIDUwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpcbiAgICAgIDAlIDAlLFxuICAgICAgMTAwJSA1MCU7XG4gIH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpcbiAgICAgIDAlIDAlLFxuICAgICAgMCUgNTAlO1xuICB9XG5gXG5cbmNvbnN0IGFjdGl2ZVRvb2xDaGlwQ2xvc2VJY29uSW4gPSBrZXlmcmFtZXNgXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDAuNTU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgyKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5gXG5cbmNvbnN0IGFjdGl2ZVRvb2xDaGlwT3V0ID0ga2V5ZnJhbWVzYFxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTIpIHRyYW5zbGF0ZVkoM3B4KTtcbiAgfVxuYFxuXG5jb25zdCBjdXN0b21JbnB1dFN0eWxlcyA9IGNzc2BcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDpcbiAgICBsaW5lYXItZ3JhZGllbnQod2hpdGUsIHdoaXRlKSBwYWRkaW5nLWJveCxcbiAgICBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICM0ZDM1NjkgMCUsICM4NzQwYmYgNTkuNjIlLCAjMmQ3N2JkIDEwMCUpIGJvcmRlci1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXNpemU6XG4gICAgMTAwJSAxMDAlLFxuICAgIDIwMCUgMTAwJTtcbiAgYW5pbWF0aW9uOiAke2Zsb3d9IDNzIGVhc2UgaW5maW5pdGU7XG4gIGJveC1zaGFkb3c6XG4gICAgM3B4IDRweCAxNHB4IDAgcmdiYSgxMzUsIDY0LCAxOTEsIDAuMTUpLFxuICAgIC0zcHggLTRweCAxNHB4IDAgcmdiYSg0NSwgMTE5LCAxODksIDAuMTUpO1xuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQUlucHV0V3JhcHBlciA9IHN0eWxlZC5kaXY8e1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgYWxpZ25CdXR0b25zPzogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJ1xuICBoYXNBdHRhY2htZW50czogYm9vbGVhblxuICAvKiogRXN0YWRvIGluaWNpYWw6IHRvb2xiYXIgZW4gdW5hIHNvbGEgbMOtbmVhIHNpbiBhZGp1bnRvcyBuaSB0b29scyBkZWwgKyBuaSBtdWx0aWxpbmUgKi9cbiAgY29tcGFjdFNpbmdsZVJvd1Rvb2xiYXI/OiBib29sZWFuXG4gICRmaWxlRHJhZ0FjdGl2ZT86IGJvb2xlYW5cbn0+YFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHRyYW5zaXRpb246XG4gICAgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSxcbiAgICBib3gtc2hhZG93IDAuMnMgZWFzZTtcbiAgcGFkZGluZzogOHB4O1xuICBjdXJzb3I6ICR7KHsgZGlzYWJsZWQgfSkgPT4gKGRpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdhdXRvJyl9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiA1OHB4O1xuICBtYXgtaGVpZ2h0OiAke01BSUFfSU5QVVRfV1JBUFBFUl9NQVhfSEVJR0hUX1BYfXB4O1xuICBnYXA6ICR7TUFJQV9JTlBVVF9DSElQU19DT05URU5UX0dBUF9QWH1weDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJHtjb2xvcnMudGV4dC5kaXNhYmxlZH07XG4gIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgICR7Y3VzdG9tSW5wdXRTdHlsZXN9XG4gIH1cblxuICAkeyh7IGhhc0F0dGFjaG1lbnRzIH0pID0+XG4gICAgaGFzQXR0YWNobWVudHMgJiZcbiAgICBjc3NgXG4gICAgICAke2N1c3RvbUlucHV0U3R5bGVzfVxuICAgIGB9XG5cbiAgJHsoeyAkZmlsZURyYWdBY3RpdmUgfSkgPT5cbiAgICAkZmlsZURyYWdBY3RpdmUgJiZcbiAgICBjc3NgXG4gICAgICBib3JkZXI6IDFweCBkYXNoZWQgJHtCTFVFX0lBX0NPTE9SU1s1MDBdfTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoNDUsIDExOSwgMTg5LCAwLjA2KTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFEcm9wT3ZlcmxheSA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICR7QkxVRV9JQV9DT0xPUlNbNzAwXX07XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigycHgpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigycHgpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG5gXG5cbi8qKiBUb29sYmFyIGZpamEgZW4gMiBmaWxhczogaW5wdXQgYXJyaWJhLCArIC8gc2VuZCBhYmFqbyAodG9vbGJhciBubyBzY3JvbGxlYSkuICovXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQU1haW5Ub29sYmFyR3JpZCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyIGF1dG87XG4gIGdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4KDAsIGF1dG8pIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICByb3ctZ2FwOiAke01BSUFfSU5QVVRfSU5URVJOQUxfR0FQX1BYfXB4O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgbWluLWhlaWdodDogMDtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbmBcblxuLyoqIENlbGRhIGRlbCBlZGl0b3IgKGVsIHNjcm9sbCB2aXZlIGVuIGVsIGNvbnRlbnRlZGl0YWJsZSkuICovXG5leHBvcnQgY29uc3QgU0NJbnB1dEVkaXRvckNlbGwgPSBzdHlsZWQuZGl2YFxuICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICBncmlkLXJvdzogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBtaW4taGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuYFxuXG4vKiogRmlsYSBjb21wYXJ0aWRhOiBjaGlwIGRlIGNvbnRleHRvICsgY2hpcHMgZGUgYXR0YWNobWVudHMgKHdyYXApLiAqL1xuZXhwb3J0IGNvbnN0IFNDSW5wdXRDaGlwc1JvdyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBnYXA6IDRweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXNocmluazogMDtcbiAgbWluLXdpZHRoOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDRweDtcbmBcblxuLyoqIEZpbGEgaW5mZXJpb3IgZGUgYm90b25lczogc2llbXByZSB2aXNpYmxlLCBudW5jYSBzY3JvbGxlYSBjb24gZWwgdGV4dG8uICovXG5leHBvcnQgY29uc3QgU0NJbnB1dFRvb2xiYXJSb3cgPSBzdHlsZWQuZGl2YFxuICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICBncmlkLXJvdzogMjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IDhweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtaW4taGVpZ2h0OiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQVBsdXNUb29sYmFyQ2VsbCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQVNlbmRUb29sYmFyQ2VsbCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuYFxuXG4vKiogSW5kaWNhZG9yZXMgYSBsYSBpenF1aWVyZGEgZGVsIHNlbmQgKGFjY2VzbyBDT1IgLyBtb2RlbG8pIHBhcmEgYWdlbnRlcyBjdXN0b20uICovXG5leHBvcnQgY29uc3QgU0NJbnB1dE1ldGFJbmRpY2F0b3JzID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NJbnB1dE1ldGFJY29uQnV0dG9uID0gc3R5bGVkLnNwYW5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXNocmluazogMDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kOiAke2NvbG9ycy53aGl0ZS5tYWlufTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHtNQUlBX0NIQVRfSU5QVVRfVUkuY2hpcFN1cmZhY2VIb3Zlcn07XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFJbnB1dCA9IHN0eWxlZC50ZXh0YXJlYTx7XG4gIGFsaWduQnV0dG9ucz86ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCdcbiAgJHRvb2xiYXJMYXlvdXRWYXJpYW50PzogJ3N0YWNrZWRSb3dzJ1xufT5gXG4gICR7c2Nyb2xsYWJsZVN0eWxlc31cbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcGFkZGluZzogMDtcbiAgcmVzaXplOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDIwcHg7XG4gIG1heC1oZWlnaHQ6IDE3MHB4O1xuICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICBncmlkLXJvdzogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBsaW5lLWhlaWdodDogMjBweDtcblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtjb2xvcnMudGV4dC5zZWNvbmRhcnl9O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjIxcHg7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFTZW5kQnV0dG9uID0gc3R5bGVkKENsZWFyQnV0dG9uKTx7IGhhc1ZhbHVlcz86IGJvb2xlYW4gfT5gXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgaGFzVmFsdWVzIH0pID0+IChoYXNWYWx1ZXMgPyBgJHtCTFVFX0lBX0NPTE9SU1s1MDBdfWAgOiAnI2YyZjJmMicpfTtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cbiAgc3ZnIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgICR7KHsgaGFzVmFsdWVzIH0pID0+XG4gICAgICBoYXNWYWx1ZXMgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgc3Ryb2tlOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICBgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtCTFVFX0lBX0NPTE9SU1s3MDBdfSAhaW1wb3J0YW50O1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICBzdmcge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgICAgIHBhdGgge1xuICAgICAgICBzdHJva2U6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjIgIWltcG9ydGFudDtcblxuICAgICR7KHsgaGFzVmFsdWVzIH0pID0+XG4gICAgICAhaGFzVmFsdWVzICYmXG4gICAgICBjc3NgXG4gICAgICAgIHN2ZyBwYXRoIHtcbiAgICAgICAgICBzdHJva2U6ICR7Y29sb3JzLnRleHQuZGlzYWJsZWR9ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIGB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHN2ZyB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01JV3JhcHBlckF0dGFjaG1lbnRzID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxMnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYFxuXG5leHBvcnQgY29uc3QgU0NNSUF0dGFjaG1lbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMjRweDtcbiAgbWF4LXdpZHRoOiAxMThweDtcbiAgcGFkZGluZzogNnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWluLXdpZHRoOiAwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDTUlBdHRhY2htZW50SWNvbiA9IHN0eWxlZC5zcGFuYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBzdmcsXG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDTUlBdHRhY2htZW50RmlsZUljb24gPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuXG4gIHN2ZyB7XG4gICAgd2lkdGg6IDEzcHg7XG4gICAgaGVpZ2h0OiAxM3B4O1xuICB9XG5cbiAgJHtTQ01JQXR0YWNobWVudH06aG92ZXIgJiB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NNSUF0dGFjaG1lbnREZWxldGVJY29uID0gc3R5bGVkLmJ1dHRvbmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzY2NjY2NjtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuXG4gIHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgfVxuXG4gICR7U0NNSUF0dGFjaG1lbnR9OmhvdmVyICYge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIH1cblxuICAmOmhvdmVyIHN2ZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA2KTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NNSUF0dGFjaG1lbnROYW1lID0gc3R5bGVkLnNwYW5gXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBtaW4td2lkdGg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjb2xvcjogIzY2NjY2NjtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgUGx1c01lbnVUb29sc1JvdyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuYFxuXG5leHBvcnQgY29uc3QgUGx1c1RvZ2dsZUJ1dHRvbiA9IHN0eWxlZC5idXR0b248eyAkbWVudU9wZW46IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYmFja2dyb3VuZDogJHsoeyAkbWVudU9wZW4gfSkgPT4gKCRtZW51T3BlbiA/ICcjZjJmMmYyJyA6IGNvbG9ycy53aGl0ZS5tYWluKX07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1cy12aXNpYmxlOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFBsdXNNZW51UGFwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDIwOXB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAxMnB4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAke2NvbG9ycy5jb2xvcnMuZ3JheS5saWdodH07XG4gIGJhY2tncm91bmQ6ICR7Y29sb3JzLndoaXRlLm1haW59O1xuICBib3gtc2hhZG93OlxuICAgIDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDgpLFxuICAgIDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDQpO1xuYFxuXG5leHBvcnQgY29uc3QgUGx1c01lbnVJbm5lckNvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbmBcblxuZXhwb3J0IGNvbnN0IFBsdXNNZW51RGl2aWRlciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxNzBweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQ6ICR7Y29sb3JzLmNvbG9ycy5ncmF5LmxpZ2h0fTtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBQbHVzTWVudUl0ZW1CdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR7Y29sb3JzLmJhY2tncm91bmQuc2Vjb25kYXJ5fTtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICR7QkxVRV9JQV9DT0xPUlNbNTAwXX07XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFBsdXNNZW51SXRlbUxhYmVsID0gc3R5bGVkLnNwYW5gXG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDtcbiAgY29sb3I6ICR7TUFJQV9DSEFUX0lOUFVUX1VJLm1lbnVJY29ufTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjBweDtcbmBcblxuZXhwb3J0IGNvbnN0IEFjdGl2ZVRvb2xDaGlwUm9vdCA9IHN0eWxlZC5kaXY8eyAkaG92ZXJlZDogYm9vbGVhbjsgJGV4aXRpbmc6IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1heC13aWR0aDogMTQ0cHg7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMnB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgJGhvdmVyZWQgfSkgPT4gKCRob3ZlcmVkID8gJzE2cHgnIDogJzAnKX07XG4gIGJhY2tncm91bmQ6ICR7KHsgJGhvdmVyZWQgfSkgPT4gKCRob3ZlcmVkID8gTUFJQV9DSEFUX0lOUFVUX1VJLmNoaXBTdXJmYWNlSG92ZXIgOiAndHJhbnNwYXJlbnQnKX07XG4gIGJveC1zaGFkb3c6ICR7KHsgJGhvdmVyZWQgfSkgPT4gKCRob3ZlcmVkID8gJzAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMDcpJyA6ICdub25lJyl9O1xuICB0cmFuc2l0aW9uOlxuICAgIGJhY2tncm91bmQtY29sb3IgMC4yMnMgZWFzZSxcbiAgICBib3JkZXItcmFkaXVzIDAuMjJzIGVhc2UsXG4gICAgYm94LXNoYWRvdyAwLjIycyBlYXNlO1xuXG4gICR7KHsgJGV4aXRpbmcgfSkgPT5cbiAgICAkZXhpdGluZyAmJlxuICAgIGNzc2BcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgYW5pbWF0aW9uOiAke2FjdGl2ZVRvb2xDaGlwT3V0fSAwLjIycyBlYXNlIGZvcndhcmRzO1xuICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBBY3RpdmVUb29sQ2hpcEljb25CdXR0b24gPSBzdHlsZWQuYnV0dG9uPHsgJGNsb3NlU2hvd246IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuXG4gIHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAkeyh7ICRjbG9zZVNob3duIH0pID0+XG4gICAgJGNsb3NlU2hvd24gJiZcbiAgICBjc3NgXG4gICAgICBzdmcge1xuICAgICAgICBhbmltYXRpb246ICR7YWN0aXZlVG9vbENoaXBDbG9zZUljb25Jbn0gMC4yNHMgZWFzZSBmb3J3YXJkcztcbiAgICAgIH1cbiAgICBgfVxuXG4gIC8qIFNjYWxlIHNvbG8gY29uIGxhIGNydXogdmlzaWJsZSB5IGhvdmVyIHNvYnJlIGVsbGEgKG5vIHNvYnJlIGVsIGNoaXAvaWNvbm8gZGUgdG9vbCkgKi9cbiAgJjpob3ZlciB7XG4gICAgJHsoeyAkY2xvc2VTaG93biB9KSA9PlxuICAgICAgJGNsb3NlU2hvd24gJiZcbiAgICAgIGNzc2BcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA2KTtcbiAgICAgIGB9XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke0JMVUVfSUFfQ09MT1JTWzUwMF19O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IEFjdGl2ZVRvb2xDaGlwTGFiZWwgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHQucHJpbWFyeX07XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuYFxuY29uc3Qgc3RvcFB1bHNlID0ga2V5ZnJhbWVzYFxuICAwJSxcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgfVxuYFxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFTdG9wSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxM3B4O1xuICBoZWlnaHQ6IDEzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4YzhjOGM7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYW5pbWF0aW9uOiAke3N0b3BQdWxzZX0gMS42cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbmBcbmV4cG9ydCBjb25zdCBTdHlsZWRNQUlBU3RvcEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgZm9udDogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMiAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtCTFVFX0lBX0NPTE9SU1s1MF19ICFpbXBvcnRhbnQ7XG5cbiAgICAke1N0eWxlZE1BSUFTdG9wSWNvbn0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtCTFVFX0lBX0NPTE9SU1s1MDBdfSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMiAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgfVxuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLE9BQU9BLE1BQU0sSUFBSUMsR0FBRyxFQUFFQyxTQUFTLFFBQVEsbUJBQW1CO0FBQzFELE9BQU9DLE1BQU0sTUFBTSxtQ0FBbUM7QUFDdEQsU0FBU0MsY0FBYyxFQUFFQyxrQkFBa0IsUUFBUSx3QkFBd0I7QUFDM0UsU0FBU0MsZ0JBQWdCLFFBQVEsbUNBQW1DO0FBQ3BFLFNBQVNDLFdBQVcsUUFBUSxnQkFBZ0I7QUFDNUMsU0FDRUMsK0JBQStCLEVBQy9CQywwQkFBMEIsRUFDMUJDLGdDQUFnQyxRQUMzQixtQkFBbUI7QUFFMUIsT0FBTyxJQUFNQyxJQUFJLEdBQUdULFNBQVMsMEhBZ0I1QjtBQUVELElBQU1VLHlCQUF5QixHQUFHVixTQUFTLGdGQVMxQztBQUVELElBQU1XLGlCQUFpQixHQUFHWCxTQUFTLDJHQVNsQztBQUVELElBQU1ZLGlCQUFpQixHQUFHYixHQUFHLHlVQVNkVSxJQUFJLENBSWxCO0FBRUQsT0FBTyxJQUFNSSxzQkFBc0IsR0FBR2YsTUFBTSxDQUFDZ0IsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHVWQWdCcEMsVUFBQUMsSUFBQTtFQUFB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
|
|
@@ -39,7 +39,6 @@ export var SlashCommandDropdown = function SlashCommandDropdown(_ref) {
|
|
|
39
39
|
onClose = _ref.onClose,
|
|
40
40
|
bottom = _ref.bottom,
|
|
41
41
|
left = _ref.left,
|
|
42
|
-
maxHeight = _ref.maxHeight,
|
|
43
42
|
zIndex = _ref.zIndex,
|
|
44
43
|
anchorRef = _ref.anchorRef;
|
|
45
44
|
var _useT = useT(),
|
|
@@ -161,7 +160,6 @@ export var SlashCommandDropdown = function SlashCommandDropdown(_ref) {
|
|
|
161
160
|
return /*#__PURE__*/_jsx(SCSCAnchor, {
|
|
162
161
|
$bottom: bottom,
|
|
163
162
|
$left: left,
|
|
164
|
-
$maxHeight: maxHeight,
|
|
165
163
|
$zIndex: zIndex,
|
|
166
164
|
onMouseDown: function onMouseDown(e) {
|
|
167
165
|
return e.stopPropagation();
|
|
@@ -207,4 +205,4 @@ export var SlashCommandDropdown = function SlashCommandDropdown(_ref) {
|
|
|
207
205
|
})
|
|
208
206
|
});
|
|
209
207
|
};
|
|
210
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJ1c2VUIiwiQUNUSU9OX0NBVEVHT1JZX01BUCIsIkFDVElPTl9DQVRFR09SWV9PUkRFUiIsIlNDU0NBbmNob3IiLCJTQ1NDRHJvcGRvd24iLCJTQ1NDSXRlbSIsIlNDU0NJdGVtVGl0bGUiLCJTQ1NDSXRlbVN1YnRpdGxlIiwiU0NTQ0l0ZW1QcmVmaXgiLCJTQ1NDQ2F0ZWdvcnlHcm91cCIsIlNDU0NDYXRlZ29yeUhlYWRlciIsIlNDU0NNYXRjaEhpZ2hsaWdodCIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJVTkdST1VQRURfS0VZIiwicmVuZGVyV2l0aEhpZ2hsaWdodCIsInRleHQiLCJxdWVyeSIsIm5lZWRsZSIsInRyaW0iLCJ0b0xvd2VyQ2FzZSIsImhheXN0YWNrIiwiaW5kZXhPZiIsInBhcnRzIiwiY3Vyc29yIiwibmV4dElkeCIsImNodW5rS2V5IiwicHVzaCIsInNsaWNlIiwiY2hpbGRyZW4iLCJsZW5ndGgiLCJjb25jYXQiLCJTbGFzaENvbW1hbmREcm9wZG93biIsIl9yZWYiLCJjb21tYW5kcyIsIm9uU2VsZWN0Iiwib25DbG9zZSIsImJvdHRvbSIsImxlZnQiLCJtYXhIZWlnaHQiLCJ6SW5kZXgiLCJhbmNob3JSZWYiLCJfdXNlVCIsInQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJoaWdobGlnaHRlZEluZGV4Iiwic2V0SGlnaGxpZ2h0ZWRJbmRleCIsImRyb3Bkb3duUmVmIiwiaXRlbVJlZnMiLCJmaWx0ZXJlZCIsIm5vcm1hbGl6ZWQiLCJmaWx0ZXIiLCJjIiwiX2Mkc3VidGl0bGUkdG9Mb3dlckNhIiwiX2Mkc3VidGl0bGUiLCJ0aXRsZSIsImluY2x1ZGVzIiwic3VidGl0bGUiLCJvcmRlcmVkQ29tbWFuZHMiLCJncm91cGVkIiwiTWFwIiwiZm9yRWFjaCIsIl9jJGNhdGVnb3J5Iiwia2V5IiwiY2F0ZWdvcnkiLCJoYXMiLCJzZXQiLCJnZXQiLCJyZXN1bHQiLCJjYXRLZXkiLCJpdGVtcyIsImFwcGx5IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwidW5ncm91cGVkIiwicmVuZGVyR3JvdXBzIiwiX2MkY2F0ZWdvcnkyIiwiY3VycmVudCIsInNjcm9sbEhpZ2hsaWdodGVkSW50b1ZpZXciLCJpbmRleCIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsIl9pdGVtUmVmcyRjdXJyZW50JGluZCIsInNjcm9sbEludG9WaWV3IiwiYmxvY2siLCJoYW5kbGVQb2ludGVyRG93bk91dHNpZGUiLCJtb3VzZUV2ZW50IiwiX2Ryb3Bkb3duUmVmJGN1cnJlbnQiLCJfYW5jaG9yUmVmJGN1cnJlbnQiLCJ0YXJnZXQiLCJjb250YWlucyIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVyIiwiZSIsInByZXZlbnREZWZhdWx0IiwibmV4dCIsInN0b3BQcm9wYWdhdGlvbiIsImZsYXRJbmRleCIsIiRib3R0b20iLCIkbGVmdCIsIiRtYXhIZWlnaHQiLCIkekluZGV4Iiwib25Nb3VzZURvd24iLCJyZWYiLCJtYXAiLCJncm91cCIsImNhdGVnb3J5RGVmIiwiaWNvbiIsImxhYmVsS2V5IiwiY29tbWFuZCIsImN1cnJlbnRJbmRleCIsImVsIiwiJGhpZ2hsaWdodGVkIiwib25Nb3VzZUVudGVyIiwib25DbGljayIsInR5cGUiLCJpZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL1NsYXNoQ29tbWFuZERyb3Bkb3duL1NsYXNoQ29tbWFuZERyb3Bkb3duLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9mdW5jdGlvbi1jb21wb25lbnQtZGVmaW5pdGlvbiAqL1xuaW1wb3J0IHsgUmVmT2JqZWN0LCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUsIHR5cGUgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgdHlwZSB7IEFjdGlvbiwgQWN0aW9uQ2F0ZWdvcnlLZXkgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9BY3Rpb24nXG5pbXBvcnQgeyB1c2VUIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlVCdcbmltcG9ydCB7IEFDVElPTl9DQVRFR09SWV9NQVAsIEFDVElPTl9DQVRFR09SWV9PUkRFUiB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2FjdGlvbkNhdGVnb3J5TWFwJ1xuaW1wb3J0IHtcbiAgU0NTQ0FuY2hvcixcbiAgU0NTQ0Ryb3Bkb3duLFxuICBTQ1NDSXRlbSxcbiAgU0NTQ0l0ZW1UaXRsZSxcbiAgU0NTQ0l0ZW1TdWJ0aXRsZSxcbiAgU0NTQ0l0ZW1QcmVmaXgsXG4gIFNDU0NDYXRlZ29yeUdyb3VwLFxuICBTQ1NDQ2F0ZWdvcnlIZWFkZXIsXG4gIFNDU0NNYXRjaEhpZ2hsaWdodCxcbn0gZnJvbSAnLi9TbGFzaENvbW1hbmREcm9wZG93bi5zdHlsZXMnXG5cbnR5cGUgU2xhc2hDb21tYW5kRHJvcGRvd25Qcm9wcyA9IHtcbiAgY29tbWFuZHM6IEFjdGlvbltdXG4gIHF1ZXJ5OiBzdHJpbmdcbiAgb25TZWxlY3Q6IChjb21tYW5kOiBBY3Rpb24pID0+IHZvaWRcbiAgb25DbG9zZTogKCkgPT4gdm9pZFxuICBib3R0b206IG51bWJlclxuICBsZWZ0OiBudW1iZXJcbiAgbWF4SGVpZ2h0PzogbnVtYmVyXG4gIHpJbmRleD86IG51bWJlclxuICAvKiogTm9kbyBhbmNsYSAocC4gZWouIHdyYXBwZXIgZGVsIGlucHV0KTogY2xpY2tzIGFow60gbm8gY2llcnJhbiBlbCBtZW7Dui4gKi9cbiAgYW5jaG9yUmVmPzogUmVmT2JqZWN0PEhUTUxFbGVtZW50IHwgbnVsbD5cbn1cblxuY29uc3QgVU5HUk9VUEVEX0tFWSA9ICdfX3VuZ3JvdXBlZF9fJ1xuXG5jb25zdCByZW5kZXJXaXRoSGlnaGxpZ2h0ID0gKHRleHQ6IHN0cmluZywgcXVlcnk6IHN0cmluZyk6IFJlYWN0Tm9kZSA9PiB7XG4gIGNvbnN0IG5lZWRsZSA9IHF1ZXJ5LnRyaW0oKS50b0xvd2VyQ2FzZSgpXG4gIGlmICghbmVlZGxlKSByZXR1cm4gdGV4dFxuICBjb25zdCBoYXlzdGFjayA9IHRleHQudG9Mb3dlckNhc2UoKVxuICBpZiAoaGF5c3RhY2suaW5kZXhPZihuZWVkbGUpID09PSAtMSkgcmV0dXJuIHRleHRcblxuICBjb25zdCBwYXJ0czogUmVhY3ROb2RlW10gPSBbXVxuICBsZXQgY3Vyc29yID0gMFxuICBsZXQgbmV4dElkeCA9IGhheXN0YWNrLmluZGV4T2YobmVlZGxlLCBjdXJzb3IpXG4gIGxldCBjaHVua0tleSA9IDBcbiAgd2hpbGUgKG5leHRJZHggIT09IC0xKSB7XG4gICAgaWYgKG5leHRJZHggPiBjdXJzb3IpIHtcbiAgICAgIHBhcnRzLnB1c2godGV4dC5zbGljZShjdXJzb3IsIG5leHRJZHgpKVxuICAgIH1cbiAgICBwYXJ0cy5wdXNoKFxuICAgICAgPFNDU0NNYXRjaEhpZ2hsaWdodCBrZXk9e2BtLSR7Y2h1bmtLZXl9YH0+e3RleHQuc2xpY2UobmV4dElkeCwgbmV4dElkeCArIG5lZWRsZS5sZW5ndGgpfTwvU0NTQ01hdGNoSGlnaGxpZ2h0PlxuICAgIClcbiAgICBjaHVua0tleSArPSAxXG4gICAgY3Vyc29yID0gbmV4dElkeCArIG5lZWRsZS5sZW5ndGhcbiAgICBuZXh0SWR4ID0gaGF5c3RhY2suaW5kZXhPZihuZWVkbGUsIGN1cnNvcilcbiAgfVxuICBpZiAoY3Vyc29yIDwgdGV4dC5sZW5ndGgpIHtcbiAgICBwYXJ0cy5wdXNoKHRleHQuc2xpY2UoY3Vyc29yKSlcbiAgfVxuICByZXR1cm4gcGFydHNcbn1cblxuZXhwb3J0IGNvbnN0IFNsYXNoQ29tbWFuZERyb3Bkb3duID0gKHtcbiAgY29tbWFuZHMsXG4gIHF1ZXJ5LFxuICBvblNlbGVjdCxcbiAgb25DbG9zZSxcbiAgYm90dG9tLFxuICBsZWZ0LFxuICBtYXhIZWlnaHQsXG4gIHpJbmRleCxcbiAgYW5jaG9yUmVmLFxufTogU2xhc2hDb21tYW5kRHJvcGRvd25Qcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICBjb25zdCBbaGlnaGxpZ2h0ZWRJbmRleCwgc2V0SGlnaGxpZ2h0ZWRJbmRleF0gPSB1c2VTdGF0ZSgwKVxuICBjb25zdCBkcm9wZG93blJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgaXRlbVJlZnMgPSB1c2VSZWY8KEhUTUxCdXR0b25FbGVtZW50IHwgbnVsbClbXT4oW10pXG5cbiAgY29uc3QgZmlsdGVyZWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBub3JtYWxpemVkID0gcXVlcnkudHJpbSgpLnRvTG93ZXJDYXNlKClcbiAgICBpZiAoIW5vcm1hbGl6ZWQpIHJldHVybiBjb21tYW5kc1xuICAgIHJldHVybiBjb21tYW5kcy5maWx0ZXIoXG4gICAgICBjID0+IGMudGl0bGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhub3JtYWxpemVkKSB8fCAoYy5zdWJ0aXRsZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhub3JtYWxpemVkKSA/PyBmYWxzZSlcbiAgICApXG4gIH0sIFtjb21tYW5kcywgcXVlcnldKVxuXG4gIGNvbnN0IG9yZGVyZWRDb21tYW5kcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGdyb3VwZWQgPSBuZXcgTWFwPHN0cmluZywgQWN0aW9uW10+KClcbiAgICBmaWx0ZXJlZC5mb3JFYWNoKGMgPT4ge1xuICAgICAgY29uc3Qga2V5ID0gYy5jYXRlZ29yeSA/PyBVTkdST1VQRURfS0VZXG4gICAgICBpZiAoIWdyb3VwZWQuaGFzKGtleSkpIGdyb3VwZWQuc2V0KGtleSwgW10pXG4gICAgICBncm91cGVkLmdldChrZXkpIS5wdXNoKGMpXG4gICAgfSlcblxuICAgIGNvbnN0IHJlc3VsdDogQWN0aW9uW10gPSBbXVxuICAgIEFDVElPTl9DQVRFR09SWV9PUkRFUi5mb3JFYWNoKGNhdEtleSA9PiB7XG4gICAgICBjb25zdCBpdGVtcyA9IGdyb3VwZWQuZ2V0KGNhdEtleSlcbiAgICAgIGlmIChpdGVtcz8ubGVuZ3RoKSByZXN1bHQucHVzaCguLi5pdGVtcylcbiAgICB9KVxuICAgIGNvbnN0IHVuZ3JvdXBlZCA9IGdyb3VwZWQuZ2V0KFVOR1JPVVBFRF9LRVkpXG4gICAgaWYgKHVuZ3JvdXBlZD8ubGVuZ3RoKSByZXN1bHQucHVzaCguLi51bmdyb3VwZWQpXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9LCBbZmlsdGVyZWRdKVxuXG4gIGNvbnN0IHJlbmRlckdyb3VwcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGdyb3VwZWQgPSBuZXcgTWFwPHN0cmluZywgQWN0aW9uW10+KClcbiAgICBmaWx0ZXJlZC5mb3JFYWNoKGMgPT4ge1xuICAgICAgY29uc3Qga2V5ID0gYy5jYXRlZ29yeSA/PyBVTkdST1VQRURfS0VZXG4gICAgICBpZiAoIWdyb3VwZWQuaGFzKGtleSkpIGdyb3VwZWQuc2V0KGtleSwgW10pXG4gICAgICBncm91cGVkLmdldChrZXkpIS5wdXNoKGMpXG4gICAgfSlcblxuICAgIGNvbnN0IHJlc3VsdDogeyBrZXk6IEFjdGlvbkNhdGVnb3J5S2V5IHwgdHlwZW9mIFVOR1JPVVBFRF9LRVk7IGl0ZW1zOiBBY3Rpb25bXSB9W10gPSBbXVxuICAgIEFDVElPTl9DQVRFR09SWV9PUkRFUi5mb3JFYWNoKGNhdEtleSA9PiB7XG4gICAgICBjb25zdCBpdGVtcyA9IGdyb3VwZWQuZ2V0KGNhdEtleSlcbiAgICAgIGlmIChpdGVtcz8ubGVuZ3RoKSByZXN1bHQucHVzaCh7IGtleTogY2F0S2V5LCBpdGVtcyB9KVxuICAgIH0pXG4gICAgY29uc3QgdW5ncm91cGVkID0gZ3JvdXBlZC5nZXQoVU5HUk9VUEVEX0tFWSlcbiAgICBpZiAodW5ncm91cGVkPy5sZW5ndGgpIHJlc3VsdC5wdXNoKHsga2V5OiBVTkdST1VQRURfS0VZLCBpdGVtczogdW5ncm91cGVkIH0pXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9LCBbZmlsdGVyZWRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0SGlnaGxpZ2h0ZWRJbmRleCgwKVxuICB9LCBbcXVlcnldKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaXRlbVJlZnMuY3VycmVudCA9IGl0ZW1SZWZzLmN1cnJlbnQuc2xpY2UoMCwgb3JkZXJlZENvbW1hbmRzLmxlbmd0aClcbiAgfSwgW29yZGVyZWRDb21tYW5kcy5sZW5ndGhdKVxuXG4gIGNvbnN0IHNjcm9sbEhpZ2hsaWdodGVkSW50b1ZpZXcgPSAoaW5kZXg6IG51bWJlcikgPT4ge1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpdGVtUmVmcy5jdXJyZW50W2luZGV4XT8uc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ25lYXJlc3QnIH0pXG4gICAgfSlcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlUG9pbnRlckRvd25PdXRzaWRlID0gKG1vdXNlRXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IG1vdXNlRXZlbnQudGFyZ2V0IGFzIE5vZGUgfCBudWxsXG4gICAgICBpZiAoIXRhcmdldCkgcmV0dXJuXG4gICAgICBpZiAoZHJvcGRvd25SZWYuY3VycmVudD8uY29udGFpbnModGFyZ2V0KSkgcmV0dXJuXG4gICAgICBpZiAoYW5jaG9yUmVmPy5jdXJyZW50Py5jb250YWlucyh0YXJnZXQpKSByZXR1cm5cbiAgICAgIG9uQ2xvc2UoKVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZVBvaW50ZXJEb3duT3V0c2lkZSlcbiAgICByZXR1cm4gKCkgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlUG9pbnRlckRvd25PdXRzaWRlKVxuICB9LCBbb25DbG9zZSwgYW5jaG9yUmVmXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZXIgPSAoZTogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGUua2V5ID09PSAnQXJyb3dEb3duJykge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgY29uc3QgbmV4dCA9IG9yZGVyZWRDb21tYW5kcy5sZW5ndGggPyAoaGlnaGxpZ2h0ZWRJbmRleCArIDEpICUgb3JkZXJlZENvbW1hbmRzLmxlbmd0aCA6IDBcbiAgICAgICAgc2V0SGlnaGxpZ2h0ZWRJbmRleChuZXh0KVxuICAgICAgICBzY3JvbGxIaWdobGlnaHRlZEludG9WaWV3KG5leHQpXG4gICAgICB9IGVsc2UgaWYgKGUua2V5ID09PSAnQXJyb3dVcCcpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIGNvbnN0IG5leHQgPSBvcmRlcmVkQ29tbWFuZHMubGVuZ3RoXG4gICAgICAgICAgPyAoaGlnaGxpZ2h0ZWRJbmRleCAtIDEgKyBvcmRlcmVkQ29tbWFuZHMubGVuZ3RoKSAlIG9yZGVyZWRDb21tYW5kcy5sZW5ndGhcbiAgICAgICAgICA6IDBcbiAgICAgICAgc2V0SGlnaGxpZ2h0ZWRJbmRleChuZXh0KVxuICAgICAgICBzY3JvbGxIaWdobGlnaHRlZEludG9WaWV3KG5leHQpXG4gICAgICB9IGVsc2UgaWYgKGUua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgIGlmIChvcmRlcmVkQ29tbWFuZHNbaGlnaGxpZ2h0ZWRJbmRleF0pIHtcbiAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgb25TZWxlY3Qob3JkZXJlZENvbW1hbmRzW2hpZ2hsaWdodGVkSW5kZXhdKVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGUua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgb25DbG9zZSgpXG4gICAgICB9XG4gICAgfVxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBoYW5kbGVyLCB0cnVlKVxuICAgIHJldHVybiAoKSA9PiBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgaGFuZGxlciwgdHJ1ZSlcbiAgfSwgW29yZGVyZWRDb21tYW5kcywgaGlnaGxpZ2h0ZWRJbmRleCwgb25TZWxlY3QsIG9uQ2xvc2VdKVxuXG4gIGlmIChvcmRlcmVkQ29tbWFuZHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGxldCBmbGF0SW5kZXggPSAtMVxuXG4gIHJldHVybiAoXG4gICAgPFNDU0NBbmNob3JcbiAgICAgICRib3R0b209e2JvdHRvbX1cbiAgICAgICRsZWZ0PXtsZWZ0fVxuICAgICAgJG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgJHpJbmRleD17ekluZGV4fVxuICAgICAgb25Nb3VzZURvd249e2UgPT4gZS5zdG9wUHJvcGFnYXRpb24oKX1cbiAgICA+XG4gICAgICA8U0NTQ0Ryb3Bkb3duIHJlZj17ZHJvcGRvd25SZWZ9PlxuICAgICAgICB7cmVuZGVyR3JvdXBzLm1hcChncm91cCA9PiB7XG4gICAgICAgICAgY29uc3QgY2F0ZWdvcnlEZWYgPSBncm91cC5rZXkgIT09IFVOR1JPVVBFRF9LRVkgPyBBQ1RJT05fQ0FURUdPUllfTUFQW2dyb3VwLmtleV0gOiBudWxsXG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxTQ1NDQ2F0ZWdvcnlHcm91cCBrZXk9e2dyb3VwLmtleX0+XG4gICAgICAgICAgICAgIHtjYXRlZ29yeURlZiAmJiAoXG4gICAgICAgICAgICAgICAgPFNDU0NDYXRlZ29yeUhlYWRlcj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPntjYXRlZ29yeURlZi5pY29ufTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPnt0KGNhdGVnb3J5RGVmLmxhYmVsS2V5KX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9TQ1NDQ2F0ZWdvcnlIZWFkZXI+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHtncm91cC5pdGVtcy5tYXAoY29tbWFuZCA9PiB7XG4gICAgICAgICAgICAgICAgZmxhdEluZGV4ICs9IDFcbiAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50SW5kZXggPSBmbGF0SW5kZXhcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPFNDU0NJdGVtXG4gICAgICAgICAgICAgICAgICAgIGtleT17Y29tbWFuZC5pZH1cbiAgICAgICAgICAgICAgICAgICAgcmVmPXtlbCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgaXRlbVJlZnMuY3VycmVudFtjdXJyZW50SW5kZXhdID0gZWxcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgJGhpZ2hsaWdodGVkPXtjdXJyZW50SW5kZXggPT09IGhpZ2hsaWdodGVkSW5kZXh9XG4gICAgICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcj17KCkgPT4gc2V0SGlnaGxpZ2h0ZWRJbmRleChjdXJyZW50SW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvblNlbGVjdChjb21tYW5kKX1cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxTQ1NDSXRlbVRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgIDxTQ1NDSXRlbVByZWZpeD4vPC9TQ1NDSXRlbVByZWZpeD5cbiAgICAgICAgICAgICAgICAgICAgICB7cmVuZGVyV2l0aEhpZ2hsaWdodChjb21tYW5kLnRpdGxlLCBxdWVyeSl9XG4gICAgICAgICAgICAgICAgICAgIDwvU0NTQ0l0ZW1UaXRsZT5cbiAgICAgICAgICAgICAgICAgICAge2NvbW1hbmQuc3VidGl0bGUgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgIDxTQ1NDSXRlbVN1YnRpdGxlPntyZW5kZXJXaXRoSGlnaGxpZ2h0KGNvbW1hbmQuc3VidGl0bGUsIHF1ZXJ5KX08L1NDU0NJdGVtU3VidGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICA8L1NDU0NJdGVtPlxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICA8L1NDU0NDYXRlZ29yeUdyb3VwPlxuICAgICAgICAgIClcbiAgICAgICAgfSl9XG4gICAgICA8L1NDU0NEcm9wZG93bj5cbiAgICA8L1NDU0NBbmNob3I+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUNBLFNBQW9CQSxTQUFTLEVBQUVDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxRQUFRLFFBQXdCLE9BQU87QUFFdkYsU0FBU0MsSUFBSSxRQUFRLHFCQUFxQjtBQUMxQyxTQUFTQyxtQkFBbUIsRUFBRUMscUJBQXFCLFFBQVEsa0NBQWtDO0FBQzdGLFNBQ0VDLFVBQVUsRUFDVkMsWUFBWSxFQUNaQyxRQUFRLEVBQ1JDLGFBQWEsRUFDYkMsZ0JBQWdCLEVBQ2hCQyxjQUFjLEVBQ2RDLGlCQUFpQixFQUNqQkMsa0JBQWtCLEVBQ2xCQyxrQkFBa0IsUUFDYiwrQkFBK0I7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBZXRDLElBQU1DLGFBQWEsR0FBRyxlQUFlO0FBRXJDLElBQU1DLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBbUJBLENBQUlDLElBQVksRUFBRUMsS0FBYSxFQUFnQjtFQUN0RSxJQUFNQyxNQUFNLEdBQUdELEtBQUssQ0FBQ0UsSUFBSSxDQUFDLENBQUMsQ0FBQ0MsV0FBVyxDQUFDLENBQUM7RUFDekMsSUFBSSxDQUFDRixNQUFNLEVBQUUsT0FBT0YsSUFBSTtFQUN4QixJQUFNSyxRQUFRLEdBQUdMLElBQUksQ0FBQ0ksV0FBVyxDQUFDLENBQUM7RUFDbkMsSUFBSUMsUUFBUSxDQUFDQyxPQUFPLENB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
|
|
208
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJ1c2VUIiwiQUNUSU9OX0NBVEVHT1JZX01BUCIsIkFDVElPTl9DQVRFR09SWV9PUkRFUiIsIlNDU0NBbmNob3IiLCJTQ1NDRHJvcGRvd24iLCJTQ1NDSXRlbSIsIlNDU0NJdGVtVGl0bGUiLCJTQ1NDSXRlbVN1YnRpdGxlIiwiU0NTQ0l0ZW1QcmVmaXgiLCJTQ1NDQ2F0ZWdvcnlHcm91cCIsIlNDU0NDYXRlZ29yeUhlYWRlciIsIlNDU0NNYXRjaEhpZ2hsaWdodCIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJVTkdST1VQRURfS0VZIiwicmVuZGVyV2l0aEhpZ2hsaWdodCIsInRleHQiLCJxdWVyeSIsIm5lZWRsZSIsInRyaW0iLCJ0b0xvd2VyQ2FzZSIsImhheXN0YWNrIiwiaW5kZXhPZiIsInBhcnRzIiwiY3Vyc29yIiwibmV4dElkeCIsImNodW5rS2V5IiwicHVzaCIsInNsaWNlIiwiY2hpbGRyZW4iLCJsZW5ndGgiLCJjb25jYXQiLCJTbGFzaENvbW1hbmREcm9wZG93biIsIl9yZWYiLCJjb21tYW5kcyIsIm9uU2VsZWN0Iiwib25DbG9zZSIsImJvdHRvbSIsImxlZnQiLCJ6SW5kZXgiLCJhbmNob3JSZWYiLCJfdXNlVCIsInQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJoaWdobGlnaHRlZEluZGV4Iiwic2V0SGlnaGxpZ2h0ZWRJbmRleCIsImRyb3Bkb3duUmVmIiwiaXRlbVJlZnMiLCJmaWx0ZXJlZCIsIm5vcm1hbGl6ZWQiLCJmaWx0ZXIiLCJjIiwiX2Mkc3VidGl0bGUkdG9Mb3dlckNhIiwiX2Mkc3VidGl0bGUiLCJ0aXRsZSIsImluY2x1ZGVzIiwic3VidGl0bGUiLCJvcmRlcmVkQ29tbWFuZHMiLCJncm91cGVkIiwiTWFwIiwiZm9yRWFjaCIsIl9jJGNhdGVnb3J5Iiwia2V5IiwiY2F0ZWdvcnkiLCJoYXMiLCJzZXQiLCJnZXQiLCJyZXN1bHQiLCJjYXRLZXkiLCJpdGVtcyIsImFwcGx5IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwidW5ncm91cGVkIiwicmVuZGVyR3JvdXBzIiwiX2MkY2F0ZWdvcnkyIiwiY3VycmVudCIsInNjcm9sbEhpZ2hsaWdodGVkSW50b1ZpZXciLCJpbmRleCIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsIl9pdGVtUmVmcyRjdXJyZW50JGluZCIsInNjcm9sbEludG9WaWV3IiwiYmxvY2siLCJoYW5kbGVQb2ludGVyRG93bk91dHNpZGUiLCJtb3VzZUV2ZW50IiwiX2Ryb3Bkb3duUmVmJGN1cnJlbnQiLCJfYW5jaG9yUmVmJGN1cnJlbnQiLCJ0YXJnZXQiLCJjb250YWlucyIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVyIiwiZSIsInByZXZlbnREZWZhdWx0IiwibmV4dCIsInN0b3BQcm9wYWdhdGlvbiIsImZsYXRJbmRleCIsIiRib3R0b20iLCIkbGVmdCIsIiR6SW5kZXgiLCJvbk1vdXNlRG93biIsInJlZiIsIm1hcCIsImdyb3VwIiwiY2F0ZWdvcnlEZWYiLCJpY29uIiwibGFiZWxLZXkiLCJjb21tYW5kIiwiY3VycmVudEluZGV4IiwiZWwiLCIkaGlnaGxpZ2h0ZWQiLCJvbk1vdXNlRW50ZXIiLCJvbkNsaWNrIiwidHlwZSIsImlkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvU2xhc2hDb21tYW5kRHJvcGRvd24vU2xhc2hDb21tYW5kRHJvcGRvd24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2Z1bmN0aW9uLWNvbXBvbmVudC1kZWZpbml0aW9uICovXG5pbXBvcnQgeyBSZWZPYmplY3QsIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSwgdHlwZSBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgQWN0aW9uLCBBY3Rpb25DYXRlZ29yeUtleSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL0FjdGlvbidcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuaW1wb3J0IHsgQUNUSU9OX0NBVEVHT1JZX01BUCwgQUNUSU9OX0NBVEVHT1JZX09SREVSIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvYWN0aW9uQ2F0ZWdvcnlNYXAnXG5pbXBvcnQge1xuICBTQ1NDQW5jaG9yLFxuICBTQ1NDRHJvcGRvd24sXG4gIFNDU0NJdGVtLFxuICBTQ1NDSXRlbVRpdGxlLFxuICBTQ1NDSXRlbVN1YnRpdGxlLFxuICBTQ1NDSXRlbVByZWZpeCxcbiAgU0NTQ0NhdGVnb3J5R3JvdXAsXG4gIFNDU0NDYXRlZ29yeUhlYWRlcixcbiAgU0NTQ01hdGNoSGlnaGxpZ2h0LFxufSBmcm9tICcuL1NsYXNoQ29tbWFuZERyb3Bkb3duLnN0eWxlcydcblxudHlwZSBTbGFzaENvbW1hbmREcm9wZG93blByb3BzID0ge1xuICBjb21tYW5kczogQWN0aW9uW11cbiAgcXVlcnk6IHN0cmluZ1xuICBvblNlbGVjdDogKGNvbW1hbmQ6IEFjdGlvbikgPT4gdm9pZFxuICBvbkNsb3NlOiAoKSA9PiB2b2lkXG4gIGJvdHRvbTogbnVtYmVyXG4gIGxlZnQ6IG51bWJlclxuICB6SW5kZXg/OiBudW1iZXJcbiAgLyoqIE5vZG8gYW5jbGEgKHAuIGVqLiB3cmFwcGVyIGRlbCBpbnB1dCk6IGNsaWNrcyBhaMOtIG5vIGNpZXJyYW4gZWwgbWVuw7ouICovXG4gIGFuY2hvclJlZj86IFJlZk9iamVjdDxIVE1MRWxlbWVudCB8IG51bGw+XG59XG5cbmNvbnN0IFVOR1JPVVBFRF9LRVkgPSAnX191bmdyb3VwZWRfXydcblxuY29uc3QgcmVuZGVyV2l0aEhpZ2hsaWdodCA9ICh0ZXh0OiBzdHJpbmcsIHF1ZXJ5OiBzdHJpbmcpOiBSZWFjdE5vZGUgPT4ge1xuICBjb25zdCBuZWVkbGUgPSBxdWVyeS50cmltKCkudG9Mb3dlckNhc2UoKVxuICBpZiAoIW5lZWRsZSkgcmV0dXJuIHRleHRcbiAgY29uc3QgaGF5c3RhY2sgPSB0ZXh0LnRvTG93ZXJDYXNlKClcbiAgaWYgKGhheXN0YWNrLmluZGV4T2YobmVlZGxlKSA9PT0gLTEpIHJldHVybiB0ZXh0XG5cbiAgY29uc3QgcGFydHM6IFJlYWN0Tm9kZVtdID0gW11cbiAgbGV0IGN1cnNvciA9IDBcbiAgbGV0IG5leHRJZHggPSBoYXlzdGFjay5pbmRleE9mKG5lZWRsZSwgY3Vyc29yKVxuICBsZXQgY2h1bmtLZXkgPSAwXG4gIHdoaWxlIChuZXh0SWR4ICE9PSAtMSkge1xuICAgIGlmIChuZXh0SWR4ID4gY3Vyc29yKSB7XG4gICAgICBwYXJ0cy5wdXNoKHRleHQuc2xpY2UoY3Vyc29yLCBuZXh0SWR4KSlcbiAgICB9XG4gICAgcGFydHMucHVzaChcbiAgICAgIDxTQ1NDTWF0Y2hIaWdobGlnaHQga2V5PXtgbS0ke2NodW5rS2V5fWB9Pnt0ZXh0LnNsaWNlKG5leHRJZHgsIG5leHRJZHggKyBuZWVkbGUubGVuZ3RoKX08L1NDU0NNYXRjaEhpZ2hsaWdodD5cbiAgICApXG4gICAgY2h1bmtLZXkgKz0gMVxuICAgIGN1cnNvciA9IG5leHRJZHggKyBuZWVkbGUubGVuZ3RoXG4gICAgbmV4dElkeCA9IGhheXN0YWNrLmluZGV4T2YobmVlZGxlLCBjdXJzb3IpXG4gIH1cbiAgaWYgKGN1cnNvciA8IHRleHQubGVuZ3RoKSB7XG4gICAgcGFydHMucHVzaCh0ZXh0LnNsaWNlKGN1cnNvcikpXG4gIH1cbiAgcmV0dXJuIHBhcnRzXG59XG5cbmV4cG9ydCBjb25zdCBTbGFzaENvbW1hbmREcm9wZG93biA9ICh7XG4gIGNvbW1hbmRzLFxuICBxdWVyeSxcbiAgb25TZWxlY3QsXG4gIG9uQ2xvc2UsXG4gIGJvdHRvbSxcbiAgbGVmdCxcbiAgekluZGV4LFxuICBhbmNob3JSZWYsXG59OiBTbGFzaENvbW1hbmREcm9wZG93blByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVCgpXG4gIGNvbnN0IFtoaWdobGlnaHRlZEluZGV4LCBzZXRIaWdobGlnaHRlZEluZGV4XSA9IHVzZVN0YXRlKDApXG4gIGNvbnN0IGRyb3Bkb3duUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBpdGVtUmVmcyA9IHVzZVJlZjwoSFRNTEJ1dHRvbkVsZW1lbnQgfCBudWxsKVtdPihbXSlcblxuICBjb25zdCBmaWx0ZXJlZCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSBxdWVyeS50cmltKCkudG9Mb3dlckNhc2UoKVxuICAgIGlmICghbm9ybWFsaXplZCkgcmV0dXJuIGNvbW1hbmRzXG4gICAgcmV0dXJuIGNvbW1hbmRzLmZpbHRlcihcbiAgICAgIGMgPT4gYy50aXRsZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKG5vcm1hbGl6ZWQpIHx8IChjLnN1YnRpdGxlPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKG5vcm1hbGl6ZWQpID8/IGZhbHNlKVxuICAgIClcbiAgfSwgW2NvbW1hbmRzLCBxdWVyeV0pXG5cbiAgY29uc3Qgb3JkZXJlZENvbW1hbmRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgZ3JvdXBlZCA9IG5ldyBNYXA8c3RyaW5nLCBBY3Rpb25bXT4oKVxuICAgIGZpbHRlcmVkLmZvckVhY2goYyA9PiB7XG4gICAgICBjb25zdCBrZXkgPSBjLmNhdGVnb3J5ID8/IFVOR1JPVVBFRF9LRVlcbiAgICAgIGlmICghZ3JvdXBlZC5oYXMoa2V5KSkgZ3JvdXBlZC5zZXQoa2V5LCBbXSlcbiAgICAgIGdyb3VwZWQuZ2V0KGtleSkhLnB1c2goYylcbiAgICB9KVxuXG4gICAgY29uc3QgcmVzdWx0OiBBY3Rpb25bXSA9IFtdXG4gICAgQUNUSU9OX0NBVEVHT1JZX09SREVSLmZvckVhY2goY2F0S2V5ID0+IHtcbiAgICAgIGNvbnN0IGl0ZW1zID0gZ3JvdXBlZC5nZXQoY2F0S2V5KVxuICAgICAgaWYgKGl0ZW1zPy5sZW5ndGgpIHJlc3VsdC5wdXNoKC4uLml0ZW1zKVxuICAgIH0pXG4gICAgY29uc3QgdW5ncm91cGVkID0gZ3JvdXBlZC5nZXQoVU5HUk9VUEVEX0tFWSlcbiAgICBpZiAodW5ncm91cGVkPy5sZW5ndGgpIHJlc3VsdC5wdXNoKC4uLnVuZ3JvdXBlZClcbiAgICByZXR1cm4gcmVzdWx0XG4gIH0sIFtmaWx0ZXJlZF0pXG5cbiAgY29uc3QgcmVuZGVyR3JvdXBzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgZ3JvdXBlZCA9IG5ldyBNYXA8c3RyaW5nLCBBY3Rpb25bXT4oKVxuICAgIGZpbHRlcmVkLmZvckVhY2goYyA9PiB7XG4gICAgICBjb25zdCBrZXkgPSBjLmNhdGVnb3J5ID8/IFVOR1JPVVBFRF9LRVlcbiAgICAgIGlmICghZ3JvdXBlZC5oYXMoa2V5KSkgZ3JvdXBlZC5zZXQoa2V5LCBbXSlcbiAgICAgIGdyb3VwZWQuZ2V0KGtleSkhLnB1c2goYylcbiAgICB9KVxuXG4gICAgY29uc3QgcmVzdWx0OiB7IGtleTogQWN0aW9uQ2F0ZWdvcnlLZXkgfCB0eXBlb2YgVU5HUk9VUEVEX0tFWTsgaXRlbXM6IEFjdGlvbltdIH1bXSA9IFtdXG4gICAgQUNUSU9OX0NBVEVHT1JZX09SREVSLmZvckVhY2goY2F0S2V5ID0+IHtcbiAgICAgIGNvbnN0IGl0ZW1zID0gZ3JvdXBlZC5nZXQoY2F0S2V5KVxuICAgICAgaWYgKGl0ZW1zPy5sZW5ndGgpIHJlc3VsdC5wdXNoKHsga2V5OiBjYXRLZXksIGl0ZW1zIH0pXG4gICAgfSlcbiAgICBjb25zdCB1bmdyb3VwZWQgPSBncm91cGVkLmdldChVTkdST1VQRURfS0VZKVxuICAgIGlmICh1bmdyb3VwZWQ/Lmxlbmd0aCkgcmVzdWx0LnB1c2goeyBrZXk6IFVOR1JPVVBFRF9LRVksIGl0ZW1zOiB1bmdyb3VwZWQgfSlcbiAgICByZXR1cm4gcmVzdWx0XG4gIH0sIFtmaWx0ZXJlZF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRIaWdobGlnaHRlZEluZGV4KDApXG4gIH0sIFtxdWVyeV0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpdGVtUmVmcy5jdXJyZW50ID0gaXRlbVJlZnMuY3VycmVudC5zbGljZSgwLCBvcmRlcmVkQ29tbWFuZHMubGVuZ3RoKVxuICB9LCBbb3JkZXJlZENvbW1hbmRzLmxlbmd0aF0pXG5cbiAgY29uc3Qgc2Nyb2xsSGlnaGxpZ2h0ZWRJbnRvVmlldyA9IChpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIGl0ZW1SZWZzLmN1cnJlbnRbaW5kZXhdPy5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcgfSlcbiAgICB9KVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVQb2ludGVyRG93bk91dHNpZGUgPSAobW91c2VFdmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gbW91c2VFdmVudC50YXJnZXQgYXMgTm9kZSB8IG51bGxcbiAgICAgIGlmICghdGFyZ2V0KSByZXR1cm5cbiAgICAgIGlmIChkcm9wZG93blJlZi5jdXJyZW50Py5jb250YWlucyh0YXJnZXQpKSByZXR1cm5cbiAgICAgIGlmIChhbmNob3JSZWY/LmN1cnJlbnQ/LmNvbnRhaW5zKHRhcmdldCkpIHJldHVyblxuICAgICAgb25DbG9zZSgpXG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlUG9pbnRlckRvd25PdXRzaWRlKVxuICAgIHJldHVybiAoKSA9PiBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVQb2ludGVyRG93bk91dHNpZGUpXG4gIH0sIFtvbkNsb3NlLCBhbmNob3JSZWZdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlciA9IChlOiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICBpZiAoZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICBjb25zdCBuZXh0ID0gb3JkZXJlZENvbW1hbmRzLmxlbmd0aCA/IChoaWdobGlnaHRlZEluZGV4ICsgMSkgJSBvcmRlcmVkQ29tbWFuZHMubGVuZ3RoIDogMFxuICAgICAgICBzZXRIaWdobGlnaHRlZEluZGV4KG5leHQpXG4gICAgICAgIHNjcm9sbEhpZ2hsaWdodGVkSW50b1ZpZXcobmV4dClcbiAgICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdBcnJvd1VwJykge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgY29uc3QgbmV4dCA9IG9yZGVyZWRDb21tYW5kcy5sZW5ndGhcbiAgICAgICAgICA/IChoaWdobGlnaHRlZEluZGV4IC0gMSArIG9yZGVyZWRDb21tYW5kcy5sZW5ndGgpICUgb3JkZXJlZENvbW1hbmRzLmxlbmd0aFxuICAgICAgICAgIDogMFxuICAgICAgICBzZXRIaWdobGlnaHRlZEluZGV4KG5leHQpXG4gICAgICAgIHNjcm9sbEhpZ2hsaWdodGVkSW50b1ZpZXcobmV4dClcbiAgICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgaWYgKG9yZGVyZWRDb21tYW5kc1toaWdobGlnaHRlZEluZGV4XSkge1xuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICBvblNlbGVjdChvcmRlcmVkQ29tbWFuZHNbaGlnaGxpZ2h0ZWRJbmRleF0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICBvbkNsb3NlKClcbiAgICAgIH1cbiAgICB9XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGhhbmRsZXIsIHRydWUpXG4gICAgcmV0dXJuICgpID0+IGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBoYW5kbGVyLCB0cnVlKVxuICB9LCBbb3JkZXJlZENvbW1hbmRzLCBoaWdobGlnaHRlZEluZGV4LCBvblNlbGVjdCwgb25DbG9zZV0pXG5cbiAgaWYgKG9yZGVyZWRDb21tYW5kcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgbGV0IGZsYXRJbmRleCA9IC0xXG5cbiAgcmV0dXJuIChcbiAgICA8U0NTQ0FuY2hvciAkYm90dG9tPXtib3R0b219ICRsZWZ0PXtsZWZ0fSAkekluZGV4PXt6SW5kZXh9IG9uTW91c2VEb3duPXtlID0+IGUuc3RvcFByb3BhZ2F0aW9uKCl9PlxuICAgICAgPFNDU0NEcm9wZG93biByZWY9e2Ryb3Bkb3duUmVmfT5cbiAgICAgICAge3JlbmRlckdyb3Vwcy5tYXAoZ3JvdXAgPT4ge1xuICAgICAgICAgIGNvbnN0IGNhdGVnb3J5RGVmID0gZ3JvdXAua2V5ICE9PSBVTkdST1VQRURfS0VZID8gQUNUSU9OX0NBVEVHT1JZX01BUFtncm91cC5rZXldIDogbnVsbFxuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8U0NTQ0NhdGVnb3J5R3JvdXAga2V5PXtncm91cC5rZXl9PlxuICAgICAgICAgICAgICB7Y2F0ZWdvcnlEZWYgJiYgKFxuICAgICAgICAgICAgICAgIDxTQ1NDQ2F0ZWdvcnlIZWFkZXI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj57Y2F0ZWdvcnlEZWYuaWNvbn08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57dChjYXRlZ29yeURlZi5sYWJlbEtleSl9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvU0NTQ0NhdGVnb3J5SGVhZGVyPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7Z3JvdXAuaXRlbXMubWFwKGNvbW1hbmQgPT4ge1xuICAgICAgICAgICAgICAgIGZsYXRJbmRleCArPSAxXG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gZmxhdEluZGV4XG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgIDxTQ1NDSXRlbVxuICAgICAgICAgICAgICAgICAgICBrZXk9e2NvbW1hbmQuaWR9XG4gICAgICAgICAgICAgICAgICAgIHJlZj17ZWwgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZWZzLmN1cnJlbnRbY3VycmVudEluZGV4XSA9IGVsXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICRoaWdobGlnaHRlZD17Y3VycmVudEluZGV4ID09PSBoaWdobGlnaHRlZEluZGV4fVxuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI9eygpID0+IHNldEhpZ2hsaWdodGVkSW5kZXgoY3VycmVudEluZGV4KX1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25TZWxlY3QoY29tbWFuZCl9XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8U0NTQ0l0ZW1UaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICA8U0NTQ0l0ZW1QcmVmaXg+LzwvU0NTQ0l0ZW1QcmVmaXg+XG4gICAgICAgICAgICAgICAgICAgICAge3JlbmRlcldpdGhIaWdobGlnaHQoY29tbWFuZC50aXRsZSwgcXVlcnkpfVxuICAgICAgICAgICAgICAgICAgICA8L1NDU0NJdGVtVGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIHtjb21tYW5kLnN1YnRpdGxlICYmIChcbiAgICAgICAgICAgICAgICAgICAgICA8U0NTQ0l0ZW1TdWJ0aXRsZT57cmVuZGVyV2l0aEhpZ2hsaWdodChjb21tYW5kLnN1YnRpdGxlLCBxdWVyeSl9PC9TQ1NDSXRlbVN1YnRpdGxlPlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgPC9TQ1NDSXRlbT5cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9TQ1NDQ2F0ZWdvcnlHcm91cD5cbiAgICAgICAgICApXG4gICAgICAgIH0pfVxuICAgICAgPC9TQ1NDRHJvcGRvd24+XG4gICAgPC9TQ1NDQW5jaG9yPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUE7QUFDQSxTQUFvQkEsU0FBUyxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxRQUF3QixPQUFPO0FBRXZGLFNBQVNDLElBQUksUUFBUSxxQkFBcUI7QUFDMUMsU0FBU0MsbUJBQW1CLEVBQUVDLHFCQUFxQixRQUFRLGtDQUFrQztBQUM3RixTQUNFQyxVQUFVLEVBQ1ZDLFlBQVksRUFDWkMsUUFBUSxFQUNSQyxhQUFhLEVBQ2JDLGdCQUFnQixFQUNoQkMsY0FBYyxFQUNkQyxpQkFBaUIsRUFDakJDLGtCQUFrQixFQUNsQkMsa0JBQWtCLFFBQ2IsK0JBQStCO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQWN0QyxJQUFNQyxhQUFhLEdBQUcsZUFBZTtBQUVyQyxJQUFNQyxtQkFBbUIsR0FBRyxTQUF0QkEsbUJBQW1CQSxDQUFJQyxJQUFZLEVBQUVDLEtBQWEsRUFBZ0I7RUFDdEUsSUFBTUMsTUFBTSxHQUFHRCxLQUFLLENBQUNFLElBQUksQ0FBQyxDQUFDLENBQUNDLFdBQVcsQ0FBQyxDQUFDO0VBQ3pDLElBQUksQ0FBQ0YsTUFBTSxFQUFFLE9BQU9GLElBQUk7RUFDeEIsSUFBTUssUUFBUSxHQUFHTCxJQUFJLENBQUNJLFdBQVcsQ0FBQyxDQUFDO0VBQ25DLElBQUlDLFFBQVEsQ0FBQ0MsT0FBTyxDQUFDSixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxPQUFPRixJQUFJO0VBRWhELElBQU1PLEtBQWtCLEdBQUcsRUFBRTtFQUM3QixJQUFJQyxNQUFNLEdBQUcsQ0FBQztFQUNkLElBQUlDLE9BQU8sR0FBR0osUUFBUSxDQUFDQyxPQUFPLENBQUNKLE1BQU0sRUFBRU0sTUFBTSxDQUFDO0VBQzlDLElBQUlFLFFBQVEsR0FBRyxDQUFDO0VBQ2hCLE9BQU9ELE9BQU8sS0FBSyxDQUFDLENBQUMsRUFBRTtJQUNyQixJQUFJQSxPQUFPLEdBQUdELE1BQU0sRUFBRTtNQUNwQkQsS0FBSyxDQUFDSSxJQUFJLENBQUNYLElBQUksQ0FBQ1ksS0FBSyxDQUFDSixNQUFNLEVBQUVDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pDO0lBQ0FGLEtBQUssQ0FBQ0ksSUFBSSxjQUNSaEIsSUFBQSxDQUFDRixrQkFBa0I7TUFBQW9CLFFBQUEsRUFBd0JiLElBQUksQ0FBQ1ksS0FBSyxDQUFDSCxPQUFPLEVBQUVBLE9BQU8sR0FBR1AsTUFBTSxDQUFDWSxNQUFNO0lBQUMsUUFBQUMsTUFBQSxDQUF6REwsUUFBUSxDQUFzRSxDQUM5RyxDQUFDO0lBQ0RBLFFBQVEsSUFBSSxDQUFDO0lBQ2JGLE1BQU0sR0FBR0MsT0FBTyxHQUFHUCxNQUFNLENBQUNZLE1BQU07SUFDaENMLE9BQU8sR0FBR0osUUFBUSxDQUFDQyxPQUFPLENBQUNKLE1BQU0sRUFBRU0sTUFBTSxDQUFDO0VBQzVDO0VBQ0EsSUFBSUEsTUFBTSxHQUFHUixJQUFJLENBQUNjLE1BQU0sRUFBRTtJQUN4QlAsS0FBSyxDQUFDSSxJQUFJLENBQUNYLElBQUksQ0FBQ1ksS0FBSyxDQUFDSixNQUFNLENBQUMsQ0FBQztFQUNoQztFQUNBLE9BQU9ELEtBQUs7QUFDZCxDQUFDO0FBRUQsT0FBTyxJQUFNUyxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQW9CQSxDQUFBQyxJQUFBLEVBU0E7RUFBQSxJQVIvQkMsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7SUFDUmpCLEtBQUssR0FBQWdCLElBQUEsQ0FBTGhCLEtBQUs7SUFDTGtCLFFBQVEsR0FBQUYsSUFBQSxDQUFSRSxRQUFRO0lBQ1JDLE9BQU8sR0FBQUgsSUFBQSxDQUFQRyxPQUFPO0lBQ1BDLE1BQU0sR0FBQUosSUFBQSxDQUFOSSxNQUFNO0lBQ05DLElBQUksR0FBQUwsSUFBQSxDQUFKSyxJQUFJO0lBQ0pDLE1BQU0sR0FBQU4sSUFBQSxDQUFOTSxNQUFNO0lBQ05DLFNBQVMsR0FBQVAsSUFBQSxDQUFUTyxTQUFTO0VBRVQsSUFBQUMsS0FBQSxHQUFjM0MsSUFBSSxDQUFDLENBQUM7SUFBWjRDLENBQUMsR0FBQUQsS0FBQSxDQUFEQyxDQUFDO0VBQ1QsSUFBQUMsU0FBQSxHQUFnRDlDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFBQStDLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQXBERyxnQkFBZ0IsR0FBQUYsVUFBQTtJQUFFRyxtQkFBbUIsR0FBQUgsVUFBQTtFQUM1QyxJQUFNSSxXQUFXLEdBQUdwRCxNQUFNLENBQWlCLElBQUksQ0FBQztFQUNoRCxJQUFNcUQsUUFBUSxHQUFHckQsTUFBTSxDQUErQixFQUFFLENBQUM7RUFFekQsSUFBTXNELFFBQVEsR0FBR3ZELE9BQU8sQ0FBQyxZQUFNO0lBQzdCLElBQU13RCxVQUFVLEdBQUdsQyxLQUFLLENBQUNFLElBQUksQ0FBQyxDQUFDLENBQUNDLFdBQVcsQ0FBQyxDQUFDO0lBQzdDLElBQUksQ0FBQytCLFVBQVUsRUFBRSxPQUFPakIsUUFBUTtJQUNoQyxPQUFPQSxRQUFRLENBQUNrQixNQUFNLENBQ3BCLFVBQUFDLENBQUM7TUFBQSxJQUFBQyxxQkFBQSxFQUFBQyxXQUFBO01BQUEsT0FBSUYsQ0FBQyxDQUFDRyxLQUFLLENBQUNwQyxXQUFXLENBQUMsQ0FBQyxDQUFDcUMsUUFBUSxDQUFDTixVQUFVLENBQUMsTUFBQUcscUJBQUEsSUFBQUMsV0FBQSxHQUFLRixDQUFDLENBQUNLLFFBQVEsY0FBQUgsV0FBQSx1QkFBVkEsV0FBQSxDQUFZbkMsV0FBVyxDQUFDLENBQUMsQ0FBQ3FDLFFBQVEsQ0FBQ04sVUFBVSxDQUFDLGNBQUFHLHFCQUFBLGNBQUFBLHFCQUFBLEdBQUksS0FBSyxDQUFDO0lBQUEsQ0FDOUcsQ0FBQztFQUNILENBQUMsRUFBRSxDQUFDcEIsUUFBUSxFQUFFakIsS0FBSyxDQUFDLENBQUM7RUFFckIsSUFBTTBDLGVBQWUsR0FBR2hFLE9BQU8sQ0FBQyxZQUFNO0lBQ3BDLElBQU1pRSxPQUFPLEdBQUcsSUFBSUMsR0FBRyxDQUFtQixDQUFDO0lBQzNDWCxRQUFRLENBQUNZLE9BQU8sQ0FBQyxVQUFBVCxDQUFDLEVBQUk7TUFBQSxJQUFBVSxXQUFBO01BQ3BCLElBQU1DLEdBQUcsSUFBQUQsV0FBQSxHQUFHVixDQUFDLENBQUNZLFFBQVEsY0FBQUYsV0FBQSxjQUFBQSxXQUFBLEdBQUlqRCxhQUFhO01BQ3ZDLElBQUksQ0FBQzhDLE9BQU8sQ0FBQ00sR0FBRyxDQUFDRixHQUFHLENBQUMsRUFBRUosT0FBTyxDQUFDTyxHQUFHLENBQUNILEdBQUcsRUFBRSxFQUFFLENBQUM7TUFDM0NKLE9BQU8sQ0FBQ1EsR0FBRyxDQUFDSixHQUFHLENBQUMsQ0FBRXJDLElBQUksQ0FBQzBCLENBQUMsQ0FBQztJQUMzQixDQUFDLENBQUM7SUFFRixJQUFNZ0IsTUFBZ0IsR0FBRyxFQUFFO0lBQzNCckUscUJBQXFCLENBQUM4RCxPQUFPLENBQUMsVUFBQVEsTUFBTSxFQUFJO01BQ3RDLElBQU1DLEtBQUssR0FBR1gsT0FBTyxDQUFDUSxHQUFHLENBQUNFLE1BQU0sQ0FBQztNQUNqQyxJQUFJQyxLQUFLLGFBQUxBLEtBQUssZUFBTEEsS0FBSyxDQUFFekMsTUFBTSxFQUFFdUMsTUFBTSxDQUFDMUMsSUFBSSxDQUFBNkMsS0FBQSxDQUFYSCxNQUFNLEVBQUFJLGtCQUFBLENBQVNGLEtBQUssRUFBQztJQUMxQyxDQUFDLENBQUM7SUFDRixJQUFNRyxTQUFTLEdBQUdkLE9BQU8sQ0FBQ1EsR0FBRyxDQUFDdEQsYUFBYSxDQUFDO0lBQzVDLElBQUk0RCxTQUFTLGFBQVRBLFNBQVMsZUFBVEEsU0FBUyxDQUFFNUMsTUFBTSxFQUFFdUMsTUFBTSxDQUFDMUMsSUFBSSxDQUFBNkMsS0FBQSxDQUFYSCxNQUFNLEVBQUFJLGtCQUFBLENBQVNDLFNBQVMsRUFBQztJQUNoRCxPQUFPTCxNQUFNO0VBQ2YsQ0FBQyxFQUFFLENBQUNuQixRQUFRLENBQUMsQ0FBQztFQUVkLElBQU15QixZQUFZLEdBQUdoRixPQUFPLENBQUMsWUFBTTtJQUNqQyxJQUFNaUUsT0FBTyxHQUFHLElBQUlDLEdBQUcsQ0FBbUIsQ0FBQztJQUMzQ1gsUUFBUSxDQUFDWSxPQUFPLENBQUMsVUFBQVQsQ0FBQyxFQUFJO01BQUEsSUFBQXVCLFlBQUE7TUFDcEIsSUFBTVosR0FBRyxJQUFBWSxZQUFBLEdBQUd2QixDQUFDLENBQUNZLFFBQVEsY0FBQVcsWUFBQSxjQUFBQSxZQUFBLEdBQUk5RCxhQUFhO01BQ3ZDLElBQUksQ0FBQzhDLE9BQU8sQ0FBQ00sR0FBRyxDQUFDRixHQUFHLENBQUMsRUFBRUosT0FBTyxDQUFDTyxHQUFHLENBQUNILEdBQUcsRUFBRSxFQUFFLENBQUM7TUFDM0NKLE9BQU8sQ0FBQ1EsR0FBRyxDQUFDSixHQUFHLENBQUMsQ0FBRXJDLElBQUksQ0FBQzBCLENBQUMsQ0FBQztJQUMzQixDQUFDLENBQUM7SUFFRixJQUFNZ0IsTUFBNEUsR0FBRyxFQUFFO0lBQ3ZGckUscUJBQXFCLENBQUM4RCxPQUFPLENBQUMsVUFBQVEsTUFBTSxFQUFJO01BQ3RDLElBQU1DLEtBQUssR0FBR1gsT0FBTyxDQUFDUSxHQUFHLENBQUNFLE1BQU0sQ0FBQztNQUNqQyxJQUFJQyxLQUFLLGFBQUxBLEtBQUssZUFBTEEsS0FBSyxDQUFFekMsTUFBTSxFQUFFdUMsTUFBTSxDQUFDMUMsSUFBSSxDQUFDO1FBQUVxQyxHQUFHLEVBQUVNLE1BQU07UUFBRUMsS0FBSyxFQUFMQTtNQUFNLENBQUMsQ0FBQztJQUN4RCxDQUFDLENBQUM7SUFDRixJQUFNRyxTQUFTLEdBQUdkLE9BQU8sQ0FBQ1EsR0FBRyxDQUFDdEQsYUFBYSxDQUFDO0lBQzVDLElBQUk0RCxTQUFTLGFBQVRBLFNBQVMsZUFBVEEsU0FBUyxDQUFFNUMsTUFBTSxFQUFFdUMsTUFBTSxDQUFDMUMsSUFBSSxDQUFDO01BQUVxQyxHQUFHLEVBQUVsRCxhQUFhO01BQUV5RCxLQUFLLEVBQUVHO0lBQVUsQ0FBQyxDQUFDO0lBQzVFLE9BQU9MLE1BQU07RUFDZixDQUFDLEVBQUUsQ0FBQ25CLFFBQVEsQ0FBQyxDQUFDO0VBRWR4RCxTQUFTLENBQUMsWUFBTTtJQUNkcUQsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO0VBQ3hCLENBQUMsRUFBRSxDQUFDOUIsS0FBSyxDQUFDLENBQUM7RUFFWHZCLFNBQVMsQ0FBQyxZQUFNO0lBQ2R1RCxRQUFRLENBQUM0QixPQUFPLEdBQUc1QixRQUFRLENBQUM0QixPQUFPLENBQUNqRCxLQUFLLENBQUMsQ0FBQyxFQUFFK0IsZUFBZSxDQUFDN0IsTUFBTSxDQUFDO0VBQ3RFLENBQUMsRUFBRSxDQUFDNkIsZUFBZSxDQUFDN0IsTUFBTSxDQUFDLENBQUM7RUFFNUIsSUFBTWdELHlCQUF5QixHQUFHLFNBQTVCQSx5QkFBeUJBLENBQUlDLEtBQWEsRUFBSztJQUNuREMscUJBQXFCLENBQUMsWUFBTTtNQUFBLElBQUFDLHFCQUFBO01BQzFCLENBQUFBLHFCQUFBLEdBQUFoQyxRQUFRLENBQUM0QixPQUFPLENBQUNFLEtBQUssQ0FBQyxjQUFBRSxxQkFBQSxlQUF2QkEscUJBQUEsQ0FBeUJDLGNBQWMsQ0FBQztRQUFFQyxLQUFLLEVBQUU7TUFBVSxDQUFDLENBQUM7SUFDL0QsQ0FBQyxDQUFDO0VBQ0osQ0FBQztFQUVEekYsU0FBUyxDQUFDLFlBQU07SUFDZCxJQUFNMEYsd0JBQXdCLEdBQUcsU0FBM0JBLHdCQUF3QkEsQ0FBSUMsVUFBc0IsRUFBSztNQUFBLElBQUFDLG9CQUFBLEVBQUFDLGtCQUFBO01BQzNELElBQU1DLE1BQU0sR0FBR0gsVUFBVSxDQUFDRyxNQUFxQjtNQUMvQyxJQUFJLENBQUNBLE1BQU0sRUFBRTtNQUNiLEtBQUFGLG9CQUFBLEdBQUl0QyxXQUFXLENBQUM2QixPQUFPLGNBQUFTLG9CQUFBLGVBQW5CQSxvQkFBQSxDQUFxQkcsUUFBUSxDQUFDRCxNQUFNLENBQUMsRUFBRTtNQUMzQyxJQUFJaEQsU0FBUyxhQUFUQSxTQUFTLGdCQUFBK0Msa0JBQUEsR0FBVC9DLFNBQVMsQ0FBRXFDLE9BQU8sY0FBQVUsa0JBQUEsZUFBbEJBLGtCQUFBLENBQW9CRSxRQUFRLENBQUNELE1BQU0sQ0FBQyxFQUFFO01BQzFDcEQsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRURzRCxRQUFRLENBQUNDLGdCQUFnQixDQUFDLFdBQVcsRUFBRVAsd0JBQXdCLENBQUM7SUFDaEUsT0FBTztNQUFBLE9BQU1NLFFBQVEsQ0FBQ0UsbUJBQW1CLENBQUMsV0FBVyxFQUFFUix3QkFBd0IsQ0FBQztJQUFBO0VBQ2xGLENBQUMsRUFBRSxDQUFDaEQsT0FBTyxFQUFFSSxTQUFTLENBQUMsQ0FBQztFQUV4QjlDLFNBQVMsQ0FBQyxZQUFNO0lBQ2QsSUFBTW1HLE9BQU8sR0FBRyxTQUFWQSxPQUFPQSxDQUFJQyxDQUFnQixFQUFLO01BQ3BDLElBQUlBLENBQUMsQ0FBQzlCLEdBQUcsS0FBSyxXQUFXLEVBQUU7UUFDekI4QixDQUFDLENBQUNDLGNBQWMsQ0FBQyxDQUFDO1FBQ2xCLElBQU1DLElBQUksR0FBR3JDLGVBQWUsQ0FBQzdCLE1BQU0sR0FBRyxDQUFDZ0IsZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJYSxlQUFlLENBQUM3QixNQUFNLEdBQUcsQ0FBQztRQUN6RmlCLG1CQUFtQixDQUFDaUQsSUFBSSxDQUFDO1FBQ3pCbEIseUJBQXlCLENBQUNrQixJQUFJLENBQUM7TUFDakMsQ0FBQyxNQUFNLElBQUlGLENBQUMsQ0FBQzlCLEdBQUcsS0FBSyxTQUFTLEVBQUU7UUFDOUI4QixDQUFDLENBQUNDLGNBQWMsQ0FBQyxDQUFDO1FBQ2xCLElBQU1DLEtBQUksR0FBR3JDLGVBQWUsQ0FBQzdCLE1BQU0sR0FDL0IsQ0FBQ2dCLGdCQUFnQixHQUFHLENBQUMsR0FBR2EsZUFBZSxDQUFDN0IsTUFBTSxJQUFJNkIsZUFBZSxDQUFDN0IsTUFBTSxHQUN4RSxDQUFDO1FBQ0xpQixtQkFBbUIsQ0FBQ2lELEtBQUksQ0FBQztRQUN6QmxCLHlCQUF5QixDQUFDa0IsS0FBSSxDQUFDO01BQ2pDLENBQUMsTUFBTSxJQUFJRixDQUFDLENBQUM5QixHQUFHLEtBQUssT0FBTyxFQUFFO1FBQzVCLElBQUlMLGVBQWUsQ0FBQ2IsZ0JBQWdCLENBQUMsRUFBRTtVQUNyQ2dELENBQUMsQ0FBQ0MsY0FBYyxDQUFDLENBQUM7VUFDbEJELENBQUMsQ0FBQ0csZUFBZSxDQUFDLENBQUM7VUFDbkI5RCxRQUFRLENBQUN3QixlQUFlLENBQUNiLGdCQUFnQixDQUFDLENBQUM7UUFDN0M7TUFDRixDQUFDLE1BQU0sSUFBSWdELENBQUMsQ0FBQzlCLEdBQUcsS0FBSyxRQUFRLEVBQUU7UUFDN0I4QixDQUFDLENBQUNDLGNBQWMsQ0FBQyxDQUFDO1FBQ2xCM0QsT0FBTyxDQUFDLENBQUM7TUFDWDtJQUNGLENBQUM7SUFDRHNELFFBQVEsQ0FBQ0MsZ0JBQWdCLENBQUMsU0FBUyxFQUFFRSxPQUFPLEVBQUUsSUFBSSxDQUFDO0lBQ25ELE9BQU87TUFBQSxPQUFNSCxRQUFRLENBQUNFLG1CQUFtQixDQUFDLFNBQVMsRUFBRUMsT0FBTyxFQUFFLElBQUksQ0FBQztJQUFBO0VBQ3JFLENBQUMsRUFBRSxDQUFDbEMsZUFBZSxFQUFFYixnQkFBZ0IsRUFBRVgsUUFBUSxFQUFFQyxPQUFPLENBQUMsQ0FBQztFQUUxRCxJQUFJdUIsZUFBZSxDQUFDN0IsTUFBTSxLQUFLLENBQUMsRUFBRTtJQUNoQyxPQUFPLElBQUk7RUFDYjtFQUVBLElBQUlvRSxTQUFTLEdBQUcsQ0FBQyxDQUFDO0VBRWxCLG9CQUNFdkYsSUFBQSxDQUFDVixVQUFVO0lBQUNrRyxPQUFPLEVBQUU5RCxNQUFPO0lBQUMrRCxLQUFLLEVBQUU5RCxJQUFLO0lBQUMrRCxPQUFPLEVBQUU5RCxNQUFPO0lBQUMrRCxXQUFXLEVBQUUsU0FBYkEsV0FBV0EsQ0FBRVIsQ0FBQztNQUFBLE9BQUlBLENBQUMsQ0FBQ0csZUFBZSxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQUFwRSxRQUFBLGVBQy9GbEIsSUFBQSxDQUFDVCxZQUFZO01BQUNxRyxHQUFHLEVBQUV2RCxXQUFZO01BQUFuQixRQUFBLEVBQzVCOEMsWUFBWSxDQUFDNkIsR0FBRyxDQUFDLFVBQUFDLEtBQUssRUFBSTtRQUN6QixJQUFNQyxXQUFXLEdBQUdELEtBQUssQ0FBQ3pDLEdBQUcsS0FBS2xELGFBQWEsR0FBR2YsbUJBQW1CLENBQUMwRyxLQUFLLENBQUN6QyxHQUFHLENBQUMsR0FBRyxJQUFJO1FBQ3ZGLG9CQUNFbkQsS0FBQSxDQUFDTixpQkFBaUI7VUFBQXNCLFFBQUEsR0FDZjZFLFdBQVcsaUJBQ1Y3RixLQUFBLENBQUNMLGtCQUFrQjtZQUFBcUIsUUFBQSxnQkFDakJsQixJQUFBO2NBQU0sZUFBWSxNQUFNO2NBQUFrQixRQUFBLEVBQUU2RSxXQUFXLENBQUNDO1lBQUksQ0FBTyxDQUFDLGVBQ2xEaEcsSUFBQTtjQUFBa0IsUUFBQSxFQUFPYSxDQUFDLENBQUNnRSxXQUFXLENBQUNFLFFBQVE7WUFBQyxDQUFPLENBQUM7VUFBQSxDQUNwQixDQUNyQixFQUNBSCxLQUFLLENBQUNsQyxLQUFLLENBQUNpQyxHQUFHLENBQUMsVUFBQUssT0FBTyxFQUFJO1lBQzFCWCxTQUFTLElBQUksQ0FBQztZQUNkLElBQU1ZLFlBQVksR0FBR1osU0FBUztZQUM5QixvQkFDRXJGLEtBQUEsQ0FBQ1YsUUFBUTtjQUVQb0csR0FBRyxFQUFFLFNBQUxBLEdBQUdBLENBQUVRLEVBQUUsRUFBSTtnQkFDVDlELFFBQVEsQ0FBQzRCLE9BQU8sQ0FBQ2lDLFlBQVksQ0FBQyxHQUFHQyxFQUFFO2NBQ3JDLENBQUU7Y0FDRkMsWUFBWSxFQUFFRixZQUFZLEtBQUtoRSxnQkFBaUI7Y0FDaERtRSxZQUFZLEVBQUUsU0FBZEEsWUFBWUEsQ0FBQTtnQkFBQSxPQUFRbEUsbUJBQW1CLENBQUMrRCxZQUFZLENBQUM7Y0FBQSxDQUFDO2NBQ3RESSxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtnQkFBQSxPQUFRL0UsUUFBUSxDQUFDMEUsT0FBTyxDQUFDO2NBQUEsQ0FBQztjQUNqQ00sSUFBSSxFQUFDLFFBQVE7Y0FBQXRGLFFBQUEsZ0JBRWJoQixLQUFBLENBQUNULGFBQWE7Z0JBQUF5QixRQUFBLGdCQUNabEIsSUFBQSxDQUFDTCxjQUFjO2tCQUFBdUIsUUFBQSxFQUFDO2dCQUFDLENBQWdCLENBQUMsRUFDakNkLG1CQUFtQixDQUFDOEYsT0FBTyxDQUFDckQsS0FBSyxFQUFFdkMsS0FBSyxDQUFDO2NBQUEsQ0FDN0IsQ0FBQyxFQUNmNEYsT0FBTyxDQUFDbkQsUUFBUSxpQkFDZi9DLElBQUEsQ0FBQ04sZ0JBQWdCO2dCQUFBd0IsUUFBQSxFQUFFZCxtQkFBbUIsQ0FBQzhGLE9BQU8sQ0FBQ25ELFFBQVEsRUFBRXpDLEtBQUs7Y0FBQyxDQUFtQixDQUNuRjtZQUFBLEdBZkk0RixPQUFPLENBQUNPLEVBZ0JMLENBQUM7VUFFZixDQUFDLENBQUM7UUFBQSxHQTlCb0JYLEtBQUssQ0FBQ3pDLEdBK0JYLENBQUM7TUFFeEIsQ0FBQztJQUFDLENBQ1U7RUFBQyxDQUNMLENBQUM7QUFFakIsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -2,28 +2,25 @@ import styled from 'styled-components';
|
|
|
2
2
|
export var SCSCAnchor = styled.div.withConfig({
|
|
3
3
|
displayName: "SlashCommandDropdownstyles__SCSCAnchor",
|
|
4
4
|
componentId: "sc-1dkvz8j-0"
|
|
5
|
-
})(["position:fixed;bottom:", ";left:", ";
|
|
5
|
+
})(["position:fixed;bottom:", ";left:", ";box-sizing:border-box;z-index:", ";"], function (_ref) {
|
|
6
6
|
var $bottom = _ref.$bottom;
|
|
7
7
|
return "".concat($bottom, "px");
|
|
8
8
|
}, function (_ref2) {
|
|
9
9
|
var $left = _ref2.$left;
|
|
10
10
|
return "".concat($left, "px");
|
|
11
11
|
}, function (_ref3) {
|
|
12
|
-
var $
|
|
13
|
-
return $maxHeight != null ? "".concat($maxHeight, "px") : 'none';
|
|
14
|
-
}, function (_ref4) {
|
|
15
|
-
var $zIndex = _ref4.$zIndex;
|
|
12
|
+
var $zIndex = _ref3.$zIndex;
|
|
16
13
|
return $zIndex !== null && $zIndex !== void 0 ? $zIndex : 1200;
|
|
17
14
|
});
|
|
18
15
|
export var SCSCDropdown = styled.div.withConfig({
|
|
19
16
|
displayName: "SlashCommandDropdownstyles__SCSCDropdown",
|
|
20
17
|
componentId: "sc-1dkvz8j-1"
|
|
21
|
-
})(["width:340px;max-height:
|
|
18
|
+
})(["width:340px;max-height:416px;display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:0px 8px 12px;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;background:#fff;border-radius:4px;border:1px solid var(--cor-color-border-subtle,#e6e6e6);box-shadow:var(--sds-size-depth-shadow-200,0 2px 8px rgba(0,0,0,0.08));&::-webkit-scrollbar{width:6px;}&::-webkit-scrollbar-track{background:transparent;}&::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:3px;}"]);
|
|
22
19
|
export var SCSCItem = styled.button.withConfig({
|
|
23
20
|
displayName: "SlashCommandDropdownstyles__SCSCItem",
|
|
24
21
|
componentId: "sc-1dkvz8j-2"
|
|
25
|
-
})(["display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;width:100%;padding:4px 8px;border:none;border-radius:4px;background:", ";cursor:pointer;text-align:left;&:hover{background:var(--cor-color-surface-hover,#f9f9f9);}"], function (
|
|
26
|
-
var $highlighted =
|
|
22
|
+
})(["display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;width:100%;padding:4px 8px;border:none;border-radius:4px;background:", ";cursor:pointer;text-align:left;&:hover{background:var(--cor-color-surface-hover,#f9f9f9);}"], function (_ref4) {
|
|
23
|
+
var $highlighted = _ref4.$highlighted;
|
|
27
24
|
return $highlighted ? 'var(--cor-color-surface-hover, #f9f9f9)' : 'transparent';
|
|
28
25
|
});
|
|
29
26
|
export var SCSCItemTitle = styled.span.withConfig({
|
|
@@ -50,4 +47,4 @@ export var SCSCMatchHighlight = styled.strong.withConfig({
|
|
|
50
47
|
displayName: "SlashCommandDropdownstyles__SCSCMatchHighlight",
|
|
51
48
|
componentId: "sc-1dkvz8j-8"
|
|
52
49
|
})(["color:#8740bf;font-weight:inherit;text-decoration:underline;text-decoration-color:#8740bf;"]);
|
|
53
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJTQ1NDQW5jaG9yIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJfcmVmIiwiJGJvdHRvbSIsImNvbmNhdCIsIl9yZWYyIiwiJGxlZnQiLCJfcmVmMyIsIiR6SW5kZXgiLCJTQ1NDRHJvcGRvd24iLCJTQ1NDSXRlbSIsImJ1dHRvbiIsIl9yZWY0IiwiJGhpZ2hsaWdodGVkIiwiU0NTQ0l0ZW1UaXRsZSIsInNwYW4iLCJTQ1NDSXRlbVN1YnRpdGxlIiwiU0NTQ0NhdGVnb3J5R3JvdXAiLCJTQ1NDQ2F0ZWdvcnlIZWFkZXIiLCJTQ1NDSXRlbVByZWZpeCIsIlNDU0NNYXRjaEhpZ2hsaWdodCIsInN0cm9uZyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL1NsYXNoQ29tbWFuZERyb3Bkb3duL1NsYXNoQ29tbWFuZERyb3Bkb3duLnN0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuXG5leHBvcnQgY29uc3QgU0NTQ0FuY2hvciA9IHN0eWxlZC5kaXY8e1xuICAkYm90dG9tOiBudW1iZXJcbiAgJGxlZnQ6IG51bWJlclxuICAkekluZGV4PzogbnVtYmVyXG59PmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206ICR7KHsgJGJvdHRvbSB9KSA9PiBgJHskYm90dG9tfXB4YH07XG4gIGxlZnQ6ICR7KHsgJGxlZnQgfSkgPT4gYCR7JGxlZnR9cHhgfTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgei1pbmRleDogJHsoeyAkekluZGV4IH0pID0+ICR6SW5kZXggPz8gMTIwMH07XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NDRHJvcGRvd24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMzQwcHg7XG4gIG1heC1oZWlnaHQ6IDQxNnB4O1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBnYXA6IDhweDtcbiAgcGFkZGluZzogMHB4IDhweCAxMnB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvci1jb2xvci1ib3JkZXItc3VidGxlLCAjZTZlNmU2KTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2RzLXNpemUtZGVwdGgtc2hhZG93LTIwMCwgMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4wOCkpO1xuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogNnB4O1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6ICNkMGQwZDA7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NDSXRlbSA9IHN0eWxlZC5idXR0b248eyAkaGlnaGxpZ2h0ZWQ/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQ6ICR7KHsgJGhpZ2hsaWdodGVkIH0pID0+ICgkaGlnaGxpZ2h0ZWQgPyAndmFyKC0tY29yLWNvbG9yLXN1cmZhY2UtaG92ZXIsICNmOWY5ZjkpJyA6ICd0cmFuc3BhcmVudCcpfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvci1jb2xvci1zdXJmYWNlLWhvdmVyLCAjZjlmOWY5KTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NTQ0l0ZW1UaXRsZSA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogdmFyKC0tY29yLWNvbG9yLXRleHQtc2Vjb25kYXJ5LCAjNGQ0ZDRkKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCAnV29yayBTYW5zJyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1zaXplLXNtLCAxNHB4KTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tY29yLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtMjAsIDIwcHgpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY29yLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctMCwgMCk7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NDSXRlbVN1YnRpdGxlID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiB2YXIoLS1jb3ItY29sb3ItdGV4dC1zZWNvbmRhcnksICM0ZDRkNGQpO1xuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKTtcbiAgZm9udC1zaXplOiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LXNpemUteHMsIDEycHgpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1saW5lLWhlaWdodC0xNiwgMTZweCk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy0wLCAwKTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU0NDYXRlZ29yeUdyb3VwID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAycHg7XG4gIHdpZHRoOiAxMDAlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NTQ0NhdGVnb3J5SGVhZGVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBwYWRkaW5nOiAxMnB4IDhweCAwO1xuICBjb2xvcjogdmFyKC0tY29yLWNvbG9yLXRleHQtc2Vjb25kYXJ5LCAjNGQ0ZDRkKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCAnV29yayBTYW5zJyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1zaXplLXNtLCAxNHB4KTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tY29yLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtMjAsIDIwcHgpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY29yLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctMCwgMCk7XG5cbiAgJiA+IHNwYW46Zmlyc3QtY2hpbGQge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NDSXRlbVByZWZpeCA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udDogaW5oZXJpdDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU0NNYXRjaEhpZ2hsaWdodCA9IHN0eWxlZC5zdHJvbmdgXG4gIGNvbG9yOiAjODc0MGJmO1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogIzg3NDBiZjtcbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxNQUFNLG1CQUFtQjtBQUV0QyxPQUFPLElBQU1DLFVBQVUsR0FBR0QsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsaUZBTXhCLFVBQUFDLElBQUE7RUFBQSxJQUFHQyxPQUFPLEdBQUFELElBQUEsQ0FBUEMsT0FBTztFQUFBLFVBQUFDLE1BQUEsQ0FBVUQsT0FBTztBQUFBLENBQUksRUFDakMsVUFBQUUsS0FBQTtFQUFBLElBQUdDLEtBQUssR0FBQUQsS0FBQSxDQUFMQyxLQUFLO0VBQUEsVUFBQUYsTUFBQSxDQUFVRSxLQUFLO0FBQUEsQ0FBSSxFQUV4QixVQUFBQyxLQUFBO0VBQUEsSUFBR0MsT0FBTyxHQUFBRCxLQUFBLENBQVBDLE9BQU87RUFBQSxPQUFPQSxPQUFPLGFBQVBBLE9BQU8sY0FBUEEsT0FBTyxHQUFJLElBQUk7QUFBQSxFQUM1QztBQUVELE9BQU8sSUFBTUMsWUFBWSxHQUFHYixNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxzZUErQnJDO0FBRUQsT0FBTyxJQUFNUyxRQUFRLEdBQUdkLE1BQU0sQ0FBQ2UsTUFBTSxDQUFBWixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHFRQVVyQixVQUFBVyxLQUFBO0VBQUEsSUFBR0MsWUFBWSxHQUFBRCxLQUFBLENBQVpDLFlBQVk7RUFBQSxPQUFRQSxZQUFZLEdBQUcseUNBQXlDLEdBQUcsYUFBYTtBQUFBLENBQUMsQ0FPL0c7QUFFRCxPQUFPLElBQU1DLGFBQWEsR0FBR2xCLE1BQU0sQ0FBQ21CLElBQUksQ0FBQWhCLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsa1RBUXZDO0FBRUQsT0FBTyxJQUFNZSxnQkFBZ0IsR0FBR3BCLE1BQU0sQ0FBQ21CLElBQUksQ0FBQWhCLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsa1RBUTFDO0FBRUQsT0FBTyxJQUFNZ0IsaUJBQWlCLEdBQUdyQixNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw4REFLMUM7QUFFRCxPQUFPLElBQU1pQixrQkFBa0IsR0FBR3RCLE1BQU0sQ0FBQ0UsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGljQXFCM0M7QUFFRCxPQUFPLElBQU1rQixjQUFjLEdBQUd2QixNQUFNLENBQUNtQixJQUFJLENBQUFoQixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG1DQUd4QztBQUVELE9BQU8sSUFBTW1CLGtCQUFrQixHQUFHeEIsTUFBTSxDQUFDeUIsTUFBTSxDQUFBdEIsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxrR0FLOUMiLCJpZ25vcmVMaXN0IjpbXX0=
|