@bizdoc/core 2.3.41 → 2.3.43
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/assets/bizdoc-schema.json +17 -3
- package/assets/themes/brown.min.css +1 -1
- package/assets/themes/dark.min.css +1 -1
- package/assets/themes/deep-purple-light-blue.min.css +6 -6
- package/assets/themes/deep-purple-teal.min.css +1 -1
- package/assets/themes/default.min.css +5 -5
- package/assets/themes/green.min.css +1 -1
- package/assets/themes/indigo.min.css +1 -1
- package/esm2022/lib/admin/admin-dismiss.service.mjs +3 -3
- package/esm2022/lib/admin/admin-menu.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/cube-axes-filter.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/designer-element.component.mjs +15 -15
- package/esm2022/lib/admin/architecture/designer-privileges.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/designer.base.mjs +9 -9
- package/esm2022/lib/admin/architecture/designer.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/action.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/analysis-view.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/analysis-widget.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/anomaly-rule.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/attribute.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/box-form.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/configuration-datasource.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/control.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/cube-index-utility.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/cube-view.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/cube.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/document-state-widget.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/documents-report.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/documents-widget.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/explore-view.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/folder.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/form-invite.dialog.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/form.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/guide.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/job.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/matrix-view.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/node.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/parallel-view.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/performance-widget.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/pivot-view.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/policy.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/report.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/return-to-role-action.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/role.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/rule.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/source.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/state.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/sum-view.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/tasks-report.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/type.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/usage-report.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/utility.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/view.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/widget.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/icon-picker.component.mjs +3 -3
- package/esm2022/lib/admin/core/ace.input.mjs +21 -19
- package/esm2022/lib/admin/core/color-picker.input.mjs +3 -3
- package/esm2022/lib/admin/core/localized-string.component.mjs +3 -3
- package/esm2022/lib/admin/core/search.input.mjs +3 -3
- package/esm2022/lib/admin/diff/configuration-diff.component.mjs +3 -3
- package/esm2022/lib/admin/document-trace/document-trace.component.mjs +3 -3
- package/esm2022/lib/admin/document-trace/reassign.dialog.mjs +3 -3
- package/esm2022/lib/admin/document-trace/trace-element.component.mjs +3 -3
- package/esm2022/lib/admin/form/designer/box-designer.component.mjs +3 -3
- package/esm2022/lib/admin/form/designer/design-control.component.mjs +3 -3
- package/esm2022/lib/admin/form/designer/properties.component.mjs +3 -3
- package/esm2022/lib/admin/form/designer/section.component.mjs +3 -3
- package/esm2022/lib/admin/form/designer/settings.component.mjs +3 -3
- package/esm2022/lib/admin/form/form.resolve.service.mjs +3 -3
- package/esm2022/lib/admin/form/workflow/node.component.mjs +3 -3
- package/esm2022/lib/admin/form/workflow/role-node.component.mjs +3 -3
- package/esm2022/lib/admin/form/workflow/workflow.component.mjs +3 -3
- package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +3 -3
- package/esm2022/lib/admin/patterns/patterns.component.mjs +3 -3
- package/esm2022/lib/admin/permissions/permissions.component.mjs +3 -3
- package/esm2022/lib/admin/positions/positions-popup.component.mjs +3 -3
- package/esm2022/lib/admin/positions/positions.component.mjs +3 -3
- package/esm2022/lib/admin/profiler/outofoffice.component.mjs +3 -3
- package/esm2022/lib/admin/profiler/profiler.component.mjs +3 -3
- package/esm2022/lib/admin/system.service.mjs +3 -3
- package/esm2022/lib/admin/utility-wrapper.component.mjs +3 -3
- package/esm2022/lib/admin/utility.pane.component.mjs +3 -3
- package/esm2022/lib/app.component.mjs +6 -6
- package/esm2022/lib/bizdoc.module.mjs +4 -4
- package/esm2022/lib/browse/browse-items.component.mjs +3 -3
- package/esm2022/lib/browse/browse.mobile.component.mjs +3 -3
- package/esm2022/lib/browse/browse.pane.component.mjs +3 -3
- package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +3 -3
- package/esm2022/lib/browse/filter/filter.component.mjs +3 -3
- package/esm2022/lib/browse/folders-menu.component.mjs +3 -3
- package/esm2022/lib/chat/chat-info.mjs +3 -3
- package/esm2022/lib/chat/chat.mobile.component.mjs +3 -3
- package/esm2022/lib/chat/chat.service.mjs +3 -3
- package/esm2022/lib/chat/contacts.component.mjs +8 -8
- package/esm2022/lib/chat/contacts.pane.component.mjs +3 -3
- package/esm2022/lib/chat/conversation.component.mjs +5 -5
- package/esm2022/lib/chat/conversation.pane.component.mjs +5 -5
- package/esm2022/lib/compose/action/action-picker.component.mjs +3 -3
- package/esm2022/lib/compose/action/action.dialog.mjs +3 -3
- package/esm2022/lib/compose/action/action.pane.dialog.exp.mjs +3 -3
- package/esm2022/lib/compose/action/assign-action.component.mjs +3 -3
- package/esm2022/lib/compose/action/moveto-action.component.mjs +3 -3
- package/esm2022/lib/compose/action/return-action.component.mjs +3 -3
- package/esm2022/lib/compose/attachments/attachments.component.mjs +3 -3
- package/esm2022/lib/compose/attachments/preview/attachment-preview.component.mjs +3 -3
- package/esm2022/lib/compose/attachments/progress-button.directive.mjs +3 -3
- package/esm2022/lib/compose/box/box.component.mjs +3 -3
- package/esm2022/lib/compose/box/control.component.mjs +3 -3
- package/esm2022/lib/compose/box/row.component.mjs +3 -3
- package/esm2022/lib/compose/can-deactivate-changes.service.mjs +3 -3
- package/esm2022/lib/compose/comments/comment.component.mjs +3 -3
- package/esm2022/lib/compose/comments/comments.component.mjs +5 -5
- package/esm2022/lib/compose/comments/comments.pane.component.mjs +3 -3
- package/esm2022/lib/compose/comments/edit-comment.component.mjs +5 -5
- package/esm2022/lib/compose/comments/edits.component.mjs +3 -3
- package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +5 -5
- package/esm2022/lib/compose/comments/votes.component.mjs +3 -3
- package/esm2022/lib/compose/compose-resolve.service.mjs +6 -6
- package/esm2022/lib/compose/compose.mobile.component.mjs +3 -3
- package/esm2022/lib/compose/compose.pane.component.mjs +3 -3
- package/esm2022/lib/compose/copy/copy.dialog.mjs +3 -3
- package/esm2022/lib/compose/dismiss.service.mjs +3 -3
- package/esm2022/lib/compose/document-resolver.service.mjs +3 -3
- package/esm2022/lib/compose/document.component.mjs +3 -3
- package/esm2022/lib/compose/document.mobile.component.mjs +3 -3
- package/esm2022/lib/compose/document.pane.component.mjs +3 -3
- package/esm2022/lib/compose/events/events.component.mjs +3 -3
- package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +3 -3
- package/esm2022/lib/compose/form.component.mjs +3 -3
- package/esm2022/lib/compose/new-menu.component.mjs +3 -3
- package/esm2022/lib/compose/privilage.directive.mjs +6 -6
- package/esm2022/lib/compose/recipient-resolver.service.mjs +3 -3
- package/esm2022/lib/compose/state.component.mjs +3 -3
- package/esm2022/lib/compose/tag/tags.component.mjs +3 -3
- package/esm2022/lib/compose/trace/flow.component.mjs +3 -3
- package/esm2022/lib/compose/trace/people.component.mjs +3 -3
- package/esm2022/lib/compose/trace/trace.base.mjs +3 -3
- package/esm2022/lib/compose/trace/trace.component.mjs +3 -3
- package/esm2022/lib/compose/trace/trace.pane.component.mjs +3 -3
- package/esm2022/lib/compose/version-compare/version-compare.component.mjs +3 -3
- package/esm2022/lib/compose/version-compare/version-compare.directive.mjs +9 -9
- package/esm2022/lib/compose/version-compare/version.pane.component.mjs +3 -3
- package/esm2022/lib/core/account.service.mjs +3 -3
- package/esm2022/lib/core/animated-icon/animated-icon.directive.mjs +3 -3
- package/esm2022/lib/core/avatar/avatar.component.mjs +3 -3
- package/esm2022/lib/core/checkbox.mjs +3 -3
- package/esm2022/lib/core/component-factory-resolver.mjs +3 -3
- package/esm2022/lib/core/datasource.service.mjs +3 -3
- package/esm2022/lib/core/fields/address.designer.mjs +3 -3
- package/esm2022/lib/core/fields/address.field.mjs +3 -3
- package/esm2022/lib/core/fields/autocomplete.field.mjs +6 -6
- package/esm2022/lib/core/fields/checkbox.designer.mjs +3 -3
- package/esm2022/lib/core/fields/checkbox.field.mjs +3 -3
- package/esm2022/lib/core/fields/checklist.designer.mjs +3 -3
- package/esm2022/lib/core/fields/checklist.field.mjs +3 -3
- package/esm2022/lib/core/fields/date-range.designer.mjs +3 -3
- package/esm2022/lib/core/fields/date-range.field.mjs +3 -3
- package/esm2022/lib/core/fields/date.designer.mjs +3 -3
- package/esm2022/lib/core/fields/date.field.mjs +3 -3
- package/esm2022/lib/core/fields/expression.field.mjs +6 -6
- package/esm2022/lib/core/fields/file.designer.mjs +3 -3
- package/esm2022/lib/core/fields/file.field.mjs +3 -3
- package/esm2022/lib/core/fields/html.designer.mjs +3 -3
- package/esm2022/lib/core/fields/html.field.mjs +3 -3
- package/esm2022/lib/core/fields/input.designer.mjs +3 -3
- package/esm2022/lib/core/fields/input.field.mjs +3 -3
- package/esm2022/lib/core/fields/localized-string.field.mjs +6 -6
- package/esm2022/lib/core/fields/numeric.designer.mjs +3 -3
- package/esm2022/lib/core/fields/numeric.field.mjs +3 -3
- package/esm2022/lib/core/fields/options.base.mjs +6 -6
- package/esm2022/lib/core/fields/options.component.mjs +3 -3
- package/esm2022/lib/core/fields/radio-button.designer.mjs +3 -3
- package/esm2022/lib/core/fields/radio-button.field.mjs +3 -3
- package/esm2022/lib/core/fields/select.designer.mjs +3 -3
- package/esm2022/lib/core/fields/select.field.mjs +3 -3
- package/esm2022/lib/core/fields/signature.designer.mjs +3 -3
- package/esm2022/lib/core/fields/signature.field.mjs +3 -3
- package/esm2022/lib/core/fields/switch.field.mjs +3 -3
- package/esm2022/lib/core/fields/tags.designer.mjs +3 -3
- package/esm2022/lib/core/fields/tags.field.mjs +3 -3
- package/esm2022/lib/core/fields/textarea.designer.mjs +3 -3
- package/esm2022/lib/core/fields/textarea.field.mjs +3 -3
- package/esm2022/lib/core/fields/time.designer.mjs +3 -3
- package/esm2022/lib/core/fields/time.field.mjs +3 -3
- package/esm2022/lib/core/fields/timespan.field.mjs +6 -6
- package/esm2022/lib/core/fields/yesno.designer.mjs +3 -3
- package/esm2022/lib/core/fields/yesno.field.mjs +3 -3
- package/esm2022/lib/core/guide/guide.component.mjs +3 -3
- package/esm2022/lib/core/guide/guide.service.mjs +3 -3
- package/esm2022/lib/core/guide/help-tip.component.mjs +15 -11
- package/esm2022/lib/core/http.interceptor.mjs +3 -3
- package/esm2022/lib/core/hub.service.mjs +14 -5
- package/esm2022/lib/core/identity/identity.component.mjs +3 -3
- package/esm2022/lib/core/info/attachment-info.service.mjs +3 -3
- package/esm2022/lib/core/info/document-info.service.mjs +3 -3
- package/esm2022/lib/core/info/location-info.component.mjs +3 -3
- package/esm2022/lib/core/info/map-info.mjs +3 -3
- package/esm2022/lib/core/inputs/address.input.mjs +3 -3
- package/esm2022/lib/core/inputs/auto-complete.input.mjs +3 -3
- package/esm2022/lib/core/inputs/combination-picker-body.mjs +3 -3
- package/esm2022/lib/core/inputs/combination-picker.mjs +3 -3
- package/esm2022/lib/core/inputs/combination-pool.mjs +3 -3
- package/esm2022/lib/core/inputs/file.input.mjs +3 -3
- package/esm2022/lib/core/inputs/select.input.mjs +3 -3
- package/esm2022/lib/core/inputs/signature.input.mjs +3 -3
- package/esm2022/lib/core/inputs/time-picker.mjs +3 -3
- package/esm2022/lib/core/inputs/timespan.input.mjs +3 -3
- package/esm2022/lib/core/layout.component.mjs +3 -3
- package/esm2022/lib/core/lottie-animation.mjs +20 -18
- package/esm2022/lib/core/mailbox.service.mjs +3 -3
- package/esm2022/lib/core/none.component.mjs +3 -3
- package/esm2022/lib/core/pipes/action.pipe.mjs +3 -3
- package/esm2022/lib/core/pipes/calendar.pipe.mjs +3 -3
- package/esm2022/lib/core/pipes/date-format.pipe.mjs +3 -3
- package/esm2022/lib/core/pipes/daterange.pipe.mjs +6 -6
- package/esm2022/lib/core/pipes/difference.pipe.mjs +3 -3
- package/esm2022/lib/core/pipes/duration-format.pipe.mjs +3 -3
- package/esm2022/lib/core/pipes/duration.pipe.mjs +3 -3
- package/esm2022/lib/core/pipes/form.pipe.mjs +3 -3
- package/esm2022/lib/core/pipes/join.pipe.mjs +3 -3
- package/esm2022/lib/core/pipes/localized-string.pipe.mjs +3 -3
- package/esm2022/lib/core/pipes/role.pipe.mjs +3 -3
- package/esm2022/lib/core/pipes/sanitize-html.pipe.mjs +3 -3
- package/esm2022/lib/core/pipes/sort.pipe.mjs +9 -9
- package/esm2022/lib/core/pipes/state.pipe.mjs +3 -3
- package/esm2022/lib/core/pipes/time-ago.pipe.mjs +6 -6
- package/esm2022/lib/core/pipes/translate.pipe.mjs +9 -9
- package/esm2022/lib/core/pipes/type-value.pipe.mjs +3 -3
- package/esm2022/lib/core/pipes/user-name.pipe.mjs +3 -3
- package/esm2022/lib/core/popup/popup.component.mjs +3 -3
- package/esm2022/lib/core/popup/popup.service.mjs +3 -3
- package/esm2022/lib/core/popup/tooltip.directive.mjs +6 -6
- package/esm2022/lib/core/prompt/ask/ask.dialog.mjs +3 -3
- package/esm2022/lib/core/prompt/mask/mask.component.mjs +3 -3
- package/esm2022/lib/core/prompt.service.mjs +3 -3
- package/esm2022/lib/core/router.mjs +6 -6
- package/esm2022/lib/core/save-changes.dialog.mjs +3 -3
- package/esm2022/lib/core/session.service.mjs +3 -3
- package/esm2022/lib/core/slots/router.directive.mjs +3 -3
- package/esm2022/lib/core/slots/router.service.mjs +3 -3
- package/esm2022/lib/core/slots/slots.component.mjs +6 -6
- package/esm2022/lib/core/sticky-toolbar.exp.mjs +3 -3
- package/esm2022/lib/core/tagging/documents.component.mjs +3 -3
- package/esm2022/lib/core/tagging/edit-input.component.mjs +5 -5
- package/esm2022/lib/core/tagging/emoji.component.mjs +3 -3
- package/esm2022/lib/core/tagging/tagging-item.directive.mjs +3 -3
- package/esm2022/lib/core/tagging/tagging.component-base.mjs +3 -3
- package/esm2022/lib/core/tagging/tagging.directive.mjs +3 -3
- package/esm2022/lib/core/tagging/tagging.pipe.mjs +3 -3
- package/esm2022/lib/core/tagging/users.component.mjs +3 -3
- package/esm2022/lib/core/translate.service.mjs +3 -3
- package/esm2022/lib/core/translations.mjs +7 -1
- package/esm2022/lib/core/virtual-tabs.component.exp.mjs +6 -6
- package/esm2022/lib/core/window-title.service.mjs +3 -3
- package/esm2022/lib/cube/accum/accum.component.mjs +3 -3
- package/esm2022/lib/cube/chart/chart.component.mjs +3 -3
- package/esm2022/lib/cube/cube-info.service.mjs +3 -3
- package/esm2022/lib/cube/cube-menu.component.mjs +3 -3
- package/esm2022/lib/cube/cube-view.component.mjs +3 -3
- package/esm2022/lib/cube/cube.service.mjs +3 -3
- package/esm2022/lib/cube/explore/document-item.component.mjs +3 -3
- package/esm2022/lib/cube/explore/explore-item.component.mjs +3 -3
- package/esm2022/lib/cube/explore/explore-items.component.mjs +3 -3
- package/esm2022/lib/cube/explore/explore.pane.component.mjs +3 -3
- package/esm2022/lib/cube/explore/item-resolver.service.mjs +6 -6
- package/esm2022/lib/cube/explore/item.pane.component.mjs +3 -3
- package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +3 -3
- package/esm2022/lib/cube/filter/filter.component.mjs +3 -3
- package/esm2022/lib/cube/grid/grid.component.mjs +3 -3
- package/esm2022/lib/cube/matrix/matrix.base.mjs +3 -3
- package/esm2022/lib/cube/matrix/matrix.mobile.component.mjs +3 -3
- package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +3 -3
- package/esm2022/lib/cube/matrix/popup.component.mjs +3 -3
- package/esm2022/lib/cube/matrix/table.component.mjs +3 -3
- package/esm2022/lib/cube/parallel/parallel.component.mjs +3 -3
- package/esm2022/lib/cube/pivot/pivot.component.mjs +3 -3
- package/esm2022/lib/cube/spreadsheet/spreadsheet.component.mjs +3 -3
- package/esm2022/lib/cube/spreadsheet/spreadsheet.container.exp.mjs +3 -3
- package/esm2022/lib/cube/sum/sum.component.mjs +3 -3
- package/esm2022/lib/cube/view-base.mjs +3 -3
- package/esm2022/lib/cube/view.mobile.component.mjs +3 -3
- package/esm2022/lib/cube/view.pane.component.mjs +3 -3
- package/esm2022/lib/dashboard/actions/actions.widget.mjs +3 -3
- package/esm2022/lib/dashboard/cube/accum-cube.widget.mjs +3 -3
- package/esm2022/lib/dashboard/cube/compare.widget.mjs +3 -3
- package/esm2022/lib/dashboard/cube/cube-analysis.base.mjs +3 -3
- package/esm2022/lib/dashboard/cube/cube-analysis.widget.mjs +3 -3
- package/esm2022/lib/dashboard/cube/cube-chart.widget.mjs +3 -3
- package/esm2022/lib/dashboard/cube/document-state.widget.mjs +3 -3
- package/esm2022/lib/dashboard/cube/documents.widget.mjs +3 -3
- package/esm2022/lib/dashboard/cube/filter/filter.component.mjs +3 -3
- package/esm2022/lib/dashboard/dashboard.component.mjs +3 -3
- package/esm2022/lib/dashboard/dashboard.pane.component.mjs +3 -3
- package/esm2022/lib/dashboard/recents/recents.widget.mjs +3 -3
- package/esm2022/lib/dashboard/score/activity.widget.mjs +3 -3
- package/esm2022/lib/dashboard/score/compare-groups.widget.mjs +3 -3
- package/esm2022/lib/dashboard/score/peers-performance.widget.mjs +3 -3
- package/esm2022/lib/dashboard/score/pending-results.widget.mjs +3 -3
- package/esm2022/lib/dashboard/score/personal-score.widget.mjs +3 -3
- package/esm2022/lib/dashboard/widget-item.component.mjs +3 -3
- package/esm2022/lib/designer.module.mjs +4 -4
- package/esm2022/lib/desktop.module.mjs +4 -4
- package/esm2022/lib/home/about/about.dialog.mjs +3 -3
- package/esm2022/lib/home/home-base.component.mjs +3 -3
- package/esm2022/lib/home/home.desktop.component.mjs +3 -3
- package/esm2022/lib/home/home.mobile.component.mjs +3 -3
- package/esm2022/lib/home/notifications/notifications.component.mjs +3 -3
- package/esm2022/lib/home/options/options.component.mjs +3 -3
- package/esm2022/lib/home/outofoffice/outofoffice.component.mjs +3 -3
- package/esm2022/lib/home/sign/sign.component.mjs +3 -3
- package/esm2022/lib/impersonate/impersonate.component.mjs +3 -3
- package/esm2022/lib/mobile.module.mjs +4 -4
- package/esm2022/lib/modules/chart.module.mjs +4 -4
- package/esm2022/lib/modules/circular-gauge.module.mjs +4 -4
- package/esm2022/lib/modules/datepicker.intl.mjs +3 -3
- package/esm2022/lib/modules/dayjs.module.mjs +12 -10
- package/esm2022/lib/modules/diagram.module.mjs +4 -4
- package/esm2022/lib/modules/gantt.module.mjs +4 -4
- package/esm2022/lib/modules/grid.module.mjs +4 -4
- package/esm2022/lib/modules/linear-gauge.module.mjs +4 -4
- package/esm2022/lib/modules/material.module.mjs +4 -4
- package/esm2022/lib/modules/paginator.intl.mjs +3 -3
- package/esm2022/lib/modules/pivot.module.mjs +4 -4
- package/esm2022/lib/modules/schedule.module.mjs +4 -4
- package/esm2022/lib/modules/spreadsheet.module.mjs +4 -4
- package/esm2022/lib/modules/stepper.intl.mjs +3 -3
- package/esm2022/lib/modules/texteditor.module.mjs +4 -4
- package/esm2022/lib/notifications/filter.component.mjs +3 -3
- package/esm2022/lib/notifications/notifications-table.component.mjs +3 -3
- package/esm2022/lib/notifications/notifications.mobile.component.mjs +3 -3
- package/esm2022/lib/notifications/notifications.pane.component.mjs +3 -3
- package/esm2022/lib/notifications/notifications.service.mjs +3 -3
- package/esm2022/lib/notifications/types/commented.notification.mjs +3 -3
- package/esm2022/lib/notifications/types/cube-anomaly.notification.mjs +3 -3
- package/esm2022/lib/notifications/types/escalated.notification.mjs +3 -3
- package/esm2022/lib/notifications/types/invite.notification.mjs +3 -3
- package/esm2022/lib/notifications/types/liked.notification.mjs +3 -3
- package/esm2022/lib/notifications/types/long-running-task.notification.mjs +3 -3
- package/esm2022/lib/notifications/types/notification-base.mjs +3 -3
- package/esm2022/lib/notifications/types/nudge.notification.mjs +3 -3
- package/esm2022/lib/notifications/types/state-changed.notification.mjs +3 -3
- package/esm2022/lib/notifications/types/tagged.notification.mjs +3 -3
- package/esm2022/lib/notifications/types/text.notification.mjs +3 -3
- package/esm2022/lib/notifications/types/upcoming-event.notification.mjs +3 -3
- package/esm2022/lib/options/options.component.mjs +3 -3
- package/esm2022/lib/options/options.service.mjs +3 -3
- package/esm2022/lib/reports/arguments-component.mjs +3 -3
- package/esm2022/lib/reports/cube/documents.component.mjs +3 -3
- package/esm2022/lib/reports/cube/grid-documents.component.mjs +3 -3
- package/esm2022/lib/reports/cube/performance-hilo.component.mjs +126 -50
- package/esm2022/lib/reports/cube/performance-wind.component.mjs +8 -10
- package/esm2022/lib/reports/cube/table-documents.component.mjs +3 -3
- package/esm2022/lib/reports/cube/usage-args.component.mjs +3 -3
- package/esm2022/lib/reports/cube/usage-base.mjs +3 -3
- package/esm2022/lib/reports/cube/usage-chart.component.mjs +3 -3
- package/esm2022/lib/reports/cube/usage-pivot.component.mjs +3 -3
- package/esm2022/lib/reports/cube/usage.component.mjs +3 -3
- package/esm2022/lib/reports/report-viewer.component.mjs +3 -3
- package/esm2022/lib/reports/report.mobile.component.mjs +3 -3
- package/esm2022/lib/reports/report.pane.component.mjs +3 -3
- package/esm2022/lib/reports/reports-menu.component.mjs +3 -3
- package/esm2022/lib/reports/substitution/substitution.component.mjs +3 -3
- package/esm2022/lib/reports/table/table-view.component.mjs +3 -3
- package/esm2022/lib/reports/tasks/tasks.component.mjs +3 -3
- package/esm2022/lib/scheduler/schedule.component.mjs +3 -3
- package/esm2022/lib/scheduler/scheduler.mobile.component.mjs +3 -3
- package/esm2022/lib/scheduler/scheduler.pane.component.mjs +3 -3
- package/esm2022/lib/search/cube.component.mjs +3 -3
- package/esm2022/lib/search/document.component.mjs +3 -3
- package/esm2022/lib/search/guide.component.mjs +3 -3
- package/esm2022/lib/search/path.component.mjs +3 -3
- package/esm2022/lib/search/search.service.mjs +3 -3
- package/esm2022/lib/shared.module.mjs +4 -4
- package/esm2022/lib/system.module.mjs +4 -4
- package/esm2022/lib/views/cube/chart.component.mjs +3 -3
- package/esm2022/lib/views/cube/cube-base.mjs +3 -3
- package/esm2022/lib/views/cube/explore.component.mjs +3 -3
- package/esm2022/lib/views/cube/matrix.component.mjs +3 -3
- package/esm2022/lib/views/cube/parallel.component.mjs +3 -3
- package/esm2022/lib/views/cube/pivot.component.mjs +3 -3
- package/esm2022/lib/views/cube/sum.component.mjs +3 -3
- package/esm2022/lib/views/cube/view.component.mjs +3 -3
- package/esm2022/lib/views/timeline/timeline.component.mjs +3 -3
- package/esm2022/lib/views/view-item.component.mjs +3 -3
- package/esm2022/lib/views/views.component.mjs +3 -3
- package/esm2022/lib/views/views.mobile.component.mjs +3 -3
- package/esm2022/lib/views/views.pane.component.mjs +3 -3
- package/fesm2022/bizdoc-core.mjs +1435 -1337
- package/fesm2022/bizdoc-core.mjs.map +1 -1
- package/lib/admin/core/ace.input.d.ts +5 -4
- package/lib/core/hub.service.d.ts +1 -0
- package/lib/core/translations.d.ts +6 -0
- package/lib/modules/dayjs.module.d.ts +1 -0
- package/lib/reports/cube/performance-hilo.component.d.ts +18 -11
- package/lib/reports/cube/performance-wind.component.d.ts +2 -2
- package/package.json +14 -16
@@ -32,10 +32,10 @@ export class OptionsService {
|
|
32
32
|
oRef.attach(portal);
|
33
33
|
oRef.backdropClick().subscribe(() => oRef.dispose());
|
34
34
|
}
|
35
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.
|
36
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: OptionsService, deps: [{ token: i1.Directionality }, { token: i2.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
36
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: OptionsService }); }
|
37
37
|
}
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: OptionsService, decorators: [{
|
39
39
|
type: Injectable
|
40
40
|
}], ctorParameters: () => [{ type: i1.Directionality }, { type: i2.Overlay }, { type: i0.Injector }] });
|
41
41
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9vcHRpb25zL29wdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFXLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQTBCLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBRzdGLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQW9CLElBQW9CLEVBQzlCLFFBQWlCLEVBQ2pCLFNBQW1CO1FBRlQsU0FBSSxHQUFKLElBQUksQ0FBZ0I7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixjQUFTLEdBQVQsU0FBUyxDQUFVO0lBQzdCLENBQUM7SUFDRCxJQUFJLENBQUMsT0FBb0I7UUFDdkIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0YsTUFBTSxNQUFNLEdBQUcsSUFBSSxhQUFhLENBQUM7WUFDL0IsZ0JBQWdCLEVBQUUsUUFBUTtZQUMxQixXQUFXLEVBQUUsSUFBSTtZQUNqQixtQkFBbUIsRUFBRSxJQUFJO1lBQ3pCLFVBQVUsRUFBRSxZQUFZO1lBQ3hCLGFBQWEsRUFBRSwyQkFBMkI7WUFDMUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztTQUMzQixDQUFDLENBQUM7UUFFSCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQy9CLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsRUFBRTtnQkFDdkUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7YUFDeEMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDMUIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDOzhHQTFCVSxjQUFjO2tIQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5UmVmLCBPdmVybGF5LCBPdmVybGF5Q29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBEaXJlY3Rpb25hbGl0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcclxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IE9wdGlvblR5cGUsIE9wdGlvbkRhdGEsIE9QVElPTl9QQU5FTCwgT3B0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vb3B0aW9ucy5jb21wb25lbnQnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgT3B0aW9uc1NlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RpcjogRGlyZWN0aW9uYWxpdHksXHJcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxyXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgfVxyXG4gIG9wZW4oc2VjdGlvbj86IE9wdGlvblR5cGUpIHtcclxuICAgIGNvbnN0IHBvc2l0aW9uID0gdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLmNlbnRlckhvcml6b250YWxseSgpLmNlbnRlclZlcnRpY2FsbHkoKTtcclxuICAgIGNvbnN0IGNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogcG9zaXRpb24sXHJcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxyXG4gICAgICBkaXNwb3NlT25OYXZpZ2F0aW9uOiB0cnVlLFxyXG4gICAgICBwYW5lbENsYXNzOiAnaG9tZS1wYW5lbCcsXHJcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wJyxcclxuICAgICAgZGlyZWN0aW9uOiB0aGlzLl9kaXIudmFsdWVcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IG9SZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZShjb25maWcpO1xyXG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6IE9QVElPTl9QQU5FTCwgdXNlVmFsdWU6IHsgc2VjdGlvbjogc2VjdGlvbiB9IGFzIE9wdGlvbkRhdGEgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IE92ZXJsYXlSZWYsIHVzZVZhbHVlOiBvUmVmIH0sXHJcbiAgICAgIF0sIHBhcmVudDogdGhpcy5faW5qZWN0b3JcclxuICAgIH0pO1xyXG4gICAgY29uc3QgcG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChPcHRpb25zQ29tcG9uZW50LCBudWxsLCBpbmplY3Rvcik7XHJcbiAgICBvUmVmLmF0dGFjaChwb3J0YWwpO1xyXG4gICAgb1JlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IG9SZWYuZGlzcG9zZSgpKTtcclxuICB9XHJcbn1cclxuIl19
|
@@ -58,10 +58,10 @@ export class ReportArgumentsComponent {
|
|
58
58
|
this._destroy.next();
|
59
59
|
this._destroy.complete();
|
60
60
|
}
|
61
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.
|
62
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.
|
61
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ReportArgumentsComponent, deps: [{ token: i0.Injector }, { token: i0.ViewContainerRef }, { token: i1.BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); }
|
62
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ReportArgumentsComponent, selector: "bizdoc-report-arguments", inputs: { reportRef: "reportRef", template: "template", arguments: "arguments", args: "args" }, outputs: { argsChange: "argsChange" }, ngImport: i0, template: '', isInline: true }); }
|
63
63
|
}
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ReportArgumentsComponent, decorators: [{
|
65
65
|
type: Component,
|
66
66
|
args: [{
|
67
67
|
selector: 'bizdoc-report-arguments',
|
@@ -20,8 +20,8 @@ let CubeDocumentsComponent = class CubeDocumentsComponent {
|
|
20
20
|
// else comp = CubeDocumentsTableComponent;
|
21
21
|
this._instance = this._vc.createComponent(comp, { injector: this._injector }).instance;
|
22
22
|
}
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.
|
24
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CubeDocumentsComponent, deps: [{ token: i0.Injector }, { token: i1.ReportRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
24
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: CubeDocumentsComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true }); }
|
25
25
|
};
|
26
26
|
CubeDocumentsComponent = __decorate([
|
27
27
|
BizDoc({
|
@@ -29,7 +29,7 @@ CubeDocumentsComponent = __decorate([
|
|
29
29
|
})
|
30
30
|
], CubeDocumentsComponent);
|
31
31
|
export { CubeDocumentsComponent };
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CubeDocumentsComponent, decorators: [{
|
33
33
|
type: Component,
|
34
34
|
args: [{
|
35
35
|
template: ''
|
@@ -59,10 +59,10 @@ export class CubeDocumentsGridComponent {
|
|
59
59
|
this._destroy.next();
|
60
60
|
this._destroy.complete();
|
61
61
|
}
|
62
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.
|
63
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.
|
62
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CubeDocumentsGridComponent, deps: [{ token: i1.ReportRef }, { token: i2.DocumentInfo }, { token: i3.SessionService }, { token: i4.AccountService }, { token: i5.CubeService }], target: i0.ɵɵFactoryTarget.Component }); }
|
63
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: CubeDocumentsGridComponent, selector: "ng-component", viewQueries: [{ propertyName: "grid", first: true, predicate: GridComponent, descendants: true }], ngImport: i0, template: "<ejs-grid [dataSource]=\"dataSource\" (rowSelected)=\"rowSelected($event)\"\r\n [pageSettings]=pageSettings\r\n [allowPaging]=false\r\n [enableHover]=false\r\n [enableAdaptiveUI]=true\r\n [enableStickyHeader]=true\r\n [allowExcelExport]=true\r\n [height]=height\r\n [allowGrouping]=true\r\n [allowSorting]=true\r\n [groupSettings]=groupSettings>\r\n <e-columns>\r\n <e-column field=\"number\" [headerText]=\"'Number'|translate\"></e-column>\r\n <e-column field=\"subject\" [headerText]=\"'Subject'|translate\"></e-column>\r\n <e-column field=\"stateId\" [headerText]=\"'Status'|translate\">\r\n <ng-template #template let-data>{{data.stateId | state}}</ng-template>\r\n </e-column>\r\n <e-column field=\"date\" [headerText]=\"'Date'|translate\">\r\n <ng-template #template let-data>{{data.date | amDateFormat: 'lll'}}</ng-template>\r\n </e-column>\r\n <e-column field=\"formId\" [headerText]=\"'Form'|translate\">\r\n <ng-template #template let-data>{{data.formId | form}}</ng-template>\r\n </e-column>\r\n <e-column field=\"userName\" [headerText]=\"'Name'|translate\">\r\n </e-column>\r\n <!--<e-column *ngFor=\"let a of cube.axes\" [field]=\"a.name\" [headerText]=\"a.title|translate\">\r\n </e-column>-->\r\n <e-column field=\"total\" [headerText]=\"'Value'|translate\" textAlign=\"Right\" [format]=\"valueFormat\">\r\n </e-column>\r\n </e-columns>\r\n</ejs-grid>\r\n", dependencies: [{ kind: "directive", type: i6.ColumnDirective, selector: "ejs-gantt>e-columns>e-column", inputs: ["allowEditing", "allowFiltering", "allowReordering", "allowResizing", "allowSorting", "clipMode", "customAttributes", "disableHtmlEncode", "displayAsCheckBox", "edit", "editType", "field", "filter", "format", "formatter", "headerTemplate", "headerText", "headerTextAlign", "hideAtMedia", "isPrimaryKey", "maxWidth", "minWidth", "sortComparer", "template", "textAlign", "type", "validationRules", "valueAccessor", "visible", "width"] }, { kind: "directive", type: i6.ColumnsDirective, selector: "ejs-gantt>e-columns" }, { kind: "directive", type: i7.ColumnDirective, selector: "e-columns>e-column", inputs: ["border", "width"] }, { kind: "directive", type: i7.ColumnsDirective, selector: "ejs-chart>e-columns" }, { kind: "component", type: i8.GridComponent, selector: "ejs-grid", inputs: ["aggregates", "allowExcelExport", "allowFiltering", "allowGrouping", "allowKeyboard", "allowMultiSorting", "allowPaging", "allowPdfExport", "allowReordering", "allowResizing", "allowRowDragAndDrop", "allowSelection", "allowSorting", "allowTextWrap", "autoFit", "childGrid", "clipMode", "columnChooserSettings", "columnMenuItems", "columnQueryMode", "columns", "contextMenuItems", "cssClass", "currencyCode", "currentAction", "currentViewData", "dataSource", "detailTemplate", "editSettings", "ej2StatePersistenceVersion", "emptyRecordTemplate", "enableAdaptiveUI", "enableAltRow", "enableAutoFill", "enableColumnVirtualization", "enableHeaderFocus", "enableHover", "enableHtmlSanitizer", "enableImmutableMode", "enableInfiniteScrolling", "enablePersistence", "enableRtl", "enableStickyHeader", "enableVirtualMaskRow", "enableVirtualization", "exportGrids", "filterSettings", "frozenColumns", "frozenRows", "gridLines", "groupSettings", "height", "hierarchyPrintMode", "infiniteScrollSettings", "loadingIndicator", "locale", "pageSettings", "pagerTemplate", "parentDetails", "printMode", "query", "queryString", "resizeSettings", "rowDropSettings", "rowHeight", "rowRenderingMode", "rowTemplate", "searchSettings", "selectedRowIndex", "selectionSettings", "showColumnChooser", "showColumnMenu", "showHider", "sortSettings", "textWrapSettings", "toolbar", "toolbarTemplate", "width"], outputs: ["actionBegin", "actionComplete", "actionFailure", "batchAdd", "batchCancel", "batchDelete", "beforeAutoFill", "beforeBatchAdd", "beforeBatchDelete", "beforeBatchSave", "beforeCopy", "beforeDataBound", "beforeExcelExport", "beforeOpenAdaptiveDialog", "beforeOpenColumnChooser", "beforePaste", "beforePdfExport", "beforePrint", "beginEdit", "cellDeselected", "cellDeselecting", "cellEdit", "cellSave", "cellSaved", "cellSelected", "cellSelecting", "checkBoxChange", "columnDataStateChange", "columnDeselected", "columnDeselecting", "columnDrag", "columnDragStart", "columnDrop", "columnMenuClick", "columnMenuOpen", "columnSelected", "columnSelecting", "commandClick", "contextMenuClick", "contextMenuOpen", "created", "dataBound", "dataSourceChanged", "dataStateChange", "destroyed", "detailDataBound", "excelAggregateQueryCellInfo", "excelExportComplete", "excelHeaderQueryCellInfo", "excelQueryCellInfo", "exportDetailDataBound", "exportDetailTemplate", "exportGroupCaption", "headerCellInfo", "keyPressed", "lazyLoadGroupCollapse", "lazyLoadGroupExpand", "load", "pdfAggregateQueryCellInfo", "pdfExportComplete", "pdfHeaderQueryCellInfo", "pdfQueryCellInfo", "printComplete", "queryCellInfo", "recordClick", "recordDoubleClick", "resizeStart", "resizeStop", "resizing", "rowDataBound", "rowDeselected", "rowDeselecting", "rowDrag", "rowDragStart", "rowDragStartHelper", "rowDrop", "rowSelected", "rowSelecting", "toolbarClick", "dataSourceChange"] }, { kind: "directive", type: i8.ColumnDirective, selector: "ejs-grid>e-columns>e-column", inputs: ["allowEditing", "allowFiltering", "allowGrouping", "allowReordering", "allowResizing", "allowSearching", "allowSorting", "autoFit", "clipMode", "columns", "commands", "customAttributes", "dataSource", "defaultValue", "disableHtmlEncode", "displayAsCheckBox", "edit", "editTemplate", "editType", "enableGroupByFormat", "field", "filter", "filterBarTemplate", "filterTemplate", "foreignKeyField", "foreignKeyValue", "format", "formatter", "freeze", "headerTemplate", "headerText", "headerTextAlign", "headerValueAccessor", "hideAtMedia", "index", "isFrozen", "isIdentity", "isPrimaryKey", "lockColumn", "maxWidth", "minWidth", "showColumnMenu", "showInColumnChooser", "sortComparer", "template", "textAlign", "type", "uid", "validationRules", "valueAccessor", "visible", "width"] }, { kind: "directive", type: i8.ColumnsDirective, selector: "ejs-grid>e-columns" }, { kind: "directive", type: i8.AggregateColumnDirective, selector: "ejs-grid>e-aggregates>e-aggregate>e-columns>e-column", inputs: ["columnName", "customAggregate", "field", "footerTemplate", "format", "groupCaptionTemplate", "groupFooterTemplate", "type"] }, { kind: "directive", type: i8.AggregateColumnsDirective, selector: "ejs-grid>e-aggregates>e-aggregate>e-columns" }, { kind: "directive", type: i9.ColumnDirective, selector: "e-columns>e-column", inputs: ["customWidth", "format", "hidden", "index", "isLocked", "validation", "width"] }, { kind: "directive", type: i9.ColumnsDirective, selector: "e-sheet>e-columns" }, { kind: "directive", type: i10.ColumnDirective, selector: "e-columns>e-column", inputs: ["allowDrag", "allowDrop", "allowToggle", "headerText", "isExpanded", "keyField", "maxCount", "minCount", "showAddButton", "showItemCount", "template", "transitionColumns"] }, { kind: "directive", type: i10.ColumnsDirective, selector: "ejs-kanban>e-columns" }, { kind: "pipe", type: i11.DateFormatPipe, name: "amDateFormat" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }, { kind: "pipe", type: i13.StatePipe, name: "state" }, { kind: "pipe", type: i14.FormPipe, name: "form" }] }); }
|
64
64
|
}
|
65
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CubeDocumentsGridComponent, decorators: [{
|
66
66
|
type: Component,
|
67
67
|
args: [{ template: "<ejs-grid [dataSource]=\"dataSource\" (rowSelected)=\"rowSelected($event)\"\r\n [pageSettings]=pageSettings\r\n [allowPaging]=false\r\n [enableHover]=false\r\n [enableAdaptiveUI]=true\r\n [enableStickyHeader]=true\r\n [allowExcelExport]=true\r\n [height]=height\r\n [allowGrouping]=true\r\n [allowSorting]=true\r\n [groupSettings]=groupSettings>\r\n <e-columns>\r\n <e-column field=\"number\" [headerText]=\"'Number'|translate\"></e-column>\r\n <e-column field=\"subject\" [headerText]=\"'Subject'|translate\"></e-column>\r\n <e-column field=\"stateId\" [headerText]=\"'Status'|translate\">\r\n <ng-template #template let-data>{{data.stateId | state}}</ng-template>\r\n </e-column>\r\n <e-column field=\"date\" [headerText]=\"'Date'|translate\">\r\n <ng-template #template let-data>{{data.date | amDateFormat: 'lll'}}</ng-template>\r\n </e-column>\r\n <e-column field=\"formId\" [headerText]=\"'Form'|translate\">\r\n <ng-template #template let-data>{{data.formId | form}}</ng-template>\r\n </e-column>\r\n <e-column field=\"userName\" [headerText]=\"'Name'|translate\">\r\n </e-column>\r\n <!--<e-column *ngFor=\"let a of cube.axes\" [field]=\"a.name\" [headerText]=\"a.title|translate\">\r\n </e-column>-->\r\n <e-column field=\"total\" [headerText]=\"'Value'|translate\" textAlign=\"Right\" [format]=\"valueFormat\">\r\n </e-column>\r\n </e-columns>\r\n</ejs-grid>\r\n" }]
|
68
68
|
}], ctorParameters: () => [{ type: i1.ReportRef }, { type: i2.DocumentInfo }, { type: i3.SessionService }, { type: i4.AccountService }, { type: i5.CubeService }], propDecorators: { grid: [{
|
@@ -3,10 +3,11 @@ import { Component } from '@angular/core';
|
|
3
3
|
import { Subject, startWith, takeUntil } from 'rxjs';
|
4
4
|
/// <reference path="./node_modules/dayjs/plugin/duration.d.ts" />
|
5
5
|
import dayjs from 'dayjs';
|
6
|
+
import { Chart } from '@syncfusion/ej2-angular-charts';
|
7
|
+
//import { CircularGauge, GaugeTheme, IAxisLabelRenderEventArgs, ITooltipRenderEventArgs, LegendSettingsModel, RangeModel, TooltipSettingsModel } from '@syncfusion/ej2-angular-circulargauge';
|
8
|
+
import { Workbook } from '@syncfusion/ej2-excel-export';
|
6
9
|
import { BizDoc } from '../../core/decorators';
|
7
10
|
import { FONT_FAMILY } from '../../core/colors';
|
8
|
-
//import { CircularGauge, GaugeTheme, IAxisLabelRenderEventArgs, ITooltipRenderEventArgs, LegendSettingsModel, RangeModel, TooltipSettingsModel } from '@syncfusion/ej2-angular-circulargauge';
|
9
|
-
import { Chart } from '@syncfusion/ej2-angular-charts';
|
10
11
|
import * as i0 from "@angular/core";
|
11
12
|
import * as i1 from "../../core/account.service";
|
12
13
|
import * as i2 from "../../core/session.service";
|
@@ -22,9 +23,28 @@ let PerformanceHiloComponent = class PerformanceHiloComponent {
|
|
22
23
|
this.titleStyle = {
|
23
24
|
fontFamily: FONT_FAMILY
|
24
25
|
};
|
26
|
+
this.primaryYAxis = {
|
27
|
+
stripLines: [{
|
28
|
+
text: this._translate.get('Standard'),
|
29
|
+
textStyle: {
|
30
|
+
fontFamily: FONT_FAMILY,
|
31
|
+
},
|
32
|
+
opacity: .8,
|
33
|
+
}]
|
34
|
+
};
|
35
|
+
this.primaryXAxis = {
|
36
|
+
valueType: 'Category'
|
37
|
+
};
|
38
|
+
this.tooltip = { enable: true };
|
39
|
+
this.enableRtl = this._session.inverse;
|
40
|
+
//readonly legendSettings: LegendSettingsModel = {};
|
25
41
|
this._destroy = new Subject();
|
26
42
|
_session.themeChange.pipe(takeUntil(this._destroy), startWith(_session.theme)).subscribe(t => {
|
27
|
-
|
43
|
+
this.theme = t.dark ? 'Material3Dark' : 'Material3';
|
44
|
+
this.palettes = [
|
45
|
+
this._session.getAccent(),
|
46
|
+
this._session.getPrimery()
|
47
|
+
];
|
28
48
|
//this.gauge && this._draw();
|
29
49
|
this.chart && this._draw();
|
30
50
|
});
|
@@ -32,34 +52,36 @@ let PerformanceHiloComponent = class PerformanceHiloComponent {
|
|
32
52
|
onBind(data) {
|
33
53
|
//this.gauge?.destroy();
|
34
54
|
this.chart?.destroy();
|
55
|
+
this.data = null;
|
35
56
|
if (!data.length)
|
36
57
|
return;
|
37
58
|
let accumStd = 0, countStd = 0, accumDuration = 0;
|
38
|
-
this.
|
59
|
+
this.standardMax = 0, this.standardMin = 0, this.durationMax = 0, this.durationMin = data[0].durationLow;
|
39
60
|
data.forEach(e => {
|
40
61
|
if (e.standardAvg) {
|
41
|
-
if (e.standardHigh > this.
|
42
|
-
this.
|
43
|
-
if (e.standardLow < this.
|
44
|
-
this.
|
62
|
+
if (e.standardHigh > this.standardMax)
|
63
|
+
this.standardMax = e.standardHigh;
|
64
|
+
if (e.standardLow < this.standardMin || this.standardMin === 0)
|
65
|
+
this.standardMin = e.standardLow;
|
45
66
|
countStd++;
|
46
67
|
accumStd += e.standardAvg;
|
47
68
|
}
|
48
69
|
accumDuration += e.durationAvg;
|
49
|
-
if (e.durationHigh > this.
|
50
|
-
this.
|
51
|
-
if (e.durationLow < this.
|
52
|
-
this.
|
70
|
+
if (e.durationHigh > this.durationMax)
|
71
|
+
this.durationMax = e.durationHigh;
|
72
|
+
if (e.durationLow < this.durationMin)
|
73
|
+
this.durationMin = e.durationLow;
|
53
74
|
});
|
54
|
-
this.
|
75
|
+
this.standardAvg = countStd ? accumStd / countStd : 0,
|
55
76
|
this.durationAvg = accumDuration / data.length;
|
56
77
|
this._accounts.getAll(data.map(e => e.userId)).
|
57
78
|
subscribe(users => {
|
58
79
|
this.data = data.map((d, i) => {
|
59
|
-
|
80
|
+
let durationDev = d.durationAvg / this.durationAvg, standardDev = d.standardAvg ?
|
81
|
+
d.durationAvg / d.standardAvg : 0;
|
60
82
|
return ({
|
61
|
-
durationDev,
|
62
|
-
standardDev,
|
83
|
+
durationDev: Math.round(durationDev > 1 ? (durationDev - 1) * 100 : -durationDev * 100),
|
84
|
+
standardDev: Math.round(standardDev > 1 ? (standardDev - 1) * 100 : -standardDev * 100),
|
63
85
|
...d,
|
64
86
|
name: users[i].name,
|
65
87
|
values: [d.standardHigh, d.durationHigh, d.durationAvg, d.durationLow, d.standardLow]
|
@@ -69,15 +91,79 @@ let PerformanceHiloComponent = class PerformanceHiloComponent {
|
|
69
91
|
});
|
70
92
|
}
|
71
93
|
onExport() {
|
72
|
-
|
94
|
+
const book = new Workbook({
|
95
|
+
worksheets: [
|
96
|
+
{
|
97
|
+
enableRtl: this._session.inverse,
|
98
|
+
name: this._translate.get('SheetN', 1),
|
99
|
+
columns: [
|
100
|
+
{ index: 1, width: 250 },
|
101
|
+
{ index: 2, width: 150 },
|
102
|
+
{ index: 3, width: 150 },
|
103
|
+
],
|
104
|
+
rows: [{
|
105
|
+
index: 1,
|
106
|
+
cells: [{
|
107
|
+
index: 1,
|
108
|
+
type: 'text',
|
109
|
+
value: this._translate.get('Name'),
|
110
|
+
bold: true
|
111
|
+
}, {
|
112
|
+
index: 2,
|
113
|
+
type: 'time',
|
114
|
+
value: this._translate.get('Duration'),
|
115
|
+
bold: true
|
116
|
+
}, {
|
117
|
+
index: 3,
|
118
|
+
type: 'text',
|
119
|
+
value: this._translate.get('Deviation'),
|
120
|
+
bold: true
|
121
|
+
},
|
122
|
+
]
|
123
|
+
}, ...this.data.map((r, i) => ({
|
124
|
+
index: 2 + i,
|
125
|
+
cells: [
|
126
|
+
{
|
127
|
+
type: 'text',
|
128
|
+
index: 1,
|
129
|
+
value: r.name,
|
130
|
+
style: {
|
131
|
+
hAlign: 'left'
|
132
|
+
}
|
133
|
+
},
|
134
|
+
{
|
135
|
+
type: 'text',
|
136
|
+
index: 2,
|
137
|
+
value: dayjs.duration(r.durationAvg, 's').format('DD:HH:mm'),
|
138
|
+
style: {
|
139
|
+
hAlign: 'right',
|
140
|
+
}
|
141
|
+
},
|
142
|
+
{
|
143
|
+
type: 'number',
|
144
|
+
index: 3,
|
145
|
+
value: r.durationDev,
|
146
|
+
style: {
|
147
|
+
hAlign: 'right',
|
148
|
+
}
|
149
|
+
}
|
150
|
+
]
|
151
|
+
}))],
|
152
|
+
},
|
153
|
+
],
|
154
|
+
}, 'xlsx');
|
155
|
+
book.save(`${this._reportRef.name}.xlsx`);
|
73
156
|
}
|
74
157
|
_draw() {
|
75
158
|
this.chart?.destroy();
|
76
159
|
//const colors = this._session.accentPalette;
|
160
|
+
//while(this.palette.length< data.length)
|
161
|
+
//this.palette.push([...colors]);
|
77
162
|
//this.gauge?.destroy();
|
163
|
+
//this.title = this._translate.get('AverageValue', dayjs.duration(this.durationAvg, 'seconds').format('DD:HH:mm'));
|
78
164
|
//this.gauge = new CircularGauge({
|
79
165
|
// theme: this.theme,
|
80
|
-
// title: this.
|
166
|
+
// title: this.title,
|
81
167
|
// titleStyle: this.titleStyle,
|
82
168
|
// tooltip: this.tooltip,
|
83
169
|
// axes: [{
|
@@ -94,33 +180,23 @@ let PerformanceHiloComponent = class PerformanceHiloComponent {
|
|
94
180
|
// startWidth: 3,
|
95
181
|
// endWidth: 3,
|
96
182
|
// start: this.minDuration,
|
97
|
-
// end: this.stdAvg ? Math.floor(e.durationAvg / this.
|
98
|
-
// color:
|
183
|
+
// end: this.stdAvg ? Math.floor(e.durationAvg / this.standardAvg) : Math.floor(e.durationAvg / this.durationAvg),
|
184
|
+
// color: this.accentPalette[Math.floor((i + 9) / i)]
|
99
185
|
// } as RangeModel))
|
100
186
|
// }],
|
101
187
|
// tooltipRender: this.tooltipRender.bind(this),
|
102
188
|
// legendSettings: this.legendSettings,
|
103
|
-
// enableRtl: this.
|
189
|
+
// enableRtl: this.enableRtl,
|
104
190
|
// height: '100%',
|
105
191
|
//},
|
106
192
|
// this._elementRef.nativeElement);
|
193
|
+
const [stripLine] = this.primaryYAxis.stripLines;
|
194
|
+
stripLine.start = this.standardMin,
|
195
|
+
stripLine.end = this.standardMax;
|
107
196
|
this.chart = new Chart({
|
108
|
-
primaryYAxis:
|
109
|
-
|
110
|
-
|
111
|
-
textStyle: {
|
112
|
-
fontFamily: FONT_FAMILY,
|
113
|
-
},
|
114
|
-
opacity: .8,
|
115
|
-
start: this.minStd,
|
116
|
-
end: this.maxStd,
|
117
|
-
}]
|
118
|
-
},
|
119
|
-
primaryXAxis: {
|
120
|
-
valueType: 'Category'
|
121
|
-
},
|
122
|
-
tooltip: { enable: true },
|
123
|
-
tooltipRender: this.tooltipRender.bind(this),
|
197
|
+
primaryYAxis: this.primaryYAxis,
|
198
|
+
primaryXAxis: this.primaryXAxis,
|
199
|
+
tooltip: this.tooltip,
|
124
200
|
series: [{
|
125
201
|
type: 'BoxAndWhisker',
|
126
202
|
dataSource: this.data,
|
@@ -129,6 +205,7 @@ let PerformanceHiloComponent = class PerformanceHiloComponent {
|
|
129
205
|
xName: 'name',
|
130
206
|
yName: 'values'
|
131
207
|
}, {
|
208
|
+
name: this._translate.get('Average'),
|
132
209
|
type: 'Spline',
|
133
210
|
dataSource: this.data,
|
134
211
|
xName: 'name',
|
@@ -138,10 +215,10 @@ let PerformanceHiloComponent = class PerformanceHiloComponent {
|
|
138
215
|
}],
|
139
216
|
height: '100%',
|
140
217
|
axisLabelRender: this.axisLabelRender.bind(this),
|
218
|
+
tooltipRender: this.tooltipRender.bind(this),
|
141
219
|
enableExport: true,
|
142
|
-
|
143
|
-
|
144
|
-
]
|
220
|
+
enableRtl: this.enableRtl,
|
221
|
+
palettes: this.palettes
|
145
222
|
}, this._elementRef.nativeElement);
|
146
223
|
}
|
147
224
|
axisLabelRender(evt) {
|
@@ -151,15 +228,14 @@ let PerformanceHiloComponent = class PerformanceHiloComponent {
|
|
151
228
|
tooltipRender(evt) {
|
152
229
|
//evt.content = dayjs.duration(evt.range.end, 's').humanize();// 'DD:HH:mm'
|
153
230
|
if (evt.data.seriesIndex === 0) {
|
154
|
-
const [standardHigh, durationHigh, durationAvg, durationLow, standardLow] = evt.point.y;
|
155
|
-
evt.text = dayjs.duration(
|
156
|
-
|
157
|
-
|
231
|
+
const [standardHigh, durationHigh, durationAvg, durationLow, standardLow] = evt.point.y, { standardDev, durationDev } = this.data[evt.data.pointIndex];
|
232
|
+
evt.text = dayjs.duration(durationAvg, 's').
|
233
|
+
format('DD:HH:mm');
|
234
|
+
const deviation = Math.round(standardHigh ? standardDev : durationDev);
|
235
|
+
if (deviation !== 0)
|
158
236
|
evt.text += ` ${deviation}%`;
|
159
|
-
}
|
160
237
|
}
|
161
238
|
else {
|
162
|
-
evt.headerText = this._translate.get('Average');
|
163
239
|
evt.text = dayjs.duration(evt.data.pointY, 's').format('DD:HH:mm');
|
164
240
|
}
|
165
241
|
}
|
@@ -168,8 +244,8 @@ let PerformanceHiloComponent = class PerformanceHiloComponent {
|
|
168
244
|
this.chart?.destroy();
|
169
245
|
this._destroy.next();
|
170
246
|
}
|
171
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.
|
172
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.
|
247
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: PerformanceHiloComponent, deps: [{ token: i0.ElementRef }, { token: i1.AccountService }, { token: i2.SessionService }, { token: i3.TranslateService }, { token: i4.ReportRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
248
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: PerformanceHiloComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true, styles: [":host{flex:1}\n"] }); }
|
173
249
|
};
|
174
250
|
PerformanceHiloComponent = __decorate([
|
175
251
|
BizDoc({
|
@@ -177,8 +253,8 @@ PerformanceHiloComponent = __decorate([
|
|
177
253
|
})
|
178
254
|
], PerformanceHiloComponent);
|
179
255
|
export { PerformanceHiloComponent };
|
180
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.
|
256
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: PerformanceHiloComponent, decorators: [{
|
181
257
|
type: Component,
|
182
258
|
args: [{ template: '', styles: [":host{flex:1}\n"] }]
|
183
259
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.AccountService }, { type: i2.SessionService }, { type: i3.TranslateService }, { type: i4.ReportRef }] });
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZm9ybWFuY2UtaGlsby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL3JlcG9ydHMvY3ViZS9wZXJmb3JtYW5jZS1oaWxvLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELGtFQUFrRTtBQUNsRSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBTS9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCwrTEFBK0w7QUFDL0wsT0FBTyxFQUFFLEtBQUssRUFBc0QsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7O0FBVXBHLElBQU0sd0JBQXdCLEdBQTlCLE1BQU0sd0JBQXdCO0lBaUJuQyxZQUNVLFdBQXVDLEVBQ3ZDLFNBQXlCLEVBQ3pCLFFBQXdCLEVBQ3hCLFVBQTRCLEVBQzFCLFVBQStDO1FBSmpELGdCQUFXLEdBQVgsV0FBVyxDQUE0QjtRQUN2QyxjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUN6QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUMxQixlQUFVLEdBQVYsVUFBVSxDQUFxQztRQVpsRCxlQUFVLEdBQUc7WUFDcEIsVUFBVSxFQUFFLFdBQVc7U0FDeEIsQ0FBQztRQUNlLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBVzlDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFL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LHdCQUF3QjtJQUhwQyxNQUFNLENBQUM7UUFDTixRQUFRLEVBQUUseUJBQXlCO0tBQ3BDLENBQUM7R0FDVyx3QkFBd0IsQ0EwS3BDOzsyRkExS1ksd0JBQXdCO2tCQVBwQyxTQUFTOytCQUNFLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi9ub2RlX21vZHVsZXMvZGF5anMvcGx1Z2luL2R1cmF0aW9uLmQudHNcIiAvPlxyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBSZXBvcnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UnO1xyXG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvYWNjb3VudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEF4ZXNNYXAsIFVzZXJJbmZvIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEZPTlRfRkFNSUxZIH0gZnJvbSAnLi4vLi4vY29yZS9jb2xvcnMnO1xyXG4vL2ltcG9ydCB7IENpcmN1bGFyR2F1Z2UsIEdhdWdlVGhlbWUsIElBeGlzTGFiZWxSZW5kZXJFdmVudEFyZ3MsIElUb29sdGlwUmVuZGVyRXZlbnRBcmdzLCBMZWdlbmRTZXR0aW5nc01vZGVsLCBSYW5nZU1vZGVsLCBUb29sdGlwU2V0dGluZ3NNb2RlbCB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWNpcmN1bGFyZ2F1Z2UnO1xyXG5pbXBvcnQgeyBDaGFydCwgSUF4aXNMYWJlbFJlbmRlckV2ZW50QXJncywgSVRvb2x0aXBSZW5kZXJFdmVudEFyZ3MgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1jaGFydHMnO1xyXG5pbXBvcnQgeyBSZXBvcnRSZWYgfSBmcm9tICcuLi9yZXBvcnQtcmVmJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiAnJyxcclxuICBzdHlsZXM6IGA6aG9zdCB7ZmxleDogMX1gXHJcbn0pXHJcbkBCaXpEb2Moe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXBlcmZvcm1hbmNlLWhpbG8nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZXJmb3JtYW5jZUhpbG9Db21wb25lbnQgaW1wbGVtZW50cyBSZXBvcnRDb21wb25lbnQ8TW9kZWw+LCBPbkRlc3Ryb3kge1xyXG4gIC8vdGhlbWU6IEdhdWdlVGhlbWU7XHJcbiAgLy9nYXVnZTogQ2lyY3VsYXJHYXVnZTtcclxuICBkdXJhdGlvbkF2ZzogbnVtYmVyO1xyXG4gIHN0ZEF2ZzogbnVtYmVyO1xyXG4gIG1heFN0ZDogbnVtYmVyO1xyXG4gIG1pblN0ZDogbnVtYmVyO1xyXG4gIG1pbkR1cmF0aW9uOiBudW1iZXI7XHJcbiAgbWF4RHVyYXRpb246IG51bWJlcjtcclxuICBkYXRhOiBJdGVtW107XHJcbiAgcmVhZG9ubHkgdGl0bGVTdHlsZSA9IHtcclxuICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgfTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAvL3JlYWRvbmx5IGxlZ2VuZFNldHRpbmdzOiBMZWdlbmRTZXR0aW5nc01vZGVsID0ge307XHJcbiAgLy9yZWFkb25seSB0b29sdGlwOiBUb29sdGlwU2V0dGluZ3NNb2RlbCA9IHt9O1xyXG4gIGNoYXJ0OiBDaGFydDtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+LFxyXG4gICAgcHJpdmF0ZSBfYWNjb3VudHM6IEFjY291bnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICAgIHByaXZhdGUgX3JlcG9ydFJlZjogUmVwb3J0UmVmPFBlcmZvcm1hbmNlU2V0dGluZ3NNb2RlbD5cclxuICApIHtcclxuICAgIF9zZXNzaW9uLnRoZW1lQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpLCBzdGFydFdpdGgoX3Nlc3Npb24udGhlbWUpKS5zdWJzY3JpYmUodCA9PiB7XHJcbiAgICAgIC8vdGhpcy50aGVtZSA9IHQuZGFyayA/ICdNYXRlcmlhbDNEYXJrJyA6ICdNYXRlcmlhbDMnO1xyXG4gICAgICAvL3RoaXMuZ2F1Z2UgJiYgdGhpcy5fZHJhdygpO1xyXG4gICAgICB0aGlzLmNoYXJ0ICYmIHRoaXMuX2RyYXcoKTtcclxuICAgIH0pXHJcbiAgfVxyXG4gIG9uQmluZChkYXRhOiBNb2RlbFtdKSB7XHJcbiAgICAvL3RoaXMuZ2F1Z2U/LmRlc3Ryb3koKTtcclxuICAgIHRoaXMuY2hhcnQ/LmRlc3Ryb3koKTtcclxuICAgIGlmICghZGF0YS5sZW5ndGgpIHJldHVybjtcclxuICAgIGxldCBhY2N1bVN0ZCA9IDAsIGNvdW50U3RkID0gMCwgYWNjdW1EdXJhdGlvbiA9IDA7XHJcbiAgICB0aGlzLm1heFN0ZCA9IDAsIHRoaXMubWluU3RkID0gMCwgdGhpcy5tYXhEdXJhdGlvbiA9IDAsIHRoaXMubWluRHVyYXRpb24gPSBkYXRhWzBdLmR1cmF0aW9uTG93O1xyXG4gICAgZGF0YS5mb3JFYWNoKGUgPT4ge1xyXG4gICAgICBpZiAoZS5zdGFuZGFyZEF2Zykge1xyXG4gICAgICAgIGlmIChlLnN0YW5kYXJkSGlnaCA+IHRoaXMubWF4U3RkKVxyXG4gICAgICAgICAgdGhpcy5tYXhTdGQgPSBlLnN0YW5kYXJkSGlnaDtcclxuICAgICAgICBpZiAoZS5zdGFuZGFyZExvdyA8IHRoaXMubWluU3RkIHx8IHRoaXMubWluU3RkID09PSAwKVxyXG4gICAgICAgICAgdGhpcy5taW5TdGQgPSBlLnN0YW5kYXJkTG93O1xyXG4gICAgICAgIGNvdW50U3RkKys7XHJcbiAgICAgICAgYWNjdW1TdGQgKz0gZS5zdGFuZGFyZEF2ZztcclxuICAgICAgfVxyXG4gICAgICBhY2N1bUR1cmF0aW9uICs9IGUuZHVyYXRpb25Bdmc7XHJcbiAgICAgIGlmIChlLmR1cmF0aW9uSGlnaCA+IHRoaXMubWF4RHVyYXRpb24pXHJcbiAgICAgICAgdGhpcy5tYXhEdXJhdGlvbiA9IGUuZHVyYXRpb25IaWdoO1xyXG4gICAgICBpZiAoZS5kdXJhdGlvbkxvdyA8IHRoaXMubWluRHVyYXRpb24pXHJcbiAgICAgICAgdGhpcy5taW5EdXJhdGlvbiA9IGUuZHVyYXRpb25Mb3c7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc3RkQXZnID0gY291bnRTdGQgPyBhY2N1bVN0ZCAvIGNvdW50U3RkIDogMCxcclxuICAgICAgdGhpcy5kdXJhdGlvbkF2ZyA9IGFjY3VtRHVyYXRpb24gLyBkYXRhLmxlbmd0aDtcclxuICAgIHRoaXMuX2FjY291bnRzLmdldEFsbChkYXRhLm1hcChlID0+IGUudXNlcklkKSkuXHJcbiAgICAgIHN1YnNjcmliZSh1c2VycyA9PiB7XHJcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YS5tYXAoKGQsIGkpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGR1cmF0aW9uRGV2ID0gZC5kdXJhdGlvbkF2ZyAvIHRoaXMuZHVyYXRpb25BdmcsXHJcbiAgICAgICAgICAgIHN0YW5kYXJkRGV2ID0gdGhpcy5zdGRBdmcgPyBkLmR1cmF0aW9uQXZnIC8gdGhpcy5zdGRBdmcgOiAwO1xyXG5cclxuICAgICAgICAgIHJldHVybiAoe1xyXG4gICAgICAgICAgICBkdXJhdGlvbkRldixcclxuICAgICAgICAgICAgc3RhbmRhcmREZXYsXHJcbiAgICAgICAgICAgIC4uLmQsXHJcbiAgICAgICAgICAgIG5hbWU6IHVzZXJzW2ldLm5hbWUsXHJcbiAgICAgICAgICAgIHZhbHVlczogW2Quc3RhbmRhcmRIaWdoLCBkLmR1cmF0aW9uSGlnaCwgZC5kdXJhdGlvbkF2ZywgZC5kdXJhdGlvbkxvdywgZC5zdGFuZGFyZExvd11cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX2RyYXcoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIG9uRXhwb3J0KCkge1xyXG4gICAgdGhpcy5jaGFydD8uZXhwb3J0KCdYTFNYJywgdGhpcy5fcmVwb3J0UmVmLm5hbWUpO1xyXG4gIH1cclxuICBwcml2YXRlIF9kcmF3KCkge1xyXG4gICAgdGhpcy5jaGFydD8uZGVzdHJveSgpO1xyXG4gICAgLy9jb25zdCBjb2xvcnMgPSB0aGlzLl9zZXNzaW9uLmFjY2VudFBhbGV0dGU7XHJcbiAgICAvL3RoaXMuZ2F1Z2U/LmRlc3Ryb3koKTtcclxuICAgIC8vdGhpcy5nYXVnZSA9IG5ldyBDaXJjdWxhckdhdWdlKHtcclxuICAgIC8vICB0aGVtZTogdGhpcy50aGVtZSxcclxuICAgIC8vICB0aXRsZTogdGhpcy5fdHJhbnNsYXRlLmdldCgnQXZlcmFnZVZhbHVlJywgZGF5anMuZHVyYXRpb24odGhpcy5kdXJhdGlvbkF2ZywgJ3NlY29uZHMnKS5mb3JtYXQoJ0REOkhIOm1tJykpLFxyXG4gICAgLy8gIHRpdGxlU3R5bGU6IHRoaXMudGl0bGVTdHlsZSxcclxuICAgIC8vICB0b29sdGlwOiB0aGlzLnRvb2x0aXAsXHJcbiAgICAvLyAgYXhlczogW3tcclxuICAgIC8vICAgIHN0YXJ0QW5nbGU6IDI3MCxcclxuICAgIC8vICAgIGVuZEFuZ2xlOiA5MCxcclxuICAgIC8vICAgIHBvaW50ZXJzOiBbe1xyXG4gICAgLy8gICAgICB0ZXh0OiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdTdGFuZGFyZCcpLFxyXG4gICAgLy8gICAgICBjb2xvcjogdGhpcy5fc2Vzc2lvbi5nZXRQcmltZXJ5KCksXHJcbiAgICAvLyAgICAgIHZhbHVlOiB0aGlzLnN0ZEF2Z1xyXG4gICAgLy8gICAgfV0sXHJcbiAgICAvLyAgICByYW5nZXM6IHRoaXMuZGF0YS5tYXAoKGUsIGkpID0+ICh7XHJcbiAgICAvLyAgICAgIGxlZ2VuZFRleHQ6IGUubmFtZSxcclxuICAgIC8vICAgICAgcmFkaXVzOiBgJHsxMDAgLSBpICogNX0lYCxcclxuICAgIC8vICAgICAgc3RhcnRXaWR0aDogMyxcclxuICAgIC8vICAgICAgZW5kV2lkdGg6IDMsXHJcbiAgICAvLyAgICAgIHN0YXJ0OiB0aGlzLm1pbkR1cmF0aW9uLFxyXG4gICAgLy8gICAgICBlbmQ6IHRoaXMuc3RkQXZnID8gTWF0aC5mbG9vcihlLmR1cmF0aW9uQXZnIC8gdGhpcy5zdGRBdmcpIDogTWF0aC5mbG9vcihlLmR1cmF0aW9uQXZnIC8gdGhpcy5kdXJhdGlvbkF2ZyksXHJcbiAgICAvLyAgICAgIGNvbG9yOiBjb2xvcnNbTWF0aC5mbG9vcigoaSArIDkpIC8gaSldXHJcbiAgICAvLyAgICB9IGFzIFJhbmdlTW9kZWwpKVxyXG4gICAgLy8gIH1dLFxyXG4gICAgLy8gIHRvb2x0aXBSZW5kZXI6IHRoaXMudG9vbHRpcFJlbmRlci5iaW5kKHRoaXMpLFxyXG4gICAgLy8gIGxlZ2VuZFNldHRpbmdzOiB0aGlzLmxlZ2VuZFNldHRpbmdzLFxyXG4gICAgLy8gIGVuYWJsZVJ0bDogdGhpcy5fc2Vzc2lvbi5pbnZlcnNlLFxyXG4gICAgLy8gIGhlaWdodDogJzEwMCUnLFxyXG4gICAgLy99LFxyXG4gICAgLy8gIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLmNoYXJ0ID0gbmV3IENoYXJ0KHtcclxuICAgICAgcHJpbWFyeVlBeGlzOiB7XHJcbiAgICAgICAgc3RyaXBMaW5lczogW3tcclxuICAgICAgICAgIHRleHQ6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1N0YW5kYXJkJyksXHJcbiAgICAgICAgICB0ZXh0U3R5bGU6IHtcclxuICAgICAgICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgb3BhY2l0eTogLjgsXHJcbiAgICAgICAgICBzdGFydDogdGhpcy5taW5TdGQsXHJcbiAgICAgICAgICBlbmQ6IHRoaXMubWF4U3RkLFxyXG4gICAgICAgIH1dXHJcbiAgICAgIH0sXHJcbiAgICAgIHByaW1hcnlYQXhpczoge1xyXG4gICAgICAgIHZhbHVlVHlwZTogJ0NhdGVnb3J5J1xyXG4gICAgICB9LFxyXG4gICAgICB0b29sdGlwOiB7IGVuYWJsZTogdHJ1ZSB9LFxyXG4gICAgICB0b29sdGlwUmVuZGVyOiB0aGlzLnRvb2x0aXBSZW5kZXIuYmluZCh0aGlzKSxcclxuICAgICAgc2VyaWVzOiBbe1xyXG4gICAgICAgIHR5cGU6ICdCb3hBbmRXaGlza2VyJyxcclxuICAgICAgICBkYXRhU291cmNlOiB0aGlzLmRhdGEsXHJcbiAgICAgICAgYm94UGxvdE1vZGU6ICdOb3JtYWwnLFxyXG4gICAgICAgIGVuYWJsZVRvb2x0aXA6IHRydWUsXHJcbiAgICAgICAgeE5hbWU6ICduYW1lJyxcclxuICAgICAgICB5TmFtZTogJ3ZhbHVlcydcclxuICAgICAgfSwge1xyXG4gICAgICAgIHR5cGU6ICdTcGxpbmUnLFxyXG4gICAgICAgIGRhdGFTb3VyY2U6IHRoaXMuZGF0YSxcclxuICAgICAgICB4TmFtZTogJ25hbWUnLFxyXG4gICAgICAgIHdpZHRoOiAzLFxyXG4gICAgICAgIGRhc2hBcnJheTogJzMgMicsXHJcbiAgICAgICAgeU5hbWU6ICdkdXJhdGlvbkF2ZycsXHJcbiAgICAgIH1dLFxyXG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcclxuICAgICAgYXhpc0xhYmVsUmVuZGVyOiB0aGlzLmF4aXNMYWJlbFJlbmRlci5iaW5kKHRoaXMpLFxyXG4gICAgICBlbmFibGVFeHBvcnQ6IHRydWUsXHJcbiAgICAgIHBhbGV0dGVzOiBbXHJcbiAgICAgICAgdGhpcy5fc2Vzc2lvbi5nZXRBY2NlbnQoKSwgdGhpcy5fc2Vzc2lvbi5nZXRQcmltZXJ5KCldXHJcbiAgICB9LFxyXG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuICBheGlzTGFiZWxSZW5kZXIoZXZ0OiBJQXhpc0xhYmVsUmVuZGVyRXZlbnRBcmdzKSB7XHJcbiAgICBpZiAoZXZ0LmF4aXMubmFtZSA9PT0gJ3ByaW1hcnlZQXhpcycpXHJcbiAgICAgIGV2dC50ZXh0ID0gZGF5anMuZHVyYXRpb24oZXZ0LnZhbHVlLCAncycpLmh1bWFuaXplKCk7Ly8gJ0REOkhIOm1tJ1xyXG4gIH1cclxuICB0b29sdGlwUmVuZGVyKGV2dDogSVRvb2x0aXBSZW5kZXJFdmVudEFyZ3MpIHtcclxuICAgIC8vZXZ0LmNvbnRlbnQgPSBkYXlqcy5kdXJhdGlvbihldnQucmFuZ2UuZW5kLCAncycpLmh1bWFuaXplKCk7Ly8gJ0REOkhIOm1tJ1xyXG4gICAgaWYgKGV2dC5kYXRhLnNlcmllc0luZGV4ID09PSAwKSB7XHJcbiAgICAgIGNvbnN0IFtzdGFuZGFyZEhpZ2gsIGR1cmF0aW9uSGlnaCwgZHVyYXRpb25BdmcsIGR1cmF0aW9uTG93LCBzdGFuZGFyZExvd10gPSBldnQucG9pbnQueSBhcyBudW1iZXJbXTtcclxuICAgICAgZXZ0LnRleHQgPSBkYXlqcy5kdXJhdGlvbihkdXJhdGlvbkhpZ2gsICdzJykuZm9ybWF0KCdERDpISDptbScpO1xyXG4gICAgICBpZiAoc3RhbmRhcmRIaWdoKSB7XHJcbiAgICAgICAgY29uc3QgZGV2aWF0aW9uID0gTWF0aC5yb3VuZCh0aGlzLmRhdGFbZXZ0LmRhdGEucG9pbnRJbmRleF0uc3RhbmRhcmREZXYpO1xyXG4gICAgICAgIGV2dC50ZXh0ICs9IGAgJHtkZXZpYXRpb259JWBcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGV2dC5oZWFkZXJUZXh0ID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnQXZlcmFnZScpO1xyXG4gICAgICBldnQudGV4dCA9IGRheWpzLmR1cmF0aW9uKGV2dC5kYXRhLnBvaW50WSBhcyBhbnksICdzJykuZm9ybWF0KCdERDpISDptbScpO1xyXG4gICAgfVxyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIC8vdGhpcy5nYXVnZT8uZGVzdHJveSgpO1xyXG4gICAgdGhpcy5jaGFydD8uZGVzdHJveSgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgfVxyXG59XHJcblxyXG5pbnRlcmZhY2UgTW9kZWwge1xyXG4gIHVzZXJJZDogc3RyaW5nO1xyXG4gIHN0YW5kYXJkQXZnOiBudW1iZXI7XHJcbiAgc3RhbmRhcmRIaWdoOiBudW1iZXI7XHJcbiAgc3RhbmRhcmRMb3c6IG51bWJlcjtcclxuICBkdXJhdGlvbkF2ZzogbnVtYmVyO1xyXG4gIGR1cmF0aW9uSGlnaDogbnVtYmVyO1xyXG4gIGR1cmF0aW9uTG93OiBudW1iZXI7XHJcbn1cclxudHlwZSBJdGVtID0gTW9kZWwgJiB7XHJcbiAgc3RhbmRhcmREZXY/OiBudW1iZXI7XHJcbiAgZHVyYXRpb25EZXY6IG51bWJlcjtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdmFsdWVzOiBudW1iZXJbXVxyXG59O1xyXG5pbnRlcmZhY2UgUGVyZm9ybWFuY2VTZXR0aW5nc01vZGVsIHtcclxuICBjdWJlPzogc3RyaW5nO1xyXG4gIGZpbHRlcnM/OiBBeGVzTWFwO1xyXG59XHJcbiJdfQ==
|
260
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZm9ybWFuY2UtaGlsby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL3JlcG9ydHMvY3ViZS9wZXJmb3JtYW5jZS1oaWxvLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELGtFQUFrRTtBQUNsRSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFhLEtBQUssRUFBZ0csTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoSywrTEFBK0w7QUFDL0wsT0FBTyxFQUFFLFFBQVEsRUFBMEIsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFNL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7QUFVekMsSUFBTSx3QkFBd0IsR0FBOUIsTUFBTSx3QkFBd0I7SUFpQ25DLFlBQ1UsV0FBdUMsRUFDdkMsU0FBeUIsRUFDekIsUUFBd0IsRUFDeEIsVUFBNEIsRUFDNUIsVUFBK0M7UUFKL0MsZ0JBQVcsR0FBWCxXQUFXLENBQTRCO1FBQ3ZDLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBQ3pCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLGVBQVUsR0FBVixVQUFVLENBQXFDO1FBM0JoRCxlQUFVLEdBQUc7WUFDcEIsVUFBVSxFQUFFLFdBQVc7U0FDeEIsQ0FBQztRQUNPLGlCQUFZLEdBQUc7WUFDdEIsVUFBVSxFQUFFLENBQUM7b0JBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVB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QUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdkUsSUFBSSxTQUFTLEtBQUssQ0FBQztnQkFDakIsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLFNBQVMsR0FBRyxDQUFBO1FBQ2hDLENBQUM7YUFDSSxDQUFDO1lBQ0osR0FBRyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1RSxDQUFDO0lBQ0gsQ0FBQztJQUNELFdBQVc7UUFDVCx3QkFBd0I7UUFDeEIsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7OEdBNVBVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLG9EQU56QixFQUFFOztBQU1ELHdCQUF3QjtJQUhwQyxNQUFNLENBQUM7UUFDTixRQUFRLEVBQUUseUJBQXlCO0tBQ3BDLENBQUM7R0FDVyx3QkFBd0IsQ0E2UHBDOzsyRkE3UFksd0JBQXdCO2tCQVBwQyxTQUFTOytCQUNFLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi9ub2RlX21vZHVsZXMvZGF5anMvcGx1Z2luL2R1cmF0aW9uLmQudHNcIiAvPlxyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgeyBBeGlzTW9kZWwsIENoYXJ0LCBJQXhpc0xhYmVsUmVuZGVyRXZlbnRBcmdzLCBJVG9vbHRpcFJlbmRlckV2ZW50QXJncywgU2VyaWVzVG9vbHRpcE1vZGVsLCBUb29sdGlwU2V0dGluZ3NNb2RlbCB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWNoYXJ0cyc7XHJcbi8vaW1wb3J0IHsgQ2lyY3VsYXJHYXVnZSwgR2F1Z2VUaGVtZSwgSUF4aXNMYWJlbFJlbmRlckV2ZW50QXJncywgSVRvb2x0aXBSZW5kZXJFdmVudEFyZ3MsIExlZ2VuZFNldHRpbmdzTW9kZWwsIFJhbmdlTW9kZWwsIFRvb2x0aXBTZXR0aW5nc01vZGVsIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItY2lyY3VsYXJnYXVnZSc7XHJcbmltcG9ydCB7IFdvcmtib29rLCBXb3Jrc2hlZXQsIFJvdywgQ29sdW1uIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWV4Y2VsLWV4cG9ydCc7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IFJlcG9ydENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZSc7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9hY2NvdW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXhlc01hcCB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGT05UX0ZBTUlMWSB9IGZyb20gJy4uLy4uL2NvcmUvY29sb3JzJztcclxuaW1wb3J0IHsgUmVwb3J0UmVmIH0gZnJvbSAnLi4vcmVwb3J0LXJlZic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJycsXHJcbiAgc3R5bGVzOiBgOmhvc3Qge2ZsZXg6IDF9YFxyXG59KVxyXG5AQml6RG9jKHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1wZXJmb3JtYW5jZS1oaWxvJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVyZm9ybWFuY2VIaWxvQ29tcG9uZW50IGltcGxlbWVudHMgUmVwb3J0Q29tcG9uZW50PERhdGFNb2RlbD4sIE9uRGVzdHJveSB7XHJcbiAgdGhlbWU6ICdNYXRlcmlhbDNEYXJrJyB8ICdNYXRlcmlhbDMnO1xyXG4gIGNoYXJ0OiBDaGFydDtcclxuICAvL2dhdWdlOiBDaXJjdWxhckdhdWdlO1xyXG4gIHN0YW5kYXJkTWluOiBudW1iZXI7XHJcbiAgc3RhbmRhcmRBdmc6IG51bWJlcjtcclxuICBzdGFuZGFyZE1heDogbnVtYmVyO1xyXG4gIGR1cmF0aW9uTWluOiBudW1iZXI7XHJcbiAgZHVyYXRpb25Bdmc6IG51bWJlcjtcclxuICBkdXJhdGlvbk1heDogbnVtYmVyO1xyXG4gIGRhdGE6IEl0ZW1bXTtcclxuICByZWFkb25seSB0aXRsZVN0eWxlID0ge1xyXG4gICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFlcclxuICB9O1xyXG4gIHJlYWRvbmx5IHByaW1hcnlZQXhpcyA9IHtcclxuICAgIHN0cmlwTGluZXM6IFt7XHJcbiAgICAgIHRleHQ6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1N0YW5kYXJkJyksXHJcbiAgICAgIHRleHRTdHlsZToge1xyXG4gICAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZLFxyXG4gICAgICB9LFxyXG4gICAgICBvcGFjaXR5OiAuOCxcclxuICAgIH1dXHJcbiAgfSBhcyBBeGlzTW9kZWw7XHJcbiAgcmVhZG9ubHkgcHJpbWFyeVhBeGlzID0ge1xyXG4gICAgdmFsdWVUeXBlOiAnQ2F0ZWdvcnknXHJcbiAgfSBhcyBBeGlzTW9kZWw7XHJcbiAgcmVhZG9ubHkgdG9vbHRpcCA9IHsgZW5hYmxlOiB0cnVlIH0gYXMgVG9vbHRpcFNldHRpbmdzTW9kZWw7XHJcbiAgcmVhZG9ubHkgZW5hYmxlUnRsID0gdGhpcy5fc2Vzc2lvbi5pbnZlcnNlO1xyXG4gIHBhbGV0dGVzOiBzdHJpbmdbXTtcclxuXHJcbiAgLy9yZWFkb25seSBsZWdlbmRTZXR0aW5nczogTGVnZW5kU2V0dGluZ3NNb2RlbCA9IHt9O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PixcclxuICAgIHByaXZhdGUgX2FjY291bnRzOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcmVwb3J0UmVmOiBSZXBvcnRSZWY8UGVyZm9ybWFuY2VTZXR0aW5nc01vZGVsPlxyXG4gICkge1xyXG4gICAgX3Nlc3Npb24udGhlbWVDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSksIHN0YXJ0V2l0aChfc2Vzc2lvbi50aGVtZSkpLnN1YnNjcmliZSh0ID0+IHtcclxuICAgICAgdGhpcy50aGVtZSA9IHQuZGFyayA/ICdNYXRlcmlhbDNEYXJrJyA6ICdNYXRlcmlhbDMnO1xyXG4gICAgICB0aGlzLnBhbGV0dGVzID0gW1xyXG4gICAgICAgIHRoaXMuX3Nlc3Npb24uZ2V0QWNjZW50KCksXHJcbiAgICAgICAgdGhpcy5fc2Vzc2lvbi5nZXRQcmltZXJ5KClcclxuICAgICAgXTtcclxuICAgICAgLy90aGlzLmdhdWdlICYmIHRoaXMuX2RyYXcoKTtcclxuICAgICAgdGhpcy5jaGFydCAmJiB0aGlzLl9kcmF3KCk7XHJcbiAgICB9KVxyXG4gIH1cclxuICBvbkJpbmQoZGF0YTogRGF0YU1vZGVsW10pIHtcclxuICAgIC8vdGhpcy5nYXVnZT8uZGVzdHJveSgpO1xyXG4gICAgdGhpcy5jaGFydD8uZGVzdHJveSgpO1xyXG4gICAgdGhpcy5kYXRhID0gbnVsbDtcclxuICAgIGlmICghZGF0YS5sZW5ndGgpIHJldHVybjtcclxuICAgIGxldCBhY2N1bVN0ZCA9IDAsIGNvdW50U3RkID0gMCwgYWNjdW1EdXJhdGlvbiA9IDA7XHJcbiAgICB0aGlzLnN0YW5kYXJkTWF4ID0gMCwgdGhpcy5zdGFuZGFyZE1pbiA9IDAsIHRoaXMuZHVyYXRpb25NYXggPSAwLCB0aGlzLmR1cmF0aW9uTWluID0gZGF0YVswXS5kdXJhdGlvbkxvdztcclxuICAgIGRhdGEuZm9yRWFjaChlID0+IHtcclxuICAgICAgaWYgKGUuc3RhbmRhcmRBdmcpIHtcclxuICAgICAgICBpZiAoZS5zdGFuZGFyZEhpZ2ggPiB0aGlzLnN0YW5kYXJkTWF4KVxyXG4gICAgICAgICAgdGhpcy5zdGFuZGFyZE1heCA9IGUuc3RhbmRhcmRIaWdoO1xyXG4gICAgICAgIGlmIChlLnN0YW5kYXJkTG93IDwgdGhpcy5zdGFuZGFyZE1pbiB8fCB0aGlzLnN0YW5kYXJkTWluID09PSAwKVxyXG4gICAgICAgICAgdGhpcy5zdGFuZGFyZE1pbiA9IGUuc3RhbmRhcmRMb3c7XHJcbiAgICAgICAgY291bnRTdGQrKztcclxuICAgICAgICBhY2N1bVN0ZCArPSBlLnN0YW5kYXJkQXZnO1xyXG4gICAgICB9XHJcbiAgICAgIGFjY3VtRHVyYXRpb24gKz0gZS5kdXJhdGlvbkF2ZztcclxuICAgICAgaWYgKGUuZHVyYXRpb25IaWdoID4gdGhpcy5kdXJhdGlvbk1heClcclxuICAgICAgICB0aGlzLmR1cmF0aW9uTWF4ID0gZS5kdXJhdGlvbkhpZ2g7XHJcbiAgICAgIGlmIChlLmR1cmF0aW9uTG93IDwgdGhpcy5kdXJhdGlvbk1pbilcclxuICAgICAgICB0aGlzLmR1cmF0aW9uTWluID0gZS5kdXJhdGlvbkxvdztcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zdGFuZGFyZEF2ZyA9IGNvdW50U3RkID8gYWNjdW1TdGQgLyBjb3VudFN0ZCA6IDAsXHJcbiAgICAgIHRoaXMuZHVyYXRpb25BdmcgPSBhY2N1bUR1cmF0aW9uIC8gZGF0YS5sZW5ndGg7XHJcbiAgICB0aGlzLl9hY2NvdW50cy5nZXRBbGwoZGF0YS5tYXAoZSA9PiBlLnVzZXJJZCkpLlxyXG4gICAgICBzdWJzY3JpYmUodXNlcnMgPT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGEubWFwKChkLCBpKSA9PiB7XHJcbiAgICAgICAgICBsZXQgZHVyYXRpb25EZXYgPSBkLmR1cmF0aW9uQXZnIC8gdGhpcy5kdXJhdGlvbkF2ZyxcclxuICAgICAgICAgICAgc3RhbmRhcmREZXYgPSBkLnN0YW5kYXJkQXZnID9cclxuICAgICAgICAgICAgICBkLmR1cmF0aW9uQXZnIC8gZC5zdGFuZGFyZEF2ZyA6IDA7XHJcblxyXG4gICAgICAgICAgcmV0dXJuICh7XHJcbiAgICAgICAgICAgIGR1cmF0aW9uRGV2OiBNYXRoLnJvdW5kKGR1cmF0aW9uRGV2ID4gMSA/IChkdXJhdGlvbkRldiAtIDEpICogMTAwIDogLSBkdXJhdGlvbkRldiAqIDEwMCksXHJcbiAgICAgICAgICAgIHN0YW5kYXJkRGV2OiBNYXRoLnJvdW5kKHN0YW5kYXJkRGV2ID4gMSA/IChzdGFuZGFyZERldiAtIDEpICogMTAwIDogLSBzdGFuZGFyZERldiAqIDEwMCksXHJcbiAgICAgICAgICAgIC4uLmQsXHJcbiAgICAgICAgICAgIG5hbWU6IHVzZXJzW2ldLm5hbWUsXHJcbiAgICAgICAgICAgIHZhbHVlczogW2Quc3RhbmRhcmRIaWdoLCBkLmR1cmF0aW9uSGlnaCwgZC5kdXJhdGlvbkF2ZywgZC5kdXJhdGlvbkxvdywgZC5zdGFuZGFyZExvd11cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX2RyYXcoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIG9uRXhwb3J0KCkge1xyXG4gICAgY29uc3QgYm9vayA9IG5ldyBXb3JrYm9vayhcclxuICAgICAge1xyXG4gICAgICAgIHdvcmtzaGVldHM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgZW5hYmxlUnRsOiB0aGlzLl9zZXNzaW9uLmludmVyc2UsXHJcbiAgICAgICAgICAgIG5hbWU6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1NoZWV0TicsIDEpLFxyXG4gICAgICAgICAgICBjb2x1bW5zOiBbXHJcbiAgICAgICAgICAgICAgeyBpbmRleDogMSwgd2lkdGg6IDI1MCB9IGFzIENvbHVtbixcclxuICAgICAgICAgICAgICB7IGluZGV4OiAyLCB3aWR0aDogMTUwIH0gYXMgQ29sdW1uLFxyXG4gICAgICAgICAgICAgIHsgaW5kZXg6IDMsIHdpZHRoOiAxNTAgfSBhcyBDb2x1bW4sXHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIHJvd3M6IFt7XHJcbiAgICAgICAgICAgICAgaW5kZXg6IDEsXHJcbiAgICAgICAgICAgICAgY2VsbHM6IFt7XHJcbiAgICAgICAgICAgICAgICBpbmRleDogMSxcclxuICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdOYW1lJyksXHJcbiAgICAgICAgICAgICAgICBib2xkOiB0cnVlXHJcbiAgICAgICAgICAgICAgfSwge1xyXG4gICAgICAgICAgICAgICAgaW5kZXg6IDIsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiAndGltZScsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5fdHJhbnNsYXRlLmdldCgnRHVyYXRpb24nKSxcclxuICAgICAgICAgICAgICAgIGJvbGQ6IHRydWVcclxuICAgICAgICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgICAgICBpbmRleDogMyxcclxuICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdEZXZpYXRpb24nKSxcclxuICAgICAgICAgICAgICAgIGJvbGQ6IHRydWVcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgfSBhcyBSb3csIC4uLnRoaXMuZGF0YS5tYXAoKHIsIGkpID0+IChcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpbmRleDogMiArIGksXHJcbiAgICAgICAgICAgICAgICBjZWxsczogW1xyXG4gICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxyXG4gICAgICAgICAgICAgICAgICAgIGluZGV4OiAxLFxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiByLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgIGhBbGlnbjogJ2xlZnQnXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxyXG4gICAgICAgICAgICAgICAgICAgIGluZGV4OiAyLFxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBkYXlqcy5kdXJhdGlvbihyLmR1cmF0aW9uQXZnLCAncycpLmZvcm1hdCgnREQ6SEg6bW0nKSxcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgaEFsaWduOiAncmlnaHQnLFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxyXG4gICAgICAgICAgICAgICAgICAgIGluZGV4OiAzLFxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiByLmR1cmF0aW9uRGV2LFxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBoQWxpZ246ICdyaWdodCcsXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9XVxyXG4gICAgICAgICAgICAgIH0gYXMgUm93XHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgKV0sXHJcbiAgICAgICAgICB9IGFzIFdvcmtzaGVldCxcclxuICAgICAgICBdLFxyXG4gICAgICB9LFxyXG4gICAgICAneGxzeCdcclxuICAgICk7XHJcbiAgICBib29rLnNhdmUoYCR7dGhpcy5fcmVwb3J0UmVmLm5hbWV9Lnhsc3hgKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZHJhdygpIHtcclxuICAgIHRoaXMuY2hhcnQ/LmRlc3Ryb3koKTtcclxuICAgIC8vY29uc3QgY29sb3JzID0gdGhpcy5fc2Vzc2lvbi5hY2NlbnRQYWxldHRlO1xyXG4gICAgLy93aGlsZSh0aGlzLnBhbGV0dGUubGVuZ3RoPCBkYXRhLmxlbmd0aClcclxuICAgIC8vdGhpcy5wYWxldHRlLnB1c2goWy4uLmNvbG9yc10pO1xyXG4gICAgLy90aGlzLmdhdWdlPy5kZXN0cm95KCk7XHJcbiAgICAvL3RoaXMudGl0bGUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdBdmVyYWdlVmFsdWUnLCBkYXlqcy5kdXJhdGlvbih0aGlzLmR1cmF0aW9uQXZnLCAnc2Vjb25kcycpLmZvcm1hdCgnREQ6SEg6bW0nKSk7XHJcbiAgICAvL3RoaXMuZ2F1Z2UgPSBuZXcgQ2lyY3VsYXJHYXVnZSh7XHJcbiAgICAvLyAgdGhlbWU6IHRoaXMudGhlbWUsXHJcbiAgICAvLyAgdGl0bGU6IHRoaXMudGl0bGUsXHJcbiAgICAvLyAgdGl0bGVTdHlsZTogdGhpcy50aXRsZVN0eWxlLFxyXG4gICAgLy8gIHRvb2x0aXA6IHRoaXMudG9vbHRpcCxcclxuICAgIC8vICBheGVzOiBbe1xyXG4gICAgLy8gICAgc3RhcnRBbmdsZTogMjcwLFxyXG4gICAgLy8gICAgZW5kQW5nbGU6IDkwLFxyXG4gICAgLy8gICAgcG9pbnRlcnM6IFt7XHJcbiAgICAvLyAgICAgIHRleHQ6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1N0YW5kYXJkJyksXHJcbiAgICAvLyAgICAgIGNvbG9yOiB0aGlzLl9zZXNzaW9uLmdldFByaW1lcnkoKSxcclxuICAgIC8vICAgICAgdmFsdWU6IHRoaXMuc3RkQXZnXHJcbiAgICAvLyAgICB9XSxcclxuICAgIC8vICAgIHJhbmdlczogdGhpcy5kYXRhLm1hcCgoZSwgaSkgPT4gKHtcclxuICAgIC8vICAgICAgbGVnZW5kVGV4dDogZS5uYW1lLFxyXG4gICAgLy8gICAgICByYWRpdXM6IGAkezEwMCAtIGkgKiA1fSVgLFxyXG4gICAgLy8gICAgICBzdGFydFdpZHRoOiAzLFxyXG4gICAgLy8gICAgICBlbmRXaWR0aDogMyxcclxuICAgIC8vICAgICAgc3RhcnQ6IHRoaXMubWluRHVyYXRpb24sXHJcbiAgICAvLyAgICAgIGVuZDogdGhpcy5zdGRBdmcgPyBNYXRoLmZsb29yKGUuZHVyYXRpb25BdmcgLyB0aGlzLnN0YW5kYXJkQXZnKSA6IE1hdGguZmxvb3IoZS5kdXJhdGlvbkF2ZyAvIHRoaXMuZHVyYXRpb25BdmcpLFxyXG4gICAgLy8gICAgICBjb2xvcjogdGhpcy5hY2NlbnRQYWxldHRlW01hdGguZmxvb3IoKGkgKyA5KSAvIGkpXVxyXG4gICAgLy8gICAgfSBhcyBSYW5nZU1vZGVsKSlcclxuICAgIC8vICB9XSxcclxuICAgIC8vICB0b29sdGlwUmVuZGVyOiB0aGlzLnRvb2x0aXBSZW5kZXIuYmluZCh0aGlzKSxcclxuICAgIC8vICBsZWdlbmRTZXR0aW5nczogdGhpcy5sZWdlbmRTZXR0aW5ncyxcclxuICAgIC8vICBlbmFibGVSdGw6IHRoaXMuZW5hYmxlUnRsLFxyXG4gICAgLy8gIGhlaWdodDogJzEwMCUnLFxyXG4gICAgLy99LFxyXG4gICAgLy8gIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICBjb25zdCBbc3RyaXBMaW5lXSA9IHRoaXMucHJpbWFyeVlBeGlzLnN0cmlwTGluZXM7XHJcbiAgICBzdHJpcExpbmUuc3RhcnQgPSB0aGlzLnN0YW5kYXJkTWluLFxyXG4gICAgICBzdHJpcExpbmUuZW5kID0gdGhpcy5zdGFuZGFyZE1heDtcclxuICAgIHRoaXMuY2hhcnQgPSBuZXcgQ2hhcnQoe1xyXG4gICAgICBwcmltYXJ5WUF4aXM6IHRoaXMucHJpbWFyeVlBeGlzLFxyXG4gICAgICBwcmltYXJ5WEF4aXM6IHRoaXMucHJpbWFyeVhBeGlzLFxyXG4gICAgICB0b29sdGlwOiB0aGlzLnRvb2x0aXAsXHJcbiAgICAgIHNlcmllczogW3tcclxuICAgICAgICB0eXBlOiAnQm94QW5kV2hpc2tlcicsXHJcbiAgICAgICAgZGF0YVNvdXJjZTogdGhpcy5kYXRhLFxyXG4gICAgICAgIGJveFBsb3RNb2RlOiAnTm9ybWFsJyxcclxuICAgICAgICBlbmFibGVUb29sdGlwOiB0cnVlLFxyXG4gICAgICAgIHhOYW1lOiAnbmFtZScsXHJcbiAgICAgICAgeU5hbWU6ICd2YWx1ZXMnXHJcbiAgICAgIH0sIHtcclxuICAgICAgICBuYW1lOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdBdmVyYWdlJyksXHJcbiAgICAgICAgdHlwZTogJ1NwbGluZScsXHJcbiAgICAgICAgZGF0YVNvdXJjZTogdGhpcy5kYXRhLFxyXG4gICAgICAgIHhOYW1lOiAnbmFtZScsXHJcbiAgICAgICAgd2lkdGg6IDMsXHJcbiAgICAgICAgZGFzaEFycmF5OiAnMyAyJyxcclxuICAgICAgICB5TmFtZTogJ2R1cmF0aW9uQXZnJyxcclxuICAgICAgfV0sXHJcbiAgICAgIGhlaWdodDogJzEwMCUnLFxyXG4gICAgICBheGlzTGFiZWxSZW5kZXI6IHRoaXMuYXhpc0xhYmVsUmVuZGVyLmJpbmQodGhpcyksXHJcbiAgICAgIHRvb2x0aXBSZW5kZXI6IHRoaXMudG9vbHRpcFJlbmRlci5iaW5kKHRoaXMpLFxyXG4gICAgICBlbmFibGVFeHBvcnQ6IHRydWUsXHJcbiAgICAgIGVuYWJsZVJ0bDogdGhpcy5lbmFibGVSdGwsXHJcbiAgICAgIHBhbGV0dGVzOiB0aGlzLnBhbGV0dGVzXHJcbiAgICB9LFxyXG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuICBheGlzTGFiZWxSZW5kZXIoZXZ0OiBJQXhpc0xhYmVsUmVuZGVyRXZlbnRBcmdzKSB7XHJcbiAgICBpZiAoZXZ0LmF4aXMubmFtZSA9PT0gJ3ByaW1hcnlZQXhpcycpXHJcbiAgICAgIGV2dC50ZXh0ID0gZGF5anMuZHVyYXRpb24oZXZ0LnZhbHVlLCAncycpLmh1bWFuaXplKCk7Ly8gJ0REOkhIOm1tJ1xyXG4gIH1cclxuICB0b29sdGlwUmVuZGVyKGV2dDogSVRvb2x0aXBSZW5kZXJFdmVudEFyZ3MpIHtcclxuICAgIC8vZXZ0LmNvbnRlbnQgPSBkYXlqcy5kdXJhdGlvbihldnQucmFuZ2UuZW5kLCAncycpLmh1bWFuaXplKCk7Ly8gJ0REOkhIOm1tJ1xyXG4gICAgaWYgKGV2dC5kYXRhLnNlcmllc0luZGV4ID09PSAwKSB7XHJcbiAgICAgIGNvbnN0IFtzdGFuZGFyZEhpZ2gsIGR1cmF0aW9uSGlnaCwgZHVyYXRpb25BdmcsIGR1cmF0aW9uTG93LCBzdGFuZGFyZExvd10gPSBldnQucG9pbnQueSBhcyBudW1iZXJbXSxcclxuICAgICAgICB7IHN0YW5kYXJkRGV2LCBkdXJhdGlvbkRldiB9ID0gdGhpcy5kYXRhW2V2dC5kYXRhLnBvaW50SW5kZXhdO1xyXG4gICAgICBldnQudGV4dCA9IGRheWpzLmR1cmF0aW9uKGR1cmF0aW9uQXZnLCAncycpLlxyXG4gICAgICAgIGZvcm1hdCgnREQ6SEg6bW0nKTtcclxuICAgICAgY29uc3QgZGV2aWF0aW9uID0gTWF0aC5yb3VuZChzdGFuZGFyZEhpZ2ggPyBzdGFuZGFyZERldiA6IGR1cmF0aW9uRGV2KTtcclxuICAgICAgaWYgKGRldmlhdGlvbiAhPT0gMClcclxuICAgICAgICBldnQudGV4dCArPSBgICR7ZGV2aWF0aW9ufSVgXHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgZXZ0LnRleHQgPSBkYXlqcy5kdXJhdGlvbihldnQuZGF0YS5wb2ludFkgYXMgYW55LCAncycpLmZvcm1hdCgnREQ6SEg6bW0nKTtcclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAvL3RoaXMuZ2F1Z2U/LmRlc3Ryb3koKTtcclxuICAgIHRoaXMuY2hhcnQ/LmRlc3Ryb3koKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gIH1cclxufVxyXG5cclxuaW50ZXJmYWNlIERhdGFNb2RlbCB7XHJcbiAgdXNlcklkOiBzdHJpbmc7XHJcbiAgc3RhbmRhcmRBdmc6IG51bWJlcjtcclxuICBzdGFuZGFyZEhpZ2g6IG51bWJlcjtcclxuICBzdGFuZGFyZExvdzogbnVtYmVyO1xyXG4gIGR1cmF0aW9uQXZnOiBudW1iZXI7XHJcbiAgZHVyYXRpb25IaWdoOiBudW1iZXI7XHJcbiAgZHVyYXRpb25Mb3c6IG51bWJlcjtcclxufVxyXG50eXBlIEl0ZW0gPSBEYXRhTW9kZWwgJiB7XHJcbiAgc3RhbmRhcmREZXY/OiBudW1iZXI7XHJcbiAgZHVyYXRpb25EZXY6IG51bWJlcjtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdmFsdWVzOiBudW1iZXJbXVxyXG59O1xyXG5pbnRlcmZhY2UgUGVyZm9ybWFuY2VTZXR0aW5nc01vZGVsIHtcclxuICBjdWJlPzogc3RyaW5nO1xyXG4gIGZpbHRlcnM/OiBBeGVzTWFwO1xyXG59XHJcbiJdfQ==
|