barsa-sap-ui 2.2.2 → 2.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/barsa-sap-ui.mjs +5 -0
- package/esm2022/lib/apply-conditional-formmatings.directive.mjs +90 -0
- package/esm2022/lib/avatar-size.pipe.mjs +41 -0
- package/esm2022/lib/barsa-answer-card/barsa-answer-card.component.mjs +41 -0
- package/esm2022/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +145 -0
- package/esm2022/lib/barsa-bar-download-file/barsa-bar-download-file.component.mjs +23 -0
- package/esm2022/lib/barsa-bar-panel/barsa-bar-panel.component.mjs +23 -0
- package/esm2022/lib/barsa-base-panel/barsa-base-layout-panel.component.mjs +29 -0
- package/esm2022/lib/barsa-breadcrumbs/barsa-breadcrumbs.component.mjs +24 -0
- package/esm2022/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +24 -0
- package/esm2022/lib/barsa-card-row-payam/barsa-card-row-payam.component.mjs +31 -0
- package/esm2022/lib/barsa-cartable-form/barsa-cartable-form.component.mjs +41 -0
- package/esm2022/lib/barsa-cartable-template/barsa-cartable-template.component.mjs +24 -0
- package/esm2022/lib/barsa-chat/barsa-chat.component.mjs +242 -0
- package/esm2022/lib/barsa-chat/chat.model.mjs +8 -0
- package/esm2022/lib/barsa-chat-content/barsa-chat-content.component.mjs +13 -0
- package/esm2022/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.mjs +22 -0
- package/esm2022/lib/barsa-chat-list/barsa-chat-list.component.mjs +66 -0
- package/esm2022/lib/barsa-chat-message/barsa-chat-message.component.mjs +78 -0
- package/esm2022/lib/barsa-chat-thread/barsa-chat-thread.component.mjs +22 -0
- package/esm2022/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.mjs +13 -0
- package/esm2022/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.mjs +15 -0
- package/esm2022/lib/barsa-chip/barsa-chip.component.mjs +72 -0
- package/esm2022/lib/barsa-column-indicator/barsa-column-indicator.component.mjs +23 -0
- package/esm2022/lib/barsa-column-rownumber/barsa-column-rownumber.component.mjs +14 -0
- package/esm2022/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.mjs +14 -0
- package/esm2022/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.mjs +26 -0
- package/esm2022/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +71 -0
- package/esm2022/lib/barsa-dynamic-field/barsa-dynamic-field.component.mjs +40 -0
- package/esm2022/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.mjs +61 -0
- package/esm2022/lib/barsa-field-key-value/barsa-field-key-value.component.mjs +45 -0
- package/esm2022/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +58 -0
- package/esm2022/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.mjs +27 -0
- package/esm2022/lib/barsa-group-cartable/barsa-cartable-group.component.mjs +94 -0
- package/esm2022/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.mjs +22 -0
- package/esm2022/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +37 -0
- package/esm2022/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +41 -0
- package/esm2022/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +29 -0
- package/esm2022/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.mjs +23 -0
- package/esm2022/lib/barsa-modal/barsa-modal.component.mjs +43 -0
- package/esm2022/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +83 -0
- package/esm2022/lib/barsa-network-offline/barsa-network-offline.component.mjs +57 -0
- package/esm2022/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +159 -0
- package/esm2022/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.mjs +17 -0
- package/esm2022/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.mjs +30 -0
- package/esm2022/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.mjs +14 -0
- package/esm2022/lib/barsa-question-answer-form/barsa-question-answer-form.component.mjs +34 -0
- package/esm2022/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.mjs +46 -0
- package/esm2022/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.mjs +79 -0
- package/esm2022/lib/barsa-question-post/barsa-question-post.component.mjs +30 -0
- package/esm2022/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.mjs +31 -0
- package/esm2022/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.mjs +28 -0
- package/esm2022/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +102 -0
- package/esm2022/lib/barsa-row-inline-actionlist/barsa-row-inline-actionlist.component.mjs +26 -0
- package/esm2022/lib/barsa-sap-ui-routing.module.mjs +18 -0
- package/esm2022/lib/barsa-sap-ui.module.mjs +377 -0
- package/esm2022/lib/barsa-search-form/barsa-search-form.component.mjs +29 -0
- package/esm2022/lib/barsa-simple-form/barsa-simple-form.component.mjs +170 -0
- package/esm2022/lib/barsa-tab-route-manager/barsa-tab-route-manager.component.mjs +18 -0
- package/esm2022/lib/barsa-table-column/barsa-table-column.component.mjs +29 -0
- package/esm2022/lib/barsa-table-header/barsa-table-header.component.mjs +222 -0
- package/esm2022/lib/barsa-table-row/barsa-table-row.component.mjs +87 -0
- package/esm2022/lib/barsa-tag-categories/barsa-tag-categories.component.mjs +60 -0
- package/esm2022/lib/barsa-tag-chip/barsa-tag-chip.component.mjs +26 -0
- package/esm2022/lib/barsa-tags-category-row/barsa-tags-category-row.component.mjs +23 -0
- package/esm2022/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.mjs +37 -0
- package/esm2022/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +418 -0
- package/esm2022/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +36 -0
- package/esm2022/lib/barsa-tree-item/barsa-tree-item.component.mjs +153 -0
- package/esm2022/lib/barsa-tree-item/node-has-one-depth-level.pipe.mjs +20 -0
- package/esm2022/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +216 -0
- package/esm2022/lib/blob-viewer/blob-viewer.component.mjs +74 -0
- package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +50 -0
- package/esm2022/lib/captcha-field/captcha-field.component.mjs +28 -0
- package/esm2022/lib/card-item/card-item.component.mjs +74 -0
- package/esm2022/lib/card-view-content/card-view-content.component.mjs +46 -0
- package/esm2022/lib/col-renderer.directive.mjs +47 -0
- package/esm2022/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +56 -0
- package/esm2022/lib/column-matrix-renderer/matrix-value.pipe.mjs +61 -0
- package/esm2022/lib/column-renderer/column-renderer.component.mjs +97 -0
- package/esm2022/lib/constants.mjs +450 -0
- package/esm2022/lib/custom-date-time/custom-date-time.component.mjs +41 -0
- package/esm2022/lib/device-info-field-base.mjs +24 -0
- package/esm2022/lib/dialog-handler.directive.mjs +29 -0
- package/esm2022/lib/download-files.directive.mjs +34 -0
- package/esm2022/lib/dynamic-page-size.pipe.mjs +27 -0
- package/esm2022/lib/file-in-dialog/file-in-dialog.component.mjs +44 -0
- package/esm2022/lib/file-viewer/file-viewer.component.mjs +47 -0
- package/esm2022/lib/file-viewer-content/file-viewer-content.component.mjs +71 -0
- package/esm2022/lib/file-viewer-popover/file-viewer-popover.component.mjs +37 -0
- package/esm2022/lib/form-dialog/form-dialog.component.mjs +171 -0
- package/esm2022/lib/form-dialog-less/form-dialog-less.component.mjs +50 -0
- package/esm2022/lib/form-toolbar/form-toolbar.component.mjs +62 -0
- package/esm2022/lib/form-toolbar-button/form-toolbar-button.component.mjs +45 -0
- package/esm2022/lib/form-wizard/form-wizard.component.mjs +21 -0
- package/esm2022/lib/fullscreen-dialog.directive.mjs +60 -0
- package/esm2022/lib/fullscreen-files.directive.mjs +43 -0
- package/esm2022/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +217 -0
- package/esm2022/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +215 -0
- package/esm2022/lib/global-search/global-search.component.mjs +27 -0
- package/esm2022/lib/global-search-module/global-search-module.component.mjs +29 -0
- package/esm2022/lib/global-search-panel/global-search-panel.component.mjs +25 -0
- package/esm2022/lib/header-avatar/header-avatar.component.mjs +18 -0
- package/esm2022/lib/htree-create-new/htree-create-new.component.mjs +48 -0
- package/esm2022/lib/hyperlink/hyperlink.component.mjs +23 -0
- package/esm2022/lib/index.mjs +549 -0
- package/esm2022/lib/inline-save-and-cancel/inline-save-and-cancel.component.mjs +32 -0
- package/esm2022/lib/layout-actions/layout-actions.component.mjs +70 -0
- package/esm2022/lib/layout-control/layout-control.component.mjs +302 -0
- package/esm2022/lib/layout-wizard/layout-wizard.component.mjs +180 -0
- package/esm2022/lib/list-item/list-item.component.mjs +34 -0
- package/esm2022/lib/ly-empty-space/ly-empty-space.component.mjs +42 -0
- package/esm2022/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +82 -0
- package/esm2022/lib/ly-label/ly-label.component.mjs +37 -0
- package/esm2022/lib/ly-layout-container/ly-layout-container.component.mjs +83 -0
- package/esm2022/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +17 -0
- package/esm2022/lib/ly-layout-field-label/ly-layout-field-label.component.mjs +24 -0
- package/esm2022/lib/ly-layout-panel/ly-layout-panel.component.mjs +83 -0
- package/esm2022/lib/ly-line/ly-line.component.mjs +56 -0
- package/esm2022/lib/ly-simple-label/ly-simple-label.component.mjs +22 -0
- package/esm2022/lib/ly-tab-container/ly-tab-container.component.mjs +44 -0
- package/esm2022/lib/ly-tab-page/ly-tab-page.component.mjs +44 -0
- package/esm2022/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +51 -0
- package/esm2022/lib/manage-filters-report/manage-filters-report.component.mjs +43 -0
- package/esm2022/lib/mask/mask.component.mjs +22 -0
- package/esm2022/lib/message-strip/message-strip.component.mjs +28 -0
- package/esm2022/lib/models/grid-data-provider.mjs +114 -0
- package/esm2022/lib/models/grid-view.mjs +2 -0
- package/esm2022/lib/models/index.mjs +2 -0
- package/esm2022/lib/no-data/no-data.component.mjs +31 -0
- package/esm2022/lib/notification-item/notification-item.component.mjs +57 -0
- package/esm2022/lib/notification-item-actions/notification-item-actions.component.mjs +79 -0
- package/esm2022/lib/notification-popup.service.mjs +92 -0
- package/esm2022/lib/object-status-icon.pipe.mjs +27 -0
- package/esm2022/lib/progress-indicator/progress-indicator.component.mjs +18 -0
- package/esm2022/lib/report-navigator/report-navigator.component.mjs +68 -0
- package/esm2022/lib/report-new-top-form/report-new-top-form.component.mjs +60 -0
- package/esm2022/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +35 -0
- package/esm2022/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +97 -0
- package/esm2022/lib/report-search-panel-save/report-search-panel-save.component.mjs +88 -0
- package/esm2022/lib/report-tree-base.mjs +387 -0
- package/esm2022/lib/report-view-renderer.directive.mjs +392 -0
- package/esm2022/lib/responsive-toolbar/responsive-toolbar.component.mjs +50 -0
- package/esm2022/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +84 -0
- package/esm2022/lib/rich-text-static/rich-text-static.component.mjs +72 -0
- package/esm2022/lib/sap-font-class.pipe.mjs +30 -0
- package/esm2022/lib/sap-font.pipe.mjs +30 -0
- package/esm2022/lib/sap-size.pipe.mjs +28 -0
- package/esm2022/lib/sap-ui-report-base.component.mjs +809 -0
- package/esm2022/lib/search-panel/search-panel.component.mjs +63 -0
- package/esm2022/lib/static-text/static-text.component.mjs +15 -0
- package/esm2022/lib/table-th.directive.mjs +87 -0
- package/esm2022/lib/title/title.component.mjs +15 -0
- package/esm2022/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.mjs +34 -0
- package/esm2022/lib/ui-bpmn-viewer/ui-bpmn-viewer.component.mjs +33 -0
- package/esm2022/lib/ui-button/ui-button.component.mjs +32 -0
- package/esm2022/lib/ui-calendar/ui-calendar.component.mjs +53 -0
- package/esm2022/lib/ui-card-view/ui-card-view.component.mjs +58 -0
- package/esm2022/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +42 -0
- package/esm2022/lib/ui-check-box/ui-check-box.component.mjs +39 -0
- package/esm2022/lib/ui-color-ui/ui-color-ui.component.mjs +50 -0
- package/esm2022/lib/ui-container-with-button/ui-container-with-button.component.mjs +38 -0
- package/esm2022/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +191 -0
- package/esm2022/lib/ui-date-time/ui-date-time.component.mjs +150 -0
- package/esm2022/lib/ui-editable-grid/ui-editable-grid.component.mjs +108 -0
- package/esm2022/lib/ui-exception-form/ui-exception-form.component.mjs +53 -0
- package/esm2022/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +124 -0
- package/esm2022/lib/ui-form-panel/ui-form-panel.component.mjs +103 -0
- package/esm2022/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +32 -0
- package/esm2022/lib/ui-graph/ui-graph.component.mjs +17 -0
- package/esm2022/lib/ui-grid/ui-grid.component.mjs +25 -0
- package/esm2022/lib/ui-grid-columns/ui-grid-columns.component.mjs +43 -0
- package/esm2022/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +66 -0
- package/esm2022/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +75 -0
- package/esm2022/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +58 -0
- package/esm2022/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +123 -0
- package/esm2022/lib/ui-html-viewer/ui-html-viewer.component.mjs +16 -0
- package/esm2022/lib/ui-info-bar-panel/ui-info-bar-panel.component.mjs +11 -0
- package/esm2022/lib/ui-label/ui-label.component.mjs +12 -0
- package/esm2022/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +379 -0
- package/esm2022/lib/ui-list-view/ui-list-view.component.mjs +84 -0
- package/esm2022/lib/ui-map/ui-map.component.mjs +68 -0
- package/esm2022/lib/ui-matrix-view/ui-matrix-view.component.mjs +124 -0
- package/esm2022/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +19 -0
- package/esm2022/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.mjs +14 -0
- package/esm2022/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +55 -0
- package/esm2022/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +429 -0
- package/esm2022/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +28 -0
- package/esm2022/lib/ui-multi-select-card/ui-multi-select-card.component.mjs +37 -0
- package/esm2022/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.mjs +59 -0
- package/esm2022/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +93 -0
- package/esm2022/lib/ui-multi-select-radio/ui-multi-select-radio.component.mjs +36 -0
- package/esm2022/lib/ui-multi-select-slider/ui-multi-select-slider.component.mjs +56 -0
- package/esm2022/lib/ui-multi-select-smile/ui-multi-select-smile.component.mjs +28 -0
- package/esm2022/lib/ui-notification-view/ui-notification-view.component.mjs +47 -0
- package/esm2022/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +33 -0
- package/esm2022/lib/ui-num-int-slider/ui-num-int-slider.component.mjs +27 -0
- package/esm2022/lib/ui-num-int-ui/ui-num-int-ui.component.mjs +21 -0
- package/esm2022/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +268 -0
- package/esm2022/lib/ui-picture-file/ui-picture-file.component.mjs +101 -0
- package/esm2022/lib/ui-pictures-info/ui-pictures-info.component.mjs +261 -0
- package/esm2022/lib/ui-radio-group/ui-radio-group.component.mjs +48 -0
- package/esm2022/lib/ui-read-only-field/ui-read-only-field.component.mjs +36 -0
- package/esm2022/lib/ui-report-container/ui-report-container.component.mjs +46 -0
- package/esm2022/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.mjs +24 -0
- package/esm2022/lib/ui-simple-combo/ui-simple-combo.component.mjs +55 -0
- package/esm2022/lib/ui-single-picture/ui-single-picture.component.mjs +36 -0
- package/esm2022/lib/ui-switch-button/ui-switch-button.component.mjs +20 -0
- package/esm2022/lib/ui-table-view/ui-table-view.component.mjs +296 -0
- package/esm2022/lib/ui-text-area/ui-text-area.component.mjs +49 -0
- package/esm2022/lib/ui-text-field/ui-text-field.component.mjs +52 -0
- package/esm2022/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.mjs +48 -0
- package/esm2022/lib/ui-time-span/ui-time-span.component.mjs +24 -0
- package/esm2022/lib/ui-tinymce/ui-tinymce.component.mjs +53 -0
- package/esm2022/lib/ui-tree/ui-tree.component.mjs +114 -0
- package/esm2022/lib/ui-tree-view/ui-tree-view.component.mjs +100 -0
- package/esm2022/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +23 -0
- package/esm2022/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +310 -0
- package/esm2022/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +25 -0
- package/esm2022/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +93 -0
- package/esm2022/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +119 -0
- package/esm2022/lib/ul-notify-popup/ul-notify-popup.component.mjs +32 -0
- package/esm2022/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +48 -0
- package/esm2022/lib/ulv-column-settings/ulv-column-settings.component.mjs +53 -0
- package/esm2022/lib/ulv-context-menu/ulv-context-menu.component.mjs +116 -0
- package/esm2022/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +43 -0
- package/esm2022/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +196 -0
- package/esm2022/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +44 -0
- package/esm2022/lib/ulv-paging/ulv-paging.component.mjs +84 -0
- package/esm2022/lib/ulv-selection/ulv-selection.component.mjs +65 -0
- package/esm2022/lib/ulv-settings/ulv-settings.component.mjs +116 -0
- package/esm2022/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +54 -0
- package/esm2022/lib/ulv-toolbar/ulv-toolbar.component.mjs +177 -0
- package/esm2022/lib/upload-file-status.pipe.mjs +29 -0
- package/esm2022/lib/util-chat-time-badge.pipe.mjs +18 -0
- package/esm2022/lib/util-date-to-hh-mm.pipe.mjs +23 -0
- package/esm2022/lib/wizard-layout.directive.mjs +104 -0
- package/esm2022/public-api.mjs +236 -0
- package/fesm2022/barsa-sap-ui.mjs +4 -4
- package/fesm2022/barsa-sap-ui.mjs.map +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1,549 @@
|
|
|
1
|
+
import { ContentDensityMode } from '@fundamental-ngx/core';
|
|
2
|
+
import { BarsaApi, getDeviceIsMobile, getDeviceIsPhone, getDeviceIsTablet } from 'barsa-novin-ray-core';
|
|
3
|
+
import { UiTextFieldComponent } from './ui-text-field/ui-text-field.component';
|
|
4
|
+
import { LyLayoutFieldLabelComponent } from './ly-layout-field-label/ly-layout-field-label.component';
|
|
5
|
+
import { UiCheckBoxComponent } from './ui-check-box/ui-check-box.component';
|
|
6
|
+
import { UiSimpleComboComponent } from './ui-simple-combo/ui-simple-combo.component';
|
|
7
|
+
import { UiRadioGroupComponent } from './ui-radio-group/ui-radio-group.component';
|
|
8
|
+
import { UiGridComponent } from './ui-grid/ui-grid.component';
|
|
9
|
+
import { UiMapComponent } from './ui-map/ui-map.component';
|
|
10
|
+
import { LyLayoutContainerOfRootComponent } from './ly-layout-container-of-root/ly-layout-container-of-root.component';
|
|
11
|
+
import { LyLayoutPanelComponent } from './ly-layout-panel/ly-layout-panel.component';
|
|
12
|
+
import { UiReadOnlyFieldComponent } from './ui-read-only-field/ui-read-only-field.component';
|
|
13
|
+
import { UiContainerWithButtonComponent } from './ui-container-with-button/ui-container-with-button.component';
|
|
14
|
+
import { UiPictureFileComponent } from './ui-picture-file/ui-picture-file.component';
|
|
15
|
+
import { UiMoInfoUlvComboComponent } from './ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component';
|
|
16
|
+
import { UiMultiSelectComboComponent } from './ui-multi-select-combo/ui-multi-select-combo.component';
|
|
17
|
+
import { UiNumDecimalUiComponent } from './ui-num-decimal-ui/ui-num-decimal-ui.component';
|
|
18
|
+
import { UiNumIntUiComponent } from './ui-num-int-ui/ui-num-int-ui.component';
|
|
19
|
+
import { UiTimeSpanComponent } from './ui-time-span/ui-time-span.component';
|
|
20
|
+
import { UiFileLinearListBoxComponent } from './ui-file-linear-list-box/ui-file-linear-list-box.component';
|
|
21
|
+
import { LyEmptySpaceComponent } from './ly-empty-space/ly-empty-space.component';
|
|
22
|
+
import { UiSinglePictureComponent } from './ui-single-picture/ui-single-picture.component';
|
|
23
|
+
import { UlvSelectionComponent } from './ulv-selection/ulv-selection.component';
|
|
24
|
+
import { UlvToolbarComponent } from './ulv-toolbar/ulv-toolbar.component';
|
|
25
|
+
import { UlvPagingComponent } from './ulv-paging/ulv-paging.component';
|
|
26
|
+
import { UiGridSortSettingComponent } from './ui-grid-sort-setting/ui-grid-sort-setting.component';
|
|
27
|
+
import { UiGridSortItemComponent } from './ui-grid-sort-item/ui-grid-sort-item.component';
|
|
28
|
+
import { UiGridColumnsComponent } from './ui-grid-columns/ui-grid-columns.component';
|
|
29
|
+
import { MaskComponent } from './mask/mask.component';
|
|
30
|
+
import { UiInfoBarPanelComponent } from './ui-info-bar-panel/ui-info-bar-panel.component';
|
|
31
|
+
import { UiFormPanelComponent } from './ui-form-panel/ui-form-panel.component';
|
|
32
|
+
import { UiSearchCommandInfoUiComponent } from './ui-search-command-info-ui/ui-search-command-info-ui.component';
|
|
33
|
+
import { UlvSettingsComponent } from './ulv-settings/ulv-settings.component';
|
|
34
|
+
import { UiTinymceComponent } from './ui-tinymce/ui-tinymce.component';
|
|
35
|
+
import { UiButtonComponent } from './ui-button/ui-button.component';
|
|
36
|
+
import { UiDateTimeComponent } from './ui-date-time/ui-date-time.component';
|
|
37
|
+
import { FormDialogComponent } from './form-dialog/form-dialog.component';
|
|
38
|
+
import { UiMoInfoSubFormUiComponent } from './ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component';
|
|
39
|
+
import { ResponsiveToolbarComponent } from './responsive-toolbar/responsive-toolbar.component';
|
|
40
|
+
import { ResponsiveToolbarRendererComponent } from './responsive-toolbar-renderer/responsive-toolbar-renderer.component';
|
|
41
|
+
import { UiTextAreaComponent } from './ui-text-area/ui-text-area.component';
|
|
42
|
+
import { LayoutControlComponent } from './layout-control/layout-control.component';
|
|
43
|
+
import { LayoutWizardComponent } from './layout-wizard/layout-wizard.component';
|
|
44
|
+
import { FormWizardComponent } from './form-wizard/form-wizard.component';
|
|
45
|
+
import { WizardLayoutDirective } from './wizard-layout.directive';
|
|
46
|
+
import { FormDialogLessComponent } from './form-dialog-less/form-dialog-less.component';
|
|
47
|
+
import { RichTextStaticComponent } from './rich-text-static/rich-text-static.component';
|
|
48
|
+
import { UiPicturesInfoComponent } from './ui-pictures-info/ui-pictures-info.component';
|
|
49
|
+
import { LyHorizontalLayoutComponent } from './ly-horizontal-layout/ly-horizontal-layout.component';
|
|
50
|
+
import { LyVerticalLayoutComponent } from './ly-vertical-layout/ly-vertical-layout.component';
|
|
51
|
+
import { LyTabContainerComponent } from './ly-tab-container/ly-tab-container.component';
|
|
52
|
+
import { LyTabPageComponent } from './ly-tab-page/ly-tab-page.component';
|
|
53
|
+
import { LyLabelComponent } from './ly-label/ly-label.component';
|
|
54
|
+
import { ColRendererDirective } from './col-renderer.directive';
|
|
55
|
+
import { UiMoInfoComboViewerComponent } from './ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component';
|
|
56
|
+
import { UlMsgBoxAdapterComponent } from './ul-msg-box-adapter/ul-msg-box-adapter.component';
|
|
57
|
+
import { HeaderAvatarComponent } from './header-avatar/header-avatar.component';
|
|
58
|
+
import { ApplyConditionalFormatsDirective } from './apply-conditional-formmatings.directive';
|
|
59
|
+
import { UiWorkflowPanelUiComponent } from './ui-workflow-panel-ui/ui-workflow-panel-ui.component';
|
|
60
|
+
import { UlvContextMenuComponent } from './ulv-context-menu/ulv-context-menu.component';
|
|
61
|
+
import { UlLoadingMaskUiComponent } from './ul-loading-mask-ui/ul-loading-mask-ui.component';
|
|
62
|
+
import { UiTextFieldAutoCompleteComponent } from './ui-text-field-auto-complete/ui-text-field-auto-complete.component';
|
|
63
|
+
import { CaptchaFieldComponent } from './captcha-field/captcha-field.component';
|
|
64
|
+
import { LySimpleLabelComponent } from './ly-simple-label/ly-simple-label.component';
|
|
65
|
+
import { GlobalSearchPanelComponent } from './global-search-panel/global-search-panel.component';
|
|
66
|
+
import { GlobalSearchModuleComponent } from './global-search-module/global-search-module.component';
|
|
67
|
+
import { GlobalSearchComponent } from './global-search/global-search.component';
|
|
68
|
+
import { HyperlinkComponent } from './hyperlink/hyperlink.component';
|
|
69
|
+
import { StaticTextComponent } from './static-text/static-text.component';
|
|
70
|
+
import { UlToastAdapterComponent } from './ul-toast-adapter/ul-toast-adapter.component';
|
|
71
|
+
import { MessageStripComponent } from './message-strip/message-strip.component';
|
|
72
|
+
import { UiLinearListContainerWithButtonComponent } from './ui-linear-list-container-with-button/ui-linear-list-container-with-button.component';
|
|
73
|
+
import { FundamentalDynamicFormComponent } from './fundamental-dynamic-form/fundamental-dynamic-form.component';
|
|
74
|
+
import { LayoutActionsComponent } from './layout-actions/layout-actions.component';
|
|
75
|
+
import { LyLayoutContainerComponent } from './ly-layout-container/ly-layout-container.component';
|
|
76
|
+
import { UiUlvFormMultiSelectUiComponent } from './ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component';
|
|
77
|
+
import { UlvFormMultiSelectComponent } from './ulv-form-multi-select/ulv-form-multi-select.component';
|
|
78
|
+
import { UlvColumnSettingsComponent } from './ulv-column-settings/ulv-column-settings.component';
|
|
79
|
+
import { UlvFilterSettingsComponent } from './ulv-filter-settings/ulv-filter-settings.component';
|
|
80
|
+
import { UlvSortSettingsComponent } from './ulv-sort-settings/ulv-sort-settings.component';
|
|
81
|
+
import { UlvGroupbySettingsComponent } from './ulv-groupby-settings/ulv-groupby-settings.component';
|
|
82
|
+
import { BarsaListFileLinearComponent } from './barsa-list-file-linear/barsa-list-file-linear.component';
|
|
83
|
+
import { UiPdfViewerComponent } from './ui-pdf-viewer/ui-pdf-viewer.component';
|
|
84
|
+
import { BarsaTinyemceComponent } from './barsa-tinyemce/barsa-tinyemce.component';
|
|
85
|
+
import { UiMonacoEditorComponent } from './ui-monaco-editor/ui-monaco-editor.component';
|
|
86
|
+
import { BarsaMonacoEditorComponent } from './barsa-monaco-editor/barsa-monaco-editor.component';
|
|
87
|
+
import { BarsaDateTimePickerComponent } from './barsa-date-time-picker/barsa-date-time-picker.component';
|
|
88
|
+
import { BarsaTreeItemComponent } from './barsa-tree-item/barsa-tree-item.component';
|
|
89
|
+
import { UploadFileStatusPipe } from './upload-file-status.pipe';
|
|
90
|
+
import { UiSwitchButtonComponent } from './ui-switch-button/ui-switch-button.component';
|
|
91
|
+
import { UiColorUiComponent } from './ui-color-ui/ui-color-ui.component';
|
|
92
|
+
import { LyLineComponent } from './ly-line/ly-line.component';
|
|
93
|
+
import { UiUlvMainUiComponent } from './ui-ulv-main-ui/ui-ulv-main-ui.component';
|
|
94
|
+
import { ReportNavigatorComponent } from './report-navigator/report-navigator.component';
|
|
95
|
+
import { ManageFiltersReportComponent } from './manage-filters-report/manage-filters-report.component';
|
|
96
|
+
import { ReportSearchFieldsManageComponent } from './report-search-fields-manage/report-search-fields-manage.component';
|
|
97
|
+
import { ReportSearchFieldsHiddenSettingsComponent } from './report-search-fields-hidden-settings/report-search-fields-hidden-settings.component';
|
|
98
|
+
import { SearchPanelComponent } from './search-panel/search-panel.component';
|
|
99
|
+
import { ReportSearchPanelSaveComponent } from './report-search-panel-save/report-search-panel-save.component';
|
|
100
|
+
import { UiGridFilterSettingsComponent } from './ui-grid-filter-settings/ui-grid-filter-settings.component';
|
|
101
|
+
import { UiGridFilterItemComponent } from './ui-grid-filter-item/ui-grid-filter-item.component';
|
|
102
|
+
import { SapFontPipe } from './sap-font.pipe';
|
|
103
|
+
import { SapFontClassPipe } from './sap-font-class.pipe';
|
|
104
|
+
import { UiDateRangeExComponent } from './ui-date-range-ex/ui-date-range-ex.component';
|
|
105
|
+
import { UlNotifyPopupComponent } from './ul-notify-popup/ul-notify-popup.component';
|
|
106
|
+
import { UiTableViewComponent } from './ui-table-view/ui-table-view.component';
|
|
107
|
+
import { UiListViewComponent } from './ui-list-view/ui-list-view.component';
|
|
108
|
+
import { StringToArrayPipe, UiCardViewComponent } from './ui-card-view/ui-card-view.component';
|
|
109
|
+
import { UiReportContainerComponent } from './ui-report-container/ui-report-container.component';
|
|
110
|
+
import { NoDataComponent } from './no-data/no-data.component';
|
|
111
|
+
import { ColumnRendererComponent } from './column-renderer/column-renderer.component';
|
|
112
|
+
import { InlineSaveAndCancelComponent } from './inline-save-and-cancel/inline-save-and-cancel.component';
|
|
113
|
+
import { UiTreeViewComponent } from './ui-tree-view/ui-tree-view.component';
|
|
114
|
+
import { UiTreeComponent } from './ui-tree/ui-tree.component';
|
|
115
|
+
import { UiCalendarComponent } from './ui-calendar/ui-calendar.component';
|
|
116
|
+
import { NodeHasOneDepthLevelPipe } from './barsa-tree-item/node-has-one-depth-level.pipe';
|
|
117
|
+
import { UiAspReportViewerComponent } from './ui-asp-report-viewer/ui-asp-report-viewer.component';
|
|
118
|
+
import { UiGraphComponent } from './ui-graph/ui-graph.component';
|
|
119
|
+
import { UiExceptionFormComponent } from './ui-exception-form/ui-exception-form.component';
|
|
120
|
+
import { UiEditableGridComponent } from './ui-editable-grid/ui-editable-grid.component';
|
|
121
|
+
import { ColumnMatrixRendererComponent } from './column-matrix-renderer/column-matrix-renderer.component';
|
|
122
|
+
import { UiMatrixViewComponent } from './ui-matrix-view/ui-matrix-view.component';
|
|
123
|
+
import { CustomDateTimeComponent } from './custom-date-time/custom-date-time.component';
|
|
124
|
+
import { MatrixValuePipe } from './column-matrix-renderer/matrix-value.pipe';
|
|
125
|
+
import { BarsaAspViewerComponent } from './barsa-asp-viewer/barsa-asp-viewer.component';
|
|
126
|
+
import { FileInDialogComponent } from './file-in-dialog/file-in-dialog.component';
|
|
127
|
+
import { DynamicPageSizePipe } from './dynamic-page-size.pipe';
|
|
128
|
+
import { ReportViewRendererDirective } from './report-view-renderer.directive';
|
|
129
|
+
import { UiMoInfoGeneralObjectUiComponent } from './ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component';
|
|
130
|
+
import { UiGanttChartComponent } from './ui-gantt-chart/ui-gantt-chart.component';
|
|
131
|
+
import { GanttDhtmlChartViewComponent } from './gantt-dhtml-chart-view/gantt-dhtml-chart-view.component';
|
|
132
|
+
import { FullscreenDialogDirective } from './fullscreen-dialog.directive';
|
|
133
|
+
import { ProgressIndicatorComponent } from './progress-indicator/progress-indicator.component';
|
|
134
|
+
import { CardViewContentComponent } from './card-view-content/card-view-content.component';
|
|
135
|
+
import { CardItemComponent } from './card-item/card-item.component';
|
|
136
|
+
import { UiCardViewHorizontalGroupComponent } from './ui-card-view-horizontal-group/ui-card-view-horizontal-group.component';
|
|
137
|
+
import { TitleComponent } from './title/title.component';
|
|
138
|
+
import { BarsaUlvMainComponent } from './barsa-ulv-main/barsa-ulv-main.component';
|
|
139
|
+
import { ListItemComponent } from './list-item/list-item.component';
|
|
140
|
+
import { HtreeCreateNewComponent } from './htree-create-new/htree-create-new.component';
|
|
141
|
+
import { BarsaTableRowComponent } from './barsa-table-row/barsa-table-row.component';
|
|
142
|
+
import { BarsaTableColumnComponent } from './barsa-table-column/barsa-table-column.component';
|
|
143
|
+
import { BarsaTableHeaderComponent } from './barsa-table-header/barsa-table-header.component';
|
|
144
|
+
import { BreadcrumbComponent } from './breadcrumb/breadcrumb.component';
|
|
145
|
+
import { UiLabelComponent } from './ui-label/ui-label.component';
|
|
146
|
+
import { FormToolbarButtonComponent } from './form-toolbar-button/form-toolbar-button.component';
|
|
147
|
+
import { BarsaSearchFormComponent } from './barsa-search-form/barsa-search-form.component';
|
|
148
|
+
import { ReportNewTopFormComponent } from './report-new-top-form/report-new-top-form.component';
|
|
149
|
+
import { BarsaNetworkOfflineComponent } from './barsa-network-offline/barsa-network-offline.component';
|
|
150
|
+
import { BlobViewerComponent } from './blob-viewer/blob-viewer.component';
|
|
151
|
+
import { FileViewerComponent } from './file-viewer/file-viewer.component';
|
|
152
|
+
import { FileViewerContentComponent } from './file-viewer-content/file-viewer-content.component';
|
|
153
|
+
import { FileViewerPopoverComponent } from './file-viewer-popover/file-viewer-popover.component';
|
|
154
|
+
import { DownloadFilesDirective } from './download-files.directive';
|
|
155
|
+
import { FullscreenFilesDirective } from './fullscreen-files.directive';
|
|
156
|
+
import { NotificationItemComponent } from './notification-item/notification-item.component';
|
|
157
|
+
import { BarsaCartableTemplateComponent } from './barsa-cartable-template/barsa-cartable-template.component';
|
|
158
|
+
import { BarsaCartableGroupComponent } from './barsa-group-cartable/barsa-cartable-group.component';
|
|
159
|
+
import { BarsaCartableFormComponent } from './barsa-cartable-form/barsa-cartable-form.component';
|
|
160
|
+
import { BarsaColumnIndicatorComponent } from './barsa-column-indicator/barsa-column-indicator.component';
|
|
161
|
+
import { BarsaFieldKeyValueComponent } from './barsa-field-key-value/barsa-field-key-value.component';
|
|
162
|
+
import { BarsaToolbaritemSearchComponent } from './barsa-toolbaritem-search/barsa-toolbaritem-search.component';
|
|
163
|
+
import { UiHtmlViewerComponent } from './ui-html-viewer/ui-html-viewer.component';
|
|
164
|
+
import { BarsaPishnamayeshPayamComponent } from './barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component';
|
|
165
|
+
import { BarsaTextEllipsisComponent } from './barsa-text-ellipsis/barsa-text-ellipsis.component';
|
|
166
|
+
import { BarsaListFileLinearGmailComponent } from './barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component';
|
|
167
|
+
import { BarsaLinkableItemsPanelComponent } from './barsa-linkable-items-panel/barsa-linkable-items-panel.component';
|
|
168
|
+
import { BarsaEnumMenuButtonComponent } from './barsa-enum-menu-button/barsa-enum-menu-button.component';
|
|
169
|
+
import { BarsaCardLayoutPanelComponent } from './barsa-card-layout-panel/barsa-card-layout-panel.component';
|
|
170
|
+
import { BarsaHorizontalFlexPanelComponent } from './barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component';
|
|
171
|
+
import { BarsaBaseLayoutPanelComponent } from './barsa-base-panel/barsa-base-layout-panel.component';
|
|
172
|
+
import { BarsaBarPanelComponent } from './barsa-bar-panel/barsa-bar-panel.component';
|
|
173
|
+
import { BarsaFormSideContentComponent } from './barsa-form-side-content/barsa-form-side-content.component';
|
|
174
|
+
import { DialogHandlerDirective } from './dialog-handler.directive';
|
|
175
|
+
import { BarsaSimpleFormComponent } from './barsa-simple-form/barsa-simple-form.component';
|
|
176
|
+
import { FormToolbarComponent } from './form-toolbar/form-toolbar.component';
|
|
177
|
+
import { BarsaListLayoutPanelComponent } from './barsa-list-layout-panel/barsa-list-layout-panel.component';
|
|
178
|
+
import { BarsaGridLayoutPanelComponent } from './barsa-grid-layout-panel/barsa-grid-layout-panel.component';
|
|
179
|
+
import { BarsaDynamicFieldComponent } from './barsa-dynamic-field/barsa-dynamic-field.component';
|
|
180
|
+
import { SapSizePipe } from './sap-size.pipe';
|
|
181
|
+
import { UiMultiSelectRadioComponent } from './ui-multi-select-radio/ui-multi-select-radio.component';
|
|
182
|
+
import { UiMultiSelectCheckboxComponent } from './ui-multi-select-checkbox/ui-multi-select-checkbox.component';
|
|
183
|
+
import { UiMultiSelectSliderComponent } from './ui-multi-select-slider/ui-multi-select-slider.component';
|
|
184
|
+
import { UiMultiSelectCardComponent } from './ui-multi-select-card/ui-multi-select-card.component';
|
|
185
|
+
import { UiMultiSelectSmileComponent } from './ui-multi-select-smile/ui-multi-select-smile.component';
|
|
186
|
+
import { UiNumIntSliderComponent } from './ui-num-int-slider/ui-num-int-slider.component';
|
|
187
|
+
import { BarsaReportCheckboxSwitchButtonComponent } from './barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component';
|
|
188
|
+
import { BarsaColumnRowNumberComponent } from './barsa-column-rownumber/barsa-column-rownumber.component';
|
|
189
|
+
import { BarsaReportOneOfListComponent } from './barsa-report-one-of-list/barsa-report-one-of-list.component';
|
|
190
|
+
import { BarsaCardRowPayamComponent } from './barsa-card-row-payam/barsa-card-row-payam.component';
|
|
191
|
+
import { BarsaQuestionPostComponent } from './barsa-question-post/barsa-question-post.component';
|
|
192
|
+
import { BarsaQuestionAnswerFormComponent } from './barsa-question-answer-form/barsa-question-answer-form.component';
|
|
193
|
+
import { BarsaQuestionAnswerFormAddCommentComponent } from './barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component';
|
|
194
|
+
import { BarsaAnswerCardComponent } from './barsa-answer-card/barsa-answer-card.component';
|
|
195
|
+
import { BarsaQuestionAnswerCreatorTimeSectionComponent } from './barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component';
|
|
196
|
+
import { BarsaQuestionAnswerCommentsSectionComponent } from './barsa-question-answer-comments-section/barsa-question-answer-comments-section.component';
|
|
197
|
+
import { BarsaQuestionAnswerVoteSectionComponent } from './barsa-question-answer-vote-section/barsa-question-answer-vote-section.component';
|
|
198
|
+
import { BarsaQuestionAnswerContentActionsSectionComponent } from './barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component';
|
|
199
|
+
import { BarsaChipComponent } from './barsa-chip/barsa-chip.component';
|
|
200
|
+
import { BarsaReportCardFlexViewComponent } from './barsa-report-card-flex-view/barsa-report-card-flex-view.component';
|
|
201
|
+
import { BarsaTagsCategoryRowComponent } from './barsa-tags-category-row/barsa-tags-category-row.component';
|
|
202
|
+
import { BarsaTagChipComponent } from './barsa-tag-chip/barsa-tag-chip.component';
|
|
203
|
+
import { BarsaTagCategoriesComponent } from './barsa-tag-categories/barsa-tag-categories.component';
|
|
204
|
+
import { BarsaCustomInlineEditComponent } from './barsa-custom-inline-edit/barsa-custom-inline-edit.component';
|
|
205
|
+
import { BarsaCustomInlineEditRowComponent } from './barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component';
|
|
206
|
+
import { BarsaChatComponent } from './barsa-chat/barsa-chat.component';
|
|
207
|
+
import { BarsaChatContentComponent } from './barsa-chat-content/barsa-chat-content.component';
|
|
208
|
+
import { BarsaChatMessageComponent } from './barsa-chat-message/barsa-chat-message.component';
|
|
209
|
+
import { BarsaChatThreadComponent } from './barsa-chat-thread/barsa-chat-thread.component';
|
|
210
|
+
import { BarsaChatThreadsListComponent } from './barsa-chat-threads-list/barsa-chat-threads-list.component';
|
|
211
|
+
import { BarsaChatThreadsListToolbarComponent } from './barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component';
|
|
212
|
+
import { BarsaChatContentToolbarComponent } from './barsa-chat-content-toolbar/barsa-chat-content-toolbar.component';
|
|
213
|
+
import { BarsaChatListComponent } from './barsa-chat-list/barsa-chat-list.component';
|
|
214
|
+
import { AvatarGridColPipe } from './avatar-size.pipe';
|
|
215
|
+
import { BarsaModalComponent } from './barsa-modal/barsa-modal.component';
|
|
216
|
+
import { BarsaTabRouteManagerComponent } from './barsa-tab-route-manager/barsa-tab-route-manager.component';
|
|
217
|
+
import { BarsaBreadcrumbsComponent } from './barsa-breadcrumbs/barsa-breadcrumbs.component';
|
|
218
|
+
import { TableThDirective } from './table-th.directive';
|
|
219
|
+
import { BarsaRowInlineActionlistComponent } from './barsa-row-inline-actionlist/barsa-row-inline-actionlist.component';
|
|
220
|
+
import { ObjectStatusIconPipe } from './object-status-icon.pipe';
|
|
221
|
+
import { UiBpmnViewerComponent } from './ui-bpmn-viewer/ui-bpmn-viewer.component';
|
|
222
|
+
import { BarsaBarDownloadFileComponent } from './barsa-bar-download-file/barsa-bar-download-file.component';
|
|
223
|
+
import { UiNotificationViewComponent } from './ui-notification-view/ui-notification-view.component';
|
|
224
|
+
import { NotificationItemActionsComponent } from './notification-item-actions/notification-item-actions.component';
|
|
225
|
+
export const components = [
|
|
226
|
+
BarsaBarDownloadFileComponent,
|
|
227
|
+
UiTextFieldComponent,
|
|
228
|
+
LyLayoutFieldLabelComponent,
|
|
229
|
+
UiCheckBoxComponent,
|
|
230
|
+
UiSimpleComboComponent,
|
|
231
|
+
UiRadioGroupComponent,
|
|
232
|
+
UiGridComponent,
|
|
233
|
+
UiMapComponent,
|
|
234
|
+
LyLayoutContainerOfRootComponent,
|
|
235
|
+
LyLayoutPanelComponent,
|
|
236
|
+
UiReadOnlyFieldComponent,
|
|
237
|
+
UiContainerWithButtonComponent,
|
|
238
|
+
UiPictureFileComponent,
|
|
239
|
+
UiMoInfoUlvComboComponent,
|
|
240
|
+
UiMultiSelectComboComponent,
|
|
241
|
+
UiNumDecimalUiComponent,
|
|
242
|
+
UiNumIntUiComponent,
|
|
243
|
+
UiTimeSpanComponent,
|
|
244
|
+
UiFileLinearListBoxComponent,
|
|
245
|
+
LyEmptySpaceComponent,
|
|
246
|
+
UiSinglePictureComponent,
|
|
247
|
+
UlvSelectionComponent,
|
|
248
|
+
UlvToolbarComponent,
|
|
249
|
+
UlvPagingComponent,
|
|
250
|
+
UiGridSortSettingComponent,
|
|
251
|
+
UiGridSortItemComponent,
|
|
252
|
+
UiGridColumnsComponent,
|
|
253
|
+
MaskComponent,
|
|
254
|
+
UiInfoBarPanelComponent,
|
|
255
|
+
UiFormPanelComponent,
|
|
256
|
+
UiSearchCommandInfoUiComponent,
|
|
257
|
+
UlvSettingsComponent,
|
|
258
|
+
UiTinymceComponent,
|
|
259
|
+
UiButtonComponent,
|
|
260
|
+
UiDateTimeComponent,
|
|
261
|
+
FormDialogComponent,
|
|
262
|
+
UiMoInfoSubFormUiComponent,
|
|
263
|
+
ResponsiveToolbarComponent,
|
|
264
|
+
ResponsiveToolbarRendererComponent,
|
|
265
|
+
UiTextAreaComponent,
|
|
266
|
+
LayoutControlComponent,
|
|
267
|
+
LayoutWizardComponent,
|
|
268
|
+
FormWizardComponent,
|
|
269
|
+
FormDialogLessComponent,
|
|
270
|
+
RichTextStaticComponent,
|
|
271
|
+
UiPicturesInfoComponent,
|
|
272
|
+
LyHorizontalLayoutComponent,
|
|
273
|
+
LyVerticalLayoutComponent,
|
|
274
|
+
LyTabContainerComponent,
|
|
275
|
+
LyTabPageComponent,
|
|
276
|
+
LyLabelComponent,
|
|
277
|
+
UiMoInfoComboViewerComponent,
|
|
278
|
+
UlMsgBoxAdapterComponent,
|
|
279
|
+
UiTreeComponent,
|
|
280
|
+
HeaderAvatarComponent,
|
|
281
|
+
UiWorkflowPanelUiComponent,
|
|
282
|
+
UlvContextMenuComponent,
|
|
283
|
+
UlLoadingMaskUiComponent,
|
|
284
|
+
UiTextFieldAutoCompleteComponent,
|
|
285
|
+
CaptchaFieldComponent,
|
|
286
|
+
LySimpleLabelComponent,
|
|
287
|
+
GlobalSearchPanelComponent,
|
|
288
|
+
GlobalSearchModuleComponent,
|
|
289
|
+
GlobalSearchComponent,
|
|
290
|
+
HyperlinkComponent,
|
|
291
|
+
StaticTextComponent,
|
|
292
|
+
UlToastAdapterComponent,
|
|
293
|
+
MessageStripComponent,
|
|
294
|
+
UiLinearListContainerWithButtonComponent,
|
|
295
|
+
FundamentalDynamicFormComponent,
|
|
296
|
+
LayoutActionsComponent,
|
|
297
|
+
LyLayoutContainerComponent,
|
|
298
|
+
UiUlvFormMultiSelectUiComponent,
|
|
299
|
+
UlvFormMultiSelectComponent,
|
|
300
|
+
UlvColumnSettingsComponent,
|
|
301
|
+
UlvFilterSettingsComponent,
|
|
302
|
+
UlvSortSettingsComponent,
|
|
303
|
+
UlvGroupbySettingsComponent,
|
|
304
|
+
BarsaListFileLinearComponent,
|
|
305
|
+
UiPdfViewerComponent,
|
|
306
|
+
BarsaTinyemceComponent,
|
|
307
|
+
UiMonacoEditorComponent,
|
|
308
|
+
BarsaMonacoEditorComponent,
|
|
309
|
+
BarsaDateTimePickerComponent,
|
|
310
|
+
BarsaTreeItemComponent,
|
|
311
|
+
UiSwitchButtonComponent,
|
|
312
|
+
UiColorUiComponent,
|
|
313
|
+
LyLineComponent,
|
|
314
|
+
UiUlvMainUiComponent,
|
|
315
|
+
ReportNavigatorComponent,
|
|
316
|
+
ManageFiltersReportComponent,
|
|
317
|
+
ReportSearchFieldsManageComponent,
|
|
318
|
+
ReportSearchFieldsHiddenSettingsComponent,
|
|
319
|
+
SearchPanelComponent,
|
|
320
|
+
ReportSearchPanelSaveComponent,
|
|
321
|
+
UiGridFilterSettingsComponent,
|
|
322
|
+
UiGridFilterItemComponent,
|
|
323
|
+
UiDateRangeExComponent,
|
|
324
|
+
UlNotifyPopupComponent,
|
|
325
|
+
UiTableViewComponent,
|
|
326
|
+
UiListViewComponent,
|
|
327
|
+
UiCardViewComponent,
|
|
328
|
+
UiReportContainerComponent,
|
|
329
|
+
NoDataComponent,
|
|
330
|
+
ColumnRendererComponent,
|
|
331
|
+
InlineSaveAndCancelComponent,
|
|
332
|
+
UiTreeViewComponent,
|
|
333
|
+
InlineSaveAndCancelComponent,
|
|
334
|
+
UiCalendarComponent,
|
|
335
|
+
UiAspReportViewerComponent,
|
|
336
|
+
UiGraphComponent,
|
|
337
|
+
UiExceptionFormComponent,
|
|
338
|
+
UiEditableGridComponent,
|
|
339
|
+
ColumnMatrixRendererComponent,
|
|
340
|
+
UiMatrixViewComponent,
|
|
341
|
+
CustomDateTimeComponent,
|
|
342
|
+
BarsaAspViewerComponent,
|
|
343
|
+
FileInDialogComponent,
|
|
344
|
+
UiMoInfoGeneralObjectUiComponent,
|
|
345
|
+
UiGanttChartComponent,
|
|
346
|
+
GanttDhtmlChartViewComponent,
|
|
347
|
+
ProgressIndicatorComponent,
|
|
348
|
+
CardViewContentComponent,
|
|
349
|
+
CardItemComponent,
|
|
350
|
+
UiCardViewHorizontalGroupComponent,
|
|
351
|
+
TitleComponent,
|
|
352
|
+
BarsaUlvMainComponent,
|
|
353
|
+
ListItemComponent,
|
|
354
|
+
HtreeCreateNewComponent,
|
|
355
|
+
BarsaTableHeaderComponent,
|
|
356
|
+
BarsaTableRowComponent,
|
|
357
|
+
BarsaTableColumnComponent,
|
|
358
|
+
BreadcrumbComponent,
|
|
359
|
+
UiLabelComponent,
|
|
360
|
+
FormToolbarButtonComponent,
|
|
361
|
+
BarsaSearchFormComponent,
|
|
362
|
+
ReportNewTopFormComponent,
|
|
363
|
+
BarsaNetworkOfflineComponent,
|
|
364
|
+
FileViewerContentComponent,
|
|
365
|
+
FileViewerPopoverComponent,
|
|
366
|
+
FileViewerComponent,
|
|
367
|
+
BlobViewerComponent,
|
|
368
|
+
NotificationItemComponent,
|
|
369
|
+
BarsaCartableTemplateComponent,
|
|
370
|
+
BarsaCartableGroupComponent,
|
|
371
|
+
BarsaCartableFormComponent,
|
|
372
|
+
BarsaColumnIndicatorComponent,
|
|
373
|
+
BarsaFieldKeyValueComponent,
|
|
374
|
+
BarsaToolbaritemSearchComponent,
|
|
375
|
+
UiHtmlViewerComponent,
|
|
376
|
+
BarsaPishnamayeshPayamComponent,
|
|
377
|
+
BarsaTextEllipsisComponent,
|
|
378
|
+
BarsaListFileLinearGmailComponent,
|
|
379
|
+
BarsaLinkableItemsPanelComponent,
|
|
380
|
+
BarsaEnumMenuButtonComponent,
|
|
381
|
+
BarsaCardLayoutPanelComponent,
|
|
382
|
+
BarsaHorizontalFlexPanelComponent,
|
|
383
|
+
BarsaBaseLayoutPanelComponent,
|
|
384
|
+
BarsaBarPanelComponent,
|
|
385
|
+
BarsaFormSideContentComponent,
|
|
386
|
+
BarsaSimpleFormComponent,
|
|
387
|
+
FormToolbarComponent,
|
|
388
|
+
BarsaListLayoutPanelComponent,
|
|
389
|
+
BarsaGridLayoutPanelComponent,
|
|
390
|
+
BarsaDynamicFieldComponent,
|
|
391
|
+
UiMultiSelectRadioComponent,
|
|
392
|
+
UiMultiSelectCheckboxComponent,
|
|
393
|
+
UiNumIntSliderComponent,
|
|
394
|
+
UiMultiSelectSliderComponent,
|
|
395
|
+
UiMultiSelectCardComponent,
|
|
396
|
+
UiMultiSelectSmileComponent,
|
|
397
|
+
BarsaReportCheckboxSwitchButtonComponent,
|
|
398
|
+
BarsaColumnRowNumberComponent,
|
|
399
|
+
BarsaCardRowPayamComponent,
|
|
400
|
+
BarsaColumnRowNumberComponent,
|
|
401
|
+
BarsaQuestionPostComponent,
|
|
402
|
+
BarsaQuestionAnswerFormComponent,
|
|
403
|
+
BarsaQuestionAnswerFormAddCommentComponent,
|
|
404
|
+
BarsaAnswerCardComponent,
|
|
405
|
+
BarsaQuestionAnswerContentActionsSectionComponent,
|
|
406
|
+
BarsaQuestionAnswerVoteSectionComponent,
|
|
407
|
+
BarsaQuestionAnswerCreatorTimeSectionComponent,
|
|
408
|
+
BarsaQuestionAnswerCommentsSectionComponent,
|
|
409
|
+
BarsaChipComponent,
|
|
410
|
+
BarsaTagChipComponent,
|
|
411
|
+
BarsaReportCardFlexViewComponent,
|
|
412
|
+
BarsaTagsCategoryRowComponent,
|
|
413
|
+
BarsaTagCategoriesComponent,
|
|
414
|
+
BarsaReportOneOfListComponent,
|
|
415
|
+
BarsaCardRowPayamComponent,
|
|
416
|
+
BarsaCustomInlineEditComponent,
|
|
417
|
+
BarsaCustomInlineEditRowComponent,
|
|
418
|
+
BarsaChatComponent,
|
|
419
|
+
BarsaChatContentComponent,
|
|
420
|
+
BarsaChatMessageComponent,
|
|
421
|
+
BarsaChatThreadComponent,
|
|
422
|
+
BarsaChatThreadsListComponent,
|
|
423
|
+
BarsaChatThreadsListToolbarComponent,
|
|
424
|
+
BarsaChatContentToolbarComponent,
|
|
425
|
+
BarsaChatListComponent,
|
|
426
|
+
BarsaModalComponent,
|
|
427
|
+
BarsaTabRouteManagerComponent,
|
|
428
|
+
BarsaBreadcrumbsComponent,
|
|
429
|
+
BarsaRowInlineActionlistComponent,
|
|
430
|
+
UiBpmnViewerComponent,
|
|
431
|
+
UiNotificationViewComponent,
|
|
432
|
+
NotificationItemActionsComponent
|
|
433
|
+
];
|
|
434
|
+
export const pipes = [
|
|
435
|
+
UploadFileStatusPipe,
|
|
436
|
+
SapFontPipe,
|
|
437
|
+
SapFontClassPipe,
|
|
438
|
+
StringToArrayPipe,
|
|
439
|
+
NodeHasOneDepthLevelPipe,
|
|
440
|
+
MatrixValuePipe,
|
|
441
|
+
DynamicPageSizePipe,
|
|
442
|
+
SapSizePipe,
|
|
443
|
+
AvatarGridColPipe,
|
|
444
|
+
ObjectStatusIconPipe
|
|
445
|
+
];
|
|
446
|
+
export const directives = [
|
|
447
|
+
WizardLayoutDirective,
|
|
448
|
+
ColRendererDirective,
|
|
449
|
+
ApplyConditionalFormatsDirective,
|
|
450
|
+
ReportViewRendererDirective,
|
|
451
|
+
FullscreenDialogDirective,
|
|
452
|
+
FullscreenFilesDirective,
|
|
453
|
+
DownloadFilesDirective,
|
|
454
|
+
DialogHandlerDirective,
|
|
455
|
+
TableThDirective
|
|
456
|
+
];
|
|
457
|
+
export const INIT_SAPFIORI = (rtlService, contentDensityService, themeService, portalService, domSanitizer, localStorageService) => () => {
|
|
458
|
+
// rtlService.rtl.next(BarsaApi.LoginFormData.IsRtl);
|
|
459
|
+
const setTheme = (theme) => {
|
|
460
|
+
if (theme) {
|
|
461
|
+
themeService.setTheme(theme);
|
|
462
|
+
}
|
|
463
|
+
// themeService.setTheme(themeCaption);
|
|
464
|
+
themeService.currentTheme.subscribe((theme) => {
|
|
465
|
+
if (theme) {
|
|
466
|
+
portalService.setCssUrlTheme(domSanitizer.bypassSecurityTrustResourceUrl(theme.theming.themePath), domSanitizer.bypassSecurityTrustResourceUrl(theme.theming.themingBasePath));
|
|
467
|
+
}
|
|
468
|
+
});
|
|
469
|
+
};
|
|
470
|
+
portalService.userPortalSettings$.pipe().subscribe((userPortalSettings) => {
|
|
471
|
+
rtlService.rtl.next(BarsaApi.LoginFormData.IsRtl);
|
|
472
|
+
const userSettings = userPortalSettings['UserPortalSettings'];
|
|
473
|
+
let contentDensity;
|
|
474
|
+
if (!userSettings) {
|
|
475
|
+
const defaultTheme = localStorageService.getItem('default_theme') || 'sap_fiori_3';
|
|
476
|
+
setTheme(defaultTheme);
|
|
477
|
+
if (getDeviceIsMobile() || getDeviceIsPhone() || getDeviceIsTablet()) {
|
|
478
|
+
contentDensity = ContentDensityMode.COZY;
|
|
479
|
+
}
|
|
480
|
+
else {
|
|
481
|
+
contentDensity = ContentDensityMode.COMPACT;
|
|
482
|
+
}
|
|
483
|
+
contentDensityService.updateContentDensity(contentDensity);
|
|
484
|
+
return;
|
|
485
|
+
}
|
|
486
|
+
let theme;
|
|
487
|
+
if (userSettings) {
|
|
488
|
+
const { ContentDensity$Caption, Theme$Caption } = userSettings;
|
|
489
|
+
contentDensity = ContentDensity$Caption;
|
|
490
|
+
theme = Theme$Caption;
|
|
491
|
+
if (!contentDensity) {
|
|
492
|
+
contentDensity = ContentDensityMode.COMPACT;
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
if (getDeviceIsMobile() || getDeviceIsPhone()) {
|
|
496
|
+
contentDensity = ContentDensityMode.COZY;
|
|
497
|
+
}
|
|
498
|
+
if (contentDensity) {
|
|
499
|
+
{
|
|
500
|
+
contentDensityService.updateContentDensity(contentDensity);
|
|
501
|
+
}
|
|
502
|
+
const bodyClassCompact = 'ui5-content-density-compact';
|
|
503
|
+
const bodyClassCondensed = 'ui5-content-density-condensed';
|
|
504
|
+
const bodyClassCozy = 'ui5-content-density-cozy';
|
|
505
|
+
const body = document?.body;
|
|
506
|
+
switch (contentDensity) {
|
|
507
|
+
case 'condensed':
|
|
508
|
+
{
|
|
509
|
+
if (!body.classList.contains(bodyClassCondensed)) {
|
|
510
|
+
body.classList.add(bodyClassCondensed);
|
|
511
|
+
}
|
|
512
|
+
body.classList.remove(bodyClassCompact);
|
|
513
|
+
body.classList.remove(bodyClassCozy);
|
|
514
|
+
}
|
|
515
|
+
break;
|
|
516
|
+
case 'cozy':
|
|
517
|
+
{
|
|
518
|
+
if (!body.classList.contains(bodyClassCozy)) {
|
|
519
|
+
body.classList.add(bodyClassCozy);
|
|
520
|
+
}
|
|
521
|
+
body.classList.remove(bodyClassCompact);
|
|
522
|
+
body.classList.remove(bodyClassCondensed);
|
|
523
|
+
}
|
|
524
|
+
break;
|
|
525
|
+
case 'compact':
|
|
526
|
+
{
|
|
527
|
+
if (!body.classList.contains(bodyClassCompact)) {
|
|
528
|
+
body.classList.add(bodyClassCompact);
|
|
529
|
+
}
|
|
530
|
+
body.classList.remove(bodyClassCozy);
|
|
531
|
+
body.classList.remove(bodyClassCondensed);
|
|
532
|
+
}
|
|
533
|
+
break;
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
if (theme) {
|
|
537
|
+
if (theme.indexOf('dark') > -1) {
|
|
538
|
+
document.documentElement.style.setProperty('color-scheme', 'dark');
|
|
539
|
+
document.documentElement.setAttribute('data-mode', 'dark');
|
|
540
|
+
}
|
|
541
|
+
else {
|
|
542
|
+
document.documentElement.style.setProperty('color-scheme', 'light');
|
|
543
|
+
document.documentElement.setAttribute('data-mode', 'light');
|
|
544
|
+
}
|
|
545
|
+
setTheme(theme);
|
|
546
|
+
}
|
|
547
|
+
});
|
|
548
|
+
};
|
|
549
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTJDLGtCQUFrQixFQUFrQixNQUFNLHVCQUF1QixDQUFDO0FBQ3BILE9BQU8sRUFDSCxRQUFRLEVBQ1IsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixpQkFBaUIsRUFHcEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQy9HLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3RHLE9BQU8s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RSxPQUFPLENBQUMsQ0FBQztnQkFDcEUsUUFBUSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2hFLENBQUM7WUFDRCxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUnRsU2VydmljZSwgR2xvYmFsQ29udGVudERlbnNpdHlTZXJ2aWNlLCBDb250ZW50RGVuc2l0eU1vZGUsIFRoZW1pbmdTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcclxuaW1wb3J0IHtcclxuICAgIEJhcnNhQXBpLFxyXG4gICAgZ2V0RGV2aWNlSXNNb2JpbGUsXHJcbiAgICBnZXREZXZpY2VJc1Bob25lLFxyXG4gICAgZ2V0RGV2aWNlSXNUYWJsZXQsXHJcbiAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgUG9ydGFsU2VydmljZVxyXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuaW1wb3J0IHsgVWlUZXh0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL3VpLXRleHQtZmllbGQvdWktdGV4dC1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMeUxheW91dEZpZWxkTGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2x5LWxheW91dC1maWVsZC1sYWJlbC9seS1sYXlvdXQtZmllbGQtbGFiZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlDaGVja0JveENvbXBvbmVudCB9IGZyb20gJy4vdWktY2hlY2stYm94L3VpLWNoZWNrLWJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVNpbXBsZUNvbWJvQ29tcG9uZW50IH0gZnJvbSAnLi91aS1zaW1wbGUtY29tYm8vdWktc2ltcGxlLWNvbWJvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpUmFkaW9Hcm91cENvbXBvbmVudCB9IGZyb20gJy4vdWktcmFkaW8tZ3JvdXAvdWktcmFkaW8tZ3JvdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi91aS1ncmlkL3VpLWdyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlNYXBDb21wb25lbnQgfSBmcm9tICcuL3VpLW1hcC91aS1tYXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTHlMYXlvdXRDb250YWluZXJPZlJvb3RDb21wb25lbnQgfSBmcm9tICcuL2x5LWxheW91dC1jb250YWluZXItb2Ytcm9vdC9seS1sYXlvdXQtY29udGFpbmVyLW9mLXJvb3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTHlMYXlvdXRQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vbHktbGF5b3V0LXBhbmVsL2x5LWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVJlYWRPbmx5RmllbGRDb21wb25lbnQgfSBmcm9tICcuL3VpLXJlYWQtb25seS1maWVsZC91aS1yZWFkLW9ubHktZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlDb250YWluZXJXaXRoQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi91aS1jb250YWluZXItd2l0aC1idXR0b24vdWktY29udGFpbmVyLXdpdGgtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpUGljdHVyZUZpbGVDb21wb25lbnQgfSBmcm9tICcuL3VpLXBpY3R1cmUtZmlsZS91aS1waWN0dXJlLWZpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlNb0luZm9VbHZDb21ib0NvbXBvbmVudCB9IGZyb20gJy4vdWktbW8taW5mby11bHYtY29tYm8vdWktbW8taW5mby11bHYtY29tYm8uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlNdWx0aVNlbGVjdENvbWJvQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tdWx0aS1zZWxlY3QtY29tYm8vdWktbXVsdGktc2VsZWN0LWNvbWJvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpTnVtRGVjaW1hbFVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS1udW0tZGVjaW1hbC11aS91aS1udW0tZGVjaW1hbC11aS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaU51bUludFVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS1udW0taW50LXVpL3VpLW51bS1pbnQtdWkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlUaW1lU3BhbkNvbXBvbmVudCB9IGZyb20gJy4vdWktdGltZS1zcGFuL3VpLXRpbWUtc3Bhbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUZpbGVMaW5lYXJMaXN0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi91aS1maWxlLWxpbmVhci1saXN0LWJveC91aS1maWxlLWxpbmVhci1saXN0LWJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMeUVtcHR5U3BhY2VDb21wb25lbnQgfSBmcm9tICcuL2x5LWVtcHR5LXNwYWNlL2x5LWVtcHR5LXNwYWNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpU2luZ2xlUGljdHVyZUNvbXBvbmVudCB9IGZyb20gJy4vdWktc2luZ2xlLXBpY3R1cmUvdWktc2luZ2xlLXBpY3R1cmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWx2U2VsZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi91bHYtc2VsZWN0aW9uL3Vsdi1zZWxlY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWx2VG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vdWx2LXRvb2xiYXIvdWx2LXRvb2xiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWx2UGFnaW5nQ29tcG9uZW50IH0gZnJvbSAnLi91bHYtcGFnaW5nL3Vsdi1wYWdpbmcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlHcmlkU29ydFNldHRpbmdDb21wb25lbnQgfSBmcm9tICcuL3VpLWdyaWQtc29ydC1zZXR0aW5nL3VpLWdyaWQtc29ydC1zZXR0aW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpR3JpZFNvcnRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi91aS1ncmlkLXNvcnQtaXRlbS91aS1ncmlkLXNvcnQtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUdyaWRDb2x1bW5zQ29tcG9uZW50IH0gZnJvbSAnLi91aS1ncmlkLWNvbHVtbnMvdWktZ3JpZC1jb2x1bW5zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hc2tDb21wb25lbnQgfSBmcm9tICcuL21hc2svbWFzay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUluZm9CYXJQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vdWktaW5mby1iYXItcGFuZWwvdWktaW5mby1iYXItcGFuZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlGb3JtUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL3VpLWZvcm0tcGFuZWwvdWktZm9ybS1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVNlYXJjaENvbW1hbmRJbmZvVWlDb21wb25lbnQgfSBmcm9tICcuL3VpLXNlYXJjaC1jb21tYW5kLWluZm8tdWkvdWktc2VhcmNoLWNvbW1hbmQtaW5mby11aS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVbHZTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vdWx2LXNldHRpbmdzL3Vsdi1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVRpbnltY2VDb21wb25lbnQgfSBmcm9tICcuL3VpLXRpbnltY2UvdWktdGlueW1jZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdWktYnV0dG9uL3VpLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaURhdGVUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi91aS1kYXRlLXRpbWUvdWktZGF0ZS10aW1lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZGlhbG9nL2Zvcm0tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpTW9JbmZvU3ViRm9ybVVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tby1pbmZvLXN1Yi1mb3JtLXVpL3VpLW1vLWluZm8tc3ViLWZvcm0tdWkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVzcG9uc2l2ZVRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3Jlc3BvbnNpdmUtdG9vbGJhci9yZXNwb25zaXZlLXRvb2xiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVzcG9uc2l2ZVRvb2xiYXJSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4vcmVzcG9uc2l2ZS10b29sYmFyLXJlbmRlcmVyL3Jlc3BvbnNpdmUtdG9vbGJhci1yZW5kZXJlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVRleHRBcmVhQ29tcG9uZW50IH0gZnJvbSAnLi91aS10ZXh0LWFyZWEvdWktdGV4dC1hcmVhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExheW91dENvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuL2xheW91dC1jb250cm9sL2xheW91dC1jb250cm9sLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExheW91dFdpemFyZENvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0LXdpemFyZC9sYXlvdXQtd2l6YXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1XaXphcmRDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0td2l6YXJkL2Zvcm0td2l6YXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdpemFyZExheW91dERpcmVjdGl2ZSB9IGZyb20gJy4vd2l6YXJkLWxheW91dC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBGb3JtRGlhbG9nTGVzc0NvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1kaWFsb2ctbGVzcy9mb3JtLWRpYWxvZy1sZXNzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJpY2hUZXh0U3RhdGljQ29tcG9uZW50IH0gZnJvbSAnLi9yaWNoLXRleHQtc3RhdGljL3JpY2gtdGV4dC1zdGF0aWMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlQaWN0dXJlc0luZm9Db21wb25lbnQgfSBmcm9tICcuL3VpLXBpY3R1cmVzLWluZm8vdWktcGljdHVyZXMtaW5mby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMeUhvcml6b250YWxMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2x5LWhvcml6b250YWwtbGF5b3V0L2x5LWhvcml6b250YWwtbGF5b3V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEx5VmVydGljYWxMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2x5LXZlcnRpY2FsLWxheW91dC9seS12ZXJ0aWNhbC1sYXlvdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTHlUYWJDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2x5LXRhYi1jb250YWluZXIvbHktdGFiLWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMeVRhYlBhZ2VDb21wb25lbnQgfSBmcm9tICcuL2x5LXRhYi1wYWdlL2x5LXRhYi1wYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEx5TGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2x5LWxhYmVsL2x5LWxhYmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbFJlbmRlcmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9jb2wtcmVuZGVyZXIuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgVWlNb0luZm9Db21ib1ZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vdWktbW8taW5mby1jb21iby12aWV3ZXIvdWktbW8taW5mby1jb21iby12aWV3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWxNc2dCb3hBZGFwdGVyQ29tcG9uZW50IH0gZnJvbSAnLi91bC1tc2ctYm94LWFkYXB0ZXIvdWwtbXNnLWJveC1hZGFwdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEhlYWRlckF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyLWF2YXRhci9oZWFkZXItYXZhdGFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFwcGx5Q29uZGl0aW9uYWxGb3JtYXRzRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHBseS1jb25kaXRpb25hbC1mb3JtbWF0aW5ncy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBVaVdvcmtmbG93UGFuZWxVaUNvbXBvbmVudCB9IGZyb20gJy4vdWktd29ya2Zsb3ctcGFuZWwtdWkvdWktd29ya2Zsb3ctcGFuZWwtdWkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWx2Q29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICcuL3Vsdi1jb250ZXh0LW1lbnUvdWx2LWNvbnRleHQtbWVudS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVbExvYWRpbmdNYXNrVWlDb21wb25lbnQgfSBmcm9tICcuL3VsLWxvYWRpbmctbWFzay11aS91bC1sb2FkaW5nLW1hc2stdWkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlUZXh0RmllbGRBdXRvQ29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL3VpLXRleHQtZmllbGQtYXV0by1jb21wbGV0ZS91aS10ZXh0LWZpZWxkLWF1dG8tY29tcGxldGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2FwdGNoYUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jYXB0Y2hhLWZpZWxkL2NhcHRjaGEtZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTHlTaW1wbGVMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vbHktc2ltcGxlLWxhYmVsL2x5LXNpbXBsZS1sYWJlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHbG9iYWxTZWFyY2hQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vZ2xvYmFsLXNlYXJjaC1wYW5lbC9nbG9iYWwtc2VhcmNoLXBhbmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdsb2JhbFNlYXJjaE1vZHVsZUNvbXBvbmVudCB9IGZyb20gJy4vZ2xvYmFsLXNlYXJjaC1tb2R1bGUvZ2xvYmFsLXNlYXJjaC1tb2R1bGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgR2xvYmFsU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi9nbG9iYWwtc2VhcmNoL2dsb2JhbC1zZWFyY2guY29tcG9uZW50JztcclxuaW1wb3J0IHsgSHlwZXJsaW5rQ29tcG9uZW50IH0gZnJvbSAnLi9oeXBlcmxpbmsvaHlwZXJsaW5rLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN0YXRpY1RleHRDb21wb25lbnQgfSBmcm9tICcuL3N0YXRpYy10ZXh0L3N0YXRpYy10ZXh0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVsVG9hc3RBZGFwdGVyQ29tcG9uZW50IH0gZnJvbSAnLi91bC10b2FzdC1hZGFwdGVyL3VsLXRvYXN0LWFkYXB0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWVzc2FnZVN0cmlwQ29tcG9uZW50IH0gZnJvbSAnLi9tZXNzYWdlLXN0cmlwL21lc3NhZ2Utc3RyaXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlMaW5lYXJMaXN0Q29udGFpbmVyV2l0aEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdWktbGluZWFyLWxpc3QtY29udGFpbmVyLXdpdGgtYnV0dG9uL3VpLWxpbmVhci1saXN0LWNvbnRhaW5lci13aXRoLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGdW5kYW1lbnRhbER5bmFtaWNGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mdW5kYW1lbnRhbC1keW5hbWljLWZvcm0vZnVuZGFtZW50YWwtZHluYW1pYy1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExheW91dEFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2xheW91dC1hY3Rpb25zL2xheW91dC1hY3Rpb25zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEx5TGF5b3V0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9seS1sYXlvdXQtY29udGFpbmVyL2x5LWxheW91dC1jb250YWluZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlVbHZGb3JtTXVsdGlTZWxlY3RVaUNvbXBvbmVudCB9IGZyb20gJy4vdWktdWx2LWZvcm0tbXVsdGktc2VsZWN0LXVpL3VpLXVsdi1mb3JtLW11bHRpLXNlbGVjdC11aS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVbHZGb3JtTXVsdGlTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3Vsdi1mb3JtLW11bHRpLXNlbGVjdC91bHYtZm9ybS1tdWx0aS1zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWx2Q29sdW1uU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL3Vsdi1jb2x1bW4tc2V0dGluZ3MvdWx2LWNvbHVtbi1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVbHZGaWx0ZXJTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vdWx2LWZpbHRlci1zZXR0aW5ncy91bHYtZmlsdGVyLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVsdlNvcnRTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vdWx2LXNvcnQtc2V0dGluZ3MvdWx2LXNvcnQtc2V0dGluZ3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWx2R3JvdXBieVNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi91bHYtZ3JvdXBieS1zZXR0aW5ncy91bHYtZ3JvdXBieS1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUxpc3RGaWxlTGluZWFyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1saXN0LWZpbGUtbGluZWFyL2JhcnNhLWxpc3QtZmlsZS1saW5lYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlQZGZWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL3VpLXBkZi12aWV3ZXIvdWktcGRmLXZpZXdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYVRpbnllbWNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10aW55ZW1jZS9iYXJzYS10aW55ZW1jZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaU1vbmFjb0VkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vdWktbW9uYWNvLWVkaXRvci91aS1tb25hY28tZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhTW9uYWNvRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1tb25hY28tZWRpdG9yL2JhcnNhLW1vbmFjby1lZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FEYXRlVGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtZGF0ZS10aW1lLXBpY2tlci9iYXJzYS1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhVHJlZUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRyZWUtaXRlbS9iYXJzYS10cmVlLWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVXBsb2FkRmlsZVN0YXR1c1BpcGUgfSBmcm9tICcuL3VwbG9hZC1maWxlLXN0YXR1cy5waXBlJztcclxuaW1wb3J0IHsgVWlTd2l0Y2hCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3VpLXN3aXRjaC1idXR0b24vdWktc3dpdGNoLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUNvbG9yVWlDb21wb25lbnQgfSBmcm9tICcuL3VpLWNvbG9yLXVpL3VpLWNvbG9yLXVpLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEx5TGluZUNvbXBvbmVudCB9IGZyb20gJy4vbHktbGluZS9seS1saW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpVWx2TWFpblVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS11bHYtbWFpbi11aS91aS11bHYtbWFpbi11aS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXBvcnROYXZpZ2F0b3JDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydC1uYXZpZ2F0b3IvcmVwb3J0LW5hdmlnYXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYW5hZ2VGaWx0ZXJzUmVwb3J0Q29tcG9uZW50IH0gZnJvbSAnLi9tYW5hZ2UtZmlsdGVycy1yZXBvcnQvbWFuYWdlLWZpbHRlcnMtcmVwb3J0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlcG9ydFNlYXJjaEZpZWxkc01hbmFnZUNvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0LXNlYXJjaC1maWVsZHMtbWFuYWdlL3JlcG9ydC1zZWFyY2gtZmllbGRzLW1hbmFnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXBvcnRTZWFyY2hGaWVsZHNIaWRkZW5TZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0LXNlYXJjaC1maWVsZHMtaGlkZGVuLXNldHRpbmdzL3JlcG9ydC1zZWFyY2gtZmllbGRzLWhpZGRlbi1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWFyY2hQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLXBhbmVsL3NlYXJjaC1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXBvcnRTZWFyY2hQYW5lbFNhdmVDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydC1zZWFyY2gtcGFuZWwtc2F2ZS9yZXBvcnQtc2VhcmNoLXBhbmVsLXNhdmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlHcmlkRmlsdGVyU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL3VpLWdyaWQtZmlsdGVyLXNldHRpbmdzL3VpLWdyaWQtZmlsdGVyLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpR3JpZEZpbHRlckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3VpLWdyaWQtZmlsdGVyLWl0ZW0vdWktZ3JpZC1maWx0ZXItaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTYXBGb250UGlwZSB9IGZyb20gJy4vc2FwLWZvbnQucGlwZSc7XHJcbmltcG9ydCB7IFNhcEZvbnRDbGFzc1BpcGUgfSBmcm9tICcuL3NhcC1mb250LWNsYXNzLnBpcGUnO1xyXG5pbXBvcnQgeyBVaURhdGVSYW5nZUV4Q29tcG9uZW50IH0gZnJvbSAnLi91aS1kYXRlLXJhbmdlLWV4L3VpLWRhdGUtcmFuZ2UtZXguY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWxOb3RpZnlQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vdWwtbm90aWZ5LXBvcHVwL3VsLW5vdGlmeS1wb3B1cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVRhYmxlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdWktdGFibGUtdmlldy91aS10YWJsZS12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpTGlzdFZpZXdDb21wb25lbnQgfSBmcm9tICcuL3VpLWxpc3Qtdmlldy91aS1saXN0LXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3RyaW5nVG9BcnJheVBpcGUsIFVpQ2FyZFZpZXdDb21wb25lbnQgfSBmcm9tICcuL3VpLWNhcmQtdmlldy91aS1jYXJkLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlSZXBvcnRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3VpLXJlcG9ydC1jb250YWluZXIvdWktcmVwb3J0LWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOb0RhdGFDb21wb25lbnQgfSBmcm9tICcuL25vLWRhdGEvbm8tZGF0YS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2x1bW5SZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4vY29sdW1uLXJlbmRlcmVyL2NvbHVtbi1yZW5kZXJlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbmxpbmVTYXZlQW5kQ2FuY2VsQ29tcG9uZW50IH0gZnJvbSAnLi9pbmxpbmUtc2F2ZS1hbmQtY2FuY2VsL2lubGluZS1zYXZlLWFuZC1jYW5jZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlUcmVlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdWktdHJlZS12aWV3L3VpLXRyZWUtdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaVRyZWVDb21wb25lbnQgfSBmcm9tICcuL3VpLXRyZWUvdWktdHJlZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUNhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSAnLi91aS1jYWxlbmRhci91aS1jYWxlbmRhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOb2RlSGFzT25lRGVwdGhMZXZlbFBpcGUgfSBmcm9tICcuL2JhcnNhLXRyZWUtaXRlbS9ub2RlLWhhcy1vbmUtZGVwdGgtbGV2ZWwucGlwZSc7XHJcbmltcG9ydCB7IFVpQXNwUmVwb3J0Vmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi91aS1hc3AtcmVwb3J0LXZpZXdlci91aS1hc3AtcmVwb3J0LXZpZXdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUdyYXBoQ29tcG9uZW50IH0gZnJvbSAnLi91aS1ncmFwaC91aS1ncmFwaC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUV4Y2VwdGlvbkZvcm1Db21wb25lbnQgfSBmcm9tICcuL3VpLWV4Y2VwdGlvbi1mb3JtL3VpLWV4Y2VwdGlvbi1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpRWRpdGFibGVHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi91aS1lZGl0YWJsZS1ncmlkL3VpLWVkaXRhYmxlLWdyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29sdW1uTWF0cml4UmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbHVtbi1tYXRyaXgtcmVuZGVyZXIvY29sdW1uLW1hdHJpeC1yZW5kZXJlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaU1hdHJpeFZpZXdDb21wb25lbnQgfSBmcm9tICcuL3VpLW1hdHJpeC12aWV3L3VpLW1hdHJpeC12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbURhdGVUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi9jdXN0b20tZGF0ZS10aW1lL2N1c3RvbS1kYXRlLXRpbWUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0cml4VmFsdWVQaXBlIH0gZnJvbSAnLi9jb2x1bW4tbWF0cml4LXJlbmRlcmVyL21hdHJpeC12YWx1ZS5waXBlJztcclxuaW1wb3J0IHsgQmFyc2FBc3BWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWFzcC12aWV3ZXIvYmFyc2EtYXNwLXZpZXdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWxlSW5EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtaW4tZGlhbG9nL2ZpbGUtaW4tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IER5bmFtaWNQYWdlU2l6ZVBpcGUgfSBmcm9tICcuL2R5bmFtaWMtcGFnZS1zaXplLnBpcGUnO1xyXG5pbXBvcnQgeyBSZXBvcnRWaWV3UmVuZGVyZXJEaXJlY3RpdmUgfSBmcm9tICcuL3JlcG9ydC12aWV3LXJlbmRlcmVyLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFVpTW9JbmZvR2VuZXJhbE9iamVjdFVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tby1pbmZvLWdlbmVyYWwtb2JqZWN0LXVpL3VpLW1vLWluZm8tZ2VuZXJhbC1vYmplY3QtdWkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlHYW50dENoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi91aS1nYW50dC1jaGFydC91aS1nYW50dC1jaGFydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHYW50dERodG1sQ2hhcnRWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9nYW50dC1kaHRtbC1jaGFydC12aWV3L2dhbnR0LWRodG1sLWNoYXJ0LXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRnVsbHNjcmVlbkRpYWxvZ0RpcmVjdGl2ZSB9IGZyb20gJy4vZnVsbHNjcmVlbi1kaWFsb2cuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUHJvZ3Jlc3NJbmRpY2F0b3JDb21wb25lbnQgfSBmcm9tICcuL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2FyZFZpZXdDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jYXJkLXZpZXctY29udGVudC9jYXJkLXZpZXctY29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDYXJkSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY2FyZC1pdGVtL2NhcmQtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUNhcmRWaWV3SG9yaXpvbnRhbEdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi91aS1jYXJkLXZpZXctaG9yaXpvbnRhbC1ncm91cC91aS1jYXJkLXZpZXctaG9yaXpvbnRhbC1ncm91cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4vdGl0bGUvdGl0bGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FVbHZNYWluQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS11bHYtbWFpbi9iYXJzYS11bHYtbWFpbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMaXN0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIdHJlZUNyZWF0ZU5ld0NvbXBvbmVudCB9IGZyb20gJy4vaHRyZWUtY3JlYXRlLW5ldy9odHJlZS1jcmVhdGUtbmV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhVGFibGVSb3dDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRhYmxlLXJvdy9iYXJzYS10YWJsZS1yb3cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FUYWJsZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtdGFibGUtY29sdW1uL2JhcnNhLXRhYmxlLWNvbHVtbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYVRhYmxlSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10YWJsZS1oZWFkZXIvYmFyc2EtdGFibGUtaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUxhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi91aS1sYWJlbC91aS1sYWJlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtVG9vbGJhckJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS10b29sYmFyLWJ1dHRvbi9mb3JtLXRvb2xiYXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhU2VhcmNoRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2Etc2VhcmNoLWZvcm0vYmFyc2Etc2VhcmNoLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVwb3J0TmV3VG9wRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0LW5ldy10b3AtZm9ybS9yZXBvcnQtbmV3LXRvcC1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhTmV0d29ya09mZmxpbmVDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLW5ldHdvcmstb2ZmbGluZS9iYXJzYS1uZXR3b3JrLW9mZmxpbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmxvYlZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vYmxvYi12aWV3ZXIvYmxvYi12aWV3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsZVZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsZS12aWV3ZXIvZmlsZS12aWV3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsZVZpZXdlckNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtdmlld2VyLWNvbnRlbnQvZmlsZS12aWV3ZXItY29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWxlVmlld2VyUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsZS12aWV3ZXItcG9wb3Zlci9maWxlLXZpZXdlci1wb3BvdmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERvd25sb2FkRmlsZXNEaXJlY3RpdmUgfSBmcm9tICcuL2Rvd25sb2FkLWZpbGVzLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEZ1bGxzY3JlZW5GaWxlc0RpcmVjdGl2ZSB9IGZyb20gJy4vZnVsbHNjcmVlbi1maWxlcy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9ub3RpZmljYXRpb24taXRlbS9ub3RpZmljYXRpb24taXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUNhcnRhYmxlVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNhcnRhYmxlLXRlbXBsYXRlL2JhcnNhLWNhcnRhYmxlLXRlbXBsYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhQ2FydGFibGVHcm91cENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtZ3JvdXAtY2FydGFibGUvYmFyc2EtY2FydGFibGUtZ3JvdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDYXJ0YWJsZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNhcnRhYmxlLWZvcm0vYmFyc2EtY2FydGFibGUtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUNvbHVtbkluZGljYXRvckNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY29sdW1uLWluZGljYXRvci9iYXJzYS1jb2x1bW4taW5kaWNhdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhRmllbGRLZXlWYWx1ZUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtZmllbGQta2V5LXZhbHVlL2JhcnNhLWZpZWxkLWtleS12YWx1ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYVRvb2xiYXJpdGVtU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10b29sYmFyaXRlbS1zZWFyY2gvYmFyc2EtdG9vbGJhcml0ZW0tc2VhcmNoLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpSHRtbFZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vdWktaHRtbC12aWV3ZXIvdWktaHRtbC12aWV3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FQaXNobmFtYXllc2hQYXlhbUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtcGlzaG5hbWF5ZXNoLXBheWFtL2JhcnNhLXBpc2huYW1heWVzaC1wYXlhbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYVRleHRFbGxpcHNpc0NvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtdGV4dC1lbGxpcHNpcy9iYXJzYS10ZXh0LWVsbGlwc2lzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhTGlzdEZpbGVMaW5lYXJHbWFpbENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtbGlzdC1maWxlLWxpbmVhci1nbWFpbC9iYXJzYS1saXN0LWZpbGUtbGluZWFyLWdtYWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhTGlua2FibGVJdGVtc1BhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1saW5rYWJsZS1pdGVtcy1wYW5lbC9iYXJzYS1saW5rYWJsZS1pdGVtcy1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUVudW1NZW51QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1lbnVtLW1lbnUtYnV0dG9uL2JhcnNhLWVudW0tbWVudS1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDYXJkTGF5b3V0UGFuZWxDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNhcmQtbGF5b3V0LXBhbmVsL2JhcnNhLWNhcmQtbGF5b3V0LXBhbmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhSG9yaXpvbnRhbEZsZXhQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtaG9yaXpvbnRhbC1mbGV4LXBhbmVsL2JhcnNhLWhvcml6b250YWwtZmxleC1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUJhc2VMYXlvdXRQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtYmFzZS1wYW5lbC9iYXJzYS1iYXNlLWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUJhclBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1iYXItcGFuZWwvYmFyc2EtYmFyLXBhbmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhRm9ybVNpZGVDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1mb3JtLXNpZGUtY29udGVudC9iYXJzYS1mb3JtLXNpZGUtY29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEaWFsb2dIYW5kbGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaWFsb2ctaGFuZGxlci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBCYXJzYVNpbXBsZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXNpbXBsZS1mb3JtL2JhcnNhLXNpbXBsZS1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1Ub29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLXRvb2xiYXIvZm9ybS10b29sYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhTGlzdExheW91dFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1saXN0LWxheW91dC1wYW5lbC9iYXJzYS1saXN0LWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUdyaWRMYXlvdXRQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtZ3JpZC1sYXlvdXQtcGFuZWwvYmFyc2EtZ3JpZC1sYXlvdXQtcGFuZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FEeW5hbWljRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWR5bmFtaWMtZmllbGQvYmFyc2EtZHluYW1pYy1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTYXBTaXplUGlwZSB9IGZyb20gJy4vc2FwLXNpemUucGlwZSc7XHJcbmltcG9ydCB7IFVpTXVsdGlTZWxlY3RSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4vdWktbXVsdGktc2VsZWN0LXJhZGlvL3VpLW11bHRpLXNlbGVjdC1yYWRpby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaU11bHRpU2VsZWN0Q2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL3VpLW11bHRpLXNlbGVjdC1jaGVja2JveC91aS1tdWx0aS1zZWxlY3QtY2hlY2tib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlNdWx0aVNlbGVjdFNsaWRlckNvbXBvbmVudCB9IGZyb20gJy4vdWktbXVsdGktc2VsZWN0LXNsaWRlci91aS1tdWx0aS1zZWxlY3Qtc2xpZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpTXVsdGlTZWxlY3RDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tdWx0aS1zZWxlY3QtY2FyZC91aS1tdWx0aS1zZWxlY3QtY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaU11bHRpU2VsZWN0U21pbGVDb21wb25lbnQgfSBmcm9tICcuL3VpLW11bHRpLXNlbGVjdC1zbWlsZS91aS1tdWx0aS1zZWxlY3Qtc21pbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlOdW1JbnRTbGlkZXJDb21wb25lbnQgfSBmcm9tICcuL3VpLW51bS1pbnQtc2xpZGVyL3VpLW51bS1pbnQtc2xpZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhUmVwb3J0Q2hlY2tib3hTd2l0Y2hCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXJlcG9ydC1jaGVja2JveC1zd2l0Y2gtYnV0dG9uL2JhcnNhLXJlcG9ydC1jaGVja2JveC1zd2l0Y2gtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhQ29sdW1uUm93TnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jb2x1bW4tcm93bnVtYmVyL2JhcnNhLWNvbHVtbi1yb3dudW1iZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FSZXBvcnRPbmVPZkxpc3RDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXJlcG9ydC1vbmUtb2YtbGlzdC9iYXJzYS1yZXBvcnQtb25lLW9mLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDYXJkUm93UGF5YW1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNhcmQtcm93LXBheWFtL2JhcnNhLWNhcmQtcm93LXBheWFtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhUXVlc3Rpb25Qb3N0Q29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1xdWVzdGlvbi1wb3N0L2JhcnNhLXF1ZXN0aW9uLXBvc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FRdWVzdGlvbkFuc3dlckZvcm1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1mb3JtL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhUXVlc3Rpb25BbnN3ZXJGb3JtQWRkQ29tbWVudENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWZvcm0tYWRkLWNvbW1lbnQvYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWZvcm0tYWRkLWNvbW1lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FBbnN3ZXJDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1hbnN3ZXItY2FyZC9iYXJzYS1hbnN3ZXItY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYVF1ZXN0aW9uQW5zd2VyQ3JlYXRvclRpbWVTZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItY3JlYXRvci10aW1lLXNlY3Rpb24vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWNyZWF0b3ItdGltZS1zZWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhUXVlc3Rpb25BbnN3ZXJDb21tZW50c1NlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1jb21tZW50cy1zZWN0aW9uL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1jb21tZW50cy1zZWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhUXVlc3Rpb25BbnN3ZXJWb3RlU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLXZvdGUtc2VjdGlvbi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItdm90ZS1zZWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhUXVlc3Rpb25BbnN3ZXJDb250ZW50QWN0aW9uc1NlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1jb250ZW50LWFjdGlvbnMtc2VjdGlvbi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItY29udGVudC1hY3Rpb25zLXNlY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDaGlwQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jaGlwL2JhcnNhLWNoaXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FSZXBvcnRDYXJkRmxleFZpZXdDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXJlcG9ydC1jYXJkLWZsZXgtdmlldy9iYXJzYS1yZXBvcnQtY2FyZC1mbGV4LXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FUYWdzQ2F0ZWdvcnlSb3dDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRhZ3MtY2F0ZWdvcnktcm93L2JhcnNhLXRhZ3MtY2F0ZWdvcnktcm93LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhVGFnQ2hpcENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtdGFnLWNoaXAvYmFyc2EtdGFnLWNoaXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FUYWdDYXRlZ29yaWVzQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10YWctY2F0ZWdvcmllcy9iYXJzYS10YWctY2F0ZWdvcmllcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUN1c3RvbUlubGluZUVkaXRDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWN1c3RvbS1pbmxpbmUtZWRpdC9iYXJzYS1jdXN0b20taW5saW5lLWVkaXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDdXN0b21JbmxpbmVFZGl0Um93Q29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jdXN0b20taW5saW5lLWVkaXQtcm93L2JhcnNhLWN1c3RvbS1pbmxpbmUtZWRpdC1yb3cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IEJhcnNhQ2hhdENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY2hhdC9iYXJzYS1jaGF0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhQ2hhdENvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNoYXQtY29udGVudC9iYXJzYS1jaGF0LWNvbnRlbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDaGF0TWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY2hhdC1tZXNzYWdlL2JhcnNhLWNoYXQtbWVzc2FnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUNoYXRUaHJlYWRDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNoYXQtdGhyZWFkL2JhcnNhLWNoYXQtdGhyZWFkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhQ2hhdFRocmVhZHNMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jaGF0LXRocmVhZHMtbGlzdC9iYXJzYS1jaGF0LXRocmVhZHMtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUNoYXRUaHJlYWRzTGlzdFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNoYXQtdGhyZWFkcy1saXN0LXRvb2xiYXIvYmFyc2EtY2hhdC10aHJlYWRzLWxpc3QtdG9vbGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUNoYXRDb250ZW50VG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY2hhdC1jb250ZW50LXRvb2xiYXIvYmFyc2EtY2hhdC1jb250ZW50LXRvb2xiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FDaGF0TGlzdENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY2hhdC1saXN0L2JhcnNhLWNoYXQtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdmF0YXJHcmlkQ29sUGlwZSB9IGZyb20gJy4vYXZhdGFyLXNpemUucGlwZSc7XHJcbmltcG9ydCB7IEJhcnNhTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLW1vZGFsL2JhcnNhLW1vZGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhVGFiUm91dGVNYW5hZ2VyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10YWItcm91dGUtbWFuYWdlci9iYXJzYS10YWItcm91dGUtbWFuYWdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUJyZWFkY3J1bWJzQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1icmVhZGNydW1icy9iYXJzYS1icmVhZGNydW1icy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWJsZVRoRGlyZWN0aXZlIH0gZnJvbSAnLi90YWJsZS10aC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBCYXJzYVJvd0lubGluZUFjdGlvbmxpc3RDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXJvdy1pbmxpbmUtYWN0aW9ubGlzdC9iYXJzYS1yb3ctaW5saW5lLWFjdGlvbmxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT2JqZWN0U3RhdHVzSWNvblBpcGUgfSBmcm9tICcuL29iamVjdC1zdGF0dXMtaWNvbi5waXBlJztcclxuaW1wb3J0IHsgVWlCcG1uVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi91aS1icG1uLXZpZXdlci91aS1icG1uLXZpZXdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUJhckRvd25sb2FkRmlsZUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtYmFyLWRvd25sb2FkLWZpbGUvYmFyc2EtYmFyLWRvd25sb2FkLWZpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlOb3RpZmljYXRpb25WaWV3Q29tcG9uZW50IH0gZnJvbSAnLi91aS1ub3RpZmljYXRpb24tdmlldy91aS1ub3RpZmljYXRpb24tdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25JdGVtQWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vbm90aWZpY2F0aW9uLWl0ZW0tYWN0aW9ucy9ub3RpZmljYXRpb24taXRlbS1hY3Rpb25zLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgY29uc3QgY29tcG9uZW50cyA9IFtcclxuICAgIEJhcnNhQmFyRG93bmxvYWRGaWxlQ29tcG9uZW50LFxyXG4gICAgVWlUZXh0RmllbGRDb21wb25lbnQsXHJcbiAgICBMeUxheW91dEZpZWxkTGFiZWxDb21wb25lbnQsXHJcbiAgICBVaUNoZWNrQm94Q29tcG9uZW50LFxyXG4gICAgVWlTaW1wbGVDb21ib0NvbXBvbmVudCxcclxuICAgIFVpUmFkaW9Hcm91cENvbXBvbmVudCxcclxuICAgIFVpR3JpZENvbXBvbmVudCxcclxuICAgIFVpTWFwQ29tcG9uZW50LFxyXG4gICAgTHlMYXlvdXRDb250YWluZXJPZlJvb3RDb21wb25lbnQsXHJcbiAgICBMeUxheW91dFBhbmVsQ29tcG9uZW50LFxyXG4gICAgVWlSZWFkT25seUZpZWxkQ29tcG9uZW50LFxyXG4gICAgVWlDb250YWluZXJXaXRoQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgVWlQaWN0dXJlRmlsZUNvbXBvbmVudCxcclxuICAgIFVpTW9JbmZvVWx2Q29tYm9Db21wb25lbnQsXHJcbiAgICBVaU11bHRpU2VsZWN0Q29tYm9Db21wb25lbnQsXHJcbiAgICBVaU51bURlY2ltYWxVaUNvbXBvbmVudCxcclxuICAgIFVpTnVtSW50VWlDb21wb25lbnQsXHJcbiAgICBVaVRpbWVTcGFuQ29tcG9uZW50LFxyXG4gICAgVWlGaWxlTGluZWFyTGlzdEJveENvbXBvbmVudCxcclxuICAgIEx5RW1wdHlTcGFjZUNvbXBvbmVudCxcclxuICAgIFVpU2luZ2xlUGljdHVyZUNvbXBvbmVudCxcclxuICAgIFVsdlNlbGVjdGlvbkNvbXBvbmVudCxcclxuICAgIFVsdlRvb2xiYXJDb21wb25lbnQsXHJcbiAgICBVbHZQYWdpbmdDb21wb25lbnQsXHJcbiAgICBVaUdyaWRTb3J0U2V0dGluZ0NvbXBvbmVudCxcclxuICAgIFVpR3JpZFNvcnRJdGVtQ29tcG9uZW50LFxyXG4gICAgVWlHcmlkQ29sdW1uc0NvbXBvbmVudCxcclxuICAgIE1hc2tDb21wb25lbnQsXHJcbiAgICBVaUluZm9CYXJQYW5lbENvbXBvbmVudCxcclxuICAgIFVpRm9ybVBhbmVsQ29tcG9uZW50LFxyXG4gICAgVWlTZWFyY2hDb21tYW5kSW5mb1VpQ29tcG9uZW50LFxyXG4gICAgVWx2U2V0dGluZ3NDb21wb25lbnQsXHJcbiAgICBVaVRpbnltY2VDb21wb25lbnQsXHJcbiAgICBVaUJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFVpRGF0ZVRpbWVDb21wb25lbnQsXHJcbiAgICBGb3JtRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgVWlNb0luZm9TdWJGb3JtVWlDb21wb25lbnQsXHJcbiAgICBSZXNwb25zaXZlVG9vbGJhckNvbXBvbmVudCxcclxuICAgIFJlc3BvbnNpdmVUb29sYmFyUmVuZGVyZXJDb21wb25lbnQsXHJcbiAgICBVaVRleHRBcmVhQ29tcG9uZW50LFxyXG4gICAgTGF5b3V0Q29udHJvbENvbXBvbmVudCxcclxuICAgIExheW91dFdpemFyZENvbXBvbmVudCxcclxuICAgIEZvcm1XaXphcmRDb21wb25lbnQsXHJcbiAgICBGb3JtRGlhbG9nTGVzc0NvbXBvbmVudCxcclxuICAgIFJpY2hUZXh0U3RhdGljQ29tcG9uZW50LFxyXG4gICAgVWlQaWN0dXJlc0luZm9Db21wb25lbnQsXHJcbiAgICBMeUhvcml6b250YWxMYXlvdXRDb21wb25lbnQsXHJcbiAgICBMeVZlcnRpY2FsTGF5b3V0Q29tcG9uZW50LFxyXG4gICAgTHlUYWJDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBMeVRhYlBhZ2VDb21wb25lbnQsXHJcbiAgICBMeUxhYmVsQ29tcG9uZW50LFxyXG4gICAgVWlNb0luZm9Db21ib1ZpZXdlckNvbXBvbmVudCxcclxuICAgIFVsTXNnQm94QWRhcHRlckNvbXBvbmVudCxcclxuICAgIFVpVHJlZUNvbXBvbmVudCxcclxuICAgIEhlYWRlckF2YXRhckNvbXBvbmVudCxcclxuICAgIFVpV29ya2Zsb3dQYW5lbFVpQ29tcG9uZW50LFxyXG4gICAgVWx2Q29udGV4dE1lbnVDb21wb25lbnQsXHJcbiAgICBVbExvYWRpbmdNYXNrVWlDb21wb25lbnQsXHJcbiAgICBVaVRleHRGaWVsZEF1dG9Db21wbGV0ZUNvbXBvbmVudCxcclxuICAgIENhcHRjaGFGaWVsZENvbXBvbmVudCxcclxuICAgIEx5U2ltcGxlTGFiZWxDb21wb25lbnQsXHJcbiAgICBHbG9iYWxTZWFyY2hQYW5lbENvbXBvbmVudCxcclxuICAgIEdsb2JhbFNlYXJjaE1vZHVsZUNvbXBvbmVudCxcclxuICAgIEdsb2JhbFNlYXJjaENvbXBvbmVudCxcclxuICAgIEh5cGVybGlua0NvbXBvbmVudCxcclxuICAgIFN0YXRpY1RleHRDb21wb25lbnQsXHJcbiAgICBVbFRvYXN0QWRhcHRlckNvbXBvbmVudCxcclxuICAgIE1lc3NhZ2VTdHJpcENvbXBvbmVudCxcclxuICAgIFVpTGluZWFyTGlzdENvbnRhaW5lcldpdGhCdXR0b25Db21wb25lbnQsXHJcbiAgICBGdW5kYW1lbnRhbER5bmFtaWNGb3JtQ29tcG9uZW50LFxyXG4gICAgTGF5b3V0QWN0aW9uc0NvbXBvbmVudCxcclxuICAgIEx5TGF5b3V0Q29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgVWlVbHZGb3JtTXVsdGlTZWxlY3RVaUNvbXBvbmVudCxcclxuICAgIFVsdkZvcm1NdWx0aVNlbGVjdENvbXBvbmVudCxcclxuICAgIFVsdkNvbHVtblNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgVWx2RmlsdGVyU2V0dGluZ3NDb21wb25lbnQsXHJcbiAgICBVbHZTb3J0U2V0dGluZ3NDb21wb25lbnQsXHJcbiAgICBVbHZHcm91cGJ5U2V0dGluZ3NDb21wb25lbnQsXHJcbiAgICBCYXJzYUxpc3RGaWxlTGluZWFyQ29tcG9uZW50LFxyXG4gICAgVWlQZGZWaWV3ZXJDb21wb25lbnQsXHJcbiAgICBCYXJzYVRpbnllbWNlQ29tcG9uZW50LFxyXG4gICAgVWlNb25hY29FZGl0b3JDb21wb25lbnQsXHJcbiAgICBCYXJzYU1vbmFjb0VkaXRvckNvbXBvbmVudCxcclxuICAgIEJhcnNhRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQsXHJcbiAgICBCYXJzYVRyZWVJdGVtQ29tcG9uZW50LFxyXG4gICAgVWlTd2l0Y2hCdXR0b25Db21wb25lbnQsXHJcbiAgICBVaUNvbG9yVWlDb21wb25lbnQsXHJcbiAgICBMeUxpbmVDb21wb25lbnQsXHJcbiAgICBVaVVsdk1haW5VaUNvbXBvbmVudCxcclxuICAgIFJlcG9ydE5hdmlnYXRvckNvbXBvbmVudCxcclxuICAgIE1hbmFnZUZpbHRlcnNSZXBvcnRDb21wb25lbnQsXHJcbiAgICBSZXBvcnRTZWFyY2hGaWVsZHNNYW5hZ2VDb21wb25lbnQsXHJcbiAgICBSZXBvcnRTZWFyY2hGaWVsZHNIaWRkZW5TZXR0aW5nc0NvbXBvbmVudCxcclxuICAgIFNlYXJjaFBhbmVsQ29tcG9uZW50LFxyXG4gICAgUmVwb3J0U2VhcmNoUGFuZWxTYXZlQ29tcG9uZW50LFxyXG4gICAgVWlHcmlkRmlsdGVyU2V0dGluZ3NDb21wb25lbnQsXHJcbiAgICBVaUdyaWRGaWx0ZXJJdGVtQ29tcG9uZW50LFxyXG4gICAgVWlEYXRlUmFuZ2VFeENvbXBvbmVudCxcclxuICAgIFVsTm90aWZ5UG9wdXBDb21wb25lbnQsXHJcbiAgICBVaVRhYmxlVmlld0NvbXBvbmVudCxcclxuICAgIFVpTGlzdFZpZXdDb21wb25lbnQsXHJcbiAgICBVaUNhcmRWaWV3Q29tcG9uZW50LFxyXG4gICAgVWlSZXBvcnRDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBOb0RhdGFDb21wb25lbnQsXHJcbiAgICBDb2x1bW5SZW5kZXJlckNvbXBvbmVudCxcclxuICAgIElubGluZVNhdmVBbmRDYW5jZWxDb21wb25lbnQsXHJcbiAgICBVaVRyZWVWaWV3Q29tcG9uZW50LFxyXG4gICAgSW5saW5lU2F2ZUFuZENhbmNlbENvbXBvbmVudCxcclxuICAgIFVpQ2FsZW5kYXJDb21wb25lbnQsXHJcbiAgICBVaUFzcFJlcG9ydFZpZXdlckNvbXBvbmVudCxcclxuICAgIFVpR3JhcGhDb21wb25lbnQsXHJcbiAgICBVaUV4Y2VwdGlvbkZvcm1Db21wb25lbnQsXHJcbiAgICBVaUVkaXRhYmxlR3JpZENvbXBvbmVudCxcclxuICAgIENvbHVtbk1hdHJpeFJlbmRlcmVyQ29tcG9uZW50LFxyXG4gICAgVWlNYXRyaXhWaWV3Q29tcG9uZW50LFxyXG4gICAgQ3VzdG9tRGF0ZVRpbWVDb21wb25lbnQsXHJcbiAgICBCYXJzYUFzcFZpZXdlckNvbXBvbmVudCxcclxuICAgIEZpbGVJbkRpYWxvZ0NvbXBvbmVudCxcclxuICAgIFVpTW9JbmZvR2VuZXJhbE9iamVjdFVpQ29tcG9uZW50LFxyXG4gICAgVWlHYW50dENoYXJ0Q29tcG9uZW50LFxyXG4gICAgR2FudHREaHRtbENoYXJ0Vmlld0NvbXBvbmVudCxcclxuICAgIFByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50LFxyXG4gICAgQ2FyZFZpZXdDb250ZW50Q29tcG9uZW50LFxyXG4gICAgQ2FyZEl0ZW1Db21wb25lbnQsXHJcbiAgICBVaUNhcmRWaWV3SG9yaXpvbnRhbEdyb3VwQ29tcG9uZW50LFxyXG4gICAgVGl0bGVDb21wb25lbnQsXHJcbiAgICBCYXJzYVVsdk1haW5Db21wb25lbnQsXHJcbiAgICBMaXN0SXRlbUNvbXBvbmVudCxcclxuICAgIEh0cmVlQ3JlYXRlTmV3Q29tcG9uZW50LFxyXG4gICAgQmFyc2FUYWJsZUhlYWRlckNvbXBvbmVudCxcclxuICAgIEJhcnNhVGFibGVSb3dDb21wb25lbnQsXHJcbiAgICBCYXJzYVRhYmxlQ29sdW1uQ29tcG9uZW50LFxyXG4gICAgQnJlYWRjcnVtYkNvbXBvbmVudCxcclxuICAgIFVpTGFiZWxDb21wb25lbnQsXHJcbiAgICBGb3JtVG9vbGJhckJ1dHRvbkNvbXBvbmVudCxcclxuICAgIEJhcnNhU2VhcmNoRm9ybUNvbXBvbmVudCxcclxuICAgIFJlcG9ydE5ld1RvcEZvcm1Db21wb25lbnQsXHJcbiAgICBCYXJzYU5ldHdvcmtPZmZsaW5lQ29tcG9uZW50LFxyXG4gICAgRmlsZVZpZXdlckNvbnRlbnRDb21wb25lbnQsXHJcbiAgICBGaWxlVmlld2VyUG9wb3ZlckNvbXBvbmVudCxcclxuICAgIEZpbGVWaWV3ZXJDb21wb25lbnQsXHJcbiAgICBCbG9iVmlld2VyQ29tcG9uZW50LFxyXG4gICAgTm90aWZpY2F0aW9uSXRlbUNvbXBvbmVudCxcclxuICAgIEJhcnNhQ2FydGFibGVUZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgIEJhcnNhQ2FydGFibGVHcm91cENvbXBvbmVudCxcclxuICAgIEJhcnNhQ2FydGFibGVGb3JtQ29tcG9uZW50LFxyXG4gICAgQmFyc2FDb2x1bW5JbmRpY2F0b3JDb21wb25lbnQsXHJcbiAgICBCYXJzYUZpZWxkS2V5VmFsdWVDb21wb25lbnQsXHJcbiAgICBCYXJzYVRvb2xiYXJpdGVtU2VhcmNoQ29tcG9uZW50LFxyXG4gICAgVWlIdG1sVmlld2VyQ29tcG9uZW50LFxyXG4gICAgQmFyc2FQaXNobmFtYXllc2hQYXlhbUNvbXBvbmVudCxcclxuICAgIEJhcnNhVGV4dEVsbGlwc2lzQ29tcG9uZW50LFxyXG4gICAgQmFyc2FMaXN0RmlsZUxpbmVhckdtYWlsQ29tcG9uZW50LFxyXG4gICAgQmFyc2FMaW5rYWJsZUl0ZW1zUGFuZWxDb21wb25lbnQsXHJcbiAgICBCYXJzYUVudW1NZW51QnV0dG9uQ29tcG9uZW50LFxyXG4gICAgQmFyc2FDYXJkTGF5b3V0UGFuZWxDb21wb25lbnQsXHJcbiAgICBCYXJzYUhvcml6b250YWxGbGV4UGFuZWxDb21wb25lbnQsXHJcbiAgICBCYXJzYUJhc2VMYXlvdXRQYW5lbENvbXBvbmVudCxcclxuICAgIEJhcnNhQmFyUGFuZWxDb21wb25lbnQsXHJcbiAgICBCYXJzYUZvcm1TaWRlQ29udGVudENvbXBvbmVudCxcclxuICAgIEJhcnNhU2ltcGxlRm9ybUNvbXBvbmVudCxcclxuICAgIEZvcm1Ub29sYmFyQ29tcG9uZW50LFxyXG4gICAgQmFyc2FMaXN0TGF5b3V0UGFuZWxDb21wb25lbnQsXHJcbiAgICBCYXJzYUdyaWRMYXlvdXRQYW5lbENvbXBvbmVudCxcclxuICAgIEJhcnNhRHluYW1pY0ZpZWxkQ29tcG9uZW50LFxyXG4gICAgVWlNdWx0aVNlbGVjdFJhZGlvQ29tcG9uZW50LFxyXG4gICAgVWlNdWx0aVNlbGVjdENoZWNrYm94Q29tcG9uZW50LFxyXG4gICAgVWlOdW1JbnRTbGlkZXJDb21wb25lbnQsXHJcbiAgICBVaU11bHRpU2VsZWN0U2xpZGVyQ29tcG9uZW50LFxyXG4gICAgVWlNdWx0aVNlbGVjdENhcmRDb21wb25lbnQsXHJcbiAgICBVaU11bHRpU2VsZWN0U21pbGVDb21wb25lbnQsXHJcbiAgICBCYXJzYVJlcG9ydENoZWNrYm94U3dpdGNoQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgQmFyc2FDb2x1bW5Sb3dOdW1iZXJDb21wb25lbnQsXHJcbiAgICBCYXJzYUNhcmRSb3dQYXlhbUNvbXBvbmVudCxcclxuICAgIEJhcnNhQ29sdW1uUm93TnVtYmVyQ29tcG9uZW50LFxyXG4gICAgQmFyc2FRdWVzdGlvblBvc3RDb21wb25lbnQsXHJcbiAgICBCYXJzYVF1ZXN0aW9uQW5zd2VyRm9ybUNvbXBvbmVudCxcclxuICAgIEJhcnNhUXVlc3Rpb25BbnN3ZXJGb3JtQWRkQ29tbWVudENvbXBvbmVudCxcclxuICAgIEJhcnNhQW5zd2VyQ2FyZENvbXBvbmVudCxcclxuICAgIEJhcnNhUXVlc3Rpb25BbnN3ZXJDb250ZW50QWN0aW9uc1NlY3Rpb25Db21wb25lbnQsXHJcbiAgICBCYXJzYVF1ZXN0aW9uQW5zd2VyVm90ZVNlY3Rpb25Db21wb25lbnQsXHJcbiAgICBCYXJzYVF1ZXN0aW9uQW5zd2VyQ3JlYXRvclRpbWVTZWN0aW9uQ29tcG9uZW50LFxyXG4gICAgQmFyc2FRdWVzdGlvbkFuc3dlckNvbW1lbnRzU2VjdGlvbkNvbXBvbmVudCxcclxuICAgIEJhcnNhQ2hpcENvbXBvbmVudCxcclxuICAgIEJhcnNhVGFnQ2hpcENvbXBvbmVudCxcclxuICAgIEJhcnNhUmVwb3J0Q2FyZEZsZXhWaWV3Q29tcG9uZW50LFxyXG4gICAgQmFyc2FUYWdzQ2F0ZWdvcnlSb3dDb21wb25lbnQsXHJcbiAgICBCYXJzYVRhZ0NhdGVnb3JpZXNDb21wb25lbnQsXHJcbiAgICBCYXJzYVJlcG9ydE9uZU9mTGlzdENvbXBvbmVudCxcclxuICAgIEJhcnNhQ2FyZFJvd1BheWFtQ29tcG9uZW50LFxyXG4gICAgQmFyc2FDdXN0b21JbmxpbmVFZGl0Q29tcG9uZW50LFxyXG4gICAgQmFyc2FDdXN0b21JbmxpbmVFZGl0Um93Q29tcG9uZW50LFxyXG4gICAgQmFyc2FDaGF0Q29tcG9uZW50LFxyXG4gICAgQmFyc2FDaGF0Q29udGVudENvbXBvbmVudCxcclxuICAgIEJhcnNhQ2hhdE1lc3NhZ2VDb21wb25lbnQsXHJcbiAgICBCYXJzYUNoYXRUaHJlYWRDb21wb25lbnQsXHJcbiAgICBCYXJzYUNoYXRUaHJlYWRzTGlzdENvbXBvbmVudCxcclxuICAgIEJhcnNhQ2hhdFRocmVhZHNMaXN0VG9vbGJhckNvbXBvbmVudCxcclxuICAgIEJhcnNhQ2hhdENvbnRlbnRUb29sYmFyQ29tcG9uZW50LFxyXG4gICAgQmFyc2FDaGF0TGlzdENvbXBvbmVudCxcclxuICAgIEJhcnNhTW9kYWxDb21wb25lbnQsXHJcbiAgICBCYXJzYVRhYlJvdXRlTWFuYWdlckNvbXBvbmVudCxcclxuICAgIEJhcnNhQnJlYWRjcnVtYnNDb21wb25lbnQsXHJcbiAgICBCYXJzYVJvd0lubGluZUFjdGlvbmxpc3RDb21wb25lbnQsXHJcbiAgICBVaUJwbW5WaWV3ZXJDb21wb25lbnQsXHJcbiAgICBVaU5vdGlmaWNhdGlvblZpZXdDb21wb25lbnQsXHJcbiAgICBOb3RpZmljYXRpb25JdGVtQWN0aW9uc0NvbXBvbmVudFxyXG5dO1xyXG5leHBvcnQgY29uc3QgcGlwZXMgPSBbXHJcbiAgICBVcGxvYWRGaWxlU3RhdHVzUGlwZSxcclxuICAgIFNhcEZvbnRQaXBlLFxyXG4gICAgU2FwRm9udENsYXNzUGlwZSxcclxuICAgIFN0cmluZ1RvQXJyYXlQaXBlLFxyXG4gICAgTm9kZUhhc09uZURlcHRoTGV2ZWxQaXBlLFxyXG4gICAgTWF0cml4VmFsdWVQaXBlLFxyXG4gICAgRHluYW1pY1BhZ2VTaXplUGlwZSxcclxuICAgIFNhcFNpemVQaXBlLFxyXG4gICAgQXZhdGFyR3JpZENvbFBpcGUsXHJcbiAgICBPYmplY3RTdGF0dXNJY29uUGlwZVxyXG5dO1xyXG5leHBvcnQgY29uc3QgZGlyZWN0aXZlcyA9IFtcclxuICAgIFdpemFyZExheW91dERpcmVjdGl2ZSxcclxuICAgIENvbFJlbmRlcmVyRGlyZWN0aXZlLFxyXG4gICAgQXBwbHlDb25kaXRpb25hbEZvcm1hdHNEaXJlY3RpdmUsXHJcbiAgICBSZXBvcnRWaWV3UmVuZGVyZXJEaXJlY3RpdmUsXHJcbiAgICBGdWxsc2NyZWVuRGlhbG9nRGlyZWN0aXZlLFxyXG4gICAgRnVsbHNjcmVlbkZpbGVzRGlyZWN0aXZlLFxyXG4gICAgRG93bmxvYWRGaWxlc0RpcmVjdGl2ZSxcclxuICAgIERpYWxvZ0hhbmRsZXJEaXJlY3RpdmUsXHJcbiAgICBUYWJsZVRoRGlyZWN0aXZlXHJcbl07XHJcbmV4cG9ydCBjb25zdCBJTklUX1NBUEZJT1JJID1cclxuICAgIChcclxuICAgICAgICBydGxTZXJ2aWNlOiBSdGxTZXJ2aWNlLFxyXG4gICAgICAgIGNvbnRlbnREZW5zaXR5U2VydmljZTogR2xvYmFsQ29udGVudERlbnNpdHlTZXJ2aWNlLFxyXG4gICAgICAgIHRoZW1lU2VydmljZTogVGhlbWluZ1NlcnZpY2UsXHJcbiAgICAgICAgcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSxcclxuICAgICAgICBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgICAgICBsb2NhbFN0b3JhZ2VTZXJ2aWNlOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlXHJcbiAgICApID0+XHJcbiAgICAoKSA9PiB7XHJcbiAgICAgICAgLy8gcnRsU2VydmljZS5ydGwubmV4dChCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLklzUnRsKTtcclxuICAgICAgICBjb25zdCBzZXRUaGVtZSA9ICh0aGVtZSk6IHZvaWQgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhlbWUpIHtcclxuICAgICAgICAgICAgICAgIHRoZW1lU2VydmljZS5zZXRUaGVtZSh0aGVtZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gdGhlbWVTZXJ2aWNlLnNldFRoZW1lKHRoZW1lQ2FwdGlvbik7XHJcbiAgICAgICAgICAgIHRoZW1lU2VydmljZS5jdXJyZW50VGhlbWUuc3Vic2NyaWJlKCh0aGVtZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoZW1lKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9ydGFsU2VydmljZS5zZXRDc3NVcmxUaGVtZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh0aGVtZS50aGVtaW5nLnRoZW1lUGF0aCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodGhlbWUudGhlbWluZy50aGVtaW5nQmFzZVBhdGgpXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICBwb3J0YWxTZXJ2aWNlLnVzZXJQb3J0YWxTZXR0aW5ncyQucGlwZSgpLnN1YnNjcmliZSgodXNlclBvcnRhbFNldHRpbmdzKSA9PiB7XHJcbiAgICAgICAgICAgIHJ0bFNlcnZpY2UucnRsLm5leHQoQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5Jc1J0bCk7XHJcbiAgICAgICAgICAgIGNvbnN0IHVzZXJTZXR0aW5ncyA9IHVzZXJQb3J0YWxTZXR0aW5nc1snVXNlclBvcnRhbFNldHRpbmdzJ107XHJcbiAgICAgICAgICAgIGxldCBjb250ZW50RGVuc2l0eTogYW55O1xyXG4gICAgICAgICAgICBpZiAoIXVzZXJTZXR0aW5ncykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZGVmYXVsdFRoZW1lID0gbG9jYWxTdG9yYWdlU2VydmljZS5nZXRJdGVtKCdkZWZhdWx0X3RoZW1lJykgfHwgJ3NhcF9maW9yaV8zJztcclxuICAgICAgICAgICAgICAgIHNldFRoZW1lKGRlZmF1bHRUaGVtZSk7XHJcbiAgICAgICAgICAgICAgICBpZiAoZ2V0RGV2aWNlSXNNb2JpbGUoKSB8fCBnZXREZXZpY2VJc1Bob25lKCkgfHwgZ2V0RGV2aWNlSXNUYWJsZXQoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnREZW5zaXR5ID0gQ29udGVudERlbnNpdHlNb2RlLkNPWlk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnREZW5zaXR5ID0gQ29udGVudERlbnNpdHlNb2RlLkNPTVBBQ1Q7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb250ZW50RGVuc2l0eVNlcnZpY2UudXBkYXRlQ29udGVudERlbnNpdHkoY29udGVudERlbnNpdHkpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCB0aGVtZTogYW55O1xyXG4gICAgICAgICAgICBpZiAodXNlclNldHRpbmdzKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB7IENvbnRlbnREZW5zaXR5JENhcHRpb24sIFRoZW1lJENhcHRpb24gfSA9IHVzZXJTZXR0aW5ncztcclxuICAgICAgICAgICAgICAgIGNvbnRlbnREZW5zaXR5ID0gQ29udGVudERlbnNpdHkkQ2FwdGlvbjtcclxuICAgICAgICAgICAgICAgIHRoZW1lID0gVGhlbWUkQ2FwdGlvbjtcclxuICAgICAgICAgICAgICAgIGlmICghY29udGVudERlbnNpdHkpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50RGVuc2l0eSA9IENvbnRlbnREZW5zaXR5TW9kZS5DT01QQUNUO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChnZXREZXZpY2VJc01vYmlsZSgpIHx8IGdldERldmljZUlzUGhvbmUoKSkge1xyXG4gICAgICAgICAgICAgICAgY29udGVudERlbnNpdHkgPSBDb250ZW50RGVuc2l0eU1vZGUuQ09aWTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoY29udGVudERlbnNpdHkpIHtcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50RGVuc2l0eVNlcnZpY2UudXBkYXRlQ29udGVudERlbnNpdHkoY29udGVudERlbnNpdHkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3QgYm9keUNsYXNzQ29tcGFjdCA9ICd1aTUtY29udGVudC1kZW5zaXR5LWNvbXBhY3QnO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYm9keUNsYXNzQ29uZGVuc2VkID0gJ3VpNS1jb250ZW50LWRlbnNpdHktY29uZGVuc2VkJztcclxuICAgICAgICAgICAgICAgIGNvbnN0IGJvZHlDbGFzc0NvenkgPSAndWk1LWNvbnRlbnQtZGVuc2l0eS1jb3p5JztcclxuICAgICAgICAgICAgICAgIGNvbnN0IGJvZHkgPSBkb2N1bWVudD8uYm9keTtcclxuICAgICAgICAgICAgICAgIHN3aXRjaCAoY29udGVudERlbnNpdHkpIHtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlICdjb25kZW5zZWQnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKGJvZHlDbGFzc0NvbmRlbnNlZCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5LmNsYXNzTGlzdC5hZGQoYm9keUNsYXNzQ29uZGVuc2VkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkuY2xhc3NMaXN0LnJlbW92ZShib2R5Q2xhc3NDb21wYWN0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkuY2xhc3NMaXN0LnJlbW92ZShib2R5Q2xhc3NDb3p5KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICBjYXNlICdjb3p5JzpcclxuICAgICAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFib2R5LmNsYXNzTGlzdC5jb250YWlucyhib2R5Q2xhc3NDb3p5KSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkuY2xhc3NMaXN0LmFkZChib2R5Q2xhc3NDb3p5KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkuY2xhc3NMaXN0LnJlbW92ZShib2R5Q2xhc3NDb21wYWN0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkuY2xhc3NMaXN0LnJlbW92ZShib2R5Q2xhc3NDb25kZW5zZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2NvbXBhY3QnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKGJvZHlDbGFzc0NvbXBhY3QpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QuYWRkKGJvZHlDbGFzc0NvbXBhY3QpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKGJvZHlDbGFzc0NvenkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKGJvZHlDbGFzc0NvbmRlbnNlZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoZW1lKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhlbWUuaW5kZXhPZignZGFyaycpID4gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2NvbG9yLXNjaGVtZScsICdkYXJrJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1tb2RlJywgJ2RhcmsnKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdjb2xvci1zY2hlbWUnLCAnbGlnaHQnKTtcclxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLW1vZGUnLCAnbGlnaHQnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHNldFRoZW1lKHRoZW1lKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuIl19
|