@workflow/web-shared 4.1.9 → 4.1.11
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/dist/components/error-boundary.js +1 -1
- package/dist/components/event-list-view.d.ts.map +1 -1
- package/dist/components/event-list-view.js +9 -9
- package/dist/components/hook-actions.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/run-trace-view.js +1 -1
- package/dist/components/sidebar/attribute-panel.d.ts.map +1 -1
- package/dist/components/sidebar/attribute-panel.js +5 -5
- package/dist/components/sidebar/conversation-view.js +1 -1
- package/dist/components/sidebar/copyable-data-block.js +1 -1
- package/dist/components/sidebar/detail-card.js +1 -1
- package/dist/components/sidebar/entity-detail-panel.js +1 -1
- package/dist/components/sidebar/events-list.d.ts.map +1 -1
- package/dist/components/sidebar/events-list.js +7 -7
- package/dist/components/sidebar/resolve-hook-modal.js +1 -1
- package/dist/components/stream-viewer.js +1 -1
- package/dist/components/trace-viewer/components/map.js +1 -1
- package/dist/components/trace-viewer/components/markers.js +1 -1
- package/dist/components/trace-viewer/components/node.js +1 -1
- package/dist/components/trace-viewer/components/search-input.js +1 -1
- package/dist/components/trace-viewer/components/search.js +1 -1
- package/dist/components/trace-viewer/components/span-content.js +1 -1
- package/dist/components/trace-viewer/components/span-detail-panel.js +1 -1
- package/dist/components/trace-viewer/components/span-segments.js +1 -1
- package/dist/components/trace-viewer/components/span-strategies.js +1 -1
- package/dist/components/trace-viewer/components/ui.js +1 -1
- package/dist/components/trace-viewer/components/zoom-button.js +1 -1
- package/dist/components/trace-viewer/components/zoom-icons.js +1 -1
- package/dist/components/trace-viewer/context.js +1 -1
- package/dist/components/trace-viewer/index.js +1 -1
- package/dist/components/trace-viewer/trace-viewer.js +1 -1
- package/dist/components/trace-viewer/types.js +1 -1
- package/dist/components/trace-viewer/util/constants.js +1 -1
- package/dist/components/trace-viewer/util/scrollbar-width.js +1 -1
- package/dist/components/trace-viewer/util/timing.js +1 -1
- package/dist/components/trace-viewer/util/tree.js +1 -1
- package/dist/components/trace-viewer/util/use-immediate-style.js +1 -1
- package/dist/components/trace-viewer/util/use-streaming-spans.js +1 -1
- package/dist/components/trace-viewer/util/use-trackpad-zoom.js +1 -1
- package/dist/components/trace-viewer/worker.js +1 -1
- package/dist/components/ui/alert.js +1 -1
- package/dist/components/ui/card.js +1 -1
- package/dist/components/ui/data-inspector.js +1 -1
- package/dist/components/ui/decrypt-button.js +1 -1
- package/dist/components/ui/error-card.js +1 -1
- package/dist/components/ui/error-stack-block.d.ts +17 -10
- package/dist/components/ui/error-stack-block.d.ts.map +1 -1
- package/dist/components/ui/error-stack-block.js +27 -13
- package/dist/components/ui/inspector-theme.js +1 -1
- package/dist/components/ui/load-more-button.js +1 -1
- package/dist/components/ui/menu-dropdown.js +1 -1
- package/dist/components/ui/skeleton.js +1 -1
- package/dist/components/ui/spinner.js +1 -1
- package/dist/components/ui/timestamp-tooltip.js +1 -1
- package/dist/components/workflow-trace-view.js +1 -1
- package/dist/components/workflow-traces/event-colors.js +1 -1
- package/dist/components/workflow-traces/trace-colors.js +1 -1
- package/dist/components/workflow-traces/trace-span-construction.js +1 -1
- package/dist/components/workflow-traces/trace-time-utils.js +1 -1
- package/dist/hooks/use-dark-mode.js +1 -1
- package/dist/index.js +1 -1
- package/dist/lib/event-analysis.js +1 -1
- package/dist/lib/event-materialization.js +1 -1
- package/dist/lib/exact-event-search-id.js +1 -1
- package/dist/lib/hydration.js +1 -1
- package/dist/lib/toast.js +1 -1
- package/dist/lib/trace-builder.js +1 -1
- package/dist/lib/utils.js +1 -1
- package/package.json +6 -6
- package/src/components/event-list-view.tsx +12 -11
- package/src/components/sidebar/attribute-panel.tsx +4 -7
- package/src/components/sidebar/events-list.tsx +6 -9
- package/src/components/ui/error-stack-block.tsx +48 -25
- package/dist/components/error-boundary.js.map +0 -1
- package/dist/components/event-list-view.js.map +0 -1
- package/dist/components/hook-actions.js.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/components/run-trace-view.js.map +0 -1
- package/dist/components/sidebar/attribute-panel.js.map +0 -1
- package/dist/components/sidebar/conversation-view.js.map +0 -1
- package/dist/components/sidebar/copyable-data-block.js.map +0 -1
- package/dist/components/sidebar/detail-card.js.map +0 -1
- package/dist/components/sidebar/entity-detail-panel.js.map +0 -1
- package/dist/components/sidebar/events-list.js.map +0 -1
- package/dist/components/sidebar/resolve-hook-modal.js.map +0 -1
- package/dist/components/stream-viewer.js.map +0 -1
- package/dist/components/trace-viewer/components/map.js.map +0 -1
- package/dist/components/trace-viewer/components/markers.js.map +0 -1
- package/dist/components/trace-viewer/components/node.js.map +0 -1
- package/dist/components/trace-viewer/components/search-input.js.map +0 -1
- package/dist/components/trace-viewer/components/search.js.map +0 -1
- package/dist/components/trace-viewer/components/span-content.js.map +0 -1
- package/dist/components/trace-viewer/components/span-detail-panel.js.map +0 -1
- package/dist/components/trace-viewer/components/span-segments.js.map +0 -1
- package/dist/components/trace-viewer/components/span-strategies.js.map +0 -1
- package/dist/components/trace-viewer/components/ui.js.map +0 -1
- package/dist/components/trace-viewer/components/zoom-button.js.map +0 -1
- package/dist/components/trace-viewer/components/zoom-icons.js.map +0 -1
- package/dist/components/trace-viewer/context.js.map +0 -1
- package/dist/components/trace-viewer/index.js.map +0 -1
- package/dist/components/trace-viewer/trace-viewer.js.map +0 -1
- package/dist/components/trace-viewer/types.js.map +0 -1
- package/dist/components/trace-viewer/util/constants.js.map +0 -1
- package/dist/components/trace-viewer/util/scrollbar-width.js.map +0 -1
- package/dist/components/trace-viewer/util/timing.js.map +0 -1
- package/dist/components/trace-viewer/util/tree.js.map +0 -1
- package/dist/components/trace-viewer/util/use-immediate-style.js.map +0 -1
- package/dist/components/trace-viewer/util/use-streaming-spans.js.map +0 -1
- package/dist/components/trace-viewer/util/use-trackpad-zoom.js.map +0 -1
- package/dist/components/trace-viewer/worker.js.map +0 -1
- package/dist/components/ui/alert.js.map +0 -1
- package/dist/components/ui/card.js.map +0 -1
- package/dist/components/ui/data-inspector.js.map +0 -1
- package/dist/components/ui/decrypt-button.js.map +0 -1
- package/dist/components/ui/error-card.js.map +0 -1
- package/dist/components/ui/error-stack-block.js.map +0 -1
- package/dist/components/ui/inspector-theme.js.map +0 -1
- package/dist/components/ui/load-more-button.js.map +0 -1
- package/dist/components/ui/menu-dropdown.js.map +0 -1
- package/dist/components/ui/skeleton.js.map +0 -1
- package/dist/components/ui/spinner.js.map +0 -1
- package/dist/components/ui/timestamp-tooltip.js.map +0 -1
- package/dist/components/workflow-trace-view.js.map +0 -1
- package/dist/components/workflow-traces/event-colors.js.map +0 -1
- package/dist/components/workflow-traces/trace-colors.js.map +0 -1
- package/dist/components/workflow-traces/trace-span-construction.js.map +0 -1
- package/dist/components/workflow-traces/trace-time-utils.js.map +0 -1
- package/dist/hooks/use-dark-mode.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/event-analysis.js.map +0 -1
- package/dist/lib/event-materialization.js.map +0 -1
- package/dist/lib/exact-event-search-id.js.map +0 -1
- package/dist/lib/hydration.js.map +0 -1
- package/dist/lib/toast.js.map +0 -1
- package/dist/lib/trace-builder.js.map +0 -1
- package/dist/lib/utils.js.map +0 -1
|
@@ -219,4 +219,4 @@ function isDeepEqual(a, b, seen = new WeakMap()) {
|
|
|
219
219
|
}
|
|
220
220
|
return true;
|
|
221
221
|
}
|
|
222
|
-
//# sourceMappingURL=data-inspector.js.map
|
|
222
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1pbnNwZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy91aS9kYXRhLWluc3BlY3Rvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOztBQUViOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDL0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQ0wsZUFBZSxFQUNmLFdBQVcsRUFDWCxVQUFVLEVBQ1YsZUFBZSxFQUNmLFdBQVcsR0FDWixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RCxPQUFPLEVBRUwsa0JBQWtCLEVBQ2xCLDBCQUEwQixFQUMxQiwyQkFBMkIsRUFDM0IsbUJBQW1CLEdBQ3BCLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsOEVBQThFO0FBQzlFLDhDQUE4QztBQUM5Qyx3REFBd0Q7QUFDeEQsOEVBQThFO0FBRTlFLE1BQU0sZUFBZSxHQUFHLHlCQUF5QixDQUFDO0FBQ2xELE1BQU0sdUJBQXVCLEdBQUcsaUNBQWlDLENBQUM7QUFPbEUsU0FBUyxXQUFXLENBQUMsS0FBYztJQUNqQyxPQUFPLENBQ0wsS0FBSyxLQUFLLElBQUk7UUFDZCxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQ3pCLFFBQVEsSUFBSSxLQUFLO1FBQ2hCLEtBQWlDLENBQUMsTUFBTSxLQUFLLGVBQWUsQ0FDOUQsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLEtBQWM7SUFNeEMsT0FB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QU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQztJQUN2RCxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuXG4vKipcbiAqIFJldXNhYmxlIGRhdGEgaW5zcGVjdG9yIGNvbXBvbmVudCBidWlsdCBvbiByZWFjdC1pbnNwZWN0b3IuXG4gKlxuICogQWxsIGRhdGEgcmVuZGVyaW5nIGluIHRoZSBvMTF5IFVJIHNob3VsZCB1c2UgdGhpcyBjb21wb25lbnQgdG8gZW5zdXJlXG4gKiBjb25zaXN0ZW50IHRoZW1pbmcsIGN1c3RvbSB0eXBlIGhhbmRsaW5nIChTdHJlYW1SZWYsIENsYXNzSW5zdGFuY2VSZWYpLFxuICogYW5kIGV4cGFuZCBiZWhhdmlvci5cbiAqL1xuXG5pbXBvcnQgeyBMb2NrIH0gZnJvbSAnbHVjaWRlLXJlYWN0JztcbmltcG9ydCB7IGNyZWF0ZUNvbnRleHQsIHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFNwaW5uZXIgfSBmcm9tICcuL3NwaW5uZXInO1xuaW1wb3J0IHtcbiAgT2JqZWN0SW5zcGVjdG9yLFxuICBPYmplY3RMYWJlbCxcbiAgT2JqZWN0TmFtZSxcbiAgT2JqZWN0Um9vdExhYmVsLFxuICBPYmplY3RWYWx1ZSxcbn0gZnJvbSAncmVhY3QtaW5zcGVjdG9yJztcbmltcG9ydCB7IHVzZURhcmtNb2RlIH0gZnJvbSAnLi4vLi4vaG9va3MvdXNlLWRhcmstbW9kZSc7XG5pbXBvcnQgeyBFTkNSWVBURURfRElTUExBWV9OQU1FIH0gZnJvbSAnLi4vLi4vbGliL2h5ZHJhdGlvbic7XG5pbXBvcnQge1xuICB0eXBlIEluc3BlY3RvclRoZW1lRXh0ZW5kZWQsXG4gIGluc3BlY3RvclRoZW1lRGFyayxcbiAgaW5zcGVjdG9yVGhlbWVFeHRlbmRlZERhcmssXG4gIGluc3BlY3RvclRoZW1lRXh0ZW5kZWRMaWdodCxcbiAgaW5zcGVjdG9yVGhlbWVMaWdodCxcbn0gZnJvbSAnLi9pbnNwZWN0b3ItdGhlbWUnO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFN0cmVhbVJlZiAvIENsYXNzSW5zdGFuY2VSZWYgdHlwZSBkZXRlY3Rpb25cbi8vIChpbmxpbmUgdG8gYXZvaWQgY2lyY3VsYXIgZGVwcyB3aXRoIGh5ZHJhdGlvbiBtb2R1bGUpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuY29uc3QgU1RSRUFNX1JFRl9UWVBFID0gJ19fd29ya2Zsb3dfc3RyZWFtX3JlZl9fJztcbmNvbnN0IENMQVNTX0lOU1RBTkNFX1JFRl9UWVBFID0gJ19fd29ya2Zsb3dfY2xhc3NfaW5zdGFuY2VfcmVmX18nO1xuXG5pbnRlcmZhY2UgU3RyZWFtUmVmIHtcbiAgX190eXBlOiB0eXBlb2YgU1RSRUFNX1JFRl9UWVBFO1xuICBzdHJlYW1JZDogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBpc1N0cmVhbVJlZih2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIFN0cmVhbVJlZiB7XG4gIHJldHVybiAoXG4gICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgJ19fdHlwZScgaW4gdmFsdWUgJiZcbiAgICAodmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pLl9fdHlwZSA9PT0gU1RSRUFNX1JFRl9UWVBFXG4gICk7XG59XG5cbmZ1bmN0aW9uIGlzQ2xhc3NJbnN0YW5jZVJlZih2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIHtcbiAgX190eXBlOiBzdHJpbmc7XG4gIGNsYXNzTmFtZTogc3RyaW5nO1xuICBjbGFzc0lkOiBzdHJpbmc7XG4gIGRhdGE6IHVua25vd247XG59IHtcbiAgcmV0dXJuIChcbiAgICB2YWx1ZSAhPT0gbnVsbCAmJlxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiZcbiAgICAnX190eXBlJyBpbiB2YWx1ZSAmJlxuICAgICh2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikuX190eXBlID09PSBDTEFTU19JTlNUQU5DRV9SRUZfVFlQRVxuICApO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFN0cmVhbSBjbGljayBjb250ZXh0IChwYXNzZWQgdGhyb3VnaCBmcm9tIHRoZSBwYW5lbClcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKipcbiAqIENvbnRleHQgZm9yIHBhc3Npbmcgc3RyZWFtIGNsaWNrIGhhbmRsZXJzIGRvd24gdG8gRGF0YUluc3BlY3RvciBpbnN0YW5jZXMuXG4gKiBFeHBvcnRlZCBzbyB0aGF0IHBhcmVudCBjb21wb25lbnRzIChlLmcuLCBBdHRyaWJ1dGVQYW5lbCkgY2FuIHByb3ZpZGUgdGhlIGhhbmRsZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBTdHJlYW1DbGlja0NvbnRleHQgPSBjcmVhdGVDb250ZXh0PFxuICAoKHN0cmVhbUlkOiBzdHJpbmcpID0+IHZvaWQpIHwgdW5kZWZpbmVkXG4+KHVuZGVmaW5lZCk7XG5cbi8qKlxuICogQ29udGV4dCBmb3IgcGFzc2luZyBhIGRlY3J5cHQgaGFuZGxlciBkb3duIHRvIERhdGFJbnNwZWN0b3IgaW5zdGFuY2VzLlxuICogV2hlbiBwcm92aWRlZCwgZW5jcnlwdGVkIG1hcmtlcnMgYmVjb21lIGNsaWNrYWJsZSBidXR0b25zIHRoYXQgdHJpZ2dlciBkZWNyeXB0aW9uLlxuICovXG5leHBvcnQgdHlwZSBEZWNyeXB0Q2xpY2tDb250ZXh0VmFsdWUgPSB7XG4gIG9uRGVjcnlwdDogKCkgPT4gdm9pZDtcbiAgaXNEZWNyeXB0aW5nOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IERlY3J5cHRDbGlja0NvbnRleHQgPSBjcmVhdGVDb250ZXh0PFxuICBEZWNyeXB0Q2xpY2tDb250ZXh0VmFsdWUgfCB1bmRlZmluZWRcbj4odW5kZWZpbmVkKTtcblxuZnVuY3Rpb24gRW5jcnlwdGVkSW5saW5lTGFiZWwoKSB7XG4gIGNvbnN0IGN0eCA9IHVzZUNvbnRleHQoRGVjcnlwdENsaWNrQ29udGV4dCk7XG4gIGlmIChjdHgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0xIHB4LTEuNSBweS0wLjUgcm91bmRlZCB0ZXh0LVsxMXB4XSBjdXJzb3ItcG9pbnRlclwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAndmFyKC0tZHMtZ3JheS0xMDApJyxcbiAgICAgICAgICBjb2xvcjogJ3ZhcigtLWRzLWdyYXktNzAwKScsXG4gICAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkIHZhcigtLWRzLWdyYXktNDAwKScsXG4gICAgICAgICAgZm9udFN0eWxlOiAnaXRhbGljJyxcbiAgICAgICAgICBvcGFjaXR5OiBjdHguaXNEZWNyeXB0aW5nID8gMC42IDogMSxcbiAgICAgICAgfX1cbiAgICAgICAgZGlzYWJsZWQ9e2N0eC5pc0RlY3J5cHRpbmd9XG4gICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7XG4gICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICBjdHgub25EZWNyeXB0KCk7XG4gICAgICAgIH19XG4gICAgICAgIHRpdGxlPVwiQ2xpY2sgdG8gZGVjcnlwdFwiXG4gICAgICA+XG4gICAgICAgIHtjdHguaXNEZWNyeXB0aW5nID8gKFxuICAgICAgICAgIDxTcGlubmVyIHNpemU9ezEyfSAvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxMb2NrXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJoLTMgdy0zXCJcbiAgICAgICAgICAgIHN0eWxlPXt7IGRpc3BsYXk6ICdpbmxpbmUnLCBmbGV4U2hyaW5rOiAwIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgICAgPHNwYW4+e2N0eC5pc0RlY3J5cHRpbmcgPyAnRGVjcnlwdGluZ+KApicgOiAnRGVjcnlwdCd9PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gKFxuICAgIDxzcGFuIHN0eWxlPXt7IGNvbG9yOiAndmFyKC0tZHMtZ3JheS02MDApJywgZm9udFN0eWxlOiAnaXRhbGljJyB9fT5cbiAgICAgIDxMb2NrXG4gICAgICAgIGNsYXNzTmFtZT1cImgtMyB3LTNcIlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUnLFxuICAgICAgICAgIHZlcnRpY2FsQWxpZ246ICdtaWRkbGUnLFxuICAgICAgICAgIG1hcmdpblJpZ2h0OiAnM3B4JyxcbiAgICAgICAgICBtYXJnaW5Ub3A6ICctMXB4JyxcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgICBFbmNyeXB0ZWRcbiAgICA8L3NwYW4+XG4gICk7XG59XG5cbmZ1bmN0aW9uIFN0cmVhbVJlZklubGluZSh7IHN0cmVhbVJlZiB9OiB7IHN0cmVhbVJlZjogU3RyZWFtUmVmIH0pIHtcbiAgY29uc3Qgb25TdHJlYW1DbGljayA9IHVzZUNvbnRleHQoU3RyZWFtQ2xpY2tDb250ZXh0KTtcbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzTmFtZT1cImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBnYXAtMSBweC0xLjUgcHktMC41IHJvdW5kZWQgdGV4dC1bMTBweF0gZm9udC1tb25vIGN1cnNvci1wb2ludGVyXCJcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3ZhcigtLWRzLWJsdWUtMTAwKScsXG4gICAgICAgIGNvbG9yOiAndmFyKC0tZHMtYmx1ZS04MDApJyxcbiAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkIHZhcigtLWRzLWJsdWUtMzAwKScsXG4gICAgICB9fVxuICAgICAgb25DbGljaz17KCkgPT4gb25TdHJlYW1DbGljaz8uKHN0cmVhbVJlZi5zdHJlYW1JZCl9XG4gICAgICB0aXRsZT17YFZpZXcgc3RyZWFtOiAke3N0cmVhbVJlZi5zdHJlYW1JZH1gfVxuICAgID5cbiAgICAgIDxzcGFuPvCfk6E8L3NwYW4+XG4gICAgICA8c3Bhbj57c3RyZWFtUmVmLnN0cmVhbUlkfTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgKTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBFeHRlbmRlZCB0aGVtZSBjb250ZXh0IChmb3IgY29sb3JzIHJlYWN0LWluc3BlY3RvciBkb2Vzbid0IHN1cHBvcnQgbmF0aXZlbHkpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuY29uc3QgRXh0ZW5kZWRUaGVtZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0PEluc3BlY3RvclRoZW1lRXh0ZW5kZWQ+KFxuICBpbnNwZWN0b3JUaGVtZUV4dGVuZGVkTGlnaHRcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ3VzdG9tIG5vZGVSZW5kZXJlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qKlxuICogRXh0ZW5kcyB0aGUgZGVmYXVsdCByZWFjdC1pbnNwZWN0b3Igbm9kZVJlbmRlcmVyIHdpdGggc3BlY2lhbCBoYW5kbGluZ1xuICogZm9yIENsYXNzSW5zdGFuY2VSZWYsIFN0cmVhbVJlZiwgYW5kIERhdGUgdHlwZXMuXG4gKlxuICogcmVhY3QtaW5zcGVjdG9yIHJlbmRlcnMgRGF0ZSBpbnN0YW5jZXMgYXMgdW5zdHlsZWQgcGxhaW4gdGV4dCAobm8gdGhlbWVcbiAqIGtleSBleGlzdHMgZm9yIHRoZW0pLCBzbyB3ZSBpbnRlcmNlcHQgaGVyZSBhbmQgYXBwbHkgdGhlIG1hZ2VudGEgY29sb3JcbiAqIGZyb20gb3VyIGV4dGVuZGVkIHRoZW1lIOKAlCBtYXRjaGluZyBOb2RlLmpzIHV0aWwuaW5zcGVjdCgpJ3MgZGF0ZSBzdHlsZS5cbiAqXG4gKiBEZWZhdWx0IG5vZGVSZW5kZXJlciByZWZlcmVuY2U6XG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3Rvcnlib29ranMvcmVhY3QtaW5zcGVjdG9yL2Jsb2IvbWFpbi9SRUFETUUubWQjbm9kZXJlbmRlcmVyXG4gKi9cbmZ1bmN0aW9uIE5vZGVSZW5kZXJlcih7XG4gIGRlcHRoLFxuICBuYW1lLFxuICBkYXRhLFxuICBpc05vbmVudW1lcmFibGUsXG59OiB7XG4gIGRlcHRoOiBudW1iZXI7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGRhdGE6IHVua25vd247XG4gIGlzTm9uZW51bWVyYWJsZT86IGJvb2xlYW47XG4gIGV4cGFuZGVkPzogYm9vbGVhbjtcbn0pIHtcbiAgY29uc3QgZXh0ZW5kZWRUaGVtZSA9IHVzZUNvbnRleHQoRXh0ZW5kZWRUaGVtZUNvbnRleHQpO1xuXG4gIC8vIEVuY3J5cHRlZCBtYXJrZXIg4oaSIGZsYXQgbGFiZWwgd2l0aCBMb2NrIGljb24sIGNsaWNrYWJsZSB3aGVuIG9uRGVjcnlwdCBpcyBhdmFpbGFibGVcbiAgaWYgKFxuICAgIGRhdGEgIT09IG51bGwgJiZcbiAgICB0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiZcbiAgICBkYXRhLmNvbnN0cnVjdG9yPy5uYW1lID09PSBFTkNSWVBURURfRElTUExBWV9OQU1FXG4gICkge1xuICAgIGNvbnN0IGxhYmVsID0gPEVuY3J5cHRlZElubGluZUxhYmVsIC8+O1xuICAgIGlmIChkZXB0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGxhYmVsO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgPHNwYW4+XG4gICAgICAgIHtuYW1lICE9IG51bGwgJiYgPE9iamVjdE5hbWUgbmFtZT17bmFtZX0gLz59XG4gICAgICAgIHtuYW1lICE9IG51bGwgJiYgPHNwYW4+OiA8L3NwYW4+fVxuICAgICAgICB7bGFiZWx9XG4gICAgICA8L3NwYW4+XG4gICAgKTtcbiAgfVxuXG4gIC8vIFN0cmVhbVJlZiDihpIgaW5saW5lIGNsaWNrYWJsZSBiYWRnZVxuICBpZiAoaXNTdHJlYW1SZWYoZGF0YSkpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPHNwYW4+XG4gICAgICAgIHtuYW1lICE9IG51bGwgJiYgPE9iamVjdE5hbWUgbmFtZT17bmFtZX0gLz59XG4gICAgICAgIHtuYW1lICE9IG51bGwgJiYgPHNwYW4+OiA8L3NwYW4+fVxuICAgICAgICA8U3RyZWFtUmVmSW5saW5lIHN0cmVhbVJlZj17ZGF0YX0gLz5cbiAgICAgIDwvc3Bhbj5cbiAgICApO1xuICB9XG5cbiAgLy8gQ2xhc3NJbnN0YW5jZVJlZiDihpIgc2hvdyBjbGFzc05hbWUgYXMgdHlwZSwgZGF0YSBhcyB0aGUgaW5zcGVjdGFibGUgdmFsdWVcbiAgaWYgKGlzQ2xhc3NJbnN0YW5jZVJlZihkYXRhKSkge1xuICAgIGlmIChkZXB0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIDxPYmplY3RSb290TGFiZWwgbmFtZT17ZGF0YS5jbGFzc05hbWV9IGRhdGE9e2RhdGEuZGF0YX0gLz47XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICA8c3Bhbj5cbiAgICAgICAge25hbWUgIT0gbnVsbCAmJiA8T2JqZWN0TmFtZSBuYW1lPXtuYW1lfSAvPn1cbiAgICAgICAge25hbWUgIT0gbnVsbCAmJiA8c3Bhbj46IDwvc3Bhbj59XG4gICAgICAgIDxzcGFuIHN0eWxlPXt7IGZvbnRTdHlsZTogJ2l0YWxpYycgfX0+e2RhdGEuY2xhc3NOYW1lfSA8L3NwYW4+XG4gICAgICAgIDxPYmplY3RWYWx1ZSBvYmplY3Q9e2RhdGEuZGF0YX0gLz5cbiAgICAgIDwvc3Bhbj5cbiAgICApO1xuICB9XG5cbiAgLy8gRGF0ZSDihpIgbWFnZW50YSBjb2xvciAoTm9kZS5qczogJ2RhdGUnIOKGkiAnbWFnZW50YScpXG4gIC8vIHJlYWN0LWluc3BlY3RvciBoYXMgbm8gT0JKRUNUX1ZBTFVFX0RBVEVfQ09MT1IgdGhlbWUga2V5LCBzbyB3ZSBoYW5kbGUgaXQgaGVyZS5cbiAgaWYgKGRhdGEgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgY29uc3QgZGF0ZVN0ciA9IGRhdGEudG9JU09TdHJpbmcoKTtcbiAgICBpZiAoZGVwdGggPT09IDApIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxzcGFuIHN0eWxlPXt7IGNvbG9yOiBleHRlbmRlZFRoZW1lLk9CSkVDVF9WQUxVRV9EQVRFX0NPTE9SIH19PlxuICAgICAgICAgIHtkYXRlU3RyfVxuICAgICAgICA8L3NwYW4+XG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgPHNwYW4+XG4gICAgICAgIHtuYW1lICE9IG51bGwgJiYgPE9iamVjdE5hbWUgbmFtZT17bmFtZX0gLz59XG4gICAgICAgIHtuYW1lICE9IG51bGwgJiYgPHNwYW4+OiA8L3NwYW4+fVxuICAgICAgICA8c3BhbiBzdHlsZT17eyBjb2xvcjogZXh0ZW5kZWRUaGVtZS5PQkpFQ1RfVkFMVUVfREFURV9DT0xPUiB9fT5cbiAgICAgICAgICB7ZGF0ZVN0cn1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgICk7XG4gIH1cblxuICAvLyBEZWZhdWx0IHJlbmRlcmluZyAoc2FtZSBhcyByZWFjdC1pbnNwZWN0b3IncyBidWlsdC1pbilcbiAgaWYgKGRlcHRoID09PSAwKSB7XG4gICAgcmV0dXJuIDxPYmplY3RSb290TGFiZWwgbmFtZT17bmFtZX0gZGF0YT17ZGF0YX0gLz47XG4gIH1cbiAgcmV0dXJuIChcbiAgICA8T2JqZWN0TGFiZWwgbmFtZT17bmFtZX0gZGF0YT17ZGF0YX0gaXNOb25lbnVtZXJhYmxlPXtpc05vbmVudW1lcmFibGV9IC8+XG4gICk7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUHVibGljIGNvbXBvbmVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YUluc3BlY3RvclByb3BzIHtcbiAgLyoqIFRoZSBkYXRhIHRvIGluc3BlY3QgKi9cbiAgZGF0YTogdW5rbm93bjtcbiAgLyoqIEluaXRpYWwgZXhwYW5kIGRlcHRoIChkZWZhdWx0OiAyKSAqL1xuICBleHBhbmRMZXZlbD86IG51bWJlcjtcbiAgLyoqIE9wdGlvbmFsIG5hbWUgZm9yIHRoZSByb290IG5vZGUgKi9cbiAgbmFtZT86IHN0cmluZztcbiAgLyoqIENhbGxiYWNrIHdoZW4gYSBzdHJlYW0gcmVmZXJlbmNlIGlzIGNsaWNrZWQgKi9cbiAgb25TdHJlYW1DbGljaz86IChzdHJlYW1JZDogc3RyaW5nKSA9PiB2b2lkO1xuICAvKiogQ2FsbGJhY2sgd2hlbiBhbiBlbmNyeXB0ZWQgbWFya2VyIGlzIGNsaWNrZWQgKHRyaWdnZXJzIGRlY3J5cHRpb24pICovXG4gIG9uRGVjcnlwdD86ICgpID0+IHZvaWQ7XG4gIC8qKiBXaGV0aGVyIGRlY3J5cHRpb24gaXMgY3VycmVudGx5IGluIHByb2dyZXNzICovXG4gIGlzRGVjcnlwdGluZz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBEYXRhSW5zcGVjdG9yKHtcbiAgZGF0YSxcbiAgZXhwYW5kTGV2ZWwgPSAyLFxuICBuYW1lLFxuICBvblN0cmVhbUNsaWNrLFxuICBvbkRlY3J5cHQsXG4gIGlzRGVjcnlwdGluZyA9IGZhbHNlLFxufTogRGF0YUluc3BlY3RvclByb3BzKSB7XG4gIGNvbnN0IHN0YWJsZURhdGEgPSB1c2VTdGFibGVJbnNwZWN0b3JEYXRhKGRhdGEpO1xuICBjb25zdCBbaW5pdGlhbEV4cGFuZExldmVsLCBzZXRJbml0aWFsRXhwYW5kTGV2ZWxdID0gdXNlU3RhdGUoZXhwYW5kTGV2ZWwpO1xuICBjb25zdCBpc0RhcmsgPSB1c2VEYXJrTW9kZSgpO1xuICBjb25zdCBleHRlbmRlZFRoZW1lID0gaXNEYXJrXG4gICAgPyBpbnNwZWN0b3JUaGVtZUV4dGVuZGVkRGFya1xuICAgIDogaW5zcGVjdG9yVGhlbWVFeHRlbmRlZExpZ2h0O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gcmVhY3QtaW5zcGVjdG9yIHJlYXBwbGllcyBleHBhbmRMZXZlbCBvbiBldmVyeSBkYXRhIGNoYW5nZSwgd2hpY2ggY2FuXG4gICAgLy8gcmVvcGVuIHBhdGhzIHRoZSB1c2VyIG1hbnVhbGx5IGNvbGxhcHNlZC4gQXBwbHkgaXQgb25seSBvbiBtb3VudC5cbiAgICBzZXRJbml0aWFsRXhwYW5kTGV2ZWwoMCk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBjb250ZW50ID0gKFxuICAgIDxFeHRlbmRlZFRoZW1lQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17ZXh0ZW5kZWRUaGVtZX0+XG4gICAgICA8T2JqZWN0SW5zcGVjdG9yXG4gICAgICAgIGRhdGE9e3N0YWJsZURhdGF9XG4gICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgcmVhY3QtaW5zcGVjdG9yIGFjY2VwdHMgdGhlbWUgb2JqZWN0cyBhdCBydW50aW1lIGRlc3BpdGVcbiAgICAgICAgLy8gdHlwZXMgZGVjbGFyaW5nIHN0cmluZyBvbmx5IOKAlCBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3N0b3J5Ym9va2pzL3JlYWN0LWluc3BlY3Rvci9ibG9iL21haW4vUkVBRE1FLm1kI3RoZW1lXG4gICAgICAgIHRoZW1lPXtpc0RhcmsgPyBpbnNwZWN0b3JUaGVtZURhcmsgOiBpbnNwZWN0b3JUaGVtZUxpZ2h0fVxuICAgICAgICBleHBhbmRMZXZlbD17aW5pdGlhbEV4cGFuZExldmVsfVxuICAgICAgICBub2RlUmVuZGVyZXI9e05vZGVSZW5kZXJlcn1cbiAgICAgIC8+XG4gICAgPC9FeHRlbmRlZFRoZW1lQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcblxuICBsZXQgd3JhcHBlZCA9IGNvbnRlbnQ7XG5cbiAgaWYgKG9uU3RyZWFtQ2xpY2spIHtcbiAgICB3cmFwcGVkID0gKFxuICAgICAgPFN0cmVhbUNsaWNrQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17b25TdHJlYW1DbGlja30+XG4gICAgICAgIHt3cmFwcGVkfVxuICAgICAgPC9TdHJlYW1DbGlja0NvbnRleHQuUHJvdmlkZXI+XG4gICAgKTtcbiAgfVxuXG4gIGlmIChvbkRlY3J5cHQpIHtcbiAgICB3cmFwcGVkID0gKFxuICAgICAgPERlY3J5cHRDbGlja0NvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3sgb25EZWNyeXB0LCBpc0RlY3J5cHRpbmcgfX0+XG4gICAgICAgIHt3cmFwcGVkfVxuICAgICAgPC9EZWNyeXB0Q2xpY2tDb250ZXh0LlByb3ZpZGVyPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gd3JhcHBlZDtcbn1cblxuZnVuY3Rpb24gdXNlU3RhYmxlSW5zcGVjdG9yRGF0YTxUPihuZXh0OiBUKTogVCB7XG4gIGNvbnN0IHByZXZpb3VzUmVmID0gdXNlUmVmPFQ+KG5leHQpO1xuICBpZiAoIWlzRGVlcEVxdWFsKHByZXZpb3VzUmVmLmN1cnJlbnQsIG5leHQpKSB7XG4gICAgcHJldmlvdXNSZWYuY3VycmVudCA9IG5leHQ7XG4gIH1cbiAgcmV0dXJuIHByZXZpb3VzUmVmLmN1cnJlbnQ7XG59XG5cbmZ1bmN0aW9uIGlzT2JqZWN0TGlrZSh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgIT09IG51bGw7XG59XG5cbmZ1bmN0aW9uIGlzRGVlcEVxdWFsKGE6IHVua25vd24sIGI6IHVua25vd24sIHNlZW4gPSBuZXcgV2Vha01hcCgpKTogYm9vbGVhbiB7XG4gIGlmIChPYmplY3QuaXMoYSwgYikpIHJldHVybiB0cnVlO1xuXG4gIGlmIChhIGluc3RhbmNlb2YgRGF0ZSAmJiBiIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgIHJldHVybiBhLmdldFRpbWUoKSA9PT0gYi5nZXRUaW1lKCk7XG4gIH1cblxuICBpZiAoYSBpbnN0YW5jZW9mIFJlZ0V4cCAmJiBiIGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgcmV0dXJuIGEuc291cmNlID09PSBiLnNvdXJjZSAmJiBhLmZsYWdzID09PSBiLmZsYWdzO1xuICB9XG5cbiAgaWYgKGEgaW5zdGFuY2VvZiBNYXAgJiYgYiBpbnN0YW5jZW9mIE1hcCkge1xuICAgIGlmIChhLnNpemUgIT09IGIuc2l6ZSkgcmV0dXJuIGZhbHNlO1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIGEuZW50cmllcygpKSB7XG4gICAgICBpZiAoIWIuaGFzKGtleSkgfHwgIWlzRGVlcEVxdWFsKHZhbHVlLCBiLmdldChrZXkpLCBzZWVuKSkgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChhIGluc3RhbmNlb2YgU2V0ICYmIGIgaW5zdGFuY2VvZiBTZXQpIHtcbiAgICBpZiAoYS5zaXplICE9PSBiLnNpemUpIHJldHVybiBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIGEudmFsdWVzKCkpIHtcbiAgICAgIGlmICghYi5oYXModmFsdWUpKSByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKCFpc09iamVjdExpa2UoYSkgfHwgIWlzT2JqZWN0TGlrZShiKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChzZWVuLmdldChhKSA9PT0gYikgcmV0dXJuIHRydWU7XG4gIHNlZW4uc2V0KGEsIGIpO1xuXG4gIGNvbnN0IGFJc0FycmF5ID0gQXJyYXkuaXNBcnJheShhKTtcbiAgY29uc3QgYklzQXJyYXkgPSBBcnJheS5pc0FycmF5KGIpO1xuICBpZiAoYUlzQXJyYXkgIT09IGJJc0FycmF5KSByZXR1cm4gZmFsc2U7XG5cbiAgaWYgKGFJc0FycmF5ICYmIGJJc0FycmF5KSB7XG4gICAgaWYgKGEubGVuZ3RoICE9PSBiLmxlbmd0aCkgcmV0dXJuIGZhbHNlO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgaWYgKCFpc0RlZXBFcXVhbChhW2ldLCBiW2ldLCBzZWVuKSkgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGNvbnN0IGFLZXlzID0gT2JqZWN0LmtleXMoYSk7XG4gIGNvbnN0IGJLZXlzID0gT2JqZWN0LmtleXMoYik7XG4gIGlmIChhS2V5cy5sZW5ndGggIT09IGJLZXlzLmxlbmd0aCkgcmV0dXJuIGZhbHNlO1xuXG4gIGZvciAoY29uc3Qga2V5IG9mIGFLZXlzKSB7XG4gICAgaWYgKCFPYmplY3QuaGFzT3duKGIsIGtleSkpIHJldHVybiBmYWxzZTtcbiAgICBpZiAoIWlzRGVlcEVxdWFsKGFba2V5XSwgYltrZXldLCBzZWVuKSkgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG4iXX0=
|
|
@@ -9,4 +9,4 @@ const STYLES = `.wf-decrypt-btn{appearance:none;-webkit-appearance:none;border:n
|
|
|
9
9
|
export function DecryptButton({ decrypted = false, loading = false, onClick, }) {
|
|
10
10
|
return (_jsxs(_Fragment, { children: [_jsx("style", { dangerouslySetInnerHTML: { __html: STYLES } }), _jsxs("button", { type: "button", onClick: decrypted ? undefined : onClick, disabled: decrypted || loading, className: `wf-decrypt-btn ${decrypted ? 'wf-decrypt-done' : 'wf-decrypt-idle'}`, children: [loading ? (_jsx(Spinner, { size: 14 })) : decrypted ? (_jsxs("svg", { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("rect", { x: "3", y: "11", width: "18", height: "11", rx: "2", ry: "2" }), _jsx("path", { d: "M7 11V7a5 5 0 0 1 9.9-1" })] })) : (_jsxs("svg", { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("rect", { x: "3", y: "11", width: "18", height: "11", rx: "2", ry: "2" }), _jsx("path", { d: "M7 11V7a5 5 0 0 1 10 0v4" })] })), loading ? 'Decrypting…' : decrypted ? 'Decrypted' : 'Decrypt'] })] }));
|
|
11
11
|
}
|
|
12
|
-
//# sourceMappingURL=
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjcnlwdC1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy91aS9kZWNyeXB0LWJ1dHRvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOztBQUViLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFcEMsTUFBTSxNQUFNLEdBQUcsMmxCQUEybEIsQ0FBQztBQVczbUI7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxFQUM1QixTQUFTLEdBQUcsS0FBSyxFQUNqQixPQUFPLEdBQUcsS0FBSyxFQUNmLE9BQU8sR0FDWTtJQUNuQixPQUFPLENBQ0wsOEJBQ0UsZ0JBQU8sdUJBQXVCLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUksRUFDdEQsa0JBQ0UsSUFBSSxFQUFDLFFBQVEsRUFDYixPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFDeEMsUUFBUSxFQUFFLFNBQVMsSUFBSSxPQUFPLEVBQzlCLFNBQVMsRUFBRSxrQkFBa0IsU0FBUyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEVBQUUsYUFFL0UsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUNULEtBQUMsT0FBTyxJQUFDLElBQUksRUFBRSxFQUFFLEdBQUksQ0FDdEIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUNkLGVBQ0UsS0FBSyxFQUFFLEVBQUUsRUFDVCxNQUFNLEVBQUUsRUFBRSxFQUNWLE9BQU8sRUFBQyxXQUFXLEVBQ25CLElBQUksRUFBQyxNQUFNLEVBQ1gsTUFBTSxFQUFDLGNBQWMsRUFDckIsV0FBVyxFQUFFLENBQUMsRUFDZCxhQUFhLEVBQUMsT0FBTyxFQUNyQixjQUFjLEVBQUMsT0FBTyxhQUV0QixlQUFNLENBQUMsRUFBQyxHQUFHLEVBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxJQUFJLEVBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsR0FBRyxHQUFHLEVBQzFELGVBQU0sQ0FBQyxFQUFDLHlCQUF5QixHQUFHLElBQ2hDLENBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FDRixlQUNFLEtBQUssRUFBRSxFQUFFLEVBQ1QsTUFBTSxFQUFFLEVBQUUsRUFDVixPQUFPLEVBQUMsV0FBVyxFQUNuQixJQUFJLEVBQUMsTUFBTSxFQUNYLE1BQU0sRUFBQyxjQUFjLEVBQ3JCLFdBQVcsRUFBRSxDQUFDLEVBQ2QsYUFBYSxFQUFDLE9BQU8sRUFDckIsY0FBYyxFQUFDLE9BQU8sYUFFdEIsZUFBTSxDQUFDLEVBQUMsR0FBRyxFQUFDLENBQUMsRUFBQyxJQUFJLEVBQUMsS0FBSyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsSUFBSSxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBRSxFQUFDLEdBQUcsR0FBRyxFQUMxRCxlQUFNLENBQUMsRUFBQywwQkFBMEIsR0FBRyxJQUNqQyxDQUNQLEVBQ0EsT0FBTyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQ3ZELElBQ1IsQ0FDSixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcblxuaW1wb3J0IHsgU3Bpbm5lciB9IGZyb20gJy4vc3Bpbm5lcic7XG5cbmNvbnN0IFNUWUxFUyA9IGAud2YtZGVjcnlwdC1idG57YXBwZWFyYW5jZTpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lO2JvcmRlcjpub25lO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7aGVpZ2h0OjQwcHg7cGFkZGluZzowIDEycHg7Ym9yZGVyLXJhZGl1czo2cHg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjIwcHg7Y3Vyc29yOnBvaW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwO2dhcDo2cHg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIDE1MG1zfS53Zi1kZWNyeXB0LWlkbGV7Y29sb3I6dmFyKC0tZHMtZ3JheS0xMDAwKTtiYWNrZ3JvdW5kOnZhcigtLWRzLWJhY2tncm91bmQtMTAwKTtib3gtc2hhZG93OjAgMCAwIDFweCB2YXIoLS1kcy1ncmF5LTQwMCl9LndmLWRlY3J5cHQtaWRsZTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWRzLWdyYXktYWxwaGEtMjAwKX0ud2YtZGVjcnlwdC1kb25le2NvbG9yOnZhcigtLWRzLWdyZWVuLTkwMCk7YmFja2dyb3VuZDp2YXIoLS1kcy1ncmVlbi0xMDApO2JveC1zaGFkb3c6MCAwIDAgMXB4IHZhcigtLWRzLWdyZWVuLTQwMCk7Y3Vyc29yOmRlZmF1bHR9YDtcblxuaW50ZXJmYWNlIERlY3J5cHRCdXR0b25Qcm9wcyB7XG4gIC8qKiBXaGV0aGVyIGFuIGVuY3J5cHRpb24ga2V5IGhhcyBiZWVuIG9idGFpbmVkIChkZWNyeXB0aW9uIGlzIGFjdGl2ZSkuICovXG4gIGRlY3J5cHRlZD86IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRoZSBrZXkgaXMgY3VycmVudGx5IGJlaW5nIGZldGNoZWQuICovXG4gIGxvYWRpbmc/OiBib29sZWFuO1xuICAvKiogQ2FsbGVkIHdoZW4gdGhlIHVzZXIgY2xpY2tzIHRvIGluaXRpYXRlIGRlY3J5cHRpb24uICovXG4gIG9uQ2xpY2s/OiAoKSA9PiB2b2lkO1xufVxuXG4vKipcbiAqIERlY3J5cHQvRGVjcnlwdGVkIGJ1dHRvbiB1c2luZyBHZWlzdCBzZWNvbmRhcnkgc3R5bGUuXG4gKiBUaHJlZSBzdGF0ZXM6IGlkbGUgKHNlY29uZGFyeSBncmF5KSwgZGVjcnlwdGluZyAoc3Bpbm5lciksIGRlY3J5cHRlZCAoZ3JlZW4gc3VjY2VzcykuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBEZWNyeXB0QnV0dG9uKHtcbiAgZGVjcnlwdGVkID0gZmFsc2UsXG4gIGxvYWRpbmcgPSBmYWxzZSxcbiAgb25DbGljayxcbn06IERlY3J5cHRCdXR0b25Qcm9wcykge1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8c3R5bGUgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3sgX19odG1sOiBTVFlMRVMgfX0gLz5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9e2RlY3J5cHRlZCA/IHVuZGVmaW5lZCA6IG9uQ2xpY2t9XG4gICAgICAgIGRpc2FibGVkPXtkZWNyeXB0ZWQgfHwgbG9hZGluZ31cbiAgICAgICAgY2xhc3NOYW1lPXtgd2YtZGVjcnlwdC1idG4gJHtkZWNyeXB0ZWQgPyAnd2YtZGVjcnlwdC1kb25lJyA6ICd3Zi1kZWNyeXB0LWlkbGUnfWB9XG4gICAgICA+XG4gICAgICAgIHtsb2FkaW5nID8gKFxuICAgICAgICAgIDxTcGlubmVyIHNpemU9ezE0fSAvPlxuICAgICAgICApIDogZGVjcnlwdGVkID8gKFxuICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgIHdpZHRoPXsxNH1cbiAgICAgICAgICAgIGhlaWdodD17MTR9XG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICBzdHJva2VXaWR0aD17Mn1cbiAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8cmVjdCB4PVwiM1wiIHk9XCIxMVwiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxMVwiIHJ4PVwiMlwiIHJ5PVwiMlwiIC8+XG4gICAgICAgICAgICA8cGF0aCBkPVwiTTcgMTFWN2E1IDUgMCAwIDEgOS45LTFcIiAvPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgIHdpZHRoPXsxNH1cbiAgICAgICAgICAgIGhlaWdodD17MTR9XG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICBzdHJva2VXaWR0aD17Mn1cbiAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8cmVjdCB4PVwiM1wiIHk9XCIxMVwiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxMVwiIHJ4PVwiMlwiIHJ5PVwiMlwiIC8+XG4gICAgICAgICAgICA8cGF0aCBkPVwiTTcgMTFWN2E1IDUgMCAwIDEgMTAgMHY0XCIgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgKX1cbiAgICAgICAge2xvYWRpbmcgPyAnRGVjcnlwdGluZ+KApicgOiBkZWNyeXB0ZWQgPyAnRGVjcnlwdGVkJyA6ICdEZWNyeXB0J31cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvPlxuICApO1xufVxuIl19
|
|
@@ -14,4 +14,4 @@ export function ErrorCard({ title, className, details = 'Unknown error', }) {
|
|
|
14
14
|
color: 'var(--ds-red-900)',
|
|
15
15
|
}, children: details }) }))] }) }));
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItY2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3VpL2Vycm9yLWNhcmQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7QUFFYixPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVdyQzs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFDLEVBQ3hCLEtBQUssRUFDTCxTQUFTLEVBQ1QsT0FBTyxHQUFHLGVBQWUsR0FDVjtJQUNmLE1BQU0sQ0FBQyxVQUFVLEVBQUUsYUFBYSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXBELE9BQU8sQ0FDTCxjQUFLLFNBQVMsRUFBQyw0QkFBNEIsWUFDekMsZUFDRSxTQUFTLEVBQUUsRUFBRSxDQUNYLHVEQUF1RCxFQUN2RCxTQUFTLENBQ1YsRUFDRCxLQUFLLEVBQUUsRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsYUFFMUMsa0JBQ0UsSUFBSSxFQUFDLFFBQVEsRUFDYixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQ3pDLFNBQVMsRUFBQyxzRkFBc0YsRUFDaEcsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFLGFBRXJDLGVBQUssU0FBUyxFQUFDLHlCQUF5QixhQUN0QyxLQUFDLFdBQVcsSUFBQyxTQUFTLEVBQUMsa0JBQWtCLEdBQUcsRUFDNUMsZUFBTSxTQUFTLEVBQUMscUJBQXFCLFlBQUUsS0FBSyxHQUFRLElBQ2hELEVBQ04sZUFBSyxTQUFTLEVBQUMsc0NBQXNDLGFBQ25ELGVBQU0sU0FBUyxFQUFDLFNBQVMsc0NBQTZCLEVBQ3RELEtBQUMsV0FBVyxJQUNWLFNBQVMsRUFBRSxFQUFFLENBQ1gsMkNBQTJDLEVBQzNDLFVBQVUsSUFBSSxZQUFZLENBQzNCLEdBQ0QsSUFDRSxJQUNDLEVBRVIsVUFBVSxJQUFJLE9BQU8sSUFBSSxDQUN4QixjQUNFLFNBQVMsRUFBQyxXQUFXLEVBQ3JCLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSw2QkFBNkIsRUFBRSxZQUVuRCxjQUNFLFNBQVMsRUFBQyxxRkFBcUYsRUFDL0YsS0FBSyxFQUFFOzRCQUNMLFVBQVUsRUFBRSxtQkFBbUI7NEJBQy9CLEtBQUssRUFBRSxtQkFBbUI7eUJBQzNCLFlBRUEsT0FBTyxHQUNKLEdBQ0YsQ0FDUCxJQUNHLEdBQ0YsQ0FDUCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcblxuaW1wb3J0IHsgQWxlcnRDaXJjbGUsIENoZXZyb25Eb3duIH0gZnJvbSAnbHVjaWRlLXJlYWN0JztcbmltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY24gfSBmcm9tICcuLi8uLi9saWIvdXRpbHMnO1xuXG5pbnRlcmZhY2UgRXJyb3JDYXJkUHJvcHMge1xuICAvKiogVGl0bGUgc2hvd24gaW4gdGhlIGhlYWRlciAqL1xuICB0aXRsZTogc3RyaW5nO1xuICAvKiogRXJyb3IgbWVzc2FnZSBvciBkZXRhaWxzIHRvIHNob3cgd2hlbiBleHBhbmRlZCAqL1xuICBkZXRhaWxzPzogc3RyaW5nO1xuICAvKiogQWRkaXRpb25hbCBjbGFzcyBuYW1lcyAqL1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBjb2xsYXBzaWJsZSBlcnJvciBjYXJkIHRoYXQgc2hvd3MgYSB0aXRsZSB3aXRoIGFuIGVycm9yIGljb24sXG4gKiBhbmQgZXhwYW5kcyB0byByZXZlYWwgZGV0YWlscyB3aGVuIGNsaWNrZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFcnJvckNhcmQoe1xuICB0aXRsZSxcbiAgY2xhc3NOYW1lLFxuICBkZXRhaWxzID0gJ1Vua25vd24gZXJyb3InLFxufTogRXJyb3JDYXJkUHJvcHMpIHtcbiAgY29uc3QgW2lzRXhwYW5kZWQsIHNldElzRXhwYW5kZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktY2VudGVyIHctZnVsbFwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgICdyb3VuZGVkLWxnIGJvcmRlciBib3JkZXItcmVkLTQwMCB3LWZ1bGwgbWF4LXctWzgwMHB4XScsXG4gICAgICAgICAgY2xhc3NOYW1lXG4gICAgICAgICl9XG4gICAgICAgIHN0eWxlPXt7IGJhY2tncm91bmQ6ICd2YXIoLS1kcy1yZWQtMTAwKScgfX1cbiAgICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldElzRXhwYW5kZWQoIWlzRXhwYW5kZWQpfVxuICAgICAgICAgIGNsYXNzTmFtZT1cInctZnVsbCBweC00IHB5LTMgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGdhcC0yIHRleHQtbGVmdCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgc3R5bGU9e3sgY29sb3I6ICd2YXIoLS1kcy1yZWQtOTAwKScgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgIDxBbGVydENpcmNsZSBjbGFzc05hbWU9XCJoLTQgdy00IHNocmluay0wXCIgLz5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZvbnQtbWVkaXVtIHRleHQtc21cIj57dGl0bGV9PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEuNSBvcGFjaXR5LTcwXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzXCI+Q2xpY2sgdG8gc2hvdyBkZXRhaWxzPC9zcGFuPlxuICAgICAgICAgICAgPENoZXZyb25Eb3duXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgICAgICAgJ2gtNCB3LTQgdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tMjAwJyxcbiAgICAgICAgICAgICAgICBpc0V4cGFuZGVkICYmICdyb3RhdGUtMTgwJ1xuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAge2lzRXhwYW5kZWQgJiYgZGV0YWlscyAmJiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwicHgtNCBwYi0zXCJcbiAgICAgICAgICAgIHN0eWxlPXt7IGJvcmRlclRvcDogJzFweCBzb2xpZCB2YXIoLS1kcy1yZWQtNDAwKScgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8cHJlXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm10LTMgcC0zIHJvdW5kZWQtbWQgdGV4dC14cyBmb250LW1vbm8gd2hpdGVzcGFjZS1wcmUtd3JhcCBicmVhay13b3JkcyBvdmVyZmxvdy1hdXRvXCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tZHMtcmVkLTIwMCknLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tZHMtcmVkLTkwMCknLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7ZGV0YWlsc31cbiAgICAgICAgICAgIDwvcHJlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59XG4iXX0=
|
|
@@ -1,18 +1,25 @@
|
|
|
1
|
+
export type StructuredErrorRecord = Record<string, unknown> & {
|
|
2
|
+
message?: string;
|
|
3
|
+
stack?: string;
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* Check whether `value` looks like a structured error object we can render
|
|
7
|
+
* with the error block. Some persisted workflow errors only include a
|
|
8
|
+
* `message`, while runtime errors usually also include `stack`.
|
|
9
|
+
*/
|
|
10
|
+
export declare function isStructuredError(value: unknown): value is StructuredErrorRecord;
|
|
1
11
|
/**
|
|
2
|
-
*
|
|
3
|
-
* field that we can render as pre-formatted text.
|
|
12
|
+
* Narrower guard kept for callers that specifically need a stack trace.
|
|
4
13
|
*/
|
|
5
|
-
export declare function isStructuredErrorWithStack(value: unknown): value is
|
|
14
|
+
export declare function isStructuredErrorWithStack(value: unknown): value is StructuredErrorRecord & {
|
|
6
15
|
stack: string;
|
|
7
16
|
};
|
|
8
17
|
/**
|
|
9
|
-
* Renders
|
|
10
|
-
*
|
|
11
|
-
*
|
|
18
|
+
* Renders a structured error as a visually distinct error block. Shows the
|
|
19
|
+
* error message with an alert icon at the top, separated from the stack trace
|
|
20
|
+
* or full message below.
|
|
12
21
|
*/
|
|
13
|
-
export declare function ErrorStackBlock({ value
|
|
14
|
-
value:
|
|
15
|
-
stack: string;
|
|
16
|
-
};
|
|
22
|
+
export declare function ErrorStackBlock({ value }: {
|
|
23
|
+
value: StructuredErrorRecord;
|
|
17
24
|
}): import("react/jsx-runtime").JSX.Element;
|
|
18
25
|
//# sourceMappingURL=error-stack-block.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-stack-block.d.ts","sourceRoot":"","sources":["../../../src/components/ui/error-stack-block.tsx"],"names":[],"mappings":"AAKA
|
|
1
|
+
{"version":3,"file":"error-stack-block.d.ts","sourceRoot":"","sources":["../../../src/components/ui/error-stack-block.tsx"],"names":[],"mappings":"AAKA,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,qBAAqB,CAOhC;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,qBAAqB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAKpD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,qBAAqB,CAAA;CAAE,2CAsE1E"}
|
|
@@ -3,25 +3,39 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import { AlertCircle, Copy } from 'lucide-react';
|
|
4
4
|
import { useToast } from '../../lib/toast';
|
|
5
5
|
/**
|
|
6
|
-
* Check whether `value` looks like a structured error object
|
|
7
|
-
*
|
|
6
|
+
* Check whether `value` looks like a structured error object we can render
|
|
7
|
+
* with the error block. Some persisted workflow errors only include a
|
|
8
|
+
* `message`, while runtime errors usually also include `stack`.
|
|
8
9
|
*/
|
|
9
|
-
export function
|
|
10
|
+
export function isStructuredError(value) {
|
|
10
11
|
return (value != null &&
|
|
11
12
|
typeof value === 'object' &&
|
|
12
|
-
'
|
|
13
|
+
(typeof value.message === 'string' ||
|
|
14
|
+
typeof value.stack === 'string'));
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Narrower guard kept for callers that specifically need a stack trace.
|
|
18
|
+
*/
|
|
19
|
+
export function isStructuredErrorWithStack(value) {
|
|
20
|
+
return (isStructuredError(value) &&
|
|
13
21
|
typeof value.stack === 'string');
|
|
14
22
|
}
|
|
15
23
|
/**
|
|
16
|
-
* Renders
|
|
17
|
-
*
|
|
18
|
-
*
|
|
24
|
+
* Renders a structured error as a visually distinct error block. Shows the
|
|
25
|
+
* error message with an alert icon at the top, separated from the stack trace
|
|
26
|
+
* or full message below.
|
|
19
27
|
*/
|
|
20
|
-
export function ErrorStackBlock({ value
|
|
28
|
+
export function ErrorStackBlock({ value }) {
|
|
21
29
|
const toast = useToast();
|
|
22
|
-
const stack = value.stack;
|
|
30
|
+
const stack = typeof value.stack === 'string' ? value.stack : undefined;
|
|
23
31
|
const message = typeof value.message === 'string' ? value.message : undefined;
|
|
24
|
-
const
|
|
32
|
+
const body = stack ?? message ?? '';
|
|
33
|
+
// V8's `Error.stack` already starts with `Name: message`; message-only
|
|
34
|
+
// errors use the message as the body so long single-line failures remain
|
|
35
|
+
// readable even when the header truncates.
|
|
36
|
+
const copyText = message && stack && !stack.includes(message)
|
|
37
|
+
? `${message}\n\n${stack}`
|
|
38
|
+
: body;
|
|
25
39
|
return (_jsxs("div", { className: "relative overflow-hidden rounded-md border", style: {
|
|
26
40
|
borderColor: 'var(--ds-red-400)',
|
|
27
41
|
background: 'var(--ds-red-100)',
|
|
@@ -41,9 +55,9 @@ export function ErrorStackBlock({ value, }) {
|
|
|
41
55
|
}, children: _jsx(Copy, { size: 12 }) }), message && (_jsxs("div", { className: "flex items-start gap-2 px-3 py-2.5 pr-10", style: {
|
|
42
56
|
color: 'var(--ds-red-900)',
|
|
43
57
|
borderBottom: '1px solid var(--ds-red-400)',
|
|
44
|
-
}, children: [_jsx(AlertCircle, { className: "h-4 w-4 shrink-0", style: { marginTop: 1 } }), _jsx("p", { className: "text-xs font-semibold m-0 break-words", children: message })] })), _jsx("pre", { className: "px-3 py-2.5 text-xs font-mono whitespace-pre-wrap break-words overflow-auto m-0", style: {
|
|
58
|
+
}, children: [_jsx(AlertCircle, { className: "h-4 w-4 shrink-0", style: { marginTop: 1 } }), _jsx("p", { className: "text-xs font-semibold m-0 break-words", children: message })] })), body && (_jsx("pre", { className: "px-3 py-2.5 text-xs font-mono whitespace-pre-wrap break-words overflow-auto m-0", style: {
|
|
45
59
|
color: 'var(--ds-red-900)',
|
|
46
60
|
background: 'var(--ds-red-200)',
|
|
47
|
-
}, children:
|
|
61
|
+
}, children: body }))] }));
|
|
48
62
|
}
|
|
49
|
-
//# sourceMappingURL=
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3Itc3RhY2stYmxvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy91aS9lcnJvci1zdGFjay1ibG9jay50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOztBQUViLE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQU8zQzs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixLQUFjO0lBRWQsT0FBTyxDQUNMLEtBQUssSUFBSSxJQUFJO1FBQ2IsT0FBTyxLQUFLLEtBQUssUUFBUTtRQUN6QixDQUFDLE9BQVEsS0FBaUMsQ0FBQyxPQUFPLEtBQUssUUFBUTtZQUM3RCxPQUFRLEtBQWlDLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUNoRSxDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLDBCQUEwQixDQUN4QyxLQUFjO0lBRWQsT0FBTyxDQUNMLGlCQUFpQixDQUFDLEtBQUssQ0FBQztRQUN4QixPQUFRLEtBQStCLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FDM0QsQ0FBQztBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxFQUFFLEtBQUssRUFBb0M7SUFDekUsTUFBTSxLQUFLLEdBQUcsUUFBUSxFQUFFLENBQUM7SUFDekIsTUFBTSxLQUFLLEdBQUcsT0FBTyxLQUFLLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3hFLE1BQU0sT0FBTyxHQUFHLE9BQU8sS0FBSyxDQUFDLE9BQU8sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM5RSxNQUFNLElBQUksR0FBRyxLQUFLLElBQUksT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUNwQyx1RUFBdUU7SUFDdkUseUVBQXlFO0lBQ3pFLDJDQUEyQztJQUMzQyxNQUFNLFFBQVEsR0FDWixPQUFPLElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFDMUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxPQUFPLEtBQUssRUFBRTtRQUMxQixDQUFDLENBQUMsSUFBSSxDQUFDO0lBRVgsT0FBTyxDQUNMLGVBQ0UsU0FBUyxFQUFDLDRDQUE0QyxFQUN0RCxLQUFLLEVBQUU7WUFDTCxXQUFXLEVBQUUsbUJBQW1CO1lBQ2hDLFVBQVUsRUFBRSxtQkFBbUI7U0FDaEMsYUFFRCxpQkFDRSxJQUFJLEVBQUMsUUFBUSxnQkFDRixZQUFZLEVBQ3ZCLEtBQUssRUFBQyxNQUFNLEVBQ1osU0FBUyxFQUFDLGdNQUFnTSxFQUMxTSxLQUFLLEVBQUU7b0JBQ0wsV0FBVyxFQUFFLG1CQUFtQjtvQkFDaEMsVUFBVSxFQUFFLG1CQUFtQjtvQkFDL0IsS0FBSyxFQUFFLG1CQUFtQjtpQkFDM0IsRUFDRCxPQUFPLEVBQUUsR0FBRyxFQUFFO29CQUNaLFNBQVMsQ0FBQyxTQUFTO3lCQUNoQixTQUFTLENBQUMsUUFBUSxDQUFDO3lCQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFO3dCQUNULEtBQUssQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQztvQkFDdkMsQ0FBQyxDQUFDO3lCQUNELEtBQUssQ0FBQyxHQUFHLEVBQUU7d0JBQ1YsS0FBSyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO29CQUNoQyxDQUFDLENBQUMsQ0FBQztnQkFDUCxDQUFDLFlBRUQsS0FBQyxJQUFJLElBQUMsSUFBSSxFQUFFLEVBQUUsR0FBSSxHQUNYLEVBRVIsT0FBTyxJQUFJLENBQ1YsZUFDRSxTQUFTLEVBQUMsMENBQTBDLEVBQ3BELEtBQUssRUFBRTtvQkFDTCxLQUFLLEVBQUUsbUJBQW1CO29CQUMxQixZQUFZLEVBQUUsNkJBQTZCO2lCQUM1QyxhQUVELEtBQUMsV0FBVyxJQUFDLFNBQVMsRUFBQyxrQkFBa0IsRUFBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLEdBQUksRUFDckUsWUFBRyxTQUFTLEVBQUMsdUNBQXVDLFlBQUUsT0FBTyxHQUFLLElBQzlELENBQ1AsRUFDQSxJQUFJLElBQUksQ0FDUCxjQUNFLFNBQVMsRUFBQyxpRkFBaUYsRUFDM0YsS0FBSyxFQUFFO29CQUNMLEtBQUssRUFBRSxtQkFBbUI7b0JBQzFCLFVBQVUsRUFBRSxtQkFBbUI7aUJBQ2hDLFlBRUEsSUFBSSxHQUNELENBQ1AsSUFDRyxDQUNQLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuXG5pbXBvcnQgeyBBbGVydENpcmNsZSwgQ29weSB9IGZyb20gJ2x1Y2lkZS1yZWFjdCc7XG5pbXBvcnQgeyB1c2VUb2FzdCB9IGZyb20gJy4uLy4uL2xpYi90b2FzdCc7XG5cbmV4cG9ydCB0eXBlIFN0cnVjdHVyZWRFcnJvclJlY29yZCA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+ICYge1xuICBtZXNzYWdlPzogc3RyaW5nO1xuICBzdGFjaz86IHN0cmluZztcbn07XG5cbi8qKlxuICogQ2hlY2sgd2hldGhlciBgdmFsdWVgIGxvb2tzIGxpa2UgYSBzdHJ1Y3R1cmVkIGVycm9yIG9iamVjdCB3ZSBjYW4gcmVuZGVyXG4gKiB3aXRoIHRoZSBlcnJvciBibG9jay4gU29tZSBwZXJzaXN0ZWQgd29ya2Zsb3cgZXJyb3JzIG9ubHkgaW5jbHVkZSBhXG4gKiBgbWVzc2FnZWAsIHdoaWxlIHJ1bnRpbWUgZXJyb3JzIHVzdWFsbHkgYWxzbyBpbmNsdWRlIGBzdGFja2AuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1N0cnVjdHVyZWRFcnJvcihcbiAgdmFsdWU6IHVua25vd25cbik6IHZhbHVlIGlzIFN0cnVjdHVyZWRFcnJvclJlY29yZCB7XG4gIHJldHVybiAoXG4gICAgdmFsdWUgIT0gbnVsbCAmJlxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiZcbiAgICAodHlwZW9mICh2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikubWVzc2FnZSA9PT0gJ3N0cmluZycgfHxcbiAgICAgIHR5cGVvZiAodmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pLnN0YWNrID09PSAnc3RyaW5nJylcbiAgKTtcbn1cblxuLyoqXG4gKiBOYXJyb3dlciBndWFyZCBrZXB0IGZvciBjYWxsZXJzIHRoYXQgc3BlY2lmaWNhbGx5IG5lZWQgYSBzdGFjayB0cmFjZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzU3RydWN0dXJlZEVycm9yV2l0aFN0YWNrKFxuICB2YWx1ZTogdW5rbm93blxuKTogdmFsdWUgaXMgU3RydWN0dXJlZEVycm9yUmVjb3JkICYgeyBzdGFjazogc3RyaW5nIH0ge1xuICByZXR1cm4gKFxuICAgIGlzU3RydWN0dXJlZEVycm9yKHZhbHVlKSAmJlxuICAgIHR5cGVvZiAodmFsdWUgYXMgU3RydWN0dXJlZEVycm9yUmVjb3JkKS5zdGFjayA9PT0gJ3N0cmluZydcbiAgKTtcbn1cblxuLyoqXG4gKiBSZW5kZXJzIGEgc3RydWN0dXJlZCBlcnJvciBhcyBhIHZpc3VhbGx5IGRpc3RpbmN0IGVycm9yIGJsb2NrLiBTaG93cyB0aGVcbiAqIGVycm9yIG1lc3NhZ2Ugd2l0aCBhbiBhbGVydCBpY29uIGF0IHRoZSB0b3AsIHNlcGFyYXRlZCBmcm9tIHRoZSBzdGFjayB0cmFjZVxuICogb3IgZnVsbCBtZXNzYWdlIGJlbG93LlxuICovXG5leHBvcnQgZnVuY3Rpb24gRXJyb3JTdGFja0Jsb2NrKHsgdmFsdWUgfTogeyB2YWx1ZTogU3RydWN0dXJlZEVycm9yUmVjb3JkIH0pIHtcbiAgY29uc3QgdG9hc3QgPSB1c2VUb2FzdCgpO1xuICBjb25zdCBzdGFjayA9IHR5cGVvZiB2YWx1ZS5zdGFjayA9PT0gJ3N0cmluZycgPyB2YWx1ZS5zdGFjayA6IHVuZGVmaW5lZDtcbiAgY29uc3QgbWVzc2FnZSA9IHR5cGVvZiB2YWx1ZS5tZXNzYWdlID09PSAnc3RyaW5nJyA/IHZhbHVlLm1lc3NhZ2UgOiB1bmRlZmluZWQ7XG4gIGNvbnN0IGJvZHkgPSBzdGFjayA/PyBtZXNzYWdlID8/ICcnO1xuICAvLyBWOCdzIGBFcnJvci5zdGFja2AgYWxyZWFkeSBzdGFydHMgd2l0aCBgTmFtZTogbWVzc2FnZWA7IG1lc3NhZ2Utb25seVxuICAvLyBlcnJvcnMgdXNlIHRoZSBtZXNzYWdlIGFzIHRoZSBib2R5IHNvIGxvbmcgc2luZ2xlLWxpbmUgZmFpbHVyZXMgcmVtYWluXG4gIC8vIHJlYWRhYmxlIGV2ZW4gd2hlbiB0aGUgaGVhZGVyIHRydW5jYXRlcy5cbiAgY29uc3QgY29weVRleHQgPVxuICAgIG1lc3NhZ2UgJiYgc3RhY2sgJiYgIXN0YWNrLmluY2x1ZGVzKG1lc3NhZ2UpXG4gICAgICA/IGAke21lc3NhZ2V9XFxuXFxuJHtzdGFja31gXG4gICAgICA6IGJvZHk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9XCJyZWxhdGl2ZSBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1tZCBib3JkZXJcIlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYm9yZGVyQ29sb3I6ICd2YXIoLS1kcy1yZWQtNDAwKScsXG4gICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1kcy1yZWQtMTAwKScsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGFyaWEtbGFiZWw9XCJDb3B5IGVycm9yXCJcbiAgICAgICAgdGl0bGU9XCJDb3B5XCJcbiAgICAgICAgY2xhc3NOYW1lPVwiIWFic29sdXRlICFyaWdodC0yICF0b3AtMiAhZmxleCAhaC02ICF3LTYgIWl0ZW1zLWNlbnRlciAhanVzdGlmeS1jZW50ZXIgIXJvdW5kZWQtbWQgIWJvcmRlciB0cmFuc2l0aW9uLXRyYW5zZm9ybSB0cmFuc2l0aW9uLWNvbG9ycyBkdXJhdGlvbi0xMDAgaG92ZXI6IWJnLVt2YXIoLS1kcy1yZWQtMjAwKV0gYWN0aXZlOiFzY2FsZS05NVwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgYm9yZGVyQ29sb3I6ICd2YXIoLS1kcy1yZWQtNDAwKScsXG4gICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWRzLXJlZC0xMDApJyxcbiAgICAgICAgICBjb2xvcjogJ3ZhcigtLWRzLXJlZC05MDApJyxcbiAgICAgICAgfX1cbiAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgIG5hdmlnYXRvci5jbGlwYm9hcmRcbiAgICAgICAgICAgIC53cml0ZVRleHQoY29weVRleHQpXG4gICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgIHRvYXN0LnN1Y2Nlc3MoJ0NvcGllZCB0byBjbGlwYm9hcmQnKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICB0b2FzdC5lcnJvcignRmFpbGVkIHRvIGNvcHknKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8Q29weSBzaXplPXsxMn0gLz5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICB7bWVzc2FnZSAmJiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLXN0YXJ0IGdhcC0yIHB4LTMgcHktMi41IHByLTEwXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1kcy1yZWQtOTAwKScsXG4gICAgICAgICAgICBib3JkZXJCb3R0b206ICcxcHggc29saWQgdmFyKC0tZHMtcmVkLTQwMCknLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8QWxlcnRDaXJjbGUgY2xhc3NOYW1lPVwiaC00IHctNCBzaHJpbmstMFwiIHN0eWxlPXt7IG1hcmdpblRvcDogMSB9fSAvPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1zZW1pYm9sZCBtLTAgYnJlYWstd29yZHNcIj57bWVzc2FnZX08L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICAgIHtib2R5ICYmIChcbiAgICAgICAgPHByZVxuICAgICAgICAgIGNsYXNzTmFtZT1cInB4LTMgcHktMi41IHRleHQteHMgZm9udC1tb25vIHdoaXRlc3BhY2UtcHJlLXdyYXAgYnJlYWstd29yZHMgb3ZlcmZsb3ctYXV0byBtLTBcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWRzLXJlZC05MDApJyxcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1kcy1yZWQtMjAwKScsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHtib2R5fVxuICAgICAgICA8L3ByZT5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG59XG4iXX0=
|
|
@@ -112,4 +112,4 @@ export const inspectorThemeDark = {
|
|
|
112
112
|
TABLE_TH_HOVER_COLOR: 'var(--ds-gray-200)',
|
|
113
113
|
TABLE_SORT_ICON_COLOR: 'var(--ds-gray-500)',
|
|
114
114
|
};
|
|
115
|
-
//# sourceMappingURL=inspector-theme.js.map
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zcGVjdG9yLXRoZW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdWkvaW5zcGVjdG9yLXRoZW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBWUgsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQTJCO0lBQ2pFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxjQUFjO0NBQ25ELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBMkI7SUFDaEUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGNBQWM7Q0FDbkQsQ0FBQztBQUVGLDhFQUE4RTtBQUM5RSxpREFBaUQ7QUFDakQsOEVBQThFO0FBRTlFLE1BQU0sTUFBTSxHQUFHO0lBQ2IsY0FBYyxFQUFFLE1BQU07SUFDdEIsZ0JBQWdCLEVBQUUsR0FBRztJQUNyQixxQkFBcUIsRUFBRSxhQUFhO0lBQ3BDLG1DQUFtQyxFQUFFLEVBQUU7SUFDdkMsb0NBQW9DLEVBQUUsQ0FBQztJQUN2QywyQkFBMkIsRUFBRSxXQUFvQjtJQUNqRCxrQkFBa0IsRUFBRSxDQUFDO0lBQ3JCLGVBQWUsRUFBRSxFQUFFO0lBQ25CLG9CQUFvQixFQUFFLGtCQUFrQjtJQUN4QyxrQkFBa0IsRUFBRSxNQUFNO0lBQzFCLG9CQUFvQixFQUFFLEdBQUc7SUFDekIscUJBQXFCLEVBQUUsRUFBRTtJQUN6QiwyQkFBMkIsRUFBRSxNQUFNO0lBQ25DLDBCQUEwQixFQUFFLEdBQUc7Q0FDaEMsQ0FBQztBQUVGLDhFQUE4RTtBQUM5RSxjQUFjO0FBQ2QsOEVBQThFO0FBRTlFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLEdBQUcsTUFBTTtJQUVULFlBQVk7SUFDWixVQUFVLEVBQUUscUJBQXFCO0lBRWpDLHNFQUFzRTtJQUN0RSxpQkFBaUIsRUFBRSxvQkFBb0I7SUFFdkMsNENBQTRDO0lBQzVDLHlCQUF5QixFQUFFLFNBQVMsRUFBRSxZQUFZO0lBQ2xELHlCQUF5QixFQUFFLFNBQVM7SUFFcEMscURBQXFEO0lBQ3JELHlCQUF5QixFQUFFLFNBQVMsRUFBRSxnQ0FBZ0M7SUFDdEUsMEJBQTBCLEVBQUUsU0FBUztJQUVyQyx3Q0FBd0M7SUFDeEMsdUJBQXVCLEVBQUUsb0JBQW9CO0lBRTdDLGtDQUFrQztJQUNsQyw0QkFBNEIsRUFBRSxvQkFBb0I7SUFFbEQsZ0VBQWdFO0lBQ2hFLHlCQUF5QixFQUFFLFNBQVMsRUFBRSxVQUFVO0lBRWhELDhDQUE4QztJQUM5QyxrQ0FBa0MsRUFBRSxTQUFTLEVBQUUsV0FBVztJQUUxRCxvRUFBb0U7SUFDcEUsY0FBYyxFQUFFLG9CQUFvQjtJQUNwQyxrQkFBa0IsRUFBRSxTQUFTO0lBQzdCLHlCQUF5QixFQUFFLFNBQVM7SUFDcEMsMEJBQTBCLEVBQUUsU0FBUztJQUNyQyxrQkFBa0IsRUFBRSxvQkFBb0I7SUFDeEMsa0JBQWtCLEVBQUUsb0JBQW9CO0lBRXhDLGFBQWE7SUFDYixXQUFXLEVBQUUsb0JBQW9CO0lBQ2pDLGtCQUFrQixFQUFFLG9CQUFvQjtJQUN4Qyx5QkFBeUIsRUFBRSxvQkFBb0I7SUFDL0Msb0JBQW9CLEVBQUUsb0JBQW9CO0lBQzFDLHFCQUFxQixFQUFFLG9CQUFvQjtDQUM1QyxDQUFDO0FBRUYsOEVBQThFO0FBQzlFLGFBQWE7QUFDYiw4RUFBOEU7QUFFOUUsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsR0FBRyxNQUFNO0lBRVQsWUFBWTtJQUNaLFVBQVUsRUFBRSxxQkFBcUI7SUFFakMsb0ZBQW9GO0lBQ3BGLGlCQUFpQixFQUFFLG9CQUFvQjtJQUV2Qyw0Q0FBNEM7SUFDNUMseUJBQXlCLEVBQUUsU0FBUyxFQUFFLFlBQVk7SUFDbEQseUJBQXlCLEVBQUUsU0FBUztJQUVwQywrQ0FBK0M7SUFDL0MseUJBQXlCLEVBQUUsU0FBUyxFQUFFLGFBQWE7SUFDbkQsMEJBQTBCLEVBQUUsU0FBUztJQUVyQyxnREFBZ0Q7SUFDaEQsdUJBQXVCLEVBQUUscUJBQXFCO0lBRTlDLGtDQUFrQztJQUNsQyw0QkFBNEIsRUFBRSxvQkFBb0I7SUFFbEQscUNBQXFDO0lBQ3JDLHlCQUF5QixFQUFFLFNBQVMsRUFBRSxVQUFVO0lBRWhELDhDQUE4QztJQUM5QyxrQ0FBa0MsRUFBRSxTQUFTLEVBQUUsV0FBVztJQUUxRCxPQUFPO0lBQ1AsY0FBYyxFQUFFLG9CQUFvQjtJQUNwQyxrQkFBa0IsRUFBRSxTQUFTO0lBQzdCLHlCQUF5QixFQUFFLFNBQVM7SUFDcEMsMEJBQTBCLEVBQUUsU0FBUztJQUNyQyxrQkFBa0IsRUFBRSxvQkFBb0I7SUFDeEMsa0JBQWtCLEVBQUUsb0JBQW9CO0lBRXhDLGFBQWE7SUFDYixXQUFXLEVBQUUsb0JBQW9CO0lBQ2pDLGtCQUFrQixFQUFFLG9CQUFvQjtJQUN4Qyx5QkFBeUIsRUFBRSxvQkFBb0I7SUFDL0Msb0JBQW9CLEVBQUUsb0JBQW9CO0lBQzFDLHFCQUFxQixFQUFFLG9CQUFvQjtDQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTaGFyZWQgdGhlbWUgY29uZmlndXJhdGlvbiBmb3IgcmVhY3QtaW5zcGVjdG9yJ3MgT2JqZWN0SW5zcGVjdG9yLlxuICpcbiAqIENvbG9yIGNob2ljZXMgYXJlIGluc3BpcmVkIGJ5IE5vZGUuanMgYHV0aWwuaW5zcGVjdCgpYCBBTlNJIHN0eWxpemluZzpcbiAqICAgLSBwcm9wZXJ0eSBuYW1lczogdW5zdHlsZWQgKGRlZmF1bHQgZm9yZWdyb3VuZCDigJQgZGFyayB0ZXh0IG9uIGxpZ2h0LCBsaWdodCB0ZXh0IG9uIGRhcmspXG4gKiAgIC0gc3RyaW5ncyAvIHN5bWJvbHM6IGdyZWVuXG4gKiAgIC0gbnVtYmVycyAvIGJvb2xlYW5zIC8gYmlnaW50OiB5ZWxsb3dcbiAqICAgLSBudWxsOiBib2xkIChmb3JlZ3JvdW5kKVxuICogICAtIHVuZGVmaW5lZDogZ3JleVxuICogICAtIHJlZ2V4cDogcmVkXG4gKiAgIC0gZnVuY3Rpb25zIChzcGVjaWFsKTogY3lhblxuICogICAtIGRhdGU6IG1hZ2VudGFcbiAqXG4gKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ub2RlanMvbm9kZS9ibG9iL21haW4vbGliL2ludGVybmFsL3V0aWwvaW5zcGVjdC5qc1xuICovXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRXh0ZW5kZWQgY29sb3IgdG9rZW5zIG5vdCBzdXBwb3J0ZWQgYnkgcmVhY3QtaW5zcGVjdG9yJ3MgYnVpbHQtaW4gdGhlbWVcbi8vIHN5c3RlbSwgYXBwbGllZCB2aWEgb3VyIGN1c3RvbSBub2RlUmVuZGVyZXIgaW4gZGF0YS1pbnNwZWN0b3IudHN4LlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5zcGVjdG9yVGhlbWVFeHRlbmRlZCB7XG4gIC8qKiBDb2xvciBmb3IgRGF0ZSB2YWx1ZXMgKE5vZGU6ICdtYWdlbnRhJykgKi9cbiAgT0JKRUNUX1ZBTFVFX0RBVEVfQ09MT1I6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IGluc3BlY3RvclRoZW1lRXh0ZW5kZWRMaWdodDogSW5zcGVjdG9yVGhlbWVFeHRlbmRlZCA9IHtcbiAgT0JKRUNUX1ZBTFVFX0RBVEVfQ09MT1I6ICcjYTIxY2FmJywgLy8gZnVjaHNpYS03MDBcbn07XG5cbmV4cG9ydCBjb25zdCBpbnNwZWN0b3JUaGVtZUV4dGVuZGVkRGFyazogSW5zcGVjdG9yVGhlbWVFeHRlbmRlZCA9IHtcbiAgT0JKRUNUX1ZBTFVFX0RBVEVfQ09MT1I6ICcjZTg3OWY5JywgLy8gZnVjaHNpYS00MDBcbn07XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2hhcmVkIHN0cnVjdHVyYWwgdmFsdWVzIChzYW1lIGluIGJvdGggdGhlbWVzKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmNvbnN0IHNoYXJlZCA9IHtcbiAgQkFTRV9GT05UX1NJWkU6ICcxMXB4JyxcbiAgQkFTRV9MSU5FX0hFSUdIVDogMS40LFxuICBCQVNFX0JBQ0tHUk9VTkRfQ09MT1I6ICd0cmFuc3BhcmVudCcsXG4gIE9CSkVDVF9QUkVWSUVXX0FSUkFZX01BWF9QUk9QRVJUSUVTOiAxMCxcbiAgT0JKRUNUX1BSRVZJRVdfT0JKRUNUX01BWF9QUk9QRVJUSUVTOiA1LFxuICBIVE1MX1RBR05BTUVfVEVYVF9UUkFOU0ZPUk06ICdsb3dlcmNhc2UnIGFzIGNvbnN0LFxuICBBUlJPV19NQVJHSU5fUklHSFQ6IDMsXG4gIEFSUk9XX0ZPTlRfU0laRTogMTIsXG4gIFRSRUVOT0RFX0ZPTlRfRkFNSUxZOiAndmFyKC0tZm9udC1tb25vKScsXG4gIFRSRUVOT0RFX0ZPTlRfU0laRTogJzExcHgnLFxuICBUUkVFTk9ERV9MSU5FX0hFSUdIVDogMS40LFxuICBUUkVFTk9ERV9QQURESU5HX0xFRlQ6IDEyLFxuICBUQUJMRV9EQVRBX0JBQ0tHUk9VTkRfSU1BR0U6ICdub25lJyxcbiAgVEFCTEVfREFUQV9CQUNLR1JPVU5EX1NJWkU6ICcwJyxcbn07XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTGlnaHQgdGhlbWVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5leHBvcnQgY29uc3QgaW5zcGVjdG9yVGhlbWVMaWdodCA9IHtcbiAgLi4uc2hhcmVkLFxuXG4gIC8vIEJhc2UgdGV4dFxuICBCQVNFX0NPTE9SOiAndmFyKC0tZHMtZ3JheS0xMDAwKScsXG5cbiAgLy8gUHJvcGVydHkgbmFtZXMg4oCUIHVuc3R5bGVkLCBzYW1lIGFzIGJhc2UgZm9yZWdyb3VuZCAoTm9kZTogbm8gc3R5bGUpXG4gIE9CSkVDVF9OQU1FX0NPTE9SOiAndmFyKC0tZHMtZ3JheS05MDApJyxcblxuICAvLyBTdHJpbmdzICYgc3ltYm9scyDigJQgZ3JlZW4gKE5vZGU6ICdncmVlbicpXG4gIE9CSkVDVF9WQUxVRV9TVFJJTkdfQ09MT1I6ICcjMTZhMzRhJywgLy8gZ3JlZW4tNjAwXG4gIE9CSkVDVF9WQUxVRV9TWU1CT0xfQ09MT1I6ICcjMTZhMzRhJyxcblxuICAvLyBOdW1iZXJzICYgYm9vbGVhbnMg4oCUIHllbGxvdy9hbWJlciAoTm9kZTogJ3llbGxvdycpXG4gIE9CSkVDVF9WQUxVRV9OVU1CRVJfQ09MT1I6ICcjYjQ1MzA5JywgLy8gYW1iZXItNzAwIChyZWFkYWJsZSBvbiB3aGl0ZSlcbiAgT0JKRUNUX1ZBTFVFX0JPT0xFQU5fQ09MT1I6ICcjYjQ1MzA5JyxcblxuICAvLyBudWxsIOKAlCBib2xkIGZvcmVncm91bmQgKE5vZGU6ICdib2xkJylcbiAgT0JKRUNUX1ZBTFVFX05VTExfQ09MT1I6ICd2YXIoLS1kcy1ncmF5LTkwMCknLFxuXG4gIC8vIHVuZGVmaW5lZCDigJQgZ3JleSAoTm9kZTogJ2dyZXknKVxuICBPQkpFQ1RfVkFMVUVfVU5ERUZJTkVEX0NPTE9SOiAndmFyKC0tZHMtZ3JheS01MDApJyxcblxuICAvLyBSZWdFeHAg4oCUIHJlZCAoTm9kZSByZWdleHAgYmFzZSB1c2VzIGdyZWVuL3JlZC95ZWxsb3cgcGFsZXR0ZSlcbiAgT0JKRUNUX1ZBTFVFX1JFR0VYUF9DT0xPUjogJyNkYzI2MjYnLCAvLyByZWQtNjAwXG5cbiAgLy8gRnVuY3Rpb25zIOKAlCBjeWFuIChOb2RlOiAnc3BlY2lhbCcg4oaSICdjeWFuJylcbiAgT0JKRUNUX1ZBTFVFX0ZVTkNUSU9OX1BSRUZJWF9DT0xPUjogJyMwODkxYjInLCAvLyBjeWFuLTYwMFxuXG4gIC8vIEhUTUwgKGxlc3MgcmVsZXZhbnQgZm9yIGRhdGEgaW5zcGVjdGlvbiwgYnV0IHJlYXNvbmFibGUgZGVmYXVsdHMpXG4gIEhUTUxfVEFHX0NPTE9SOiAndmFyKC0tZHMtZ3JheS01MDApJyxcbiAgSFRNTF9UQUdOQU1FX0NPTE9SOiAnIzA4OTFiMicsXG4gIEhUTUxfQVRUUklCVVRFX05BTUVfQ09MT1I6ICcjYjQ1MzA5JyxcbiAgSFRNTF9BVFRSSUJVVEVfVkFMVUVfQ09MT1I6ICcjMTZhMzRhJyxcbiAgSFRNTF9DT01NRU5UX0NPTE9SOiAndmFyKC0tZHMtZ3JheS00MDApJyxcbiAgSFRNTF9ET0NUWVBFX0NPTE9SOiAndmFyKC0tZHMtZ3JheS00MDApJyxcblxuICAvLyBTdHJ1Y3R1cmFsXG4gIEFSUk9XX0NPTE9SOiAndmFyKC0tZHMtZ3JheS01MDApJyxcbiAgVEFCTEVfQk9SREVSX0NPTE9SOiAndmFyKC0tZHMtZ3JheS0zMDApJyxcbiAgVEFCTEVfVEhfQkFDS0dST1VORF9DT0xPUjogJ3ZhcigtLWRzLWdyYXktMTAwKScsXG4gIFRBQkxFX1RIX0hPVkVSX0NPTE9SOiAndmFyKC0tZHMtZ3JheS0yMDApJyxcbiAgVEFCTEVfU09SVF9JQ09OX0NPTE9SOiAndmFyKC0tZHMtZ3JheS01MDApJyxcbn07XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGFyayB0aGVtZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmV4cG9ydCBjb25zdCBpbnNwZWN0b3JUaGVtZURhcmsgPSB7XG4gIC4uLnNoYXJlZCxcblxuICAvLyBCYXNlIHRleHRcbiAgQkFTRV9DT0xPUjogJ3ZhcigtLWRzLWdyYXktMTAwMCknLFxuXG4gIC8vIFByb3BlcnR5IG5hbWVzIOKAlCB3aGl0ZS9saWdodCBmb3JlZ3JvdW5kIChOb2RlOiB1bnN0eWxlZCA9IHdoaXRlIGluIGRhcmsgdGVybWluYWwpXG4gIE9CSkVDVF9OQU1FX0NPTE9SOiAndmFyKC0tZHMtZ3JheS05MDApJyxcblxuICAvLyBTdHJpbmdzICYgc3ltYm9scyDigJQgZ3JlZW4gKE5vZGU6ICdncmVlbicpXG4gIE9CSkVDVF9WQUxVRV9TVFJJTkdfQ09MT1I6ICcjNGFkZTgwJywgLy8gZ3JlZW4tNDAwXG4gIE9CSkVDVF9WQUxVRV9TWU1CT0xfQ09MT1I6ICcjNGFkZTgwJyxcblxuICAvLyBOdW1iZXJzICYgYm9vbGVhbnMg4oCUIHllbGxvdyAoTm9kZTogJ3llbGxvdycpXG4gIE9CSkVDVF9WQUxVRV9OVU1CRVJfQ09MT1I6ICcjZmFjYzE1JywgLy8geWVsbG93LTQwMFxuICBPQkpFQ1RfVkFMVUVfQk9PTEVBTl9DT0xPUjogJyNmYWNjMTUnLFxuXG4gIC8vIG51bGwg4oCUIGJvbGQgZm9yZWdyb3VuZCAvIHdoaXRlIChOb2RlOiAnYm9sZCcpXG4gIE9CSkVDVF9WQUxVRV9OVUxMX0NPTE9SOiAndmFyKC0tZHMtZ3JheS0xMDAwKScsXG5cbiAgLy8gdW5kZWZpbmVkIOKAlCBncmV5IChOb2RlOiAnZ3JleScpXG4gIE9CSkVDVF9WQUxVRV9VTkRFRklORURfQ09MT1I6ICd2YXIoLS1kcy1ncmF5LTUwMCknLFxuXG4gIC8vIFJlZ0V4cCDigJQgcmVkIChOb2RlIHJlZ2V4cCBwYWxldHRlKVxuICBPQkpFQ1RfVkFMVUVfUkVHRVhQX0NPTE9SOiAnI2Y4NzE3MScsIC8vIHJlZC00MDBcblxuICAvLyBGdW5jdGlvbnMg4oCUIGN5YW4gKE5vZGU6ICdzcGVjaWFsJyDihpIgJ2N5YW4nKVxuICBPQkpFQ1RfVkFMVUVfRlVOQ1RJT05fUFJFRklYX0NPTE9SOiAnIzIyZDNlZScsIC8vIGN5YW4tNDAwXG5cbiAgLy8gSFRNTFxuICBIVE1MX1RBR19DT0xPUjogJ3ZhcigtLWRzLWdyYXktNTAwKScsXG4gIEhUTUxfVEFHTkFNRV9DT0xPUjogJyMyMmQzZWUnLFxuICBIVE1MX0FUVFJJQlVURV9OQU1FX0NPTE9SOiAnI2ZhY2MxNScsXG4gIEhUTUxfQVRUUklCVVRFX1ZBTFVFX0NPTE9SOiAnIzRhZGU4MCcsXG4gIEhUTUxfQ09NTUVOVF9DT0xPUjogJ3ZhcigtLWRzLWdyYXktNTAwKScsXG4gIEhUTUxfRE9DVFlQRV9DT0xPUjogJ3ZhcigtLWRzLWdyYXktNTAwKScsXG5cbiAgLy8gU3RydWN0dXJhbFxuICBBUlJPV19DT0xPUjogJ3ZhcigtLWRzLWdyYXktNTAwKScsXG4gIFRBQkxFX0JPUkRFUl9DT0xPUjogJ3ZhcigtLWRzLWdyYXktMzAwKScsXG4gIFRBQkxFX1RIX0JBQ0tHUk9VTkRfQ09MT1I6ICd2YXIoLS1kcy1ncmF5LTEwMCknLFxuICBUQUJMRV9USF9IT1ZFUl9DT0xPUjogJ3ZhcigtLWRzLWdyYXktMjAwKScsXG4gIFRBQkxFX1NPUlRfSUNPTl9DT0xPUjogJ3ZhcigtLWRzLWdyYXktNTAwKScsXG59O1xuIl19
|
|
@@ -9,4 +9,4 @@ const STYLES = `.wf-load-more{appearance:none;-webkit-appearance:none;border:non
|
|
|
9
9
|
export function LoadMoreButton({ loading = false, onClick, label = 'Load more', loadingLabel = 'Loading...', }) {
|
|
10
10
|
return (_jsxs(_Fragment, { children: [_jsx("style", { dangerouslySetInnerHTML: { __html: STYLES } }), _jsxs("button", { type: "button", onClick: onClick, disabled: loading, className: "wf-load-more", children: [loading && _jsx(Spinner, { size: 14 }), loading ? loadingLabel : label] })] }));
|
|
11
11
|
}
|
|
12
|
-
//# sourceMappingURL=
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1tb3JlLWJ1dHRvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3VpL2xvYWQtbW9yZS1idXR0b24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7QUFFYixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXBDLE1BQU0sTUFBTSxHQUFHLHFqQkFBcWpCLENBQUM7QUFTcmtCOzs7R0FHRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsRUFDN0IsT0FBTyxHQUFHLEtBQUssRUFDZixPQUFPLEVBQ1AsS0FBSyxHQUFHLFdBQVcsRUFDbkIsWUFBWSxHQUFHLFlBQVksR0FDUDtJQUNwQixPQUFPLENBQ0wsOEJBQ0UsZ0JBQU8sdUJBQXVCLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUksRUFDdEQsa0JBQ0UsSUFBSSxFQUFDLFFBQVEsRUFDYixPQUFPLEVBQUUsT0FBTyxFQUNoQixRQUFRLEVBQUUsT0FBTyxFQUNqQixTQUFTLEVBQUMsY0FBYyxhQUV2QixPQUFPLElBQUksS0FBQyxPQUFPLElBQUMsSUFBSSxFQUFFLEVBQUUsR0FBSSxFQUNoQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUN4QixJQUNSLENBQ0osQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5cbmltcG9ydCB7IFNwaW5uZXIgfSBmcm9tICcuL3NwaW5uZXInO1xuXG5jb25zdCBTVFlMRVMgPSBgLndmLWxvYWQtbW9yZXthcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7Ym9yZGVyOm5vbmU7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtoZWlnaHQ6MzJweDtwYWRkaW5nOjAgMTJweDtib3JkZXItcmFkaXVzOjZweDtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MjBweDtjb2xvcjp2YXIoLS1kcy1ncmF5LTEwMDApO2JhY2tncm91bmQ6dmFyKC0tZHMtYmFja2dyb3VuZC0xMDApO2JveC1zaGFkb3c6MCAwIDAgMXB4IHZhcigtLWRzLWdyYXktNDAwKTtjdXJzb3I6cG9pbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7Z2FwOjZweDt0cmFuc2l0aW9uOmJhY2tncm91bmQgMTUwbXN9LndmLWxvYWQtbW9yZTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWRzLWdyYXktYWxwaGEtMjAwKX0ud2YtbG9hZC1tb3JlOmRpc2FibGVke29wYWNpdHk6LjY7Y3Vyc29yOmRlZmF1bHR9LndmLWxvYWQtbW9yZTpkaXNhYmxlZDpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWRzLWJhY2tncm91bmQtMTAwKX1gO1xuXG5pbnRlcmZhY2UgTG9hZE1vcmVCdXR0b25Qcm9wcyB7XG4gIGxvYWRpbmc/OiBib29sZWFuO1xuICBvbkNsaWNrPzogKCkgPT4gdm9pZDtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGxvYWRpbmdMYWJlbD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIFwiTG9hZCBtb3JlXCIgYnV0dG9uIG1hdGNoaW5nIEdlaXN0J3MgQnV0dG9uIHR5cGU9XCJzZWNvbmRhcnlcIiBzaXplPVwic21hbGxcIlxuICogd2l0aCBhIHNwaW5uZXIgcHJlZml4IHdoZW4gbG9hZGluZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExvYWRNb3JlQnV0dG9uKHtcbiAgbG9hZGluZyA9IGZhbHNlLFxuICBvbkNsaWNrLFxuICBsYWJlbCA9ICdMb2FkIG1vcmUnLFxuICBsb2FkaW5nTGFiZWwgPSAnTG9hZGluZy4uLicsXG59OiBMb2FkTW9yZUJ1dHRvblByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxzdHlsZSBkYW5nZXJvdXNseVNldElubmVySFRNTD17eyBfX2h0bWw6IFNUWUxFUyB9fSAvPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgICAgZGlzYWJsZWQ9e2xvYWRpbmd9XG4gICAgICAgIGNsYXNzTmFtZT1cIndmLWxvYWQtbW9yZVwiXG4gICAgICA+XG4gICAgICAgIHtsb2FkaW5nICYmIDxTcGlubmVyIHNpemU9ezE0fSAvPn1cbiAgICAgICAge2xvYWRpbmcgPyBsb2FkaW5nTGFiZWwgOiBsYWJlbH1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvPlxuICApO1xufVxuIl19
|
|
@@ -43,4 +43,4 @@ export function MenuDropdown({ options, value, onChange, }) {
|
|
|
43
43
|
setOpen(false);
|
|
44
44
|
}, children: option.label }, option.value))) }))] }));
|
|
45
45
|
}
|
|
46
|
-
//# sourceMappingURL=
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1kcm9wZG93bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3VpL21lbnUtZHJvcGRvd24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7QUFFYixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFcEQsTUFBTSxNQUFNLEdBQUcscXZCQUFxdkIsQ0FBQztBQWFyd0I7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBNEIsRUFDdEQsT0FBTyxFQUNQLEtBQUssRUFDTCxRQUFRLEdBQ2E7SUFDckIsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFpQixJQUFJLENBQUMsQ0FBQztJQUN6QyxNQUFNLEtBQUssR0FDVCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxFQUFFLEtBQUssSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUUzRSxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ2IsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ2xCLFNBQVMsa0JBQWtCLENBQUMsQ0FBYTtZQUN2QyxJQUFJLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBYyxDQUFDLEVBQUUsQ0FBQztnQkFDM0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pCLENBQUM7UUFDSCxDQUFDO1FBQ0QsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBQzNELE9BQU8sR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQzdFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFFWCxPQUFPLENBQ0wsZUFBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxhQUMzRCxnQkFBTyx1QkFBdUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBSSxFQUV0RCxrQkFDRSxJQUFJLEVBQUMsUUFBUSxFQUNiLFNBQVMsRUFBQyxhQUFhLEVBQ3ZCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFFN0IseUJBQU8sS0FBSyxHQUFRLEVBQ3BCLGNBQ0UsS0FBSyxFQUFFLEVBQUUsRUFDVCxNQUFNLEVBQUUsRUFBRSxFQUNWLE9BQU8sRUFBQyxXQUFXLEVBQ25CLElBQUksRUFBQyxNQUFNLEVBQ1gsS0FBSyxFQUFFOzRCQUNMLFVBQVUsRUFBRSxFQUFFOzRCQUNkLFdBQVcsRUFBRSxDQUFDLENBQUM7NEJBQ2YsS0FBSyxFQUFFLG9CQUFvQjt5QkFDNUIsWUFFRCxlQUNFLENBQUMsRUFBQyxxQkFBcUIsRUFDdkIsTUFBTSxFQUFDLGNBQWMsRUFDckIsV0FBVyxFQUFDLEtBQUssRUFDakIsYUFBYSxFQUFDLE9BQU8sRUFDckIsY0FBYyxFQUFDLE9BQU8sR0FDdEIsR0FDRSxJQUNDLEVBRVIsSUFBSSxJQUFJLENBQ1AsY0FDRSxLQUFLLEVBQUU7b0JBQ0wsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLEtBQUssRUFBRSxDQUFDO29CQUNSLEdBQUcsRUFBRSxNQUFNO29CQUNYLFNBQVMsRUFBRSxDQUFDO29CQUNaLFFBQVEsRUFBRSxHQUFHO29CQUNiLE9BQU8sRUFBRSxDQUFDO29CQUNWLFlBQVksRUFBRSxFQUFFO29CQUNoQixVQUFVLEVBQUUsMEJBQTBCO29CQUN0QyxTQUFTLEVBQUUsZ0RBQWdEO29CQUMzRCxNQUFNLEVBQUUsSUFBSTtpQkFDYixFQUNELElBQUksRUFBQyxNQUFNLFlBRVYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FDdkIsaUJBRUUsSUFBSSxFQUFDLFFBQVEsRUFDYixJQUFJLEVBQUMsVUFBVSxFQUNmLFNBQVMsRUFBQyxjQUFjLEVBQ3hCLEtBQUssRUFBRTt3QkFDTCxVQUFVLEVBQUUsTUFBTSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRztxQkFDL0MsRUFDRCxPQUFPLEVBQUUsR0FBRyxFQUFFO3dCQUNaLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ3ZCLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDakIsQ0FBQyxZQUVBLE1BQU0sQ0FBQyxLQUFLLElBWlIsTUFBTSxDQUFDLEtBQUssQ0FhVixDQUNWLENBQUMsR0FDRSxDQUNQLElBQ0csQ0FDUCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcblxuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuXG5jb25zdCBTVFlMRVMgPSBgLndmLW1lbnUtYnRue2FwcGVhcmFuY2U6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtib3JkZXI6bm9uZTtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2hlaWdodDo0MHB4O3BhZGRpbmc6MCAxMnB4O2JvcmRlci1yYWRpdXM6NnB4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoyMHB4O2NvbG9yOnZhcigtLWRzLWdyYXktMTAwMCk7YmFja2dyb3VuZDp2YXIoLS1kcy1iYWNrZ3JvdW5kLTEwMCk7Ym94LXNoYWRvdzowIDAgMCAxcHggdmFyKC0tZHMtZ3JheS00MDApO2N1cnNvcjpwb2ludGVyO3doaXRlLXNwYWNlOm5vd3JhcDt0cmFuc2l0aW9uOmJhY2tncm91bmQgMTUwbXN9LndmLW1lbnUtYnRuOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tZHMtZ3JheS1hbHBoYS0yMDApfS53Zi1tZW51LWl0ZW17YXBwZWFyYW5jZTpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lO2JvcmRlcjpub25lO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MTAwJTtoZWlnaHQ6NDBweDtwYWRkaW5nOjAgOHB4O2JvcmRlci1yYWRpdXM6NnB4O2ZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLWRzLWdyYXktMTAwMCk7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgMTUwbXN9LndmLW1lbnUtaXRlbTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWRzLWdyYXktYWxwaGEtMTAwKX1gO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1lbnVEcm9wZG93bk9wdGlvbjxUIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPiB7XG4gIHZhbHVlOiBUO1xuICBsYWJlbDogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgTWVudURyb3Bkb3duUHJvcHM8VCBleHRlbmRzIHN0cmluZyA9IHN0cmluZz4ge1xuICBvcHRpb25zOiBNZW51RHJvcGRvd25PcHRpb248VD5bXTtcbiAgdmFsdWU6IFQ7XG4gIG9uQ2hhbmdlOiAodmFsdWU6IFQpID0+IHZvaWQ7XG59XG5cbi8qKlxuICogQSBkcm9wZG93biBtZW51IHRoYXQgbWF0Y2hlcyBHZWlzdCdzIE1lbnVCdXR0b24gKHNlY29uZGFyeSkgKyBNZW51IHN0eWxpbmcuXG4gKiBVc2VzIENTUyBjbGFzc2VzIHdpdGggcHJvcGVyIDpob3ZlciBzcGVjaWZpY2l0eSAobm8gaW5saW5lIGJhY2tncm91bmQpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gTWVudURyb3Bkb3duPFQgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmc+KHtcbiAgb3B0aW9ucyxcbiAgdmFsdWUsXG4gIG9uQ2hhbmdlLFxufTogTWVudURyb3Bkb3duUHJvcHM8VD4pIHtcbiAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCByZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBsYWJlbCA9XG4gICAgb3B0aW9ucy5maW5kKChvKSA9PiBvLnZhbHVlID09PSB2YWx1ZSk/LmxhYmVsID8/IG9wdGlvbnNbMF0/LmxhYmVsID8/ICcnO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFvcGVuKSByZXR1cm47XG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xpY2tPdXRzaWRlKGU6IE1vdXNlRXZlbnQpIHtcbiAgICAgIGlmIChyZWYuY3VycmVudCAmJiAhcmVmLmN1cnJlbnQuY29udGFpbnMoZS50YXJnZXQgYXMgTm9kZSkpIHtcbiAgICAgICAgc2V0T3BlbihmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgcmV0dXJuICgpID0+IGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gIH0sIFtvcGVuXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17cmVmfSBzdHlsZT17eyBwb3NpdGlvbjogJ3JlbGF0aXZlJywgZmxleFNocmluazogMCB9fT5cbiAgICAgIDxzdHlsZSBkYW5nZXJvdXNseVNldElubmVySFRNTD17eyBfX2h0bWw6IFNUWUxFUyB9fSAvPlxuXG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzc05hbWU9XCJ3Zi1tZW51LWJ0blwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHNldE9wZW4oIW9wZW4pfVxuICAgICAgPlxuICAgICAgICA8c3Bhbj57bGFiZWx9PC9zcGFuPlxuICAgICAgICA8c3ZnXG4gICAgICAgICAgd2lkdGg9ezE2fVxuICAgICAgICAgIGhlaWdodD17MTZ9XG4gICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiXG4gICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBtYXJnaW5MZWZ0OiAxNixcbiAgICAgICAgICAgIG1hcmdpblJpZ2h0OiAtNCxcbiAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tZHMtZ3JheS05MDApJyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGQ9XCJNNC41IDZMOCA5LjVMMTEuNSA2XCJcbiAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICBzdHJva2VXaWR0aD1cIjEuNVwiXG4gICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAge29wZW4gJiYgKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICB0b3A6ICcxMDAlJyxcbiAgICAgICAgICAgIG1hcmdpblRvcDogNCxcbiAgICAgICAgICAgIG1pbldpZHRoOiAxNDAsXG4gICAgICAgICAgICBwYWRkaW5nOiA0LFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAxMixcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1kcy1iYWNrZ3JvdW5kLTEwMCknLFxuICAgICAgICAgICAgYm94U2hhZG93OiAndmFyKC0tZHMtc2hhZG93LW1lbnUsIHZhcigtLWRzLXNoYWRvdy1tZWRpdW0pKScsXG4gICAgICAgICAgICB6SW5kZXg6IDIwMDEsXG4gICAgICAgICAgfX1cbiAgICAgICAgICByb2xlPVwibWVudVwiXG4gICAgICAgID5cbiAgICAgICAgICB7b3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gKFxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBrZXk9e29wdGlvbi52YWx1ZX1cbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cIndmLW1lbnUtaXRlbVwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZm9udFdlaWdodDogb3B0aW9uLnZhbHVlID09PSB2YWx1ZSA/IDUwMCA6IDQwMCxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgIG9uQ2hhbmdlKG9wdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICAgICAgc2V0T3BlbihmYWxzZSk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtvcHRpb24ubGFiZWx9XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufVxuIl19
|
|
@@ -4,4 +4,4 @@ function Skeleton({ className, style, ...props }) {
|
|
|
4
4
|
return (_jsx("div", { ...props, className: cn('rounded-md', className), style: { backgroundColor: 'var(--ds-gray-200)', ...style } }));
|
|
5
5
|
}
|
|
6
6
|
export { Skeleton };
|
|
7
|
-
//# sourceMappingURL=
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy91aS9za2VsZXRvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVyQyxTQUFTLFFBQVEsQ0FBQyxFQUNoQixTQUFTLEVBQ1QsS0FBSyxFQUNMLEdBQUcsS0FBSyxFQUM2QjtJQUNyQyxPQUFPLENBQ0wsaUJBQ00sS0FBSyxFQUNULFNBQVMsRUFBRSxFQUFFLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxFQUN0QyxLQUFLLEVBQUUsRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxLQUFLLEVBQUUsR0FDMUQsQ0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVELE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNuIH0gZnJvbSAnLi4vLi4vbGliL3V0aWxzJztcblxuZnVuY3Rpb24gU2tlbGV0b24oe1xuICBjbGFzc05hbWUsXG4gIHN0eWxlLFxuICAuLi5wcm9wc1xufTogUmVhY3QuSFRNTEF0dHJpYnV0ZXM8SFRNTERpdkVsZW1lbnQ+KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgey4uLnByb3BzfVxuICAgICAgY2xhc3NOYW1lPXtjbigncm91bmRlZC1tZCcsIGNsYXNzTmFtZSl9XG4gICAgICBzdHlsZT17eyBiYWNrZ3JvdW5kQ29sb3I6ICd2YXIoLS1kcy1ncmF5LTIwMCknLCAuLi5zdHlsZSB9fVxuICAgIC8+XG4gICk7XG59XG5cbmV4cG9ydCB7IFNrZWxldG9uIH07XG4iXX0=
|
|
@@ -54,4 +54,4 @@ export function Spinner({ size = 14, color, }) {
|
|
|
54
54
|
animationDelay: `${delay}ms`,
|
|
55
55
|
} }, delay)))] }));
|
|
56
56
|
}
|
|
57
|
-
//# sourceMappingURL=
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3VpL3NwaW5uZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxNQUFNLFNBQVMsR0FBRyw0REFBNEQsQ0FBQztBQUUvRTs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsT0FBTyxDQUFDLEVBQ3RCLElBQUksR0FBRyxFQUFFLEVBQ1QsS0FBSyxHQUlOO0lBQ0MsTUFBTSxNQUFNLEdBQ1YsSUFBSSxJQUFJLEVBQUU7UUFDUixDQUFDLENBQUM7WUFDRSxLQUFLLEVBQUUsQ0FBQztZQUNSLEtBQUssRUFBRSxFQUFFO1lBQ1QsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELFFBQVEsRUFBRSxJQUFJO1lBQ2QsS0FBSyxFQUFFLENBQUM7WUFDUixLQUFLLEVBQUUsR0FBRztTQUNYO1FBQ0gsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFO1lBQ1YsQ0FBQyxDQUFDO2dCQUNFLEtBQUssRUFBRSxFQUFFO2dCQUNULEtBQUssRUFBRSxFQUFFO2dCQUNULE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDakUsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsS0FBSyxFQUFFLEdBQUc7YUFDWDtZQUNILENBQUMsQ0FBQztnQkFDRSxLQUFLLEVBQUUsRUFBRTtnQkFDVCxLQUFLLEVBQUUsRUFBRTtnQkFDVCxNQUFNLEVBQUU7b0JBQ04sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHO29CQUM1RCxDQUFDLEdBQUcsRUFBRSxDQUFDO2lCQUNSO2dCQUNELFFBQVEsRUFBRSxJQUFJO2dCQUNkLEtBQUssRUFBRSxJQUFJLEdBQUcsSUFBSTtnQkFDbEIsS0FBSyxFQUFFLElBQUksR0FBRyxJQUFJO2FBQ25CLENBQUM7SUFFVixPQUFPLENBQ0wsZ0JBQ0UsS0FBSyxFQUFFO1lBQ0wsT0FBTyxFQUFFLGFBQWE7WUFDdEIsUUFBUSxFQUFFLFVBQVU7WUFDcEIsS0FBSyxFQUFFLElBQUk7WUFDWCxNQUFNLEVBQUUsSUFBSTtTQUNiLGFBRUQsZ0JBQU8sdUJBQXVCLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUksRUFDeEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUMvQixlQUVFLEtBQUssRUFBRTtvQkFDTCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsSUFBSSxFQUFFLEtBQUs7b0JBQ1gsR0FBRyxFQUFFLEtBQUs7b0JBQ1YsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO29CQUNuQixNQUFNLEVBQUUsTUFBTSxDQUFDLEtBQUs7b0JBQ3BCLFVBQVUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQztvQkFDN0IsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDO29CQUM1QixZQUFZLEVBQUUsQ0FBQztvQkFDZixlQUFlLEVBQUUsS0FBSyxJQUFJLG9CQUFvQjtvQkFDOUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLGtCQUFrQixJQUFJLEdBQUcsSUFBSSxLQUFLO29CQUN2RSxTQUFTLEVBQUUsbUJBQW1CLE1BQU0sQ0FBQyxRQUFRLG9CQUFvQjtvQkFDakUsY0FBYyxFQUFFLEdBQUcsS0FBSyxJQUFJO2lCQUM3QixJQWRJLEtBQUssQ0FlVixDQUNILENBQUMsSUFDRyxDQUNSLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgS0VZRlJBTUVTID0gYEBrZXlmcmFtZXMgd2Ytc3Bpbm5lci1mYWRlezAle29wYWNpdHk6MX0xMDAle29wYWNpdHk6LjE1fX1gO1xuXG4vKipcbiAqIFNwaW5uZXIgbWF0Y2hpbmcgR2Vpc3QncyBtdWx0aS1saW5lIGZhZGUgc3Bpbm5lci5cbiAqIEF0IHNpemUg4omkMTI6IDggbGluZXMsIOKJpDE2OiAxMCBsaW5lcywgZWxzZTogMTIgbGluZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTcGlubmVyKHtcbiAgc2l6ZSA9IDE0LFxuICBjb2xvcixcbn06IHtcbiAgc2l6ZT86IG51bWJlcjtcbiAgY29sb3I/OiBzdHJpbmc7XG59KSB7XG4gIGNvbnN0IGNvbmZpZyA9XG4gICAgc2l6ZSA8PSAxMlxuICAgICAgPyB7XG4gICAgICAgICAgY291bnQ6IDgsXG4gICAgICAgICAgYW5nbGU6IDQ1LFxuICAgICAgICAgIGRlbGF5czogWy04NzUsIC03NTAsIC02MjUsIC01MDAsIC0zNzUsIC0yNTAsIC0xMjUsIDBdLFxuICAgICAgICAgIGR1cmF0aW9uOiAxMDAwLFxuICAgICAgICAgIGxpbmVXOiAzLFxuICAgICAgICAgIGxpbmVIOiAxLjUsXG4gICAgICAgIH1cbiAgICAgIDogc2l6ZSA8PSAxNlxuICAgICAgICA/IHtcbiAgICAgICAgICAgIGNvdW50OiAxMCxcbiAgICAgICAgICAgIGFuZ2xlOiAzNixcbiAgICAgICAgICAgIGRlbGF5czogWy05MDAsIC04MDAsIC03MDAsIC02MDAsIC01MDAsIC00MDAsIC0zMDAsIC0yMDAsIC0xMDAsIDBdLFxuICAgICAgICAgICAgZHVyYXRpb246IDEwMDAsXG4gICAgICAgICAgICBsaW5lVzogNCxcbiAgICAgICAgICAgIGxpbmVIOiAxLjUsXG4gICAgICAgICAgfVxuICAgICAgICA6IHtcbiAgICAgICAgICAgIGNvdW50OiAxMixcbiAgICAgICAgICAgIGFuZ2xlOiAzMCxcbiAgICAgICAgICAgIGRlbGF5czogW1xuICAgICAgICAgICAgICAtMTEwMCwgLTEwMDAsIC05MDAsIC04MDAsIC03MDAsIC02MDAsIC01MDAsIC00MDAsIC0zMDAsIC0yMDAsXG4gICAgICAgICAgICAgIC0xMDAsIDAsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgZHVyYXRpb246IDEyMDAsXG4gICAgICAgICAgICBsaW5lVzogc2l6ZSAqIDAuMjQsXG4gICAgICAgICAgICBsaW5lSDogc2l6ZSAqIDAuMDgsXG4gICAgICAgICAgfTtcblxuICByZXR1cm4gKFxuICAgIDxzcGFuXG4gICAgICBzdHlsZT17e1xuICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWZsZXgnLFxuICAgICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgICAgd2lkdGg6IHNpemUsXG4gICAgICAgIGhlaWdodDogc2l6ZSxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPHN0eWxlIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogS0VZRlJBTUVTIH19IC8+XG4gICAgICB7Y29uZmlnLmRlbGF5cy5tYXAoKGRlbGF5LCBpKSA9PiAoXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAga2V5PXtkZWxheX1cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICBsZWZ0OiAnNTAlJyxcbiAgICAgICAgICAgIHRvcDogJzUwJScsXG4gICAgICAgICAgICB3aWR0aDogY29uZmlnLmxpbmVXLFxuICAgICAgICAgICAgaGVpZ2h0OiBjb25maWcubGluZUgsXG4gICAgICAgICAgICBtYXJnaW5MZWZ0OiAtY29uZmlnLmxpbmVXIC8gMixcbiAgICAgICAgICAgIG1hcmdpblRvcDogLWNvbmZpZy5saW5lSCAvIDIsXG4gICAgICAgICAgICBib3JkZXJSYWRpdXM6IDEsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yID8/ICd2YXIoLS1kcy1ncmF5LTcwMCknLFxuICAgICAgICAgICAgdHJhbnNmb3JtOiBgcm90YXRlKCR7aSAqIGNvbmZpZy5hbmdsZX1kZWcpIHRyYW5zbGF0ZSgke3NpemUgKiAwLjM2fXB4KWAsXG4gICAgICAgICAgICBhbmltYXRpb246IGB3Zi1zcGlubmVyLWZhZGUgJHtjb25maWcuZHVyYXRpb259bXMgbGluZWFyIGluZmluaXRlYCxcbiAgICAgICAgICAgIGFuaW1hdGlvbkRlbGF5OiBgJHtkZWxheX1tc2AsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICkpfVxuICAgIDwvc3Bhbj5cbiAgKTtcbn1cbiJdfQ==
|
|
@@ -197,4 +197,4 @@ export function TimestampTooltip({ date, children, }) {
|
|
|
197
197
|
// biome-ignore lint/a11y/noStaticElementInteractions: tooltip trigger
|
|
198
198
|
_jsxs("span", { ref: triggerRef, onMouseEnter: handleOpen, onMouseLeave: scheduleClose, style: { display: 'inline-flex' }, children: [children, open && triggerRect && (_jsx(TooltipPortal, { triggerRect: triggerRect, onMouseEnter: cancelClose, onMouseLeave: scheduleClose, date: ts }))] }));
|
|
199
199
|
}
|
|
200
|
-
//# sourceMappingURL=timestamp-tooltip.js.map
|
|
200
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXN0YW1wLXRvb2x0aXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy91aS90aW1lc3RhbXAtdG9vbHRpcC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOztBQUdiLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBV3pDLE1BQU0sVUFBVSxHQUFlO0lBQzdCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFO0lBQ2pDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFO0lBQ2pDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFO0lBQzdCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFO0lBQzdCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFO0lBQzdCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFO0NBQzdCLENBQUM7QUFFRixTQUFTLG9CQUFvQixDQUFDLElBQVk7SUFDeEMsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFFNUIsS0FBSyxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFB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XG5cbmltcG9ydCB0eXBlIHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAncmVhY3QtZG9tJztcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaW1lIGZvcm1hdHRpbmcgaGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmludGVyZmFjZSBUaW1lVW5pdCB7XG4gIHVuaXQ6IHN0cmluZztcbiAgbXM6IG51bWJlcjtcbn1cblxuY29uc3QgVElNRV9VTklUUzogVGltZVVuaXRbXSA9IFtcbiAgeyB1bml0OiAneWVhcicsIG1zOiAzMTUzNjAwMDAwMCB9LFxuICB7IHVuaXQ6ICdtb250aCcsIG1zOiAyNjI4MDAwMDAwIH0sXG4gIHsgdW5pdDogJ2RheScsIG1zOiA4NjQwMDAwMCB9LFxuICB7IHVuaXQ6ICdob3VyJywgbXM6IDM2MDAwMDAgfSxcbiAgeyB1bml0OiAnbWludXRlJywgbXM6IDYwMDAwIH0sXG4gIHsgdW5pdDogJ3NlY29uZCcsIG1zOiAxMDAwIH0sXG5dO1xuXG5mdW5jdGlvbiBmb3JtYXRUaW1lRGlmZmVyZW5jZShkaWZmOiBudW1iZXIpOiBzdHJpbmcge1xuICBsZXQgcmVtYWluaW5nID0gTWF0aC5hYnMoZGlmZik7XG4gIGNvbnN0IHJlc3VsdDogc3RyaW5nW10gPSBbXTtcblxuICBmb3IgKGNvbnN0IHsgdW5pdCwgbXMgfSBvZiBUSU1FX1VOSVRTKSB7XG4gICAgY29uc3QgdmFsdWUgPSBNYXRoLmZsb29yKHJlbWFpbmluZyAvIG1zKTtcbiAgICBpZiAodmFsdWUgPiAwIHx8IHJlc3VsdC5sZW5ndGggPiAwKSB7XG4gICAgICByZXN1bHQucHVzaChgJHt2YWx1ZX0gJHt1bml0fSR7dmFsdWUgIT09IDEgPyAncycgOiAnJ31gKTtcbiAgICAgIHJlbWFpbmluZyAlPSBtcztcbiAgICB9XG4gICAgaWYgKHJlc3VsdC5sZW5ndGggPT09IDMpIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdC5qb2luKCcsICcpO1xufVxuXG5mdW5jdGlvbiB1c2VUaW1lQWdvKGRhdGU6IG51bWJlcik6IHN0cmluZyB7XG4gIGNvbnN0IFt0aW1lQWdvLCBzZXRUaW1lQWdvXSA9IHVzZVN0YXRlPHN0cmluZz4oJycpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgdXBkYXRlID0gKCk6IHZvaWQgPT4ge1xuICAgICAgY29uc3QgZGlmZiA9IERhdGUubm93KCkgLSBkYXRlO1xuICAgICAgY29uc3QgZm9ybWF0dGVkID0gZm9ybWF0VGltZURpZmZlcmVuY2UoZGlmZik7XG4gICAgICBzZXRUaW1lQWdvKGZvcm1hdHRlZCA/IGAke2Zvcm1hdHRlZH0gYWdvYCA6ICdKdXN0IG5vdycpO1xuICAgIH07XG4gICAgdXBkYXRlKCk7XG4gICAgY29uc3QgdGltZXIgPSBzZXRJbnRlcnZhbCh1cGRhdGUsIDEwMDApO1xuICAgIHJldHVybiAoKSA9PiBjbGVhckludGVydmFsKHRpbWVyKTtcbiAgfSwgW2RhdGVdKTtcblxuICByZXR1cm4gdGltZUFnbztcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaW1lem9uZSByb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5mdW5jdGlvbiBab25lRGF0ZVRpbWVSb3coe1xuICBkYXRlLFxuICB6b25lLFxufToge1xuICB6b25lOiBzdHJpbmc7XG4gIGRhdGU6IG51bWJlcjtcbn0pOiBSZWFjdE5vZGUge1xuICBjb25zdCBkYXRlT2JqID0gbmV3IERhdGUoZGF0ZSk7XG5cbiAgY29uc3QgZm9ybWF0dGVkWm9uZSA9XG4gICAgbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoJ2VuLVVTJywge1xuICAgICAgdGltZVpvbmU6IHpvbmUsXG4gICAgICB0aW1lWm9uZU5hbWU6ICdzaG9ydCcsXG4gICAgfSlcbiAgICAgIC5mb3JtYXRUb1BhcnRzKGRhdGVPYmopXG4gICAgICAuZmluZCgocGFydCkgPT4gcGFydC50eXBlID09PSAndGltZVpvbmVOYW1lJyk/LnZhbHVlIHx8IHpvbmU7XG5cbiAgY29uc3QgZm9ybWF0dGVkRGF0ZSA9IGRhdGVPYmoudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xuICAgIHRpbWVab25lOiB6b25lLFxuICAgIHllYXI6ICdudW1lcmljJyxcbiAgICBtb250aDogJ2xvbmcnLFxuICAgIGRheTogJ251bWVyaWMnLFxuICB9KTtcblxuICBjb25zdCBmb3JtYXR0ZWRUaW1lID0gZGF0ZU9iai50b0xvY2FsZVRpbWVTdHJpbmcoJ2VuLVVTJywge1xuICAgIHRpbWVab25lOiB6b25lLFxuICAgIGhvdXI6ICcyLWRpZ2l0JyxcbiAgICBtaW51dGU6ICcyLWRpZ2l0JyxcbiAgICBzZWNvbmQ6ICcyLWRpZ2l0JyxcbiAgfSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBzdHlsZT17e1xuICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICAgICAgICBnYXA6IDEyLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogNiB9fT5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWZsZXgnLFxuICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICBoZWlnaHQ6IDE2LFxuICAgICAgICAgICAgcGFkZGluZzogJzAgNnB4JyxcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3ZhcigtLWRzLWdyYXktMjAwKScsXG4gICAgICAgICAgICBib3JkZXJSYWRpdXM6IDMsXG4gICAgICAgICAgICBmb250U2l6ZTogMTEsXG4gICAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1tb25vLCBtb25vc3BhY2UpJyxcbiAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDUwMCxcbiAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tZHMtZ3JheS05MDApJyxcbiAgICAgICAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICB7Zm9ybWF0dGVkWm9uZX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZvbnRTaXplOiAxMyxcbiAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tZHMtZ3JheS0xMDAwKScsXG4gICAgICAgICAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAge2Zvcm1hdHRlZERhdGV9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNwYW5cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBmb250U2l6ZTogMTEsXG4gICAgICAgICAgZm9udEZhbWlseTogJ3ZhcigtLWZvbnQtbW9ubywgbW9ub3NwYWNlKScsXG4gICAgICAgICAgZm9udFZhcmlhbnROdW1lcmljOiAndGFidWxhci1udW1zJyxcbiAgICAgICAgICBjb2xvcjogJ3ZhcigtLWRzLWdyYXktOTAwKScsXG4gICAgICAgICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHtmb3JtYXR0ZWRUaW1lfVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRvb2x0aXAgY2FyZCBjb250ZW50XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuZnVuY3Rpb24gVGltZXN0YW1wVG9vbHRpcENvbnRlbnQoeyBkYXRlIH06IHsgZGF0ZTogbnVtYmVyIH0pOiBSZWFjdE5vZGUge1xuICBjb25zdCBsb2NhbFRpbWV6b25lID0gSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lO1xuICBjb25zdCB0aW1lQWdvID0gdXNlVGltZUFnbyhkYXRlKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgIGdhcDogMTIsXG4gICAgICAgIG1pbldpZHRoOiAzMDAsXG4gICAgICAgIHBhZGRpbmc6ICcxMnB4IDE0cHgnLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8c3BhblxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZvbnRTaXplOiAxMyxcbiAgICAgICAgICBmb250VmFyaWFudE51bWVyaWM6ICd0YWJ1bGFyLW51bXMnLFxuICAgICAgICAgIGNvbG9yOiAndmFyKC0tZHMtZ3JheS05MDApJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge3RpbWVBZ299XG4gICAgICA8L3NwYW4+XG4gICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIGdhcDogOCB9fT5cbiAgICAgICAgPFpvbmVEYXRlVGltZVJvdyBkYXRlPXtkYXRlfSB6b25lPVwiVVRDXCIgLz5cbiAgICAgICAgPFpvbmVEYXRlVGltZVJvdyBkYXRlPXtkYXRlfSB6b25lPXtsb2NhbFRpbWV6b25lfSAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSG92ZXIgdG9vbHRpcCB3cmFwcGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuY29uc3QgVE9PTFRJUF9XSURUSCA9IDMzMDtcbmNvbnN0IFZJRVdQT1JUX1BBRCA9IDg7XG5cbmZ1bmN0aW9uIFRvb2x0aXBQb3J0YWwoe1xuICB0cmlnZ2VyUmVjdCxcbiAgb25Nb3VzZUVudGVyLFxuICBvbk1vdXNlTGVhdmUsXG4gIGRhdGUsXG59OiB7XG4gIHRyaWdnZXJSZWN0OiBET01SZWN0O1xuICBvbk1vdXNlRW50ZXI6ICgpID0+IHZvaWQ7XG4gIG9uTW91c2VMZWF2ZTogKCkgPT4gdm9pZDtcbiAgZGF0ZTogbnVtYmVyO1xufSk6IFJlYWN0Tm9kZSB7XG4gIGNvbnN0IHRvb2x0aXBSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBbc3R5bGUsIHNldFN0eWxlXSA9IHVzZVN0YXRlPFJlYWN0LkNTU1Byb3BlcnRpZXM+KHtcbiAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICB6SW5kZXg6IDk5OTksXG4gICAgdmlzaWJpbGl0eTogJ2hpZGRlbicsXG4gIH0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgcGxhY2VtZW50ID0gdHJpZ2dlclJlY3QudG9wID4gMjQwID8gJ2Fib3ZlJyA6ICdiZWxvdyc7XG4gICAgY29uc3QgY2VudGVyWCA9IHRyaWdnZXJSZWN0LmxlZnQgKyB0cmlnZ2VyUmVjdC53aWR0aCAvIDI7XG5cbiAgICBjb25zdCBlbCA9IHRvb2x0aXBSZWYuY3VycmVudDtcbiAgICBjb25zdCB3ID0gZWwgPyBlbC5vZmZzZXRXaWR0aCA6IFRPT0xUSVBfV0lEVEg7XG4gICAgY29uc3QgaCA9IGVsID8gZWwub2Zmc2V0SGVpZ2h0IDogMTAwO1xuXG4gICAgbGV0IGxlZnQgPSBjZW50ZXJYIC0gdyAvIDI7XG4gICAgbGVmdCA9IE1hdGgubWF4KFxuICAgICAgVklFV1BPUlRfUEFELFxuICAgICAgTWF0aC5taW4obGVmdCwgd2luZG93LmlubmVyV2lkdGggLSB3IC0gVklFV1BPUlRfUEFEKVxuICAgICk7XG5cbiAgICBsZXQgdG9wOiBudW1iZXI7XG4gICAgaWYgKHBsYWNlbWVudCA9PT0gJ2Fib3ZlJykge1xuICAgICAgdG9wID0gdHJpZ2dlclJlY3QudG9wIC0gaCAtIDY7XG4gICAgICBpZiAodG9wIDwgVklFV1BPUlRfUEFEKSB7XG4gICAgICAgIHRvcCA9IHRyaWdnZXJSZWN0LmJvdHRvbSArIDY7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRvcCA9IHRyaWdnZXJSZWN0LmJvdHRvbSArIDY7XG4gICAgICBpZiAodG9wICsgaCA+IHdpbmRvdy5pbm5lckhlaWdodCAtIFZJRVdQT1JUX1BBRCkge1xuICAgICAgICB0b3AgPSB0cmlnZ2VyUmVjdC50b3AgLSBoIC0gNjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRTdHlsZSh7XG4gICAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICAgIGxlZnQsXG4gICAgICB0b3AsXG4gICAgICB6SW5kZXg6IDk5OTksXG4gICAgICBib3JkZXJSYWRpdXM6IDEwLFxuICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkIHZhcigtLWRzLWdyYXktYWxwaGEtMjAwKScsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd2YXIoLS1kcy1iYWNrZ3JvdW5kLTEwMCknLFxuICAgICAgYm94U2hhZG93OiAnMCA0cHggMTJweCByZ2JhKDAsMCwwLDAuMDgpLCAwIDFweCAzcHggcmdiYSgwLDAsMCwwLjA2KScsXG4gICAgICB2aXNpYmlsaXR5OiAndmlzaWJsZScsXG4gICAgfSk7XG4gIH0sIFt0cmlnZ2VyUmVjdF0pO1xuXG4gIHJldHVybiBjcmVhdGVQb3J0YWwoXG4gICAgLy8gYmlvbWUtaWdub3JlIGxpbnQvYTExeS9ub1N0YXRpY0VsZW1lbnRJbnRlcmFjdGlvbnM6IHRvb2x0aXAgaG92ZXIgem9uZVxuICAgIDxkaXZcbiAgICAgIHJlZj17dG9vbHRpcFJlZn1cbiAgICAgIG9uTW91c2VFbnRlcj17b25Nb3VzZUVudGVyfVxuICAgICAgb25Nb3VzZUxlYXZlPXtvbk1vdXNlTGVhdmV9XG4gICAgICBzdHlsZT17c3R5bGV9XG4gICAgPlxuICAgICAgPFRpbWVzdGFtcFRvb2x0aXBDb250ZW50IGRhdGU9e2RhdGV9IC8+XG4gICAgPC9kaXY+LFxuICAgIGRvY3VtZW50LmJvZHlcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFRpbWVzdGFtcFRvb2x0aXAoe1xuICBkYXRlLFxuICBjaGlsZHJlbixcbn06IHtcbiAgZGF0ZTogbnVtYmVyIHwgRGF0ZSB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59KTogUmVhY3ROb2RlIHtcbiAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbdHJpZ2dlclJlY3QsIHNldFRyaWdnZXJSZWN0XSA9IHVzZVN0YXRlPERPTVJlY3QgfCBudWxsPihudWxsKTtcbiAgY29uc3QgdHJpZ2dlclJlZiA9IHVzZVJlZjxIVE1MU3BhbkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBjbG9zZVRpbWVyID0gdXNlUmVmPFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbD4obnVsbCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKGNsb3NlVGltZXIuY3VycmVudCkgY2xlYXJUaW1lb3V0KGNsb3NlVGltZXIuY3VycmVudCk7XG4gICAgfTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IHRzID1cbiAgICBkYXRlID09IG51bGxcbiAgICAgID8gbnVsbFxuICAgICAgOiB0eXBlb2YgZGF0ZSA9PT0gJ251bWJlcidcbiAgICAgICAgPyBkYXRlXG4gICAgICAgIDogbmV3IERhdGUoZGF0ZSkuZ2V0VGltZSgpO1xuXG4gIGlmICh0cyA9PSBudWxsIHx8IE51bWJlci5pc05hTih0cykpIHJldHVybiA8PntjaGlsZHJlbn08Lz47XG5cbiAgY29uc3QgY2FuY2VsQ2xvc2UgPSAoKSA9PiB7XG4gICAgaWYgKGNsb3NlVGltZXIuY3VycmVudCkge1xuICAgICAgY2xlYXJUaW1lb3V0KGNsb3NlVGltZXIuY3VycmVudCk7XG4gICAgICBjbG9zZVRpbWVyLmN1cnJlbnQgPSBudWxsO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBzY2hlZHVsZUNsb3NlID0gKCkgPT4ge1xuICAgIGNhbmNlbENsb3NlKCk7XG4gICAgY2xvc2VUaW1lci5jdXJyZW50ID0gc2V0VGltZW91dCgoKSA9PiBzZXRPcGVuKGZhbHNlKSwgMTIwKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVPcGVuID0gKCkgPT4ge1xuICAgIGNhbmNlbENsb3NlKCk7XG4gICAgaWYgKHRyaWdnZXJSZWYuY3VycmVudCkge1xuICAgICAgc2V0VHJpZ2dlclJlY3QodHJpZ2dlclJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTtcbiAgICB9XG4gICAgc2V0T3Blbih0cnVlKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIC8vIGJpb21lLWlnbm9yZSBsaW50L2ExMXkvbm9TdGF0aWNFbGVtZW50SW50ZXJhY3Rpb25zOiB0b29sdGlwIHRyaWdnZXJcbiAgICA8c3BhblxuICAgICAgcmVmPXt0cmlnZ2VyUmVmfVxuICAgICAgb25Nb3VzZUVudGVyPXtoYW5kbGVPcGVufVxuICAgICAgb25Nb3VzZUxlYXZlPXtzY2hlZHVsZUNsb3NlfVxuICAgICAgc3R5bGU9e3sgZGlzcGxheTogJ2lubGluZS1mbGV4JyB9fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICAgIHtvcGVuICYmIHRyaWdnZXJSZWN0ICYmIChcbiAgICAgICAgPFRvb2x0aXBQb3J0YWxcbiAgICAgICAgICB0cmlnZ2VyUmVjdD17dHJpZ2dlclJlY3R9XG4gICAgICAgICAgb25Nb3VzZUVudGVyPXtjYW5jZWxDbG9zZX1cbiAgICAgICAgICBvbk1vdXNlTGVhdmU9e3NjaGVkdWxlQ2xvc2V9XG4gICAgICAgICAgZGF0ZT17dHN9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvc3Bhbj5cbiAgKTtcbn1cbiJdfQ==
|
|
@@ -687,4 +687,4 @@ export const WorkflowTraceViewer = ({ run, events, isLoading, error, spanDetailD
|
|
|
687
687
|
e.currentTarget.style.background = 'transparent';
|
|
688
688
|
}, children: _jsx(X, { size: 16 }) }) })] }), _jsx("div", { className: "flex-1 overflow-y-auto", children: _jsx(ErrorBoundary, { title: "Failed to load entity details", children: _jsx(EntityDetailPanel, { run: run, onStreamClick: onStreamClick, spanDetailData: spanDetailData ?? null, spanDetailError: spanDetailError, spanDetailLoading: spanDetailLoading, onSpanSelect: handleSpanSelect, onWakeUpSleep: onWakeUpSleep, onLoadEventData: onLoadEventData, onResolveHook: onResolveHook, encryptionKey: encryptionKey, onDecrypt: onDecrypt, isDecrypting: isDecrypting, selectedSpan: selectedSpan, hasEncryptedData: hasEncryptedData }) }) })] }))] }));
|
|
689
689
|
};
|
|
690
|
-
//# sourceMappingURL=workflow-trace-view.js.map
|
|
690
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctdHJhY2Utdmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3dvcmtmbG93LXRyYWNlLXZpZXcudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7QUFFYixPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFOUUsT0FBTyxFQUNMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsS0FBSyxFQUNMLElBQUksRUFDSixJQUFJLEVBQ0osSUFBSSxFQUNKLElBQUksRUFDSixDQUFDLEVBQ0QsT0FBTyxHQUNSLE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUNMLGlCQUFpQixHQUdsQixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIsbUJBQW1CLEVBQ25CLGNBQWMsR0FDZixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLDJCQUEyQixHQUM1QixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQXNCLE1BQU0sc0JBQXNCLENBQUM7QUFFdEU7Ozs7R0FJRztB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QyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQztvQ0FDbkQsQ0FBQyxZQUVELEtBQUMsQ0FBQyxJQUFDLElBQUksRUFBRSxFQUFFLEdBQUksR0FDUixHQUNMLElBQ0YsRUFFTixjQUFLLFNBQVMsRUFBQyx3QkFBd0IsWUFDckMsS0FBQyxhQUFhLElBQUMsS0FBSyxFQUFDLCtCQUErQixZQUNsRCxLQUFDLGlCQUFpQixJQUNoQixHQUFHLEVBQUUsR0FBRyxFQUNSLGFBQWEsRUFBRSxhQUFhLEVBQzVCLGNBQWMsRUFBRSxjQUFjLElBQUksSUFBSSxFQUN0QyxlQUFlLEVBQUUsZUFBZSxFQUNoQyxpQkFBaUIsRUFBRSxpQkFBaUIsRUFDcEMsWUFBWSxFQUFFLGdCQUFnQixFQUM5QixhQUFhLEVBQUUsYUFBYSxFQUM1QixlQUFlLEVBQUUsZUFBZSxFQUNoQyxhQUFhLEVBQUUsYUFBYSxFQUM1QixhQUFhLEVBQUUsYUFBYSxFQUM1QixTQUFTLEVBQUUsU0FBUyxFQUNwQixZQUFZLEVBQUUsWUFBWSxFQUMxQixZQUFZLEVBQUUsWUFBWSxFQUMxQixnQkFBZ0IsRUFBRSxnQkFBZ0IsR0FDbEMsR0FDWSxHQUNaLElBQ0YsQ0FDUCxJQUNHLENBQ1AsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcblxuaW1wb3J0IHsgcGFyc2VTdGVwTmFtZSwgcGFyc2VXb3JrZmxvd05hbWUgfSBmcm9tICdAd29ya2Zsb3cvdXRpbHMvcGFyc2UtbmFtZSc7XG5pbXBvcnQgdHlwZSB7IEV2ZW50LCBIb29rLCBTdGVwLCBXb3JrZmxvd1J1biB9IGZyb20gJ0B3b3JrZmxvdy93b3JsZCc7XG5pbXBvcnQge1xuICBDaGV2cm9uRG93bixcbiAgQ2hldnJvblVwLFxuICBDbG9jayxcbiAgQ29weSxcbiAgSW5mbyxcbiAgU2VuZCxcbiAgVHlwZSxcbiAgWCxcbiAgWENpcmNsZSxcbn0gZnJvbSAnbHVjaWRlLXJlYWN0JztcbmltcG9ydCB0eXBlIHsgTW91c2VFdmVudCBhcyBSZWFjdE1vdXNlRXZlbnQsIFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IHsgdXNlVG9hc3QgfSBmcm9tICcuLi9saWIvdG9hc3QnO1xuaW1wb3J0IHsgRXJyb3JCb3VuZGFyeSB9IGZyb20gJy4vZXJyb3ItYm91bmRhcnknO1xuaW1wb3J0IHtcbiAgRW50aXR5RGV0YWlsUGFuZWwsXG4gIHR5cGUgU2VsZWN0ZWRTcGFuSW5mbyxcbiAgdHlwZSBTcGFuU2VsZWN0aW9uSW5mbyxcbn0gZnJvbSAnLi9zaWRlYmFyL2VudGl0eS1kZXRhaWwtcGFuZWwnO1xuaW1wb3J0IHsgUmVzb2x2ZUhvb2tNb2RhbCB9IGZyb20gJy4vc2lkZWJhci9yZXNvbHZlLWhvb2stbW9kYWwnO1xuaW1wb3J0IHtcbiAgVHJhY2VWaWV3ZXJDb250ZXh0UHJvdmlkZXIsXG4gIFRyYWNlVmlld2VyVGltZWxpbmUsXG4gIHVzZVRyYWNlVmlld2VyLFxufSBmcm9tICcuL3RyYWNlLXZpZXdlcic7XG5pbXBvcnQgdHlwZSB7IFNwYW4gfSBmcm9tICcuL3RyYWNlLXZpZXdlci90eXBlcyc7XG5pbXBvcnQgeyBTa2VsZXRvbiB9IGZyb20gJy4vdWkvc2tlbGV0b24nO1xuaW1wb3J0IHsgU3Bpbm5lciB9IGZyb20gJy4vdWkvc3Bpbm5lcic7XG5pbXBvcnQge1xuICBnZXRDdXN0b21TcGFuQ2xhc3NOYW1lLFxuICBnZXRDdXN0b21TcGFuRXZlbnRDbGFzc05hbWUsXG59IGZyb20gJy4vd29ya2Zsb3ctdHJhY2VzL3RyYWNlLWNvbG9ycyc7XG5pbXBvcnQgeyBidWlsZFRyYWNlLCB0eXBlIFRyYWNlV2l0aE1ldGEgfSBmcm9tICcuLi9saWIvdHJhY2UtYnVpbGRlcic7XG5cbi8qKlxuICogV2hpbGUgYSBydW4gaXMgbGl2ZSwgY29udGludW91c2x5IGdyb3cgcm9vdC5kdXJhdGlvbiBhbmQgcmVzY2FsZSBzbyB0aGVcbiAqIHRyYWNlIGFsd2F5cyBmaXRzIHdpdGhpbiB0aGUgdmlld3BvcnQuIEluZGl2aWR1YWwgc3BhbiB3aWR0aHMgYXJlIGdyb3duXG4gKiBieSBlYWNoIFNwYW5Db21wb25lbnQncyBvd24gdXNlRWZmZWN0IChzZWUgbm9kZS50c3gpLlxuICovXG5mdW5jdGlvbiB1c2VMaXZlVGljayhpc0xpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgY29uc3QgeyBzdGF0ZSwgZGlzcGF0Y2ggfSA9IHVzZVRyYWNlVmlld2VyKCk7XG4gIGNvbnN0IHN0YXRlUmVmID0gdXNlUmVmKHN0YXRlKTtcbiAgc3RhdGVSZWYuY3VycmVudCA9IHN0YXRlO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc0xpdmUpIHJldHVybjtcblxuICAgIC8vIEdyb3cgcm9vdC5kdXJhdGlvbiBvbiBldmVyeSBmcmFtZSBzbyBzcGFuIHJBRnMgc2VlIHRoZSBsYXRlc3QgdGltZVxuICAgIGxldCByYWZJZCA9IDA7XG4gICAgY29uc3QgdGljayA9ICgpOiB2b2lkID0+IHtcbiAgICAgIGNvbnN0IHsgcm9vdCB9ID0gc3RhdGVSZWYuY3VycmVudDtcbiAgICAgIGlmIChyb290LnN0YXJ0VGltZSkge1xuICAgICAgICBjb25zdCBub3dNcyA9IERhdGUubm93KCk7XG4gICAgICAgIGlmIChub3dNcyA+IHJvb3QuZW5kVGltZSkge1xuICAgICAgICAgIHJvb3QuZW5kVGltZSA9IG5vd01zO1xuICAgICAgICAgIHJvb3QuZHVyYXRpb24gPSByb290LmVuZFRpbWUgLSByb290LnN0YXJ0VGltZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmFmSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGljayk7XG4gICAgfTtcbiAgICByYWZJZCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSh0aWNrKTtcblxuICAgIC8vIFJlLXNjYWxlIHNtb290aGx5IHNvIHRoZSB0cmFjZSBmaXRzIHRoZSB2aWV3cG9ydCBhcyBpdCBncm93cy5cbiAgICAvLyBXZSBkaXNwYXRjaCBkZXRlY3RCYXNlU2NhbGUgb25seSB3aGVuIHRoZSBjb21wdXRlZCBiYXNlU2NhbGUgaGFzXG4gICAgLy8gY2hhbmdlZCBlbm91Z2ggdG8gbWF0dGVyIHZpc3VhbGx5ICg+MC4xJSBzaGlmdCksIGF2b2lkaW5nXG4gICAgLy8gdW5uZWNlc3NhcnkgUmVhY3QgcmUtcmVuZGVycyB3aGlsZSBrZWVwaW5nIHRoaW5ncyBzbW9vdGguXG4gICAgbGV0IHNjYWxlUmFmSWQgPSAwO1xuICAgIGxldCBsYXN0QmFzZVNjYWxlID0gMDtcbiAgICBjb25zdCBzY2FsZVRpY2sgPSAoKTogdm9pZCA9PiB7XG4gICAgICBjb25zdCBzID0gc3RhdGVSZWYuY3VycmVudDtcbiAgICAgIGlmIChzLnJvb3QuZHVyYXRpb24gPiAwKSB7XG4gICAgICAgIGNvbnN0IG5ld0Jhc2VTY2FsZSA9IChzLndpZHRoIC0gcy5zY3JvbGxiYXJXaWR0aCkgLyBzLnJvb3QuZHVyYXRpb247XG4gICAgICAgIGNvbnN0IGRlbHRhID0gTWF0aC5hYnMobmV3QmFzZVNjYWxlIC0gbGFzdEJhc2VTY2FsZSk7XG4gICAgICAgIGlmIChkZWx0YSA+IGxhc3RCYXNlU2NhbGUgKiAwLjAwMSB8fCBsYXN0QmFzZVNjYWxlID09PSAwKSB7XG4gICAgICAgICAgbGFzdEJhc2VTY2FsZSA9IG5ld0Jhc2VTY2FsZTtcbiAgICAgICAgICBkaXNwYXRjaCh7IHR5cGU6ICdkZXRlY3RCYXNlU2NhbGUnIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBzY2FsZVJhZklkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHNjYWxlVGljayk7XG4gICAgfTtcbiAgICBzY2FsZVJhZklkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHNjYWxlVGljayk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUocmFmSWQpO1xuICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUoc2NhbGVSYWZJZCk7XG4gICAgfTtcbiAgfSwgW2lzTGl2ZSwgZGlzcGF0Y2hdKTtcbn1cblxuY29uc3QgREVGQVVMVF9QQU5FTF9XSURUSCA9IDQ1MDtcbmNvbnN0IE1JTl9QQU5FTF9XSURUSCA9IDI0MDtcblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBSaWdodC1jbGljayBjb250ZXh0IG1lbnUgZm9yIHNwYW5zXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxudHlwZSBSZXNvdXJjZVR5cGUgPSAnc2xlZXAnIHwgJ3N0ZXAnIHwgJ2hvb2snIHwgJ3J1bicgfCAndW5rbm93bic7XG5cbmludGVyZmFjZSBDb250ZXh0TWVudVN0YXRlIHtcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG4gIHNwYW5JZDogc3RyaW5nO1xuICBzcGFuTmFtZTogc3RyaW5nO1xuICByZXNvdXJjZVR5cGU6IFJlc291cmNlVHlwZTtcbiAgLyoqIFdoZXRoZXIgdGhlIHNwYW4gcmVwcmVzZW50cyBhbiBhY3RpdmUvcGVuZGluZyByZXNvdXJjZSAobm90IHlldCBjb21wbGV0ZWQpICovXG4gIGlzQWN0aXZlOiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgQ29udGV4dE1lbnVJdGVtIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgaWNvbj86IFJlYWN0Tm9kZTtcbiAgYWN0aW9uOiAoKSA9PiB2b2lkO1xuICBkZXN0cnVjdGl2ZT86IGJvb2xlYW47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuZnVuY3Rpb24gU3BhbkNvbnRleHRNZW51KHtcbiAgbWVudSxcbiAgaXRlbXMsXG4gIG9uQ2xvc2UsXG59OiB7XG4gIG1lbnU6IENvbnRleHRNZW51U3RhdGU7XG4gIGl0ZW1zOiBDb250ZXh0TWVudUl0ZW1bXTtcbiAgb25DbG9zZTogKCkgPT4gdm9pZDtcbn0pOiBSZWFjdE5vZGUge1xuICBjb25zdCBtZW51UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcblxuICAvLyBDbG9zZSBvbiBvdXRzaWRlIGNsaWNrXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoZTogTW91c2VFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgaWYgKG1lbnVSZWYuY3VycmVudCAmJiAhbWVudVJlZi5jdXJyZW50LmNvbnRhaW5zKGUudGFyZ2V0IGFzIE5vZGUpKSB7XG4gICAgICAgIG9uQ2xvc2UoKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IGhhbmRsZUtleURvd24gPSAoZTogS2V5Ym9hcmRFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgaWYgKGUua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICBvbkNsb3NlKCk7XG4gICAgICB9XG4gICAgfTtcbiAgICBjb25zdCBoYW5kbGVTY3JvbGwgPSAoKTogdm9pZCA9PiB7XG4gICAgICBvbkNsb3NlKCk7XG4gICAgfTtcbiAgICAvLyBVc2UgYSB0aW1lb3V0IHNvIHdlIGRvbid0IGNsb3NlIGltbWVkaWF0ZWx5IGZyb20gdGhlIHNhbWUgZXZlbnRcbiAgICBjb25zdCB0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2spO1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBoYW5kbGVLZXlEb3duKTtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwsIHRydWUpO1xuICAgIH0sIDApO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dCk7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2spO1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBoYW5kbGVLZXlEb3duKTtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwsIHRydWUpO1xuICAgIH07XG4gIH0sIFtvbkNsb3NlXSk7XG5cbiAgLy8gQWRqdXN0IHBvc2l0aW9uIGlmIG1lbnUgd291bGQgb3ZlcmZsb3cgdmlld3BvcnRcbiAgY29uc3QgW2FkanVzdGVkUG9zLCBzZXRBZGp1c3RlZFBvc10gPSB1c2VTdGF0ZSh7IHg6IG1lbnUueCwgeTogbWVudS55IH0pO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGVsID0gbWVudVJlZi5jdXJyZW50O1xuICAgIGlmICghZWwpIHJldHVybjtcbiAgICBjb25zdCByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgbGV0IHsgeCwgeSB9ID0gbWVudTtcbiAgICBpZiAocmVjdC5yaWdodCA+IHdpbmRvdy5pbm5lcldpZHRoKSB7XG4gICAgICB4ID0gd2luZG93LmlubmVyV2lkdGggLSByZWN0LndpZHRoIC0gODtcbiAgICB9XG4gICAgaWYgKHJlY3QuYm90dG9tID4gd2luZG93LmlubmVySGVpZ2h0KSB7XG4gICAgICB5ID0gd2luZG93LmlubmVySGVpZ2h0IC0gcmVjdC5oZWlnaHQgLSA4O1xuICAgIH1cbiAgICBpZiAoeCAhPT0gbWVudS54IHx8IHkgIT09IG1lbnUueSkge1xuICAgICAgc2V0QWRqdXN0ZWRQb3MoeyB4LCB5IH0pO1xuICAgIH1cbiAgfSwgW21lbnVdKTtcblxuICBpZiAoaXRlbXMubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbDtcblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKFxuICAgIDxkaXZcbiAgICAgIHJlZj17bWVudVJlZn1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgICBsZWZ0OiBhZGp1c3RlZFBvcy54LFxuICAgICAgICB0b3A6IGFkanVzdGVkUG9zLnksXG4gICAgICAgIHpJbmRleDogOTk5OTksXG4gICAgICAgIGJveFNoYWRvdzogJ3ZhcigtLWRzLXNoYWRvdy1tZW51KScsXG4gICAgICAgIGJvcmRlclJhZGl1czogMTIsXG4gICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1kcy1iYWNrZ3JvdW5kLTEwMCknLFxuICAgICAgICBwYWRkaW5nOiAndmFyKC0tZ2Vpc3Qtc3BhY2UtZ2FwLXF1YXJ0ZXIsIDRweCknLFxuICAgICAgICBmb250U2l6ZTogMTQsXG4gICAgICAgIG1pbldpZHRoOiAxODAsXG4gICAgICAgIG92ZXJmbG93WDogJ2hpZGRlbicsXG4gICAgICAgIG92ZXJmbG93WTogJ2F1dG8nLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogJ2Jsb2NrJyxcbiAgICAgICAgICBjb2xvcjogJ3ZhcigtLWRzLWdyYXktOTAwKScsXG4gICAgICAgICAgZm9udFNpemU6ICcwLjc1cmVtJyxcbiAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tZ2Vpc3QtZ2FwLXF1YXJ0ZXIsIDRweCkgdmFyKC0tZ2Vpc3Qtc3BhY2UtMngsIDhweCknLFxuICAgICAgICAgIGZvbnRXZWlnaHQ6IDUwMCxcbiAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgdGV4dE92ZXJmbG93OiAnZWxsaXBzaXMnLFxuICAgICAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgICAgICAgIG1heFdpZHRoOiAyNDAsXG4gICAgICAgICAgYm9yZGVyQm90dG9tOiAnMXB4IHNvbGlkIHZhcigtLWRzLWdyYXktYWxwaGEtNDAwKScsXG4gICAgICAgICAgbWFyZ2luQm90dG9tOiA0LFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7bWVudS5zcGFuTmFtZX1cbiAgICAgIDwvZGl2PlxuICAgICAge2l0ZW1zLm1hcCgoaXRlbSkgPT4gKFxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAga2V5PXtpdGVtLmxhYmVsfVxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBvdXRsaW5lOiAnbm9uZScsXG4gICAgICAgICAgICBjdXJzb3I6IGl0ZW0uZGlzYWJsZWQgPyAnbm90LWFsbG93ZWQnIDogJ3BvaW50ZXInLFxuICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICBnYXA6IDgsXG4gICAgICAgICAgICBwYWRkaW5nOiAnMCB2YXIoLS1nZWlzdC1zcGFjZS0yeCwgOHB4KScsXG4gICAgICAgICAgICBoZWlnaHQ6IDQwLFxuICAgICAgICAgICAgdGV4dERlY29yYXRpb246ICdub25lJyxcbiAgICAgICAgICAgIGJvcmRlclJhZGl1czogNixcbiAgICAgICAgICAgIGNvbG9yOiBpdGVtLmRlc3RydWN0aXZlXG4gICAgICAgICAgICAgID8gJ3ZhcigtLWRzLXJlZC05MDApJ1xuICAgICAgICAgICAgICA6ICd2YXIoLS1kcy1ncmF5LTEwMDApJyxcbiAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAndHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICAgICAgICBmb250U2l6ZTogMTQsXG4gICAgICAgICAgICB0ZXh0QWxpZ246ICdsZWZ0JyxcbiAgICAgICAgICAgIG9wYWNpdHk6IGl0ZW0uZGlzYWJsZWQgPyAwLjQgOiAxLFxuICAgICAgICAgICAgdHJhbnNpdGlvbjogJ2JhY2tncm91bmQgMC4xNXMnLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZGlzYWJsZWQ9e2l0ZW0uZGlzYWJsZWR9XG4gICAgICAgICAgb25Nb3VzZUVudGVyPXsoZSkgPT4ge1xuICAgICAgICAgICAgKGUuY3VycmVudFRhcmdldCBhcyBIVE1MQnV0dG9uRWxlbWVudCkuc3R5bGUuYmFja2dyb3VuZCA9XG4gICAgICAgICAgICAgICd2YXIoLS1kcy1ncmF5LWFscGhhLTEwMCknO1xuICAgICAgICAgIH19XG4gICAgICAgICAgb25Nb3VzZUxlYXZlPXsoZSkgPT4ge1xuICAgICAgICAgICAgKGUuY3VycmVudFRhcmdldCBhcyBIVE1MQnV0dG9uRWxlbWVudCkuc3R5bGUuYmFja2dyb3VuZCA9XG4gICAgICAgICAgICAgICd0cmFuc3BhcmVudCc7XG4gICAgICAgICAgfX1cbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICBpdGVtLmFjdGlvbigpO1xuICAgICAgICAgICAgb25DbG9zZSgpO1xuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICB7aXRlbS5pY29uID8/IG51bGx9XG4gICAgICAgICAge2l0ZW0ubGFiZWx9XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgKSl9XG4gICAgPC9kaXY+LFxuICAgIGRvY3VtZW50LmJvZHlcbiAgKTtcbn1cblxuLyoqIElubmVyIHdyYXBwZXIgdGhhdCBoYXMgYWNjZXNzIHRvIHRoZSBUcmFjZVZpZXdlciBjb250ZXh0ICovXG5mdW5jdGlvbiBUcmFjZVZpZXdlcldpdGhDb250ZXh0TWVudSh7XG4gIHRyYWNlLFxuICBydW4sXG4gIGlzTGl2ZSxcbiAgb25XYWtlVXBTbGVlcCxcbiAgb25DYW5jZWxSdW4sXG4gIG9uUmVzb2x2ZUhvb2ssXG4gIG9uTG9hZE1vcmVTcGFucyxcbiAgaGFzTW9yZVNwYW5zID0gZmFsc2UsXG4gIGlzTG9hZGluZ01vcmVTcGFucyA9IGZhbHNlLFxuICBjaGlsZHJlbixcbn06IHtcbiAgdHJhY2U6IHsgc3BhbnM6IFNwYW5bXSB9O1xuICBydW46IFdvcmtmbG93UnVuO1xuICBpc0xpdmU6IGJvb2xlYW47XG4gIG9uV2FrZVVwU2xlZXA/OiAoXG4gICAgcnVuSWQ6IHN0cmluZyxcbiAgICBjb3JyZWxhdGlvbklkOiBzdHJpbmdcbiAgKSA9PiBQcm9taXNlPHsgc3RvcHBlZENvdW50OiBudW1iZXIgfT47XG4gIG9uQ2FuY2VsUnVuPzogKHJ1bklkOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD47XG4gIG9uUmVzb2x2ZUhvb2s/OiAoXG4gICAgaG9va1Rva2VuOiBzdHJpbmcsXG4gICAgcGF5bG9hZDogdW5rbm93bixcbiAgICBob29rPzogSG9va1xuICApID0+IFByb21pc2U8dm9pZD47XG4gIG9uTG9hZE1vcmVTcGFucz86ICgpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+O1xuICBoYXNNb3JlU3BhbnM/OiBib29sZWFuO1xuICBpc0xvYWRpbmdNb3JlU3BhbnM/OiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufSk6IFJlYWN0Tm9kZSB7XG4gIGNvbnN0IHRvYXN0ID0gdXNlVG9hc3QoKTtcbiAgY29uc3QgeyBzdGF0ZSwgZGlzcGF0Y2ggfSA9IHVzZVRyYWNlVmlld2VyKCk7XG5cbiAgLy8gRHJpdmUgYWN0aXZlIHNwYW4gd2lkdGhzIGF0IDYwZnBzIHdpdGhvdXQgUmVhY3QgcmUtcmVuZGVyc1xuICB1c2VMaXZlVGljayhpc0xpdmUpO1xuICBjb25zdCBbY29udGV4dE1lbnUsIHNldENvbnRleHRNZW51XSA9IHVzZVN0YXRlPENvbnRleHRNZW51U3RhdGUgfCBudWxsPihudWxsKTtcbiAgY29uc3QgW3Jlc29sdmVIb29rVGFyZ2V0LCBzZXRSZXNvbHZlSG9va1RhcmdldF0gPSB1c2VTdGF0ZTx7XG4gICAgaG9va0lkOiBzdHJpbmc7XG4gICAgdG9rZW46IHN0cmluZztcbiAgfSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbcmVzb2x2aW5nSG9vaywgc2V0UmVzb2x2aW5nSG9va10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIC8vIFRyYWNrIGhvb2tzIHJlc29sdmVkIGluIHRoaXMgc2Vzc2lvbiBzbyB0aGUgY29udGV4dCBtZW51IGl0ZW0gaGlkZXMgaW1tZWRpYXRlbHlcbiAgY29uc3QgW3Jlc29sdmVkSG9va0lkcywgc2V0UmVzb2x2ZWRIb29rSWRzXSA9IHVzZVN0YXRlPFNldDxzdHJpbmc+PihcbiAgICBuZXcgU2V0KClcbiAgKTtcblxuICAvLyBCdWlsZCBhIGxvb2t1cCBtYXA6IHNwYW5JZCAtPiBzcGFuXG4gIGNvbnN0IHNwYW5Mb29rdXAgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBtYXAgPSBuZXcgTWFwPHN0cmluZywgU3Bhbj4oKTtcbiAgICBmb3IgKGNvbnN0IHNwYW4gb2YgdHJhY2Uuc3BhbnMpIHtcbiAgICAgIG1hcC5zZXQoc3Bhbi5zcGFuSWQsIHNwYW4pO1xuICAgIH1cbiAgICByZXR1cm4gbWFwO1xuICB9LCBbdHJhY2Uuc3BhbnNdKTtcblxuICBjb25zdCBoYW5kbGVSZXNvbHZlSG9vayA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChwYXlsb2FkOiB1bmtub3duKSA9PiB7XG4gICAgICBpZiAocmVzb2x2aW5nSG9vayB8fCAhcmVzb2x2ZUhvb2tUYXJnZXQgfHwgIW9uUmVzb2x2ZUhvb2spIHJldHVybjtcbiAgICAgIGlmICghcmVzb2x2ZUhvb2tUYXJnZXQudG9rZW4pIHtcbiAgICAgICAgdG9hc3QuZXJyb3IoJ1VuYWJsZSB0byByZXNvbHZlIGhvb2snLCB7XG4gICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAnTWlzc2luZyBob29rIHRva2VuLiBUcnkgcmVmcmVzaGluZyB0aGUgcnVuIGRhdGEgYW5kIHJldHJ5LicsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0cnkge1xuICAgICAgICBzZXRSZXNvbHZpbmdIb29rKHRydWUpO1xuICAgICAgICBhd2FpdCBvblJlc29sdmVIb29rKHJlc29sdmVIb29rVGFyZ2V0LnRva2VuLCBwYXlsb2FkKTtcbiAgICAgICAgdG9hc3Quc3VjY2VzcygnSG9vayByZXNvbHZlZCcsIHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ1RoZSBwYXlsb2FkIGhhcyBiZWVuIHNlbnQgYW5kIHRoZSBob29rIHJlc29sdmVkLicsXG4gICAgICAgIH0pO1xuICAgICAgICAvLyBNYXJrIHRoaXMgaG9vayBhcyByZXNvbHZlZCBsb2NhbGx5IHNvIHRoZSBtZW51IGl0ZW0gaGlkZXMgaW1tZWRpYXRlbHlcbiAgICAgICAgc2V0UmVzb2x2ZWRIb29rSWRzKChwcmV2KSA9PlxuICAgICAgICAgIG5ldyBTZXQocHJldikuYWRkKHJlc29sdmVIb29rVGFyZ2V0Lmhvb2tJZClcbiAgICAgICAgKTtcbiAgICAgICAgc2V0UmVzb2x2ZUhvb2tUYXJnZXQobnVsbCk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHJlc29sdmUgaG9vazonLCBlcnIpO1xuICAgICAgICB0b2FzdC5lcnJvcignRmFpbGVkIHRvIHJlc29sdmUgaG9vaycsIHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgIGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiAnQW4gdW5rbm93biBlcnJvciBvY2N1cnJlZCcsXG4gICAgICAgIH0pO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0UmVzb2x2aW5nSG9vayhmYWxzZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbb25SZXNvbHZlSG9vaywgcmVzb2x2ZUhvb2tUYXJnZXQsIHJlc29sdmluZ0hvb2tdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlQ29udGV4dE1lbnUgPSB1c2VDYWxsYmFjayhcbiAgICAoZTogUmVhY3RNb3VzZUV2ZW50IHwgTW91c2VFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBjb25zdCAkYnV0dG9uID0gdGFyZ2V0LmNsb3Nlc3Q8SFRNTEJ1dHRvbkVsZW1lbnQ+KCdbZGF0YS1zcGFuLWlkXScpO1xuICAgICAgaWYgKCEkYnV0dG9uKSByZXR1cm47XG5cbiAgICAgIGNvbnN0IHNwYW5JZCA9ICRidXR0b24uZGF0YXNldC5zcGFuSWQ7XG4gICAgICBpZiAoIXNwYW5JZCkgcmV0dXJuO1xuXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICBjb25zdCBzcGFuID0gc3Bhbkxvb2t1cC5nZXQoc3BhbklkKTtcbiAgICAgIGlmICghc3BhbikgcmV0dXJuO1xuXG4gICAgICBjb25zdCByZXNvdXJjZVR5cGUgPVxuICAgICAgICAoc3Bhbi5hdHRyaWJ1dGVzLnJlc291cmNlIGFzIFJlc291cmNlVHlwZSkgPz8gJ3Vua25vd24nO1xuICAgICAgY29uc3Qgc3BhbkRhdGEgPSBzcGFuLmF0dHJpYnV0ZXMuZGF0YSBhc1xuICAgICAgICB8IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgY29uc3QgaXNBY3RpdmUgPSAhc3BhbkRhdGE/LmNvbXBsZXRlZEF0ICYmICFzcGFuRGF0YT8uZGlzcG9zZWRBdDtcblxuICAgICAgc2V0Q29udGV4dE1lbnUoe1xuICAgICAgICB4OiBlLmNsaWVudFgsXG4gICAgICAgIHk6IGUuY2xpZW50WSxcbiAgICAgICAgc3BhbklkLFxuICAgICAgICBzcGFuTmFtZTogc3Bhbi5uYW1lLFxuICAgICAgICByZXNvdXJjZVR5cGUsXG4gICAgICAgIGlzQWN0aXZlLFxuICAgICAgfSk7XG4gICAgfSxcbiAgICBbc3Bhbkxvb2t1cF1cbiAgKTtcblxuICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0ICRjb250YWluZXIgPSBjb250YWluZXJSZWYuY3VycmVudDtcbiAgICBpZiAoISRjb250YWluZXIpIHJldHVybjtcblxuICAgIGNvbnN0IG9uQ29udGV4dE1lbnUgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgIGhhbmRsZUNvbnRleHRNZW51KGV2ZW50KTtcbiAgICB9O1xuICAgICRjb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcignY29udGV4dG1lbnUnLCBvbkNvbnRleHRNZW51KTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAkY29udGFpbmVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NvbnRleHRtZW51Jywgb25Db250ZXh0TWVudSk7XG4gICAgfTtcbiAgfSwgW2hhbmRsZUNvbnRleHRNZW51XSk7XG5cbiAgY29uc3QgbG9hZGluZ01vcmVSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHRpbWVsaW5lID0gc3RhdGUudGltZWxpbmVSZWYuY3VycmVudDtcbiAgICBpZiAoIXRpbWVsaW5lIHx8ICFvbkxvYWRNb3JlU3BhbnMgfHwgIWhhc01vcmVTcGFucykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRocmVzaG9sZFB4ID0gMjAwO1xuICAgIGNvbnN0IG1heWJlTG9hZE1vcmUgPSAoKSA9PiB7XG4gICAgICBpZiAobG9hZGluZ01vcmVSZWYuY3VycmVudCB8fCBpc0xvYWRpbmdNb3JlU3BhbnMgfHwgIWhhc01vcmVTcGFucykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCByZW1haW5pbmcgPVxuICAgICAgICB0aW1lbGluZS5zY3JvbGxIZWlnaHQgLSB0aW1lbGluZS5zY3JvbGxUb3AgLSB0aW1lbGluZS5jbGllbnRIZWlnaHQ7XG4gICAgICBpZiAocmVtYWluaW5nID4gdGhyZXNob2xkUHgpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBsb2FkaW5nTW9yZVJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIFByb21pc2UucmVzb2x2ZShvbkxvYWRNb3JlU3BhbnMoKSkuZmluYWxseSgoKSA9PiB7XG4gICAgICAgIGxvYWRpbmdNb3JlUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICB0aW1lbGluZS5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBtYXliZUxvYWRNb3JlKTtcbiAgICBtYXliZUxvYWRNb3JlKCk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHRpbWVsaW5lLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG1heWJlTG9hZE1vcmUpO1xuICAgIH07XG4gIH0sIFtzdGF0ZS50aW1lbGluZVJlZiwgb25Mb2FkTW9yZVNwYW5zLCBoYXNNb3JlU3BhbnMsIGlzTG9hZGluZ01vcmVTcGFuc10pO1xuXG4gIGNvbnN0IGNsb3NlTWVudSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRDb250ZXh0TWVudShudWxsKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IGdldE1lbnVJdGVtcyA9IHVzZUNhbGxiYWNrKFxuICAgIChtZW51OiBDb250ZXh0TWVudVN0YXRlKTogQ29udGV4dE1lbnVJdGVtW10gPT4ge1xuICAgICAgY29uc3QgaXRlbXM6IENvbnRleHRNZW51SXRlbVtdID0gW107XG5cbiAgICAgIC8vIFNsZWVwLXNwZWNpZmljOiBXYWtlIFVwIChvbmx5IG9uIGFjdGl2ZSBydW5zKVxuICAgICAgY29uc3QgaXNSdW5BY3RpdmUgPSAhcnVuLmNvbXBsZXRlZEF0O1xuICAgICAgaWYgKFxuICAgICAgICBtZW51LnJlc291cmNlVHlwZSA9PT0gJ3NsZWVwJyAmJlxuICAgICAgICBtZW51LmlzQWN0aXZlICYmXG4gICAgICAgIGlzUnVuQWN0aXZlICYmXG4gICAgICAgIG9uV2FrZVVwU2xlZXBcbiAgICAgICkge1xuICAgICAgICBpdGVtcy5wdXNoKHtcbiAgICAgICAgICBsYWJlbDogJ1dha2UgVXAgU2xlZXAnLFxuICAgICAgICAgIGljb246IDxDbG9jayBjbGFzc05hbWU9XCJoLTMuNSB3LTMuNVwiIC8+LFxuICAgICAgICAgIGFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgICAgb25XYWtlVXBTbGVlcChydW4ucnVuSWQsIG1lbnUuc3BhbklkKVxuICAgICAgICAgICAgICAudGhlbigocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5zdG9wcGVkQ291bnQgPiAwKSB7XG4gICAgICAgICAgICAgICAgICB0b2FzdC5zdWNjZXNzKCdTbGVlcCB3b2tlbiB1cCcsIHtcbiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGBXb2tlIHVwICR7U3RyaW5nKHJlc3VsdC5zdG9wcGVkQ291bnQpfSBzbGVlcCR7cmVzdWx0LnN0b3BwZWRDb3VudCA+IDEgPyAncycgOiAnJ31gLFxuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHRvYXN0LmluZm8oJ05vIGFjdGl2ZSBzbGVlcHMgZm91bmQnLCB7XG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIHNsZWVwIG1heSBoYXZlIGFscmVhZHkgY29tcGxldGVkLicsXG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5jYXRjaCgoZXJyOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgICAgICAgdG9hc3QuZXJyb3IoJ0ZhaWxlZCB0byB3YWtlIHVwIHNsZWVwJywge1xuICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgICAgIGVyciBpbnN0YW5jZW9mIEVycm9yXG4gICAgICAgICAgICAgICAgICAgICAgPyBlcnIubWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgIDogJ0FuIHVua25vd24gZXJyb3Igb2NjdXJyZWQnLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgLy8gSG9vay1zcGVjaWZpYzogUmVzb2x2ZSBIb29rIChvbmx5IG9uIGFjdGl2ZSwgdW5yZXNvbHZlZCBob29rcylcbiAgICAgIGlmIChtZW51LnJlc291cmNlVHlwZSA9PT0gJ2hvb2snICYmIGlzUnVuQWN0aXZlICYmIG9uUmVzb2x2ZUhvb2spIHtcbiAgICAgICAgY29uc3Qgc3BhbiA9IHNwYW5Mb29rdXAuZ2V0KG1lbnUuc3BhbklkKTtcbiAgICAgICAgY29uc3QgaG9va0RhdGEgPSBzcGFuPy5hdHRyaWJ1dGVzPy5kYXRhIGFzXG4gICAgICAgICAgfCB7IHRva2VuPzogc3RyaW5nOyBkaXNwb3NlZEF0PzogdW5rbm93biB9XG4gICAgICAgICAgfCB1bmRlZmluZWQ7XG4gICAgICAgIC8vIENoZWNrIGRhdGEtbGV2ZWwgZGlzcG9zZWRBdCwgc3BhbiBldmVudHMsIEFORCBsb2NhbCByZXNvbHZlZCBzdGF0ZVxuICAgICAgICBjb25zdCBpc0Rpc3Bvc2VkID1cbiAgICAgICAgICBCb29sZWFuKGhvb2tEYXRhPy5kaXNwb3NlZEF0KSB8fFxuICAgICAgICAgIEJvb2xlYW4oc3Bhbj8uZXZlbnRzPy5zb21lKChlKSA9PiBlLm5hbWUgPT09ICdob29rX2Rpc3Bvc2VkJykpIHx8XG4gICAgICAgICAgcmVzb2x2ZWRIb29rSWRzLmhhcyhtZW51LnNwYW5JZCk7XG4gICAgICAgIGlmIChob29rRGF0YT8udG9rZW4gJiYgIWlzRGlzcG9zZWQpIHtcbiAgICAgICAgICBpdGVtcy5wdXNoKHtcbiAgICAgICAgICAgIGxhYmVsOiAnUmVzb2x2ZSBIb29rJyxcbiAgICAgICAgICAgIGljb246IDxTZW5kIGNsYXNzTmFtZT1cImgtMy41IHctMy41XCIgLz4sXG4gICAgICAgICAgICBhY3Rpb246ICgpID0+IHtcbiAgICAgICAgICAgICAgc2V0UmVzb2x2ZUhvb2tUYXJnZXQoe1xuICAgICAgICAgICAgICAgIGhvb2tJZDogbWVudS5zcGFuSWQsXG4gICAgICAgICAgICAgICAgdG9rZW46IGhvb2tEYXRhLnRva2VuISxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFJ1bi1zcGVjaWZpYzogQ2FuY2VsIChvbmx5IG9uIGFjdGl2ZSBydW5zKVxuICAgICAgaWYgKG1lbnUucmVzb3VyY2VUeXBlID09PSAncnVuJyAmJiBpc1J1bkFjdGl2ZSAmJiBvbkNhbmNlbFJ1bikge1xuICAgICAgICBpdGVtcy5wdXNoKHtcbiAgICAgICAgICBsYWJlbDogJ0NhbmNlbCBSdW4nLFxuICAgICAgICAgIGljb246IDxYQ2lyY2xlIGNsYXNzTmFtZT1cImgtMy41IHctMy41XCIgLz4sXG4gICAgICAgICAgZGVzdHJ1Y3RpdmU6IHRydWUsXG4gICAgICAgICAgYWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgICBvbkNhbmNlbFJ1bihydW4ucnVuSWQpLmNhdGNoKChlcnI6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgICAgdG9hc3QuZXJyb3IoJ0ZhaWxlZCB0byBjYW5jZWwgcnVuJywge1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgICAgZXJyIGluc3RhbmNlb2YgRXJyb3JcbiAgICAgICAgICAgICAgICAgICAgPyBlcnIubWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICA6ICdBbiB1bmtub3duIGVycm9yIG9jY3VycmVkJyxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgLy8gQ29tbW9uIGFjdGlvbnNcbiAgICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICBsYWJlbDogJ1ZpZXcgRGV0YWlscycsXG4gICAgICAgIGljb246IDxJbmZvIGNsYXNzTmFtZT1cImgtMy41IHctMy41XCIgLz4sXG4gICAgICAgIGFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIGRpc3BhdGNoKHsgdHlwZTogJ3NlbGVjdCcsIGlkOiBtZW51LnNwYW5JZCB9KTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBpdGVtcy5wdXNoKHtcbiAgICAgICAgbGFiZWw6ICdDb3B5IE5hbWUnLFxuICAgICAgICBpY29uOiA8VHlwZSBjbGFzc05hbWU9XCJoLTMuNSB3LTMuNVwiIC8+LFxuICAgICAgICBhY3Rpb246ICgpID0+IHtcbiAgICAgICAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkXG4gICAgICAgICAgICAud3JpdGVUZXh0KG1lbnUuc3Bhbk5hbWUpXG4gICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgIHRvYXN0LnN1Y2Nlc3MoJ05hbWUgY29waWVkIHRvIGNsaXBib2FyZCcpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgIHRvYXN0LmVycm9yKCdGYWlsZWQgdG8gY29weSBuYW1lJyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBpdGVtcy5wdXNoKHtcbiAgICAgICAgbGFiZWw6ICdDb3B5IElEJyxcbiAgICAgICAgaWNvbjogPENvcHkgY2xhc3NOYW1lPVwiaC0zLjUgdy0zLjVcIiAvPixcbiAgICAgICAgYWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgbmF2aWdhdG9yLmNsaXBib2FyZFxuICAgICAgICAgICAgLndyaXRlVGV4dChtZW51LnNwYW5JZClcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgdG9hc3Quc3VjY2VzcygnSUQgY29waWVkIHRvIGNsaXBib2FyZCcpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgIHRvYXN0LmVycm9yKCdGYWlsZWQgdG8gY29weSBJRCcpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgIH0sXG4gICAgW1xuICAgICAgZGlzcGF0Y2gsXG4gICAgICBvbldha2VVcFNsZWVwLFxuICAgICAgb25DYW5jZWxSdW4sXG4gICAgICBvblJlc29sdmVIb29rLFxuICAgICAgc3Bhbkxvb2t1cCxcbiAgICAgIHJlc29sdmVkSG9va0lkcyxcbiAgICAgIHJ1bi5ydW5JZCxcbiAgICAgIHJ1bi5jb21wbGV0ZWRBdCxcbiAgICBdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIHctZnVsbCBoLWZ1bGxcIiByZWY9e2NvbnRhaW5lclJlZn0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICB7Y29udGV4dE1lbnUgPyAoXG4gICAgICAgIDxTcGFuQ29udGV4dE1lbnVcbiAgICAgICAgICBtZW51PXtjb250ZXh0TWVudX1cbiAgICAgICAgICBpdGVtcz17Z2V0TWVudUl0ZW1zKGNvbnRleHRNZW51KX1cbiAgICAgICAgICBvbkNsb3NlPXtjbG9zZU1lbnV9XG4gICAgICAgIC8+XG4gICAgICApIDogbnVsbH1cbiAgICAgIDxSZXNvbHZlSG9va01vZGFsXG4gICAgICAgIGlzT3Blbj17cmVzb2x2ZUhvb2tUYXJnZXQgIT09IG51bGx9XG4gICAgICAgIG9uQ2xvc2U9eygpID0+IHNldFJlc29sdmVIb29rVGFyZ2V0KG51bGwpfVxuICAgICAgICBvblN1Ym1pdD17aGFuZGxlUmVzb2x2ZUhvb2t9XG4gICAgICAgIGlzU3VibWl0dGluZz17cmVzb2x2aW5nSG9va31cbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbi8qKiBSZS1leHBvcnQgU3BhblNlbGVjdGlvbkluZm8gZm9yIGNvbnN1bWVycyAqL1xuZXhwb3J0IHR5cGUgeyBTcGFuU2VsZWN0aW9uSW5mbyB9O1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJyaWRnZTogcmVhZHMgc2VsZWN0ZWQgc3BhbiBmcm9tIHRyYWNlIHZpZXdlciBjb250ZXh0IGFuZCBub3RpZmllcyBwYXJlbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKipcbiAqIEJyaWRnZSBjb21wb25lbnQgdGhhdCBsaXZlcyBJTlNJREUgdGhlIFRyYWNlVmlld2VyQ29udGV4dFByb3ZpZGVyIGFuZFxuICogcmVhZHMgdGhlIHNlbGVjdGVkIHNwYW4gaW5mbywgcGFzc2luZyBpdCB1cCB0byB0aGUgcGFyZW50IHZpYSBjYWxsYmFjay5cbiAqIFRoaXMgYWxsb3dzIHRoZSBwYXJlbnQgdG8gcmVuZGVyIHRoZSBkZXRhaWwgcGFuZWwgT1VUU0lERSB0aGUgY29udGV4dC5cbiAqL1xuZnVuY3Rpb24gU2VsZWN0aW9uQnJpZGdlKHtcbiAgb25TZWxlY3Rpb25DaGFuZ2UsXG59OiB7XG4gIG9uU2VsZWN0aW9uQ2hhbmdlOiAoaW5mbzogU2VsZWN0ZWRTcGFuSW5mbyB8IG51bGwpID0+IHZvaWQ7XG59KSB7XG4gIGNvbnN0IHsgc3RhdGUgfSA9IHVzZVRyYWNlVmlld2VyKCk7XG4gIGNvbnN0IHsgc2VsZWN0ZWQgfSA9IHN0YXRlO1xuICBjb25zdCBvblNlbGVjdGlvbkNoYW5nZVJlZiA9IHVzZVJlZihvblNlbGVjdGlvbkNoYW5nZSk7XG4gIG9uU2VsZWN0aW9uQ2hhbmdlUmVmLmN1cnJlbnQgPSBvblNlbGVjdGlvbkNoYW5nZTtcbiAgY29uc3QgcHJldlNwYW5JZFJlZiA9IHVzZVJlZjxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBjdXJyZW50U3BhbklkID0gc2VsZWN0ZWQ/LnNwYW4uc3BhbklkO1xuICAgIGlmIChjdXJyZW50U3BhbklkID09PSBwcmV2U3BhbklkUmVmLmN1cnJlbnQpIHJldHVybjtcbiAgICBwcmV2U3BhbklkUmVmLmN1cnJlbnQgPSBjdXJyZW50U3BhbklkO1xuXG4gICAgaWYgKHNlbGVjdGVkKSB7XG4gICAgICBvblNlbGVjdGlvbkNoYW5nZVJlZi5jdXJyZW50KHtcbiAgICAgICAgZGF0YTogc2VsZWN0ZWQuc3Bhbi5hdHRyaWJ1dGVzPy5kYXRhLFxuICAgICAgICByZXNvdXJjZTogc2VsZWN0ZWQuc3Bhbi5hdHRyaWJ1dGVzPy5yZXNvdXJjZSBhcyBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgICAgIHNwYW5JZDogc2VsZWN0ZWQuc3Bhbi5zcGFuSWQsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgb25TZWxlY3Rpb25DaGFuZ2VSZWYuY3VycmVudChudWxsKTtcbiAgICB9XG4gIH0sIFtzZWxlY3RlZF0pO1xuXG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIEJyaWRnZSBjb21wb25lbnQgdG8gZGVzZWxlY3QgZnJvbSBvdXRzaWRlIHRoZSBjb250ZXh0LlxuICovXG5mdW5jdGlvbiBEZXNlbGVjdEJyaWRnZSh7IHRyaWdnZXJEZXNlbGVjdCB9OiB7IHRyaWdnZXJEZXNlbGVjdDogbnVtYmVyIH0pIHtcbiAgY29uc3QgeyBkaXNwYXRjaCB9ID0gdXNlVHJhY2VWaWV3ZXIoKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0cmlnZ2VyRGVzZWxlY3QgPiAwKSB7XG4gICAgICBkaXNwYXRjaCh7IHR5cGU6ICdkZXNlbGVjdCcgfSk7XG4gICAgfVxuICB9LCBbdHJpZ2dlckRlc2VsZWN0LCBkaXNwYXRjaF0pO1xuXG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIEJyaWRnZSBjb21wb25lbnQgdG8gc2VsZWN0IGEgc3BhbiBmcm9tIG91dHNpZGUgdGhlIGNvbnRleHQuXG4gKi9cbmZ1bmN0aW9uIFNlbGVjdEJyaWRnZSh7XG4gIHNlbGVjdFJlcXVlc3QsXG59OiB7XG4gIHNlbGVjdFJlcXVlc3Q6IHsgaWQ6IHN0cmluZzsgdG9rZW46IG51bWJlciB9IHwgbnVsbDtcbn0pIHtcbiAgY29uc3QgeyBkaXNwYXRjaCB9ID0gdXNlVHJhY2VWaWV3ZXIoKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzZWxlY3RSZXF1ZXN0Py5pZCkge1xuICAgICAgZGlzcGF0Y2goeyB0eXBlOiAnc2VsZWN0JywgaWQ6IHNlbGVjdFJlcXVlc3QuaWQgfSk7XG4gICAgfVxuICB9LCBbZGlzcGF0Y2gsIHNlbGVjdFJlcXVlc3RdKTtcblxuICByZXR1cm4gbnVsbDtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYW5lbCBjaHJvbWUgKGhlYWRlciB3aXRoIG5hbWUvZHVyYXRpb24sIGNsb3NlIGJ1dHRvbilcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5mdW5jdGlvbiBQYW5lbFJlc2l6ZUhhbmRsZSh7XG4gIG9uUmVzaXplLFxufToge1xuICBvblJlc2l6ZTogKGRlbHRhWDogbnVtYmVyKSA9PiB2b2lkO1xufSkge1xuICBjb25zdCBoYW5kbGVQb2ludGVyRG93biA9IHVzZUNhbGxiYWNrKFxuICAgIChlOiBSZWFjdC5Qb2ludGVyRXZlbnQpID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGxldCBsYXN0WCA9IGUuY2xpZW50WDtcbiAgICAgIGNvbnN0IG9uUG9pbnRlck1vdmUgPSAobW92ZUV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgZGVsdGFYID0gbGFzdFggLSBtb3ZlRXZlbnQuY2xpZW50WDtcbiAgICAgICAgbGFzdFggPSBtb3ZlRXZlbnQuY2xpZW50WDtcbiAgICAgICAgb25SZXNpemUoZGVsdGFYKTtcbiAgICAgIH07XG4gICAgICBjb25zdCBvblBvaW50ZXJVcCA9ICgpID0+IHtcbiAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcm1vdmUnLCBvblBvaW50ZXJNb3ZlKTtcbiAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgb25Qb2ludGVyVXApO1xuICAgICAgfTtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJtb3ZlJywgb25Qb2ludGVyTW92ZSk7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVydXAnLCBvblBvaW50ZXJVcCk7XG4gICAgfSxcbiAgICBbb25SZXNpemVdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9XCJhYnNvbHV0ZSBsZWZ0LTAgdG9wLTAgYm90dG9tLTAgdy0xIGN1cnNvci1jb2wtcmVzaXplIGhvdmVyOmJnLWJsdWUtNDAwLzUwIHotMTBcIlxuICAgICAgb25Qb2ludGVyRG93bj17aGFuZGxlUG9pbnRlckRvd259XG4gICAgLz5cbiAgKTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUcmFjZSB2aWV3ZXIgZm9vdGVyIOKAlCBsb2FkaW5nIC8gd2FpdGluZyBpbmRpY2F0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5mdW5jdGlvbiBUcmFjZVZpZXdlckZvb3Rlcih7XG4gIGhhc01vcmUsXG4gIGlzTGl2ZSxcbiAgaXNJbml0aWFsTG9hZGluZyxcbn06IHtcbiAgaGFzTW9yZTogYm9vbGVhbjtcbiAgaXNMaXZlOiBib29sZWFuO1xuICBpc0luaXRpYWxMb2FkaW5nOiBib29sZWFuO1xufSk6IFJlYWN0Tm9kZSB7XG4gIGNvbnN0IHN0eWxlID0geyBjb2xvcjogJ3ZhcigtLWRzLWdyYXktOTAwKScgfTtcbiAgaWYgKGhhc01vcmUgfHwgaXNJbml0aWFsTG9hZGluZykge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0yIHB5LTMgdGV4dC14c1wiXG4gICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgID5cbiAgICAgICAgPFNwaW5uZXIgc2l6ZT17MTR9IC8+XG4gICAgICAgIExvYWRpbmcgbW9yZSBldmVudHPigKZcbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgaWYgKGlzTGl2ZSkge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHB5LTMgdGV4dC14c1wiXG4gICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgID5cbiAgICAgICAgV2FpdGluZyBmb3IgbW9yZSBldmVudHPigKZcbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBweS0zIHRleHQteHNcIlxuICAgICAgc3R5bGU9e3N0eWxlfVxuICAgID5cbiAgICAgIEVuZCBvZiBydW5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNYWluIGNvbXBvbmVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmV4cG9ydCBjb25zdCBXb3JrZmxvd1RyYWNlVmlld2VyID0gKHtcbiAgcnVuLFxuICBldmVudHMsXG4gIGlzTG9hZGluZyxcbiAgZXJyb3IsXG4gIHNwYW5EZXRhaWxEYXRhLFxuICBzcGFuRGV0YWlsTG9hZGluZyxcbiAgc3BhbkRldGFpbEVycm9yLFxuICBvbldha2VVcFNsZWVwLFxuICBvblJlc29sdmVIb29rLFxuICBvbkNhbmNlbFJ1bixcbiAgb25TdHJlYW1DbGljayxcbiAgb25TcGFuU2VsZWN0LFxuICBvbkxvYWRFdmVudERhdGEsXG4gIG9uTG9hZE1vcmVTcGFucyxcbiAgaGFzTW9yZVNwYW5zID0gZmFsc2UsXG4gIGlzTG9hZGluZ01vcmVTcGFucyA9IGZhbHNlLFxuICBlbmNyeXB0aW9uS2V5LFxuICBvbkRlY3J5cHQsXG4gIGlzRGVjcnlwdGluZyA9IGZhbHNlLFxuICBoYXNFbmNyeXB0ZWREYXRhID0gZmFsc2UsXG59OiB7XG4gIHJ1bjogV29ya2Zsb3dSdW47XG4gIGV2ZW50czogRXZlbnRbXTtcbiAgaXNMb2FkaW5nPzogYm9vbGVhbjtcbiAgZXJyb3I/OiBFcnJvciB8IG51bGw7XG4gIHNwYW5EZXRhaWxEYXRhPzogV29ya2Zsb3dSdW4gfCBTdGVwIHwgSG9vayB8IEV2ZW50IHwgbnVsbDtcbiAgc3BhbkRldGFpbExvYWRpbmc/OiBib29sZWFuO1xuICBzcGFuRGV0YWlsRXJyb3I/OiBFcnJvciB8IG51bGw7XG4gIG9uV2FrZVVwU2xlZXA/OiAoXG4gICAgcnVuSWQ6IHN0cmluZyxcbiAgICBjb3JyZWxhdGlvbklkOiBzdHJpbmdcbiAgKSA9PiBQcm9taXNlPHsgc3RvcHBlZENvdW50OiBudW1iZXIgfT47XG4gIG9uUmVzb2x2ZUhvb2s/OiAoXG4gICAgaG9va1Rva2VuOiBzdHJpbmcsXG4gICAgcGF5bG9hZDogdW5rbm93bixcbiAgICBob29rPzogSG9va1xuICApID0+IFByb21pc2U8dm9pZD47XG4gIC8qKiBDYWxsYmFjayB0byBjYW5jZWwgdGhlIGN1cnJlbnQgcnVuICovXG4gIG9uQ2FuY2VsUnVuPzogKHJ1bklkOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD47XG4gIC8qKiBDYWxsYmFjayB3aGVuIGEgc3RyZWFtIHJlZmVyZW5jZSBpcyBjbGlja2VkIGluIHRoZSBkZXRhaWwgcGFuZWwgKi9cbiAgb25TdHJlYW1DbGljaz86IChzdHJlYW1JZDogc3RyaW5nKSA9PiB2b2lkO1xuICAvKiogQ2FsbGJhY2sgd2hlbiBhIHNwYW4gaXMgc2VsZWN0ZWQuICovXG4gIG9uU3BhblNlbGVjdD86IChpbmZvOiBTcGFuU2VsZWN0aW9uSW5mbykgPT4gdm9pZDtcbiAgLyoqIENhbGxiYWNrIHRvIGxvYWQgZXZlbnQgZGF0YSBmb3IgYSBzcGVjaWZpYyBldmVudCAobGF6eSBsb2FkaW5nIGluIHNpZGViYXIpICovXG4gIG9uTG9hZEV2ZW50RGF0YT86IChcbiAgICBjb3JyZWxhdGlvbklkOiBzdHJpbmcsXG4gICAgZXZlbnRJZDogc3RyaW5nXG4gICkgPT4gUHJvbWlzZTx1bmtub3duIHwgbnVsbD47XG4gIC8qKiBMb2FkIG5leHQgdHJhY2UgcGFnZSB3aGVuIHZlcnRpY2FsIHNjcm9sbCByZWFjaGVzIGJvdHRvbS4gKi9cbiAgb25Mb2FkTW9yZVNwYW5zPzogKCkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD47XG4gIC8qKiBXaGV0aGVyIHRyYWNlIHBhZ2luYXRpb24gaGFzIG1vcmUgZGF0YSB0byBsb2FkLiAqL1xuICBoYXNNb3JlU3BhbnM/OiBib29sZWFuO1xuICAvKiogV2hldGhlciB0cmFjZSBwYWdpbmF0aW9uIGlzIGN1cnJlbnRseSBmZXRjaGluZyBhbm90aGVyIHBhZ2UuICovXG4gIGlzTG9hZGluZ01vcmVTcGFucz86IGJvb2xlYW47XG4gIC8qKiBFbmNyeXB0aW9uIGtleSAoYXZhaWxhYmxlIGFmdGVyIERlY3J5cHQpLCB0aHJlYWRlZCB0byBldmVudCBsaXN0IGZvciByZS1sb2FkaW5nICovXG4gIGVuY3J5cHRpb25LZXk/OiBVaW50OEFycmF5O1xuICAvKiogQ2FsbGJhY2sgdG8gaW5pdGlhdGUgZGVjcnlwdGlvbiBvZiBlbmNyeXB0ZWQgcnVuIGRhdGEgKi9cbiAgb25EZWNyeXB0PzogKCkgPT4gdm9pZDtcbiAgLyoqIFdoZXRoZXIgdGhlIGVuY3J5cHRpb24ga2V5IGlzIGN1cnJlbnRseSBiZWluZyBmZXRjaGVkICovXG4gIGlzRGVjcnlwdGluZz86IGJvb2xlYW47XG4gIC8qKiBSdW4tbGV2ZWwgaGludDogdGhlIHJ1biBjb250YWlucyBlbmNyeXB0ZWQgZGF0YSAoZnJvbSBwcm9iZSkuICovXG4gIGhhc0VuY3J5cHRlZERhdGE/OiBib29sZWFuO1xufSkgPT4ge1xuICBjb25zdCB0b2FzdCA9IHVzZVRvYXN0KCk7XG4gIGNvbnN0IFtzZWxlY3RlZFNwYW4sIHNldFNlbGVjdGVkU3Bhbl0gPSB1c2VTdGF0ZTxTZWxlY3RlZFNwYW5JbmZvIHwgbnVsbD4oXG4gICAgbnVsbFxuICApO1xuICBjb25zdCBbcGFuZWxXaWR0aCwgc2V0UGFuZWxXaWR0aF0gPSB1c2VTdGF0ZShERUZBVUxUX1BBTkVMX1dJRFRIKTtcbiAgY29uc3QgW2Rlc2VsZWN0VHJpZ2dlciwgc2V0RGVzZWxlY3RUcmlnZ2VyXSA9IHVzZVN0YXRlKDApO1xuICBjb25zdCBbc2VsZWN0UmVxdWVzdCwgc2V0U2VsZWN0UmVxdWVzdF0gPSB1c2VTdGF0ZTx7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0b2tlbjogbnVtYmVyO1xuICB9IHwgbnVsbD4obnVsbCk7XG5cbiAgY29uc3QgaXNMaXZlID0gQm9vbGVhbihydW4gJiYgIXJ1bi5jb21wbGV0ZWRBdCk7XG5cbiAgLy8gQnVpbGQgdHJhY2Ugb25seSB3aGVuIGFjdHVhbCBkYXRhIGNoYW5nZXMg4oCUIG5vIHRpbWVyLWRyaXZlbiByZWJ1aWxkcy5cbiAgLy8gQWN0aXZlIHNwYW4gd2lkdGhzIGFyZSBhbmltYXRlZCBpbXBlcmF0aXZlbHkgYnkgdXNlTGl2ZVRpY2sgYXQgNjBmcHMuXG4gIGNvbnN0IHRyYWNlV2l0aE1ldGE6IFRyYWNlV2l0aE1ldGEgfCB1bmRlZmluZWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIXJ1bj8ucnVuSWQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiBidWlsZFRyYWNlKHJ1biwgZXZlbnRzLCBuZXcgRGF0ZSgpKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzIC0tIGBuZXcgRGF0ZSgpYCBpcyBpbnRlbnRpb25hbGx5IG5vdCBhIGRlcDsgdXNlTGl2ZVRpY2sgaGFuZGxlcyBsaXZlIGdyb3d0aFxuICB9LCBbcnVuLCBldmVudHNdKTtcbiAgY29uc3QgdHJhY2UgPSB0cmFjZVdpdGhNZXRhO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGVycm9yICYmICFpc0xvYWRpbmcpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgdG9hc3QuZXJyb3IoJ0Vycm9yIGxvYWRpbmcgd29ya2Zsb3cgdHJhY2UgZGF0YScsIHtcbiAgICAgICAgZGVzY3JpcHRpb246IGVycm9yLm1lc3NhZ2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtlcnJvciwgaXNMb2FkaW5nXSk7XG5cbiAgY29uc3QgaGFuZGxlU3BhblNlbGVjdCA9IHVzZUNhbGxiYWNrKFxuICAgIChpbmZvOiBTcGFuU2VsZWN0aW9uSW5mbykgPT4ge1xuICAgICAgb25TcGFuU2VsZWN0Py4oaW5mbyk7XG4gICAgfSxcbiAgICBbb25TcGFuU2VsZWN0XVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdGlvbkNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgIChpbmZvOiBTZWxlY3RlZFNwYW5JbmZvIHwgbnVsbCkgPT4ge1xuICAgICAgaWYgKGluZm8pIHtcbiAgICAgICAgLy8gRmlsdGVyIHJhdyBldmVudHMgYnkgdGhlIHNlbGVjdGVkIHNwYW4ncyBjb3JyZWxhdGlvbklkIChzdGVwSWQvaG9va0lkKVxuICAgICAgICAvLyBUaGlzIGJ5cGFzc2VzIHRoZSB0cmFjZSB3b3JrZXIgcGlwZWxpbmUgZW50aXJlbHkuXG4gICAgICAgIGNvbnN0IGNvcnJlbGF0aW9uSWQgPSBpbmZvLnNwYW5JZDtcbiAgICAgICAgY29uc3QgcmF3RXZlbnRzID0gY29ycmVsYXRpb25JZFxuICAgICAgICAgID8gZXZlbnRzLmZpbHRlcigoZSkgPT4gZS5jb3JyZWxhdGlvbklkID09PSBjb3JyZWxhdGlvbklkKVxuICAgICAgICAgIDogW107XG4gICAgICAgIHNldFNlbGVjdGVkU3Bhbih7IC4uLmluZm8sIHJhd0V2ZW50cyB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldFNlbGVjdGVkU3BhbihudWxsKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtldmVudHNdXG4gICk7XG5cbiAgLy8gS2VlcCBzZWxlY3RlZCBzcGFuIHJhdyBldmVudHMgbGl2ZSBhcyBwb2xsaW5nIHVwZGF0ZXMgYXJyaXZlLlxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGNvcnJlbGF0aW9uSWQgPSBzZWxlY3RlZFNwYW4/LnNwYW5JZDtcbiAgICBpZiAoIWNvcnJlbGF0aW9uSWQpIHJldHVybjtcblxuICAgIGNvbnN0IG5leHRSYXdFdmVudHMgPSBldmVudHMuZmlsdGVyKFxuICAgICAgKGUpID0+IGUuY29ycmVsYXRpb25JZCA9PT0gY29ycmVsYXRpb25JZFxuICAgICk7XG4gICAgc2V0U2VsZWN0ZWRTcGFuKChwcmV2KSA9PiB7XG4gICAgICBpZiAoIXByZXYgfHwgcHJldi5zcGFuSWQgIT09IGNvcnJlbGF0aW9uSWQpIHtcbiAgICAgICAgcmV0dXJuIHByZXY7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHByZXZSYXdFdmVudHMgPSBwcmV2LnJhd0V2ZW50cyA/PyBbXTtcbiAgICAgIGNvbnN0IGlzU2FtZSA9XG4gICAgICAgIHByZXZSYXdFdmVudHMubGVuZ3RoID09PSBuZXh0UmF3RXZlbnRzLmxlbmd0aCAmJlxuICAgICAgICBwcmV2UmF3RXZlbnRzLmV2ZXJ5KFxuICAgICAgICAgIChldmVudCwgaW5kZXgpID0+IGV2ZW50LmV2ZW50SWQgPT09IG5leHRSYXdFdmVudHNbaW5kZXhdPy5ldmVudElkXG4gICAgICAgICk7XG4gICAgICBpZiAoaXNTYW1lKSB7XG4gICAgICAgIHJldHVybiBwcmV2O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5wcmV2LFxuICAgICAgICByYXdFdmVudHM6IG5leHRSYXdFdmVudHMsXG4gICAgICB9O1xuICAgIH0pO1xuICB9LCBbZXZlbnRzLCBzZWxlY3RlZFNwYW4/LnNwYW5JZF0pO1xuXG4gIGNvbnN0IGhhbmRsZUNsb3NlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFNlbGVjdGVkU3BhbihudWxsKTtcbiAgICBzZXREZXNlbGVjdFRyaWdnZXIoKG4pID0+IG4gKyAxKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IGhhbmRsZVJlc2l6ZSA9IHVzZUNhbGxiYWNrKChkZWx0YVg6IG51bWJlcikgPT4ge1xuICAgIHNldFBhbmVsV2lkdGgoKHcpID0+IE1hdGgubWF4KE1JTl9QQU5FTF9XSURUSCwgdyArIGRlbHRhWCkpO1xuICB9LCBbXSk7XG4gIGNvbnN0IHNlbGVjdGVkU3BhbkluZGV4ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFzZWxlY3RlZFNwYW4/LnNwYW5JZCB8fCAhdHJhY2UpIHJldHVybiAtMTtcbiAgICByZXR1cm4gdHJhY2Uuc3BhbnMuZmluZEluZGV4KChzcGFuKSA9PiBzcGFuLnNwYW5JZCA9PT0gc2VsZWN0ZWRTcGFuLnNwYW5JZCk7XG4gIH0sIFtzZWxlY3RlZFNwYW4/LnNwYW5JZCwgdHJhY2VdKTtcbiAgY29uc3QgY2FuU2VsZWN0UHJldlNwYW4gPSBzZWxlY3RlZFNwYW5JbmRleCA+IDA7XG4gIGNvbnN0IGNhblNlbGVjdE5leHRTcGFuID1cbiAgICBzZWxlY3RlZFNwYW5JbmRleCA+PSAwICYmXG4gICAgdHJhY2UgIT0gbnVsbCAmJlxuICAgIHNlbGVjdGVkU3BhbkluZGV4IDwgdHJhY2Uuc3BhbnMubGVuZ3RoIC0gMTtcbiAgY29uc3QgaGFuZGxlU2VsZWN0UHJldlNwYW4gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKCF0cmFjZSB8fCBzZWxlY3RlZFNwYW5JbmRleCA8PSAwKSByZXR1cm47XG4gICAgY29uc3QgdGFyZ2V0SWQgPSB0cmFjZS5zcGFuc1tzZWxlY3RlZFNwYW5JbmRleCAtIDFdPy5zcGFuSWQ7XG4gICAgaWYgKCF0YXJnZXRJZCkgcmV0dXJuO1xuICAgIHNldFNlbGVjdFJlcXVlc3QoeyBpZDogdGFyZ2V0SWQsIHRva2VuOiBEYXRlLm5vdygpIH0pO1xuICB9LCBbc2VsZWN0ZWRTcGFuSW5kZXgsIHRyYWNlXSk7XG4gIGNvbnN0IGhhbmRsZVNlbGVjdE5leHRTcGFuID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmICghdHJhY2UgfHwgc2VsZWN0ZWRTcGFuSW5kZXggPCAwKSByZXR1cm47XG4gICAgY29uc3QgdGFyZ2V0SWQgPSB0cmFjZS5zcGFuc1tzZWxlY3RlZFNwYW5JbmRleCArIDFdPy5zcGFuSWQ7XG4gICAgaWYgKCF0YXJnZXRJZCkgcmV0dXJuO1xuICAgIHNldFNlbGVjdFJlcXVlc3QoeyBpZDogdGFyZ2V0SWQsIHRva2VuOiBEYXRlLm5vdygpIH0pO1xuICB9LCBbc2VsZWN0ZWRTcGFuSW5kZXgsIHRyYWNlXSk7XG5cbiAgLy8gR2V0IHRoZSBzZWxlY3RlZCBzcGFuIG5hbWUgZm9yIHRoZSBwYW5lbCBoZWFkZXJcbiAgY29uc3Qgc2VsZWN0ZWRTcGFuTmFtZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghc2VsZWN0ZWRTcGFuPy5kYXRhKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGNvbnN0IGRhdGEgPSBzZWxlY3RlZFNwYW4uZGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICBjb25zdCBzdGVwTmFtZSA9IGRhdGEuc3RlcE5hbWUgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IHdvcmtmbG93TmFtZSA9IGRhdGEud29ya2Zsb3dOYW1lIGFzIHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gKFxuICAgICAgKHN0ZXBOYW1lID8gcGFyc2VTdGVwTmFtZShzdGVwTmFtZSk/LnNob3J0TmFtZSA6IHVuZGVmaW5lZCkgPz9cbiAgICAgICh3b3JrZmxvd05hbWUgPyBwYXJzZVdvcmtmbG93TmFtZSh3b3JrZmxvd05hbWUpPy5zaG9ydE5hbWUgOiB1bmRlZmluZWQpID8/XG4gICAgICBzdGVwTmFtZSA/P1xuICAgICAgd29ya2Zsb3dOYW1lID8/XG4gICAgICAoZGF0YS5ob29rSWQgYXMgc3RyaW5nKSA/P1xuICAgICAgJ0RldGFpbHMnXG4gICAgKTtcbiAgfSwgW3NlbGVjdGVkU3Bhbj8uZGF0YV0pO1xuXG4gIGlmICghdHJhY2UpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSB3LWZ1bGwgaC1mdWxsXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm9yZGVyLWIgYm9yZGVyLWdyYXktYWxwaGEtNDAwIHctZnVsbFwiIC8+XG4gICAgICAgIDxTa2VsZXRvbiBjbGFzc05hbWU9XCJ3LWZ1bGwgbWwtMiBtdC0xIG1iLTEgaC1bNTZweF1cIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInAtMiByZWxhdGl2ZSB3LWZ1bGxcIj5cbiAgICAgICAgICA8U2tlbGV0b24gY2xhc3NOYW1lPVwidy1mdWxsIG10LTYgaC1bMjBweF1cIiAvPlxuICAgICAgICAgIDxTa2VsZXRvbiBjbGFzc05hbWU9XCJ3LVsxMCVdIG10LTIgbWwtNiBoLVsyMHB4XVwiIC8+XG4gICAgICAgICAgPFNrZWxldG9uIGNsYXNzTmFtZT1cInctWzEwJV0gbXQtMiBtbC0xMiBoLVsyMHB4XVwiIC8+XG4gICAgICAgICAgPFNrZWxldG9uIGNsYXNzTmFtZT1cInctWzIwJV0gbXQtMiBtbC0xNiBoLVsyMHB4XVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSB3LWZ1bGwgaC1mdWxsIGZsZXggZmxleC1yb3dcIj5cbiAgICAgIHsvKiBUaW1lbGluZSAodGFrZXMgcmVtYWluaW5nIHNwYWNlKSAqL31cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleC0xIG1pbi13LTAgcmVsYXRpdmVcIj5cbiAgICAgICAgPFRyYWNlVmlld2VyQ29udGV4dFByb3ZpZGVyXG4gICAgICAgICAgY3VzdG9tU3BhbkNsYXNzTmFtZUZ1bmM9e2dldEN1c3RvbVNwYW5DbGFzc05hbWV9XG4gICAgICAgICAgY3VzdG9tU3BhbkV2ZW50Q2xhc3NOYW1lRnVuYz17Z2V0Q3VzdG9tU3BhbkV2ZW50Q2xhc3NOYW1lfVxuICAgICAgICA+XG4gICAgICAgICAgPFNlbGVjdGlvbkJyaWRnZSBvblNlbGVjdGlvbkNoYW5nZT17aGFuZGxlU2VsZWN0aW9uQ2hhbmdlfSAvPlxuICAgICAgICAgIDxEZXNlbGVjdEJyaWRnZSB0cmlnZ2VyRGVzZWxlY3Q9e2Rlc2VsZWN0VHJpZ2dlcn0gLz5cbiAgICAgICAgICA8U2VsZWN0QnJpZGdlIHNlbGVjdFJlcXVlc3Q9e3NlbGVjdFJlcXVlc3R9IC8+XG4gICAgICAgICAgPFRyYWNlVmlld2VyV2l0aENvbnRleHRNZW51XG4gICAgICAgICAgICB0cmFjZT17dHJhY2V9XG4gICAgICAgICAgICBydW49e3J1bn1cbiAgICAgICAgICAgIGlzTGl2ZT17aXNMaXZlfVxuICAgICAgICAgICAgb25XYWtlVXBTbGVlcD17b25XYWtlVXBTbGVlcH1cbiAgICAgICAgICAgIG9uQ2FuY2VsUnVuPXtvbkNhbmNlbFJ1bn1cbiAgICAgICAgICAgIG9uUmVzb2x2ZUhvb2s9e29uUmVzb2x2ZUhvb2t9XG4gICAgICAgICAgICBvbkxvYWRNb3JlU3BhbnM9e29uTG9hZE1vcmVTcGFuc31cbiAgICAgICAgICAgIGhhc01vcmVTcGFucz17aGFzTW9yZVNwYW5zfVxuICAgICAgICAgICAgaXNMb2FkaW5nTW9yZVNwYW5zPXtpc0xvYWRpbmdNb3JlU3BhbnN9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFRyYWNlVmlld2VyVGltZWxpbmVcbiAgICAgICAgICAgICAgZWFnZXJSZW5kZXJcbiAgICAgICAgICAgICAgaGVpZ2h0PVwiMTAwJVwiXG4gICAgICAgICAgICAgIGlzTGl2ZT17aXNMaXZlfVxuICAgICAgICAgICAgICB0cmFjZT17dHJhY2V9XG4gICAgICAgICAgICAgIGtub3duRHVyYXRpb25Ncz17dHJhY2VXaXRoTWV0YT8ua25vd25EdXJhdGlvbk1zfVxuICAgICAgICAgICAgICBoYXNNb3JlRGF0YT17aGFzTW9yZVNwYW5zIHx8IEJvb2xlYW4oaXNMb2FkaW5nKX1cbiAgICAgICAgICAgICAgZm9vdGVyPXtcbiAgICAgICAgICAgICAgICA8VHJhY2VWaWV3ZXJGb290ZXJcbiAgICAgICAgICAgICAgICAgIGhhc01vcmU9e2hhc01vcmVTcGFuc31cbiAgICAgICAgICAgICAgICAgIGlzTGl2ZT17aXNMaXZlfVxuICAgICAgICAgICAgICAgICAgaXNJbml0aWFsTG9hZGluZz17Qm9vbGVhbihpc0xvYWRpbmcpfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9UcmFjZVZpZXdlcldpdGhDb250ZXh0TWVudT5cbiAgICAgICAgPC9UcmFjZVZpZXdlckNvbnRleHRQcm92aWRlcj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICB7LyogRGV0YWlsIHBhbmVsIChyZW5kZXJlZCBvdXRzaWRlIHRoZSBjb250ZXh0LCBhcyBhIHNpYmxpbmcpICovfVxuICAgICAge3NlbGVjdGVkU3BhbiAmJiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9XCJyZWxhdGl2ZSBib3JkZXItbCBmbGV4LXNocmluay0wIGZsZXggZmxleC1jb2xcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICB3aWR0aDogcGFuZWxXaWR0aCxcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiAndmFyKC0tZHMtZ3JheS0yMDApJyxcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3ZhcigtLWRzLWJhY2tncm91bmQtMTAwKScsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxQYW5lbFJlc2l6ZUhhbmRsZSBvblJlc2l6ZT17aGFuZGxlUmVzaXplfSAvPlxuICAgICAgICAgIHsvKiBQYW5lbCBoZWFkZXIgKi99XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHB4LTMgcHktMiBib3JkZXIteSBmbGV4LXNocmluay0wXCJcbiAgICAgICAgICAgIHN0eWxlPXt7IGJvcmRlckNvbG9yOiAndmFyKC0tZHMtZ3JheS0yMDApJyB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWluLXctMCBmbGV4LTFcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtc20gZm9udC1tZWRpdW0gdHJ1bmNhdGVcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiAndmFyKC0tZHMtZ3JheS0xMDAwKScgfX1cbiAgICAgICAgICAgICAgICB0aXRsZT17c2VsZWN0ZWRTcGFuTmFtZX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtzZWxlY3RlZFNwYW5OYW1lfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlByZXZpb3VzIHNwYW5cIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVNlbGVjdFByZXZTcGFufVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXshY2FuU2VsZWN0UHJldlNwYW59XG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgbWFyZ2luTGVmdDogNixcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNCxcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMjQsXG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLFxuICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA2LFxuICAgICAgICAgICAgICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAndHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1kcy1ncmF5LTcwMCknLFxuICAgICAgICAgICAgICAgICAgY3Vyc29yOiBjYW5TZWxlY3RQcmV2U3BhbiA/ICdwb2ludGVyJyA6ICdub3QtYWxsb3dlZCcsXG4gICAgICAgICAgICAgICAgICBvcGFjaXR5OiBjYW5TZWxlY3RQcmV2U3BhbiA/IDEgOiAwLjQ1LFxuICAgICAgICAgICAgICAgICAgZmxleFNocmluazogMCxcbiAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICdiYWNrZ3JvdW5kIDAuMTVzJyxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcj17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmICghY2FuU2VsZWN0UHJldlNwYW4pIHJldHVybjtcbiAgICAgICAgICAgICAgICAgIGUuY3VycmVudFRhcmdldC5zdHlsZS5iYWNrZ3JvdW5kID0gJ3ZhcigtLWRzLWdyYXktYWxwaGEtMTAwKSc7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBvbk1vdXNlTGVhdmU9eyhlKSA9PiB7XG4gICAgICAgICAgICAgICAgICBlLmN1cnJlbnRUYXJnZXQuc3R5bGUuYmFja2dyb3VuZCA9ICd0cmFuc3BhcmVudCc7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDaGV2cm9uVXAgc2l6ZT17MTZ9IC8+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIk5leHQgc3BhblwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlU2VsZWN0TmV4dFNwYW59XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFjYW5TZWxlY3ROZXh0U3Bhbn1cbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiAyLFxuICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0LFxuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNCxcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAsXG4gICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6IDYsXG4gICAgICAgICAgICAgICAgICBib3JkZXI6ICdub25lJyxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWRzLWdyYXktNzAwKScsXG4gICAgICAgICAgICAgICAgICBjdXJzb3I6IGNhblNlbGVjdE5leHRTcGFuID8gJ3BvaW50ZXInIDogJ25vdC1hbGxvd2VkJyxcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IGNhblNlbGVjdE5leHRTcGFuID8gMSA6IDAuNDUsXG4gICAgICAgICAgICAgICAgICBmbGV4U2hyaW5rOiAwLFxuICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJ2JhY2tncm91bmQgMC4xNXMnLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgb25Nb3VzZUVudGVyPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKCFjYW5TZWxlY3ROZXh0U3BhbikgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgZS5jdXJyZW50VGFyZ2V0LnN0eWxlLmJhY2tncm91bmQgPSAndmFyKC0tZHMtZ3JheS1hbHBoYS0xMDApJztcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgIGUuY3VycmVudFRhcmdldC5zdHlsZS5iYWNrZ3JvdW5kID0gJ3RyYW5zcGFyZW50JztcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENoZXZyb25Eb3duIHNpemU9ezE2fSAvPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgYm9yZGVyTGVmdDogJzFweCBzb2xpZCB2YXIoLS1kcy1ncmF5LTMwMCknLFxuICAgICAgICAgICAgICAgIG1hcmdpbkxlZnQ6IDYsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xvc2UgcGFuZWxcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsb3NlfVxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgIG1hcmdpbkxlZnQ6IDYsXG4gICAgICAgICAgICAgICAgICB3aWR0aDogMjQsXG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0LFxuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCxcbiAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogNixcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjogJ25vbmUnLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tZHMtZ3JheS03MDApJyxcbiAgICAgICAgICAgICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICAgICAgICAgICAgZmxleFNocmluazogMCxcbiAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICdiYWNrZ3JvdW5kIDAuMTVzJyxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcj17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgIGUuY3VycmVudFRhcmdldC5zdHlsZS5iYWNrZ3JvdW5kID0gJ3ZhcigtLWRzLWdyYXktYWxwaGEtMTAwKSc7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBvbk1vdXNlTGVhdmU9eyhlKSA9PiB7XG4gICAgICAgICAgICAgICAgICBlLmN1cnJlbnRUYXJnZXQuc3R5bGUuYmFja2dyb3VuZCA9ICd0cmFuc3BhcmVudCc7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxYIHNpemU9ezE2fSAvPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIHsvKiBQYW5lbCBib2R5ICovfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleC0xIG92ZXJmbG93LXktYXV0b1wiPlxuICAgICAgICAgICAgPEVycm9yQm91bmRhcnkgdGl0bGU9XCJGYWlsZWQgdG8gbG9hZCBlbnRpdHkgZGV0YWlsc1wiPlxuICAgICAgICAgICAgICA8RW50aXR5RGV0YWlsUGFuZWxcbiAgICAgICAgICAgICAgICBydW49e3J1bn1cbiAgICAgICAgICAgICAgICBvblN0cmVhbUNsaWNrPXtvblN0cmVhbUNsaWNrfVxuICAgICAgICAgICAgICAgIHNwYW5EZXRhaWxEYXRhPXtzcGFuRGV0YWlsRGF0YSA/PyBudWxsfVxuICAgICAgICAgICAgICAgIHNwYW5EZXRhaWxFcnJvcj17c3BhbkRldGFpbEVycm9yfVxuICAgICAgICAgICAgICAgIHNwYW5EZXRhaWxMb2FkaW5nPXtzcGFuRGV0YWlsTG9hZGluZ31cbiAgICAgICAgICAgICAgICBvblNwYW5TZWxlY3Q9e2hhbmRsZVNwYW5TZWxlY3R9XG4gICAgICAgICAgICAgICAgb25XYWtlVXBTbGVlcD17b25XYWtlVXBTbGVlcH1cbiAgICAgICAgICAgICAgICBvbkxvYWRFdmVudERhdGE9e29uTG9hZEV2ZW50RGF0YX1cbiAgICAgICAgICAgICAgICBvblJlc29sdmVIb29rPXtvblJlc29sdmVIb29rfVxuICAgICAgICAgICAgICAgIGVuY3J5cHRpb25LZXk9e2VuY3J5cHRpb25LZXl9XG4gICAgICAgICAgICAgICAgb25EZWNyeXB0PXtvbkRlY3J5cHR9XG4gICAgICAgICAgICAgICAgaXNEZWNyeXB0aW5nPXtpc0RlY3J5cHRpbmd9XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRTcGFuPXtzZWxlY3RlZFNwYW59XG4gICAgICAgICAgICAgICAgaGFzRW5jcnlwdGVkRGF0YT17aGFzRW5jcnlwdGVkRGF0YX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdfQ==
|