@agilemotion/oui-react-js 2.0.15 → 2.0.17
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/README.TXT +2 -2
- package/dist/components/Calender.css +1 -1
- package/dist/components/TableCellContent.js +8 -18
- package/dist/components/dashboard/FoldingSideTabDashboard.css +1 -1
- package/dist/components/dashboard/FoldingSideTabDashboard.js +10 -7
- package/dist/components/form/LookupField.js +27 -3
- package/dist/components/layout/Layout.js +15 -3
- package/dist/components/layout/ViewPort.js +2 -2
- package/dist/components/layout/Window.css +4 -1
- package/dist/components/layout/Window.js +147 -29
- package/dist/components/layout/WindowDialog.js +8 -5
- package/dist/components/layout/WindowViewPort.js +8 -2
- package/dist/components/media/Chat.js +4 -2
- package/dist/components/media/ClosablePanel.js +55 -27
- package/dist/components/media/MediaSoupHelper.js +13 -1
- package/dist/components/media/SideBarContent.js +22 -8
- package/dist/components/media/TrainingRoom.js +32 -5
- package/dist/components/media/VCEventType.js +3 -1
- package/dist/components/media/VCParticipantList.js +53 -27
- package/dist/components/media/VCRoom.css +22 -0
- package/dist/components/media/VCRoom.js +34 -15
- package/dist/components/media/VCRoomParticipant.css +3 -2
- package/dist/components/media/VCRoomParticipant.js +140 -48
- package/dist/components/media/VCRoomRecorder.js +117 -40
- package/dist/components/media/VCRoomWorkspace.css +0 -1
- package/dist/components/media/VCRoomWorkspace.js +158 -23
- package/dist/components/media/VCSettings.js +462 -0
- package/dist/components/media/VideoPlayer.js +4 -1
- package/dist/components/media/audioLevelMeter.js +96 -0
- package/dist/components/media/chat/ChatRoom.js +13 -9
- package/dist/components/media/chat/ChatRoomItem.js +3 -2
- package/dist/components/media/chat/ChatRoomWrapper.js +4 -1
- package/dist/components/media/chat/ChatRooms.scss +5 -3
- package/dist/hooks/useContainerWidth.js +44 -0
- package/dist/view/security/RegisterInteractionPortal.js +101 -3
- package/package.json +1 -1
|
@@ -16,6 +16,10 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
16
16
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
17
17
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
18
18
|
const minimizeWidth = '848';
|
|
19
|
+
// Below this viewport width a 320px pinned window swallows the whole phone
|
|
20
|
+
// screen, so pinning collapses to a small floating pill (unpin icon only).
|
|
21
|
+
const MOBILE_BREAKPOINT = 600;
|
|
22
|
+
const isMobileWidth = () => typeof window !== 'undefined' && window.innerWidth < MOBILE_BREAKPOINT;
|
|
19
23
|
const PaperComponent = props => {
|
|
20
24
|
const nodeRef = (0, _react.useRef)(null);
|
|
21
25
|
const [bounds, setBounds] = (0, _react.useState)({
|
|
@@ -62,6 +66,28 @@ const Window = props => {
|
|
|
62
66
|
} = props;
|
|
63
67
|
const [displayState, setDisplayState] = (0, _react.useState)(props.displayState);
|
|
64
68
|
const [windowTransformValue, setWindowTransformValue] = (0, _react.useState)(null);
|
|
69
|
+
const [isMobile, setIsMobile] = (0, _react.useState)(isMobileWidth());
|
|
70
|
+
|
|
71
|
+
// Track viewport width so a pinned window collapses/expands on rotate/resize.
|
|
72
|
+
(0, _react.useEffect)(() => {
|
|
73
|
+
const onResize = () => setIsMobile(isMobileWidth());
|
|
74
|
+
window.addEventListener('resize', onResize);
|
|
75
|
+
return () => window.removeEventListener('resize', onResize);
|
|
76
|
+
}, []);
|
|
77
|
+
|
|
78
|
+
// Collapsed = pinned on a phone: shrink to a pill, keep everything mounted.
|
|
79
|
+
const collapsed = isMobile && displayState === 'PINNED';
|
|
80
|
+
|
|
81
|
+
// The context subscription below is registered ONCE on mount, so the
|
|
82
|
+
// maximize/minimize/pin closures it calls would otherwise capture mount-time
|
|
83
|
+
// props/state. Mirror the live values into refs so those imperative handlers
|
|
84
|
+
// always read the CURRENT drawer offset + display state. (Without this,
|
|
85
|
+
// pin -> close drawer -> unpin restores the window to the stale open-drawer
|
|
86
|
+
// left offset instead of the collapsed mini-drawer position.)
|
|
87
|
+
const leftOffsetRef = (0, _react.useRef)(props.leftOffset);
|
|
88
|
+
leftOffsetRef.current = props.leftOffset;
|
|
89
|
+
const displayStateRef = (0, _react.useRef)(displayState);
|
|
90
|
+
displayStateRef.current = displayState;
|
|
65
91
|
(0, _react.useEffect)(() => {
|
|
66
92
|
if (props.displayState) {
|
|
67
93
|
setDisplayState(props.displayState);
|
|
@@ -102,7 +128,15 @@ const Window = props => {
|
|
|
102
128
|
} else {
|
|
103
129
|
pinView(null);
|
|
104
130
|
}
|
|
105
|
-
|
|
131
|
+
// After the Paper resizes, nudge the content to re-measure. The CDUI
|
|
132
|
+
// view lays out against the available width once and only recomputes on
|
|
133
|
+
// a window resize — so MIN→MAX (or a drawer fold) otherwise leaves it
|
|
134
|
+
// sized to the previous dimensions. rAF lets the new size settle first.
|
|
135
|
+
const raf = requestAnimationFrame(() => window.dispatchEvent(new Event('resize')));
|
|
136
|
+
return () => cancelAnimationFrame(raf);
|
|
137
|
+
// Re-run on leftOffset too so a maximized window re-aligns when the
|
|
138
|
+
// menu drawer folds/expands (drawer width changes → reposition).
|
|
139
|
+
}, [displayState, props.leftOffset]);
|
|
106
140
|
const getMinimizedStyle = () => {
|
|
107
141
|
return {
|
|
108
142
|
transform: 'translate(0, 0)',
|
|
@@ -117,13 +151,50 @@ const Window = props => {
|
|
|
117
151
|
return {
|
|
118
152
|
transform: 'translate(0, 0)',
|
|
119
153
|
backgroundColor: '#FFFFFF',
|
|
120
|
-
|
|
154
|
+
position: 'absolute',
|
|
155
|
+
// Sit just below the fixed dashboard header (64px) so the window
|
|
156
|
+
// doesn't encroach on it. Declared here because getMaximizedStyle is
|
|
157
|
+
// the authoritative inline style — a render with no `top` would clear
|
|
158
|
+
// any imperatively-set value and fall back to the 40px class.
|
|
159
|
+
top: '64px',
|
|
160
|
+
left: props.leftOffset,
|
|
161
|
+
right: 'unset',
|
|
162
|
+
// Mirror the main ViewPort: start at the drawer width, leave a 12px
|
|
163
|
+
// right gap. Explicit width (not 'unset') so the content always
|
|
164
|
+
// reflows to full size — fixes the MIN→MAX "stuck shrunk" bug.
|
|
165
|
+
width: 'calc(100% - ' + props.leftOffset + ' - 12px)',
|
|
121
166
|
maxWidth: 'unset',
|
|
122
167
|
height: 'calc(100% - 88px)',
|
|
123
|
-
margin: '0
|
|
168
|
+
margin: '0'
|
|
169
|
+
};
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
// A small floating pill in the bottom-right that shows only the unpin icon.
|
|
173
|
+
// Nothing is unmounted — the meeting content (and its media streams + event
|
|
174
|
+
// subscriptions) stays in the DOM behind it, just hidden via display:none.
|
|
175
|
+
const getCollapsedStyle = () => {
|
|
176
|
+
return {
|
|
177
|
+
transform: 'translate(0, 0)',
|
|
178
|
+
backgroundColor: '#FFFFFF',
|
|
179
|
+
position: 'absolute',
|
|
180
|
+
top: 'unset',
|
|
181
|
+
left: 'unset',
|
|
182
|
+
right: '12px',
|
|
183
|
+
bottom: '12px',
|
|
184
|
+
width: '56px',
|
|
185
|
+
minWidth: '56px',
|
|
186
|
+
maxWidth: '56px',
|
|
187
|
+
height: '56px',
|
|
188
|
+
borderRadius: '28px',
|
|
189
|
+
margin: '0',
|
|
190
|
+
overflow: 'hidden',
|
|
191
|
+
boxShadow: '0 4px 16px rgba(0,0,0,0.32)'
|
|
124
192
|
};
|
|
125
193
|
};
|
|
126
194
|
const getPinnedStyle = () => {
|
|
195
|
+
if (isMobile) {
|
|
196
|
+
return getCollapsedStyle();
|
|
197
|
+
}
|
|
127
198
|
return {
|
|
128
199
|
transform: 'translate(0, 0)',
|
|
129
200
|
backgroundColor: '#FFFFFF',
|
|
@@ -140,19 +211,38 @@ const Window = props => {
|
|
|
140
211
|
if (windowTransformValue) {
|
|
141
212
|
paper.style.transform = windowTransformValue;
|
|
142
213
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
214
|
+
if (isMobileWidth()) {
|
|
215
|
+
// Collapse to a bottom-right pill. Content stays mounted (hidden
|
|
216
|
+
// via display:none in render), so streams/listeners are untouched.
|
|
217
|
+
paper.style.width = '56px';
|
|
218
|
+
paper.style.minWidth = '56px';
|
|
219
|
+
paper.style.maxWidth = '56px';
|
|
220
|
+
paper.style.height = '56px';
|
|
221
|
+
paper.style.borderRadius = '28px';
|
|
222
|
+
paper.style.boxShadow = '0 4px 16px rgba(0,0,0,0.32)';
|
|
223
|
+
paper.style.left = 'unset';
|
|
224
|
+
paper.style.right = '12px';
|
|
225
|
+
paper.style.top = 'unset';
|
|
226
|
+
paper.style.bottom = '12px';
|
|
227
|
+
paper.style.position = 'absolute';
|
|
228
|
+
paper.style.margin = '0';
|
|
229
|
+
paper.style.overflow = 'hidden';
|
|
230
|
+
} else {
|
|
231
|
+
paper.style.width = '322px';
|
|
232
|
+
paper.style.height = 'calc(100% - 80px)';
|
|
233
|
+
paper.style.boxShadow = 'unset';
|
|
234
|
+
paper.style.borderRadius = '4px';
|
|
235
|
+
paper.style.left = 'unset';
|
|
236
|
+
paper.style.right = '4px';
|
|
237
|
+
paper.style.position = 'absolute';
|
|
238
|
+
paper.style.top = '32px';
|
|
239
|
+
paper.style.bottom = 'unset';
|
|
240
|
+
paper.style.margin = '32px 0';
|
|
241
|
+
paper.style.maxWidth = 'unset';
|
|
242
|
+
}
|
|
153
243
|
let header = document.getElementsByClassName('dialogHeader')[0];
|
|
154
244
|
header.getElementsByTagName('button')[0].style.color = '#000000';
|
|
155
|
-
if (
|
|
245
|
+
if (displayStateRef.current !== 'PINNED') {
|
|
156
246
|
setDisplayState('PINNED');
|
|
157
247
|
}
|
|
158
248
|
if (updateContext) {
|
|
@@ -179,10 +269,14 @@ const Window = props => {
|
|
|
179
269
|
paper.style.margin = '0 16px 16px 16px';
|
|
180
270
|
paper.style.position = 'relative';
|
|
181
271
|
paper.style.border = 'unset';
|
|
272
|
+
// Clear leftover mobile collapsed-pill styles.
|
|
273
|
+
paper.style.removeProperty('min-width');
|
|
274
|
+
paper.style.removeProperty('border-radius');
|
|
275
|
+
paper.style.removeProperty('bottom');
|
|
182
276
|
let header = document.getElementsByClassName('dialogHeader')[0];
|
|
183
277
|
header.getElementsByTagName('button')[0].style.color = '#000000';
|
|
184
278
|
document.getElementById('meeting-window-header').style.cursor = 'move';
|
|
185
|
-
if (
|
|
279
|
+
if (displayStateRef.current !== 'MINIMIZED') {
|
|
186
280
|
setDisplayState('MINIMIZED');
|
|
187
281
|
}
|
|
188
282
|
if (updateContext) {
|
|
@@ -193,33 +287,38 @@ const Window = props => {
|
|
|
193
287
|
}
|
|
194
288
|
}
|
|
195
289
|
};
|
|
196
|
-
function getLeftOffset() {
|
|
197
|
-
let sidebarWidth = parseInt(document.getElementsByClassName('sidebar')[0].style.width.replace('px', ''));
|
|
198
|
-
return sidebarWidth + (sidebarWidth === 0 ? 16 : 36);
|
|
199
|
-
}
|
|
200
290
|
const maximizeView = function (e) {
|
|
201
291
|
let updateContext = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
202
292
|
let paper = document.getElementById('meetingDialogPaper');
|
|
203
293
|
if (paper) {
|
|
204
|
-
let sidebar = document.getElementsByClassName('sidebar')[0];
|
|
205
|
-
let sidebarTransform = window.getComputedStyle(sidebar, null).transform;
|
|
206
294
|
setWindowTransformValue(paper.style.transform);
|
|
207
295
|
paper.style.removeProperty('--Paper-shadow');
|
|
208
296
|
paper.style.boxShadow = 'unset';
|
|
209
297
|
paper.style.transform = 'translate(0, 0)';
|
|
210
298
|
paper.style.backgroundColor = '#FFFFFF';
|
|
211
|
-
|
|
299
|
+
// Explicit width tied to the drawer offset (mirrors the main
|
|
300
|
+
// ViewPort). NOT 'unset' — a content-sized auto width is what keeps
|
|
301
|
+
// the window shrunk after MIN→MAX.
|
|
302
|
+
paper.style.width = 'calc(100% - ' + leftOffsetRef.current + ' - 12px)';
|
|
212
303
|
paper.style.maxWidth = 'unset';
|
|
213
304
|
paper.style.height = 'calc(100% - 88px)';
|
|
214
|
-
paper.style.margin = '
|
|
215
|
-
paper.style.right = '
|
|
305
|
+
paper.style.margin = '0';
|
|
306
|
+
paper.style.right = 'unset';
|
|
216
307
|
paper.style.position = 'absolute';
|
|
217
|
-
paper.style.top = '
|
|
218
|
-
|
|
308
|
+
paper.style.top = '64px';
|
|
309
|
+
// Left edge = the menu drawer width (folds in real time, read from a
|
|
310
|
+
// ref so the once-registered context subscription isn't stale), not
|
|
311
|
+
// the static .sidebar lookup.
|
|
312
|
+
paper.style.left = leftOffsetRef.current;
|
|
313
|
+
// Clear any leftover styles from the mobile collapsed pill so the
|
|
314
|
+
// restored window isn't stuck rounded/tiny.
|
|
315
|
+
paper.style.removeProperty('min-width');
|
|
316
|
+
paper.style.removeProperty('border-radius');
|
|
317
|
+
paper.style.removeProperty('bottom');
|
|
219
318
|
let header = document.getElementsByClassName('dialogHeader')[0];
|
|
220
319
|
header.getElementsByTagName('button')[0].style.color = 'rgba(0, 0, 0, 0.54)';
|
|
221
320
|
document.getElementById('meeting-window-header').style.cursor = 'default';
|
|
222
|
-
if (
|
|
321
|
+
if (displayStateRef.current !== 'MAXIMIZED') {
|
|
223
322
|
setDisplayState('MAXIMIZED');
|
|
224
323
|
}
|
|
225
324
|
if (updateContext) {
|
|
@@ -264,6 +363,25 @@ const Window = props => {
|
|
|
264
363
|
overflow: 'hidden'
|
|
265
364
|
},
|
|
266
365
|
className: "".concat((displayState === 'PINNED' ? 'window-pinned ' : '') + 'w-100 h-100')
|
|
366
|
+
},
|
|
367
|
+
// Collapsed pill: the ONLY visible control is unpin (restores
|
|
368
|
+
// the window). Everything else stays mounted below, hidden.
|
|
369
|
+
collapsed && /*#__PURE__*/_react.default.createElement(_IconButton.default, {
|
|
370
|
+
onClick: e => props.onPin(),
|
|
371
|
+
"aria-label": "Unpin meeting",
|
|
372
|
+
style: {
|
|
373
|
+
width: '56px',
|
|
374
|
+
height: '56px',
|
|
375
|
+
color: '#000000'
|
|
376
|
+
}
|
|
377
|
+
}, /*#__PURE__*/_react.default.createElement(_Icon.default, {
|
|
378
|
+
id: 'MAXIMIZE'
|
|
379
|
+
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
380
|
+
style: {
|
|
381
|
+
width: '100%',
|
|
382
|
+
height: '100%',
|
|
383
|
+
display: collapsed ? 'none' : 'block'
|
|
384
|
+
}
|
|
267
385
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
268
386
|
className: 'meeting-window-header',
|
|
269
387
|
id: "meeting-window-header"
|
|
@@ -307,7 +425,7 @@ const Window = props => {
|
|
|
307
425
|
}
|
|
308
426
|
}, /*#__PURE__*/_react.default.createElement(_Icon.default, {
|
|
309
427
|
id: 'MAXIMIZE'
|
|
310
|
-
}))))))), children))));
|
|
428
|
+
}))))))), children)))));
|
|
311
429
|
};
|
|
312
430
|
var _default = exports.default = Window;
|
|
313
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3REcmFnZ2FibGUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1BhcGVyIiwiX0ljb24iLCJfSWNvbkJ1dHRvbiIsIl9BcHBsaWNhdGlvbk1hbmFnZXIiLCJfV2luZG93RGlhbG9nIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwidCIsIldlYWtNYXAiLCJyIiwibiIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImhhcyIsImdldCIsInNldCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiX2V4dGVuZHMiLCJhc3NpZ24iLCJiaW5kIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXBwbHkiLCJtaW5pbWl6ZVdpZHRoIiwiUGFwZXJDb21wb25lbnQiLCJwcm9wcyIsIm5vZGVSZWYiLCJ1c2VSZWYiLCJib3VuZHMiLCJzZXRCb3VuZHMiLCJ1c2VTdGF0ZSIsImxlZnQiLCJyaWdodCIsInRvcCIsImJvdHRvbSIsImhhbmRsZVN0YXJ0IiwiZGF0YSIsImNvbnNvbGUiLCJsb2ciLCJub2RlIiwib2Zmc2V0VG9wIiwid2luZG93IiwiaW5uZXJIZWlnaHQiLCJjcmVhdGVFbGVtZW50IiwicmVmIiwiV2luZG93IiwiY2hpbGRyZW4iLCJvcGVuIiwibWluaW1pemFibGUiLCJkaXNwbGF5U3RhdGUiLCJzZXREaXNwbGF5U3RhdGUiLCJ3aW5kb3dUcmFuc2Zvcm1WYWx1ZSIsInNldFdpbmRvd1RyYW5zZm9ybVZhbHVlIiwidXNlRWZmZWN0IiwiYXBwbGljYXRpb25NYW5hZ2VyIiwidXBkYXRlQ29udGV4dCIsIndpbmRvd0Rpc3BsYXlTdGF0ZSIsImFkZEFwcGxpY2F0aW9uQ29udGV4dFN1YnNjcmlwdGlvbiIsImhhbmRsZXIiLCJpZCIsIm9uQ29udGV4dENoYW5nZSIsImNvbnRleHQiLCJuZXdWYWx1ZXMiLCJrZXlzIiwiZmluZCIsImtleSIsIm1heGltaXplVmlldyIsIm1pbmltaXplVmlldyIsInBpblZpZXciLCJ0aGVuIiwiaW5pdGlhbENvbnRleHQiLCJnZXRNaW5pbWl6ZWRTdHlsZSIsInRyYW5zZm9ybSIsImJhY2tncm91bmRDb2xvciIsIndpZHRoIiwibWF4V2lkdGgiLCJoZWlnaHQiLCJtYXJnaW4iLCJnZXRNYXhpbWl6ZWRTdHlsZSIsImxlZnRPZmZzZXQiLCJnZXRQaW5uZWRTdHlsZSIsInVuZGVmaW5lZCIsInBpbm5hYmxlIiwicGFwZXIiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwic3R5bGUiLCJib3hTaGFkb3ciLCJib3JkZXJSYWRpdXMiLCJwb3NpdGlvbiIsImhlYWRlciIsImdldEVsZW1lbnRzQnlDbGFzc05hbWUiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsImNvbG9yIiwib25QaW5uZWQiLCJyZW1vdmVQcm9wZXJ0eSIsImJvcmRlciIsImN1cnNvciIsImdldExlZnRPZmZzZXQiLCJzaWRlYmFyV2lkdGgiLCJwYXJzZUludCIsInJlcGxhY2UiLCJzaWRlYmFyIiwic2lkZWJhclRyYW5zZm9ybSIsImdldENvbXB1dGVkU3R5bGUiLCJpc05hTiIsIkZyYWdtZW50IiwibWF4SGVpZ2h0Iiwib3ZlcmZsb3dYIiwib3ZlcmZsb3dZIiwiZGlzcGxheSIsImRpc2FibGVFbmZvcmNlRm9jdXMiLCJvbkNsb3NlIiwia2VlcE1vdW50ZWQiLCJoaWRlQmFja2Ryb3AiLCJjbGFzc05hbWUiLCJjb250YWluZXJDbGFzc05hbWUiLCJQYXBlclByb3BzIiwiZGlzYWJsZWQiLCJvdmVyZmxvdyIsImNvbmNhdCIsIm1hcmdpblRvcCIsIm9uQ2xpY2siLCJtYXJnaW5SaWdodCIsIm9uUGluIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC9XaW5kb3cuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge3VzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0ICcuL1dpbmRvdy5jc3MnO1xuaW1wb3J0IERyYWdnYWJsZSBmcm9tICdyZWFjdC1kcmFnZ2FibGUnO1xuaW1wb3J0IFBhcGVyIGZyb20gJ0BtdWkvbWF0ZXJpYWwvUGFwZXInO1xuaW1wb3J0IEljb24gZnJvbSAnLi4vSWNvbic7XG5pbXBvcnQgSWNvbkJ1dHRvbiBmcm9tICdAbXVpL21hdGVyaWFsL0ljb25CdXR0b24nO1xuaW1wb3J0IGFwcGxpY2F0aW9uTWFuYWdlciBmcm9tICcuLi8uLi9BcHBsaWNhdGlvbk1hbmFnZXInO1xuaW1wb3J0IFdpbmRvd0RpYWxvZyBmcm9tIFwiLi9XaW5kb3dEaWFsb2dcIjtcblxuY29uc3QgbWluaW1pemVXaWR0aCA9ICc4NDgnO1xuY29uc3QgUGFwZXJDb21wb25lbnQgPSAocHJvcHMpID0+IHtcblxuICAgIGNvbnN0IG5vZGVSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgW2JvdW5kcywgc2V0Qm91bmRzXSA9IHVzZVN0YXRlKHtcbiAgICAgICAgbGVmdDogMCxcbiAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgIHRvcDogMCxcbiAgICAgICAgYm90dG9tOiAwXG4gICAgfSk7XG5cbiAgICBjb25zdCBoYW5kbGVTdGFydCA9IChlLCBkYXRhKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiRFJBRyBTVEFSVFwiKTtcbiAgICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvL2NvbnN0IHggPSBkYXRhLm5vZGUub2Zmc2V0TGVmdCAtIGRhdGEubm9kZS5vZmZzZXRXaWR0aDtcbiAgICAgICAgY29uc3QgdG9wID0gLWRhdGEubm9kZS5vZmZzZXRUb3AgKyA2NDtcbiAgICAgICAgY29uc3QgYm90dG9tID0gd2luZG93LmlubmVySGVpZ2h0IC0gKGRhdGEubm9kZS5vZmZzZXRUb3AgKyA2NCk7XG5cbiAgICAgICAgc2V0Qm91bmRzKHtcbiAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICByaWdodDogMCxcbiAgICAgICAgICAgIHRvcDogdG9wLFxuICAgICAgICAgICAgYm90dG9tOiBib3R0b21cbiAgICAgICAgfSk7XG5cbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPFBhcGVyIHsuLi5wcm9wc30gcmVmPXtub2RlUmVmfS8+XG4gICAgICAgIC8qPERyYWdnYWJsZVxuICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmRpc2FibGVkfVxuICAgICAgICAgICAgYm91bmRzPXtib3VuZHN9XG4gICAgICAgICAgICBvblN0YXJ0PXtoYW5kbGVTdGFydH1cbiAgICAgICAgICAgIGhhbmRsZT1cIiNtZWV0aW5nLXdpbmRvdy1oZWFkZXJcIlxuICAgICAgICAgICAgY2FuY2VsPXsnW2NsYXNzKj1cIk11aURpYWxvZ0NvbnRlbnQtcm9vdFwiXSd9XG4gICAgICAgICAgICBub2RlUmVmPXtub2RlUmVmfVxuICAgICAgICA+XG4gICAgICAgICAgICA8UGFwZXIgey4uLnByb3BzfSByZWY9e25vZGVSZWZ9IHN0eWxlPXt7bWluV2lkdGg6ICczMjBweCd9fS8+XG4gICAgICAgIDwvRHJhZ2dhYmxlPiovXG4gICAgKTtcbn07XG5cbmNvbnN0IFdpbmRvdyA9IChwcm9wcykgPT4ge1xuXG4gICAgY29uc3Qge1xuICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgb3BlbixcbiAgICAgICAgbWluaW1pemFibGVcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgW2Rpc3BsYXlTdGF0ZSwgc2V0RGlzcGxheVN0YXRlXSA9IHVzZVN0YXRlKHByb3BzLmRpc3BsYXlTdGF0ZSk7XG4gICAgY29uc3QgW3dpbmRvd1RyYW5zZm9ybVZhbHVlLCBzZXRXaW5kb3dUcmFuc2Zvcm1WYWx1ZV0gPSB1c2VTdGF0ZShudWxsKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChwcm9wcy5kaXNwbGF5U3RhdGUpIHtcbiAgICAgICAgICAgIHNldERpc3BsYXlTdGF0ZShwcm9wcy5kaXNwbGF5U3RhdGUpO1xuICAgICAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLnVwZGF0ZUNvbnRleHQoe3dpbmRvd0Rpc3BsYXlTdGF0ZTogcHJvcHMuZGlzcGxheVN0YXRlfSk7XG4gICAgICAgIH1cbiAgICB9LCBbcHJvcHMuZGlzcGxheVN0YXRlXSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIuYWRkQXBwbGljYXRpb25Db250ZXh0U3Vic2NyaXB0aW9uKHtcbiAgICAgICAgICAgIGhhbmRsZXI6IHtcbiAgICAgICAgICAgICAgICBnZXQgaWQoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAnd2luZG93JztcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9uQ29udGV4dENoYW5nZTogKGNvbnRleHQsIG5ld1ZhbHVlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LmtleXMobmV3VmFsdWVzKVxuICAgICAgICAgICAgICAgICAgICAgICAgLmZpbmQoKGtleSkgPT4ga2V5ID09PSAnd2luZG93RGlzcGxheVN0YXRlJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdNSU4gOiAnICsgbmV3VmFsdWVzLndpbmRvd0Rpc3BsYXlTdGF0ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobmV3VmFsdWVzLndpbmRvd0Rpc3BsYXlTdGF0ZSA9PT0gJ01BWElNSVpFRCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhpbWl6ZVZpZXcobnVsbCwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChuZXdWYWx1ZXMud2luZG93RGlzcGxheVN0YXRlID09PSAnTUlOSU1JWkVEJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltaXplVmlldyhudWxsLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG5ld1ZhbHVlcy53aW5kb3dEaXNwbGF5U3RhdGUgPT09ICdQSU5ORUQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGluVmlldyhudWxsLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLnRoZW4oKGluaXRpYWxDb250ZXh0KSA9PiB7XG4gICAgICAgICAgICBzZXREaXNwbGF5U3RhdGUoaW5pdGlhbENvbnRleHQgPyBpbml0aWFsQ29udGV4dC53aW5kb3dEaXNwbGF5U3RhdGUgOiAnTUFYSU1JWkVEJyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIH07XG4gICAgfSwgW10pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKGRpc3BsYXlTdGF0ZSA9PT0gJ01BWElNSVpFRCcpIHtcbiAgICAgICAgICAgIG1heGltaXplVmlldyhudWxsKTtcbiAgICAgICAgfSBlbHNlIGlmIChkaXNwbGF5U3RhdGUgPT09ICdNSU5JTUlaRUQnKSB7XG4gICAgICAgICAgICBtaW5pbWl6ZVZpZXcobnVsbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwaW5WaWV3KG51bGwpXG4gICAgICAgIH1cbiAgICB9LCBbZGlzcGxheVN0YXRlXSk7XG5cbiAgICBjb25zdCBnZXRNaW5pbWl6ZWRTdHlsZSA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZSgwLCAwKScsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjRkZGRkZGJyxcbiAgICAgICAgICAgIHdpZHRoOiBtaW5pbWl6ZVdpZHRoICsgJ3B4JyxcbiAgICAgICAgICAgIG1heFdpZHRoOiAndW5zZXQnLFxuICAgICAgICAgICAgaGVpZ2h0OiAnNTAwcHgnLFxuICAgICAgICAgICAgbWFyZ2luOiAnMCAxNnB4IDE2cHggMTZweCdcbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgY29uc3QgZ2V0TWF4aW1pemVkU3R5bGUgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoMCwgMCknLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI0ZGRkZGRicsXG4gICAgICAgICAgICB3aWR0aDogJ2NhbGMoMTAwJSAtICcgKyBwcm9wcy5sZWZ0T2Zmc2V0ICsgJyApJyxcbiAgICAgICAgICAgIG1heFdpZHRoOiAndW5zZXQnLFxuICAgICAgICAgICAgaGVpZ2h0OiAnY2FsYygxMDAlIC0gODhweCknLFxuICAgICAgICAgICAgbWFyZ2luOiAnMCA4cHgnXG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIGNvbnN0IGdldFBpbm5lZFN0eWxlID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlKDAsIDApJyxcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJyNGRkZGRkYnLFxuICAgICAgICAgICAgd2lkdGg6ICczMjBweCcsXG4gICAgICAgICAgICBoZWlnaHQ6ICdjYWxjKDEwMCUgLSA4OHB4KScsXG4gICAgICAgICAgICBtYXJnaW46ICcwIDhweCdcbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgY29uc3QgcGluVmlldyA9IChlLCB1cGRhdGVDb250ZXh0ID0gdHJ1ZSkgPT4ge1xuICAgICAgICBpZiAocHJvcHMucGlubmFibGUpIHtcbiAgICAgICAgICAgIGxldCBwYXBlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtZWV0aW5nRGlhbG9nUGFwZXInKTtcbiAgICAgICAgICAgIGlmIChwYXBlcikge1xuICAgICAgICAgICAgICAgIGlmICh3aW5kb3dUcmFuc2Zvcm1WYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS50cmFuc2Zvcm0gPSB3aW5kb3dUcmFuc2Zvcm1WYWx1ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS53aWR0aCA9ICczMjBweCc7XG4gICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUuaGVpZ2h0ID0gJ2NhbGMoMTAwJSAtIDgwcHgpJztcbiAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS5ib3hTaGFkb3cgPSAndW5zZXQnO1xuICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLmJvcmRlclJhZGl1cyA9ICc0cHgnO1xuICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLmxlZnQgPSAndW5zZXQnO1xuICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLnJpZ2h0ID0gJzRweCc7XG4gICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLnRvcCA9ICc0NHB4JztcbiAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS5tYXJnaW4gPSAnMzJweCAwJztcbiAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS5tYXhXaWR0aCA9ICd1bnNldCc7XG5cbiAgICAgICAgICAgICAgICBsZXQgaGVhZGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnZGlhbG9nSGVhZGVyJylbMF07XG4gICAgICAgICAgICAgICAgaGVhZGVyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdidXR0b24nKVswXS5zdHlsZS5jb2xvciA9ICcjMDAwMDAwJztcblxuICAgICAgICAgICAgICAgIGlmIChkaXNwbGF5U3RhdGUgIT09ICdQSU5ORUQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHNldERpc3BsYXlTdGF0ZSgnUElOTkVEJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHVwZGF0ZUNvbnRleHQpIHtcbiAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLnVwZGF0ZUNvbnRleHQoe3dpbmRvd0Rpc3BsYXlTdGF0ZTogJ1BJTk5FRCd9LCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcHJvcHMub25QaW5uZWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBtaW5pbWl6ZVZpZXcgPSAoZSwgdXBkYXRlQ29udGV4dCA9IHRydWUpID0+IHtcbiAgICAgICAgaWYgKG1pbmltaXphYmxlKSB7XG4gICAgICAgICAgICBsZXQgcGFwZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWVldGluZ0RpYWxvZ1BhcGVyJyk7XG4gICAgICAgICAgICBpZiAocGFwZXIpIHtcbiAgICAgICAgICAgICAgICBpZiAod2luZG93VHJhbnNmb3JtVmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUudHJhbnNmb3JtID0gd2luZG93VHJhbnNmb3JtVmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tUGFwZXItc2hhZG93Jyk7XG4gICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUuYm94U2hhZG93ID0gJ3Vuc2V0JztcbiAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS53aWR0aCA9IG1pbmltaXplV2lkdGggKyAncHgnO1xuICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLmhlaWdodCA9ICc1MDBweCc7XG4gICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUubWFyZ2luID0gJzAgMTZweCAxNnB4IDE2cHgnO1xuICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLnBvc2l0aW9uID0gJ3JlbGF0aXZlJztcbiAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS5ib3JkZXIgPSAndW5zZXQnO1xuXG4gICAgICAgICAgICAgICAgbGV0IGhlYWRlciA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2RpYWxvZ0hlYWRlcicpWzBdO1xuICAgICAgICAgICAgICAgIGhlYWRlci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYnV0dG9uJylbMF0uc3R5bGUuY29sb3IgPSAnIzAwMDAwMCc7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21lZXRpbmctd2luZG93LWhlYWRlcicpLnN0eWxlLmN1cnNvciA9ICdtb3ZlJztcblxuICAgICAgICAgICAgICAgIGlmIChkaXNwbGF5U3RhdGUgIT09ICdNSU5JTUlaRUQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHNldERpc3BsYXlTdGF0ZSgnTUlOSU1JWkVEJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHVwZGF0ZUNvbnRleHQpIHtcbiAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLnVwZGF0ZUNvbnRleHQoe3dpbmRvd0Rpc3BsYXlTdGF0ZTogJ01JTklNSVpFRCd9LCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGdldExlZnRPZmZzZXQoKSB7XG4gICAgICAgIGxldCBzaWRlYmFyV2lkdGggPSBwYXJzZUludChkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdzaWRlYmFyJylbMF0uc3R5bGUud2lkdGgucmVwbGFjZSgncHgnLCAnJykpO1xuICAgICAgICByZXR1cm4gc2lkZWJhcldpZHRoICsgKHNpZGViYXJXaWR0aCA9PT0gMCA/IDE2IDogMzYpO1xuICAgIH1cblxuICAgIGNvbnN0IG1heGltaXplVmlldyA9IChlLCB1cGRhdGVDb250ZXh0ID0gdHJ1ZSkgPT4ge1xuICAgICAgICBsZXQgcGFwZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWVldGluZ0RpYWxvZ1BhcGVyJyk7XG4gICAgICAgIGlmIChwYXBlcikge1xuICAgICAgICAgICAgbGV0IHNpZGViYXIgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdzaWRlYmFyJylbMF07XG4gICAgICAgICAgICBsZXQgc2lkZWJhclRyYW5zZm9ybSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHNpZGViYXIsIG51bGwpLnRyYW5zZm9ybTtcblxuICAgICAgICAgICAgc2V0V2luZG93VHJhbnNmb3JtVmFsdWUocGFwZXIuc3R5bGUudHJhbnNmb3JtKTtcbiAgICAgICAgICAgIHBhcGVyLnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLVBhcGVyLXNoYWRvdycpO1xuICAgICAgICAgICAgcGFwZXIuc3R5bGUuYm94U2hhZG93ID0gJ3Vuc2V0JztcbiAgICAgICAgICAgIHBhcGVyLnN0eWxlLnRyYW5zZm9ybSA9ICd0cmFuc2xhdGUoMCwgMCknO1xuICAgICAgICAgICAgcGFwZXIuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJyNGRkZGRkYnO1xuICAgICAgICAgICAgcGFwZXIuc3R5bGUud2lkdGggPSAndW5zZXQnO1xuICAgICAgICAgICAgcGFwZXIuc3R5bGUubWF4V2lkdGggPSAndW5zZXQnO1xuICAgICAgICAgICAgcGFwZXIuc3R5bGUuaGVpZ2h0ID0gJ2NhbGMoMTAwJSAtIDg4cHgpJztcbiAgICAgICAgICAgIHBhcGVyLnN0eWxlLm1hcmdpbiA9ICc4cHgnO1xuICAgICAgICAgICAgcGFwZXIuc3R5bGUucmlnaHQgPSAnNHB4JztcbiAgICAgICAgICAgIHBhcGVyLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgICAgICAgIHBhcGVyLnN0eWxlLnRvcCA9ICc3MnB4JztcbiAgICAgICAgICAgIHBhcGVyLnN0eWxlLmxlZnQgPSAoaXNOYU4oZ2V0TGVmdE9mZnNldCgpKSA/ICczMjgnIDogZ2V0TGVmdE9mZnNldCgpKSArICdweCc7XG5cbiAgICAgICAgICAgIGxldCBoZWFkZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdkaWFsb2dIZWFkZXInKVswXTtcbiAgICAgICAgICAgIGhlYWRlci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYnV0dG9uJylbMF0uc3R5bGUuY29sb3IgPSAncmdiYSgwLCAwLCAwLCAwLjU0KSc7XG4gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWVldGluZy13aW5kb3ctaGVhZGVyJykuc3R5bGUuY3Vyc29yID0gJ2RlZmF1bHQnO1xuXG4gICAgICAgICAgICBpZiAoZGlzcGxheVN0YXRlICE9PSAnTUFYSU1JWkVEJykge1xuICAgICAgICAgICAgICAgIHNldERpc3BsYXlTdGF0ZSgnTUFYSU1JWkVEJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh1cGRhdGVDb250ZXh0KSB7XG4gICAgICAgICAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLnVwZGF0ZUNvbnRleHQoe3dpbmRvd0Rpc3BsYXlTdGF0ZTogJ01BWElNSVpFRCd9LCBmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICAgICAgICAgIG1heEhlaWdodDogJzEwMCUnLFxuICAgICAgICAgICAgICAgIG92ZXJmbG93WDogJ2hpZGRlbicsXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3dZOiAnYXV0bycsXG4gICAgICAgICAgICAgICAgZGlzcGxheTogJ25vbmUnLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAnIzAwMDAwMCdcbiAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgIDxXaW5kb3dEaWFsb2dcbiAgICAgICAgICAgICAgICAgICAgbGVmdE9mZnNldD17cHJvcHMubGVmdE9mZnNldH1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZUVuZm9yY2VGb2N1c1xuICAgICAgICAgICAgICAgICAgICBvcGVuPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICBvbkNsb3NlPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMub25DbG9zZSgpO1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICBrZWVwTW91bnRlZFxuICAgICAgICAgICAgICAgICAgICBoaWRlQmFja2Ryb3A9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT1cIm1lZXRpbmctd2luZG93LXRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT1cIm1lZXRpbmctd2luZG93LWRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtwcm9wcy5jb250YWluZXJDbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgICAgIFBhcGVyQ29tcG9uZW50PXtQYXBlckNvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgUGFwZXJQcm9wcz17e1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdtZWV0aW5nRGlhbG9nUGFwZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBkaXNwbGF5U3RhdGUgPT09ICdNSU5JTUlaRUQnID8gJ3dpbmRvdy1wYXBlci1taW4nIDogZGlzcGxheVN0YXRlID09PSAnTUFYSU1JWkVEJyA/ICd3aW5kb3ctcGFwZXItbWF4JyA6ICd3aW5kb3ctcGFwZXItcGlubmVkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBkaXNwbGF5U3RhdGUgPT09ICdNQVhJTUlaRUQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IGRpc3BsYXlTdGF0ZSA9PT0gJ01JTklNSVpFRCcgPyBnZXRNaW5pbWl6ZWRTdHlsZSgpIDogZGlzcGxheVN0YXRlID09PSAnTUFYSU1JWkVEJyA/IGdldE1heGltaXplZFN0eWxlKCkgOiBnZXRQaW5uZWRTdHlsZSgpXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPXsnd2luZG93LWNvbnRlbnQnfSBzdHlsZT17e292ZXJmbG93OiAnaGlkZGVuJ319XG4gICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHsoZGlzcGxheVN0YXRlID09PSAnUElOTkVEJyA/ICd3aW5kb3ctcGlubmVkICcgOiAnJykgKyAndy0xMDAgaC0xMDAnfWB9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydtZWV0aW5nLXdpbmRvdy1oZWFkZXInfSBpZD1cIm1lZXRpbmctd2luZG93LWhlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlTdGF0ZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnNDhweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnNDhweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAnLTJweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZGlhbG9nSGVhZGVyIHJvdyd9IHN0eWxlPXt7bWFyZ2luVG9wOiAnMjRweCd9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW1pemFibGUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5U3RhdGUgPT09ICdNQVhJTUlaRUQnID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW1pemVWaWV3KGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luUmlnaHQ6ICc0cHgnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SWNvbiBpZD17J01JTklNSVpFJ30vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhpbWl6ZVZpZXcoZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5SaWdodDogJzRweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uIGlkPXsnTUFYSU1JWkUnfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMucGlubmFibGUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLm9uUGluKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5SaWdodDogJzRweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uIGlkPXsnTUFYSU1JWkUnfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L1dpbmRvd0RpYWxvZz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8Lz5cbiAgICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgV2luZG93O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdB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LGlCQUNYNUQsTUFBQSxDQUFBWSxPQUFBLENBQUEyQyxhQUFBLGNBRVFNLFlBQVksS0FBSyxXQUFXLGdCQUN4QjdELE1BQUEsQ0FBQVksT0FBQSxDQUFBMkMsYUFBQSxDQUFDaEQsV0FBQSxDQUFBSyxPQUFVO0lBQ1AwSCxPQUFPLEVBQUc1SCxDQUFDLElBQUs7TUFDWnFFLFlBQVksQ0FBQ3JFLENBQUMsQ0FBQztJQUNuQixDQUFFO0lBQ0Z3RixLQUFLLEVBQUU7TUFDSHFDLFdBQVcsRUFBRTtJQUNqQjtFQUFFLGdCQUVGdkksTUFBQSxDQUFBWSxPQUFBLENBQUEyQyxhQUFBLENBQUNqRCxLQUFBLENBQUFNLE9BQUk7SUFBQzJELEVBQUUsRUFBRTtFQUFXLENBQUMsQ0FDZCxDQUFDLGdCQUVidkUsTUFBQSxDQUFBWSxPQUFBLENBQUEyQyxhQUFBLENBQUNoRCxXQUFBLENBQUFLLE9BQVU7SUFDUDBILE9BQU8sRUFBRzVILENBQUMsSUFBSztNQUNab0UsWUFBWSxDQUFDcEUsQ0FBQyxDQUFDO0lBQ25CLENBQUU7SUFDRndGLEtBQUssRUFBRTtNQUNIcUMsV0FBVyxFQUFFO0lBQ2pCO0VBQUUsZ0JBRUZ2SSxNQUFBLENBQUFZLE9BQUEsQ0FBQTJDLGFBQUEsQ0FBQ2pELEtBQUEsQ0FBQU0sT0FBSTtJQUFDMkQsRUFBRSxFQUFFO0VBQVcsQ0FBQyxDQUNkLENBRW5CLENBQUMsRUFHTmxDLEtBQUssQ0FBQ3lELFFBQVEsaUJBQ2Q5RixNQUFBLENBQUFZLE9BQUEsQ0FBQTJDLGFBQUEsMkJBQ0l2RCxNQUFBLENBQUFZLE9BQUEsQ0FBQTJDLGFBQUEsQ0FBQ2hELFdBQUEsQ0FBQUssT0FBVTtJQUNQMEgsT0FBTyxFQUFHNUgsQ0FBQyxJQUFLO01BQ1oyQixLQUFLLENBQUNtRyxLQUFLLENBQUMsQ0FBQztJQUNqQixDQUFFO0lBQ0Z0QyxLQUFLLEVBQUU7TUFDSHFDLFdBQVcsRUFBRTtJQUNqQjtFQUFFLGdCQUVGdkksTUFBQSxDQUFBWSxPQUFBLENBQUEyQyxhQUFBLENBQUNqRCxLQUFBLENBQUFNLE9BQUk7SUFBQzJELEVBQUUsRUFBRTtFQUFXLENBQUMsQ0FDZCxDQUNYLENBRVIsQ0FDSixDQUVSLENBQ0osQ0FBQyxFQUVGYixRQUVILENBQ0ssQ0FDYixDQUNQLENBQUM7QUFFWCxDQUFDO0FBQUMsSUFBQStFLFFBQUEsR0FBQUMsT0FBQSxDQUFBOUgsT0FBQSxHQUVhNkMsTUFBTSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
431
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3REcmFnZ2FibGUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1BhcGVyIiwiX0ljb24iLCJfSWNvbkJ1dHRvbiIsIl9BcHBsaWNhdGlvbk1hbmFnZXIiLCJfV2luZG93RGlhbG9nIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwidCIsIldlYWtNYXAiLCJyIiwibiIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImhhcyIsImdldCIsInNldCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiX2V4dGVuZHMiLCJhc3NpZ24iLCJiaW5kIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXBwbHkiLCJtaW5pbWl6ZVdpZHRoIiwiTU9CSUxFX0JSRUFLUE9JTlQiLCJpc01vYmlsZVdpZHRoIiwid2luZG93IiwiaW5uZXJXaWR0aCIsIlBhcGVyQ29tcG9uZW50IiwicHJvcHMiLCJub2RlUmVmIiwidXNlUmVmIiwiYm91bmRzIiwic2V0Qm91bmRzIiwidXNlU3RhdGUiLCJsZWZ0IiwicmlnaHQiLCJ0b3AiLCJib3R0b20iLCJoYW5kbGVTdGFydCIsImRhdGEiLCJjb25zb2xlIiwibG9nIiwibm9kZSIsIm9mZnNldFRvcCIsImlubmVySGVpZ2h0IiwiY3JlYXRlRWxlbWVudCIsInJlZiIsIldpbmRvdyIsImNoaWxkcmVuIiwib3BlbiIsIm1pbmltaXphYmxlIiwiZGlzcGxheVN0YXRlIiwic2V0RGlzcGxheVN0YXRlIiwid2luZG93VHJhbnNmb3JtVmFsdWUiLCJzZXRXaW5kb3dUcmFuc2Zvcm1WYWx1ZSIsImlzTW9iaWxlIiwic2V0SXNNb2JpbGUiLCJ1c2VFZmZlY3QiLCJvblJlc2l6ZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiY29sbGFwc2VkIiwibGVmdE9mZnNldFJlZiIsImxlZnRPZmZzZXQiLCJjdXJyZW50IiwiZGlzcGxheVN0YXRlUmVmIiwiYXBwbGljYXRpb25NYW5hZ2VyIiwidXBkYXRlQ29udGV4dCIsIndpbmRvd0Rpc3BsYXlTdGF0ZSIsImFkZEFwcGxpY2F0aW9uQ29udGV4dFN1YnNjcmlwdGlvbiIsImhhbmRsZXIiLCJpZCIsIm9uQ29udGV4dENoYW5nZSIsImNvbnRleHQiLCJuZXdWYWx1ZXMiLCJrZXlzIiwiZmluZCIsImtleSIsIm1heGltaXplVmlldyIsIm1pbmltaXplVmlldyIsInBpblZpZXciLCJ0aGVuIiwiaW5pdGlhbENvbnRleHQiLCJyYWYiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJkaXNwYXRjaEV2ZW50IiwiRXZlbnQiLCJjYW5jZWxBbmltYXRpb25GcmFtZSIsImdldE1pbmltaXplZFN0eWxlIiwidHJhbnNmb3JtIiwiYmFja2dyb3VuZENvbG9yIiwid2lkdGgiLCJtYXhXaWR0aCIsImhlaWdodCIsIm1hcmdpbiIsImdldE1heGltaXplZFN0eWxlIiwicG9zaXRpb24iLCJnZXRDb2xsYXBzZWRTdHlsZSIsIm1pbldpZHRoIiwiYm9yZGVyUmFkaXVzIiwib3ZlcmZsb3ciLCJib3hTaGFkb3ciLCJnZXRQaW5uZWRTdHlsZSIsInVuZGVmaW5lZCIsInBpbm5hYmxlIiwicGFwZXIiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwic3R5bGUiLCJoZWFkZXIiLCJnZXRFbGVtZW50c0J5Q2xhc3NOYW1lIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJjb2xvciIsIm9uUGlubmVkIiwicmVtb3ZlUHJvcGVydHkiLCJib3JkZXIiLCJjdXJzb3IiLCJGcmFnbWVudCIsIm1heEhlaWdodCIsIm92ZXJmbG93WCIsIm92ZXJmbG93WSIsImRpc3BsYXkiLCJkaXNhYmxlRW5mb3JjZUZvY3VzIiwib25DbG9zZSIsImtlZXBNb3VudGVkIiwiaGlkZUJhY2tkcm9wIiwiY2xhc3NOYW1lIiwiY29udGFpbmVyQ2xhc3NOYW1lIiwiUGFwZXJQcm9wcyIsImRpc2FibGVkIiwiY29uY2F0Iiwib25DbGljayIsIm9uUGluIiwibWFyZ2luVG9wIiwibWFyZ2luUmlnaHQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L1dpbmRvdy5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgJy4vV2luZG93LmNzcyc7XG5pbXBvcnQgRHJhZ2dhYmxlIGZyb20gJ3JlYWN0LWRyYWdnYWJsZSc7XG5pbXBvcnQgUGFwZXIgZnJvbSAnQG11aS9tYXRlcmlhbC9QYXBlcic7XG5pbXBvcnQgSWNvbiBmcm9tICcuLi9JY29uJztcbmltcG9ydCBJY29uQnV0dG9uIGZyb20gJ0BtdWkvbWF0ZXJpYWwvSWNvbkJ1dHRvbic7XG5pbXBvcnQgYXBwbGljYXRpb25NYW5hZ2VyIGZyb20gJy4uLy4uL0FwcGxpY2F0aW9uTWFuYWdlcic7XG5pbXBvcnQgV2luZG93RGlhbG9nIGZyb20gXCIuL1dpbmRvd0RpYWxvZ1wiO1xuXG5jb25zdCBtaW5pbWl6ZVdpZHRoID0gJzg0OCc7XG4vLyBCZWxvdyB0aGlzIHZpZXdwb3J0IHdpZHRoIGEgMzIwcHggcGlubmVkIHdpbmRvdyBzd2FsbG93cyB0aGUgd2hvbGUgcGhvbmVcbi8vIHNjcmVlbiwgc28gcGlubmluZyBjb2xsYXBzZXMgdG8gYSBzbWFsbCBmbG9hdGluZyBwaWxsICh1bnBpbiBpY29uIG9ubHkpLlxuY29uc3QgTU9CSUxFX0JSRUFLUE9JTlQgPSA2MDA7XG5jb25zdCBpc01vYmlsZVdpZHRoID0gKCkgPT4gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LmlubmVyV2lkdGggPCBNT0JJTEVfQlJFQUtQT0lOVDtcbmNvbnN0IFBhcGVyQ29tcG9uZW50ID0gKHByb3BzKSA9PiB7XG5cbiAgICBjb25zdCBub2RlUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IFtib3VuZHMsIHNldEJvdW5kc10gPSB1c2VTdGF0ZSh7XG4gICAgICAgIGxlZnQ6IDAsXG4gICAgICAgIHJpZ2h0OiAwLFxuICAgICAgICB0b3A6IDAsXG4gICAgICAgIGJvdHRvbTogMFxuICAgIH0pO1xuXG4gICAgY29uc3QgaGFuZGxlU3RhcnQgPSAoZSwgZGF0YSkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhcIkRSQUcgU1RBUlRcIik7XG4gICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy9jb25zdCB4ID0gZGF0YS5ub2RlLm9mZnNldExlZnQgLSBkYXRhLm5vZGUub2Zmc2V0V2lkdGg7XG4gICAgICAgIGNvbnN0IHRvcCA9IC1kYXRhLm5vZGUub2Zmc2V0VG9wICsgNjQ7XG4gICAgICAgIGNvbnN0IGJvdHRvbSA9IHdpbmRvdy5pbm5lckhlaWdodCAtIChkYXRhLm5vZGUub2Zmc2V0VG9wICsgNjQpO1xuXG4gICAgICAgIHNldEJvdW5kcyh7XG4gICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICB0b3A6IHRvcCxcbiAgICAgICAgICAgIGJvdHRvbTogYm90dG9tXG4gICAgICAgIH0pO1xuXG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxQYXBlciB7Li4ucHJvcHN9IHJlZj17bm9kZVJlZn0vPlxuICAgICAgICAvKjxEcmFnZ2FibGVcbiAgICAgICAgICAgIGRpc2FibGVkPXtwcm9wcy5kaXNhYmxlZH1cbiAgICAgICAgICAgIGJvdW5kcz17Ym91bmRzfVxuICAgICAgICAgICAgb25TdGFydD17aGFuZGxlU3RhcnR9XG4gICAgICAgICAgICBoYW5kbGU9XCIjbWVldGluZy13aW5kb3ctaGVhZGVyXCJcbiAgICAgICAgICAgIGNhbmNlbD17J1tjbGFzcyo9XCJNdWlEaWFsb2dDb250ZW50LXJvb3RcIl0nfVxuICAgICAgICAgICAgbm9kZVJlZj17bm9kZVJlZn1cbiAgICAgICAgPlxuICAgICAgICAgICAgPFBhcGVyIHsuLi5wcm9wc30gcmVmPXtub2RlUmVmfSBzdHlsZT17e21pbldpZHRoOiAnMzIwcHgnfX0vPlxuICAgICAgICA8L0RyYWdnYWJsZT4qL1xuICAgICk7XG59O1xuXG5jb25zdCBXaW5kb3cgPSAocHJvcHMpID0+IHtcblxuICAgIGNvbnN0IHtcbiAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgIG9wZW4sXG4gICAgICAgIG1pbmltaXphYmxlXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IFtkaXNwbGF5U3RhdGUsIHNldERpc3BsYXlTdGF0ZV0gPSB1c2VTdGF0ZShwcm9wcy5kaXNwbGF5U3RhdGUpO1xuICAgIGNvbnN0IFt3aW5kb3dUcmFuc2Zvcm1WYWx1ZSwgc2V0V2luZG93VHJhbnNmb3JtVmFsdWVdID0gdXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3QgW2lzTW9iaWxlLCBzZXRJc01vYmlsZV0gPSB1c2VTdGF0ZShpc01vYmlsZVdpZHRoKCkpO1xuXG4gICAgLy8gVHJhY2sgdmlld3BvcnQgd2lkdGggc28gYSBwaW5uZWQgd2luZG93IGNvbGxhcHNlcy9leHBhbmRzIG9uIHJvdGF0ZS9yZXNpemUuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3Qgb25SZXNpemUgPSAoKSA9PiBzZXRJc01vYmlsZShpc01vYmlsZVdpZHRoKCkpO1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgb25SZXNpemUpO1xuICAgICAgICByZXR1cm4gKCkgPT4gd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIG9uUmVzaXplKTtcbiAgICB9LCBbXSk7XG5cbiAgICAvLyBDb2xsYXBzZWQgPSBwaW5uZWQgb24gYSBwaG9uZTogc2hyaW5rIHRvIGEgcGlsbCwga2VlcCBldmVyeXRoaW5nIG1vdW50ZWQuXG4gICAgY29uc3QgY29sbGFwc2VkID0gaXNNb2JpbGUgJiYgZGlzcGxheVN0YXRlID09PSAnUElOTkVEJztcblxuICAgIC8vIFRoZSBjb250ZXh0IHN1YnNjcmlwdGlvbiBiZWxvdyBpcyByZWdpc3RlcmVkIE9OQ0Ugb24gbW91bnQsIHNvIHRoZVxuICAgIC8vIG1heGltaXplL21pbmltaXplL3BpbiBjbG9zdXJlcyBpdCBjYWxscyB3b3VsZCBvdGhlcndpc2UgY2FwdHVyZSBtb3VudC10aW1lXG4gICAgLy8gcHJvcHMvc3RhdGUuIE1pcnJvciB0aGUgbGl2ZSB2YWx1ZXMgaW50byByZWZzIHNvIHRob3NlIGltcGVyYXRpdmUgaGFuZGxlcnNcbiAgICAvLyBhbHdheXMgcmVhZCB0aGUgQ1VSUkVOVCBkcmF3ZXIgb2Zmc2V0ICsgZGlzcGxheSBzdGF0ZS4gKFdpdGhvdXQgdGhpcyxcbiAgICAvLyBwaW4gLT4gY2xvc2UgZHJhd2VyIC0+IHVucGluIHJlc3RvcmVzIHRoZSB3aW5kb3cgdG8gdGhlIHN0YWxlIG9wZW4tZHJhd2VyXG4gICAgLy8gbGVmdCBvZmZzZXQgaW5zdGVhZCBvZiB0aGUgY29sbGFwc2VkIG1pbmktZHJhd2VyIHBvc2l0aW9uLilcbiAgICBjb25zdCBsZWZ0T2Zmc2V0UmVmID0gdXNlUmVmKHByb3BzLmxlZnRPZmZzZXQpO1xuICAgIGxlZnRPZmZzZXRSZWYuY3VycmVudCA9IHByb3BzLmxlZnRPZmZzZXQ7XG4gICAgY29uc3QgZGlzcGxheVN0YXRlUmVmID0gdXNlUmVmKGRpc3BsYXlTdGF0ZSk7XG4gICAgZGlzcGxheVN0YXRlUmVmLmN1cnJlbnQgPSBkaXNwbGF5U3RhdGU7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAocHJvcHMuZGlzcGxheVN0YXRlKSB7XG4gICAgICAgICAgICBzZXREaXNwbGF5U3RhdGUocHJvcHMuZGlzcGxheVN0YXRlKTtcbiAgICAgICAgICAgIGFwcGxpY2F0aW9uTWFuYWdlci51cGRhdGVDb250ZXh0KHt3aW5kb3dEaXNwbGF5U3RhdGU6IHByb3BzLmRpc3BsYXlTdGF0ZX0pO1xuICAgICAgICB9XG4gICAgfSwgW3Byb3BzLmRpc3BsYXlTdGF0ZV0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLmFkZEFwcGxpY2F0aW9uQ29udGV4dFN1YnNjcmlwdGlvbih7XG4gICAgICAgICAgICBoYW5kbGVyOiB7XG4gICAgICAgICAgICAgICAgZ2V0IGlkKCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3dpbmRvdyc7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBvbkNvbnRleHRDaGFuZ2U6IChjb250ZXh0LCBuZXdWYWx1ZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKE9iamVjdC5rZXlzKG5ld1ZhbHVlcylcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maW5kKChrZXkpID0+IGtleSA9PT0gJ3dpbmRvd0Rpc3BsYXlTdGF0ZScpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnTUlOIDogJyArIG5ld1ZhbHVlcy53aW5kb3dEaXNwbGF5U3RhdGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5ld1ZhbHVlcy53aW5kb3dEaXNwbGF5U3RhdGUgPT09ICdNQVhJTUlaRUQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW1pemVWaWV3KG51bGwsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobmV3VmFsdWVzLndpbmRvd0Rpc3BsYXlTdGF0ZSA9PT0gJ01JTklNSVpFRCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5pbWl6ZVZpZXcobnVsbCwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChuZXdWYWx1ZXMud2luZG93RGlzcGxheVN0YXRlID09PSAnUElOTkVEJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpblZpZXcobnVsbCwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KS50aGVuKChpbml0aWFsQ29udGV4dCkgPT4ge1xuICAgICAgICAgICAgc2V0RGlzcGxheVN0YXRlKGluaXRpYWxDb250ZXh0ID8gaW5pdGlhbENvbnRleHQud2luZG93RGlzcGxheVN0YXRlIDogJ01BWElNSVpFRCcpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICB9O1xuICAgIH0sIFtdKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChkaXNwbGF5U3RhdGUgPT09ICdNQVhJTUlaRUQnKSB7XG4gICAgICAgICAgICBtYXhpbWl6ZVZpZXcobnVsbCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZGlzcGxheVN0YXRlID09PSAnTUlOSU1JWkVEJykge1xuICAgICAgICAgICAgbWluaW1pemVWaWV3KG51bGwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGluVmlldyhudWxsKVxuICAgICAgICB9XG4gICAgICAgIC8vIEFmdGVyIHRoZSBQYXBlciByZXNpemVzLCBudWRnZSB0aGUgY29udGVudCB0byByZS1tZWFzdXJlLiBUaGUgQ0RVSVxuICAgICAgICAvLyB2aWV3IGxheXMgb3V0IGFnYWluc3QgdGhlIGF2YWlsYWJsZSB3aWR0aCBvbmNlIGFuZCBvbmx5IHJlY29tcHV0ZXMgb25cbiAgICAgICAgLy8gYSB3aW5kb3cgcmVzaXplIOKAlCBzbyBNSU7ihpJNQVggKG9yIGEgZHJhd2VyIGZvbGQpIG90aGVyd2lzZSBsZWF2ZXMgaXRcbiAgICAgICAgLy8gc2l6ZWQgdG8gdGhlIHByZXZpb3VzIGRpbWVuc2lvbnMuIHJBRiBsZXRzIHRoZSBuZXcgc2l6ZSBzZXR0bGUgZmlyc3QuXG4gICAgICAgIGNvbnN0IHJhZiA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Jlc2l6ZScpKSk7XG4gICAgICAgIHJldHVybiAoKSA9PiBjYW5jZWxBbmltYXRpb25GcmFtZShyYWYpO1xuICAgICAgICAvLyBSZS1ydW4gb24gbGVmdE9mZnNldCB0b28gc28gYSBtYXhpbWl6ZWQgd2luZG93IHJlLWFsaWducyB3aGVuIHRoZVxuICAgICAgICAvLyBtZW51IGRyYXdlciBmb2xkcy9leHBhbmRzIChkcmF3ZXIgd2lkdGggY2hhbmdlcyDihpIgcmVwb3NpdGlvbikuXG4gICAgfSwgW2Rpc3BsYXlTdGF0ZSwgcHJvcHMubGVmdE9mZnNldF0pO1xuXG4gICAgY29uc3QgZ2V0TWluaW1pemVkU3R5bGUgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoMCwgMCknLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI0ZGRkZGRicsXG4gICAgICAgICAgICB3aWR0aDogbWluaW1pemVXaWR0aCArICdweCcsXG4gICAgICAgICAgICBtYXhXaWR0aDogJ3Vuc2V0JyxcbiAgICAgICAgICAgIGhlaWdodDogJzUwMHB4JyxcbiAgICAgICAgICAgIG1hcmdpbjogJzAgMTZweCAxNnB4IDE2cHgnXG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIGNvbnN0IGdldE1heGltaXplZFN0eWxlID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlKDAsIDApJyxcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJyNGRkZGRkYnLFxuICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAvLyBTaXQganVzdCBiZWxvdyB0aGUgZml4ZWQgZGFzaGJvYXJkIGhlYWRlciAoNjRweCkgc28gdGhlIHdpbmRvd1xuICAgICAgICAgICAgLy8gZG9lc24ndCBlbmNyb2FjaCBvbiBpdC4gRGVjbGFyZWQgaGVyZSBiZWNhdXNlIGdldE1heGltaXplZFN0eWxlIGlzXG4gICAgICAgICAgICAvLyB0aGUgYXV0aG9yaXRhdGl2ZSBpbmxpbmUgc3R5bGUg4oCUIGEgcmVuZGVyIHdpdGggbm8gYHRvcGAgd291bGQgY2xlYXJcbiAgICAgICAgICAgIC8vIGFueSBpbXBlcmF0aXZlbHktc2V0IHZhbHVlIGFuZCBmYWxsIGJhY2sgdG8gdGhlIDQwcHggY2xhc3MuXG4gICAgICAgICAgICB0b3A6ICc2NHB4JyxcbiAgICAgICAgICAgIGxlZnQ6IHByb3BzLmxlZnRPZmZzZXQsXG4gICAgICAgICAgICByaWdodDogJ3Vuc2V0JyxcbiAgICAgICAgICAgIC8vIE1pcnJvciB0aGUgbWFpbiBWaWV3UG9ydDogc3RhcnQgYXQgdGhlIGRyYXdlciB3aWR0aCwgbGVhdmUgYSAxMnB4XG4gICAgICAgICAgICAvLyByaWdodCBnYXAuIEV4cGxpY2l0IHdpZHRoIChub3QgJ3Vuc2V0Jykgc28gdGhlIGNvbnRlbnQgYWx3YXlzXG4gICAgICAgICAgICAvLyByZWZsb3dzIHRvIGZ1bGwgc2l6ZSDigJQgZml4ZXMgdGhlIE1JTuKGkk1BWCBcInN0dWNrIHNocnVua1wiIGJ1Zy5cbiAgICAgICAgICAgIHdpZHRoOiAnY2FsYygxMDAlIC0gJyArIHByb3BzLmxlZnRPZmZzZXQgKyAnIC0gMTJweCknLFxuICAgICAgICAgICAgbWF4V2lkdGg6ICd1bnNldCcsXG4gICAgICAgICAgICBoZWlnaHQ6ICdjYWxjKDEwMCUgLSA4OHB4KScsXG4gICAgICAgICAgICBtYXJnaW46ICcwJ1xuICAgICAgICB9O1xuICAgIH07XG5cbiAgICAvLyBBIHNtYWxsIGZsb2F0aW5nIHBpbGwgaW4gdGhlIGJvdHRvbS1yaWdodCB0aGF0IHNob3dzIG9ubHkgdGhlIHVucGluIGljb24uXG4gICAgLy8gTm90aGluZyBpcyB1bm1vdW50ZWQg4oCUIHRoZSBtZWV0aW5nIGNvbnRlbnQgKGFuZCBpdHMgbWVkaWEgc3RyZWFtcyArIGV2ZW50XG4gICAgLy8gc3Vic2NyaXB0aW9ucykgc3RheXMgaW4gdGhlIERPTSBiZWhpbmQgaXQsIGp1c3QgaGlkZGVuIHZpYSBkaXNwbGF5Om5vbmUuXG4gICAgY29uc3QgZ2V0Q29sbGFwc2VkU3R5bGUgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoMCwgMCknLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI0ZGRkZGRicsXG4gICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICAgIHRvcDogJ3Vuc2V0JyxcbiAgICAgICAgICAgIGxlZnQ6ICd1bnNldCcsXG4gICAgICAgICAgICByaWdodDogJzEycHgnLFxuICAgICAgICAgICAgYm90dG9tOiAnMTJweCcsXG4gICAgICAgICAgICB3aWR0aDogJzU2cHgnLFxuICAgICAgICAgICAgbWluV2lkdGg6ICc1NnB4JyxcbiAgICAgICAgICAgIG1heFdpZHRoOiAnNTZweCcsXG4gICAgICAgICAgICBoZWlnaHQ6ICc1NnB4JyxcbiAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzI4cHgnLFxuICAgICAgICAgICAgbWFyZ2luOiAnMCcsXG4gICAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgICBib3hTaGFkb3c6ICcwIDRweCAxNnB4IHJnYmEoMCwwLDAsMC4zMiknXG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIGNvbnN0IGdldFBpbm5lZFN0eWxlID0gKCkgPT4ge1xuICAgICAgICBpZiAoaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXRDb2xsYXBzZWRTdHlsZSgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoMCwgMCknLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI0ZGRkZGRicsXG4gICAgICAgICAgICB3aWR0aDogJzMyMHB4JyxcbiAgICAgICAgICAgIGhlaWdodDogJ2NhbGMoMTAwJSAtIDg4cHgpJyxcbiAgICAgICAgICAgIG1hcmdpbjogJzAgOHB4J1xuICAgICAgICB9O1xuICAgIH07XG5cbiAgICBjb25zdCBwaW5WaWV3ID0gKGUsIHVwZGF0ZUNvbnRleHQgPSB0cnVlKSA9PiB7XG4gICAgICAgIGlmIChwcm9wcy5waW5uYWJsZSkge1xuICAgICAgICAgICAgbGV0IHBhcGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21lZXRpbmdEaWFsb2dQYXBlcicpO1xuICAgICAgICAgICAgaWYgKHBhcGVyKSB7XG4gICAgICAgICAgICAgICAgaWYgKHdpbmRvd1RyYW5zZm9ybVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLnRyYW5zZm9ybSA9IHdpbmRvd1RyYW5zZm9ybVZhbHVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChpc01vYmlsZVdpZHRoKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ29sbGFwc2UgdG8gYSBib3R0b20tcmlnaHQgcGlsbC4gQ29udGVudCBzdGF5cyBtb3VudGVkIChoaWRkZW5cbiAgICAgICAgICAgICAgICAgICAgLy8gdmlhIGRpc3BsYXk6bm9uZSBpbiByZW5kZXIpLCBzbyBzdHJlYW1zL2xpc3RlbmVycyBhcmUgdW50b3VjaGVkLlxuICAgICAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS53aWR0aCA9ICc1NnB4JztcbiAgICAgICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUubWluV2lkdGggPSAnNTZweCc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLm1heFdpZHRoID0gJzU2cHgnO1xuICAgICAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS5oZWlnaHQgPSAnNTZweCc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLmJvcmRlclJhZGl1cyA9ICcyOHB4JztcbiAgICAgICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUuYm94U2hhZG93ID0gJzAgNHB4IDE2cHggcmdiYSgwLDAsMCwwLjMyKSc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLmxlZnQgPSAndW5zZXQnO1xuICAgICAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS5yaWdodCA9ICcxMnB4JztcbiAgICAgICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUudG9wID0gJ3Vuc2V0JztcbiAgICAgICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUuYm90dG9tID0gJzEycHgnO1xuICAgICAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLm1hcmdpbiA9ICcwJztcbiAgICAgICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS53aWR0aCA9ICczMjJweCc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLmhlaWdodCA9ICdjYWxjKDEwMCUgLSA4MHB4KSc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLmJveFNoYWRvdyA9ICd1bnNldCc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLmJvcmRlclJhZGl1cyA9ICc0cHgnO1xuICAgICAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS5sZWZ0ID0gJ3Vuc2V0JztcbiAgICAgICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUucmlnaHQgPSAnNHB4JztcbiAgICAgICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS50b3AgPSAnMzJweCc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLmJvdHRvbSA9ICd1bnNldCc7XG4gICAgICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLm1hcmdpbiA9ICczMnB4IDAnO1xuICAgICAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS5tYXhXaWR0aCA9ICd1bnNldCc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGV0IGhlYWRlciA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2RpYWxvZ0hlYWRlcicpWzBdO1xuICAgICAgICAgICAgICAgIGhlYWRlci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYnV0dG9uJylbMF0uc3R5bGUuY29sb3IgPSAnIzAwMDAwMCc7XG5cbiAgICAgICAgICAgICAgICBpZiAoZGlzcGxheVN0YXRlUmVmLmN1cnJlbnQgIT09ICdQSU5ORUQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHNldERpc3BsYXlTdGF0ZSgnUElOTkVEJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHVwZGF0ZUNvbnRleHQpIHtcbiAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLnVwZGF0ZUNvbnRleHQoe3dpbmRvd0Rpc3BsYXlTdGF0ZTogJ1BJTk5FRCd9LCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcHJvcHMub25QaW5uZWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBtaW5pbWl6ZVZpZXcgPSAoZSwgdXBkYXRlQ29udGV4dCA9IHRydWUpID0+IHtcbiAgICAgICAgaWYgKG1pbmltaXphYmxlKSB7XG4gICAgICAgICAgICBsZXQgcGFwZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWVldGluZ0RpYWxvZ1BhcGVyJyk7XG4gICAgICAgICAgICBpZiAocGFwZXIpIHtcbiAgICAgICAgICAgICAgICBpZiAod2luZG93VHJhbnNmb3JtVmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUudHJhbnNmb3JtID0gd2luZG93VHJhbnNmb3JtVmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tUGFwZXItc2hhZG93Jyk7XG4gICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUuYm94U2hhZG93ID0gJ3Vuc2V0JztcbiAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS53aWR0aCA9IG1pbmltaXplV2lkdGggKyAncHgnO1xuICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLmhlaWdodCA9ICc1MDBweCc7XG4gICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUubWFyZ2luID0gJzAgMTZweCAxNnB4IDE2cHgnO1xuICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLnBvc2l0aW9uID0gJ3JlbGF0aXZlJztcbiAgICAgICAgICAgICAgICBwYXBlci5zdHlsZS5ib3JkZXIgPSAndW5zZXQnO1xuICAgICAgICAgICAgICAgIC8vIENsZWFyIGxlZnRvdmVyIG1vYmlsZSBjb2xsYXBzZWQtcGlsbCBzdHlsZXMuXG4gICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUucmVtb3ZlUHJvcGVydHkoJ21pbi13aWR0aCcpO1xuICAgICAgICAgICAgICAgIHBhcGVyLnN0eWxlLnJlbW92ZVByb3BlcnR5KCdib3JkZXItcmFkaXVzJyk7XG4gICAgICAgICAgICAgICAgcGFwZXIuc3R5bGUucmVtb3ZlUHJvcGVydHkoJ2JvdHRvbScpO1xuXG4gICAgICAgICAgICAgICAgbGV0IGhlYWRlciA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2RpYWxvZ0hlYWRlcicpWzBdO1xuICAgICAgICAgICAgICAgIGhlYWRlci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYnV0dG9uJylbMF0uc3R5bGUuY29sb3IgPSAnIzAwMDAwMCc7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21lZXRpbmctd2luZG93LWhlYWRlcicpLnN0eWxlLmN1cnNvciA9ICdtb3ZlJztcblxuICAgICAgICAgICAgICAgIGlmIChkaXNwbGF5U3RhdGVSZWYuY3VycmVudCAhPT0gJ01JTklNSVpFRCcpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0RGlzcGxheVN0YXRlKCdNSU5JTUlaRUQnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodXBkYXRlQ29udGV4dCkge1xuICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIudXBkYXRlQ29udGV4dCh7d2luZG93RGlzcGxheVN0YXRlOiAnTUlOSU1JWkVEJ30sIGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgbWF4aW1pemVWaWV3ID0gKGUsIHVwZGF0ZUNvbnRleHQgPSB0cnVlKSA9PiB7XG4gICAgICAgIGxldCBwYXBlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtZWV0aW5nRGlhbG9nUGFwZXInKTtcbiAgICAgICAgaWYgKHBhcGVyKSB7XG4gICAgICAgICAgICBzZXRXaW5kb3dUcmFuc2Zvcm1WYWx1ZShwYXBlci5zdHlsZS50cmFuc2Zvcm0pO1xuICAgICAgICAgICAgcGFwZXIuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tUGFwZXItc2hhZG93Jyk7XG4gICAgICAgICAgICBwYXBlci5zdHlsZS5ib3hTaGFkb3cgPSAndW5zZXQnO1xuICAgICAgICAgICAgcGFwZXIuc3R5bGUudHJhbnNmb3JtID0gJ3RyYW5zbGF0ZSgwLCAwKSc7XG4gICAgICAgICAgICBwYXBlci5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAnI0ZGRkZGRic7XG4gICAgICAgICAgICAvLyBFeHBsaWNpdCB3aWR0aCB0aWVkIHRvIHRoZSBkcmF3ZXIgb2Zmc2V0IChtaXJyb3JzIHRoZSBtYWluXG4gICAgICAgICAgICAvLyBWaWV3UG9ydCkuIE5PVCAndW5zZXQnIOKAlCBhIGNvbnRlbnQtc2l6ZWQgYXV0byB3aWR0aCBpcyB3aGF0IGtlZXBzXG4gICAgICAgICAgICAvLyB0aGUgd2luZG93IHNocnVuayBhZnRlciBNSU7ihpJNQVguXG4gICAgICAgICAgICBwYXBlci5zdHlsZS53aWR0aCA9ICdjYWxjKDEwMCUgLSAnICsgbGVmdE9mZnNldFJlZi5jdXJyZW50ICsgJyAtIDEycHgpJztcbiAgICAgICAgICAgIHBhcGVyLnN0eWxlLm1heFdpZHRoID0gJ3Vuc2V0JztcbiAgICAgICAgICAgIHBhcGVyLnN0eWxlLmhlaWdodCA9ICdjYWxjKDEwMCUgLSA4OHB4KSc7XG4gICAgICAgICAgICBwYXBlci5zdHlsZS5tYXJnaW4gPSAnMCc7XG4gICAgICAgICAgICBwYXBlci5zdHlsZS5yaWdodCA9ICd1bnNldCc7XG4gICAgICAgICAgICBwYXBlci5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgICAgICAgICBwYXBlci5zdHlsZS50b3AgPSAnNjRweCc7XG4gICAgICAgICAgICAvLyBMZWZ0IGVkZ2UgPSB0aGUgbWVudSBkcmF3ZXIgd2lkdGggKGZvbGRzIGluIHJlYWwgdGltZSwgcmVhZCBmcm9tIGFcbiAgICAgICAgICAgIC8vIHJlZiBzbyB0aGUgb25jZS1yZWdpc3RlcmVkIGNvbnRleHQgc3Vic2NyaXB0aW9uIGlzbid0IHN0YWxlKSwgbm90XG4gICAgICAgICAgICAvLyB0aGUgc3RhdGljIC5zaWRlYmFyIGxvb2t1cC5cbiAgICAgICAgICAgIHBhcGVyLnN0eWxlLmxlZnQgPSBsZWZ0T2Zmc2V0UmVmLmN1cnJlbnQ7XG4gICAgICAgICAgICAvLyBDbGVhciBhbnkgbGVmdG92ZXIgc3R5bGVzIGZyb20gdGhlIG1vYmlsZSBjb2xsYXBzZWQgcGlsbCBzbyB0aGVcbiAgICAgICAgICAgIC8vIHJlc3RvcmVkIHdpbmRvdyBpc24ndCBzdHVjayByb3VuZGVkL3RpbnkuXG4gICAgICAgICAgICBwYXBlci5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnbWluLXdpZHRoJyk7XG4gICAgICAgICAgICBwYXBlci5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnYm9yZGVyLXJhZGl1cycpO1xuICAgICAgICAgICAgcGFwZXIuc3R5bGUucmVtb3ZlUHJvcGVydHkoJ2JvdHRvbScpO1xuXG4gICAgICAgICAgICBsZXQgaGVhZGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnZGlhbG9nSGVhZGVyJylbMF07XG4gICAgICAgICAgICBoZWFkZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpWzBdLnN0eWxlLmNvbG9yID0gJ3JnYmEoMCwgMCwgMCwgMC41NCknO1xuICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21lZXRpbmctd2luZG93LWhlYWRlcicpLnN0eWxlLmN1cnNvciA9ICdkZWZhdWx0JztcblxuICAgICAgICAgICAgaWYgKGRpc3BsYXlTdGF0ZVJlZi5jdXJyZW50ICE9PSAnTUFYSU1JWkVEJykge1xuICAgICAgICAgICAgICAgIHNldERpc3BsYXlTdGF0ZSgnTUFYSU1JWkVEJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh1cGRhdGVDb250ZXh0KSB7XG4gICAgICAgICAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLnVwZGF0ZUNvbnRleHQoe3dpbmRvd0Rpc3BsYXlTdGF0ZTogJ01BWElNSVpFRCd9LCBmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICAgICAgICAgIG1heEhlaWdodDogJzEwMCUnLFxuICAgICAgICAgICAgICAgIG92ZXJmbG93WDogJ2hpZGRlbicsXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3dZOiAnYXV0bycsXG4gICAgICAgICAgICAgICAgZGlzcGxheTogJ25vbmUnLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAnIzAwMDAwMCdcbiAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgIDxXaW5kb3dEaWFsb2dcbiAgICAgICAgICAgICAgICAgICAgbGVmdE9mZnNldD17cHJvcHMubGVmdE9mZnNldH1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZUVuZm9yY2VGb2N1c1xuICAgICAgICAgICAgICAgICAgICBvcGVuPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICBvbkNsb3NlPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMub25DbG9zZSgpO1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICBrZWVwTW91bnRlZFxuICAgICAgICAgICAgICAgICAgICBoaWRlQmFja2Ryb3A9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT1cIm1lZXRpbmctd2luZG93LXRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT1cIm1lZXRpbmctd2luZG93LWRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtwcm9wcy5jb250YWluZXJDbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgICAgIFBhcGVyQ29tcG9uZW50PXtQYXBlckNvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgUGFwZXJQcm9wcz17e1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdtZWV0aW5nRGlhbG9nUGFwZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBkaXNwbGF5U3RhdGUgPT09ICdNSU5JTUlaRUQnID8gJ3dpbmRvdy1wYXBlci1taW4nIDogZGlzcGxheVN0YXRlID09PSAnTUFYSU1JWkVEJyA/ICd3aW5kb3ctcGFwZXItbWF4JyA6ICd3aW5kb3ctcGFwZXItcGlubmVkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBkaXNwbGF5U3RhdGUgPT09ICdNQVhJTUlaRUQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IGRpc3BsYXlTdGF0ZSA9PT0gJ01JTklNSVpFRCcgPyBnZXRNaW5pbWl6ZWRTdHlsZSgpIDogZGlzcGxheVN0YXRlID09PSAnTUFYSU1JWkVEJyA/IGdldE1heGltaXplZFN0eWxlKCkgOiBnZXRQaW5uZWRTdHlsZSgpXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPXsnd2luZG93LWNvbnRlbnQnfSBzdHlsZT17e292ZXJmbG93OiAnaGlkZGVuJ319XG4gICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHsoZGlzcGxheVN0YXRlID09PSAnUElOTkVEJyA/ICd3aW5kb3ctcGlubmVkICcgOiAnJykgKyAndy0xMDAgaC0xMDAnfWB9PlxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbGxhcHNlZCBwaWxsOiB0aGUgT05MWSB2aXNpYmxlIGNvbnRyb2wgaXMgdW5waW4gKHJlc3RvcmVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlIHdpbmRvdykuIEV2ZXJ5dGhpbmcgZWxzZSBzdGF5cyBtb3VudGVkIGJlbG93LCBoaWRkZW4uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sbGFwc2VkICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHByb3BzLm9uUGluKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJVbnBpbiBtZWV0aW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3t3aWR0aDogJzU2cHgnLCBoZWlnaHQ6ICc1NnB4JywgY29sb3I6ICcjMDAwMDAwJ319XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SWNvbiBpZD17J01BWElNSVpFJ30vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3t3aWR0aDogJzEwMCUnLCBoZWlnaHQ6ICcxMDAlJywgZGlzcGxheTogY29sbGFwc2VkID8gJ25vbmUnIDogJ2Jsb2NrJ319PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydtZWV0aW5nLXdpbmRvdy1oZWFkZXInfSBpZD1cIm1lZXRpbmctd2luZG93LWhlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlTdGF0ZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnNDhweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnNDhweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAnLTJweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZGlhbG9nSGVhZGVyIHJvdyd9IHN0eWxlPXt7bWFyZ2luVG9wOiAnMjRweCd9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW1pemFibGUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5U3RhdGUgPT09ICdNQVhJTUlaRUQnID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW1pemVWaWV3KGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luUmlnaHQ6ICc0cHgnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SWNvbiBpZD17J01JTklNSVpFJ30vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhpbWl6ZVZpZXcoZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5SaWdodDogJzRweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uIGlkPXsnTUFYSU1JWkUnfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMucGlubmFibGUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLm9uUGluKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5SaWdodDogJzRweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uIGlkPXsnTUFYSU1JWkUnfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvV2luZG93RGlhbG9nPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvPlxuICAgICk7XG59O1xuXG5l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QU07RUFBRSxHQUV2RG5GLFdBQVcsaUJBQ1gvRCxNQUFBLENBQUFZLE9BQUEsQ0FBQThDLGFBQUEsY0FFUU0sWUFBWSxLQUFLLFdBQVcsZ0JBQ3hCaEUsTUFBQSxDQUFBWSxPQUFBLENBQUE4QyxhQUFBLENBQUNuRCxXQUFBLENBQUFLLE9BQVU7SUFDUG9JLE9BQU8sRUFBR3RJLENBQUMsSUFBSztNQUNaa0YsWUFBWSxDQUFDbEYsQ0FBQyxDQUFDO0lBQ25CLENBQUU7SUFDRitHLEtBQUssRUFBRTtNQUNIMEIsV0FBVyxFQUFFO0lBQ2pCO0VBQUUsZ0JBRUZuSixNQUFBLENBQUFZLE9BQUEsQ0FBQThDLGFBQUEsQ0FBQ3BELEtBQUEsQ0FBQU0sT0FBSTtJQUFDd0UsRUFBRSxFQUFFO0VBQVcsQ0FBQyxDQUNkLENBQUMsZ0JBRWJwRixNQUFBLENBQUFZLE9BQUEsQ0FBQThDLGFBQUEsQ0FBQ25ELFdBQUEsQ0FBQUssT0FBVTtJQUNQb0ksT0FBTyxFQUFHdEksQ0FBQyxJQUFLO01BQ1ppRixZQUFZLENBQUNqRixDQUFDLENBQUM7SUFDbkIsQ0FBRTtJQUNGK0csS0FBSyxFQUFFO01BQ0gwQixXQUFXLEVBQUU7SUFDakI7RUFBRSxnQkFFRm5KLE1BQUEsQ0FBQVksT0FBQSxDQUFBOEMsYUFBQSxDQUFDcEQsS0FBQSxDQUFBTSxPQUFJO0lBQUN3RSxFQUFFLEVBQUU7RUFBVyxDQUFDLENBQ2QsQ0FFbkIsQ0FBQyxFQUdOM0MsS0FBSyxDQUFDNEUsUUFBUSxpQkFDZHJILE1BQUEsQ0FBQVksT0FBQSxDQUFBOEMsYUFBQSwyQkFDSTFELE1BQUEsQ0FBQVksT0FBQSxDQUFBOEMsYUFBQSxDQUFDbkQsV0FBQSxDQUFBSyxPQUFVO0lBQ1BvSSxPQUFPLEVBQUd0SSxDQUFDLElBQUs7TUFDWitCLEtBQUssQ0FBQ3dHLEtBQUssQ0FBQyxDQUFDO0lBQ2pCLENBQUU7SUFDRnhCLEtBQUssRUFBRTtNQUNIMEIsV0FBVyxFQUFFO0lBQ2pCO0VBQUUsZ0JBRUZuSixNQUFBLENBQUFZLE9BQUEsQ0FBQThDLGFBQUEsQ0FBQ3BELEtBQUEsQ0FBQU0sT0FBSTtJQUFDd0UsRUFBRSxFQUFFO0VBQVcsQ0FBQyxDQUNkLENBQ1gsQ0FFUixDQUNKLENBRVIsQ0FDSixDQUFDLEVBRUZ2QixRQUVDLENBQ0osQ0FDSyxDQUNiLENBQ1AsQ0FBQztBQUVYLENBQUM7QUFBQyxJQUFBdUYsUUFBQSxHQUFBQyxPQUFBLENBQUF6SSxPQUFBLEdBRWFnRCxNQUFNIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -25,13 +25,16 @@ const withStyledDialog = Component => (0, _withStyles.default)(theme => ({
|
|
|
25
25
|
pointerEvents: "auto",
|
|
26
26
|
width: "100%",
|
|
27
27
|
maxWidth: "100%",
|
|
28
|
-
height: "calc(100% -
|
|
28
|
+
height: "calc(100% - 108px)",
|
|
29
29
|
position: "absolute",
|
|
30
30
|
overflow: 'hidden',
|
|
31
|
-
|
|
31
|
+
marginLeft: "4px !important",
|
|
32
32
|
bottom: 0,
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
// Left edge tracks the menu drawer width (passed through from
|
|
34
|
+
// WindowViewPort → Window). Falls back to the old static value if a
|
|
35
|
+
// caller doesn't supply leftOffset.
|
|
36
|
+
left: props.leftOffset != null ? props.leftOffset : '164px',
|
|
37
|
+
top: '64px',
|
|
35
38
|
boxShadow: "none",
|
|
36
39
|
zIndex: 0,
|
|
37
40
|
"@media (max-width:991px)": {
|
|
@@ -57,4 +60,4 @@ const WindowDialog = props => {
|
|
|
57
60
|
return /*#__PURE__*/_react.default.createElement(StyledDialog, props);
|
|
58
61
|
};
|
|
59
62
|
var _default = exports.default = WindowDialog;
|
|
60
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfd2l0aFN0eWxlcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfRGlhbG9nIiwiX2V4Y2x1ZGVkIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwidCIsIldlYWtNYXAiLCJyIiwibiIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImhhcyIsImdldCIsInNldCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiX2V4dGVuZHMiLCJhc3NpZ24iLCJiaW5kIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXBwbHkiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZSIsImdldE93blByb3BlcnR5U3ltYm9scyIsImluZGV4T2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIndpdGhTdHlsZWREaWFsb2ciLCJDb21wb25lbnQiLCJ3aXRoU3R5bGVzIiwidGhlbWUiLCJyb290IiwicG9pbnRlckV2ZW50cyIsInpJbmRleCIsImxlZnQiLCJib3JkZXJSYWRpdXMiLCJwb3NpdGlvbiIsInBhcGVyIiwicHJvcHMiLCJ3aWR0aCIsIm1heFdpZHRoIiwiaGVpZ2h0Iiwib3ZlcmZsb3ciLCJtYXJnaW5MZWZ0IiwiYm90dG9tIiwibGVmdE9mZnNldCIsInRvcCIsImJveFNoYWRvdyIsIl9yZWYiLCJjbGFzc2VzIiwiY3JlYXRlRWxlbWVudCIsIlN0eWxlZERpYWxvZyIsIkRpYWxvZyIsIldpbmRvd0RpYWxvZyIsInVzZUVmZmVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvV2luZG93RGlhbG9nLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHt1c2VFZmZlY3R9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHdpdGhTdHlsZXMgZnJvbSAnQG11aS9zdHlsZXMvd2l0aFN0eWxlcyc7XG5pbXBvcnQgRGlhbG9nIGZyb20gXCJAbXVpL21hdGVyaWFsL0RpYWxvZ1wiO1xuXG5jb25zdCB3aXRoU3R5bGVkRGlhbG9nID0gKENvbXBvbmVudCkgPT5cbiAgICB3aXRoU3R5bGVzKCh0aGVtZSkgPT4gKHtcbiAgICAgICAgcm9vdDoge1xuICAgICAgICAgICAgcG9pbnRlckV2ZW50czogXCJub25lXCIsXG4gICAgICAgICAgICB6SW5kZXg6IDAsXG4gICAgICAgICAgICBsZWZ0OiAndW5zZXQnLFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICAgICAgICAgIHBvc2l0aW9uOiAndW5zZXQnXG4gICAgICAgIH0sXG4gICAgICAgIHBhcGVyOiAocHJvcHMpID0+ICh7XG4gICAgICAgICAgICBwb2ludGVyRXZlbnRzOiBcImF1dG9cIixcbiAgICAgICAgICAgIHdpZHRoOiBgMTAwJWAsXG4gICAgICAgICAgICBtYXhXaWR0aDogXCIxMDAlXCIsXG4gICAgICAgICAgICBoZWlnaHQ6IFwiY2FsYygxMDAlIC0gMTA4cHgpXCIsXG4gICAgICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICAgICAgbWFyZ2luTGVmdDogXCI0cHggIWltcG9ydGFudFwiLFxuICAgICAgICAgICAgYm90dG9tOiAwLFxuICAgICAgICAgICAgLy8gTGVmdCBlZGdlIHRyYWNrcyB0aGUgbWVudSBkcmF3ZXIgd2lkdGggKHBhc3NlZCB0aHJvdWdoIGZyb21cbiAgICAgICAgICAgIC8vIFdpbmRvd1ZpZXdQb3J0IOKGkiBXaW5kb3cpLiBGYWxscyBiYWNrIHRvIHRoZSBvbGQgc3RhdGljIHZhbHVlIGlmIGFcbiAgICAgICAgICAgIC8vIGNhbGxlciBkb2Vzbid0IHN1cHBseSBsZWZ0T2Zmc2V0LlxuICAgICAgICAgICAgbGVmdDogcHJvcHMubGVmdE9mZnNldCAhPSBudWxsID8gcHJvcHMubGVmdE9mZnNldCA6ICcxNjRweCcsXG4gICAgICAgICAgICB0b3A6ICc2NHB4JyxcbiAgICAgICAgICAgIGJveFNoYWRvdzogXCJub25lXCIsXG4gICAgICAgICAgICB6SW5kZXg6IDAsXG4gICAgICAgICAgICBcIkBtZWRpYSAobWF4LXdpZHRoOjk5MXB4KVwiOiB7XG4gICAgICAgICAgICAgICAgbWF4V2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgfSkpKCh7IGNsYXNzZXMsIGxlZnRPZmZzZXQsIC4uLnByb3BzIH0pID0+IChcbiAgICAgICAgPENvbXBvbmVudFxuICAgICAgICAgICAgey4uLnByb3BzfVxuICAgICAgICAgICAgY2xhc3Nlcz17eyBwYXBlcjogY2xhc3Nlcy5wYXBlciwgcm9vdDogY2xhc3Nlcy5yb290IH19XG4gICAgICAgIC8+XG4gICAgKSk7XG5cbmNvbnN0IFN0eWxlZERpYWxvZyA9IHdpdGhTdHlsZWREaWFsb2coRGlhbG9nKTtcblxuY29uc3QgV2luZG93RGlhbG9nID0gKHByb3BzKSA9PiB7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICB9LCBbXSk7XG4gICAgcmV0dXJuIDxTdHlsZWREaWFsb2cgey4uLnByb3BzfSAvPjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFdpbmRvd0RpYWxvZztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsT0FBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQTBDLE1BQUFJLFNBQUE7QUFBQSxTQUFBRix1QkFBQUcsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtB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QkFBVSxFQUFFQyxLQUFLLEtBQU07RUFDbkJDLElBQUksRUFBRTtJQUNGQyxhQUFhLEVBQUUsTUFBTTtJQUNyQkMsTUFBTSxFQUFFLENBQUM7SUFDVEMsSUFBSSxFQUFFLE9BQU87SUFDYkMsWUFBWSxFQUFFLEtBQUs7SUFDbkJDLFFBQVEsRUFBRTtFQUNkLENBQUM7RUFDREMsS0FBSyxFQUFHQyxLQUFLLEtBQU07SUFDZk4sYUFBYSxFQUFFLE1BQU07SUFDckJPLEtBQUssUUFBUTtJQUNiQyxRQUFRLEVBQUUsTUFBTTtJQUNoQkMsTUFBTSxFQUFFLG9CQUFvQjtJQUM1QkwsUUFBUSxFQUFFLFVBQVU7SUFDcEJNLFFBQVEsRUFBRSxRQUFRO0lBQ2xCQyxVQUFVLEVBQUUsZ0JBQWdCO0lBQzVCQyxNQUFNLEVBQUUsQ0FBQztJQUNUO0lBQ0E7SUFDQTtJQUNBVixJQUFJLEVBQUVJLEtBQUssQ0FBQ08sVUFBVSxJQUFJLElBQUksR0FBR1AsS0FBSyxDQUFDTyxVQUFVLEdBQUcsT0FBTztJQUMzREMsR0FBRyxFQUFFLE1BQU07SUFDWEMsU0FBUyxFQUFFLE1BQU07SUFDakJkLE1BQU0sRUFBRSxDQUFDO0lBQ1QsMEJBQTBCLEVBQUU7TUFDeEJPLFFBQVEsRUFBRTtJQUNkO0VBQ0osQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUNRLElBQUE7RUFBQSxJQUFDO01BQUVDLE9BQU87TUFBRUo7SUFBcUIsQ0FBQyxHQUFBRyxJQUFBO0lBQVBWLEtBQUssR0FBQWhCLHdCQUFBLENBQUEwQixJQUFBLEVBQUFwRCxTQUFBO0VBQUEsb0JBQ2hDTixNQUFBLENBQUFTLE9BQUEsQ0FBQW1ELGFBQUEsQ0FBQ3RCLFNBQVMsRUFBQVosUUFBQSxLQUNGc0IsS0FBSztJQUNUVyxPQUFPLEVBQUU7TUFBRVosS0FBSyxFQUFFWSxPQUFPLENBQUNaLEtBQUs7TUFBRU4sSUFBSSxFQUFFa0IsT0FBTyxDQUFDbEI7SUFBSztFQUFFLEVBQ3pELENBQUM7QUFBQSxDQUNMLENBQUM7QUFFTixNQUFNb0IsWUFBWSxHQUFHeEIsZ0JBQWdCLENBQUN5QixlQUFNLENBQUM7QUFFN0MsTUFBTUMsWUFBWSxHQUFJZixLQUFLLElBQUs7RUFDNUIsSUFBQWdCLGdCQUFTLEVBQUMsTUFBTSxDQUNoQixDQUFDLEVBQUUsRUFBRSxDQUFDO0VBQ04sb0JBQU9oRSxNQUFBLENBQUFTLE9BQUEsQ0FBQW1ELGFBQUEsQ0FBQ0MsWUFBWSxFQUFLYixLQUFRLENBQUM7QUFDdEMsQ0FBQztBQUFDLElBQUFpQixRQUFBLEdBQUFDLE9BQUEsQ0FBQXpELE9BQUEsR0FFYXNELFlBQVkiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -63,12 +63,18 @@ const WindowViewContainer = props => {
|
|
|
63
63
|
windowLeftOffset = windowLeftOffsetParam.value;
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
|
+
|
|
67
|
+
// Track the menu drawer width (passed from the dashboard: DRAWER_WIDTH
|
|
68
|
+
// open / MINI_WIDTH collapsed) so the overlay aligns with the main
|
|
69
|
+
// ViewPort instead of sitting at a static offset. A per-view
|
|
70
|
+
// windowLeftOffset parameter still wins when present.
|
|
71
|
+
const drawerOffset = props.menuOffset != null ? props.menuOffset + 'px' : '320px';
|
|
66
72
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, view && /*#__PURE__*/_react.default.createElement(_Window.default, {
|
|
67
73
|
pinnable: true,
|
|
68
74
|
minimizable: false,
|
|
69
75
|
open: true,
|
|
70
76
|
displayState: defaultDisplayState,
|
|
71
|
-
leftOffset: windowLeftOffset ||
|
|
77
|
+
leftOffset: windowLeftOffset || drawerOffset,
|
|
72
78
|
onPinned: () => {
|
|
73
79
|
if (!pinned) {
|
|
74
80
|
setPinned(true);
|
|
@@ -93,4 +99,4 @@ const WindowViewContainer = props => {
|
|
|
93
99
|
return renderView();
|
|
94
100
|
};
|
|
95
101
|
var _default = exports.default = WindowViewContainer;
|
|
96
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfV2luZG93IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9WaWV3IiwiX0FwcGxpY2F0aW9uTWFuYWdlciIsIl9JY29uIiwiX0ljb25CdXR0b24iLCJfVXRpbHMiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiaGFzIiwiZ2V0Iiwic2V0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJXaW5kb3dWaWV3Q29udGFpbmVyIiwicHJvcHMiLCJ2aWV3Iiwic2V0VmlldyIsIlJlYWN0IiwidXNlU3RhdGUiLCJwaW5uZWQiLCJzZXRQaW5uZWQiLCJkZWZhdWx0RGlzcGxheVN0YXRlIiwic2V0RGVmYXVsdERpc3BsYXlTdGF0ZSIsImNvdW50ZXIiLCJ1c2VSZWYiLCJsb2FkVmlldyIsImNvbnRleHQiLCJrZXlzIiwiZmluZCIsImtleSIsIndpbmRvd1ZpZXciLCJVdGlscyIsImlzTnVsbCIsInVzZUVmZmVjdCIsImFwcGxpY2F0aW9uTWFuYWdlciIsImFkZEFwcGxpY2F0aW9uQ29udGV4dFN1YnNjcmlwdGlvbiIsImhhbmRsZXIiLCJpZCIsIm9uQ29udGV4dENoYW5nZSIsIm5ld1ZhbHVlcyIsInRoZW4iLCJpbml0aWFsQ29udGV4dCIsInN0YXRlQ2hhbmdlSGFuZGxlciIsInJlbmRlclZpZXciLCJ3aW5kb3dMZWZ0T2Zmc2V0IiwiX3ZpZXckcGFyYW1ldGVycyIsIndpbmRvd0xlZnRPZmZzZXRQYXJhbSIsInBhcmFtZXRlcnMiLCJwIiwibmFtZSIsInZhbHVlIiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwicGlubmFibGUiLCJtaW5pbWl6YWJsZSIsIm9wZW4iLCJkaXNwbGF5U3RhdGUiLCJsZWZ0T2Zmc2V0Iiwib25QaW5uZWQiLCJvblBpbiIsInVwZGF0ZUNvbnRleHQiLCJ3aW5kb3dEaXNwbGF5U3RhdGUiLCJvbkNsb3NlIiwiVmlldyIsImNvbmZpZyIsImhhbmRsZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvV2luZG93Vmlld1BvcnQuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge3VzZUVmZmVjdCwgdXNlUmVmfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgJy4vVmlld0NvbnRhaW5lci5jc3MnO1xuaW1wb3J0IFdpbmRvdyBmcm9tICcuL1dpbmRvdyc7XG5pbXBvcnQge1ZpZXd9IGZyb20gJy4vVmlldyc7XG5pbXBvcnQgYXBwbGljYXRpb25NYW5hZ2VyIGZyb20gJy4uLy4uL0FwcGxpY2F0aW9uTWFuYWdlcic7XG5pbXBvcnQgSWNvbiBmcm9tICcuLi9JY29uJztcbmltcG9ydCBJY29uQnV0dG9uIGZyb20gJ0BtdWkvbWF0ZXJpYWwvSWNvbkJ1dHRvbic7XG5pbXBvcnQgVXRpbHMgZnJvbSBcIi4uLy4uL1V0aWxzXCI7XG5cbmNvbnN0IFdpbmRvd1ZpZXdDb250YWluZXIgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCBbdmlldywgc2V0Vmlld10gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBbcGlubmVkLCBzZXRQaW5uZWRdID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtkZWZhdWx0RGlzcGxheVN0YXRlLCBzZXREZWZhdWx0RGlzcGxheVN0YXRlXSA9IFJlYWN0LnVzZVN0YXRlKCdNQVhJTUlaRUQnKTtcbiAgICBjb25zdCBjb3VudGVyID0gdXNlUmVmKDApO1xuXG4gICAgZnVuY3Rpb24gbG9hZFZpZXcoY29udGV4dCkge1xuICAgICAgICBpZiAoY29udGV4dCkge1xuICAgICAgICAgICAgaWYgKE9iamVjdC5rZXlzKGNvbnRleHQpXG4gICAgICAgICAgICAgICAgLmZpbmQoKGtleSkgPT4ga2V5ID09PSAnd2luZG93VmlldycpKSB7XG4gICAgICAgICAgICAgICAgc2V0Vmlldyhjb250ZXh0LndpbmRvd1ZpZXcpO1xuXG4gICAgICAgICAgICAgICAgaWYoIVV0aWxzLmlzTnVsbChjb250ZXh0LnBpbm5lZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0UGlubmVkKGNvbnRleHQucGlubmVkKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZihVdGlscy5pc051bGwoY29udGV4dC53aW5kb3dWaWV3KSkge1xuICAgICAgICAgICAgICAgICAgICBzZXRQaW5uZWQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmKCFVdGlscy5pc051bGwoY29udGV4dC5kZWZhdWx0RGlzcGxheVN0YXRlKSkge1xuICAgICAgICAgICAgICAgICAgICBzZXREZWZhdWx0RGlzcGxheVN0YXRlKGNvbnRleHQuZGVmYXVsdERpc3BsYXlTdGF0ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLmFkZEFwcGxpY2F0aW9uQ29udGV4dFN1YnNjcmlwdGlvbih7XG4gICAgICAgICAgICBoYW5kbGVyOiB7XG4gICAgICAgICAgICAgICAgZ2V0IGlkKCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3dpbmRvdy12aWV3LXBvcnQnO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb25Db250ZXh0Q2hhbmdlOiAoY29udGV4dCwgbmV3VmFsdWVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxvYWRWaWV3KG5ld1ZhbHVlcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAgICAgLnRoZW4oKGluaXRpYWxDb250ZXh0KSA9PiB7XG4gICAgICAgICAgICAgICAgbG9hZFZpZXcoaW5pdGlhbENvbnRleHQpO1xuICAgICAgICAgICAgfSk7XG4gICAgfSwgW10pO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgcHJvcHMuc3RhdGVDaGFuZ2VIYW5kbGVyKHtwaW5uZWR9KTtcbiAgICB9LCBbcGlubmVkXSk7XG5cbiAgICBjb25zdCByZW5kZXJWaWV3ID0gKCkgPT4ge1xuICAgICAgICBsZXQgd2luZG93TGVmdE9mZnNldDtcbiAgICAgICAgaWYodmlldykge1xuICAgICAgICAgICAgbGV0IHdpbmRvd0xlZnRPZmZzZXRQYXJhbSA9IHZpZXcucGFyYW1ldGVycz8uZmluZCgocCkgPT4gcC5uYW1lID09PSAnd2luZG93TGVmdE9mZnNldCcpO1xuICAgICAgICAgICAgaWYod2luZG93TGVmdE9mZnNldFBhcmFtKSB7XG4gICAgICAgICAgICAgICAgd2luZG93TGVmdE9mZnNldCA9IHdpbmRvd0xlZnRPZmZzZXRQYXJhbS52YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiA8PlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHZpZXcgJiZcbiAgICAgICAgICAgICAgICA8V2luZG93IHBpbm5hYmxlPXt0cnVlfSBtaW5pbWl6YWJsZT17ZmFsc2V9IG9wZW49e3RydWV9IGRpc3BsYXlTdGF0ZT17ZGVmYXVsdERpc3BsYXlTdGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnRPZmZzZXQ9e3dpbmRvd0xlZnRPZmZzZXQgfHwgJzM0NHB4J31cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uUGlubmVkPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UGlubmVkKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBvblBpbj17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTWFuYWdlci51cGRhdGVDb250ZXh0KHt3aW5kb3dEaXNwbGF5U3RhdGU6IHBpbm5lZCA/ICdNQVhJTUlaRUQnIDogJ1BJTk5FRCd9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQaW5uZWQoIXBpbm5lZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9fSBvbkNsb3NlPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UGlubmVkKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgICAgICAgPFZpZXcgY29uZmlnPXt2aWV3LmNvbmZpZ30ga2V5PXt2aWV3LmNvbmZpZy5pZH0gcGFyYW1ldGVycz17dmlldy5wYXJhbWV0ZXJzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e3ZpZXcuaGFuZGxlfS8+XG4gICAgICAgICAgICAgICAgPC9XaW5kb3c+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvPjtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHJlbmRlclZpZXcoKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFdpbmRvd1ZpZXdDb250YWluZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsS0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksbUJBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLEtBQUEsR0FBQUgsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFNLFdBQUEsR0FBQUosc0JBQUEs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
|
|
102
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfV2luZG93IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9WaWV3IiwiX0FwcGxpY2F0aW9uTWFuYWdlciIsIl9JY29uIiwiX0ljb25CdXR0b24iLCJfVXRpbHMiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiaGFzIiwiZ2V0Iiwic2V0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJXaW5kb3dWaWV3Q29udGFpbmVyIiwicHJvcHMiLCJ2aWV3Iiwic2V0VmlldyIsIlJlYWN0IiwidXNlU3RhdGUiLCJwaW5uZWQiLCJzZXRQaW5uZWQiLCJkZWZhdWx0RGlzcGxheVN0YXRlIiwic2V0RGVmYXVsdERpc3BsYXlTdGF0ZSIsImNvdW50ZXIiLCJ1c2VSZWYiLCJsb2FkVmlldyIsImNvbnRleHQiLCJrZXlzIiwiZmluZCIsImtleSIsIndpbmRvd1ZpZXciLCJVdGlscyIsImlzTnVsbCIsInVzZUVmZmVjdCIsImFwcGxpY2F0aW9uTWFuYWdlciIsImFkZEFwcGxpY2F0aW9uQ29udGV4dFN1YnNjcmlwdGlvbiIsImhhbmRsZXIiLCJpZCIsIm9uQ29udGV4dENoYW5nZSIsIm5ld1ZhbHVlcyIsInRoZW4iLCJpbml0aWFsQ29udGV4dCIsInN0YXRlQ2hhbmdlSGFuZGxlciIsInJlbmRlclZpZXciLCJ3aW5kb3dMZWZ0T2Zmc2V0IiwiX3ZpZXckcGFyYW1ldGVycyIsIndpbmRvd0xlZnRPZmZzZXRQYXJhbSIsInBhcmFtZXRlcnMiLCJwIiwibmFtZSIsInZhbHVlIiwiZHJhd2VyT2Zmc2V0IiwibWVudU9mZnNldCIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsInBpbm5hYmxlIiwibWluaW1pemFibGUiLCJvcGVuIiwiZGlzcGxheVN0YXRlIiwibGVmdE9mZnNldCIsIm9uUGlubmVkIiwib25QaW4iLCJ1cGRhdGVDb250ZXh0Iiwid2luZG93RGlzcGxheVN0YXRlIiwib25DbG9zZSIsIlZpZXciLCJjb25maWciLCJoYW5kbGUiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L1dpbmRvd1ZpZXdQb3J0LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHt1c2VFZmZlY3QsIHVzZVJlZn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0ICcuL1ZpZXdDb250YWluZXIuY3NzJztcbmltcG9ydCBXaW5kb3cgZnJvbSAnLi9XaW5kb3cnO1xuaW1wb3J0IHtWaWV3fSBmcm9tICcuL1ZpZXcnO1xuaW1wb3J0IGFwcGxpY2F0aW9uTWFuYWdlciBmcm9tICcuLi8uLi9BcHBsaWNhdGlvbk1hbmFnZXInO1xuaW1wb3J0IEljb24gZnJvbSAnLi4vSWNvbic7XG5pbXBvcnQgSWNvbkJ1dHRvbiBmcm9tICdAbXVpL21hdGVyaWFsL0ljb25CdXR0b24nO1xuaW1wb3J0IFV0aWxzIGZyb20gXCIuLi8uLi9VdGlsc1wiO1xuXG5jb25zdCBXaW5kb3dWaWV3Q29udGFpbmVyID0gKHByb3BzKSA9PiB7XG4gICAgY29uc3QgW3ZpZXcsIHNldFZpZXddID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3QgW3Bpbm5lZCwgc2V0UGlubmVkXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbZGVmYXVsdERpc3BsYXlTdGF0ZSwgc2V0RGVmYXVsdERpc3BsYXlTdGF0ZV0gPSBSZWFjdC51c2VTdGF0ZSgnTUFYSU1JWkVEJyk7XG4gICAgY29uc3QgY291bnRlciA9IHVzZVJlZigwKTtcblxuICAgIGZ1bmN0aW9uIGxvYWRWaWV3KGNvbnRleHQpIHtcbiAgICAgICAgaWYgKGNvbnRleHQpIHtcbiAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhjb250ZXh0KVxuICAgICAgICAgICAgICAgIC5maW5kKChrZXkpID0+IGtleSA9PT0gJ3dpbmRvd1ZpZXcnKSkge1xuICAgICAgICAgICAgICAgIHNldFZpZXcoY29udGV4dC53aW5kb3dWaWV3KTtcblxuICAgICAgICAgICAgICAgIGlmKCFVdGlscy5pc051bGwoY29udGV4dC5waW5uZWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHNldFBpbm5lZChjb250ZXh0LnBpbm5lZCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYoVXRpbHMuaXNOdWxsKGNvbnRleHQud2luZG93VmlldykpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0UGlubmVkKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZighVXRpbHMuaXNOdWxsKGNvbnRleHQuZGVmYXVsdERpc3BsYXlTdGF0ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0RGVmYXVsdERpc3BsYXlTdGF0ZShjb250ZXh0LmRlZmF1bHREaXNwbGF5U3RhdGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGFwcGxpY2F0aW9uTWFuYWdlci5hZGRBcHBsaWNhdGlvbkNvbnRleHRTdWJzY3JpcHRpb24oe1xuICAgICAgICAgICAgaGFuZGxlcjoge1xuICAgICAgICAgICAgICAgIGdldCBpZCgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd3aW5kb3ctdmlldy1wb3J0JztcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9uQ29udGV4dENoYW5nZTogKGNvbnRleHQsIG5ld1ZhbHVlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsb2FkVmlldyhuZXdWYWx1ZXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgICAgIC50aGVuKChpbml0aWFsQ29udGV4dCkgPT4ge1xuICAgICAgICAgICAgICAgIGxvYWRWaWV3KGluaXRpYWxDb250ZXh0KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH0sIFtdKTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHByb3BzLnN0YXRlQ2hhbmdlSGFuZGxlcih7cGlubmVkfSk7XG4gICAgfSwgW3Bpbm5lZF0pO1xuXG4gICAgY29uc3QgcmVuZGVyVmlldyA9ICgpID0+IHtcbiAgICAgICAgbGV0IHdpbmRvd0xlZnRPZmZzZXQ7XG4gICAgICAgIGlmKHZpZXcpIHtcbiAgICAgICAgICAgIGxldCB3aW5kb3dMZWZ0T2Zmc2V0UGFyYW0gPSB2aWV3LnBhcmFtZXRlcnM/LmZpbmQoKHApID0+IHAubmFtZSA9PT0gJ3dpbmRvd0xlZnRPZmZzZXQnKTtcbiAgICAgICAgICAgIGlmKHdpbmRvd0xlZnRPZmZzZXRQYXJhbSkge1xuICAgICAgICAgICAgICAgIHdpbmRvd0xlZnRPZmZzZXQgPSB3aW5kb3dMZWZ0T2Zmc2V0UGFyYW0udmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUcmFjayB0aGUgbWVudSBkcmF3ZXIgd2lkdGggKHBhc3NlZCBmcm9tIHRoZSBkYXNoYm9hcmQ6IERSQVdFUl9XSURUSFxuICAgICAgICAvLyBvcGVuIC8gTUlOSV9XSURUSCBjb2xsYXBzZWQpIHNvIHRoZSBvdmVybGF5IGFsaWducyB3aXRoIHRoZSBtYWluXG4gICAgICAgIC8vIFZpZXdQb3J0IGluc3RlYWQgb2Ygc2l0dGluZyBhdCBhIHN0YXRpYyBvZmZzZXQuIEEgcGVyLXZpZXdcbiAgICAgICAgLy8gd2luZG93TGVmdE9mZnNldCBwYXJhbWV0ZXIgc3RpbGwgd2lucyB3aGVuIHByZXNlbnQuXG4gICAgICAgIGNvbnN0IGRyYXdlck9mZnNldCA9IHByb3BzLm1lbnVPZmZzZXQgIT0gbnVsbCA/IHByb3BzLm1lbnVPZmZzZXQgKyAncHgnIDogJzMyMHB4JztcblxuICAgICAgICByZXR1cm4gPD5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB2aWV3ICYmXG4gICAgICAgICAgICAgICAgPFdpbmRvdyBwaW5uYWJsZT17dHJ1ZX0gbWluaW1pemFibGU9e2ZhbHNlfSBvcGVuPXt0cnVlfSBkaXNwbGF5U3RhdGU9e2RlZmF1bHREaXNwbGF5U3RhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0T2Zmc2V0PXt3aW5kb3dMZWZ0T2Zmc2V0IHx8IGRyYXdlck9mZnNldH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uUGlubmVkPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UGlubmVkKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBvblBpbj17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTWFuYWdlci51cGRhdGVDb250ZXh0KHt3aW5kb3dEaXNwbGF5U3RhdGU6IHBpbm5lZCA/ICdNQVhJTUlaRUQnIDogJ1BJTk5FRCd9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQaW5uZWQoIXBpbm5lZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9fSBvbkNsb3NlPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UGlubmVkKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgICAgICAgPFZpZXcgY29uZmlnPXt2aWV3LmNvbmZpZ30ga2V5PXt2aWV3LmNvbmZpZy5pZH0gcGFyYW1ldGVycz17dmlldy5wYXJhbWV0ZXJzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e3ZpZXcuaGFuZGxlfS8+XG4gICAgICAgICAgICAgICAgPC9XaW5kb3c+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvPjtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHJlbmRlclZpZXcoKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFdpbmRvd1ZpZXdDb250YWluZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsS0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksbUJBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLEtBQUEsR0FBQUgsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFNLFdBQUEsR0FBQUosc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFPLE1BQUEsR0FBQUwsc0JBQUEsQ0FBQUYsT0FBQTtBQUFnQyxTQUFBRSx1QkFBQU0sQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUFBLFNBQUFULHdCQUFBUyxDQUFBLEVBQUFHLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBYix1QkFBQSxZQUFBQSxDQUFBUyxDQUFBLEVBQUFHLENBQUEsU0FBQUEsQ0FBQSxJQUFBSCxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxTQUFBRCxDQUFBLE1BQUFPLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLEtBQUFDLFNBQUEsUUFBQVIsT0FBQSxFQUFBRixDQUFBLGlCQUFBQSxDQUFBLHVCQUFBQSxDQUFBLHlCQUFBQSxDQUFBLFNBQUFTLENBQUEsTUFBQUYsQ0FBQSxHQUFBSixDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxRQUFBRSxDQUFBLENBQUFJLEdBQUEsQ0FBQVgsQ0FBQSxVQUFBTyxDQUFBLENBQUFLLEdBQUEsQ0FBQVosQ0FBQSxHQUFBTyxDQUFBLENBQUFNLEdBQUEsQ0FBQWIsQ0FBQSxFQUFBUyxDQUFBLGdCQUFBTixDQUFBLElBQUFILENBQUEsZ0JBQUFHLENBQUEsT0FBQVcsY0FBQSxDQUFBQyxJQUFBLENBQUFmLENBQUEsRUFBQUcsQ0FBQSxPQUFBSyxDQUFBLElBQUFELENBQUEsR0FBQVMsTUFBQSxDQUFBQyxjQUFBLEtBQUFELE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWxCLENBQUEsRUFBQUcsQ0FBQSxPQUFBSyxDQUFBLENBQUFJLEdBQUEsSUFBQUosQ0FBQSxDQUFBSyxHQUFBLElBQUFOLENBQUEsQ0FBQUUsQ0FBQSxFQUFBTixDQUFBLEVBQUFLLENBQUEsSUFBQUMsQ0FBQSxDQUFBTixDQUFBLElBQUFILENBQUEsQ0FBQUcsQ0FBQSxXQUFBTSxDQUFBLEtBQUFULENBQUEsRUFBQUcsQ0FBQTtBQUVoQyxNQUFNZ0IsbUJBQW1CLEdBQUlDLEtBQUssSUFBSztFQUNuQyxNQUFNLENBQUNDLElBQUksRUFBRUMsT0FBTyxDQUFDLEdBQUdDLGNBQUssQ0FBQ0MsUUFBUSxDQUFDLElBQUksQ0FBQztFQUM1QyxNQUFNLENBQUNDLE1BQU0sRUFBRUMsU0FBUyxDQUFDLEdBQUdILGNBQUssQ0FBQ0MsUUFBUSxDQUFDLEtBQUssQ0FBQztFQUNqRCxNQUFNLENBQUNHLG1CQUFtQixFQUFFQyxzQkFBc0IsQ0FBQyxHQUFHTCxjQUFLLENBQUNDLFFBQVEsQ0FBQyxXQUFXLENBQUM7RUFDakYsTUFBTUssT0FBTyxHQUFHLElBQUFDLGFBQU0sRUFBQyxDQUFDLENBQUM7RUFFekIsU0FBU0MsUUFBUUEsQ0FBQ0MsT0FBTyxFQUFFO0lBQ3ZCLElBQUlBLE9BQU8sRUFBRTtNQUNULElBQUloQixNQUFNLENBQUNpQixJQUFJLENBQUNELE9BQU8sQ0FBQyxDQUNuQkUsSUFBSSxDQUFFQyxHQUFHLElBQUtBLEdBQUcsS0FBSyxZQUFZLENBQUMsRUFBRTtRQUN0Q2IsT0FBTyxDQUFDVSxPQUFPLENBQUNJLFVBQVUsQ0FBQztRQUUzQixJQUFHLENBQUNDLGNBQUssQ0FBQ0MsTUFBTSxDQUFDTixPQUFPLENBQUNQLE1BQU0sQ0FBQyxFQUFFO1VBQzlCQyxTQUFTLENBQUNNLE9BQU8sQ0FBQ1AsTUFBTSxDQUFDO1FBQzdCO1FBRUEsSUFBR1ksY0FBSyxDQUFDQyxNQUFNLENBQUNOLE9BQU8sQ0FBQ0ksVUFBVSxDQUFDLEVBQUU7VUFDakNWLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDcEI7UUFFQSxJQUFHLENBQUNXLGNBQUssQ0FBQ0MsTUFBTSxDQUFDTixPQUFPLENBQUNMLG1CQUFtQixDQUFDLEVBQUU7VUFDM0NDLHNCQUFzQixDQUFDSSxPQUFPLENBQUNMLG1CQUFtQixDQUFDO1FBQ3ZEO01BQ0o7SUFDSjtFQUNKO0VBRUFKLGNBQUssQ0FBQ2dCLFNBQVMsQ0FBQyxNQUFNO0lBQ2xCQywyQkFBa0IsQ0FBQ0MsaUNBQWlDLENBQUM7TUFDakRDLE9BQU8sRUFBRTtRQUNMLElBQUlDLEVBQUVBLENBQUEsRUFBRztVQUNMLE9BQU8sa0JBQWtCO1FBQzdCLENBQUM7UUFDREMsZUFBZSxFQUFFQSxDQUFDWixPQUFPLEVBQUVhLFNBQVMsS0FBSztVQUNyQ2QsUUFBUSxDQUFDYyxTQUFTLENBQUM7UUFDdkI7TUFDSjtJQUNKLENBQUMsQ0FBQyxDQUNHQyxJQUFJLENBQUVDLGNBQWMsSUFBSztNQUN0QmhCLFFBQVEsQ0FBQ2dCLGNBQWMsQ0FBQztJQUM1QixDQUFDLENBQUM7RUFDVixDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU54QixjQUFLLENBQUNnQixTQUFTLENBQUMsTUFBTTtJQUNsQm5CLEtBQUssQ0FBQzRCLGtCQUFrQixDQUFDO01BQUN2QjtJQUFNLENBQUMsQ0FBQztFQUN0QyxDQUFDLEVBQUUsQ0FBQ0EsTUFBTSxDQUFDLENBQUM7RUFFWixNQUFNd0IsVUFBVSxHQUFHQSxDQUFBLEtBQU07SUFDckIsSUFBSUMsZ0JBQWdCO0lBQ3BCLElBQUc3QixJQUFJLEVBQUU7TUFBQSxJQUFBOEIsZ0JBQUE7TUFDTCxJQUFJQyxxQkFBcUIsSUFBQUQsZ0JBQUEsR0FBRzlCLElBQUksQ0FBQ2dDLFVBQVUsY0FBQUYsZ0JBQUEsdUJBQWZBLGdCQUFBLENBQWlCakIsSUFBSSxDQUFFb0IsQ0FBQyxJQUFLQSxDQUFDLENBQUNDLElBQUksS0FBSyxrQkFBa0IsQ0FBQztNQUN2RixJQUFHSCxxQkFBcUIsRUFBRTtRQUN0QkYsZ0JBQWdCLEdBQUdFLHFCQUFxQixDQUFDSSxLQUFLO01BQ2xEO0lBQ0o7O0lBRUE7SUFDQTtJQUNBO0lBQ0E7SUFDQSxNQUFNQyxZQUFZLEdBQUdyQyxLQUFLLENBQUNzQyxVQUFVLElBQUksSUFBSSxHQUFHdEMsS0FBSyxDQUFDc0MsVUFBVSxHQUFHLElBQUksR0FBRyxPQUFPO0lBRWpGLG9CQUFPcEUsTUFBQSxDQUFBWSxPQUFBLENBQUF5RCxhQUFBLENBQUFyRSxNQUFBLENBQUFZLE9BQUEsQ0FBQTBELFFBQUEsUUFFQ3ZDLElBQUksaUJBQ0ovQixNQUFBLENBQUFZLE9BQUEsQ0FBQXlELGFBQUEsQ0FBQ2xFLE9BQUEsQ0FBQVMsT0FBTTtNQUFDMkQsUUFBUSxFQUFFLElBQUs7TUFBQ0MsV0FBVyxFQUFFLEtBQU07TUFBQ0MsSUFBSSxFQUFFLElBQUs7TUFBQ0MsWUFBWSxFQUFFckMsbUJBQW9CO01BQ2xGc0MsVUFBVSxFQUFFZixnQkFBZ0IsSUFBSU8sWUFBYTtNQUM3Q1MsUUFBUSxFQUFFQSxDQUFBLEtBQU07UUFDWixJQUFJLENBQUN6QyxNQUFNLEVBQUU7VUFDVEMsU0FBUyxDQUFDLElBQUksQ0FBQztRQUNuQjtNQUNKLENBQUU7TUFDRnlDLEtBQUssRUFBRUEsQ0FBQSxLQUFNO1FBQ1QzQiwyQkFBa0IsQ0FBQzRCLGFBQWEsQ0FBQztVQUFDQyxrQkFBa0IsRUFBRTVDLE1BQU0sR0FBRyxXQUFXLEdBQUc7UUFBUSxDQUFDLENBQUM7UUFDdkZDLFNBQVMsQ0FBQyxDQUFDRCxNQUFNLENBQUM7TUFDdEIsQ0FBRTtNQUFDNkMsT0FBTyxFQUFFQSxDQUFBLEtBQU07UUFDZDVDLFNBQVMsQ0FBQyxLQUFLLENBQUM7TUFDNUI7SUFBRSxnQkFDRXBDLE1BQUEsQ0FBQVksT0FBQSxDQUFBeUQsYUFBQSxDQUFDaEUsS0FBQSxDQUFBNEUsSUFBSTtNQUFDQyxNQUFNLEVBQUVuRCxJQUFJLENBQUNtRCxNQUFPO01BQUNyQyxHQUFHLEVBQUVkLElBQUksQ0FBQ21ELE1BQU0sQ0FBQzdCLEVBQUc7TUFBQ1UsVUFBVSxFQUFFaEMsSUFBSSxDQUFDZ0MsVUFBVztNQUN0RW9CLE1BQU0sRUFBRXBELElBQUksQ0FBQ29EO0lBQU8sQ0FBQyxDQUN2QixDQUVkLENBQUM7RUFDUCxDQUFDO0VBRUQsT0FBT3hCLFVBQVUsQ0FBQyxDQUFDO0FBQ3ZCLENBQUM7QUFBQyxJQUFBeUIsUUFBQSxHQUFBQyxPQUFBLENBQUF6RSxPQUFBLEdBRWFpQixtQkFBbUIiLCJpZ25vcmVMaXN0IjpbXX0=
|