@bizdoc/core 1.10.2 → 1.11.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/bizdoc-schema.json +7 -4
- package/esm2020/lib/admin/admin-dismiss.service.mjs +3 -3
- package/esm2020/lib/admin/admin-menu.component.mjs +3 -3
- package/esm2020/lib/admin/core/ace.input.mjs +3 -3
- package/esm2020/lib/admin/core/color-picker.input.mjs +3 -3
- package/esm2020/lib/admin/core/search.input.mjs +3 -3
- package/esm2020/lib/admin/diff/configuration-diff.component.mjs +3 -3
- package/esm2020/lib/admin/document-trace/document-trace.component.mjs +3 -3
- package/esm2020/lib/admin/document-trace/reassign.dialog.mjs +3 -3
- package/esm2020/lib/admin/document-trace/trace-element.component.mjs +3 -3
- package/esm2020/lib/admin/form/form.resolve.service.mjs +3 -3
- package/esm2020/lib/admin/form/form.service.mjs +3 -3
- package/esm2020/lib/admin/form/workflow/node.component.mjs +3 -3
- package/esm2020/lib/admin/form/workflow/role-node.component.mjs +3 -3
- package/esm2020/lib/admin/form/workflow/workflow.component.mjs +3 -3
- package/esm2020/lib/admin/indices/manage-cube-index.component.mjs +3 -3
- package/esm2020/lib/admin/patterns/patterns.component.mjs +3 -3
- package/esm2020/lib/admin/permissions/permissions.component.mjs +3 -3
- package/esm2020/lib/admin/positions/positions-popup.component.mjs +3 -3
- package/esm2020/lib/admin/positions/positions.component.mjs +132 -63
- package/esm2020/lib/admin/profiler/profiler.component.mjs +3 -3
- package/esm2020/lib/admin/utility-wrapper.component.mjs +3 -3
- package/esm2020/lib/admin/utility.pane.component.mjs +3 -3
- package/esm2020/lib/app.component.mjs +6 -6
- package/esm2020/lib/bizdoc.module.mjs +4 -4
- package/esm2020/lib/browse/browse-items.component.mjs +6 -6
- package/esm2020/lib/browse/browse.mobile.component.mjs +4 -4
- package/esm2020/lib/browse/browse.pane.component.mjs +4 -4
- package/esm2020/lib/browse/expanded-item/expanded-item.component.mjs +3 -3
- package/esm2020/lib/browse/filter/filter.component.mjs +3 -3
- package/esm2020/lib/browse/folders-menu.component.mjs +3 -3
- package/esm2020/lib/chat/chat-info.mjs +3 -3
- package/esm2020/lib/chat/chat.mobile.component.mjs +3 -3
- package/esm2020/lib/chat/chat.service.mjs +3 -3
- package/esm2020/lib/chat/contacts.component.mjs +6 -6
- package/esm2020/lib/chat/contacts.pane.component.mjs +3 -3
- package/esm2020/lib/chat/conversation.component.mjs +3 -3
- package/esm2020/lib/chat/conversation.pane.component.mjs +3 -3
- package/esm2020/lib/compose/action/action-picker.component.mjs +3 -3
- package/esm2020/lib/compose/action/action.dialog.mjs +3 -3
- package/esm2020/lib/compose/action/action.pane.dialog.mjs +3 -3
- package/esm2020/lib/compose/action/assign-action.component.mjs +3 -3
- package/esm2020/lib/compose/action/return-action.component.mjs +3 -3
- package/esm2020/lib/compose/attachments/attachments.component.mjs +29 -21
- package/esm2020/lib/compose/attachments/preview/attachment-preview.component.mjs +10 -16
- package/esm2020/lib/compose/attachments/progress-button.directive.mjs +3 -3
- package/esm2020/lib/compose/can-deactivate-changes.service.mjs +3 -3
- package/esm2020/lib/compose/comments/Comments.pane.component.mjs +3 -3
- package/esm2020/lib/compose/comments/comment.component.mjs +3 -3
- package/esm2020/lib/compose/comments/comments.component.mjs +3 -3
- package/esm2020/lib/compose/comments/edit-comment.component.mjs +3 -3
- package/esm2020/lib/compose/comments/edits.component.mjs +3 -3
- package/esm2020/lib/compose/comments/quick-comment.component.exp.mjs +3 -3
- package/esm2020/lib/compose/comments/votes.component.mjs +3 -3
- package/esm2020/lib/compose/compose-resolve.service.mjs +6 -6
- package/esm2020/lib/compose/compose.mobile.component.mjs +5 -5
- package/esm2020/lib/compose/compose.pane.component.mjs +6 -6
- package/esm2020/lib/compose/copy/copy.dialog.mjs +3 -3
- package/esm2020/lib/compose/dismiss.service.mjs +3 -3
- package/esm2020/lib/compose/document-resolver.service.mjs +3 -3
- package/esm2020/lib/compose/document.component.mjs +3 -3
- package/esm2020/lib/compose/document.mobile.component.mjs +3 -3
- package/esm2020/lib/compose/document.pane.component.mjs +3 -3
- package/esm2020/lib/compose/events/events.component.mjs +3 -3
- package/esm2020/lib/compose/form-selector/form-selector.sheet.mjs +5 -5
- package/esm2020/lib/compose/form.component.mjs +37 -11
- package/esm2020/lib/compose/new-menu.component.mjs +5 -5
- package/esm2020/lib/compose/privilage.directive.mjs +6 -6
- package/esm2020/lib/compose/recipient-resolver.service.mjs +3 -3
- package/esm2020/lib/compose/save-changes.dialog.mjs +3 -3
- package/esm2020/lib/compose/state.component.mjs +3 -3
- package/esm2020/lib/compose/tag/tags.component.mjs +3 -3
- package/esm2020/lib/compose/trace/flow.component.mjs +28 -21
- package/esm2020/lib/compose/trace/people.component.mjs +3 -3
- package/esm2020/lib/compose/trace/trace.base.mjs +3 -3
- package/esm2020/lib/compose/trace/trace.component.mjs +44 -18
- package/esm2020/lib/compose/trace/trace.pane.component.mjs +4 -4
- package/esm2020/lib/compose/version-compare/version-compare.component.mjs +3 -3
- package/esm2020/lib/compose/version-compare/version-compare.directive.mjs +9 -9
- package/esm2020/lib/compose/version-compare/version.pane.component.mjs +3 -3
- package/esm2020/lib/core/NgComponentOutlet.mjs +3 -3
- package/esm2020/lib/core/account.service.mjs +3 -3
- package/esm2020/lib/core/animated-icon/animated-icon.directive.mjs +3 -3
- package/esm2020/lib/core/avatar/avatar.component.mjs +3 -3
- package/esm2020/lib/core/base.mjs +1 -1
- package/esm2020/lib/core/component-factory-resolver.mjs +3 -3
- package/esm2020/lib/core/configuration.mjs +2 -1
- package/esm2020/lib/core/controls/address.input.mjs +11 -8
- package/esm2020/lib/core/controls/auto-complete.input.mjs +3 -3
- package/esm2020/lib/core/controls/combination-picker-body.mjs +3 -3
- package/esm2020/lib/core/controls/combination-picker.mjs +3 -3
- package/esm2020/lib/core/controls/combination-pool.mjs +3 -3
- package/esm2020/lib/core/controls/file.input.mjs +360 -0
- package/esm2020/lib/core/controls/select.input.mjs +15 -13
- package/esm2020/lib/core/controls/time-picker.mjs +3 -3
- package/esm2020/lib/core/controls/timespan.input.mjs +3 -3
- package/esm2020/lib/core/datasource.service.mjs +23 -11
- package/esm2020/lib/core/functions.mjs +5 -1
- package/esm2020/lib/core/guide/guide.component.mjs +3 -3
- package/esm2020/lib/core/guide/guide.service.mjs +3 -3
- package/esm2020/lib/core/http.interceptor.mjs +3 -3
- package/esm2020/lib/core/hub.service.mjs +4 -4
- package/esm2020/lib/core/identity/identity.component.mjs +3 -3
- package/esm2020/lib/core/info/attachment-info.service.mjs +10 -12
- package/esm2020/lib/core/info/document-info.service.mjs +3 -3
- package/esm2020/lib/core/info/location-info.component.mjs +3 -3
- package/esm2020/lib/core/info/map-info.mjs +3 -3
- package/esm2020/lib/core/layout/autocomplete.field.mjs +4 -4
- package/esm2020/lib/core/layout/checkbox.field.mjs +3 -3
- package/esm2020/lib/core/layout/checkbox.mjs +3 -3
- package/esm2020/lib/core/layout/date-range.field.mjs +3 -3
- package/esm2020/lib/core/layout/date.field.mjs +3 -3
- package/esm2020/lib/core/layout/expression.field.mjs +3 -3
- package/esm2020/lib/core/layout/html.field.mjs +3 -3
- package/esm2020/lib/core/layout/input.base.mjs +3 -3
- package/esm2020/lib/core/layout/input.field.mjs +3 -3
- package/esm2020/lib/core/layout/layout.component.mjs +3 -3
- package/esm2020/lib/core/layout/numeric.field.mjs +3 -3
- package/esm2020/lib/core/layout/select.field.mjs +5 -5
- package/esm2020/lib/core/layout/switch.field.mjs +3 -3
- package/esm2020/lib/core/layout/textarea.field.mjs +3 -3
- package/esm2020/lib/core/layout/timespan.field.mjs +3 -3
- package/esm2020/lib/core/lottie-animation.mjs +3 -3
- package/esm2020/lib/core/mailbox.service.mjs +111 -35
- package/esm2020/lib/core/models.mjs +8 -1
- package/esm2020/lib/core/none.component.mjs +3 -3
- package/esm2020/lib/core/pipes/action.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/calendar.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/date-format.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/daterange.pipe.mjs +6 -6
- package/esm2020/lib/core/pipes/difference.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/duration-format.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/duration.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/form.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/join.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/role.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/sanitize-html.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/sort.pipe.mjs +6 -6
- package/esm2020/lib/core/pipes/state.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/time-ago.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/translate.pipe.mjs +6 -6
- package/esm2020/lib/core/pipes/type-value.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/user-name.pipe.mjs +3 -3
- package/esm2020/lib/core/popup/popup.component.mjs +3 -3
- package/esm2020/lib/core/popup/popup.service.mjs +3 -3
- package/esm2020/lib/core/popup/tooltip.directive.mjs +6 -6
- package/esm2020/lib/core/prompt/ask/ask.dialog.mjs +3 -3
- package/esm2020/lib/core/prompt/mask/mask.component.mjs +3 -3
- package/esm2020/lib/core/prompt.service.mjs +3 -3
- package/esm2020/lib/core/router.mjs +6 -6
- package/esm2020/lib/core/session.service.mjs +7 -4
- package/esm2020/lib/core/slots/pane-ref.mjs +3 -1
- package/esm2020/lib/core/slots/router.directive.mjs +3 -3
- package/esm2020/lib/core/slots/router.service.mjs +3 -3
- package/esm2020/lib/core/slots/slots.component.mjs +22 -8
- package/esm2020/lib/core/tagging/documents.component.mjs +3 -3
- package/esm2020/lib/core/tagging/edit-input.component.mjs +3 -3
- package/esm2020/lib/core/tagging/emoji.component.mjs +3 -3
- package/esm2020/lib/core/tagging/tagging-item.directive.mjs +3 -3
- package/esm2020/lib/core/tagging/tagging.component-base.mjs +3 -3
- package/esm2020/lib/core/tagging/tagging.directive.mjs +3 -3
- package/esm2020/lib/core/tagging/tagging.pipe.mjs +3 -3
- package/esm2020/lib/core/tagging/users.component.mjs +3 -3
- package/esm2020/lib/core/translate.service.mjs +7 -4
- package/esm2020/lib/core/translations.mjs +12 -4
- package/esm2020/lib/core/window-title.service.mjs +3 -3
- package/esm2020/lib/cube/accum/accum.component.mjs +74 -18
- package/esm2020/lib/cube/chart/chart.component.mjs +69 -16
- package/esm2020/lib/cube/cube-info.service.mjs +5 -5
- package/esm2020/lib/cube/cube-menu.component.mjs +3 -3
- package/esm2020/lib/cube/cube-view.component.mjs +4 -5
- package/esm2020/lib/cube/cube.service.mjs +18 -10
- package/esm2020/lib/cube/declarations.mjs +1 -1
- package/esm2020/lib/cube/explore/document-item.component.mjs +3 -3
- package/esm2020/lib/cube/explore/explore-item.component.mjs +3 -3
- package/esm2020/lib/cube/explore/explore-items.component.mjs +51 -16
- package/esm2020/lib/cube/explore/explore.pane.component.mjs +14 -9
- package/esm2020/lib/cube/explore/item-resolver.service.mjs +6 -6
- package/esm2020/lib/cube/explore/item.pane.component.mjs +3 -3
- package/esm2020/lib/cube/filter/filter-tags.component.exp.mjs +3 -3
- package/esm2020/lib/cube/filter/filter.component.mjs +3 -3
- package/esm2020/lib/cube/grid/grid.component.mjs +5 -6
- package/esm2020/lib/cube/grid/spreadsheet.component.mjs +45 -29
- package/esm2020/lib/cube/matrix/matrix.base.mjs +4 -4
- package/esm2020/lib/cube/matrix/matrix.mobile.component.mjs +6 -5
- package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +6 -6
- package/esm2020/lib/cube/matrix/popup.component.mjs +67 -0
- package/esm2020/lib/cube/matrix/table.component.mjs +9 -9
- package/esm2020/lib/cube/parallel/parallel.component.mjs +16 -8
- package/esm2020/lib/cube/pivot/pivot.component.mjs +87 -16
- package/esm2020/lib/cube/sum/sum.component.mjs +4 -4
- package/esm2020/lib/cube/view-base.mjs +3 -3
- package/esm2020/lib/cube/view.mobile.component.mjs +13 -7
- package/esm2020/lib/cube/view.pane.component.mjs +5 -6
- package/esm2020/lib/dashboard/actions/actions.widget.mjs +3 -3
- package/esm2020/lib/dashboard/cube/accum-cube.widget.mjs +3 -3
- package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +4 -4
- package/esm2020/lib/dashboard/cube/cube-analysis.widget.mjs +3 -3
- package/esm2020/lib/dashboard/cube/cube-chart.widget.mjs +3 -3
- package/esm2020/lib/dashboard/cube/documents.widget.mjs +3 -3
- package/esm2020/lib/dashboard/cube/filter/filter.component.mjs +3 -3
- package/esm2020/lib/dashboard/dashboard.component.mjs +3 -3
- package/esm2020/lib/dashboard/dashboard.pane.component.mjs +3 -3
- package/esm2020/lib/dashboard/recents/recents.widget.mjs +17 -16
- package/esm2020/lib/dashboard/score/activity.widget.mjs +3 -3
- package/esm2020/lib/dashboard/score/compare-departments.widget.mjs +3 -3
- package/esm2020/lib/dashboard/score/peers-performance.widget.mjs +3 -3
- package/esm2020/lib/dashboard/score/pending-results.widget.mjs +3 -3
- package/esm2020/lib/dashboard/score/personal-score.widget.mjs +3 -3
- package/esm2020/lib/dashboard/widget-item.component.mjs +3 -3
- package/esm2020/lib/desktop.module.mjs +4 -4
- package/esm2020/lib/home/about/about.dialog.mjs +3 -3
- package/esm2020/lib/home/home-base.component.mjs +5 -5
- package/esm2020/lib/home/home.desktop.component.mjs +3 -3
- package/esm2020/lib/home/home.mobile.component.mjs +3 -3
- package/esm2020/lib/home/notifications/notifications.component.mjs +3 -3
- package/esm2020/lib/home/options/options.component.mjs +3 -3
- package/esm2020/lib/home/outofoffice/outofoffice.component.mjs +3 -3
- package/esm2020/lib/home/search.service.mjs +3 -3
- package/esm2020/lib/home/sign/sign.component.mjs +3 -3
- package/esm2020/lib/home/tools.component.mjs +3 -3
- package/esm2020/lib/impersonate/impersonate.component.mjs +3 -3
- package/esm2020/lib/mobile.module.mjs +4 -4
- package/esm2020/lib/modules/chart.module.mjs +4 -4
- package/esm2020/lib/modules/circular-gauge.module.mjs +4 -4
- package/esm2020/lib/modules/date.adapter.mjs +3 -3
- package/esm2020/lib/modules/datepicker.intl.mjs +3 -3
- package/esm2020/lib/modules/diagram.module.mjs +4 -4
- package/esm2020/lib/modules/gantt.module.mjs +4 -4
- package/esm2020/lib/modules/grid.module.mjs +4 -4
- package/esm2020/lib/modules/material.module.mjs +4 -4
- package/esm2020/lib/modules/paginator.intl.mjs +3 -3
- package/esm2020/lib/modules/pivot.module.mjs +4 -4
- package/esm2020/lib/modules/schedule.module.mjs +4 -4
- package/esm2020/lib/modules/spreadsheet.module.mjs +4 -4
- package/esm2020/lib/modules/stepper.intl.mjs +3 -3
- package/esm2020/lib/modules/texteditor.module.mjs +4 -4
- package/esm2020/lib/notifications/filter.component.mjs +3 -3
- package/esm2020/lib/notifications/notifications-table.component.mjs +3 -3
- package/esm2020/lib/notifications/notifications.mobile.component.mjs +3 -3
- package/esm2020/lib/notifications/notifications.pane.component.mjs +3 -3
- package/esm2020/lib/notifications/notifications.service.mjs +3 -3
- package/esm2020/lib/notifications/types/commented.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/cube-anomaly.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/escalated.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/liked.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/long-running-task.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/notification-base.mjs +3 -3
- package/esm2020/lib/notifications/types/nudge.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/state-changed.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/tagged.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/text.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/upcoming-event.notification.mjs +3 -3
- package/esm2020/lib/options/options.component.mjs +3 -3
- package/esm2020/lib/options/options.service.mjs +3 -3
- package/esm2020/lib/reports/arguments-component.mjs +3 -3
- package/esm2020/lib/reports/cube/grid-documents.component.mjs +3 -3
- package/esm2020/lib/reports/cube/table-documents.component.mjs +3 -3
- package/esm2020/lib/reports/cube/usage-args.component.mjs +4 -4
- package/esm2020/lib/reports/cube/usage-base.mjs +4 -4
- package/esm2020/lib/reports/cube/usage-chart.component.mjs +79 -13
- package/esm2020/lib/reports/cube/usage-pivot.component.mjs +4 -4
- package/esm2020/lib/reports/report-viewer.component.mjs +41 -15
- package/esm2020/lib/reports/report.mobile.component.mjs +3 -3
- package/esm2020/lib/reports/report.pane.component.mjs +3 -3
- package/esm2020/lib/reports/reports-menu.component.mjs +3 -3
- package/esm2020/lib/reports/substitution/substitution.component.mjs +3 -3
- package/esm2020/lib/reports/table/table-view.component.mjs +3 -3
- package/esm2020/lib/reports/tasks/tasks.component.mjs +3 -3
- package/esm2020/lib/routes.desktop.mjs +1 -1
- package/esm2020/lib/scheduler/schedule.component.mjs +4 -4
- package/esm2020/lib/scheduler/scheduler.mobile.component.mjs +3 -3
- package/esm2020/lib/scheduler/scheduler.pane.component.mjs +3 -3
- package/esm2020/lib/shared.module.mjs +11 -9
- package/esm2020/lib/system.module.mjs +4 -4
- package/esm2020/lib/views/cube/chart.component.mjs +4 -4
- package/esm2020/lib/views/cube/cube-base.mjs +4 -4
- package/esm2020/lib/views/cube/explore.component.mjs +4 -4
- package/esm2020/lib/views/cube/matrix.component.mjs +5 -5
- package/esm2020/lib/views/cube/parallel.component.mjs +5 -6
- package/esm2020/lib/views/cube/pivot.component.mjs +5 -5
- package/esm2020/lib/views/cube/sum.component.mjs +5 -5
- package/esm2020/lib/views/cube/view.component.mjs +3 -3
- package/esm2020/lib/views/timeline/timeline.component.exp.mjs +3 -3
- package/esm2020/lib/views/view-item.component.mjs +3 -3
- package/esm2020/lib/views/views.component.mjs +3 -3
- package/esm2020/lib/views/views.mobile.component.mjs +3 -3
- package/esm2020/lib/views/views.pane.component.mjs +3 -3
- package/esm2020/public-api.mjs +4 -3
- package/fesm2015/bizdoc-core.mjs +3481 -2548
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +4287 -3350
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/admin/positions/positions.component.d.ts +0 -1
- package/lib/browse/browse.mobile.component.d.ts +1 -0
- package/lib/browse/browse.pane.component.d.ts +1 -0
- package/lib/compose/attachments/preview/attachment-preview.component.d.ts +3 -4
- package/lib/compose/form.component.d.ts +1 -0
- package/lib/compose/trace/trace.component.d.ts +6 -0
- package/lib/core/base.d.ts +3 -1
- package/lib/core/configuration.d.ts +3 -1
- package/lib/core/controls/address.input.d.ts +2 -1
- package/lib/core/controls/file.input.d.ts +87 -0
- package/lib/core/controls/select.input.d.ts +7 -5
- package/lib/core/datasource.service.d.ts +7 -4
- package/lib/core/functions.d.ts +1 -0
- package/lib/core/hub.service.d.ts +1 -2
- package/lib/core/info/attachment-info.service.d.ts +1 -2
- package/lib/core/mailbox.service.d.ts +25 -6
- package/lib/core/models.d.ts +10 -6
- package/lib/core/session.service.d.ts +1 -0
- package/lib/core/slots/pane-ref.d.ts +2 -0
- package/lib/core/translations.d.ts +8 -0
- package/lib/cube/accum/accum.component.d.ts +9 -5
- package/lib/cube/chart/chart.component.d.ts +7 -3
- package/lib/cube/cube-info.service.d.ts +8 -2
- package/lib/cube/cube.service.d.ts +2 -2
- package/lib/cube/declarations.d.ts +0 -1
- package/lib/cube/explore/explore-items.component.d.ts +7 -4
- package/lib/cube/explore/explore.pane.component.d.ts +5 -4
- package/lib/cube/grid/grid.component.d.ts +1 -1
- package/lib/cube/grid/spreadsheet.component.d.ts +1 -3
- package/lib/cube/matrix/matrix.base.d.ts +1 -0
- package/lib/cube/matrix/matrix.pane.component.d.ts +0 -1
- package/lib/cube/matrix/{matrix.component.d.ts → popup.component.d.ts} +0 -0
- package/lib/cube/matrix/table.component.d.ts +4 -3
- package/lib/cube/parallel/parallel.component.d.ts +6 -3
- package/lib/cube/pivot/pivot.component.d.ts +4 -1
- package/lib/cube/sum/sum.component.d.ts +2 -1
- package/lib/cube/view.mobile.component.d.ts +3 -2
- package/lib/dashboard/cube/cube-analysis.base.d.ts +2 -1
- package/lib/dashboard/recents/recents.widget.d.ts +2 -1
- package/lib/reports/cube/usage-args.component.d.ts +2 -2
- package/lib/reports/cube/usage-base.d.ts +8 -12
- package/lib/reports/cube/usage-chart.component.d.ts +1 -1
- package/lib/reports/report-viewer.component.d.ts +3 -1
- package/lib/shared.module.d.ts +176 -175
- package/lib/views/cube/chart.component.d.ts +2 -1
- package/lib/views/cube/cube-base.d.ts +2 -1
- package/lib/views/cube/explore.component.d.ts +2 -1
- package/lib/views/cube/matrix.component.d.ts +3 -2
- package/lib/views/cube/parallel.component.d.ts +1 -2
- package/lib/views/cube/pivot.component.d.ts +2 -1
- package/lib/views/cube/sum.component.d.ts +2 -1
- package/package.json +15 -15
- package/public-api.d.ts +4 -3
- package/assets/dayjs/locale/af.js +0 -1
- package/assets/dayjs/locale/am.js +0 -1
- package/assets/dayjs/locale/ar-dz.js +0 -1
- package/assets/dayjs/locale/ar-iq.js +0 -1
- package/assets/dayjs/locale/ar-kw.js +0 -1
- package/assets/dayjs/locale/ar-ly.js +0 -1
- package/assets/dayjs/locale/ar-ma.js +0 -1
- package/assets/dayjs/locale/ar-sa.js +0 -1
- package/assets/dayjs/locale/ar-tn.js +0 -1
- package/assets/dayjs/locale/ar.js +0 -1
- package/assets/dayjs/locale/az.js +0 -1
- package/assets/dayjs/locale/be.js +0 -1
- package/assets/dayjs/locale/bg.js +0 -1
- package/assets/dayjs/locale/bi.js +0 -1
- package/assets/dayjs/locale/bm.js +0 -1
- package/assets/dayjs/locale/bn.js +0 -1
- package/assets/dayjs/locale/bo.js +0 -1
- package/assets/dayjs/locale/br.js +0 -1
- package/assets/dayjs/locale/bs.js +0 -1
- package/assets/dayjs/locale/ca.js +0 -1
- package/assets/dayjs/locale/cs.js +0 -1
- package/assets/dayjs/locale/cv.js +0 -1
- package/assets/dayjs/locale/cy.js +0 -1
- package/assets/dayjs/locale/da.js +0 -1
- package/assets/dayjs/locale/de-at.js +0 -1
- package/assets/dayjs/locale/de-ch.js +0 -1
- package/assets/dayjs/locale/de.js +0 -1
- package/assets/dayjs/locale/dv.js +0 -1
- package/assets/dayjs/locale/el.js +0 -1
- package/assets/dayjs/locale/en-au.js +0 -1
- package/assets/dayjs/locale/en-ca.js +0 -1
- package/assets/dayjs/locale/en-gb.js +0 -1
- package/assets/dayjs/locale/en-ie.js +0 -1
- package/assets/dayjs/locale/en-il.js +0 -1
- package/assets/dayjs/locale/en-in.js +0 -1
- package/assets/dayjs/locale/en-nz.js +0 -1
- package/assets/dayjs/locale/en-sg.js +0 -1
- package/assets/dayjs/locale/en-tt.js +0 -1
- package/assets/dayjs/locale/en.js +0 -1
- package/assets/dayjs/locale/eo.js +0 -1
- package/assets/dayjs/locale/es-do.js +0 -1
- package/assets/dayjs/locale/es-mx.js +0 -1
- package/assets/dayjs/locale/es-pr.js +0 -1
- package/assets/dayjs/locale/es-us.js +0 -1
- package/assets/dayjs/locale/es.js +0 -1
- package/assets/dayjs/locale/et.js +0 -1
- package/assets/dayjs/locale/eu.js +0 -1
- package/assets/dayjs/locale/fa.js +0 -1
- package/assets/dayjs/locale/fi.js +0 -1
- package/assets/dayjs/locale/fo.js +0 -1
- package/assets/dayjs/locale/fr-ca.js +0 -1
- package/assets/dayjs/locale/fr-ch.js +0 -1
- package/assets/dayjs/locale/fr.js +0 -1
- package/assets/dayjs/locale/fy.js +0 -1
- package/assets/dayjs/locale/ga.js +0 -1
- package/assets/dayjs/locale/gd.js +0 -1
- package/assets/dayjs/locale/gl.js +0 -1
- package/assets/dayjs/locale/gom-latn.js +0 -1
- package/assets/dayjs/locale/gu.js +0 -1
- package/assets/dayjs/locale/he.js +0 -1
- package/assets/dayjs/locale/hi.js +0 -1
- package/assets/dayjs/locale/hr.js +0 -1
- package/assets/dayjs/locale/ht.js +0 -1
- package/assets/dayjs/locale/hu.js +0 -1
- package/assets/dayjs/locale/hy-am.js +0 -1
- package/assets/dayjs/locale/id.js +0 -1
- package/assets/dayjs/locale/index.d.ts +0 -11
- package/assets/dayjs/locale/is.js +0 -1
- package/assets/dayjs/locale/it-ch.js +0 -1
- package/assets/dayjs/locale/it.js +0 -1
- package/assets/dayjs/locale/ja.js +0 -1
- package/assets/dayjs/locale/jv.js +0 -1
- package/assets/dayjs/locale/ka.js +0 -1
- package/assets/dayjs/locale/kk.js +0 -1
- package/assets/dayjs/locale/km.js +0 -1
- package/assets/dayjs/locale/kn.js +0 -1
- package/assets/dayjs/locale/ko.js +0 -1
- package/assets/dayjs/locale/ku.js +0 -1
- package/assets/dayjs/locale/ky.js +0 -1
- package/assets/dayjs/locale/lb.js +0 -1
- package/assets/dayjs/locale/lo.js +0 -1
- package/assets/dayjs/locale/lt.js +0 -1
- package/assets/dayjs/locale/lv.js +0 -1
- package/assets/dayjs/locale/me.js +0 -1
- package/assets/dayjs/locale/mi.js +0 -1
- package/assets/dayjs/locale/mk.js +0 -1
- package/assets/dayjs/locale/ml.js +0 -1
- package/assets/dayjs/locale/mn.js +0 -1
- package/assets/dayjs/locale/mr.js +0 -1
- package/assets/dayjs/locale/ms-my.js +0 -1
- package/assets/dayjs/locale/ms.js +0 -1
- package/assets/dayjs/locale/mt.js +0 -1
- package/assets/dayjs/locale/my.js +0 -1
- package/assets/dayjs/locale/nb.js +0 -1
- package/assets/dayjs/locale/ne.js +0 -1
- package/assets/dayjs/locale/nl-be.js +0 -1
- package/assets/dayjs/locale/nl.js +0 -1
- package/assets/dayjs/locale/nn.js +0 -1
- package/assets/dayjs/locale/oc-lnc.js +0 -1
- package/assets/dayjs/locale/pa-in.js +0 -1
- package/assets/dayjs/locale/pl.js +0 -1
- package/assets/dayjs/locale/pt-br.js +0 -1
- package/assets/dayjs/locale/pt.js +0 -1
- package/assets/dayjs/locale/ro.js +0 -1
- package/assets/dayjs/locale/ru.js +0 -1
- package/assets/dayjs/locale/rw.js +0 -1
- package/assets/dayjs/locale/sd.js +0 -1
- package/assets/dayjs/locale/se.js +0 -1
- package/assets/dayjs/locale/si.js +0 -1
- package/assets/dayjs/locale/sk.js +0 -1
- package/assets/dayjs/locale/sl.js +0 -1
- package/assets/dayjs/locale/sq.js +0 -1
- package/assets/dayjs/locale/sr-cyrl.js +0 -1
- package/assets/dayjs/locale/sr.js +0 -1
- package/assets/dayjs/locale/ss.js +0 -1
- package/assets/dayjs/locale/sv-fi.js +0 -1
- package/assets/dayjs/locale/sv.js +0 -1
- package/assets/dayjs/locale/sw.js +0 -1
- package/assets/dayjs/locale/ta.js +0 -1
- package/assets/dayjs/locale/te.js +0 -1
- package/assets/dayjs/locale/tet.js +0 -1
- package/assets/dayjs/locale/tg.js +0 -1
- package/assets/dayjs/locale/th.js +0 -1
- package/assets/dayjs/locale/tk.js +0 -1
- package/assets/dayjs/locale/tl-ph.js +0 -1
- package/assets/dayjs/locale/tlh.js +0 -1
- package/assets/dayjs/locale/tr.js +0 -1
- package/assets/dayjs/locale/types.d.ts +0 -33
- package/assets/dayjs/locale/tzl.js +0 -1
- package/assets/dayjs/locale/tzm-latn.js +0 -1
- package/assets/dayjs/locale/tzm.js +0 -1
- package/assets/dayjs/locale/ug-cn.js +0 -1
- package/assets/dayjs/locale/uk.js +0 -1
- package/assets/dayjs/locale/ur.js +0 -1
- package/assets/dayjs/locale/uz-latn.js +0 -1
- package/assets/dayjs/locale/uz.js +0 -1
- package/assets/dayjs/locale/vi.js +0 -1
- package/assets/dayjs/locale/x-pseudo.js +0 -1
- package/assets/dayjs/locale/yo.js +0 -1
- package/assets/dayjs/locale/zh-cn.js +0 -1
- package/assets/dayjs/locale/zh-hk.js +0 -1
- package/assets/dayjs/locale/zh-tw.js +0 -1
- package/assets/dayjs/locale/zh.js +0 -1
- package/esm2020/lib/cube/matrix/matrix.component.mjs +0 -66
@@ -38,6 +38,7 @@ export class CubeGridComponent {
|
|
38
38
|
}
|
39
39
|
ngOnInit() {
|
40
40
|
this._cube = this.cube ? this._session.profile.cubes.find(c => c.name === this.cube) : this._session.profile.cubes[0];
|
41
|
+
this.currencyCode = this._cube.currencyCode;
|
41
42
|
const x = this._cube.axes.find(a => a.name === this._xAxis[0]), y = this._cube.axes.find(a => a.name === this._series[0]);
|
42
43
|
const promises = [];
|
43
44
|
// aquire columns source
|
@@ -183,9 +184,9 @@ export class CubeGridComponent {
|
|
183
184
|
}
|
184
185
|
}
|
185
186
|
CubeGridComponent.nextId = 0;
|
186
|
-
CubeGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.
|
187
|
-
CubeGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.
|
188
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.
|
187
|
+
CubeGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CubeGridComponent, deps: [{ token: i1.SessionService }, { token: i2.PromptService }, { token: i3.DatasourceService }, { token: i4.CubeService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
188
|
+
CubeGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: CubeGridComponent, selector: "bizdoc-cube-grid", inputs: { width: "width", height: "height", cube: "cube", xAxis: "xAxis", series: "series", indices: "indices", filters: "filters", loading: "loading" }, outputs: { explore: "explore", loadingChange: "loadingChange" }, host: { properties: { "id": "this.id" }, classAttribute: "cube-view" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true, styles: [".nowrap{white-space:nowrap;word-wrap:normal}::ng-deep .e-rowcell:not(.e-headertext){cursor:pointer}::ng-deep .e-grid td.e-cellselectionbackground{background-color:none}\n"] });
|
189
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CubeGridComponent, decorators: [{
|
189
190
|
type: Component,
|
190
191
|
args: [{ selector: 'bizdoc-cube-grid', template: '', host: {
|
191
192
|
class: 'cube-view'
|
@@ -204,8 +205,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImpor
|
|
204
205
|
type: Input
|
205
206
|
}], filters: [{
|
206
207
|
type: Input
|
207
|
-
}], currencyCode: [{
|
208
|
-
type: Input
|
209
208
|
}], explore: [{
|
210
209
|
type: Output
|
211
210
|
}], loading: [{
|
@@ -215,4 +214,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImpor
|
|
215
214
|
}], id: [{
|
216
215
|
type: HostBinding
|
217
216
|
}] } });
|
218
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvZ3JpZC9ncmlkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsV0FBVyxFQUF5QixLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBRTdJLE9BQU8sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBc0IsSUFBSSxFQUF3QixXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBa0QsU0FBUyxFQUF1QyxNQUFNLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQU92TyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQUUvQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQVUvRCxNQUFNLE9BQU8saUJBQWlCO0lBMEM1QixZQUNVLFFBQXdCLEVBQ3hCLEdBQWtCLEVBQ2xCLEdBQXNCLEVBQ3RCLFFBQXFCLEVBQ3JCLFdBQXVCO1FBSnZCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFDbEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQXhCZCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFFN0Msa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRWhELE9BQUUsR0FBRyxhQUFhLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxFQUFFLENB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Z0JBQ2EsYUFBYTtzQkFBL0IsTUFBTTtnQkFFUSxFQUFFO3NCQUFoQixXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBDb21wb25lbnQsIE91dHB1dCwgT25Jbml0LCBIb3N0QmluZGluZywgRWxlbWVudFJlZiwgT25EZXN0cm95LCBJbnB1dCwgU2ltcGxlQ2hhbmdlcywgT25DaGFuZ2VzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgSHR0cFJlc3BvbnNlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgdGFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IEdyb3VwU2V0dGluZ3NNb2RlbCwgR3JpZCwgQWdncmVnYXRlQ29sdW1uTW9kZWwsIEV4Y2VsRXhwb3J0LCBBZ2dyZWdhdGUsIEZyZWV6ZSwgU2VsZWN0aW9uU2V0dGluZ3NNb2RlbCwgQ2VsbFNlbGVjdGluZ0V2ZW50QXJncywgU2VsZWN0aW9uLCBRdWVyeUNlbGxJbmZvRXZlbnRBcmdzLCBDb2x1bW5Nb2RlbCwgUmVzaXplIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItZ3JpZHMnO1xyXG5pbXBvcnQgeyBBeGlzQ2xpY2tFdmVudCwgQ3ViZVZpZXdlckNvbXBvbmVudCB9IGZyb20gXCIuLi9kZWNsYXJhdGlvbnNcIjtcclxuaW1wb3J0IHsgQXhlc01hcCwgQ3ViZSB9IGZyb20gXCIuLi8uLi9jb3JlL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBDdWJlU2VydmljZSB9IGZyb20gXCIuLi9jdWJlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IERhdGFzb3VyY2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvZGF0YXNvdXJjZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tIFwiLi4vLi4vY29yZS9mdW5jdGlvbnNcIjtcclxuXHJcbkdyaWQuSW5qZWN0KFNlbGVjdGlvbiwgQWdncmVnYXRlLCBGcmVlemUsIEV4Y2VsRXhwb3J0LCBSZXNpemUpO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtY3ViZS1ncmlkJyxcclxuICB0ZW1wbGF0ZTogJycsXHJcbiAgc3R5bGVVcmxzOiBbJ2dyaWQuY29tcG9uZW50LnNjc3MnXSxcclxuICBob3N0OiB7XHJcbiAgICBjbGFzczogJ2N1YmUtdmlldydcclxuICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWJlR3JpZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBDdWJlVmlld2VyQ29tcG9uZW50LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpXHJcbiAgd2lkdGg6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIGhlaWdodDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgY3ViZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHhBeGlzKHZhbDogc3RyaW5nW10gfCBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3hBeGlzID0gaXNBcnJheSh2YWwpID8gdmFsIDogW3ZhbF07XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNlcmllcyh2YWw6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsKSB0aGlzLl9zZXJpZXMgPSBpc0FycmF5KHZhbCkgPyB2YWwgOiBbdmFsXTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBzZXQgaW5kaWNlcyh2YWw6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsKSB0aGlzLl9pbmRpY2VzID0gaXNBcnJheSh2YWwpID8gdmFsIDogW3ZhbF07XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgZmlsdGVycz86IEF4ZXNNYXA7XHJcbiAgQElucHV0KClcclxuICBjdXJyZW5jeUNvZGU6IHN0cmluZztcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgZXhwbG9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXhpc0NsaWNrRXZlbnQ+KCk7XHJcbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbjtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgbG9hZGluZ0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBwcml2YXRlIHN0YXRpYyBuZXh0SWQgPSAwO1xyXG4gIEBIb3N0QmluZGluZygpIGlkID0gYGN1YmUtZ3JpZC0ke0N1YmVHcmlkQ29tcG9uZW50Lm5leHRJZCsrfWA7XHJcbiAgZ3JpZDogR3JpZDtcclxuICBkYXRhU291cmNlOiBhbnlbXSA9IFtdO1xyXG4gIHJlYWRvbmx5IGdyb3VwU2V0dGluZ3M6IEdyb3VwU2V0dGluZ3NNb2RlbCA9IHtcclxuICB9O1xyXG4gIHJlYWRvbmx5IHNlbGVjdGlvblNldHRpbmdzOiBTZWxlY3Rpb25TZXR0aW5nc01vZGVsID0geyBjZWxsU2VsZWN0aW9uTW9kZTogJ0JveCcsIHR5cGU6ICdTaW5nbGUnLCBtb2RlOiAnQ2VsbCcgfTtcclxuICBhZ2dyZWdhdGVzOiB7IGNvbHVtbnM6IEFnZ3JlZ2F0ZUNvbHVtbk1vZGVsW10gfVtdO1xyXG4gIGNvbHVtbnM6IENvbHVtbk1vZGVsW107XHJcbiAgcHJpdmF0ZSBfeEF4aXM6IHN0cmluZ1tdO1xyXG4gIHByaXZhdGUgX3Nlcmllcz86IHN0cmluZ1tdO1xyXG4gIHByaXZhdGUgX2luZGljZXM/OiBzdHJpbmdbXTtcclxuICBwcml2YXRlIF9yb3dzOiB7IGtleTogYW55OyB2YWx1ZTogYW55IH1bXSA9IFtdO1xyXG4gIHByaXZhdGUgX2NvbHVtbnM6IHsga2V5OiBhbnk7IHZhbHVlOiBhbnkgfVtdID0gW107XHJcbiAgICBwcml2YXRlIF9jdWJlOiBDdWJlO1xyXG4gIHByaXZhdGUgX3ByZXBhcmU6IFByb21pc2U8YW55PjtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kczogRGF0YXNvdXJjZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBDdWJlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHsgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY3ViZSA9IHRoaXMuY3ViZSA/IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlcy5maW5kKGMgPT4gYy5uYW1lID09PSB0aGlzLmN1YmUpIDogdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzWzBdO1xyXG4gICAgY29uc3QgeCA9IHRoaXMuX2N1YmUuYXhlcy5maW5kKGEgPT4gYS5uYW1lID09PSB0aGlzLl94QXhpc1swXSksXHJcbiAgICAgIHkgPSB0aGlzLl9jdWJlLmF4ZXMuZmluZChhID0+IGEubmFtZSA9PT0gdGhpcy5fc2VyaWVzWzBdKTtcclxuICAgIGNvbnN0IHByb21pc2VzOiBPYnNlcnZhYmxlPGFueT5bXSA9IFtdO1xyXG4gICAgLy8gYXF1aXJlIGNvbHVtbnMgc291cmNlXHJcbiAgICBsZXQgb2JzZXJ2ZSA9IHRoaXMuX2RzLmFsbCh4LmRhdGFUeXBlKS5cclxuICAgICAgcGlwZSh0YXAoYyA9PiB7XHJcbiAgICAgICAgdGhpcy5fY29sdW1ucyA9IGM7XHJcbiAgICAgICAgY29uc3QgZm9ybWF0ID0gYCR7dGhpcy5jdXJyZW5jeUNvZGUgPyAnYycgOiAnbid9JHt0aGlzLl9zZXJ2aWNlLmZyYWN0aW9uRGlnaXRzfWA7XHJcbiAgICAgICAgdGhpcy5jb2x1bW5zID0gW3tcclxuICAgICAgICAgIGhlYWRlclRleHQ6ICcnLCBmaWVsZDogJ3RpdGxlJyxcclxuICAgICAgICB9IGFzIENvbHVtbk1vZGVsXTtcclxuICAgICAgICB0aGlzLl9jb2x1bW5zLmZvckVhY2goYyA9PiB0aGlzLmNvbHVtbnMucHVzaCh7XHJcbiAgICAgICAgICBmaWVsZDogYF8ke2Mua2V5fWAsXHJcbiAgICAgICAgICBoZWFkZXJUZXh0OiBjLnZhbHVlLFxyXG4gICAgICAgICAgd2lkdGg6IDEyMCxcclxuICAgICAgICAgIGZvcm1hdCxcclxuICAgICAgICAgIHRleHRBbGlnbjogJ1JpZ2h0J1xyXG4gICAgICAgIH0gYXMgQ29sdW1uTW9kZWxcclxuICAgICAgICApKTtcclxuICAgICAgICB0aGlzLmFnZ3JlZ2F0ZXMgPSBbe1xyXG4gICAgICAgICAgY29sdW1uczogdGhpcy5fY29sdW1ucy5tYXAoYyA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgY29sdW1uTmFtZTogYF8ke2Mua2V5fWAsXHJcbiAgICAgICAgICAgICAgZmllbGQ6IGBfJHtjLmtleX1gLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogJ0N1c3RvbScsXHJcbiAgICAgICAgICAgICAgLy8gIGZvb3RlclRlbXBsYXRlOiBgXFwke2lmKEN1c3RvbS5pbmRleE9mKCctJyk+LTEpfVxyXG4gICAgICAgICAgICAgIC8vPHNwYW4gY2xhc3M9XCJtYXQtd2FyblwiPlxcJHtDdXN0b219PC9zcGFuPiBcXCR7ZWxzZX1cclxuICAgICAgICAgICAgICAvL1xcJHtDdXN0b219IFxcJHsvaWZ9YCxcclxuICAgICAgICAgICAgICBmb3JtYXQsXHJcbiAgICAgICAgICAgICAgY3VzdG9tQWdncmVnYXRlOiB0aGlzLmN1c3RvbUFnZ3JlZ2F0ZS5iaW5kKHRoaXMpXHJcbiAgICAgICAgICAgIH0gYXMgQWdncmVnYXRlQ29sdW1uTW9kZWw7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1dO1xyXG4gICAgICB9KSk7XHJcbiAgICBwcm9taXNlcy5wdXNoKG9ic2VydmUpO1xyXG4gICAgLy8gYXF1aXJlIHJvd3Mgc291cmNlXHJcbiAgICBvYnNlcnZlID0gdGhpcy5fZHMuYWxsKHkuZGF0YVR5cGUpLlxyXG4gICAgICBwaXBlKHRhcChyID0+IHRoaXMuX3Jvd3MgPSByKSk7XHJcbiAgICBwcm9taXNlcy5wdXNoKG9ic2VydmUpO1xyXG4gICAgLy8gcHJlcGFyZVxyXG4gICAgdGhpcy5fcHJlcGFyZSA9XHJcbiAgICAgIGZvcmtKb2luKHByb21pc2VzKS50b1Byb21pc2UoKTtcclxuICAgICAgdGhpcy5leGVjdXRlKCk7XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydmaWx0ZXJzJ10gJiYgIWNoYW5nZXNbJ2ZpbHRlcnMnXS5maXJzdENoYW5nZSlcclxuICAgICAgdGhpcy5leGVjdXRlKCk7XHJcbiAgICBlbHNlXHJcbiAgICAgIGlmIChjaGFuZ2VzWydoZWlnaHQnXSlcclxuICAgICAgICB0aGlzLnJlc2l6ZSgpO1xyXG4gIH1cclxuICBleGVjdXRlKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQodHJ1ZSk7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnNlcmllcyh0aGlzLl9jdWJlLm5hbWUsIHRoaXMuX3hBeGlzLCB7IHNlcmllczogdGhpcy5fc2VyaWVzLCBmaWx0ZXJzOiB0aGlzLmZpbHRlcnMsIGluZGljZXM6IHRoaXMuX2luZGljZXMgfSkuXHJcbiAgICAgIHN1YnNjcmliZShzZXJpZXMgPT4ge1xyXG4gICAgICAgIHRoaXMuX3ByZXBhcmUudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCByb3dzID0gW107XHJcbiAgICAgICAgICBzZXJpZXMuZmlsdGVyKHMgPT4gcy5pbmRleCkuZm9yRWFjaChzID0+IHtcclxuICAgICAgICAgICAgY29uc3Qgcm93ID0geyB0aXRsZTogcy50aXRsZSwgdHlwZTogJ0luZGV4Jywga2V5OiBzLmluZGV4IH0gYXMgTW9kZWw7XHJcbiAgICAgICAgICAgIHRoaXMuX25vcm1hbGl6ZShyb3csIHMucG9pbnRzKTtcclxuICAgICAgICAgICAgcm93cy5wdXNoKHJvdyk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMuX3Jvd3MuZm9yRWFjaChyID0+IHtcclxuICAgICAgICAgICAgY29uc3Qgcm93ID0geyB0aXRsZTogci52YWx1ZSwga2V5OiByLmtleSB9IGFzIE1vZGVsLCBzZXJpZSA9IHNlcmllcy5maW5kKHMgPT4gcy5uYW1lID09PSByLmtleSk7XHJcbiAgICAgICAgICAgIHNlcmllICYmXHJcbiAgICAgICAgICAgICAgdGhpcy5fbm9ybWFsaXplKHJvdywgc2VyaWUucG9pbnRzKTtcclxuICAgICAgICAgICAgcm93cy5wdXNoKHJvdyk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IHJvd3M7XHJcbiAgICAgICAgICB0aGlzLl9kcmF3KCk7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sIChlOiBIdHRwUmVzcG9uc2U8YW55PikgPT4ge1xyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yKGUuc3RhdHVzID09PSA0MDEgPyAnVW5hdXRob3JpemVkJyA6IG51bGwpO1xyXG4gICAgICAgIHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX25vcm1hbGl6ZShyb3c6IE1vZGVsLCBwb2ludHM6IGFueVtdKSB7XHJcbiAgICBwb2ludHMuZm9yRWFjaChwID0+IHJvd1tgXyR7cC54fWBdID0gcC55KTtcclxuICAgIHRoaXMuX2NvbHVtbnMuZm9yRWFjaChjID0+IHtcclxuICAgICAgaWYgKHJvd1tgXyR7Yy5rZXl9YF0gPT09IHVuZGVmaW5lZCkgcm93W2BfJHtjLmtleX1gXSA9IDA7XHJcbiAgICB9KTtcclxuICB9O1xyXG4gIHByaXZhdGUgX2RyYXcoKSB7XHJcbiAgICB0aGlzLmdyaWQgJiYgdGhpcy5ncmlkLmRlc3Ryb3koKTtcclxuICAgIHRoaXMuZ3JpZCA9IG5ldyBHcmlkKHtcclxuICAgICAgZGF0YVNvdXJjZTogdGhpcy5kYXRhU291cmNlLFxyXG4gICAgICBjb2x1bW5zOiB0aGlzLmNvbHVtbnMsXHJcbiAgICAgIGVuYWJsZUhvdmVyOiBmYWxzZSxcclxuICAgICAgYWxsb3dFeGNlbEV4cG9ydDogdHJ1ZSxcclxuICAgICAgc2VsZWN0aW9uU2V0dGluZ3M6IHRoaXMuc2VsZWN0aW9uU2V0dGluZ3MsXHJcbiAgICAgIGFsbG93U29ydGluZzogZmFsc2UsXHJcbiAgICAgIGZyb3plbkNvbHVtbnM6IDEsXHJcbiAgICAgIHdpZHRoOiB0aGlzLndpZHRoLFxyXG4gICAgICAvL2hlaWdodDogdGhpcy5oZWlnaHQsXHJcbiAgICAgIGNlbGxTZWxlY3Rpbmc6IHRoaXMuY2VsbFNlbGVjdGluZy5iaW5kKHRoaXMpLFxyXG4gICAgICBhbGxvd1BhZ2luZzogZmFsc2UsXHJcbiAgICAgIHF1ZXJ5Q2VsbEluZm86IHRoaXMucXVlcnlDZWxsSW5mbyxcclxuICAgICAgZnJvemVuUm93czogdGhpcy5pbmRpY2VzID8gdGhpcy5pbmRpY2VzLmxlbmd0aCA6IDAsXHJcbiAgICAgIGFnZ3JlZ2F0ZXM6IHRoaXMuYWdncmVnYXRlcyxcclxuICAgICAgY3VycmVuY3lDb2RlOiB0aGlzLmN1cnJlbmN5Q29kZVxyXG4gICAgfSwgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICB9XHJcbiAgcXVlcnlDZWxsSW5mbyhldnQ6IFF1ZXJ5Q2VsbEluZm9FdmVudEFyZ3MpIHtcclxuICAgIGlmIChldnQuY29sdW1uLmZpZWxkID09PSAndGl0bGUnKVxyXG4gICAgICBldnQuY2VsbC5jbGFzc0xpc3QuYWRkKCdlLWhlYWRlcnRleHQnKTtcclxuICAgIGVsc2Uge1xyXG4gICAgICBjb25zdCB2YWwgPSBldnQuZGF0YVtldnQuY29sdW1uLmZpZWxkXTtcclxuICAgICAgaWYgKHZhbCA8IDApXHJcbiAgICAgICAgZXZ0LmNlbGwuY2xhc3NMaXN0LmFkZCgnbmVnYXRpdmUtZmlndXJlJyk7XHJcbiAgICAgIGV2dC5jZWxsLmNsYXNzTGlzdC5hZGQoJ25vd3JhcCcpO1xyXG4gICAgfVxyXG4gIH1cclxuICBjZWxsU2VsZWN0aW5nKGV2dDogQ2VsbFNlbGVjdGluZ0V2ZW50QXJncykge1xyXG4gICAgY29uc3QgeyBkYXRhLCBjZWxsSW5kZXg6IHsgY2VsbEluZGV4IH0gfSA9IGV2dCwgeyBrZXk6IHJvdywgdHlwZSB9ID0gZGF0YSBhcyBNb2RlbDtcclxuICAgIGV2dC5jYW5jZWwgPSB0cnVlO1xyXG4gICAgaWYgKGNlbGxJbmRleCA9PT0gMClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgY29uc3QgY29sdW1uID0gdGhpcy5fY29sdW1uc1tjZWxsSW5kZXggLSAxXS5rZXk7XHJcbiAgICBpZiAoZGF0YVtgXyR7Y29sdW1ufWBdID09PSAwKSByZXR1cm47XHJcbiAgICBjb25zdCBheGVzOiB7fSA9IHt9O1xyXG4gICAgYXhlc1t0aGlzLl94QXhpc1swXV0gPSBjb2x1bW47XHJcbiAgICBpZiAodHlwZSAhPT0gJ0luZGV4JykgYXhlc1t0aGlzLl9zZXJpZXNbMF1dID0gcm93O1xyXG4gICAgdGhpcy5leHBsb3JlLmVtaXQoeyBheGVzLCBpbmRleDogdHlwZSA9PT0gJ0luZGV4JyA/IHJvdyA6IG51bGwgfSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBjdXN0b21BZ2dyZWdhdGUoXywgY29sdW1uOiBBZ2dyZWdhdGVDb2x1bW5Nb2RlbCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YVNvdXJjZS5zdW0ociA9PlxyXG4gICAgICAocltjb2x1bW4uZmllbGRdIHx8IDApICogKHIudHlwZSA9PT0gJ0luZGV4JyA/IDEgOiAtMSkpO1xyXG4gIH1cclxuICByZXNpemUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5ncmlkKSB7XHJcbiAgICAgIHRoaXMuZ3JpZC53aWR0aCA9IHRoaXMud2lkdGg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGV4cG9ydFRvRXhjZWwodGl0bGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5ncmlkLmV4Y2VsRXhwb3J0KHtcclxuICAgICAgZmlsZU5hbWU6IGAke3RpdGxlfS54bHN4YFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5ncmlkICYmIHRoaXMuZ3JpZC5kZXN0cm95KCk7XHJcbiAgfVxyXG59XHJcblxyXG5pbnRlcmZhY2UgTW9kZWwge1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgdHlwZTogJ0luZGV4JyB8IG51bGw7XHJcbiAga2V5OiBhbnk7XHJcbn1cclxuIl19
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvZ3JpZC9ncmlkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsV0FBVyxFQUF5QixLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBRTdJLE9BQU8sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBc0IsSUFBSSxFQUF3QixXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBa0QsU0FBUyxFQUF1QyxNQUFNLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQU92TyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQUUvQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQVUvRCxNQUFNLE9BQU8saUJBQWlCO0lBeUM1QixZQUNVLFFBQXdCLEVBQ3hCLEdBQWtCLEVBQ2xCLEdBQXNCLEVBQ3RCLFFBQXFCLEVBQ3JCLFdBQXVCO1FBSnZCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFDbEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQXhCZCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFFN0Msa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRWhELE9BQUUsR0FBRyxhQUFhLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxFQUFFLENB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c0JBQXpCLE1BQU07Z0JBQ0UsT0FBTztzQkFBZixLQUFLO2dCQUNhLGFBQWE7c0JBQS9CLE1BQU07Z0JBRVEsRUFBRTtzQkFBaEIsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgQ29tcG9uZW50LCBPdXRwdXQsIE9uSW5pdCwgSG9zdEJpbmRpbmcsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgSW5wdXQsIFNpbXBsZUNoYW5nZXMsIE9uQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEh0dHBSZXNwb25zZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBmb3JrSm9pbiwgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IHRhcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBHcm91cFNldHRpbmdzTW9kZWwsIEdyaWQsIEFnZ3JlZ2F0ZUNvbHVtbk1vZGVsLCBFeGNlbEV4cG9ydCwgQWdncmVnYXRlLCBGcmVlemUsIFNlbGVjdGlvblNldHRpbmdzTW9kZWwsIENlbGxTZWxlY3RpbmdFdmVudEFyZ3MsIFNlbGVjdGlvbiwgUXVlcnlDZWxsSW5mb0V2ZW50QXJncywgQ29sdW1uTW9kZWwsIFJlc2l6ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWdyaWRzJztcclxuaW1wb3J0IHsgQXhpc0NsaWNrRXZlbnQsIEN1YmVWaWV3ZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVjbGFyYXRpb25zXCI7XHJcbmltcG9ydCB7IEF4ZXNNYXAsIEN1YmUgfSBmcm9tIFwiLi4vLi4vY29yZS9tb2RlbHNcIjtcclxuaW1wb3J0IHsgQ3ViZVNlcnZpY2UgfSBmcm9tIFwiLi4vY3ViZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBEYXRhc291cmNlU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL2RhdGFzb3VyY2Uuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSBcIi4uLy4uL2NvcmUvZnVuY3Rpb25zXCI7XHJcblxyXG5HcmlkLkluamVjdChTZWxlY3Rpb24sIEFnZ3JlZ2F0ZSwgRnJlZXplLCBFeGNlbEV4cG9ydCwgUmVzaXplKTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWN1YmUtZ3JpZCcsXHJcbiAgdGVtcGxhdGU6ICcnLFxyXG4gIHN0eWxlVXJsczogWydncmlkLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICdjdWJlLXZpZXcnXHJcbiAgfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3ViZUdyaWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQ3ViZVZpZXdlckNvbXBvbmVudCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKVxyXG4gIHdpZHRoOiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBoZWlnaHQ6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIGN1YmU6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIHNldCB4QXhpcyh2YWw6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XHJcbiAgICB0aGlzLl94QXhpcyA9IGlzQXJyYXkodmFsKSA/IHZhbCA6IFt2YWxdO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHNldCBzZXJpZXModmFsOiBzdHJpbmdbXSB8IHN0cmluZykge1xyXG4gICAgaWYgKHZhbCkgdGhpcy5fc2VyaWVzID0gaXNBcnJheSh2YWwpID8gdmFsIDogW3ZhbF07XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGluZGljZXModmFsOiBzdHJpbmdbXSB8IHN0cmluZykge1xyXG4gICAgaWYgKHZhbCkgdGhpcy5faW5kaWNlcyA9IGlzQXJyYXkodmFsKSA/IHZhbCA6IFt2YWxdO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIGZpbHRlcnM/OiBBeGVzTWFwO1xyXG4gIGN1cnJlbmN5Q29kZTogc3RyaW5nO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBleHBsb3JlID0gbmV3IEV2ZW50RW1pdHRlcjxBeGlzQ2xpY2tFdmVudD4oKTtcclxuICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBsb2FkaW5nQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIHByaXZhdGUgc3RhdGljIG5leHRJZCA9IDA7XHJcbiAgQEhvc3RCaW5kaW5nKCkgaWQgPSBgY3ViZS1ncmlkLSR7Q3ViZUdyaWRDb21wb25lbnQubmV4dElkKyt9YDtcclxuICBncmlkOiBHcmlkO1xyXG4gIGRhdGFTb3VyY2U6IGFueVtdID0gW107XHJcbiAgcmVhZG9ubHkgZ3JvdXBTZXR0aW5nczogR3JvdXBTZXR0aW5nc01vZGVsID0ge1xyXG4gIH07XHJcbiAgcmVhZG9ubHkgc2VsZWN0aW9uU2V0dGluZ3M6IFNlbGVjdGlvblNldHRpbmdzTW9kZWwgPSB7IGNlbGxTZWxlY3Rpb25Nb2RlOiAnQm94JywgdHlwZTogJ1NpbmdsZScsIG1vZGU6ICdDZWxsJyB9O1xyXG4gIGFnZ3JlZ2F0ZXM6IHsgY29sdW1uczogQWdncmVnYXRlQ29sdW1uTW9kZWxbXSB9W107XHJcbiAgY29sdW1uczogQ29sdW1uTW9kZWxbXTtcclxuICBwcml2YXRlIF94QXhpczogc3RyaW5nW107XHJcbiAgcHJpdmF0ZSBfc2VyaWVzPzogc3RyaW5nW107XHJcbiAgcHJpdmF0ZSBfaW5kaWNlcz86IHN0cmluZ1tdO1xyXG4gIHByaXZhdGUgX3Jvd3M6IHsga2V5OiBhbnk7IHZhbHVlOiBhbnkgfVtdID0gW107XHJcbiAgcHJpdmF0ZSBfY29sdW1uczogeyBrZXk6IGFueTsgdmFsdWU6IGFueSB9W10gPSBbXTtcclxuICAgIHByaXZhdGUgX2N1YmU6IEN1YmU7XHJcbiAgcHJpdmF0ZSBfcHJlcGFyZTogUHJvbWlzZTxhbnk+O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX2RzOiBEYXRhc291cmNlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NlcnZpY2U6IEN1YmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZikgeyB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jdWJlID0gdGhpcy5jdWJlID8gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IHRoaXMuY3ViZSkgOiB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXNbMF07XHJcbiAgICB0aGlzLmN1cnJlbmN5Q29kZSA9IHRoaXMuX2N1YmUuY3VycmVuY3lDb2RlO1xyXG4gICAgY29uc3QgeCA9IHRoaXMuX2N1YmUuYXhlcy5maW5kKGEgPT4gYS5uYW1lID09PSB0aGlzLl94QXhpc1swXSksXHJcbiAgICAgIHkgPSB0aGlzLl9jdWJlLmF4ZXMuZmluZChhID0+IGEubmFtZSA9PT0gdGhpcy5fc2VyaWVzWzBdKTtcclxuICAgIGNvbnN0IHByb21pc2VzOiBPYnNlcnZhYmxlPGFueT5bXSA9IFtdO1xyXG4gICAgLy8gYXF1aXJlIGNvbHVtbnMgc291cmNlXHJcbiAgICBsZXQgb2JzZXJ2ZSA9IHRoaXMuX2RzLmFsbCh4LmRhdGFUeXBlKS5cclxuICAgICAgcGlwZSh0YXAoYyA9PiB7XHJcbiAgICAgICAgdGhpcy5fY29sdW1ucyA9IGM7XHJcbiAgICAgICAgY29uc3QgZm9ybWF0ID0gYCR7dGhpcy5jdXJyZW5jeUNvZGUgPyAnYycgOiAnbid9JHt0aGlzLl9zZXJ2aWNlLmZyYWN0aW9uRGlnaXRzfWA7XHJcbiAgICAgICAgdGhpcy5jb2x1bW5zID0gW3tcclxuICAgICAgICAgIGhlYWRlclRleHQ6ICcnLCBmaWVsZDogJ3RpdGxlJyxcclxuICAgICAgICB9IGFzIENvbHVtbk1vZGVsXTtcclxuICAgICAgICB0aGlzLl9jb2x1bW5zLmZvckVhY2goYyA9PiB0aGlzLmNvbHVtbnMucHVzaCh7XHJcbiAgICAgICAgICBmaWVsZDogYF8ke2Mua2V5fWAsXHJcbiAgICAgICAgICBoZWFkZXJUZXh0OiBjLnZhbHVlLFxyXG4gICAgICAgICAgd2lkdGg6IDEyMCxcclxuICAgICAgICAgIGZvcm1hdCxcclxuICAgICAgICAgIHRleHRBbGlnbjogJ1JpZ2h0J1xyXG4gICAgICAgIH0gYXMgQ29sdW1uTW9kZWxcclxuICAgICAgICApKTtcclxuICAgICAgICB0aGlzLmFnZ3JlZ2F0ZXMgPSBbe1xyXG4gICAgICAgICAgY29sdW1uczogdGhpcy5fY29sdW1ucy5tYXAoYyA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgY29sdW1uTmFtZTogYF8ke2Mua2V5fWAsXHJcbiAgICAgICAgICAgICAgZmllbGQ6IGBfJHtjLmtleX1gLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogJ0N1c3RvbScsXHJcbiAgICAgICAgICAgICAgLy8gIGZvb3RlclRlbXBsYXRlOiBgXFwke2lmKEN1c3RvbS5pbmRleE9mKCctJyk+LTEpfVxyXG4gICAgICAgICAgICAgIC8vPHNwYW4gY2xhc3M9XCJtYXQtd2FyblwiPlxcJHtDdXN0b219PC9zcGFuPiBcXCR7ZWxzZX1cclxuICAgICAgICAgICAgICAvL1xcJHtDdXN0b219IFxcJHsvaWZ9YCxcclxuICAgICAgICAgICAgICBmb3JtYXQsXHJcbiAgICAgICAgICAgICAgY3VzdG9tQWdncmVnYXRlOiB0aGlzLmN1c3RvbUFnZ3JlZ2F0ZS5iaW5kKHRoaXMpXHJcbiAgICAgICAgICAgIH0gYXMgQWdncmVnYXRlQ29sdW1uTW9kZWw7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1dO1xyXG4gICAgICB9KSk7XHJcbiAgICBwcm9taXNlcy5wdXNoKG9ic2VydmUpO1xyXG4gICAgLy8gYXF1aXJlIHJvd3Mgc291cmNlXHJcbiAgICBvYnNlcnZlID0gdGhpcy5fZHMuYWxsKHkuZGF0YVR5cGUpLlxyXG4gICAgICBwaXBlKHRhcChyID0+IHRoaXMuX3Jvd3MgPSByKSk7XHJcbiAgICBwcm9taXNlcy5wdXNoKG9ic2VydmUpO1xyXG4gICAgLy8gcHJlcGFyZVxyXG4gICAgdGhpcy5fcHJlcGFyZSA9XHJcbiAgICAgIGZvcmtKb2luKHByb21pc2VzKS50b1Byb21pc2UoKTtcclxuICAgICAgdGhpcy5leGVjdXRlKCk7XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydmaWx0ZXJzJ10gJiYgIWNoYW5nZXNbJ2ZpbHRlcnMnXS5maXJzdENoYW5nZSlcclxuICAgICAgdGhpcy5leGVjdXRlKCk7XHJcbiAgICBlbHNlXHJcbiAgICAgIGlmIChjaGFuZ2VzWydoZWlnaHQnXSlcclxuICAgICAgICB0aGlzLnJlc2l6ZSgpO1xyXG4gIH1cclxuICBleGVjdXRlKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQodHJ1ZSk7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnNlcmllcyh0aGlzLl9jdWJlLm5hbWUsIHRoaXMuX3hBeGlzLCB7IHNlcmllczogdGhpcy5fc2VyaWVzLCBmaWx0ZXJzOiB0aGlzLmZpbHRlcnMsIGluZGljZXM6IHRoaXMuX2luZGljZXMgfSkuXHJcbiAgICAgIHN1YnNjcmliZShzZXJpZXMgPT4ge1xyXG4gICAgICAgIHRoaXMuX3ByZXBhcmUudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCByb3dzID0gW107XHJcbiAgICAgICAgICBzZXJpZXMuZmlsdGVyKHMgPT4gcy5pbmRleCkuZm9yRWFjaChzID0+IHtcclxuICAgICAgICAgICAgY29uc3Qgcm93ID0geyB0aXRsZTogcy50aXRsZSwgdHlwZTogJ0luZGV4Jywga2V5OiBzLmluZGV4IH0gYXMgTW9kZWw7XHJcbiAgICAgICAgICAgIHRoaXMuX25vcm1hbGl6ZShyb3csIHMucG9pbnRzKTtcclxuICAgICAgICAgICAgcm93cy5wdXNoKHJvdyk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMuX3Jvd3MuZm9yRWFjaChyID0+IHtcclxuICAgICAgICAgICAgY29uc3Qgcm93ID0geyB0aXRsZTogci52YWx1ZSwga2V5OiByLmtleSB9IGFzIE1vZGVsLCBzZXJpZSA9IHNlcmllcy5maW5kKHMgPT4gcy5uYW1lID09PSByLmtleSk7XHJcbiAgICAgICAgICAgIHNlcmllICYmXHJcbiAgICAgICAgICAgICAgdGhpcy5fbm9ybWFsaXplKHJvdywgc2VyaWUucG9pbnRzKTtcclxuICAgICAgICAgICAgcm93cy5wdXNoKHJvdyk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IHJvd3M7XHJcbiAgICAgICAgICB0aGlzLl9kcmF3KCk7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sIChlOiBIdHRwUmVzcG9uc2U8YW55PikgPT4ge1xyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yKGUuc3RhdHVzID09PSA0MDEgPyAnVW5hdXRob3JpemVkJyA6IG51bGwpO1xyXG4gICAgICAgIHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX25vcm1hbGl6ZShyb3c6IE1vZGVsLCBwb2ludHM6IGFueVtdKSB7XHJcbiAgICBwb2ludHMuZm9yRWFjaChwID0+IHJvd1tgXyR7cC54fWBdID0gcC55KTtcclxuICAgIHRoaXMuX2NvbHVtbnMuZm9yRWFjaChjID0+IHtcclxuICAgICAgaWYgKHJvd1tgXyR7Yy5rZXl9YF0gPT09IHVuZGVmaW5lZCkgcm93W2BfJHtjLmtleX1gXSA9IDA7XHJcbiAgICB9KTtcclxuICB9O1xyXG4gIHByaXZhdGUgX2RyYXcoKSB7XHJcbiAgICB0aGlzLmdyaWQgJiYgdGhpcy5ncmlkLmRlc3Ryb3koKTtcclxuICAgIHRoaXMuZ3JpZCA9IG5ldyBHcmlkKHtcclxuICAgICAgZGF0YVNvdXJjZTogdGhpcy5kYXRhU291cmNlLFxyXG4gICAgICBjb2x1bW5zOiB0aGlzLmNvbHVtbnMsXHJcbiAgICAgIGVuYWJsZUhvdmVyOiBmYWxzZSxcclxuICAgICAgYWxsb3dFeGNlbEV4cG9ydDogdHJ1ZSxcclxuICAgICAgc2VsZWN0aW9uU2V0dGluZ3M6IHRoaXMuc2VsZWN0aW9uU2V0dGluZ3MsXHJcbiAgICAgIGFsbG93U29ydGluZzogZmFsc2UsXHJcbiAgICAgIGZyb3plbkNvbHVtbnM6IDEsXHJcbiAgICAgIHdpZHRoOiB0aGlzLndpZHRoLFxyXG4gICAgICAvL2hlaWdodDogdGhpcy5oZWlnaHQsXHJcbiAgICAgIGNlbGxTZWxlY3Rpbmc6IHRoaXMuY2VsbFNlbGVjdGluZy5iaW5kKHRoaXMpLFxyXG4gICAgICBhbGxvd1BhZ2luZzogZmFsc2UsXHJcbiAgICAgIHF1ZXJ5Q2VsbEluZm86IHRoaXMucXVlcnlDZWxsSW5mbyxcclxuICAgICAgZnJvemVuUm93czogdGhpcy5pbmRpY2VzID8gdGhpcy5pbmRpY2VzLmxlbmd0aCA6IDAsXHJcbiAgICAgIGFnZ3JlZ2F0ZXM6IHRoaXMuYWdncmVnYXRlcyxcclxuICAgICAgY3VycmVuY3lDb2RlOiB0aGlzLmN1cnJlbmN5Q29kZVxyXG4gICAgfSwgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICB9XHJcbiAgcXVlcnlDZWxsSW5mbyhldnQ6IFF1ZXJ5Q2VsbEluZm9FdmVudEFyZ3MpIHtcclxuICAgIGlmIChldnQuY29sdW1uLmZpZWxkID09PSAndGl0bGUnKVxyXG4gICAgICBldnQuY2VsbC5jbGFzc0xpc3QuYWRkKCdlLWhlYWRlcnRleHQnKTtcclxuICAgIGVsc2Uge1xyXG4gICAgICBjb25zdCB2YWwgPSBldnQuZGF0YVtldnQuY29sdW1uLmZpZWxkXTtcclxuICAgICAgaWYgKHZhbCA8IDApXHJcbiAgICAgICAgZXZ0LmNlbGwuY2xhc3NMaXN0LmFkZCgnbmVnYXRpdmUtZmlndXJlJyk7XHJcbiAgICAgIGV2dC5jZWxsLmNsYXNzTGlzdC5hZGQoJ25vd3JhcCcpO1xyXG4gICAgfVxyXG4gIH1cclxuICBjZWxsU2VsZWN0aW5nKGV2dDogQ2VsbFNlbGVjdGluZ0V2ZW50QXJncykge1xyXG4gICAgY29uc3QgeyBkYXRhLCBjZWxsSW5kZXg6IHsgY2VsbEluZGV4IH0gfSA9IGV2dCwgeyBrZXk6IHJvdywgdHlwZSB9ID0gZGF0YSBhcyBNb2RlbDtcclxuICAgIGV2dC5jYW5jZWwgPSB0cnVlO1xyXG4gICAgaWYgKGNlbGxJbmRleCA9PT0gMClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgY29uc3QgY29sdW1uID0gdGhpcy5fY29sdW1uc1tjZWxsSW5kZXggLSAxXS5rZXk7XHJcbiAgICBpZiAoZGF0YVtgXyR7Y29sdW1ufWBdID09PSAwKSByZXR1cm47XHJcbiAgICBjb25zdCBheGVzOiB7fSA9IHt9O1xyXG4gICAgYXhlc1t0aGlzLl94QXhpc1swXV0gPSBjb2x1bW47XHJcbiAgICBpZiAodHlwZSAhPT0gJ0luZGV4JykgYXhlc1t0aGlzLl9zZXJpZXNbMF1dID0gcm93O1xyXG4gICAgdGhpcy5leHBsb3JlLmVtaXQoeyBheGVzLCBpbmRleDogdHlwZSA9PT0gJ0luZGV4JyA/IHJvdyA6IG51bGwgfSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBjdXN0b21BZ2dyZWdhdGUoXywgY29sdW1uOiBBZ2dyZWdhdGVDb2x1bW5Nb2RlbCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YVNvdXJjZS5zdW0ociA9PlxyXG4gICAgICAocltjb2x1bW4uZmllbGRdIHx8IDApICogKHIudHlwZSA9PT0gJ0luZGV4JyA/IDEgOiAtMSkpO1xyXG4gIH1cclxuICByZXNpemUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5ncmlkKSB7XHJcbiAgICAgIHRoaXMuZ3JpZC53aWR0aCA9IHRoaXMud2lkdGg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGV4cG9ydFRvRXhjZWwodGl0bGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5ncmlkLmV4Y2VsRXhwb3J0KHtcclxuICAgICAgZmlsZU5hbWU6IGAke3RpdGxlfS54bHN4YFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5ncmlkICYmIHRoaXMuZ3JpZC5kZXN0cm95KCk7XHJcbiAgfVxyXG59XHJcblxyXG5pbnRlcmZhY2UgTW9kZWwge1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgdHlwZTogJ0luZGV4JyB8IG51bGw7XHJcbiAga2V5OiBhbnk7XHJcbn1cclxuIl19
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import { EventEmitter, Component, Output, HostBinding, Input } from "@angular/core";
|
2
|
-
import { Spreadsheet } from "@syncfusion/ej2-angular-spreadsheet";
|
3
|
-
import {
|
4
|
-
import * as XLSX from 'xlsx';
|
2
|
+
import { Spreadsheet, isNumber } from "@syncfusion/ej2-angular-spreadsheet";
|
3
|
+
import { Workbook } from '@syncfusion/ej2-excel-export';
|
5
4
|
import { isArray, isString } from "../../core/functions";
|
6
5
|
import * as i0 from "@angular/core";
|
7
6
|
import * as i1 from "../../core/session.service";
|
@@ -10,6 +9,7 @@ import * as i3 from "../cube.service";
|
|
10
9
|
import * as i4 from "../../core/translate.service";
|
11
10
|
import * as i5 from "../../core/datasource.service";
|
12
11
|
export class CubeSpreadsheetComponent {
|
12
|
+
//private readonly _intl: Internationalization = new Internationalization();
|
13
13
|
constructor(_session, _sb, _service, _translate, _ds, _elementRef) {
|
14
14
|
this._session = _session;
|
15
15
|
this._sb = _sb;
|
@@ -25,7 +25,6 @@ export class CubeSpreadsheetComponent {
|
|
25
25
|
this.autoFillSettings = { showFillOptions: false };
|
26
26
|
this._yrows = [];
|
27
27
|
this._xcolumns = [];
|
28
|
-
this._intl = new Internationalization();
|
29
28
|
}
|
30
29
|
set xAxis(val) {
|
31
30
|
this._xAxis = isArray(val) ? val : [val];
|
@@ -39,14 +38,15 @@ export class CubeSpreadsheetComponent {
|
|
39
38
|
this._indices = isArray(val) ? val : [val];
|
40
39
|
}
|
41
40
|
ngOnInit() {
|
42
|
-
this._numberFormat = this._intl.getNumberPattern({
|
43
|
-
currency: this.currencyCode,
|
44
|
-
format: this.currencyCode ? 'c' : 'n',
|
45
|
-
useGrouping: true,
|
46
|
-
maximumFractionDigits: this._service.fractionDigits,
|
47
|
-
minimumFractionDigits: this._service.fractionDigits
|
48
|
-
});
|
49
41
|
this._cube = this.cube ? this._session.profile.cubes.find(c => c.name === this.cube) : this._session.profile.cubes[0];
|
42
|
+
this._numberFormat = `${this._cube.currencyCode ? 'c' : 'n'}${this._service.fractionDigits}`;
|
43
|
+
//this._intl.getNumberPattern({
|
44
|
+
// currency: this._cube.currencyCode,
|
45
|
+
// format: this._cube.currencyCode ? 'c' : 'n',
|
46
|
+
// useGrouping: true,
|
47
|
+
// maximumFractionDigits: this._service.fractionDigits,
|
48
|
+
// minimumFractionDigits: this._service.fractionDigits
|
49
|
+
//} as NumberFormatOptions);
|
50
50
|
if (!this._series) {
|
51
51
|
this._axes = this._xAxis.map(c => this._cube.axes.find(a => a.name == c));
|
52
52
|
if (this._indices)
|
@@ -145,12 +145,12 @@ export class CubeSpreadsheetComponent {
|
|
145
145
|
this._indices && this._indices.forEach(i => cells.push({
|
146
146
|
style: this.numberStyle,
|
147
147
|
format: this._numberFormat,
|
148
|
-
value: (d[i] || 0)
|
148
|
+
value: (d[i] || 0),
|
149
149
|
}));
|
150
150
|
cells.push({
|
151
151
|
style: this.numberStyle,
|
152
152
|
format: this._numberFormat,
|
153
|
-
value: (d.value || 0)
|
153
|
+
value: (d.value || 0),
|
154
154
|
});
|
155
155
|
this.dataSource.push({ cells, source: d, height: 25 });
|
156
156
|
});
|
@@ -166,7 +166,7 @@ export class CubeSpreadsheetComponent {
|
|
166
166
|
if (serie) {
|
167
167
|
serie.points.forEach(p => map[p.x] = p.y);
|
168
168
|
this._xcolumns.forEach(c => cells.push({
|
169
|
-
value: (map[c.key] || 0)
|
169
|
+
value: (map[c.key] || 0),
|
170
170
|
format: this._numberFormat,
|
171
171
|
style: this.numberStyle
|
172
172
|
}));
|
@@ -178,13 +178,13 @@ export class CubeSpreadsheetComponent {
|
|
178
178
|
if (serie) {
|
179
179
|
serie.points.forEach(p => map[p.x] = p.y);
|
180
180
|
this._xcolumns.forEach(c => cells.push({
|
181
|
-
value: (map[c.key] || 0)
|
181
|
+
value: (map[c.key] || 0),
|
182
182
|
format: this._numberFormat,
|
183
183
|
style: this.numberStyle
|
184
184
|
}));
|
185
185
|
}
|
186
186
|
else
|
187
|
-
this._xcolumns.forEach(_ => cells.push({ value:
|
187
|
+
this._xcolumns.forEach(_ => cells.push({ value: 0 }));
|
188
188
|
this.dataSource.push({ cells, height: 25 });
|
189
189
|
});
|
190
190
|
}
|
@@ -299,22 +299,40 @@ export class CubeSpreadsheetComponent {
|
|
299
299
|
}
|
300
300
|
}
|
301
301
|
exportToExcel(title) {
|
302
|
-
const
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
302
|
+
const { rows } = this.spreadsheet.sheets[0], numberFormat = this._service.numberFormat, book = new Workbook({
|
303
|
+
worksheets: [
|
304
|
+
{
|
305
|
+
enableRtl: this._session.inverse,
|
306
|
+
name: this._translate.get('SheetN', 1),
|
307
|
+
columns: rows[0].cells.map((_, i) => ({ index: i + 1, width: 150 })),
|
308
|
+
rows: rows.map((r, i) => ({
|
309
|
+
index: i + 1,
|
310
|
+
cells: r.cells.map((c, j) => {
|
311
|
+
const header = i === 0 || (this.series && j === 0), isnumber = this.series ? !header : isNumber(c.value);
|
312
|
+
return {
|
313
|
+
type: isnumber ? 'number' : 'text',
|
314
|
+
index: j + 1, value: c.value,
|
315
|
+
style: {
|
316
|
+
numberFormat,
|
317
|
+
hAlign: isnumber ? 'right' : 'center',
|
318
|
+
bold: header
|
319
|
+
}
|
320
|
+
};
|
321
|
+
})
|
322
|
+
})),
|
323
|
+
},
|
324
|
+
],
|
325
|
+
}, 'xlsx');
|
326
|
+
book.save(`${title}.xlsx`);
|
309
327
|
}
|
310
328
|
ngOnDestroy() {
|
311
329
|
this.spreadsheet && this.spreadsheet.destroy();
|
312
330
|
}
|
313
331
|
}
|
314
332
|
CubeSpreadsheetComponent.nextId = 0;
|
315
|
-
CubeSpreadsheetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.
|
316
|
-
CubeSpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.
|
317
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.
|
333
|
+
CubeSpreadsheetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CubeSpreadsheetComponent, deps: [{ token: i1.SessionService }, { token: i2.PromptService }, { token: i3.CubeService }, { token: i4.TranslateService }, { token: i5.DatasourceService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
334
|
+
CubeSpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: CubeSpreadsheetComponent, selector: "bizdoc-cube-spreadsheet", inputs: { width: "width", height: "height", cube: "cube", xAxis: "xAxis", yAxis: "yAxis", series: "series", indices: "indices", filters: "filters", loading: "loading" }, outputs: { explore: "explore", loadingChange: "loadingChange" }, host: { properties: { "id": "this.id" }, classAttribute: "cube-view" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
|
335
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CubeSpreadsheetComponent, decorators: [{
|
318
336
|
type: Component,
|
319
337
|
args: [{
|
320
338
|
selector: 'bizdoc-cube-spreadsheet',
|
@@ -339,8 +357,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImpor
|
|
339
357
|
type: Input
|
340
358
|
}], filters: [{
|
341
359
|
type: Input
|
342
|
-
}], currencyCode: [{
|
343
|
-
type: Input
|
344
360
|
}], explore: [{
|
345
361
|
type: Output
|
346
362
|
}], loading: [{
|
@@ -350,4 +366,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImpor
|
|
350
366
|
}], id: [{
|
351
367
|
type: HostBinding
|
352
368
|
}] } });
|
353
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ByZWFkc2hlZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL2dyaWQvc3ByZWFkc2hlZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxXQUFXLEVBQXlCLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFFN0ksT0FBTyxFQUFvQyxXQUFXLEVBQTBELE1BQU0scUNBQXFDLENBQUM7QUFDNUosT0FBTyxFQUFFLG9CQUFvQixFQUF1QixNQUFNLHNCQUFzQixDQUFDO0FBQ2pGLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBUTdCLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFTekQsTUFBTSxPQUFPLHdCQUF3QjtJQThDbkMsWUFDVSxRQUF3QixFQUN4QixHQUFrQixFQUNsQixRQUFxQixFQUNyQixVQUE0QixFQUM1QixHQUFzQixFQUN0QixXQUF1QjtRQUx2QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixRQUFHLEdBQUgsR0FBRyxDQUFlO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFDNUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUF6QmQsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBRTdDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNoRCxPQUFFLEdBQUcsb0JBQW9CLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFFNUUsZUFBVSxHQUFlLEVBQUUsQ0FBQztRQUVuQixnQkFBVyxHQUFHLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFB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SSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXpCLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEdBQUcsS0FBSyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqRCxDQUFDOztBQTdVYywrQkFBTSxHQUFHLENBQUUsQ0FBQTtxSEFEZix3QkFBd0I7eUdBQXhCLHdCQUF3QixxYUFMekIsRUFBRTsyRkFLRCx3QkFBd0I7a0JBUHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxXQUFXO3FCQUNuQjtpQkFDRjttUEFJQyxLQUFLO3NCQURKLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLO2dCQUdOLElBQUk7c0JBREgsS0FBSztnQkFJRixLQUFLO3NCQURSLEtBQUs7Z0JBS04sS0FBSztzQkFESixLQUFLO2dCQUdGLE1BQU07c0JBRFQsS0FBSztnQkFLRixPQUFPO3NCQURWLEtBQUs7Z0JBS04sT0FBTztzQkFETixLQUFLO2dCQUdOLFlBQVk7c0JBRFgsS0FBSztnQkFFYSxPQUFPO3NCQUF6QixNQUFNO2dCQUNFLE9BQU87c0JBQWYsS0FBSztnQkFDYSxhQUFhO3NCQUEvQixNQUFNO2dCQUNRLEVBQUU7c0JBQWhCLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIENvbXBvbmVudCwgT3V0cHV0LCBPbkluaXQsIEhvc3RCaW5kaW5nLCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIElucHV0LCBTaW1wbGVDaGFuZ2VzLCBPbkNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBIdHRwUmVzcG9uc2UgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgQ2VsbE1vZGVsLCBDb2x1bW5Nb2RlbCwgUm93TW9kZWwsIFNwcmVhZHNoZWV0LCBDZWxsU3R5bGVNb2RlbCwgU2VsZWN0RXZlbnRBcmdzLCBBdXRvRmlsbFNldHRpbmdzTW9kZWwgfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItc3ByZWFkc2hlZXRcIjtcclxuaW1wb3J0IHsgSW50ZXJuYXRpb25hbGl6YXRpb24sIE51bWJlckZvcm1hdE9wdGlvbnMgfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWJhc2VcIjtcclxuaW1wb3J0ICogYXMgWExTWCBmcm9tICd4bHN4JztcclxuaW1wb3J0IHsgQXhpc0NsaWNrRXZlbnQsIEN1YmVWaWV3ZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVjbGFyYXRpb25zXCI7XHJcbmltcG9ydCB7IEF4ZXNNYXAsIEN1YmUsIEN1YmVBeGlzLCBDdWJlSW5kZXgsIFlBeGlzIH0gZnJvbSBcIi4uLy4uL2NvcmUvbW9kZWxzXCI7XHJcbmltcG9ydCB7IEN1YmVTZXJ2aWNlLCBTZXJpZXMgfSBmcm9tIFwiLi4vY3ViZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgaXNBcnJheSwgaXNTdHJpbmcgfSBmcm9tIFwiLi4vLi4vY29yZS9mdW5jdGlvbnNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWN1YmUtc3ByZWFkc2hlZXQnLFxyXG4gIHRlbXBsYXRlOiAnJyxcclxuICBob3N0OiB7XHJcbiAgICBjbGFzczogJ2N1YmUtdmlldydcclxuICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWJlU3ByZWFkc2hlZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEN1YmVWaWV3ZXJDb21wb25lbnQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHN0YXRpYyBuZXh0SWQgPSAwO1xyXG4gIEBJbnB1dCgpXHJcbiAgd2lkdGg6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIGhlaWdodDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgY3ViZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2N1YmU6IEN1YmU7XHJcbiAgQElucHV0KClcclxuICBzZXQgeEF4aXModmFsOiBzdHJpbmdbXSB8IHN0cmluZykge1xyXG4gICAgdGhpcy5feEF4aXMgPSBpc0FycmF5KHZhbCkgPyB2YWwgOiBbdmFsXTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICB5QXhpcz86IFlBeGlzO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNlcmllcyh2YWw6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsKSB0aGlzLl9zZXJpZXMgPSBpc0FycmF5KHZhbCkgPyB2YWwgOiBbdmFsXTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBzZXQgaW5kaWNlcyh2YWw6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsKSB0aGlzLl9pbmRpY2VzID0gaXNBcnJheSh2YWwpID8gdmFsIDogW3ZhbF07XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgZmlsdGVycz86IEF4ZXNNYXA7XHJcbiAgQElucHV0KClcclxuICBjdXJyZW5jeUNvZGU6IHN0cmluZztcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgZXhwbG9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXhpc0NsaWNrRXZlbnQ+KCk7XHJcbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbjtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgbG9hZGluZ0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBASG9zdEJpbmRpbmcoKSBpZCA9IGBjdWJlLXNwcmVhZHNoZWV0LSR7Q3ViZVNwcmVhZHNoZWV0Q29tcG9uZW50Lm5leHRJZCsrfWA7XHJcbiAgc3ByZWFkc2hlZXQ6IFNwcmVhZHNoZWV0O1xyXG4gIGRhdGFTb3VyY2U6IFJvd01vZGVsW10gPSBbXTtcclxuICBjb2x1bW5zOiBDb2x1bW5Nb2RlbFtdO1xyXG4gIHJlYWRvbmx5IG51bWJlclN0eWxlID0geyB0ZXh0QWxpZ246ICdyaWdodCcgfSBhcyBDZWxsU3R5bGVNb2RlbDtcclxuICByZWFkb25seSBhdXRvRmlsbFNldHRpbmdzID0geyBzaG93RmlsbE9wdGlvbnM6IGZhbHNlIH0gYXMgQXV0b0ZpbGxTZXR0aW5nc01vZGVsO1xyXG4gIHByaXZhdGUgX3hBeGlzOiBzdHJpbmdbXTtcclxuICBwcml2YXRlIF9zZXJpZXM/OiBzdHJpbmdbXTtcclxuICBwcml2YXRlIF9pbmRpY2VzPzogc3RyaW5nW107XHJcbiAgcHJpdmF0ZSBfYXhlczogQ3ViZUF4aXNbXTtcclxuICBwcml2YXRlIF9jaW5kaWNlczogQ3ViZUluZGV4W107XHJcbiAgcHJpdmF0ZSBfeXJvd3M6IHsga2V5OiBhbnk7IHZhbHVlOiBhbnkgfVtdID0gW107XHJcbiAgcHJpdmF0ZSBfeGNvbHVtbnM6IHsga2V5OiBhbnk7IHZhbHVlOiBhbnkgfVtdID0gW107XHJcbiAgcHJpdmF0ZSBfcHJlcGFyZTogUHJvbWlzZTxhbnlbXT47XHJcbiAgcHJpdmF0ZSBfbnVtYmVyRm9ybWF0OiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfaW50bDogSW50ZXJuYXRpb25hbGl6YXRpb24gPSBuZXcgSW50ZXJuYXRpb25hbGl6YXRpb24oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBDdWJlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RzOiBEYXRhc291cmNlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHsgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fbnVtYmVyRm9ybWF0ID0gdGhpcy5faW50bC5nZXROdW1iZXJQYXR0ZXJuKHtcclxuICAgICAgY3VycmVuY3k6IHRoaXMuY3VycmVuY3lDb2RlLFxyXG4gICAgICBmb3JtYXQ6IHRoaXMuY3VycmVuY3lDb2RlID8gJ2MnIDogJ24nLFxyXG4gICAgICB1c2VHcm91cGluZzogdHJ1ZSxcclxuICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiB0aGlzLl9zZXJ2aWNlLmZyYWN0aW9uRGlnaXRzLFxyXG4gICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IHRoaXMuX3NlcnZpY2UuZnJhY3Rpb25EaWdpdHNcclxuICAgIH0gYXMgTnVtYmVyRm9ybWF0T3B0aW9ucyk7XHJcbiAgICB0aGlzLl9jdWJlID0gdGhpcy5jdWJlID8gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IHRoaXMuY3ViZSkgOiB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXNbMF07XHJcbiAgICBpZiAoIXRoaXMuX3Nlcmllcykge1xyXG4gICAgICB0aGlzLl9heGVzID0gdGhpcy5feEF4aXMubWFwKGMgPT4gdGhpcy5fY3ViZS5heGVzLmZpbmQoYSA9PiBhLm5hbWUgPT0gYykpO1xyXG4gICAgICBpZiAodGhpcy5faW5kaWNlcykgdGhpcy5fY2luZGljZXMgPSB0aGlzLl9jdWJlLmluZGljZXMuZmlsdGVyKGkgPT4gdGhpcy5faW5kaWNlcy5pbmRleE9mKGkubmFtZSkgPiAtMSk7XHJcbiAgICAgIHRoaXMuY29sdW1ucyA9IHRoaXMuX2F4ZXMubWFwKF8gPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICB3aWR0aDogMTIwXHJcbiAgICAgICAgfSBhcyBDb2x1bW5Nb2RlbDtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuY29sdW1ucy5wdXNoKHtcclxuICAgICAgICB3aWR0aDogOTBcclxuICAgICAgfSAvKiB2YWx1ZSAqLyk7XHJcbiAgICAgIHRoaXMuX2luZGljZXMgJiYgdGhpcy5faW5kaWNlcy5mb3JFYWNoKF8gPT4gdGhpcy5jb2x1bW5zLnB1c2goe1xyXG4gICAgICAgIHdpZHRoOiA5MFxyXG4gICAgICB9IGFzIENvbHVtbk1vZGVsXHJcbiAgICAgICkpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbnN0IHlOYW1lID0gdGhpcy5fc2VyaWVzWzBdLCB4TmFtZSA9IHRoaXMuX3hBeGlzWzBdLFxyXG4gICAgICAgIHhBeGlzID0gdGhpcy5fY3ViZS5heGVzLmZpbmQoYSA9PiBhLm5hbWUgPT09IHhOYW1lKSxcclxuICAgICAgICB5QXhpcyA9IHRoaXMuX2N1YmUuYXhlcy5maW5kKGEgPT4gYS5uYW1lID09PSB5TmFtZSk7XHJcbiAgICAgIGNvbnN0IHByb21pc2VzOiBQcm9taXNlPGFueT5bXSA9IFtdO1xyXG4gICAgICB0aGlzLmNvbHVtbnMgPSBbe1xyXG4gICAgICAgIHdpZHRoOiAxMjBcclxuICAgICAgfV07XHJcbiAgICAgIC8vIGFjcXVpcmUgY29sdW1ucyBzb3VyY2VcclxuICAgICAgbGV0IG9ic2VydmUgPSB0aGlzLl9kcy5hbGwoeEF4aXMuZGF0YVR5cGUpLnRvUHJvbWlzZSgpLlxyXG4gICAgICAgIHRoZW4oYyA9PiB7XHJcbiAgICAgICAgICB0aGlzLl94Y29sdW1ucyA9IGM7XHJcbiAgICAgICAgICBjLmZvckVhY2goXyA9PiB0aGlzLmNvbHVtbnMucHVzaCh7XHJcbiAgICAgICAgICAgIHdpZHRoOiA5MFxyXG4gICAgICAgICAgfSBhcyBDb2x1bW5Nb2RlbFxyXG4gICAgICAgICAgKSk7XHJcbiAgICAgICAgfSkgYXMgUHJvbWlzZTxhbnk+O1xyXG4gICAgICBwcm9taXNlcy5wdXNoKG9ic2VydmUpO1xyXG4gICAgICAvLyBhY3F1aXJlIHJvd3Mgc291cmNlXHJcbiAgICAgIG9ic2VydmUgPSB0aGlzLl9kcy5hbGwoeUF4aXMuZGF0YVR5cGUpLnRvUHJvbWlzZSgpLlxyXG4gICAgICAgIHRoZW4ociA9PiB0aGlzLl95cm93cyA9IHIpO1xyXG4gICAgICBwcm9taXNlcy5wdXNoKG9ic2VydmUpO1xyXG5cclxuICAgICAgdGhpcy5fcHJlcGFyZSA9IFByb21pc2UuYWxsKHByb21pc2VzKTtcclxuICAgIH1cclxuICAgIHRoaXMuZXhlY3V0ZSgpO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snZmlsdGVycyddICYmICFjaGFuZ2VzWydmaWx0ZXJzJ10uZmlyc3RDaGFuZ2UpXHJcbiAgICAgIHRoaXMuZXhlY3V0ZSgpO1xyXG4gICAgZWxzZVxyXG4gICAgICBpZiAoY2hhbmdlc1snaGVpZ2h0J10gfHwgY2hhbmdlc1snd2lkdGgnXSlcclxuICAgICAgICB0aGlzLnJlc2l6ZSgpO1xyXG4gIH1cclxuICByZXNpemUoKSB7XHJcbiAgICBpZiAodGhpcy5zcHJlYWRzaGVldCkge1xyXG4gICAgICB0aGlzLnNwcmVhZHNoZWV0LmhlaWdodCA9IHRoaXMuaGVpZ2h0O1xyXG4gICAgICB0aGlzLnNwcmVhZHNoZWV0LndpZHRoID0gdGhpcy53aWR0aDtcclxuICAgICAgdGhpcy5zcHJlYWRzaGVldC5yZWZyZXNoKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBleGVjdXRlKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQodHJ1ZSk7XHJcbiAgICBpZiAoIXRoaXMuX3NlcmllcylcclxuICAgICAgdGhpcy5fc2VydmljZS50YWJsZSh0aGlzLl9jdWJlLm5hbWUsIHRoaXMuX3hBeGlzLCB7IGZpbHRlcnM6IHRoaXMuZmlsdGVycywgaW5kaWNlczogdGhpcy5faW5kaWNlcyB9KS5cclxuICAgICAgICBzdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9kYXRhdGFibGUoZGF0YSk7XHJcbiAgICAgICAgICB0aGlzLl9kcmF3KCk7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgfSwgKGU6IEh0dHBSZXNwb25zZTxhbnk+KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcihlLnN0YXR1cyA9PT0gNDAxID8gJ1VuYXV0aG9yaXplZCcgOiBudWxsKTtcclxuICAgICAgICAgIHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICB9KTtcclxuICAgIGVsc2UgdGhpcy5fc2VydmljZS5zZXJpZXModGhpcy5jdWJlLCB0aGlzLl94QXhpcywgeyBzZXJpZXM6IHRoaXMuX3NlcmllcywgZmlsdGVyczogdGhpcy5maWx0ZXJzIH0pLlxyXG4gICAgICBzdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgICAgdGhpcy5fcHJlcGFyZS50aGVuKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuX2RhdGFzZXJpZXMoZGF0YSk7XHJcbiAgICAgICAgICB0aGlzLl9kcmF3KCk7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sIChlOiBIdHRwUmVzcG9uc2U8YW55PikgPT4ge1xyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yKGUuc3RhdHVzID09PSA0MDEgPyAnVW5hdXRob3JpemVkJyA6IG51bGwpO1xyXG4gICAgICAgIHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2RhdGF0YWJsZShkYXRhOiB7IHZhbHVlOiBudW1iZXI7IH1bXSkge1xyXG4gICAgY29uc3QgY2VsbHMgPSBbXSwgc3R5bGUgPSB7IGZvbnRXZWlnaHQ6ICdib2xkJywgdGV4dEFsaWduOiAnY2VudGVyJyB9IGFzIENlbGxTdHlsZU1vZGVsO1xyXG4gICAgdGhpcy5fYXhlcy5mb3JFYWNoKGMgPT4gY2VsbHMucHVzaCh7XHJcbiAgICAgIHZhbHVlOiBjLnRpdGxlLCBzdHlsZVxyXG4gICAgfSBhcyBDZWxsTW9kZWwpKTtcclxuICAgIHRoaXMuX2luZGljZXMgJiYgdGhpcy5fY2luZGljZXMuZm9yRWFjaChpID0+IGNlbGxzLnB1c2goeyB2YWx1ZTogaS50aXRsZSwgc3R5bGUgfSBhcyBDZWxsTW9kZWwpKTtcclxuICAgIGNlbGxzLnB1c2goe1xyXG4gICAgICB2YWx1ZTogdGhpcy55QXhpcyA/IHRoaXMueUF4aXMudGl0bGUgOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdWYWx1ZScpLFxyXG4gICAgICBzdHlsZVxyXG4gICAgfSBhcyBDZWxsTW9kZWwpO1xyXG4gICAgdGhpcy5kYXRhU291cmNlID0gW3tcclxuICAgICAgY2VsbHMsIGhlaWdodDogMjVcclxuICAgIH0gYXMgUm93TW9kZWxdO1xyXG4gICAgZGF0YS5mb3JFYWNoKGQgPT4ge1xyXG4gICAgICBjb25zdCBjZWxscyA9IFtdO1xyXG4gICAgICB0aGlzLl94QXhpcy5mb3JFYWNoKGMgPT4gY2VsbHMucHVzaCh7XHJcbiAgICAgICAgdmFsdWU6IGRbY10sXHJcbiAgICAgIH0gYXMgQ2VsbE1vZGVsKSk7XHJcbiAgICAgIHRoaXMuX2luZGljZXMgJiYgdGhpcy5faW5kaWNlcy5mb3JFYWNoKGkgPT4gY2VsbHMucHVzaCh7XHJcbiAgICAgICAgc3R5bGU6IHRoaXMubnVtYmVyU3R5bGUsXHJcbiAgICAgICAgZm9ybWF0OiB0aGlzLl9udW1iZXJGb3JtYXQsXHJcbiAgICAgICAgdmFsdWU6IChkW2ldIHx8IDApLnRvU3RyaW5nKCksXHJcbiAgICAgIH0gYXMgQ2VsbE1vZGVsKSk7XHJcbiAgICAgIGNlbGxzLnB1c2goe1xyXG4gICAgICAgIHN0eWxlOiB0aGlzLm51bWJlclN0eWxlLFxyXG4gICAgICAgIGZvcm1hdDogdGhpcy5fbnVtYmVyRm9ybWF0LFxyXG4gICAgICAgIHZhbHVlOiAoZC52YWx1ZSB8fCAwKS50b1N0cmluZygpLFxyXG4gICAgICB9IGFzIENlbGxNb2RlbCk7XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5wdXNoKHsgY2VsbHMsIHNvdXJjZTogZCwgaGVpZ2h0OiAyNSB9IGFzIFJvd01vZGVsKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZGF0YXNlcmllcyhkOiBTZXJpZXNbXSkge1xyXG4gICAgY29uc3Qgc3R5bGUgPSB7IGZvbnRXZWlnaHQ6ICdib2xkJywgdGV4dEFsaWduOiAnY2VudGVyJyB9IGFzIENlbGxTdHlsZU1vZGVsO1xyXG4gICAgY29uc3QgY2VsbHMgPSBbeyB2YWx1ZTogJycgfSBhcyBDZWxsTW9kZWxdO1xyXG4gICAgdGhpcy5feGNvbHVtbnMuZm9yRWFjaChjID0+IGNlbGxzLnB1c2goeyB2YWx1ZTogYy52YWx1ZSwgc3R5bGUgfSkpO1xyXG4gICAgdGhpcy5kYXRhU291cmNlID0gW3sgY2VsbHMsIGhlaWdodDogMjUgfV07XHJcblxyXG4gICAgdGhpcy5faW5kaWNlcyAmJiB0aGlzLl9jaW5kaWNlcy5cclxuICAgICAgZm9yRWFjaChpID0+IHtcclxuICAgICAgICBjb25zdCBjZWxscyA9IFt7IHZhbHVlOiBpLnRpdGxlLCBzdHlsZSB9IGFzIENlbGxNb2RlbF0sIHNlcmllID0gZC5maW5kKHMgPT4gcy5pbmRleCA9PT0gaS5uYW1lKSwgbWFwID0ge307XHJcbiAgICAgICAgaWYgKHNlcmllKSB7XHJcbiAgICAgICAgICBzZXJpZS5wb2ludHMuZm9yRWFjaChwID0+IG1hcFtwLnhdID0gcC55KTtcclxuICAgICAgICAgIHRoaXMuX3hjb2x1bW5zLmZvckVhY2goYyA9PiBjZWxscy5wdXNoKHtcclxuICAgICAgICAgICAgdmFsdWU6IChtYXBbYy5rZXldIHx8IDApLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGZvcm1hdDogdGhpcy5fbnVtYmVyRm9ybWF0LFxyXG4gICAgICAgICAgICBzdHlsZTogdGhpcy5udW1iZXJTdHlsZVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UucHVzaCh7IGNlbGxzLCBoZWlnaHQ6IDI1IH0gYXMgUm93TW9kZWwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB0aGlzLl95cm93cy5mb3JFYWNoKHIgPT4ge1xyXG4gICAgICBjb25zdCBjZWxscyA9IFt7IHZhbHVlOiByLnZhbHVlLCBzdHlsZSB9IGFzIENlbGxNb2RlbF0sIHNlcmllID0gZC5maW5kKHMgPT4gcy5uYW1lID09PSByLmtleSksIG1hcCA9IHt9O1xyXG4gICAgICBpZiAoc2VyaWUpIHtcclxuICAgICAgICBzZXJpZS5wb2ludHMuZm9yRWFjaChwID0+IG1hcFtwLnhdID0gcC55KTtcclxuICAgICAgICB0aGlzLl94Y29sdW1ucy5mb3JFYWNoKGMgPT4gY2VsbHMucHVzaCh7XHJcbiAgICAgICAgICB2YWx1ZTogKG1hcFtjLmtleV0gfHwgMCkudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGZvcm1hdDogdGhpcy5fbnVtYmVyRm9ybWF0LFxyXG4gICAgICAgICAgc3R5bGU6IHRoaXMubnVtYmVyU3R5bGVcclxuICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMuX3hjb2x1bW5zLmZvckVhY2goXyA9PiBjZWxscy5wdXNoKHsgdmFsdWU6ICcwJyB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5wdXNoKHsgY2VsbHMsIGhlaWdodDogMjUgfSBhcyBSb3dNb2RlbCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RyYXcoKSB7XHJcbiAgICB0aGlzLnNwcmVhZHNoZWV0ICYmIHRoaXMuc3ByZWFkc2hlZXQuZGVzdHJveSgpO1xyXG4gICAgdGhpcy5zcHJlYWRzaGVldCA9IG5ldyBTcHJlYWRzaGVldCh7XHJcbiAgICAgIGlzUHJvdGVjdGVkOiB0cnVlLFxyXG4gICAgICBhbGxvd0VkaXRpbmc6IGZhbHNlLFxyXG4gICAgICBhbGxvd0RlbGV0ZTogZmFsc2UsXHJcbiAgICAgIGFsbG93SW5zZXJ0OiBmYWxzZSxcclxuICAgICAgc2hvd1JpYmJvbjogZmFsc2UsXHJcbiAgICAgIGFsbG93QXV0b0ZpbGw6IGZhbHNlLFxyXG4gICAgICBhdXRvRmlsbFNldHRpbmdzOiB0aGlzLmF1dG9GaWxsU2V0dGluZ3MsXHJcbiAgICAgIGVuYWJsZUNsaXBib2FyZDogZmFsc2UsXHJcbiAgICAgIGVuYWJsZUNvbnRleHRNZW51OiBmYWxzZSxcclxuICAgICAgc2hvd0Zvcm11bGFCYXI6IGZhbHNlLFxyXG4gICAgICBzaG93U2hlZXRUYWJzOiBmYWxzZSxcclxuICAgICAgc2VsZWN0OiB0aGlzLnNlbGVjdC5iaW5kKHRoaXMpLFxyXG4gICAgICBzaGVldHM6IFt7XHJcbiAgICAgICAgY29sdW1uczogdGhpcy5jb2x1bW5zLFxyXG4gICAgICAgIC8vZnJvemVuQ29sdW1uczogdGhpcy5zZXJpZXMgIT09IHVuZGVmaW5lZCA/IDEgOiAwLFxyXG4gICAgICAgIC8vZnJvemVuUm93czogMSxcclxuICAgICAgICByb3dzOiB0aGlzLmRhdGFTb3VyY2UsXHJcbiAgICAgIH1dLFxyXG4gICAgICB3aWR0aDogdGhpcy53aWR0aCxcclxuICAgICAgaGVpZ2h0OiB0aGlzLmhlaWdodCxcclxuICAgIH0sIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG4gIHNlbGVjdChldnQ6IFNlbGVjdEV2ZW50QXJncykge1xyXG4gICAgY29uc3QgYWRkcmVzcyA9IHRoaXMuc3ByZWFkc2hlZXQuZ2V0QWRkcmVzc0luZm8oZXZ0LnJhbmdlKTtcclxuICAgIGxldCBbeSwgeCwgeTEsIHgxXSA9IGFkZHJlc3MuaW5kaWNlcztcclxuICAgIGlmICh5MSA8IHkpIHtcclxuICAgICAgY29uc3QgcmFuZ2UgPSB5O1xyXG4gICAgICB5ID0geTEsIHkxID0gcmFuZ2U7XHJcbiAgICB9XHJcbiAgICBpZiAoeDEgPCB4KSB7XHJcbiAgICAgIGNvbnN0IHJhbmdlID0geDtcclxuICAgICAgeCA9IHgxLCB4MSA9IHJhbmdlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgYXhlczoge30gPSB7fTtcclxuICAgIGlmICghdGhpcy5fc2VyaWVzKSB7XHJcbiAgICAgIGlmICh5ID09PSAwKSByZXR1cm47XHJcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5faW5kaWNlcyAmJiB5IDwgdGhpcy5faW5kaWNlcy5sZW5ndGggPyB0aGlzLl9jaW5kaWNlc1t5XS5uYW1lIDogbnVsbDtcclxuICAgICAgbGV0IGkgPSB5O1xyXG4gICAgICBkbyB7XHJcbiAgICAgICAgdGhpcy5fYXhlcy5mb3JFYWNoKGEgPT4ge1xyXG4gICAgICAgICAgY29uc3Qga2V5ID0gKHRoaXMuZGF0YVNvdXJjZVtpXSBhcyBhbnkpLnNvdXJjZVsnXycgKyBhLm5hbWVdO1xyXG4gICAgICAgICAgaWYgKCFheGVzW2EubmFtZV0pXHJcbiAgICAgICAgICAgIGF4ZXNbYS5uYW1lXSA9IGtleTtcclxuICAgICAgICAgIGVsc2UgaWYgKGlzU3RyaW5nKGF4ZXNbYS5uYW1lXSkpIHtcclxuICAgICAgICAgICAgaWYgKGF4ZXNbYS5uYW1lXSAhPT0ga2V5KSBheGVzW2EubmFtZV0gPSBbYXhlc1thLm5hbWVdLCBrZXldO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSBpZiAoKGF4ZXNbYS5uYW1lXSBhcyBzdHJpbmdbXSkuaW5kZXhPZihrZXkpIDwgMCkgKGF4ZXNbYS5uYW1lXSBhcyBzdHJpbmdbXSkucHVzaChrZXkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGkrKztcclxuICAgICAgfVxyXG4gICAgICB3aGlsZSAoaSA8PSB5MSk7XHJcbiAgICAgIHRoaXMuZXhwbG9yZS5lbWl0KHsgYXhlcywgaW5kZXggfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKHkgPT09IDApIHtcclxuICAgICAgICBpZiAoeSA8IHkxKVxyXG4gICAgICAgICAgdGhpcy5fZmlsbHgoeCwgeDEsIGF4ZXMpO1xyXG4gICAgICAgIGVsc2UgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHggPT09IDApIHtcclxuICAgICAgICBpZiAoeCA8IHgxKVxyXG4gICAgICAgICAgdGhpcy5fZmlsbHkoeSwgeTEsIGF4ZXMpO1xyXG4gICAgICAgIGVsc2UgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHkgPT09IHkxICYmIHggPT09IHgxICYmIHRoaXMuZGF0YVNvdXJjZVt5XS5jZWxsc1t4XS52YWx1ZSA9PT0gJzAnKSByZXR1cm47XHJcbiAgICAgIGVsc2UgaWYgKHkgPiB0aGlzLmRhdGFTb3VyY2UubGVuZ3RoIC0gMSB8fCB4ID4gdGhpcy5kYXRhU291cmNlW3ldLmNlbGxzLmxlbmd0aCAtIDEpIHJldHVybjtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fZmlsbHgoeCwgeDEsIGF4ZXMpO1xyXG4gICAgICAgIHRoaXMuX2ZpbGx5KHksIHkxLCBheGVzKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmV4cGxvcmUuZW1pdCh7IGF4ZXMgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgX2ZpbGx5KHk6IG51bWJlciwgeTE6IG51bWJlciwgYXhlczoge30pIHtcclxuICAgIGNvbnN0IHlOYW1lID0gdGhpcy5fc2VyaWVzWzBdO1xyXG4gICAgbGV0IGkgPSB5IC0gMTtcclxuICAgIHdoaWxlIChpIDwgeTEpIHtcclxuICAgICAgbGV0IHsga2V5IH0gPSB0aGlzLl95cm93c1tpXTtcclxuICAgICAgaWYgKCFheGVzW3lOYW1lXSlcclxuICAgICAgICBheGVzW3lOYW1lXSA9IGtleTtcclxuICAgICAgZWxzZSBpZiAoaXNTdHJpbmcoYXhlc1t5TmFtZV0pKVxyXG4gICAgICAgIGF4ZXNbeU5hbWVdID0gW2F4ZXNbeU5hbWVdLCBrZXldO1xyXG4gICAgICBlbHNlIGlmICgoYXhlc1t5TmFtZV0gYXMgc3RyaW5nW10pLmluZGV4T2Yoa2V5KSA8IDApXHJcbiAgICAgICAgKGF4ZXNbeU5hbWVdIGFzIHN0cmluZ1tdKS5wdXNoKGtleSk7XHJcbiAgICAgIGkrKztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2ZpbGx4KHg6IG51bWJlciwgeDE6IG51bWJlciwgYXhlczoge30pIHtcclxuICAgIGNvbnN0IHhOYW1lID0gdGhpcy5feEF4aXNbMF07XHJcbiAgICBsZXQgaSA9IHggLSAxO1xyXG4gICAgd2hpbGUgKGkgPCB4MSkge1xyXG4gICAgICBsZXQgeyBrZXkgfSA9IHRoaXMuX3hjb2x1bW5zW2ldO1xyXG4gICAgICBpZiAoIWF4ZXNbeE5hbWVdKVxyXG4gICAgICAgIGF4ZXNbeE5hbWVdID0ga2V5O1xyXG4gICAgICBlbHNlIGlmIChpc1N0cmluZyhheGVzW3hOYW1lXSkpXHJcbiAgICAgICAgYXhlc1t4TmFtZV0gPSBbYXhlc1t4TmFtZV0sIGtleV07XHJcbiAgICAgIGVsc2UgaWYgKChheGVzW3hOYW1lXSBhcyBzdHJpbmdbXSkuaW5kZXhPZihrZXkpIDwgMClcclxuICAgICAgICAoYXhlc1t4TmFtZV0gYXMgc3RyaW5nW10pLnB1c2goa2V5KTtcclxuICAgICAgaSsrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0VG9FeGNlbCh0aXRsZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB3YiA9IFhMU1gudXRpbHMuYm9va19uZXcoKTtcclxuXHJcbiAgICBjb25zdCByb3dzID0gdGhpcy5zcHJlYWRzaGVldC5zaGVldHNbMF0ucm93cy5tYXAociA9PiByLmNlbGxzLm1hcChjID0+IGMudmFsdWUpKTtcclxuICAgIGNvbnN0IHdzID0gWExTWC51dGlscy5hb2FfdG9fc2hlZXQocm93cyk7XHJcblxyXG4gICAgY29uc3QgbmFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1NoZWV0TicsIDEpO1xyXG4gICAgd2IuU2hlZXRzW25hbWVdID0gd3M7XHJcbiAgICB3Yi5TaGVldE5hbWVzLnB1c2gobmFtZSk7XHJcblxyXG4gICAgWExTWC53cml0ZUZpbGUod2IsIGAke3RpdGxlfS54bHN4YCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zcHJlYWRzaGVldCAmJiB0aGlzLnNwcmVhZHNoZWV0LmRlc3Ryb3koKTtcclxuICB9XHJcbn1cclxuIl19
|
369
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ByZWFkc2hlZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL2dyaWQvc3ByZWFkc2hlZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxXQUFXLEVBQXlCLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFFN0ksT0FBTyxFQUFvQyxXQUFXLEVBQTBELFFBQVEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RLLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQVd4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7O0FBU3pELE1BQU0sT0FBTyx3QkFBd0I7SUEyQ25DLDRFQUE0RTtJQUM1RSxZQUNVLFFBQXdCLEVBQ3hCLEdBQWtCLEVBQ2xCLFFBQXFCLEVBQ3JCLFVBQTRCLEVBQzVCLEdBQXNCLEVBQ3RCLFdBQXVCO1FBTHZCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFDbEIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQXpCZCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFFN0Msa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2hELE9BQUUsR0FBRyxvQkFBb0Isd0JBQXdCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztRQUU1RSxlQUFVLEdBQWUsRUFBRSxDQUFDO1FBRW5CLGdCQUFXLEdBQUcsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFvQixDQUFDO1FBQ3ZELHFC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QUk7c0JBREgsS0FBSztnQkFJRixLQUFLO3NCQURSLEtBQUs7Z0JBS04sS0FBSztzQkFESixLQUFLO2dCQUdGLE1BQU07c0JBRFQsS0FBSztnQkFLRixPQUFPO3NCQURWLEtBQUs7Z0JBS04sT0FBTztzQkFETixLQUFLO2dCQUVhLE9BQU87c0JBQXpCLE1BQU07Z0JBQ0UsT0FBTztzQkFBZixLQUFLO2dCQUNhLGFBQWE7c0JBQS9CLE1BQU07Z0JBQ1EsRUFBRTtzQkFBaEIsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgQ29tcG9uZW50LCBPdXRwdXQsIE9uSW5pdCwgSG9zdEJpbmRpbmcsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgSW5wdXQsIFNpbXBsZUNoYW5nZXMsIE9uQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEh0dHBSZXNwb25zZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBDZWxsTW9kZWwsIENvbHVtbk1vZGVsLCBSb3dNb2RlbCwgU3ByZWFkc2hlZXQsIENlbGxTdHlsZU1vZGVsLCBTZWxlY3RFdmVudEFyZ3MsIEF1dG9GaWxsU2V0dGluZ3NNb2RlbCwgaXNOdW1iZXIgfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItc3ByZWFkc2hlZXRcIjtcclxuaW1wb3J0IHsgV29ya2Jvb2sgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItZXhjZWwtZXhwb3J0JztcclxuaW1wb3J0IHsgV29ya3NoZWV0IH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWV4Y2VsLWV4cG9ydC9zcmMvd29ya3NoZWV0JztcclxuaW1wb3J0IHsgUm93IH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWV4Y2VsLWV4cG9ydC9zcmMvcm93JztcclxuaW1wb3J0IHsgQ29sdW1uIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWV4Y2VsLWV4cG9ydC9zcmMvY29sdW1uJztcclxuaW1wb3J0IHsgQXhpc0NsaWNrRXZlbnQsIEN1YmVWaWV3ZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVjbGFyYXRpb25zXCI7XHJcbmltcG9ydCB7IEF4ZXNNYXAsIEN1YmUsIEN1YmVBeGlzLCBDdWJlSW5kZXgsIFlBeGlzIH0gZnJvbSBcIi4uLy4uL2NvcmUvbW9kZWxzXCI7XHJcbmltcG9ydCB7IEN1YmVTZXJ2aWNlLCBTZXJpZXMgfSBmcm9tIFwiLi4vY3ViZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgaXNBcnJheSwgaXNTdHJpbmcgfSBmcm9tIFwiLi4vLi4vY29yZS9mdW5jdGlvbnNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWN1YmUtc3ByZWFkc2hlZXQnLFxyXG4gIHRlbXBsYXRlOiAnJyxcclxuICBob3N0OiB7XHJcbiAgICBjbGFzczogJ2N1YmUtdmlldydcclxuICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWJlU3ByZWFkc2hlZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEN1YmVWaWV3ZXJDb21wb25lbnQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHN0YXRpYyBuZXh0SWQgPSAwO1xyXG4gIEBJbnB1dCgpXHJcbiAgd2lkdGg6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIGhlaWdodDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgY3ViZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2N1YmU6IEN1YmU7XHJcbiAgQElucHV0KClcclxuICBzZXQgeEF4aXModmFsOiBzdHJpbmdbXSB8IHN0cmluZykge1xyXG4gICAgdGhpcy5feEF4aXMgPSBpc0FycmF5KHZhbCkgPyB2YWwgOiBbdmFsXTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICB5QXhpcz86IFlBeGlzO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNlcmllcyh2YWw6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsKSB0aGlzLl9zZXJpZXMgPSBpc0FycmF5KHZhbCkgPyB2YWwgOiBbdmFsXTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBzZXQgaW5kaWNlcyh2YWw6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsKSB0aGlzLl9pbmRpY2VzID0gaXNBcnJheSh2YWwpID8gdmFsIDogW3ZhbF07XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgZmlsdGVycz86IEF4ZXNNYXA7XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGV4cGxvcmUgPSBuZXcgRXZlbnRFbWl0dGVyPEF4aXNDbGlja0V2ZW50PigpO1xyXG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGxvYWRpbmdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQEhvc3RCaW5kaW5nKCkgaWQgPSBgY3ViZS1zcHJlYWRzaGVldC0ke0N1YmVTcHJlYWRzaGVldENvbXBvbmVudC5uZXh0SWQrK31gO1xyXG4gIHNwcmVhZHNoZWV0OiBTcHJlYWRzaGVldDtcclxuICBkYXRhU291cmNlOiBSb3dNb2RlbFtdID0gW107XHJcbiAgY29sdW1uczogQ29sdW1uTW9kZWxbXTtcclxuICByZWFkb25seSBudW1iZXJTdHlsZSA9IHsgdGV4dEFsaWduOiAncmlnaHQnIH0gYXMgQ2VsbFN0eWxlTW9kZWw7XHJcbiAgcmVhZG9ubHkgYXV0b0ZpbGxTZXR0aW5ncyA9IHsgc2hvd0ZpbGxPcHRpb25zOiBmYWxzZSB9IGFzIEF1dG9GaWxsU2V0dGluZ3NNb2RlbDtcclxuICBwcml2YXRlIF94QXhpczogc3RyaW5nW107XHJcbiAgcHJpdmF0ZSBfc2VyaWVzPzogc3RyaW5nW107XHJcbiAgcHJpdmF0ZSBfaW5kaWNlcz86IHN0cmluZ1tdO1xyXG4gIHByaXZhdGUgX2F4ZXM6IEN1YmVBeGlzW107XHJcbiAgcHJpdmF0ZSBfY2luZGljZXM6IEN1YmVJbmRleFtdO1xyXG4gIHByaXZhdGUgX3lyb3dzOiB7IGtleTogYW55OyB2YWx1ZTogYW55IH1bXSA9IFtdO1xyXG4gIHByaXZhdGUgX3hjb2x1bW5zOiB7IGtleTogYW55OyB2YWx1ZTogYW55IH1bXSA9IFtdO1xyXG4gIHByaXZhdGUgX3ByZXBhcmU6IFByb21pc2U8YW55W10+O1xyXG4gIHByaXZhdGUgX251bWJlckZvcm1hdDogc3RyaW5nO1xyXG4gIC8vcHJpdmF0ZSByZWFkb25seSBfaW50bDogSW50ZXJuYXRpb25hbGl6YXRpb24gPSBuZXcgSW50ZXJuYXRpb25hbGl6YXRpb24oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBDdWJlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RzOiBEYXRhc291cmNlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHsgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY3ViZSA9IHRoaXMuY3ViZSA/IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlcy5maW5kKGMgPT4gYy5uYW1lID09PSB0aGlzLmN1YmUpIDogdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzWzBdO1xyXG4gICAgdGhpcy5fbnVtYmVyRm9ybWF0ID0gYCR7dGhpcy5fY3ViZS5jdXJyZW5jeUNvZGUgPyAnYycgOiAnbid9JHt0aGlzLl9zZXJ2aWNlLmZyYWN0aW9uRGlnaXRzfWBcclxuICAgIC8vdGhpcy5faW50bC5nZXROdW1iZXJQYXR0ZXJuKHtcclxuICAgIC8vICBjdXJyZW5jeTogdGhpcy5fY3ViZS5jdXJyZW5jeUNvZGUsXHJcbiAgICAvLyAgZm9ybWF0OiB0aGlzLl9jdWJlLmN1cnJlbmN5Q29kZSA/ICdjJyA6ICduJyxcclxuICAgIC8vICB1c2VHcm91cGluZzogdHJ1ZSxcclxuICAgIC8vICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IHRoaXMuX3NlcnZpY2UuZnJhY3Rpb25EaWdpdHMsXHJcbiAgICAvLyAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiB0aGlzLl9zZXJ2aWNlLmZyYWN0aW9uRGlnaXRzXHJcbiAgICAvL30gYXMgTnVtYmVyRm9ybWF0T3B0aW9ucyk7XHJcbiAgICBpZiAoIXRoaXMuX3Nlcmllcykge1xyXG4gICAgICB0aGlzLl9heGVzID0gdGhpcy5feEF4aXMubWFwKGMgPT4gdGhpcy5fY3ViZS5heGVzLmZpbmQoYSA9PiBhLm5hbWUgPT0gYykpO1xyXG4gICAgICBpZiAodGhpcy5faW5kaWNlcykgdGhpcy5fY2luZGljZXMgPSB0aGlzLl9jdWJlLmluZGljZXMuZmlsdGVyKGkgPT4gdGhpcy5faW5kaWNlcy5pbmRleE9mKGkubmFtZSkgPiAtMSk7XHJcbiAgICAgIHRoaXMuY29sdW1ucyA9IHRoaXMuX2F4ZXMubWFwKF8gPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICB3aWR0aDogMTIwXHJcbiAgICAgICAgfSBhcyBDb2x1bW5Nb2RlbDtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuY29sdW1ucy5wdXNoKHtcclxuICAgICAgICB3aWR0aDogOTBcclxuICAgICAgfSAvKiB2YWx1ZSAqLyk7XHJcbiAgICAgIHRoaXMuX2luZGljZXMgJiYgdGhpcy5faW5kaWNlcy5mb3JFYWNoKF8gPT4gdGhpcy5jb2x1bW5zLnB1c2goe1xyXG4gICAgICAgIHdpZHRoOiA5MFxyXG4gICAgICB9IGFzIENvbHVtbk1vZGVsXHJcbiAgICAgICkpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbnN0IHlOYW1lID0gdGhpcy5fc2VyaWVzWzBdLCB4TmFtZSA9IHRoaXMuX3hBeGlzWzBdLFxyXG4gICAgICAgIHhBeGlzID0gdGhpcy5fY3ViZS5heGVzLmZpbmQoYSA9PiBhLm5hbWUgPT09IHhOYW1lKSxcclxuICAgICAgICB5QXhpcyA9IHRoaXMuX2N1YmUuYXhlcy5maW5kKGEgPT4gYS5uYW1lID09PSB5TmFtZSk7XHJcbiAgICAgIGNvbnN0IHByb21pc2VzOiBQcm9taXNlPGFueT5bXSA9IFtdO1xyXG4gICAgICB0aGlzLmNvbHVtbnMgPSBbe1xyXG4gICAgICAgIHdpZHRoOiAxMjBcclxuICAgICAgfV07XHJcbiAgICAgIC8vIGFjcXVpcmUgY29sdW1ucyBzb3VyY2VcclxuICAgICAgbGV0IG9ic2VydmUgPSB0aGlzLl9kcy5hbGwoeEF4aXMuZGF0YVR5cGUpLnRvUHJvbWlzZSgpLlxyXG4gICAgICAgIHRoZW4oYyA9PiB7XHJcbiAgICAgICAgICB0aGlzLl94Y29sdW1ucyA9IGM7XHJcbiAgICAgICAgICBjLmZvckVhY2goXyA9PiB0aGlzLmNvbHVtbnMucHVzaCh7XHJcbiAgICAgICAgICAgIHdpZHRoOiA5MFxyXG4gICAgICAgICAgfSBhcyBDb2x1bW5Nb2RlbFxyXG4gICAgICAgICAgKSk7XHJcbiAgICAgICAgfSkgYXMgUHJvbWlzZTxhbnk+O1xyXG4gICAgICBwcm9taXNlcy5wdXNoKG9ic2VydmUpO1xyXG4gICAgICAvLyBhY3F1aXJlIHJvd3Mgc291cmNlXHJcbiAgICAgIG9ic2VydmUgPSB0aGlzLl9kcy5hbGwoeUF4aXMuZGF0YVR5cGUpLnRvUHJvbWlzZSgpLlxyXG4gICAgICAgIHRoZW4ociA9PiB0aGlzLl95cm93cyA9IHIpO1xyXG4gICAgICBwcm9taXNlcy5wdXNoKG9ic2VydmUpO1xyXG5cclxuICAgICAgdGhpcy5fcHJlcGFyZSA9IFByb21pc2UuYWxsKHByb21pc2VzKTtcclxuICAgIH1cclxuICAgIHRoaXMuZXhlY3V0ZSgpO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snZmlsdGVycyddICYmICFjaGFuZ2VzWydmaWx0ZXJzJ10uZmlyc3RDaGFuZ2UpXHJcbiAgICAgIHRoaXMuZXhlY3V0ZSgpO1xyXG4gICAgZWxzZVxyXG4gICAgICBpZiAoY2hhbmdlc1snaGVpZ2h0J10gfHwgY2hhbmdlc1snd2lkdGgnXSlcclxuICAgICAgICB0aGlzLnJlc2l6ZSgpO1xyXG4gIH1cclxuICByZXNpemUoKSB7XHJcbiAgICBpZiAodGhpcy5zcHJlYWRzaGVldCkge1xyXG4gICAgICB0aGlzLnNwcmVhZHNoZWV0LmhlaWdodCA9IHRoaXMuaGVpZ2h0O1xyXG4gICAgICB0aGlzLnNwcmVhZHNoZWV0LndpZHRoID0gdGhpcy53aWR0aDtcclxuICAgICAgdGhpcy5zcHJlYWRzaGVldC5yZWZyZXNoKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBleGVjdXRlKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQodHJ1ZSk7XHJcbiAgICBpZiAoIXRoaXMuX3NlcmllcylcclxuICAgICAgdGhpcy5fc2VydmljZS50YWJsZSh0aGlzLl9jdWJlLm5hbWUsIHRoaXMuX3hBeGlzLCB7IGZpbHRlcnM6IHRoaXMuZmlsdGVycywgaW5kaWNlczogdGhpcy5faW5kaWNlcyB9KS5cclxuICAgICAgICBzdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9kYXRhdGFibGUoZGF0YSk7XHJcbiAgICAgICAgICB0aGlzLl9kcmF3KCk7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgfSwgKGU6IEh0dHBSZXNwb25zZTxhbnk+KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcihlLnN0YXR1cyA9PT0gNDAxID8gJ1VuYXV0aG9yaXplZCcgOiBudWxsKTtcclxuICAgICAgICAgIHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICB9KTtcclxuICAgIGVsc2UgdGhpcy5fc2VydmljZS5zZXJpZXModGhpcy5jdWJlLCB0aGlzLl94QXhpcywgeyBzZXJpZXM6IHRoaXMuX3NlcmllcywgZmlsdGVyczogdGhpcy5maWx0ZXJzIH0pLlxyXG4gICAgICBzdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgICAgdGhpcy5fcHJlcGFyZS50aGVuKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuX2RhdGFzZXJpZXMoZGF0YSk7XHJcbiAgICAgICAgICB0aGlzLl9kcmF3KCk7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sIChlOiBIdHRwUmVzcG9uc2U8YW55PikgPT4ge1xyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yKGUuc3RhdHVzID09PSA0MDEgPyAnVW5hdXRob3JpemVkJyA6IG51bGwpO1xyXG4gICAgICAgIHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2RhdGF0YWJsZShkYXRhOiB7IHZhbHVlOiBudW1iZXI7IH1bXSkge1xyXG4gICAgY29uc3QgY2VsbHMgPSBbXSwgc3R5bGUgPSB7IGZvbnRXZWlnaHQ6ICdib2xkJywgdGV4dEFsaWduOiAnY2VudGVyJyB9IGFzIENlbGxTdHlsZU1vZGVsO1xyXG4gICAgdGhpcy5fYXhlcy5mb3JFYWNoKGMgPT4gY2VsbHMucHVzaCh7XHJcbiAgICAgIHZhbHVlOiBjLnRpdGxlLCBzdHlsZVxyXG4gICAgfSBhcyBDZWxsTW9kZWwpKTtcclxuICAgIHRoaXMuX2luZGljZXMgJiYgdGhpcy5fY2luZGljZXMuZm9yRWFjaChpID0+IGNlbGxzLnB1c2goeyB2YWx1ZTogaS50aXRsZSwgc3R5bGUgfSBhcyBDZWxsTW9kZWwpKTtcclxuICAgIGNlbGxzLnB1c2goe1xyXG4gICAgICB2YWx1ZTogdGhpcy55QXhpcyA/IHRoaXMueUF4aXMudGl0bGUgOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdWYWx1ZScpLFxyXG4gICAgICBzdHlsZVxyXG4gICAgfSBhcyBDZWxsTW9kZWwpO1xyXG4gICAgdGhpcy5kYXRhU291cmNlID0gW3tcclxuICAgICAgY2VsbHMsIGhlaWdodDogMjVcclxuICAgIH0gYXMgUm93TW9kZWxdO1xyXG4gICAgZGF0YS5mb3JFYWNoKGQgPT4ge1xyXG4gICAgICBjb25zdCBjZWxscyA9IFtdO1xyXG4gICAgICB0aGlzLl94QXhpcy5mb3JFYWNoKGMgPT4gY2VsbHMucHVzaCh7XHJcbiAgICAgICAgdmFsdWU6IGRbY10sXHJcbiAgICAgIH0gYXMgQ2VsbE1vZGVsKSk7XHJcbiAgICAgIHRoaXMuX2luZGljZXMgJiYgdGhpcy5faW5kaWNlcy5mb3JFYWNoKGkgPT4gY2VsbHMucHVzaCh7XHJcbiAgICAgICAgc3R5bGU6IHRoaXMubnVtYmVyU3R5bGUsXHJcbiAgICAgICAgZm9ybWF0OiB0aGlzLl9udW1iZXJGb3JtYXQsXHJcbiAgICAgICAgdmFsdWU6IChkW2ldIHx8IDApIGFzIGFueSxcclxuICAgICAgfSBhcyBDZWxsTW9kZWwpKTtcclxuICAgICAgY2VsbHMucHVzaCh7XHJcbiAgICAgICAgc3R5bGU6IHRoaXMubnVtYmVyU3R5bGUsXHJcbiAgICAgICAgZm9ybWF0OiB0aGlzLl9udW1iZXJGb3JtYXQsXHJcbiAgICAgICAgdmFsdWU6IChkLnZhbHVlIHx8IDApIGFzIGFueSxcclxuICAgICAgfSBhcyBDZWxsTW9kZWwpO1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UucHVzaCh7IGNlbGxzLCBzb3VyY2U6IGQsIGhlaWdodDogMjUgfSBhcyBSb3dNb2RlbCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RhdGFzZXJpZXMoZDogU2VyaWVzW10pIHtcclxuICAgIGNvbnN0IHN0eWxlID0geyBmb250V2VpZ2h0OiAnYm9sZCcsIHRleHRBbGlnbjogJ2NlbnRlcicgfSBhcyBDZWxsU3R5bGVNb2RlbDtcclxuICAgIGNvbnN0IGNlbGxzID0gW3sgdmFsdWU6ICcnIH0gYXMgQ2VsbE1vZGVsXTtcclxuICAgIHRoaXMuX3hjb2x1bW5zLmZvckVhY2goYyA9PiBjZWxscy5wdXNoKHsgdmFsdWU6IGMudmFsdWUsIHN0eWxlIH0pKTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IFt7IGNlbGxzLCBoZWlnaHQ6IDI1IH1dO1xyXG5cclxuICAgIHRoaXMuX2luZGljZXMgJiYgdGhpcy5fY2luZGljZXMuXHJcbiAgICAgIGZvckVhY2goaSA9PiB7XHJcbiAgICAgICAgY29uc3QgY2VsbHMgPSBbeyB2YWx1ZTogaS50aXRsZSwgc3R5bGUgfSBhcyBDZWxsTW9kZWxdLCBzZXJpZSA9IGQuZmluZChzID0+IHMuaW5kZXggPT09IGkubmFtZSksIG1hcCA9IHt9O1xyXG4gICAgICAgIGlmIChzZXJpZSkge1xyXG4gICAgICAgICAgc2VyaWUucG9pbnRzLmZvckVhY2gocCA9PiBtYXBbcC54XSA9IHAueSk7XHJcbiAgICAgICAgICB0aGlzLl94Y29sdW1ucy5mb3JFYWNoKGMgPT4gY2VsbHMucHVzaCh7XHJcbiAgICAgICAgICAgIHZhbHVlOiAobWFwW2Mua2V5XSB8fCAwKSBhcyBhbnksXHJcbiAgICAgICAgICAgIGZvcm1hdDogdGhpcy5fbnVtYmVyRm9ybWF0LFxyXG4gICAgICAgICAgICBzdHlsZTogdGhpcy5udW1iZXJTdHlsZVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UucHVzaCh7IGNlbGxzLCBoZWlnaHQ6IDI1IH0gYXMgUm93TW9kZWwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB0aGlzLl95cm93cy5mb3JFYWNoKHIgPT4ge1xyXG4gICAgICBjb25zdCBjZWxscyA9IFt7IHZhbHVlOiByLnZhbHVlLCBzdHlsZSB9IGFzIENlbGxNb2RlbF0sXHJcbiAgICAgICAgc2VyaWUgPSBkLmZpbmQocyA9PiBzLm5hbWUgPT09IHIua2V5KSwgbWFwID0ge307XHJcbiAgICAgIGlmIChzZXJpZSkge1xyXG4gICAgICAgIHNlcmllLnBvaW50cy5mb3JFYWNoKHAgPT4gbWFwW3AueF0gPSBwLnkpO1xyXG4gICAgICAgIHRoaXMuX3hjb2x1bW5zLmZvckVhY2goYyA9PiBjZWxscy5wdXNoKHtcclxuICAgICAgICAgIHZhbHVlOiAobWFwW2Mua2V5XSB8fCAwKSBhcyBhbnksXHJcbiAgICAgICAgICBmb3JtYXQ6IHRoaXMuX251bWJlckZvcm1hdCxcclxuICAgICAgICAgIHN0eWxlOiB0aGlzLm51bWJlclN0eWxlXHJcbiAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLl94Y29sdW1ucy5mb3JFYWNoKF8gPT4gY2VsbHMucHVzaCh7IHZhbHVlOiAwIGFzIGFueSB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5wdXNoKHsgY2VsbHMsIGhlaWdodDogMjUgfSBhcyBSb3dNb2RlbCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RyYXcoKSB7XHJcbiAgICB0aGlzLnNwcmVhZHNoZWV0ICYmIHRoaXMuc3ByZWFkc2hlZXQuZGVzdHJveSgpO1xyXG4gICAgdGhpcy5zcHJlYWRzaGVldCA9IG5ldyBTcHJlYWRzaGVldCh7XHJcbiAgICAgIGlzUHJvdGVjdGVkOiB0cnVlLFxyXG4gICAgICBhbGxvd0VkaXRpbmc6IGZhbHNlLFxyXG4gICAgICBhbGxvd0RlbGV0ZTogZmFsc2UsXHJcbiAgICAgIGFsbG93SW5zZXJ0OiBmYWxzZSxcclxuICAgICAgc2hvd1JpYmJvbjogZmFsc2UsXHJcbiAgICAgIGFsbG93QXV0b0ZpbGw6IGZhbHNlLFxyXG4gICAgICBhdXRvRmlsbFNldHRpbmdzOiB0aGlzLmF1dG9GaWxsU2V0dGluZ3MsXHJcbiAgICAgIGVuYWJsZUNsaXBib2FyZDogZmFsc2UsXHJcbiAgICAgIGVuYWJsZUNvbnRleHRNZW51OiBmYWxzZSxcclxuICAgICAgc2hvd0Zvcm11bGFCYXI6IGZhbHNlLFxyXG4gICAgICBzaG93U2hlZXRUYWJzOiBmYWxzZSxcclxuICAgICAgc2VsZWN0OiB0aGlzLnNlbGVjdC5iaW5kKHRoaXMpLFxyXG4gICAgICBzaGVldHM6IFt7XHJcbiAgICAgICAgY29sdW1uczogdGhpcy5jb2x1bW5zLFxyXG4gICAgICAgIC8vZnJvemVuQ29sdW1uczogdGhpcy5zZXJpZXMgIT09IHVuZGVmaW5lZCA/IDEgOiAwLFxyXG4gICAgICAgIC8vZnJvemVuUm93czogMSxcclxuICAgICAgICByb3dzOiB0aGlzLmRhdGFTb3VyY2UsXHJcbiAgICAgIH1dLFxyXG4gICAgICB3aWR0aDogdGhpcy53aWR0aCxcclxuICAgICAgaGVpZ2h0OiB0aGlzLmhlaWdodCxcclxuICAgIH0sIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG4gIHNlbGVjdChldnQ6IFNlbGVjdEV2ZW50QXJncykge1xyXG4gICAgY29uc3QgYWRkcmVzcyA9IHRoaXMuc3ByZWFkc2hlZXQuZ2V0QWRkcmVzc0luZm8oZXZ0LnJhbmdlKTtcclxuICAgIGxldCBbeSwgeCwgeTEsIHgxXSA9IGFkZHJlc3MuaW5kaWNlcztcclxuICAgIGlmICh5MSA8IHkpIHtcclxuICAgICAgY29uc3QgcmFuZ2UgPSB5O1xyXG4gICAgICB5ID0geTEsIHkxID0gcmFuZ2U7XHJcbiAgICB9XHJcbiAgICBpZiAoeDEgPCB4KSB7XHJcbiAgICAgIGNvbnN0IHJhbmdlID0geDtcclxuICAgICAgeCA9IHgxLCB4MSA9IHJhbmdlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgYXhlczoge30gPSB7fTtcclxuICAgIGlmICghdGhpcy5fc2VyaWVzKSB7XHJcbiAgICAgIGlmICh5ID09PSAwKSByZXR1cm47XHJcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5faW5kaWNlcyAmJiB5IDwgdGhpcy5faW5kaWNlcy5sZW5ndGggPyB0aGlzLl9jaW5kaWNlc1t5XS5uYW1lIDogbnVsbDtcclxuICAgICAgbGV0IGkgPSB5O1xyXG4gICAgICBkbyB7XHJcbiAgICAgICAgdGhpcy5fYXhlcy5mb3JFYWNoKGEgPT4ge1xyXG4gICAgICAgICAgY29uc3Qga2V5ID0gKHRoaXMuZGF0YVNvdXJjZVtpXSBhcyBhbnkpLnNvdXJjZVsnXycgKyBhLm5hbWVdO1xyXG4gICAgICAgICAgaWYgKCFheGVzW2EubmFtZV0pXHJcbiAgICAgICAgICAgIGF4ZXNbYS5uYW1lXSA9IGtleTtcclxuICAgICAgICAgIGVsc2UgaWYgKGlzU3RyaW5nKGF4ZXNbYS5uYW1lXSkpIHtcclxuICAgICAgICAgICAgaWYgKGF4ZXNbYS5uYW1lXSAhPT0ga2V5KSBheGVzW2EubmFtZV0gPSBbYXhlc1thLm5hbWVdLCBrZXldO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSBpZiAoKGF4ZXNbYS5uYW1lXSBhcyBzdHJpbmdbXSkuaW5kZXhPZihrZXkpIDwgMCkgKGF4ZXNbYS5uYW1lXSBhcyBzdHJpbmdbXSkucHVzaChrZXkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGkrKztcclxuICAgICAgfVxyXG4gICAgICB3aGlsZSAoaSA8PSB5MSk7XHJcbiAgICAgIHRoaXMuZXhwbG9yZS5lbWl0KHsgYXhlcywgaW5kZXggfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKHkgPT09IDApIHtcclxuICAgICAgICBpZiAoeSA8IHkxKVxyXG4gICAgICAgICAgdGhpcy5fZmlsbHgoeCwgeDEsIGF4ZXMpO1xyXG4gICAgICAgIGVsc2UgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHggPT09IDApIHtcclxuICAgICAgICBpZiAoeCA8IHgxKVxyXG4gICAgICAgICAgdGhpcy5fZmlsbHkoeSwgeTEsIGF4ZXMpO1xyXG4gICAgICAgIGVsc2UgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHkgPT09IHkxICYmIHggPT09IHgxICYmIHRoaXMuZGF0YVNvdXJjZVt5XS5jZWxsc1t4XS52YWx1ZSA9PT0gJzAnKSByZXR1cm47XHJcbiAgICAgIGVsc2UgaWYgKHkgPiB0aGlzLmRhdGFTb3VyY2UubGVuZ3RoIC0gMSB8fCB4ID4gdGhpcy5kYXRhU291cmNlW3ldLmNlbGxzLmxlbmd0aCAtIDEpIHJldHVybjtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fZmlsbHgoeCwgeDEsIGF4ZXMpO1xyXG4gICAgICAgIHRoaXMuX2ZpbGx5KHksIHkxLCBheGVzKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmV4cGxvcmUuZW1pdCh7IGF4ZXMgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgX2ZpbGx5KHk6IG51bWJlciwgeTE6IG51bWJlciwgYXhlczoge30pIHtcclxuICAgIGNvbnN0IHlOYW1lID0gdGhpcy5fc2VyaWVzWzBdO1xyXG4gICAgbGV0IGkgPSB5IC0gMTtcclxuICAgIHdoaWxlIChpIDwgeTEpIHtcclxuICAgICAgbGV0IHsga2V5IH0gPSB0aGlzLl95cm93c1tpXTtcclxuICAgICAgaWYgKCFheGVzW3lOYW1lXSlcclxuICAgICAgICBheGVzW3lOYW1lXSA9IGtleTtcclxuICAgICAgZWxzZSBpZiAoaXNTdHJpbmcoYXhlc1t5TmFtZV0pKVxyXG4gICAgICAgIGF4ZXNbeU5hbWVdID0gW2F4ZXNbeU5hbWVdLCBrZXldO1xyXG4gICAgICBlbHNlIGlmICgoYXhlc1t5TmFtZV0gYXMgc3RyaW5nW10pLmluZGV4T2Yoa2V5KSA8IDApXHJcbiAgICAgICAgKGF4ZXNbeU5hbWVdIGFzIHN0cmluZ1tdKS5wdXNoKGtleSk7XHJcbiAgICAgIGkrKztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2ZpbGx4KHg6IG51bWJlciwgeDE6IG51bWJlciwgYXhlczoge30pIHtcclxuICAgIGNvbnN0IHhOYW1lID0gdGhpcy5feEF4aXNbMF07XHJcbiAgICBsZXQgaSA9IHggLSAxO1xyXG4gICAgd2hpbGUgKGkgPCB4MSkge1xyXG4gICAgICBsZXQgeyBrZXkgfSA9IHRoaXMuX3hjb2x1bW5zW2ldO1xyXG4gICAgICBpZiAoIWF4ZXNbeE5hbWVdKVxyXG4gICAgICAgIGF4ZXNbeE5hbWVdID0ga2V5O1xyXG4gICAgICBlbHNlIGlmIChpc1N0cmluZyhheGVzW3hOYW1lXSkpXHJcbiAgICAgICAgYXhlc1t4TmFtZV0gPSBbYXhlc1t4TmFtZV0sIGtleV07XHJcbiAgICAgIGVsc2UgaWYgKChheGVzW3hOYW1lXSBhcyBzdHJpbmdbXSkuaW5kZXhPZihrZXkpIDwgMClcclxuICAgICAgICAoYXhlc1t4TmFtZV0gYXMgc3RyaW5nW10pLnB1c2goa2V5KTtcclxuICAgICAgaSsrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0VG9FeGNlbCh0aXRsZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB7IHJvd3MgfSA9IHRoaXMuc3ByZWFkc2hlZXQuc2hlZXRzWzBdLFxyXG4gICAgICBudW1iZXJGb3JtYXQgPSB0aGlzLl9zZXJ2aWNlLm51bWJlckZvcm1hdCxcclxuICAgICAgYm9vayA9IG5ldyBXb3JrYm9vayhcclxuICAgICAgICB7XHJcbiAgICAgICAgICB3b3Jrc2hlZXRzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBlbmFibGVSdGw6IHRoaXMuX3Nlc3Npb24uaW52ZXJzZSxcclxuICAgICAgICAgICAgICBuYW1lOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdTaGVldE4nLCAxKSxcclxuICAgICAgICAgICAgICBjb2x1bW5zOiByb3dzWzBdLmNlbGxzLm1hcCgoXywgaSkgPT4gKHsgaW5kZXg6IGkgKyAxLCB3aWR0aDogMTUwIH0gYXMgQ29sdW1uKSksXHJcbiAgICAgICAgICAgICAgcm93czogcm93cy5tYXAoKHIsIGkpID0+IChcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgaW5kZXg6IGkgKyAxLFxyXG4gICAgICAgICAgICAgICAgICBjZWxsczogci5jZWxscy5tYXAoKGMsIGopID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBoZWFkZXIgPSBpID09PSAwIHx8ICh0aGlzLnNlcmllcyAmJiBqID09PSAwKSxcclxuICAgICAgICAgICAgICAgICAgICAgIGlzbnVtYmVyID0gdGhpcy5zZXJpZXMgPyAhaGVhZGVyIDogaXNOdW1iZXIoYy52YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGlzbnVtYmVyID8gJ251bWJlcicgOiAndGV4dCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICBpbmRleDogaiArIDEsIHZhbHVlOiBjLnZhbHVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyRm9ybWF0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBoQWxpZ246IGlzbnVtYmVyID8gJ3JpZ2h0JyA6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBib2xkOiBoZWFkZXJcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9IGFzIENlbGw7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgfSBhcyBSb3cpKSxcclxuICAgICAgICAgICAgfSBhcyBXb3Jrc2hlZXQsXHJcbiAgICAgICAgICBdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgJ3hsc3gnXHJcbiAgICAgICk7XHJcbiAgICBib29rLnNhdmUoYCR7dGl0bGV9Lnhsc3hgKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnNwcmVhZHNoZWV0ICYmIHRoaXMuc3ByZWFkc2hlZXQuZGVzdHJveSgpO1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgQ2VsbCB7IH1cclxuIl19
|
@@ -119,12 +119,12 @@ export class CubeMatrixBase {
|
|
119
119
|
this.axes = { ...this.axes };
|
120
120
|
}
|
121
121
|
}
|
122
|
-
CubeMatrixBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.
|
123
|
-
CubeMatrixBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.
|
124
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.
|
122
|
+
CubeMatrixBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CubeMatrixBase, deps: [{ token: i1.CubeService }, { token: i2.DatasourceService }, { token: i3.SessionService }], target: i0.ɵɵFactoryTarget.Directive });
|
123
|
+
CubeMatrixBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: CubeMatrixBase, viewQueries: [{ propertyName: "table", first: true, predicate: CubeMatrixComponent, descendants: true, static: true }], ngImport: i0 });
|
124
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CubeMatrixBase, decorators: [{
|
125
125
|
type: Directive
|
126
126
|
}], ctorParameters: function () { return [{ type: i1.CubeService }, { type: i2.DatasourceService }, { type: i3.SessionService }]; }, propDecorators: { table: [{
|
127
127
|
type: ViewChild,
|
128
128
|
args: [CubeMatrixComponent, { static: true }]
|
129
129
|
}] } });
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LmJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvbWF0cml4L21hdHJpeC5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBR2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFlLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBR3JFLE1BQU0sT0FBZ0IsY0FBYztJQWdFbEMsWUFDWSxRQUFxQixFQUN2QixHQUFzQixFQUNwQixRQUF3QjtRQUZ4QixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3ZCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBN0MzQixZQUFPLEdBQW9FLEVBQUUsQ0FBQztRQUN2RixjQUFjO1FBQ0wsV0FBTSxHQUFZLEVBQUUsQ0FBQztJQTJDVSxDQUFDO0lBOUR6QyxJQUFXLFlBQVksQ0FBQyxLQUFjO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsSUFBSSxDQUFDLEtBQWM7UUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUNwQyxDQUFDO0lBQ0osQ0FBQztJQWFELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBVyxJQUFJLENBQUMsS0FBYTtRQUMzQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BELEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztTQUNqQztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUMzQixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDWixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFLRCxJQUFjLFNBQVM7UUFDckIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFjLFNBQVMsQ0FBQyxLQUF3QjtRQUM5Qyx1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNqRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVCLENBQUMsQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUM7UUFFcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQ3hFLENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBTU8sU0FBUztRQUNmLE1BQU0sSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkMsSUFBSSxJQUFJLENBQUMsV0FBVztZQUNsQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQXFCLENBQUMsQ0FBQztnQkFDM0UsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNWLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztvQkFDVCxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQztRQUNQLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0Q7OztPQUdHO0lBQ0ssUUFBUSxDQUFDLElBQWE7UUFDNUIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUk7WUFDNUIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztZQUMxQixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBb0IsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFDRDs7O0tBR0M7SUFDRCxNQUFNLENBQUMsSUFBWSxFQUFFLEtBQXNCLEVBQUUsS0FBYTtRQUN4RCxNQUFNLElBQUksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FDMUIsQ0FBQztJQUNKLENBQUM7SUFDTyxPQUFPO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFBO0lBQzlFLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBYTtRQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBQ0Q7OztRQUdJO0lBQ0osU0FBUyxDQUFDLE9BQWdCO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sdUJBQXVCO1FBQzdCLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQ3hDLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7OzJHQTVJbUIsY0FBYzsrRkFBZCxjQUFjLGlFQUN2QixtQkFBbUI7MkZBRFYsY0FBYztrQkFEbkMsU0FBUzsrSkFFMEMsS0FBSztzQkFBdEQsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEYXRhc291cmNlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvZGF0YXNvdXJjZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQUNDT1VOVF9ERUxJTUlURVIsIEN1YmVTZXJ2aWNlLCBQYXR0ZXJuIH0gZnJvbSAnLi4vY3ViZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXhlc01hcCwgQ3ViZSwgQ3ViZUF4aXMgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICcuLi8uLi9jb3JlL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IEN1YmVNYXRyaXhDb21wb25lbnQsIFN1bVNldHRpbmdzIH0gZnJvbSAnLi90YWJsZS5jb21wb25lbnQnO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDdWJlTWF0cml4QmFzZSB7XHJcbiAgQFZpZXdDaGlsZChDdWJlTWF0cml4Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSB0YWJsZTogQ3ViZU1hdHJpeENvbXBvbmVudDtcclxuICBsb2FkaW5nOiBib29sZWFuO1xyXG4gIHByaXZhdGUgX2F4ZXM6IEF4ZXNNYXA7XHJcbiAgcHJpdmF0ZSBfb3JpZ2luYWxBeGVzOiBBeGVzTWFwO1xyXG4gIHB1YmxpYyBzZXQgb3JpZ2luYWxBeGVzKHZhbHVlOiBBeGVzTWFwKSB7XHJcbiAgICB0aGlzLl9vcmlnaW5hbEF4ZXMgPSB7IC4uLnZhbHVlIH07XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXQgb3JpZ2luYWxBeGVzKCk6IEF4ZXNNYXAge1xyXG4gICAgcmV0dXJuIHRoaXMuX29yaWdpbmFsQXhlcztcclxuICB9XHJcbiAgcHVibGljIGdldCBheGVzKCk6IEF4ZXNNYXAge1xyXG4gICAgcmV0dXJuIHRoaXMuX2F4ZXM7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgYXhlcyh2YWx1ZTogQXhlc01hcCkge1xyXG4gICAgdGhpcy5fYXhlcyA9IHZhbHVlO1xyXG4gICAgdGhpcy5maWx0ZXJzICYmIHRoaXMuZmlsdGVycy5mb3JFYWNoKGYgPT5cclxuICAgICAgdGhpcy52YWx1ZXNbZi5uYW1lXSA9IHZhbHVlW2YubmFtZV1cclxuICAgICk7XHJcbiAgfVxyXG4gIHRpdGxlOiBzdHJpbmc7XHJcblxyXG4gIHJlYWRvbmx5IHNvdXJjZXM6IHsgW2F4aXM6IHN0cmluZ106IE9ic2VydmFibGU8eyBrZXk6IHN0cmluZzsgdmFsdWU6IGFueTsgfVtdPjsgfSA9IHt9O1xyXG4gIC8qKiBmaWx0ZXJzICovXHJcbiAgcmVhZG9ubHkgdmFsdWVzOiBBeGVzTWFwID0ge307XHJcbiAgZmlsdGVyczogQ3ViZUF4aXNbXTtcclxuICBwYXR0ZXJuczogUGF0dGVybltdO1xyXG4gIHBhdHRlcm46IFBhdHRlcm47XHJcbiAgaW5kaWNlcz86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIHhBeGlzOiBzdHJpbmc7XHJcbiAgc2VyaWVzOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfY3ViZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBnZXQgY3ViZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2N1YmU7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgY3ViZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXMuZmluZChjID0+IGMubmFtZSA9PT0gdmFsdWUpO1xyXG4gICAgaWYgKCF0aGlzLmNvbmZpZ3VyYXRpb24pIHtcclxuICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzWzBdO1xyXG4gICAgICB2YWx1ZSA9IHRoaXMuY29uZmlndXJhdGlvbi5uYW1lO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fc2VydmljZS5wYXR0ZXJucyh2YWx1ZSkuXHJcbiAgICAgIHN1YnNjcmliZShwID0+XHJcbiAgICAgICAgdGhpcy5wYXR0ZXJucyA9IHApO1xyXG4gICAgdGhpcy5fY3ViZSA9IHZhbHVlO1xyXG4gIH1cclxuICBzdW0/OiBTdW1TZXR0aW5ncyB8IFN1bVNldHRpbmdzW107XHJcbiAgLyoqIG9uZSBvciBtb3JlIGF4aXMgKi9cclxuICBwcm90ZWN0ZWQgYWdncmVnYXRpb24/OiBzdHJpbmdbXSB8IHN0cmluZztcclxuICBwcml2YXRlIF9zZWxlY3Rpb246IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIHByb3RlY3RlZCBnZXQgc2VsZWN0aW9uKCk6IHN0cmluZyB8IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb247XHJcbiAgfVxyXG4gIHByb3RlY3RlZCBzZXQgc2VsZWN0aW9uKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xyXG4gICAgLyoqIG9uZSBvciBtb3JlIGF4aXMgKi9cclxuICAgIHRoaXMuZmlsdGVycyA9IHRoaXMuY29uZmlndXJhdGlvbi5heGVzLmZpbHRlcihhID0+IGlzQXJyYXkodmFsdWUpID9cclxuICAgICAgdmFsdWUuaW5kZXhPZihhLm5hbWUpID4gLTEgOlxyXG4gICAgICBhLm5hbWUgPT09IHZhbHVlKTtcclxuXHJcbiAgICB0aGlzLmZpbHRlcnMuZm9yRWFjaChmID0+IHRoaXMuc291cmNlc1tmLm5hbWVdID0gdGhpcy5fZHMuYWxsKGYuZGF0YVR5cGUpXHJcbiAgICApO1xyXG4gICAgdGhpcy5fc2VsZWN0aW9uID0gdmFsdWU7XHJcbiAgfVxyXG4gIGNvbmZpZ3VyYXRpb246IEN1YmU7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgX3NlcnZpY2U6IEN1YmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZHM6IERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSkgeyB9XHJcbiAgcHJpdmF0ZSBfcG9wdWxhdGUoKSB7XHJcbiAgICBjb25zdCBheGVzID0geyAuLi50aGlzLl9vcmlnaW5hbEF4ZXMgfTtcclxuICAgIGlmICh0aGlzLmFnZ3JlZ2F0aW9uKVxyXG4gICAgICAoaXNBcnJheSh0aGlzLmFnZ3JlZ2F0aW9uKSA/IHRoaXMuYWdncmVnYXRpb24gOiBbdGhpcy5hZ2dyZWdhdGlvbiBhcyBzdHJpbmddKS5cclxuICAgICAgICBmb3JFYWNoKGcgPT4ge1xyXG4gICAgICAgICAgaWYgKGF4ZXNbZ10pXHJcbiAgICAgICAgICAgIGRlbGV0ZSBheGVzW2ddO1xyXG4gICAgICAgIH0pO1xyXG4gICAgdGhpcy5heGVzID0gYXhlcztcclxuICAgIHRoaXMuX2xpc3RlbigpLnRoZW4oKCkgPT4ge1xyXG4gICAgICBjb25zdCBjb21iaW5hdGlvbiA9IHRoaXMuX2NvbWJpbmUoYXhlcyk7XHJcbiAgICAgIHRoaXMudGl0bGUgPSBjb21iaW5hdGlvbi5qb2luKEFDQ09VTlRfREVMSU1JVEVSKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKlxyXG4gICAqIEBwYXJhbSBheGVzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfY29tYmluZShheGVzOiBBeGVzTWFwKTogKHN0cmluZyB8IG51bWJlcilbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uLmF4ZXMuXHJcbiAgICAgIGZpbHRlcihhID0+IGEuY29tYmluYXRpb24pLlxyXG4gICAgICBtYXAoYSA9PiBheGVzW2EubmFtZV0gYXMgc3RyaW5nIHwgbnVtYmVyKTtcclxuICB9XHJcbiAgLyoqXHJcbiAqXHJcbiAqIEBwYXJhbSB2YWx1ZVxyXG4gKi9cclxuICBmaWx0ZXIobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyLCB0aXRsZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBheGVzID0geyAuLi50aGlzLmF4ZXMgfTtcclxuICAgIGF4ZXNbbmFtZV0gPSB2YWx1ZTtcclxuICAgIHRoaXMub25GaWx0ZXIoYXhlcyk7XHJcbiAgICB0aGlzLl9saXN0ZW4oKS50aGVuKCgpID0+XHJcbiAgICAgIHRoaXMudmFsdWVzW25hbWVdID0gdmFsdWVcclxuICAgICk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2xpc3RlbigpIHtcclxuICAgIHJldHVybiB0aGlzLnRhYmxlLmxvYWRpbmdDaGFuZ2UucGlwZShmaWx0ZXIob2sgPT4gIW9rKSwgZmlyc3QoKSkudG9Qcm9taXNlKClcclxuICB9XHJcblxyXG4gIG9uRmlsdGVyKGF4ZXM6IEF4ZXNNYXApIHtcclxuICAgIHRoaXMuYXhlcyA9IGF4ZXM7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAgKlxyXG4gICAgKiBAcGFyYW0gcGF0dGVyblxyXG4gICAgKi9cclxuICBhZ2dyZWdhdGUocGF0dGVybjogUGF0dGVybikge1xyXG4gICAgY29uc3QgYXhlcyA9IHsgLi4ucGF0dGVybi5heGVzIH07XHJcbiAgICB0aGlzLl9zZXJ2aWNlLmJhc2UodGhpcy5jdWJlLCBheGVzLCB0aGlzLm9yaWdpbmFsQXhlcyk7XHJcbiAgICB0aGlzLmF4ZXMgPSB7IC4uLmF4ZXMsIC4uLnRoaXMudmFsdWVzIH07XHJcbiAgICB0aGlzLl9saXN0ZW4oKS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy50aXRsZSA9IHBhdHRlcm4udGl0bGU7XHJcbiAgICAgIHRoaXMucGF0dGVybiA9IHBhdHRlcm47XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NvcHlBeGVzVG9GaWx0ZXJWYWx1ZXMoKSB7XHJcbiAgICB0aGlzLmZpbHRlcnMgJiYgdGhpcy5maWx0ZXJzLmZvckVhY2goZiA9PlxyXG4gICAgICB0aGlzLnZhbHVlc1tmLm5hbWVdID0gdGhpcy5heGVzW2YubmFtZV1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICByZXNldCgpIHtcclxuICAgIHRoaXMuX3BvcHVsYXRlKCk7XHJcbiAgICB0aGlzLl9saXN0ZW4oKS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy5wYXR0ZXJuID0gbnVsbDtcclxuICAgICAgdGhpcy50aXRsZSA9IG51bGw7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2goKSB7XHJcbiAgICB0aGlzLmF4ZXMgPSB7IC4uLnRoaXMuYXhlcyB9O1xyXG4gIH1cclxufVxyXG4iXX0=
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LmJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvbWF0cml4L21hdHJpeC5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBR2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFlLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBR3JFLE1BQU0sT0FBZ0IsY0FBYztJQWlFbEMsWUFDWSxRQUFxQixFQUN2QixHQUFzQixFQUNwQixRQUF3QjtRQUZ4QixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3ZCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBN0MzQixZQUFPLEdBQW9FLEVBQUUsQ0FBQztRQUN2RixjQUFjO1FBQ0wsV0FBTSxHQUFZLEVBQUUsQ0FBQztJQTJDVSxDQUFDO0lBOUR6QyxJQUFXLFlBQVksQ0FBQyxLQUFjO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsSUFBSSxDQUFDLEtBQWM7UUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8s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aGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEYXRhc291cmNlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvZGF0YXNvdXJjZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQUNDT1VOVF9ERUxJTUlURVIsIEN1YmVTZXJ2aWNlLCBQYXR0ZXJuIH0gZnJvbSAnLi4vY3ViZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXhlc01hcCwgQ3ViZSwgQ3ViZUF4aXMgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICcuLi8uLi9jb3JlL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IEN1YmVNYXRyaXhDb21wb25lbnQsIFN1bVNldHRpbmdzIH0gZnJvbSAnLi90YWJsZS5jb21wb25lbnQnO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDdWJlTWF0cml4QmFzZSB7XHJcbiAgQFZpZXdDaGlsZChDdWJlTWF0cml4Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSB0YWJsZTogQ3ViZU1hdHJpeENvbXBvbmVudDtcclxuICBhdmFpbGFibGVMYWJlbDogc3RyaW5nO1xyXG4gIGxvYWRpbmc6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfYXhlczogQXhlc01hcDtcclxuICBwcml2YXRlIF9vcmlnaW5hbEF4ZXM6IEF4ZXNNYXA7XHJcbiAgcHVibGljIHNldCBvcmlnaW5hbEF4ZXModmFsdWU6IEF4ZXNNYXApIHtcclxuICAgIHRoaXMuX29yaWdpbmFsQXhlcyA9IHsgLi4udmFsdWUgfTtcclxuICB9XHJcbiAgcHVibGljIGdldCBvcmlnaW5hbEF4ZXMoKTogQXhlc01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5fb3JpZ2luYWxBeGVzO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0IGF4ZXMoKTogQXhlc01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5fYXhlcztcclxuICB9XHJcbiAgcHVibGljIHNldCBheGVzKHZhbHVlOiBBeGVzTWFwKSB7XHJcbiAgICB0aGlzLl9heGVzID0gdmFsdWU7XHJcbiAgICB0aGlzLmZpbHRlcnMgJiYgdGhpcy5maWx0ZXJzLmZvckVhY2goZiA9PlxyXG4gICAgICB0aGlzLnZhbHVlc1tmLm5hbWVdID0gdmFsdWVbZi5uYW1lXVxyXG4gICAgKTtcclxuICB9XHJcbiAgdGl0bGU6IHN0cmluZztcclxuXHJcbiAgcmVhZG9ubHkgc291cmNlczogeyBbYXhpczogc3RyaW5nXTogT2JzZXJ2YWJsZTx7IGtleTogc3RyaW5nOyB2YWx1ZTogYW55OyB9W10+OyB9ID0ge307XHJcbiAgLyoqIGZpbHRlcnMgKi9cclxuICByZWFkb25seSB2YWx1ZXM6IEF4ZXNNYXAgPSB7fTtcclxuICBmaWx0ZXJzOiBDdWJlQXhpc1tdO1xyXG4gIHBhdHRlcm5zOiBQYXR0ZXJuW107XHJcbiAgcGF0dGVybjogUGF0dGVybjtcclxuICBpbmRpY2VzPzogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgeEF4aXM6IHN0cmluZztcclxuICBzZXJpZXM6IHN0cmluZztcclxuICBwcml2YXRlIF9jdWJlOiBzdHJpbmc7XHJcbiAgcHVibGljIGdldCBjdWJlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fY3ViZTtcclxuICB9XHJcbiAgcHVibGljIHNldCBjdWJlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlcy5maW5kKGMgPT4gYy5uYW1lID09PSB2YWx1ZSk7XHJcbiAgICBpZiAoIXRoaXMuY29uZmlndXJhdGlvbikge1xyXG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXNbMF07XHJcbiAgICAgIHZhbHVlID0gdGhpcy5jb25maWd1cmF0aW9uLm5hbWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnBhdHRlcm5zKHZhbHVlKS5cclxuICAgICAgc3Vic2NyaWJlKHAgPT5cclxuICAgICAgICB0aGlzLnBhdHRlcm5zID0gcCk7XHJcbiAgICB0aGlzLl9jdWJlID0gdmFsdWU7XHJcbiAgfVxyXG4gIHN1bT86IFN1bVNldHRpbmdzIHwgU3VtU2V0dGluZ3NbXTtcclxuICAvKiogb25lIG9yIG1vcmUgYXhpcyAqL1xyXG4gIHByb3RlY3RlZCBhZ2dyZWdhdGlvbj86IHN0cmluZ1tdIHwgc3RyaW5nO1xyXG4gIHByaXZhdGUgX3NlbGVjdGlvbjogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgcHJvdGVjdGVkIGdldCBzZWxlY3Rpb24oKTogc3RyaW5nIHwgc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbjtcclxuICB9XHJcbiAgcHJvdGVjdGVkIHNldCBzZWxlY3Rpb24odmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XHJcbiAgICAvKiogb25lIG9yIG1vcmUgYXhpcyAqL1xyXG4gICAgdGhpcy5maWx0ZXJzID0gdGhpcy5jb25maWd1cmF0aW9uLmF4ZXMuZmlsdGVyKGEgPT4gaXNBcnJheSh2YWx1ZSkgP1xyXG4gICAgICB2YWx1ZS5pbmRleE9mKGEubmFtZSkgPiAtMSA6XHJcbiAgICAgIGEubmFtZSA9PT0gdmFsdWUpO1xyXG5cclxuICAgIHRoaXMuZmlsdGVycy5mb3JFYWNoKGYgPT4gdGhpcy5zb3VyY2VzW2YubmFtZV0gPSB0aGlzLl9kcy5hbGwoZi5kYXRhVHlwZSlcclxuICAgICk7XHJcbiAgICB0aGlzLl9zZWxlY3Rpb24gPSB2YWx1ZTtcclxuICB9XHJcbiAgY29uZmlndXJhdGlvbjogQ3ViZTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBfc2VydmljZTogQ3ViZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kczogRGF0YXNvdXJjZVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlKSB7IH1cclxuICBwcml2YXRlIF9wb3B1bGF0ZSgpIHtcclxuICAgIGNvbnN0IGF4ZXMgPSB7IC4uLnRoaXMuX29yaWdpbmFsQXhlcyB9O1xyXG4gICAgaWYgKHRoaXMuYWdncmVnYXRpb24pXHJcbiAgICAgIChpc0FycmF5KHRoaXMuYWdncmVnYXRpb24pID8gdGhpcy5hZ2dyZWdhdGlvbiA6IFt0aGlzLmFnZ3JlZ2F0aW9uIGFzIHN0cmluZ10pLlxyXG4gICAgICAgIGZvckVhY2goZyA9PiB7XHJcbiAgICAgICAgICBpZiAoYXhlc1tnXSlcclxuICAgICAgICAgICAgZGVsZXRlIGF4ZXNbZ107XHJcbiAgICAgICAgfSk7XHJcbiAgICB0aGlzLmF4ZXMgPSBheGVzO1xyXG4gICAgdGhpcy5fbGlzdGVuKCkudGhlbigoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbWJpbmF0aW9uID0gdGhpcy5fY29tYmluZShheGVzKTtcclxuICAgICAgdGhpcy50aXRsZSA9IGNvbWJpbmF0aW9uLmpvaW4oQUNDT1VOVF9ERUxJTUlURVIpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGF4ZXNcclxuICAgKi9cclxuICBwcml2YXRlIF9jb21iaW5lKGF4ZXM6IEF4ZXNNYXApOiAoc3RyaW5nIHwgbnVtYmVyKVtdIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb24uYXhlcy5cclxuICAgICAgZmlsdGVyKGEgPT4gYS5jb21iaW5hdGlvbikuXHJcbiAgICAgIG1hcChhID0+IGF4ZXNbYS5uYW1lXSBhcyBzdHJpbmcgfCBudW1iZXIpO1xyXG4gIH1cclxuICAvKipcclxuICpcclxuICogQHBhcmFtIHZhbHVlXHJcbiAqL1xyXG4gIGZpbHRlcihuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIsIHRpdGxlOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGF4ZXMgPSB7IC4uLnRoaXMuYXhlcyB9O1xyXG4gICAgYXhlc1tuYW1lXSA9IHZhbHVlO1xyXG4gICAgdGhpcy5vbkZpbHRlcihheGVzKTtcclxuICAgIHRoaXMuX2xpc3RlbigpLnRoZW4oKCkgPT5cclxuICAgICAgdGhpcy52YWx1ZXNbbmFtZV0gPSB2YWx1ZVxyXG4gICAgKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfbGlzdGVuKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudGFibGUubG9hZGluZ0NoYW5nZS5waXBlKGZpbHRlcihvayA9PiAhb2spLCBmaXJzdCgpKS50b1Byb21pc2UoKVxyXG4gIH1cclxuXHJcbiAgb25GaWx0ZXIoYXhlczogQXhlc01hcCkge1xyXG4gICAgdGhpcy5heGVzID0gYXhlcztcclxuICB9XHJcbiAgLyoqXHJcbiAgICAqXHJcbiAgICAqIEBwYXJhbSBwYXR0ZXJuXHJcbiAgICAqL1xyXG4gIGFnZ3JlZ2F0ZShwYXR0ZXJuOiBQYXR0ZXJuKSB7XHJcbiAgICBjb25zdCBheGVzID0geyAuLi5wYXR0ZXJuLmF4ZXMgfTtcclxuICAgIHRoaXMuX3NlcnZpY2UuYmFzZSh0aGlzLmN1YmUsIGF4ZXMsIHRoaXMub3JpZ2luYWxBeGVzKTtcclxuICAgIHRoaXMuYXhlcyA9IHsgLi4uYXhlcywgLi4udGhpcy52YWx1ZXMgfTtcclxuICAgIHRoaXMuX2xpc3RlbigpLnRoZW4oKCkgPT4ge1xyXG4gICAgICB0aGlzLnRpdGxlID0gcGF0dGVybi50aXRsZTtcclxuICAgICAgdGhpcy5wYXR0ZXJuID0gcGF0dGVybjtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY29weUF4ZXNUb0ZpbHRlclZhbHVlcygpIHtcclxuICAgIHRoaXMuZmlsdGVycyAmJiB0aGlzLmZpbHRlcnMuZm9yRWFjaChmID0+XHJcbiAgICAgIHRoaXMudmFsdWVzW2YubmFtZV0gPSB0aGlzLmF4ZXNbZi5uYW1lXVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJlc2V0KCkge1xyXG4gICAgdGhpcy5fcG9wdWxhdGUoKTtcclxuICAgIHRoaXMuX2xpc3RlbigpLnRoZW4oKCkgPT4ge1xyXG4gICAgICB0aGlzLnBhdHRlcm4gPSBudWxsO1xyXG4gICAgICB0aGlzLnRpdGxlID0gbnVsbDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaCgpIHtcclxuICAgIHRoaXMuYXhlcyA9IHsgLi4udGhpcy5heGVzIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|