slick-components 4.4.13 → 4.4.16
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/css/slick-components.css +598 -365
- package/css/slick-components.min.css +1 -1
- package/esm2020/public-api.mjs +43 -0
- package/esm2020/slick-accordion/slick-accordion-item-header.component.mjs +14 -0
- package/esm2020/slick-accordion/slick-accordion-item.component.mjs +86 -0
- package/esm2020/slick-accordion/slick-accordion.component.mjs +75 -0
- package/esm2020/slick-accordion/slick-accordion.module.mjs +23 -0
- package/esm2020/slick-auto-complete/slick-auto-complete-list-item-template.directive.mjs +22 -0
- package/esm2020/slick-auto-complete/slick-auto-complete.component.mjs +375 -0
- package/esm2020/slick-auto-complete/slick-auto-complete.module.mjs +24 -0
- package/esm2020/slick-button-spinner/slick-button-spinner.component.mjs +175 -0
- package/esm2020/slick-button-spinner/slick-button-spinner.module.mjs +19 -0
- package/esm2020/slick-calendar/slick-calendar.component.mjs +246 -0
- package/esm2020/slick-calendar/slick-calendar.module.mjs +19 -0
- package/esm2020/slick-card/slick-card-header.component.mjs +14 -0
- package/esm2020/slick-card/slick-card.component.mjs +42 -0
- package/esm2020/slick-card/slick-card.module.mjs +20 -0
- package/esm2020/slick-components.mjs +5 -0
- package/esm2020/slick-confirm-dialog/slick-confirm-dialog.component.mjs +65 -0
- package/esm2020/slick-confirm-dialog/slick-confirm-dialog.module.mjs +20 -0
- package/esm2020/slick-container/slick-container-body.component.mjs +24 -0
- package/esm2020/slick-container/slick-container-footer.component.mjs +20 -0
- package/esm2020/slick-container/slick-container-header.component.mjs +20 -0
- package/esm2020/slick-container/slick-container.component.mjs +21 -0
- package/esm2020/slick-container/slick-container.module.mjs +25 -0
- package/esm2020/slick-context-menu/slick-context-menu-item.component.mjs +14 -0
- package/esm2020/slick-context-menu/slick-context-menu.component.mjs +48 -0
- package/esm2020/slick-context-menu/slick-context-menu.module.mjs +20 -0
- package/{esm2015/slick-currency-mask/slick-currency-mask-options.model.js → esm2020/slick-currency-mask/slick-currency-mask-options.model.mjs} +0 -0
- package/esm2020/slick-currency-mask/slick-currency-mask.directive.mjs +233 -0
- package/esm2020/slick-currency-mask/slick-currency-mask.module.mjs +19 -0
- package/esm2020/slick-date-picker/slick-date-picker.component.mjs +278 -0
- package/esm2020/slick-date-picker/slick-date-picker.module.mjs +21 -0
- package/esm2020/slick-dialog/slick-dialog-footer.component.mjs +24 -0
- package/esm2020/slick-dialog/slick-dialog.component.mjs +294 -0
- package/esm2020/slick-dialog/slick-dialog.module.mjs +23 -0
- package/esm2020/slick-dialog/slick-dialog.service.mjs +68 -0
- package/esm2020/slick-drag-drop/slick-drag-drop.directive.mjs +13 -0
- package/esm2020/slick-drag-drop/slick-drag-drop.module.mjs +21 -0
- package/esm2020/slick-drag-drop/slick-draggable.directive.mjs +13 -0
- package/{esm2015/slick-drop-down/slick-drop-down-button.model.js → esm2020/slick-drop-down/slick-drop-down-button.model.mjs} +0 -0
- package/esm2020/slick-drop-down/slick-drop-down.component.mjs +479 -0
- package/esm2020/slick-drop-down/slick-drop-down.module.mjs +24 -0
- package/esm2020/slick-drop-down/slick-drop-down.service.mjs +55 -0
- package/esm2020/slick-drop-list/slick-drop-list-grab.directive.mjs +18 -0
- package/esm2020/slick-drop-list/slick-drop-list-item.directive.mjs +18 -0
- package/esm2020/slick-drop-list/slick-drop-list.directive.mjs +215 -0
- package/esm2020/slick-drop-list/slick-drop-list.module.mjs +23 -0
- package/esm2020/slick-email-viewer/slick-email-viewer-dialog.component.mjs +81 -0
- package/esm2020/slick-email-viewer/slick-email-viewer.component.mjs +42 -0
- package/esm2020/slick-email-viewer/slick-email-viewer.module.mjs +26 -0
- package/{esm2015/slick-emailer/slick-emailer-address.model.js → esm2020/slick-emailer/slick-emailer-address.model.mjs} +0 -0
- package/esm2020/slick-emailer/slick-emailer-dialog.component.mjs +153 -0
- package/esm2020/slick-emailer/slick-emailer.component.mjs +235 -0
- package/{esm2015/slick-emailer/slick-emailer.model.js → esm2020/slick-emailer/slick-emailer.model.mjs} +0 -0
- package/esm2020/slick-emailer/slick-emailer.module.mjs +29 -0
- package/esm2020/slick-file-drop/slick-file-drop.component.mjs +156 -0
- package/esm2020/slick-file-drop/slick-file-drop.module.mjs +20 -0
- package/esm2020/slick-file-list/slick-file-list-item.component.mjs +173 -0
- package/esm2020/slick-file-list/slick-file-list.component.mjs +130 -0
- package/esm2020/slick-file-list/slick-file-list.module.mjs +23 -0
- package/{esm2015/slick-file-model/slick-file.model.js → esm2020/slick-file-model/slick-file.model.mjs} +0 -0
- package/esm2020/slick-google-address-search/slick-google-address-search.directive.mjs +75 -0
- package/esm2020/slick-google-address-search/slick-google-address-search.module.mjs +19 -0
- package/esm2020/slick-google-map/slick-google-map-dialog.component.mjs +50 -0
- package/esm2020/slick-google-map/slick-google-map.component.mjs +48 -0
- package/esm2020/slick-google-map/slick-google-map.module.mjs +22 -0
- package/esm2020/slick-grid/slick-grid-column-template.directive.mjs +19 -0
- package/{esm2015/slick-grid/slick-grid-column.model.js → esm2020/slick-grid/slick-grid-column.model.mjs} +0 -0
- package/{esm2015/slick-grid/slick-grid-favorite.model.js → esm2020/slick-grid/slick-grid-favorite.model.mjs} +0 -0
- package/{esm2015/slick-grid/slick-grid-request.model.js → esm2020/slick-grid/slick-grid-request.model.mjs} +0 -0
- package/{esm2015/slick-grid/slick-grid-response.model.js → esm2020/slick-grid/slick-grid-response.model.mjs} +0 -0
- package/esm2020/slick-grid/slick-grid-sanitize.pipe.mjs +20 -0
- package/esm2020/slick-grid/slick-grid.component.mjs +793 -0
- package/esm2020/slick-grid/slick-grid.module.mjs +43 -0
- package/{esm2015/slick-grid/slick-grid.options.js → esm2020/slick-grid/slick-grid.options.mjs} +0 -0
- package/esm2020/slick-grid/slick-grid.service.mjs +66 -0
- package/esm2020/slick-multi-select/slick-multi-select.component.mjs +362 -0
- package/esm2020/slick-multi-select/slick-multi-select.module.mjs +20 -0
- package/esm2020/slick-multi-select/slick-multi-select.service.mjs +77 -0
- package/esm2020/slick-ordered-list/slick-ordered-list.component.mjs +200 -0
- package/esm2020/slick-ordered-list/slick-ordered-list.module.mjs +20 -0
- package/esm2020/slick-paging/slick-paging.component.mjs +185 -0
- package/esm2020/slick-paging/slick-paging.module.mjs +19 -0
- package/esm2020/slick-photo-gallery/slick-photo-gallery.component.mjs +98 -0
- package/{esm2015/slick-photo-gallery/slick-photo-gallery.model.js → esm2020/slick-photo-gallery/slick-photo-gallery.model.mjs} +0 -0
- package/esm2020/slick-photo-gallery/slick-photo-gallery.module.mjs +21 -0
- package/esm2020/slick-pick-list/slick-pick-list.component.mjs +84 -0
- package/esm2020/slick-pick-list/slick-pick-list.module.mjs +20 -0
- package/esm2020/slick-popover/slick-popover.component.mjs +204 -0
- package/esm2020/slick-popover/slick-popover.module.mjs +19 -0
- package/esm2020/slick-profile-picture/slick-profile-picture.component.mjs +267 -0
- package/esm2020/slick-profile-picture/slick-profile-picture.module.mjs +20 -0
- package/esm2020/slick-progress-bar/slick-progress-bar.module.mjs +18 -0
- package/esm2020/slick-progress-bar/slick-progress-bar.service.mjs +53 -0
- package/esm2020/slick-screen-blocker/slick-screen-blocker.module.mjs +18 -0
- package/esm2020/slick-screen-blocker/slick-screen-blocker.service.mjs +83 -0
- package/{esm2015/slick-slider/slick-slider-tick.model.js → esm2020/slick-slider/slick-slider-tick.model.mjs} +0 -0
- package/esm2020/slick-slider/slick-slider.component.mjs +90 -0
- package/esm2020/slick-slider/slick-slider.module.mjs +20 -0
- package/esm2020/slick-split-screen/slick-screen-split-left-content.component.mjs +15 -0
- package/esm2020/slick-split-screen/slick-screen-split-right-content.component.mjs +15 -0
- package/esm2020/slick-split-screen/slick-split-screen.component.mjs +159 -0
- package/esm2020/slick-split-screen/slick-split-screen.module.mjs +21 -0
- package/esm2020/slick-tabs/slick-tab-header.component.mjs +28 -0
- package/esm2020/slick-tabs/slick-tab.component.mjs +63 -0
- package/{esm2015/slick-tabs/slick-tab.model.js → esm2020/slick-tabs/slick-tab.model.mjs} +0 -0
- package/esm2020/slick-tabs/slick-tabs.component.mjs +107 -0
- package/esm2020/slick-tabs/slick-tabs.module.mjs +23 -0
- package/esm2020/slick-toast/slick-toast.module.mjs +18 -0
- package/esm2020/slick-toast/slick-toast.service.mjs +88 -0
- package/{esm2015/slick-tree-view/slick-tree-node.model.js → esm2020/slick-tree-view/slick-tree-node.model.mjs} +0 -0
- package/esm2020/slick-tree-view/slick-tree-view.component.mjs +293 -0
- package/esm2020/slick-tree-view/slick-tree-view.module.mjs +22 -0
- package/esm2020/slick-type-ahead/slick-type-ahead.directive.mjs +164 -0
- package/esm2020/slick-type-ahead/slick-type-ahead.module.mjs +18 -0
- package/esm2020/slick-validation-indicator/slick-validation-indicator.directive.mjs +63 -0
- package/esm2020/slick-validation-indicator/slick-validation-indicator.module.mjs +19 -0
- package/esm2020/utils/slick-function-lock.service.mjs +55 -0
- package/esm2020/utils/slick-init.service.mjs +49 -0
- package/esm2020/utils/slick-log.service.mjs +23 -0
- package/esm2020/utils/slick-sleep.service.mjs +14 -0
- package/esm2020/utils/slick-utils.service.mjs +247 -0
- package/fesm2015/{slick-components.js → slick-components.mjs} +2779 -2070
- package/fesm2015/slick-components.mjs.map +1 -0
- package/fesm2020/slick-components.mjs +8467 -0
- package/fesm2020/slick-components.mjs.map +1 -0
- package/package.json +20 -8
- package/public-api.d.ts +8 -8
- package/slick-accordion/slick-accordion-item-header.component.d.ts +3 -0
- package/slick-accordion/slick-accordion-item.component.d.ts +3 -0
- package/slick-accordion/slick-accordion.component.d.ts +3 -0
- package/slick-accordion/slick-accordion.module.d.ts +8 -0
- package/slick-auto-complete/slick-auto-complete-list-item-template.directive.d.ts +3 -0
- package/slick-auto-complete/slick-auto-complete.component.d.ts +3 -0
- package/slick-auto-complete/slick-auto-complete.module.d.ts +8 -0
- package/slick-button-spinner/slick-button-spinner.component.d.ts +3 -0
- package/slick-button-spinner/slick-button-spinner.module.d.ts +6 -0
- package/slick-calendar/slick-calendar.component.d.ts +3 -0
- package/slick-calendar/slick-calendar.module.d.ts +6 -0
- package/slick-card/slick-card-header.component.d.ts +3 -0
- package/slick-card/slick-card.component.d.ts +3 -0
- package/slick-card/slick-card.module.d.ts +10 -0
- package/slick-components.d.ts +1 -22
- package/slick-confirm-dialog/slick-confirm-dialog.component.d.ts +3 -0
- package/slick-confirm-dialog/slick-confirm-dialog.module.d.ts +7 -0
- package/slick-container/slick-container-body.component.d.ts +3 -0
- package/slick-container/slick-container-footer.component.d.ts +3 -0
- package/slick-container/slick-container-header.component.d.ts +3 -0
- package/slick-container/slick-container.component.d.ts +3 -0
- package/slick-container/slick-container.module.d.ts +9 -0
- package/slick-context-menu/slick-context-menu-item.component.d.ts +3 -0
- package/slick-context-menu/slick-context-menu.component.d.ts +3 -0
- package/slick-context-menu/slick-context-menu.module.d.ts +7 -0
- package/slick-currency-mask/slick-currency-mask.directive.d.ts +3 -0
- package/slick-currency-mask/slick-currency-mask.module.d.ts +5 -0
- package/slick-date-picker/slick-date-picker.component.d.ts +3 -0
- package/slick-date-picker/slick-date-picker.module.d.ts +8 -0
- package/slick-dialog/slick-dialog-footer.component.d.ts +3 -0
- package/slick-dialog/slick-dialog.component.d.ts +3 -0
- package/slick-dialog/slick-dialog.module.d.ts +10 -1
- package/slick-dialog/slick-dialog.service.d.ts +3 -0
- package/slick-drag-drop/slick-drag-drop.directive.d.ts +3 -0
- package/slick-drag-drop/slick-drag-drop.module.d.ts +11 -0
- package/slick-drag-drop/slick-draggable.directive.d.ts +3 -0
- package/slick-drop-down/slick-drop-down.component.d.ts +3 -0
- package/slick-drop-down/slick-drop-down.module.d.ts +9 -0
- package/slick-drop-down/slick-drop-down.service.d.ts +3 -0
- package/slick-drop-list/slick-drop-list-grab.directive.d.ts +3 -0
- package/slick-drop-list/slick-drop-list-item.directive.d.ts +3 -0
- package/slick-drop-list/slick-drop-list.directive.d.ts +13 -7
- package/slick-drop-list/slick-drop-list.module.d.ts +14 -0
- package/slick-email-viewer/slick-email-viewer-dialog.component.d.ts +3 -0
- package/slick-email-viewer/slick-email-viewer.component.d.ts +3 -0
- package/slick-email-viewer/slick-email-viewer.module.d.ts +10 -0
- package/slick-emailer/slick-emailer-dialog.component.d.ts +3 -0
- package/slick-emailer/slick-emailer.component.d.ts +3 -0
- package/slick-emailer/slick-emailer.module.d.ts +13 -0
- package/slick-file-drop/slick-file-drop.component.d.ts +3 -0
- package/slick-file-drop/slick-file-drop.module.d.ts +7 -0
- package/slick-file-list/slick-file-list-item.component.d.ts +3 -0
- package/slick-file-list/slick-file-list.component.d.ts +3 -0
- package/slick-file-list/slick-file-list.module.d.ts +10 -0
- package/slick-google-address-search/slick-google-address-search.directive.d.ts +3 -0
- package/slick-google-address-search/slick-google-address-search.module.d.ts +6 -0
- package/slick-google-map/slick-google-map-dialog.component.d.ts +3 -0
- package/slick-google-map/slick-google-map.component.d.ts +3 -0
- package/slick-google-map/slick-google-map.module.d.ts +8 -0
- package/slick-grid/slick-grid-column-template.directive.d.ts +3 -0
- package/slick-grid/slick-grid-sanitize.pipe.d.ts +3 -0
- package/slick-grid/slick-grid.component.d.ts +3 -0
- package/slick-grid/slick-grid.module.d.ts +16 -0
- package/slick-grid/slick-grid.service.d.ts +3 -0
- package/slick-multi-select/slick-multi-select.component.d.ts +3 -0
- package/slick-multi-select/slick-multi-select.module.d.ts +7 -0
- package/slick-multi-select/slick-multi-select.service.d.ts +3 -0
- package/slick-ordered-list/slick-ordered-list.component.d.ts +3 -0
- package/slick-ordered-list/slick-ordered-list.module.d.ts +7 -0
- package/slick-paging/slick-paging.component.d.ts +3 -0
- package/slick-paging/slick-paging.module.d.ts +6 -0
- package/slick-photo-gallery/slick-photo-gallery.component.d.ts +3 -0
- package/slick-photo-gallery/slick-photo-gallery.module.d.ts +6 -0
- package/slick-pick-list/slick-pick-list.component.d.ts +3 -0
- package/slick-pick-list/slick-pick-list.module.d.ts +7 -0
- package/slick-popover/slick-popover.component.d.ts +3 -0
- package/slick-popover/slick-popover.module.d.ts +6 -0
- package/slick-profile-picture/slick-profile-picture.component.d.ts +3 -0
- package/slick-profile-picture/slick-profile-picture.module.d.ts +7 -0
- package/slick-progress-bar/slick-progress-bar.module.d.ts +5 -0
- package/slick-progress-bar/slick-progress-bar.service.d.ts +3 -0
- package/slick-screen-blocker/slick-screen-blocker.module.d.ts +5 -0
- package/slick-screen-blocker/slick-screen-blocker.service.d.ts +3 -0
- package/slick-slider/slick-slider.component.d.ts +3 -0
- package/slick-slider/slick-slider.module.d.ts +6 -0
- package/slick-split-screen/slick-screen-split-left-content.component.d.ts +3 -0
- package/slick-split-screen/slick-screen-split-right-content.component.d.ts +3 -0
- package/slick-split-screen/slick-split-screen.component.d.ts +3 -0
- package/slick-split-screen/slick-split-screen.module.d.ts +8 -0
- package/slick-tabs/slick-tab-header.component.d.ts +3 -0
- package/slick-tabs/slick-tab.component.d.ts +3 -0
- package/slick-tabs/slick-tabs.component.d.ts +3 -0
- package/slick-tabs/slick-tabs.module.d.ts +10 -0
- package/slick-toast/slick-toast.module.d.ts +5 -0
- package/slick-toast/slick-toast.service.d.ts +3 -0
- package/slick-tree-view/slick-tree-view.component.d.ts +3 -0
- package/slick-tree-view/slick-tree-view.module.d.ts +8 -0
- package/slick-type-ahead/slick-type-ahead.directive.d.ts +3 -0
- package/slick-type-ahead/slick-type-ahead.module.d.ts +5 -0
- package/slick-validation-indicator/slick-validation-indicator.directive.d.ts +3 -0
- package/slick-validation-indicator/slick-validation-indicator.module.d.ts +6 -0
- package/utils/slick-function-lock.service.d.ts +3 -0
- package/utils/slick-init.service.d.ts +3 -0
- package/utils/slick-log.service.d.ts +3 -0
- package/utils/slick-sleep.service.d.ts +3 -0
- package/utils/slick-utils.service.d.ts +5 -0
- package/bundles/slick-components.umd.js +0 -9777
- package/bundles/slick-components.umd.js.map +0 -1
- package/esm2015/public-api.js +0 -43
- package/esm2015/slick-accordion/slick-accordion-item-header.component.js +0 -10
- package/esm2015/slick-accordion/slick-accordion-item.component.js +0 -80
- package/esm2015/slick-accordion/slick-accordion.component.js +0 -77
- package/esm2015/slick-accordion/slick-accordion.module.js +0 -18
- package/esm2015/slick-auto-complete/slick-auto-complete-list-item-template.directive.js +0 -21
- package/esm2015/slick-auto-complete/slick-auto-complete.component.js +0 -352
- package/esm2015/slick-auto-complete/slick-auto-complete.module.js +0 -19
- package/esm2015/slick-button-spinner/slick-button-spinner.component.js +0 -186
- package/esm2015/slick-button-spinner/slick-button-spinner.module.js +0 -14
- package/esm2015/slick-calendar/slick-calendar.component.js +0 -233
- package/esm2015/slick-calendar/slick-calendar.module.js +0 -14
- package/esm2015/slick-card/slick-card-header.component.js +0 -10
- package/esm2015/slick-card/slick-card.component.js +0 -37
- package/esm2015/slick-card/slick-card.module.js +0 -14
- package/esm2015/slick-components.js +0 -27
- package/esm2015/slick-confirm-dialog/slick-confirm-dialog.component.js +0 -62
- package/esm2015/slick-confirm-dialog/slick-confirm-dialog.module.js +0 -15
- package/esm2015/slick-container/slick-container-body.component.js +0 -18
- package/esm2015/slick-container/slick-container-footer.component.js +0 -16
- package/esm2015/slick-container/slick-container-header.component.js +0 -16
- package/esm2015/slick-container/slick-container.component.js +0 -19
- package/esm2015/slick-container/slick-container.module.js +0 -20
- package/esm2015/slick-context-menu/slick-context-menu-item.component.js +0 -10
- package/esm2015/slick-context-menu/slick-context-menu.component.js +0 -43
- package/esm2015/slick-context-menu/slick-context-menu.module.js +0 -15
- package/esm2015/slick-currency-mask/slick-currency-mask.directive.js +0 -234
- package/esm2015/slick-currency-mask/slick-currency-mask.module.js +0 -14
- package/esm2015/slick-date-picker/slick-date-picker.component.js +0 -267
- package/esm2015/slick-date-picker/slick-date-picker.module.js +0 -16
- package/esm2015/slick-dialog/slick-dialog-footer.component.js +0 -18
- package/esm2015/slick-dialog/slick-dialog.component.js +0 -282
- package/esm2015/slick-dialog/slick-dialog.module.js +0 -18
- package/esm2015/slick-dialog/slick-dialog.service.js +0 -67
- package/esm2015/slick-drag-drop/slick-drag-drop.directive.js +0 -9
- package/esm2015/slick-drag-drop/slick-drag-drop.module.js +0 -14
- package/esm2015/slick-drag-drop/slick-draggable.directive.js +0 -9
- package/esm2015/slick-drop-down/slick-drop-down.component.js +0 -465
- package/esm2015/slick-drop-down/slick-drop-down.module.js +0 -19
- package/esm2015/slick-drop-down/slick-drop-down.service.js +0 -59
- package/esm2015/slick-drop-list/slick-drop-list-grab.directive.js +0 -18
- package/esm2015/slick-drop-list/slick-drop-list-item.directive.js +0 -18
- package/esm2015/slick-drop-list/slick-drop-list.directive.js +0 -162
- package/esm2015/slick-drop-list/slick-drop-list.module.js +0 -15
- package/esm2015/slick-email-viewer/slick-email-viewer-dialog.component.js +0 -61
- package/esm2015/slick-email-viewer/slick-email-viewer.component.js +0 -39
- package/esm2015/slick-email-viewer/slick-email-viewer.module.js +0 -21
- package/esm2015/slick-emailer/slick-emailer-dialog.component.js +0 -122
- package/esm2015/slick-emailer/slick-emailer.component.js +0 -226
- package/esm2015/slick-emailer/slick-emailer.module.js +0 -24
- package/esm2015/slick-file-drop/slick-file-drop.component.js +0 -144
- package/esm2015/slick-file-drop/slick-file-drop.module.js +0 -15
- package/esm2015/slick-file-list/slick-file-list-item.component.js +0 -156
- package/esm2015/slick-file-list/slick-file-list.component.js +0 -114
- package/esm2015/slick-file-list/slick-file-list.module.js +0 -18
- package/esm2015/slick-google-address-search/slick-google-address-search.directive.js +0 -75
- package/esm2015/slick-google-address-search/slick-google-address-search.module.js +0 -14
- package/esm2015/slick-google-map/slick-google-map-dialog.component.js +0 -45
- package/esm2015/slick-google-map/slick-google-map.component.js +0 -45
- package/esm2015/slick-google-map/slick-google-map.module.js +0 -17
- package/esm2015/slick-grid/slick-grid-column-template.directive.js +0 -19
- package/esm2015/slick-grid/slick-grid-sanitize.pipe.js +0 -20
- package/esm2015/slick-grid/slick-grid.component.js +0 -792
- package/esm2015/slick-grid/slick-grid.module.js +0 -38
- package/esm2015/slick-grid/slick-grid.service.js +0 -72
- package/esm2015/slick-multi-select/slick-multi-select.component.js +0 -356
- package/esm2015/slick-multi-select/slick-multi-select.module.js +0 -15
- package/esm2015/slick-multi-select/slick-multi-select.service.js +0 -74
- package/esm2015/slick-ordered-list/slick-ordered-list.component.js +0 -198
- package/esm2015/slick-ordered-list/slick-ordered-list.module.js +0 -15
- package/esm2015/slick-paging/slick-paging.component.js +0 -180
- package/esm2015/slick-paging/slick-paging.module.js +0 -14
- package/esm2015/slick-photo-gallery/slick-photo-gallery.component.js +0 -101
- package/esm2015/slick-photo-gallery/slick-photo-gallery.module.js +0 -16
- package/esm2015/slick-pick-list/slick-pick-list.component.js +0 -78
- package/esm2015/slick-pick-list/slick-pick-list.module.js +0 -15
- package/esm2015/slick-popover/slick-popover.component.js +0 -199
- package/esm2015/slick-popover/slick-popover.module.js +0 -14
- package/esm2015/slick-profile-picture/slick-profile-picture.component.js +0 -242
- package/esm2015/slick-profile-picture/slick-profile-picture.module.js +0 -15
- package/esm2015/slick-progress-bar/slick-progress-bar.module.js +0 -13
- package/esm2015/slick-progress-bar/slick-progress-bar.service.js +0 -50
- package/esm2015/slick-screen-blocker/slick-screen-blocker.module.js +0 -13
- package/esm2015/slick-screen-blocker/slick-screen-blocker.service.js +0 -80
- package/esm2015/slick-slider/slick-slider.component.js +0 -88
- package/esm2015/slick-slider/slick-slider.module.js +0 -15
- package/esm2015/slick-split-screen/slick-screen-split-left-content.component.js +0 -13
- package/esm2015/slick-split-screen/slick-screen-split-right-content.component.js +0 -13
- package/esm2015/slick-split-screen/slick-split-screen.component.js +0 -148
- package/esm2015/slick-split-screen/slick-split-screen.module.js +0 -16
- package/esm2015/slick-tabs/slick-tab-header.component.js +0 -25
- package/esm2015/slick-tabs/slick-tab.component.js +0 -67
- package/esm2015/slick-tabs/slick-tabs.component.js +0 -104
- package/esm2015/slick-tabs/slick-tabs.module.js +0 -17
- package/esm2015/slick-toast/slick-toast.module.js +0 -13
- package/esm2015/slick-toast/slick-toast.service.js +0 -91
- package/esm2015/slick-tree-view/slick-tree-view.component.js +0 -287
- package/esm2015/slick-tree-view/slick-tree-view.module.js +0 -17
- package/esm2015/slick-type-ahead/slick-type-ahead.directive.js +0 -155
- package/esm2015/slick-type-ahead/slick-type-ahead.module.js +0 -13
- package/esm2015/slick-validation-indicator/slick-validation-indicator.directive.js +0 -61
- package/esm2015/slick-validation-indicator/slick-validation-indicator.module.js +0 -14
- package/esm2015/utils/slick-function-lock.service.js +0 -54
- package/esm2015/utils/slick-init.service.js +0 -48
- package/esm2015/utils/slick-log.service.js +0 -27
- package/esm2015/utils/slick-sleep.service.js +0 -14
- package/esm2015/utils/slick-utils.service.js +0 -229
- package/fesm2015/slick-components.js.map +0 -1
- package/slick-components.metadata.json +0 -1
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Component, Input, Output, EventEmitter, ElementRef, ViewChild, HostListener } from "@angular/core";
|
|
3
|
-
import { SlickUtilsService } from "../utils/slick-utils.service";
|
|
4
|
-
const imgExtensions = ['bmp', 'gif', 'jpeg', 'jpg', 'png', 'tif', 'tiff'];
|
|
5
|
-
export class SlickProfilePictureComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.viewOnly = false;
|
|
8
|
-
this.width = "80px";
|
|
9
|
-
this.height = "80px";
|
|
10
|
-
this.resizeWidth = 600;
|
|
11
|
-
this.resizeHeight = 600;
|
|
12
|
-
this.filesChangedEmitter = new EventEmitter();
|
|
13
|
-
this.fnOnFileInputChange = (e) => this.onFileInputChange(e);
|
|
14
|
-
this.uuid = SlickUtilsService.newGuid();
|
|
15
|
-
}
|
|
16
|
-
onClick(e) {
|
|
17
|
-
if (this.viewOnly === true)
|
|
18
|
-
return;
|
|
19
|
-
this.fileInput.nativeElement.click();
|
|
20
|
-
this.fileInput.nativeElement.addEventListener("change", this.fnOnFileInputChange);
|
|
21
|
-
}
|
|
22
|
-
onFileInputChange(e) {
|
|
23
|
-
this.processFile(this.fileInput.nativeElement.files);
|
|
24
|
-
}
|
|
25
|
-
onDrop(e) {
|
|
26
|
-
if (this.viewOnly === true)
|
|
27
|
-
return;
|
|
28
|
-
e.preventDefault();
|
|
29
|
-
e.stopPropagation();
|
|
30
|
-
this.containerRef.nativeElement.classList.remove("slick-file-drop_drag-enter");
|
|
31
|
-
this.processFile(e.dataTransfer.files);
|
|
32
|
-
}
|
|
33
|
-
onDragEnter(e) {
|
|
34
|
-
if (this.viewOnly === true)
|
|
35
|
-
return;
|
|
36
|
-
this.containerRef.nativeElement.classList.add("slick-file-drop_drag-enter");
|
|
37
|
-
}
|
|
38
|
-
onDragOver(e) {
|
|
39
|
-
if (this.viewOnly === true)
|
|
40
|
-
return;
|
|
41
|
-
e.preventDefault();
|
|
42
|
-
}
|
|
43
|
-
onDragLeave(e) {
|
|
44
|
-
if (this.viewOnly === true)
|
|
45
|
-
return;
|
|
46
|
-
this.containerRef.nativeElement.classList.remove("slick-file-drop_drag-enter");
|
|
47
|
-
}
|
|
48
|
-
ngOnChanges(changes) {
|
|
49
|
-
if (changes.gravatarEmailAddress) {
|
|
50
|
-
var MD5 = function (s) { function L(k, d) { return (k << d) | (k >>> (32 - d)); } function K(G, k) { var I, d, F, H, x; F = (G & 2147483648); H = (k & 2147483648); I = (G & 1073741824); d = (k & 1073741824); x = (G & 1073741823) + (k & 1073741823); if (I & d) {
|
|
51
|
-
return (x ^ 2147483648 ^ F ^ H);
|
|
52
|
-
} if (I | d) {
|
|
53
|
-
if (x & 1073741824) {
|
|
54
|
-
return (x ^ 3221225472 ^ F ^ H);
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
return (x ^ 1073741824 ^ F ^ H);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
return (x ^ F ^ H);
|
|
62
|
-
} } function r(d, F, k) { return (d & F) | ((~d) & k); } function q(d, F, k) { return (d & k) | (F & (~k)); } function p(d, F, k) { return (d ^ F ^ k); } function n(d, F, k) { return (F ^ (d | (~k))); } function u(G, F, aa, Z, k, H, I) { G = K(G, K(K(r(F, aa, Z), k), I)); return K(L(G, H), F); } function f(G, F, aa, Z, k, H, I) { G = K(G, K(K(q(F, aa, Z), k), I)); return K(L(G, H), F); } function D(G, F, aa, Z, k, H, I) { G = K(G, K(K(p(F, aa, Z), k), I)); return K(L(G, H), F); } function t(G, F, aa, Z, k, H, I) { G = K(G, K(K(n(F, aa, Z), k), I)); return K(L(G, H), F); } function e(G) { var Z; var F = G.length; var x = F + 8; var k = (x - (x % 64)) / 64; var I = (k + 1) * 16; var aa = Array(I - 1); var d = 0; var H = 0; while (H < F) {
|
|
63
|
-
Z = (H - (H % 4)) / 4;
|
|
64
|
-
d = (H % 4) * 8;
|
|
65
|
-
aa[Z] = (aa[Z] | (G.charCodeAt(H) << d));
|
|
66
|
-
H++;
|
|
67
|
-
} Z = (H - (H % 4)) / 4; d = (H % 4) * 8; aa[Z] = aa[Z] | (128 << d); aa[I - 2] = F << 3; aa[I - 1] = F >>> 29; return aa; } function B(x) { var k = "", F = "", G, d; for (d = 0; d <= 3; d++) {
|
|
68
|
-
G = (x >>> (d * 8)) & 255;
|
|
69
|
-
F = "0" + G.toString(16);
|
|
70
|
-
k = k + F.substr(F.length - 2, 2);
|
|
71
|
-
} return k; } function J(k) { k = k.replace(/rn/g, "n"); var d = ""; for (var F = 0; F < k.length; F++) {
|
|
72
|
-
var x = k.charCodeAt(F);
|
|
73
|
-
if (x < 128) {
|
|
74
|
-
d += String.fromCharCode(x);
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
if ((x > 127) && (x < 2048)) {
|
|
78
|
-
d += String.fromCharCode((x >> 6) | 192);
|
|
79
|
-
d += String.fromCharCode((x & 63) | 128);
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
d += String.fromCharCode((x >> 12) | 224);
|
|
83
|
-
d += String.fromCharCode(((x >> 6) & 63) | 128);
|
|
84
|
-
d += String.fromCharCode((x & 63) | 128);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
} return d; } var C = Array(); var P, h, E, v, g, Y, X, W, V; var S = 7, Q = 12, N = 17, M = 22; var A = 5, z = 9, y = 14, w = 20; var o = 4, m = 11, l = 16, j = 23; var U = 6, T = 10, R = 15, O = 21; s = J(s); C = e(s); Y = 1732584193; X = 4023233417; W = 2562383102; V = 271733878; for (P = 0; P < C.length; P += 16) {
|
|
88
|
-
h = Y;
|
|
89
|
-
E = X;
|
|
90
|
-
v = W;
|
|
91
|
-
g = V;
|
|
92
|
-
Y = u(Y, X, W, V, C[P + 0], S, 3614090360);
|
|
93
|
-
V = u(V, Y, X, W, C[P + 1], Q, 3905402710);
|
|
94
|
-
W = u(W, V, Y, X, C[P + 2], N, 606105819);
|
|
95
|
-
X = u(X, W, V, Y, C[P + 3], M, 3250441966);
|
|
96
|
-
Y = u(Y, X, W, V, C[P + 4], S, 4118548399);
|
|
97
|
-
V = u(V, Y, X, W, C[P + 5], Q, 1200080426);
|
|
98
|
-
W = u(W, V, Y, X, C[P + 6], N, 2821735955);
|
|
99
|
-
X = u(X, W, V, Y, C[P + 7], M, 4249261313);
|
|
100
|
-
Y = u(Y, X, W, V, C[P + 8], S, 1770035416);
|
|
101
|
-
V = u(V, Y, X, W, C[P + 9], Q, 2336552879);
|
|
102
|
-
W = u(W, V, Y, X, C[P + 10], N, 4294925233);
|
|
103
|
-
X = u(X, W, V, Y, C[P + 11], M, 2304563134);
|
|
104
|
-
Y = u(Y, X, W, V, C[P + 12], S, 1804603682);
|
|
105
|
-
V = u(V, Y, X, W, C[P + 13], Q, 4254626195);
|
|
106
|
-
W = u(W, V, Y, X, C[P + 14], N, 2792965006);
|
|
107
|
-
X = u(X, W, V, Y, C[P + 15], M, 1236535329);
|
|
108
|
-
Y = f(Y, X, W, V, C[P + 1], A, 4129170786);
|
|
109
|
-
V = f(V, Y, X, W, C[P + 6], z, 3225465664);
|
|
110
|
-
W = f(W, V, Y, X, C[P + 11], y, 643717713);
|
|
111
|
-
X = f(X, W, V, Y, C[P + 0], w, 3921069994);
|
|
112
|
-
Y = f(Y, X, W, V, C[P + 5], A, 3593408605);
|
|
113
|
-
V = f(V, Y, X, W, C[P + 10], z, 38016083);
|
|
114
|
-
W = f(W, V, Y, X, C[P + 15], y, 3634488961);
|
|
115
|
-
X = f(X, W, V, Y, C[P + 4], w, 3889429448);
|
|
116
|
-
Y = f(Y, X, W, V, C[P + 9], A, 568446438);
|
|
117
|
-
V = f(V, Y, X, W, C[P + 14], z, 3275163606);
|
|
118
|
-
W = f(W, V, Y, X, C[P + 3], y, 4107603335);
|
|
119
|
-
X = f(X, W, V, Y, C[P + 8], w, 1163531501);
|
|
120
|
-
Y = f(Y, X, W, V, C[P + 13], A, 2850285829);
|
|
121
|
-
V = f(V, Y, X, W, C[P + 2], z, 4243563512);
|
|
122
|
-
W = f(W, V, Y, X, C[P + 7], y, 1735328473);
|
|
123
|
-
X = f(X, W, V, Y, C[P + 12], w, 2368359562);
|
|
124
|
-
Y = D(Y, X, W, V, C[P + 5], o, 4294588738);
|
|
125
|
-
V = D(V, Y, X, W, C[P + 8], m, 2272392833);
|
|
126
|
-
W = D(W, V, Y, X, C[P + 11], l, 1839030562);
|
|
127
|
-
X = D(X, W, V, Y, C[P + 14], j, 4259657740);
|
|
128
|
-
Y = D(Y, X, W, V, C[P + 1], o, 2763975236);
|
|
129
|
-
V = D(V, Y, X, W, C[P + 4], m, 1272893353);
|
|
130
|
-
W = D(W, V, Y, X, C[P + 7], l, 4139469664);
|
|
131
|
-
X = D(X, W, V, Y, C[P + 10], j, 3200236656);
|
|
132
|
-
Y = D(Y, X, W, V, C[P + 13], o, 681279174);
|
|
133
|
-
V = D(V, Y, X, W, C[P + 0], m, 3936430074);
|
|
134
|
-
W = D(W, V, Y, X, C[P + 3], l, 3572445317);
|
|
135
|
-
X = D(X, W, V, Y, C[P + 6], j, 76029189);
|
|
136
|
-
Y = D(Y, X, W, V, C[P + 9], o, 3654602809);
|
|
137
|
-
V = D(V, Y, X, W, C[P + 12], m, 3873151461);
|
|
138
|
-
W = D(W, V, Y, X, C[P + 15], l, 530742520);
|
|
139
|
-
X = D(X, W, V, Y, C[P + 2], j, 3299628645);
|
|
140
|
-
Y = t(Y, X, W, V, C[P + 0], U, 4096336452);
|
|
141
|
-
V = t(V, Y, X, W, C[P + 7], T, 1126891415);
|
|
142
|
-
W = t(W, V, Y, X, C[P + 14], R, 2878612391);
|
|
143
|
-
X = t(X, W, V, Y, C[P + 5], O, 4237533241);
|
|
144
|
-
Y = t(Y, X, W, V, C[P + 12], U, 1700485571);
|
|
145
|
-
V = t(V, Y, X, W, C[P + 3], T, 2399980690);
|
|
146
|
-
W = t(W, V, Y, X, C[P + 10], R, 4293915773);
|
|
147
|
-
X = t(X, W, V, Y, C[P + 1], O, 2240044497);
|
|
148
|
-
Y = t(Y, X, W, V, C[P + 8], U, 1873313359);
|
|
149
|
-
V = t(V, Y, X, W, C[P + 15], T, 4264355552);
|
|
150
|
-
W = t(W, V, Y, X, C[P + 6], R, 2734768916);
|
|
151
|
-
X = t(X, W, V, Y, C[P + 13], O, 1309151649);
|
|
152
|
-
Y = t(Y, X, W, V, C[P + 4], U, 4149444226);
|
|
153
|
-
V = t(V, Y, X, W, C[P + 11], T, 3174756917);
|
|
154
|
-
W = t(W, V, Y, X, C[P + 2], R, 718787259);
|
|
155
|
-
X = t(X, W, V, Y, C[P + 9], O, 3951481745);
|
|
156
|
-
Y = K(Y, h);
|
|
157
|
-
X = K(X, E);
|
|
158
|
-
W = K(W, v);
|
|
159
|
-
V = K(V, g);
|
|
160
|
-
} var i = B(Y) + B(X) + B(W) + B(V); return i.toLowerCase(); };
|
|
161
|
-
this.gravatarEmailAddress = this.gravatarEmailAddress.trim().toLowerCase();
|
|
162
|
-
this.imageSrc = 'http://www.gravatar.com/avatar/' + MD5(this.gravatarEmailAddress) + '.jpg?s=' + 80;
|
|
163
|
-
}
|
|
164
|
-
if (changes.viewOnly && changes.viewOnly.currentValue)
|
|
165
|
-
this.viewOnly = (changes.viewOnly.currentValue.toString().toLowerCase() !== 'false');
|
|
166
|
-
}
|
|
167
|
-
processFile(files) {
|
|
168
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
169
|
-
if (files && files.length > 0) {
|
|
170
|
-
let file = files.item(0);
|
|
171
|
-
let fileNameParts = file.name.split('.');
|
|
172
|
-
let ext = fileNameParts[fileNameParts.length - 1].toLowerCase();
|
|
173
|
-
let fileType = file.type;
|
|
174
|
-
if (imgExtensions.indexOf(ext) >= 0) {
|
|
175
|
-
let img = new Image;
|
|
176
|
-
img.onload = () => {
|
|
177
|
-
this.imageSrc = this.resizeImageToBase64(img, fileType, this.resizeWidth, this.resizeHeight);
|
|
178
|
-
if (this.filesChangedEmitter)
|
|
179
|
-
this.filesChangedEmitter.emit(this.imageSrc);
|
|
180
|
-
};
|
|
181
|
-
img.src = yield this.getBase64(file);
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
});
|
|
185
|
-
}
|
|
186
|
-
resizeImageToBase64(img, fileType, width, height) {
|
|
187
|
-
let scale = 1;
|
|
188
|
-
if (img.width > img.height) {
|
|
189
|
-
if (img.width > width)
|
|
190
|
-
scale = width / img.width;
|
|
191
|
-
}
|
|
192
|
-
else {
|
|
193
|
-
if (img.height > height)
|
|
194
|
-
scale = height / img.height;
|
|
195
|
-
}
|
|
196
|
-
let newWidth = img.width * scale;
|
|
197
|
-
let newHeight = img.height * scale;
|
|
198
|
-
// We create a canvas and get its context.
|
|
199
|
-
var canvas = document.createElement('canvas');
|
|
200
|
-
var ctx = canvas.getContext('2d');
|
|
201
|
-
// We set the dimensions at the wanted size.
|
|
202
|
-
canvas.width = newWidth;
|
|
203
|
-
canvas.height = newHeight;
|
|
204
|
-
// We resize the image with the canvas method drawImage();
|
|
205
|
-
ctx.drawImage(img, 0, 0, newWidth, newHeight);
|
|
206
|
-
return canvas.toDataURL(fileType);
|
|
207
|
-
}
|
|
208
|
-
getBase64(file) {
|
|
209
|
-
return new Promise((resolve, reject) => {
|
|
210
|
-
let reader = new FileReader();
|
|
211
|
-
reader.readAsDataURL(file);
|
|
212
|
-
reader.onload = () => resolve(reader.result);
|
|
213
|
-
reader.onerror = (error) => reject('Error: ' + error);
|
|
214
|
-
});
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
SlickProfilePictureComponent.decorators = [
|
|
218
|
-
{ type: Component, args: [{
|
|
219
|
-
selector: 'slick-profile-picture',
|
|
220
|
-
template: "<div #containerRef id=\"slick-profile-picture_{{uuid}}\" class=\"slick-profile-picture card\" [ngClass]=\"{ 'slick-profile-picture_view-only': viewOnly === true, 'slick-profile-picture_editable': viewOnly === false }\" [ngStyle]=\"{ 'width': width, 'min-width': width, 'height': height, 'min-height': height }\">\r\n\t<div class=\"slick-profile-picture_text\" *ngIf='viewOnly === false'>Click to change...</div>\r\n\t<img class=\"slick-profile-picture_img\" *ngIf=\"imageSrc\" [src]=\"imageSrc\" [ngStyle]=\"{ 'max-width': width, 'max-height': height }\" />\r\n</div>\r\n<input type=\"file\" #fileInput style=\"display: none\" multiple />\r\n"
|
|
221
|
-
},] }
|
|
222
|
-
];
|
|
223
|
-
/** @nocollapse */
|
|
224
|
-
SlickProfilePictureComponent.ctorParameters = () => [];
|
|
225
|
-
SlickProfilePictureComponent.propDecorators = {
|
|
226
|
-
imageSrc: [{ type: Input, args: ["imageSrc",] }],
|
|
227
|
-
gravatarEmailAddress: [{ type: Input, args: ["gravatarEmailAddress",] }],
|
|
228
|
-
viewOnly: [{ type: Input, args: ["viewOnly",] }],
|
|
229
|
-
width: [{ type: Input, args: ["width",] }],
|
|
230
|
-
height: [{ type: Input, args: ["height",] }],
|
|
231
|
-
resizeWidth: [{ type: Input, args: ["resizeWidth",] }],
|
|
232
|
-
resizeHeight: [{ type: Input, args: ["resizeHeight",] }],
|
|
233
|
-
filesChangedEmitter: [{ type: Output, args: ["profilePictureChanged",] }],
|
|
234
|
-
containerRef: [{ type: ViewChild, args: ["containerRef",] }],
|
|
235
|
-
fileInput: [{ type: ViewChild, args: ["fileInput",] }],
|
|
236
|
-
onClick: [{ type: HostListener, args: ['click', ['$event'],] }],
|
|
237
|
-
onDrop: [{ type: HostListener, args: ['drop', ['$event'],] }],
|
|
238
|
-
onDragEnter: [{ type: HostListener, args: ['dragenter', ['$event'],] }],
|
|
239
|
-
onDragOver: [{ type: HostListener, args: ['dragover', ['$event'],] }],
|
|
240
|
-
onDragLeave: [{ type: HostListener, args: ['dragleave', ['$event'],] }]
|
|
241
|
-
};
|
|
242
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stcHJvZmlsZS1waWN0dXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL3NsaWNrLXByb2ZpbGUtcGljdHVyZS9zbGljay1wcm9maWxlLXBpY3R1cmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQTRCLFlBQVksRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVqRSxNQUFNLGFBQWEsR0FBYSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBTW5GLE1BQU0sT0FBTyw0QkFBNEI7SUFrRXhDO1FBL0RtQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzdCLFVBQUssR0FBVyxNQUFNLENBQUM7UUFDdEIsV0FBTSxHQUFXLE1BQU0sQ0FBQztRQUNuQixnQkFBVyxHQUFXLEdBQUcsQ0FBQztRQUN6QixpQkFBWSxHQUFXLEdBQUcsQ0FBQztRQUNqQix3QkFBbUIsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUl4Rix3QkFBbUIsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBdUQ5RCxJQUFJLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFyREQsT0FBTyxDQUFDLENBQUM7UUFDUixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSTtZQUN6QixPQUFPO1FBRVIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMs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QUMsR0FBRyxDQUFDLENBQUMsQ0FBQTthQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUFDLENBQUMsRUFBRSxDQUFBO2FBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFBLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO2dCQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7YUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsRUFBRTtvQkFBRSxDQUFDLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQTtpQkFBRTtxQkFBTTtvQkFBRSxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFO3dCQUFFLENBQUMsSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO3dCQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFBO3FCQUFFO3lCQUFNO3dCQUFFLENBQUMsSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO3dCQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7d0JBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUE7cUJBQUU7aUJBQUU7YUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7YUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFBLENBQUMsQ0FBQyxDQUFDO1lBQ3ZwSyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxDQUFDLFdB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WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgRXZlbnRFbWl0dGVyLCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQsIEhvc3RMaXN0ZW5lciB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFNsaWNrVXRpbHNTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL3NsaWNrLXV0aWxzLnNlcnZpY2VcIjtcclxuXHJcbmNvbnN0IGltZ0V4dGVuc2lvbnM6IHN0cmluZ1tdID0gWydibXAnLCAnZ2lmJywgJ2pwZWcnLCAnanBnJywgJ3BuZycsICd0aWYnLCAndGlmZiddXHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ3NsaWNrLXByb2ZpbGUtcGljdHVyZScsXHJcblx0dGVtcGxhdGVVcmw6ICdzbGljay1wcm9maWxlLXBpY3R1cmUuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbGlja1Byb2ZpbGVQaWN0dXJlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuXHRASW5wdXQoXCJpbWFnZVNyY1wiKSBpbWFnZVNyYzogc3RyaW5nO1xyXG5cdEBJbnB1dChcImdyYXZhdGFyRW1haWxBZGRyZXNzXCIpIGdyYXZhdGFyRW1haWxBZGRyZXNzOiBzdHJpbmc7XHJcblx0QElucHV0KFwidmlld09ubHlcIikgdmlld09ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoXCJ3aWR0aFwiKSB3aWR0aDogc3RyaW5nID0gXCI4MHB4XCI7XHJcblx0QElucHV0KFwiaGVpZ2h0XCIpIGhlaWdodDogc3RyaW5nID0gXCI4MHB4XCI7XHJcblx0QElucHV0KFwicmVzaXplV2lkdGhcIikgcmVzaXplV2lkdGg6IG51bWJlciA9IDYwMDtcclxuXHRASW5wdXQoXCJyZXNpemVIZWlnaHRcIikgcmVzaXplSGVpZ2h0OiBudW1iZXIgPSA2MDA7XHJcblx0QE91dHB1dChcInByb2ZpbGVQaWN0dXJlQ2hhbmdlZFwiKSBmaWxlc0NoYW5nZWRFbWl0dGVyOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRAVmlld0NoaWxkKFwiY29udGFpbmVyUmVmXCIpIGNvbnRhaW5lclJlZjogRWxlbWVudFJlZjtcclxuXHRAVmlld0NoaWxkKFwiZmlsZUlucHV0XCIpIGZpbGVJbnB1dDogRWxlbWVudFJlZjtcclxuXHJcblx0cHJpdmF0ZSBmbk9uRmlsZUlucHV0Q2hhbmdlID0gKGUpID0+IHRoaXMub25GaWxlSW5wdXRDaGFuZ2UoZSk7XHJcblxyXG5cdEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcclxuXHRvbkNsaWNrKGUpIHtcclxuXHRcdGlmICh0aGlzLnZpZXdPbmx5ID09PSB0cnVlKVxyXG5cdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0dGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpO1xyXG5cdFx0KDxIVE1MSW5wdXRFbGVtZW50PnRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQpLmFkZEV2ZW50TGlzdGVuZXIoXCJjaGFuZ2VcIiwgdGhpcy5mbk9uRmlsZUlucHV0Q2hhbmdlKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgb25GaWxlSW5wdXRDaGFuZ2UoZSkge1xyXG5cdFx0dGhpcy5wcm9jZXNzRmlsZSgoPEhUTUxJbnB1dEVsZW1lbnQ+dGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudCkuZmlsZXMpO1xyXG5cdH1cclxuXHJcblx0QEhvc3RMaXN0ZW5lcignZHJvcCcsIFsnJGV2ZW50J10pXHJcblx0b25Ecm9wKGUpIHtcclxuXHRcdGlmICh0aGlzLnZpZXdPbmx5ID09PSB0cnVlKVxyXG5cdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0ZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cdFx0ZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcblx0XHR0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXCJzbGljay1maWxlLWRyb3BfZHJhZy1lbnRlclwiKTtcclxuXHJcblx0XHR0aGlzLnByb2Nlc3NGaWxlKCg8RGF0YVRyYW5zZmVyPmUuZGF0YVRyYW5zZmVyKS5maWxlcyk7XHJcblx0fVxyXG5cclxuXHRASG9zdExpc3RlbmVyKCdkcmFnZW50ZXInLCBbJyRldmVudCddKVxyXG5cdG9uRHJhZ0VudGVyKGUpIHtcclxuXHRcdGlmICh0aGlzLnZpZXdPbmx5ID09PSB0cnVlKVxyXG5cdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0dGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKFwic2xpY2stZmlsZS1kcm9wX2RyYWctZW50ZXJcIik7XHJcblx0fVxyXG5cclxuXHRASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pXHJcblx0b25EcmFnT3ZlcihlKSB7XHJcblx0XHRpZiAodGhpcy52aWV3T25seSA9PT0gdHJ1ZSlcclxuXHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdGUucHJldmVudERlZmF1bHQoKTtcclxuXHR9XHJcblxyXG5cdEBIb3N0TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIFsnJGV2ZW50J10pXHJcblx0b25EcmFnTGVhdmUoZSkge1xyXG5cdFx0aWYgKHRoaXMudmlld09ubHkgPT09IHRydWUpXHJcblx0XHRcdHJldHVybjtcclxuXHJcblx0XHR0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXCJzbGljay1maWxlLWRyb3BfZHJhZy1lbnRlclwiKTtcclxuXHR9XHJcblxyXG5cdHV1aWQ6IHN0cmluZztcclxuXHJcblx0Y29uc3RydWN0b3IoKSB7XHJcblx0XHR0aGlzLnV1aWQgPSBTbGlja1V0aWxzU2VydmljZS5uZXdHdWlkKCk7XHJcblx0fVxyXG5cclxuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcblx0XHRpZiAoY2hhbmdlcy5ncmF2YXRhckVtYWlsQWRkcmVzcykge1xyXG5cdFx0XHR2YXIgTUQ1ID0gZnVuY3Rpb24gKHMpIHsgZnVuY3Rpb24gTChrLCBkKSB7IHJldHVybiAoayA8PCBkKSB8IChrID4+PiAoMzIgLSBkKSkgfSBmdW5jdGlvbiBLKEcsIGspIHsgdmFyIEksIGQsIEYsIEgsIHg7IEYgPSAoRyAmIDIxNDc0ODM2NDgpOyBIID0gKGsgJiAyMTQ3NDgzNjQ4KTsgSSA9IChHICYgMTA3Mzc0MTgyNCk7IGQgPSAoayAmIDEwNzM3NDE4MjQpOyB4ID0gKEcgJiAxMDczNzQxODIzKSArIChrICYgMTA3Mzc0MTgyMyk7IGlmIChJICYgZCkgeyByZXR1cm4gKHggXiAyMTQ3NDgzNjQ4IF4gRiBeIEgpIH0gaWYgKEkgfCBkKSB7IGlmICh4ICYgMTA3Mzc0MTgyNCkgeyByZXR1cm4gKHggXiAzMjIxMjI1NDcyIF4gRiBeIEgpIH0gZWxzZSB7IHJldHVybiAoeCBeIDEwNzM3NDE4MjQgXiBGIF4gSCkgfSB9IGVsc2UgeyByZXR1cm4gKHggXiBGIF4gSCkgfSB9IGZ1bmN0aW9uIHIoZCwgRiwgaykgeyByZXR1cm4gKGQgJiBGKSB8ICgofmQpICYgaykgfSBmdW5jdGlvbiBxKGQsIEYsIGspIHsgcmV0dXJuIChkICYgaykgfCAoRiAmICh+aykpIH0gZnVuY3Rpb24gcChkLCBGLCBrKSB7IHJldHVybiAoZCBeIEYgXiBrKSB9IGZ1bmN0aW9uIG4oZCwgRiwgaykgeyByZXR1cm4gKEYgXiAoZCB8ICh+aykpKSB9IGZ1bmN0aW9uIHUoRywgRiwgYWEsIFosIGssIEgsIEkpIHsgRyA9IEsoRywgSyhLKHIoRiwgYWEsIFopLCBrKSwgSSkpOyByZXR1cm4gSyhMKEcsIEgpLCBGKSB9IGZ1bmN0aW9uIGYoRywgRiwgYWEsIFosIGssIEgsIEkpIHsgRyA9IEsoRywgSyhLKHEoRiwgYWEsIFopLCBrKSwgSSkpOyByZXR1cm4gSyhMKEcsIEgpLCBGKSB9IGZ1bmN0aW9uIEQoRywgRiwgYWEsIFosIGssIEgsIEkpIHsgRyA9IEsoRywgSyhLKHAoRiwgYWEsIFopLCBrKSwgSSkpOyByZXR1cm4gSyhMKEcsIEgpLCBGKSB9IGZ1bmN0aW9uIHQoRywgRiwgYWEsIFosIGssIEgsIEkpIHsgRyA9IEsoRywgSyhLKG4oRiwgYWEsIFopLCBrKSwgSSkpOyByZXR1cm4gSyhMKEcsIEgpLCBGKSB9IGZ1bmN0aW9uIGUoRykgeyB2YXIgWjsgdmFyIEYgPSBHLmxlbmd0aDsgdmFyIHggPSBGICsgODsgdmFyIGsgPSAoeCAtICh4ICUgNjQpKSAvIDY0OyB2YXIgSSA9IChrICsgMSkgKiAxNjsgdmFyIGFhID0gQXJyYXkoSSAtIDEpOyB2YXIgZCA9IDA7IHZhciBIID0gMDsgd2hpbGUgKEggPCBGKSB7IFogPSAoSCAtIChIICUgNCkpIC8gNDsgZCA9IChIICUgNCkgKiA4OyBhYVtaXSA9IChhYVtaXSB8IChHLmNoYXJDb2RlQXQoSCkgPDwgZCkpOyBIKysgfSBaID0gKEggLSAoSCAlIDQpKSAvIDQ7IGQgPSAoSCAlIDQpICogODsgYWFbWl0gPSBhYVtaXSB8ICgxMjggPDwgZCk7IGFhW0kgLSAyXSA9IEYgPDwgMzsgYWFbSSAtIDFdID0gRiA+Pj4gMjk7IHJldHVybiBhYSB9IGZ1bmN0aW9uIEIoeCkgeyB2YXIgayA9IFwiXCIsIEYgPSBcIlwiLCBHLCBkOyBmb3IgKGQgPSAwOyBkIDw9IDM7IGQrKykgeyBHID0gKHggPj4+IChkICogOCkpICYgMjU1OyBGID0gXCIwXCIgKyBHLnRvU3RyaW5nKDE2KTsgayA9IGsgKyBGLnN1YnN0cihGLmxlbmd0aCAtIDIsIDIpIH0gcmV0dXJuIGsgfSBmdW5jdGlvbiBKKGspIHsgayA9IGsucmVwbGFjZSgvcm4vZywgXCJuXCIpOyB2YXIgZCA9IFwiXCI7IGZvciAodmFyIEYgPSAwOyBGIDwgay5sZW5ndGg7IEYrKykgeyB2YXIgeCA9IGsuY2hhckNvZGVBdChGKTsgaWYgKHggPCAxMjgpIHsgZCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKHgpIH0gZWxzZSB7IGlmICgoeCA+IDEyNykgJiYgKHggPCAyMDQ4KSkgeyBkICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoKHggPj4gNikgfCAxOTIpOyBkICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoKHggJiA2MykgfCAxMjgpIH0gZWxzZSB7IGQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSgoeCA+PiAxMikgfCAyMjQpOyBkICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoKCh4ID4+IDYpICYgNjMpIHwgMTI4KTsgZCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKCh4ICYgNjMpIHwgMTI4KSB9IH0gfSByZXR1cm4gZCB9IHZhciBDID0gQXJyYXkoKTsgdmFyIFAsIGgsIEUsIHYsIGcsIFksIFgsIFcsIFY7IHZhciBTID0gNywgUSA9IDEyLCBOID0gMTcsIE0gPSAyMjsgdmFyIEEgPSA1LCB6ID0gOSwgeSA9IDE0LCB3ID0gMjA7IHZhciBvID0gNCwgbSA9IDExLCBsID0gMTYsIGogPSAyMzsgdmFyIFUgPSA2LCBUID0gMTAsIFIgPSAxNSwgTyA9IDIxOyBzID0gSihzKTsgQyA9IGUocyk7IFkgPSAxNzMyNTg0MTkzOyBYID0gNDAyMzIzMzQxNzsgVyA9IDI1NjIzODMxMDI7IFYgPSAyNzE3MzM4Nzg7IGZvciAoUCA9IDA7IFAgPCBDLmxlbmd0aDsgUCArPSAxNikgeyBoID0gWTsgRSA9IFg7IHYgPSBXOyBnID0gVjsgWSA9IHUoWSwgWCwgVywgViwgQ1tQICsgMF0sIFMsIDM2MTQwOTAzNjApOyBWID0gdShWLCBZLCBYLCBXLCBDW1AgKyAxXSwgUSwgMzkwNTQwMjcxMCk7IFcgPSB1KFcsIFYsIFksIFgsIENbUCArIDJdLCBOLCA2MDYxMDU4MTkpOyBYID0gdShYLCBXLCBWLCBZLCBDW1AgKyAzXSwgTSwgMzI1MDQ0MTk2Nik7IFkgPSB1KFksIFgsIFcsIFYsIENbUCArIDRdLCBTLCA0MTE4NTQ4Mzk5KTsgViA9IHUoViwgWSwgWCwgVywgQ1tQICsgNV0sIFEsIDEyMDAwODA0MjYpOyBXID0gdShXLCBWLCBZLCBYLCBDW1AgKyA2XSwgTiwgMjgyMTczNTk1NSk7IFggPSB1KFgsIFcsIFYsIFksIENbUCArIDddLCBNLCA0MjQ5MjYxMzEzKTsgWSA9IHUoWSwgWCwgVywgViwgQ1tQICsgOF0sIFMsIDE3NzAwMzU0MTYpOyBWID0gdShWLCBZLCBYLCBXLCBDW1AgKyA5XSwgUSwgMjMzNjU1Mjg3OSk7IFcgPSB1KFcsIFYsIFksIFgsIENbUCArIDEwXSwgTiwgNDI5NDkyNTIzMyk7IFggPSB1KFgsIFcsIFYsIFksIENbUCArIDExXSwgTSwgMjMwNDU2MzEzNCk7IFkgPSB1KFksIFgsIFcsIFYsIENbUCArIDEyXSwgUywgMTgwNDYwMzY4Mik7IFYgPSB1KFYsIFksIFgsIFcsIENbUCArIDEzXSwgUSwgNDI1NDYyNjE5NSk7IFcgPSB1KFcsIFYsIFksIFgsIENbUCArIDE0XSwgTiwgMjc5Mjk2NTAwNik7IFggPSB1KFgsIFcsIFYsIFksIENbUCArIDE1XSwgTSwgMTIzNjUzNTMyOSk7IFkgPSBmKFksIFgsIFcsIFYsIENbUCArIDFdLCBBLCA0MTI5MTcwNzg2KTsgViA9IGYoViwgWSwgWCwgVywgQ1tQICsgNl0sIHosIDMyMjU0NjU2NjQpOyBXID0gZihXLCBWLCBZLCBYLCBDW1AgKyAxMV0sIHksIDY0MzcxNzcxMyk7IFggPSBmKFgsIFcsIFYsIFksIENbUCArIDBdLCB3LCAzOTIxMDY5OTk0KTsgWSA9IGYoWSwgWCwgVywgViwgQ1tQICsgNV0sIEEsIDM1OTM0MDg2MDUpOyBWID0gZihWLCBZLCBYLCBXLCBDW1AgKyAxMF0sIHosIDM4MDE2MDgzKTsgVyA9IGYoVywgViwgWSwgWCwgQ1tQICsgMTVdLCB5LCAzNjM0NDg4OTYxKTsgWCA9IGYoWCwgVywgViwgWSwgQ1tQICsgNF0sIHcsIDM4ODk0Mjk0NDgpOyBZID0gZihZLCBYLCBXLCBWLCBDW1AgKyA5XSwgQSwgNTY4NDQ2NDM4KTsgViA9IGYoViwgWSwgWCwgVywgQ1tQICsgMTRdLCB6LCAzMjc1MTYzNjA2KTsgVyA9IGYoVywgViwgWSwgWCwgQ1tQICsgM10sIHksIDQxMDc2MDMzMzUpOyBYID0gZihYLCBXLCBWLCBZLCBDW1AgKyA4XSwgdywgMTE2MzUzMTUwMSk7IFkgPSBmKFksIFgsIFcsIFYsIENbUCArIDEzXSwgQSwgMjg1MDI4NTgyOSk7IFYgPSBmKFYsIFksIFgsIFcsIENbUCArIDJdLCB6LCA0MjQzNTYzNTEyKTsgVyA9IGYoVywgViwgWSwgWCwgQ1tQICsgN10sIHksIDE3MzUzMjg0NzMpOyBYID0gZihYLCBXLCBWLCBZLCBDW1AgKyAxMl0sIHcsIDIzNjgzNTk1NjIpOyBZID0gRChZLCBYLCBXLCBWLCBDW1AgKyA1XSwgbywgNDI5NDU4ODczOCk7IFYgPSBEKFYsIFksIFgsIFcsIENbUCArIDhdLCBtLCAyMjcyMzkyODMzKTsgVyA9IEQoVywgViwgWSwgWCwgQ1tQICsgMTFdLCBsLCAxODM5MDMwNTYyKTsgWCA9IEQoWCwgVywgViwgWSwgQ1tQICsgMTRdLCBqLCA0MjU5NjU3NzQwKTsgWSA9IEQoWSwgWCwgVywgViwgQ1tQICsgMV0sIG8sIDI3NjM5NzUyMzYpOyBWID0gRChWLCBZLCBYLCBXLCBDW1AgKyA0XSwgbSwgMTI3Mjg5MzM1Myk7IFcgPSBEKFcsIFYsIFksIFgsIENbUCArIDddLCBsLCA0MTM5NDY5NjY0KTsgWCA9IEQoWCwgVywgViwgWSwgQ1tQICsgMTBdLCBqLCAzMjAwMjM2NjU2KTsgWSA9IEQoWSwgWCwgVywgViwgQ1tQICsgMTNdLCBvLCA2ODEyNzkxNzQpOyBWID0gRChWLCBZLCBYLCBXLCBDW1AgKyAwXSwgbSwgMzkzNjQzMDA3NCk7IFcgPSBEKFcsIFYsIFksIFgsIENbUCArIDNdLCBsLCAzNTcyNDQ1MzE3KTsgWCA9IEQoWCwgVywgViwgWSwgQ1tQICsgNl0sIGosIDc2MDI5MTg5KTsgWSA9IEQoWSwgWCwgVywgViwgQ1tQICsgOV0sIG8sIDM2NTQ2MDI4MDkpOyBWID0gRChWLCBZLCBYLCBXLCBDW1AgKyAxMl0sIG0sIDM4NzMxNTE0NjEpOyBXID0gRChXLCBWLCBZLCBYLCBDW1AgKyAxNV0sIGwsIDUzMDc0MjUyMCk7IFggPSBEKFgsIFcsIFYsIFksIENbUCArIDJdLCBqLCAzMjk5NjI4NjQ1KTsgWSA9IHQoWSwgWCwgVywgViwgQ1tQICsgMF0sIFUsIDQwOTYzMzY0NTIpOyBWID0gdChWLCBZLCBYLCBXLCBDW1AgKyA3XSwgVCwgMTEyNjg5MTQxNSk7IFcgPSB0KFcsIFYsIFksIFgsIENbUCArIDE0XSwgUiwgMjg3ODYxMjM5MSk7IFggPSB0KFgsIFcsIFYsIFksIENbUCArIDVdLCBPLCA0MjM3NTMzMjQxKTsgWSA9IHQoWSwgWCwgVywgViwgQ1tQICsgMTJdLCBVLCAxNzAwNDg1NTcxKTsgViA9IHQoViwgWSwgWCwgVywgQ1tQICsgM10sIFQsIDIzOTk5ODA2OTApOyBXID0gdChXLCBWLCBZLCBYLCBDW1AgKyAxMF0sIFIsIDQyOTM5MTU3NzMpOyBYID0gdChYLCBXLCBWLCBZLCBDW1AgKyAxXSwgTywgMjI0MDA0NDQ5Nyk7IFkgPSB0KFksIFgsIFcsIFYsIENbUCArIDhdLCBVLCAxODczMzEzMzU5KTsgViA9IHQoViwgWSwgWCwgVywgQ1tQICsgMTVdLCBULCA0MjY0MzU1NTUyKTsgVyA9IHQoVywgViwgWSwgWCwgQ1tQICsgNl0sIFIsIDI3MzQ3Njg5MTYpOyBYID0gdChYLCBXLCBWLCBZLCBDW1AgKyAxM10sIE8sIDEzMDkxNTE2NDkpOyBZID0gdChZLCBYLCBXLCBWLCBDW1AgKyA0XSwgVSwgNDE0OTQ0NDIyNik7IFYgPSB0KFYsIFksIFgsIFcsIENbUCArIDExXSwgVCwgMzE3NDc1NjkxNyk7IFcgPSB0KFcsIFYsIFksIFgsIENbUCArIDJdLCBSLCA3MTg3ODcyNTkpOyBYID0gdChYLCBXLCBWLCBZLCBDW1AgKyA5XSwgTywgMzk1MTQ4MTc0NSk7IFkgPSBLKFksIGgpOyBYID0gSyhYLCBFKTsgVyA9IEsoVywgdik7IFYgPSBLKFYsIGcpIH0gdmFyIGkgPSBCKFkpICsgQihYKSArIEIoVykgKyBCKFYpOyByZXR1cm4gaS50b0xvd2VyQ2FzZSgpIH07XHJcblx0XHRcdHRoaXMuZ3JhdmF0YXJFbWFpbEFkZHJlc3MgPSB0aGlzLmdyYXZhdGFyRW1haWxBZGRyZXNzLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xyXG5cdFx0XHR0aGlzLmltYWdlU3JjID0gJ2h0dHA6Ly93d3cuZ3JhdmF0YXIuY29tL2F2YXRhci8nICsgTUQ1KHRoaXMuZ3JhdmF0YXJFbWFpbEFkZHJlc3MpICsgJy5qcGc/cz0nICsgODA7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKGNoYW5nZXMudmlld09ubHkgJiYgY2hhbmdlcy52aWV3T25seS5jdXJyZW50VmFsdWUpXHJcblx0XHRcdHRoaXMudmlld09ubHkgPSAoY2hhbmdlcy52aWV3T25seS5jdXJyZW50VmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpICE9PSAnZmFsc2UnKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgYXN5bmMgcHJvY2Vzc0ZpbGUoZmlsZXM6IEZpbGVMaXN0KSB7XHJcblx0XHRpZiAoZmlsZXMgJiYgZmlsZXMubGVuZ3RoID4gMCkge1xyXG5cdFx0XHRsZXQgZmlsZTogRmlsZSA9IGZpbGVzLml0ZW0oMCk7XHJcblxyXG5cdFx0XHRsZXQgZmlsZU5hbWVQYXJ0cyA9IGZpbGUubmFtZS5zcGxpdCgnLicpO1xyXG5cdFx0XHRsZXQgZXh0ID0gZmlsZU5hbWVQYXJ0c1tmaWxlTmFtZVBhcnRzLmxlbmd0aCAtIDFdLnRvTG93ZXJDYXNlKCk7XHJcblx0XHRcdGxldCBmaWxlVHlwZSA9IGZpbGUudHlwZTtcclxuXHJcblx0XHRcdGlmIChpbWdFeHRlbnNpb25zLmluZGV4T2YoZXh0KSA+PSAwKSB7XHJcblx0XHRcdFx0bGV0IGltZyA9IG5ldyBJbWFnZTtcclxuXHRcdFx0XHRpbWcub25sb2FkID0gKCkgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5pbWFnZVNyYyA9IHRoaXMucmVzaXplSW1hZ2VUb0Jhc2U2NChpbWcsIGZpbGVUeXBlLCB0aGlzLnJlc2l6ZVdpZHRoLCB0aGlzLnJlc2l6ZUhlaWdodCk7XHJcblx0XHRcdFx0XHRpZiAodGhpcy5maWxlc0NoYW5nZWRFbWl0dGVyKVxyXG5cdFx0XHRcdFx0XHR0aGlzLmZpbGVzQ2hhbmdlZEVtaXR0ZXIuZW1pdCh0aGlzLmltYWdlU3JjKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aW1nLnNyYyA9IGF3YWl0IHRoaXMuZ2V0QmFzZTY0KGZpbGUpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSByZXNpemVJbWFnZVRvQmFzZTY0KGltZzogSFRNTEltYWdlRWxlbWVudCwgZmlsZVR5cGU6IHN0cmluZywgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpOiBzdHJpbmcge1xyXG5cdFx0bGV0IHNjYWxlOiBudW1iZXIgPSAxO1xyXG5cdFx0aWYgKGltZy53aWR0aCA+IGltZy5oZWlnaHQpIHtcclxuXHRcdFx0aWYgKGltZy53aWR0aCA+IHdpZHRoKVxyXG5cdFx0XHRcdHNjYWxlID0gd2lkdGggLyBpbWcud2lkdGg7XHJcblx0XHR9XHJcblx0XHRlbHNlIHtcclxuXHRcdFx0aWYgKGltZy5oZWlnaHQgPiBoZWlnaHQpXHJcblx0XHRcdFx0c2NhbGUgPSBoZWlnaHQgLyBpbWcuaGVpZ2h0O1xyXG5cdFx0fVxyXG5cclxuXHRcdGxldCBuZXdXaWR0aCA9IGltZy53aWR0aCAqIHNjYWxlO1xyXG5cdFx0bGV0IG5ld0hlaWdodCA9IGltZy5oZWlnaHQgKiBzY2FsZTtcclxuXHJcblx0XHQvLyBXZSBjcmVhdGUgYSBjYW52YXMgYW5kIGdldCBpdHMgY29udGV4dC5cclxuXHRcdHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcclxuXHRcdHZhciBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcclxuXHJcblx0XHQvLyBXZSBzZXQgdGhlIGRpbWVuc2lvbnMgYXQgdGhlIHdhbnRlZCBzaXplLlxyXG5cdFx0Y2FudmFzLndpZHRoID0gbmV3V2lkdGg7XHJcblx0XHRjYW52YXMuaGVpZ2h0ID0gbmV3SGVpZ2h0O1xyXG5cclxuXHRcdC8vIFdlIHJlc2l6ZSB0aGUgaW1hZ2Ugd2l0aCB0aGUgY2FudmFzIG1ldGhvZCBkcmF3SW1hZ2UoKTtcclxuXHRcdGN0eC5kcmF3SW1hZ2UoaW1nLCAwLCAwLCBuZXdXaWR0aCwgbmV3SGVpZ2h0KTtcclxuXHJcblx0XHRyZXR1cm4gY2FudmFzLnRvRGF0YVVSTChmaWxlVHlwZSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGdldEJhc2U2NChmaWxlOiBGaWxlKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuXHRcdHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmc+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuXHRcdFx0bGV0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcblx0XHRcdHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xyXG5cdFx0XHRyZWFkZXIub25sb2FkID0gKCkgPT4gcmVzb2x2ZSg8c3RyaW5nPnJlYWRlci5yZXN1bHQpO1xyXG5cdFx0XHRyZWFkZXIub25lcnJvciA9IChlcnJvcikgPT4gcmVqZWN0KCdFcnJvcjogJyArIGVycm9yKTtcclxuXHRcdH0pO1xyXG5cdH1cclxufVxyXG4iXX0=
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from "@angular/core";
|
|
3
|
-
import { FormsModule } from "@angular/forms";
|
|
4
|
-
import { SlickProfilePictureComponent } from "./slick-profile-picture.component";
|
|
5
|
-
export class SlickProfilePictureModule {
|
|
6
|
-
}
|
|
7
|
-
SlickProfilePictureModule.decorators = [
|
|
8
|
-
{ type: NgModule, args: [{
|
|
9
|
-
imports: [CommonModule, FormsModule],
|
|
10
|
-
declarations: [SlickProfilePictureComponent],
|
|
11
|
-
exports: [CommonModule, FormsModule, SlickProfilePictureComponent]
|
|
12
|
-
},] }
|
|
13
|
-
];
|
|
14
|
-
export { SlickProfilePictureComponent };
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stcHJvZmlsZS1waWN0dXJlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL3NsaWNrLXByb2ZpbGUtcGljdHVyZS9zbGljay1wcm9maWxlLXBpY3R1cmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQU9qRixNQUFNLE9BQU8seUJBQXlCOzs7WUFMckMsUUFBUSxTQUFDO2dCQUNULE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7Z0JBQ3BDLFlBQVksRUFBRSxDQUFDLDRCQUE0QixDQUFDO2dCQUM1QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLDRCQUE0QixDQUFDO2FBQ2xFOztBQUVELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBTbGlja1Byb2ZpbGVQaWN0dXJlQ29tcG9uZW50IH0gZnJvbSBcIi4vc2xpY2stcHJvZmlsZS1waWN0dXJlLmNvbXBvbmVudFwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuXHRpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXHJcblx0ZGVjbGFyYXRpb25zOiBbU2xpY2tQcm9maWxlUGljdHVyZUNvbXBvbmVudF0sXHJcblx0ZXhwb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFNsaWNrUHJvZmlsZVBpY3R1cmVDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbGlja1Byb2ZpbGVQaWN0dXJlTW9kdWxlIHsgfVxyXG5leHBvcnQgeyBTbGlja1Byb2ZpbGVQaWN0dXJlQ29tcG9uZW50IH1cclxuIl19
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { NgModule } from "@angular/core";
|
|
2
|
-
import { RouterModule } from "@angular/router";
|
|
3
|
-
import { SlickProgressBarService } from "./slick-progress-bar.service";
|
|
4
|
-
export class SlickProgressBarModule {
|
|
5
|
-
}
|
|
6
|
-
SlickProgressBarModule.decorators = [
|
|
7
|
-
{ type: NgModule, args: [{
|
|
8
|
-
imports: [RouterModule],
|
|
9
|
-
providers: [SlickProgressBarService]
|
|
10
|
-
},] }
|
|
11
|
-
];
|
|
12
|
-
export { SlickProgressBarService };
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stcHJvZ3Jlc3MtYmFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL3NsaWNrLXByb2dyZXNzLWJhci9zbGljay1wcm9ncmVzcy1iYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBTXZFLE1BQU0sT0FBTyxzQkFBc0I7OztZQUpsQyxRQUFRLFNBQUM7Z0JBQ1QsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2dCQUN2QixTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQzthQUNwQzs7QUFHRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBTbGlja1Byb2dyZXNzQmFyU2VydmljZSB9IGZyb20gXCIuL3NsaWNrLXByb2dyZXNzLWJhci5zZXJ2aWNlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG5cdGltcG9ydHM6IFtSb3V0ZXJNb2R1bGVdLFxyXG5cdHByb3ZpZGVyczogW1NsaWNrUHJvZ3Jlc3NCYXJTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2xpY2tQcm9ncmVzc0Jhck1vZHVsZSB7IH1cclxuXHJcbmV4cG9ydCB7IFNsaWNrUHJvZ3Jlc3NCYXJTZXJ2aWNlIH0iXX0=
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { Injectable } from "@angular/core";
|
|
2
|
-
export class SlickProgressBarService {
|
|
3
|
-
constructor() {
|
|
4
|
-
this.isVisible = false;
|
|
5
|
-
this.progressPercent = 0;
|
|
6
|
-
}
|
|
7
|
-
setProgress(progressPercent, message) {
|
|
8
|
-
if (progressPercent < 1)
|
|
9
|
-
progressPercent *= 100;
|
|
10
|
-
this.progressPercent = progressPercent;
|
|
11
|
-
this.progressBarDiv.style.width = (progressPercent + "%");
|
|
12
|
-
this.progressBarTextDiv.innerHTML = message;
|
|
13
|
-
}
|
|
14
|
-
show(initialPercent = 0) {
|
|
15
|
-
this.progressPercent = initialPercent;
|
|
16
|
-
this.isVisible = false;
|
|
17
|
-
let screenBlockerDiv = document.getElementById("slick-progress-bar-screen-blocker");
|
|
18
|
-
if (!screenBlockerDiv) {
|
|
19
|
-
screenBlockerDiv = document.createElement("div");
|
|
20
|
-
screenBlockerDiv.id = "slick-progress-bar-screen-blocker";
|
|
21
|
-
screenBlockerDiv.classList.add('slick-progress-bar-screen-blocker');
|
|
22
|
-
document.body.appendChild(screenBlockerDiv);
|
|
23
|
-
}
|
|
24
|
-
const progressDiv = document.createElement("div");
|
|
25
|
-
progressDiv.classList.add('progress');
|
|
26
|
-
progressDiv.classList.add('slick-progress-bar');
|
|
27
|
-
progressDiv.classList.add('bg-dark');
|
|
28
|
-
this.progressBarDiv = document.createElement("div");
|
|
29
|
-
this.progressBarDiv.classList.add('progress-bar');
|
|
30
|
-
this.progressBarDiv.classList.add('bg-primary');
|
|
31
|
-
this.progressBarDiv.style.width = "0";
|
|
32
|
-
progressDiv.append(this.progressBarDiv);
|
|
33
|
-
this.progressBarTextDiv = document.createElement("div");
|
|
34
|
-
this.progressBarTextDiv.classList.add('progress-bar-text');
|
|
35
|
-
this.progressBarTextDiv.classList.add('text-white');
|
|
36
|
-
progressDiv.append(this.progressBarTextDiv);
|
|
37
|
-
screenBlockerDiv.append(progressDiv);
|
|
38
|
-
screenBlockerDiv.classList.add('visible');
|
|
39
|
-
}
|
|
40
|
-
hide() {
|
|
41
|
-
this.isVisible = false;
|
|
42
|
-
const screenBlockerDiv = document.getElementById("slick-progress-bar-screen-blocker");
|
|
43
|
-
if (screenBlockerDiv)
|
|
44
|
-
screenBlockerDiv.remove();
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
SlickProgressBarService.decorators = [
|
|
48
|
-
{ type: Injectable }
|
|
49
|
-
];
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stcHJvZ3Jlc3MtYmFyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9zbGljay1wcm9ncmVzcy1iYXIvc2xpY2stcHJvZ3Jlc3MtYmFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxNQUFNLE9BQU8sdUJBQXVCO0lBRHBDO1FBRVMsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixvQkFBZSxHQUFXLENBQUMsQ0FBQztJQXVEckMsQ0FBQztJQW5EQSxXQUFXLENBQUMsZUFBdUIsRUFBRSxPQUFlO1FBQ25ELElBQUksZUFBZSxHQUFHLENBQUM7WUFDdEIsZUFBZSxJQUFJLEdBQUcsQ0FBQztRQUN4QixJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztRQUV2QyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUksQ0FBQyxpQkFBeUIsQ0FBQztRQUM5QixJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztRQUV0QyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLGdCQUFnQixHQUFvQyxRQUFRLENBQUMsY0FBYyxDQUFDLG1DQUFtQyxDQUFFLENBQUM7UUFDdEgsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3RCLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakQsZ0JBQWdCLENBQUMsRUFBRSxHQUFHLG1DQUFtQyxDQUFDO1lBQzFELGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsbUNBQW1DLENBQUMsQ0FBQztZQUVwRSxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQzVDO1FBRUQsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRCxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2hELFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXJDLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDdEMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFeEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRCxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRTVDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVyQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFJO1FBQ0gsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFdkIsTUFBTSxnQkFBZ0IsR0FBb0MsUUFBUSxDQUFDLGNBQWMsQ0FBQyxtQ0FBbUMsQ0FBRSxDQUFDO1FBQ3hILElBQUksZ0JBQWdCO1lBQ25CLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzVCLENBQUM7OztZQXhERCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTbGlja1Byb2dyZXNzQmFyU2VydmljZSB7XHJcblx0cHJpdmF0ZSBpc1Zpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRwcml2YXRlIHByb2dyZXNzUGVyY2VudDogbnVtYmVyID0gMDtcclxuXHRwcml2YXRlIHByb2dyZXNzQmFyVGV4dERpdjogSFRNTERpdkVsZW1lbnQ7XHJcblx0cHJpdmF0ZSBwcm9ncmVzc0JhckRpdjogSFRNTERpdkVsZW1lbnQ7XHJcblxyXG5cdHNldFByb2dyZXNzKHByb2dyZXNzUGVyY2VudDogbnVtYmVyLCBtZXNzYWdlOiBzdHJpbmcpIHtcclxuXHRcdGlmIChwcm9ncmVzc1BlcmNlbnQgPCAxKVxyXG5cdFx0XHRwcm9ncmVzc1BlcmNlbnQgKj0gMTAwO1xyXG5cdFx0dGhpcy5wcm9ncmVzc1BlcmNlbnQgPSBwcm9ncmVzc1BlcmNlbnQ7XHJcblxyXG5cdFx0dGhpcy5wcm9ncmVzc0JhckRpdi5zdHlsZS53aWR0aCA9IChwcm9ncmVzc1BlcmNlbnQgKyBcIiVcIik7XHJcblx0XHR0aGlzLnByb2dyZXNzQmFyVGV4dERpdi5pbm5lckhUTUwgPSBtZXNzYWdlO1xyXG5cdH1cclxuXHJcblx0c2hvdyhpbml0aWFsUGVyY2VudDogbnVtYmVyID0gMCkge1xyXG5cdFx0dGhpcy5wcm9ncmVzc1BlcmNlbnQgPSBpbml0aWFsUGVyY2VudDtcclxuXHJcblx0XHR0aGlzLmlzVmlzaWJsZSA9IGZhbHNlO1xyXG5cdFx0bGV0IHNjcmVlbkJsb2NrZXJEaXY6IEhUTUxEaXZFbGVtZW50ID0gKDxIVE1MRGl2RWxlbWVudD5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInNsaWNrLXByb2dyZXNzLWJhci1zY3JlZW4tYmxvY2tlclwiKSk7XHJcblx0XHRpZiAoIXNjcmVlbkJsb2NrZXJEaXYpIHtcclxuXHRcdFx0c2NyZWVuQmxvY2tlckRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XHJcblx0XHRcdHNjcmVlbkJsb2NrZXJEaXYuaWQgPSBcInNsaWNrLXByb2dyZXNzLWJhci1zY3JlZW4tYmxvY2tlclwiO1xyXG5cdFx0XHRzY3JlZW5CbG9ja2VyRGl2LmNsYXNzTGlzdC5hZGQoJ3NsaWNrLXByb2dyZXNzLWJhci1zY3JlZW4tYmxvY2tlcicpO1xyXG5cclxuXHRcdFx0ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JlZW5CbG9ja2VyRGl2KTtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCBwcm9ncmVzc0RpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XHJcblx0XHRwcm9ncmVzc0Rpdi5jbGFzc0xpc3QuYWRkKCdwcm9ncmVzcycpO1xyXG5cdFx0cHJvZ3Jlc3NEaXYuY2xhc3NMaXN0LmFkZCgnc2xpY2stcHJvZ3Jlc3MtYmFyJyk7XHJcblx0XHRwcm9ncmVzc0Rpdi5jbGFzc0xpc3QuYWRkKCdiZy1kYXJrJyk7XHJcblx0XHRcclxuXHRcdHRoaXMucHJvZ3Jlc3NCYXJEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG5cdFx0dGhpcy5wcm9ncmVzc0JhckRpdi5jbGFzc0xpc3QuYWRkKCdwcm9ncmVzcy1iYXInKTtcclxuXHRcdHRoaXMucHJvZ3Jlc3NCYXJEaXYuY2xhc3NMaXN0LmFkZCgnYmctcHJpbWFyeScpO1xyXG5cdFx0dGhpcy5wcm9ncmVzc0JhckRpdi5zdHlsZS53aWR0aCA9IFwiMFwiO1xyXG5cdFx0cHJvZ3Jlc3NEaXYuYXBwZW5kKHRoaXMucHJvZ3Jlc3NCYXJEaXYpO1xyXG5cclxuXHRcdHRoaXMucHJvZ3Jlc3NCYXJUZXh0RGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxuXHRcdHRoaXMucHJvZ3Jlc3NCYXJUZXh0RGl2LmNsYXNzTGlzdC5hZGQoJ3Byb2dyZXNzLWJhci10ZXh0Jyk7XHJcblx0XHR0aGlzLnByb2dyZXNzQmFyVGV4dERpdi5jbGFzc0xpc3QuYWRkKCd0ZXh0LXdoaXRlJyk7XHJcblx0XHRwcm9ncmVzc0Rpdi5hcHBlbmQodGhpcy5wcm9ncmVzc0JhclRleHREaXYpO1xyXG5cclxuXHRcdHNjcmVlbkJsb2NrZXJEaXYuYXBwZW5kKHByb2dyZXNzRGl2KTtcclxuXHJcblx0XHRzY3JlZW5CbG9ja2VyRGl2LmNsYXNzTGlzdC5hZGQoJ3Zpc2libGUnKTtcclxuXHR9XHJcblxyXG5cdGhpZGUoKSB7XHJcblx0XHR0aGlzLmlzVmlzaWJsZSA9IGZhbHNlO1xyXG5cclxuXHRcdGNvbnN0IHNjcmVlbkJsb2NrZXJEaXY6IEhUTUxEaXZFbGVtZW50ID0gKDxIVE1MRGl2RWxlbWVudD5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInNsaWNrLXByb2dyZXNzLWJhci1zY3JlZW4tYmxvY2tlclwiKSk7XHJcblx0XHRpZiAoc2NyZWVuQmxvY2tlckRpdilcclxuXHRcdFx0c2NyZWVuQmxvY2tlckRpdi5yZW1vdmUoKTtcclxuXHR9XHJcblxyXG59Il19
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { NgModule } from "@angular/core";
|
|
2
|
-
import { CommonModule } from "@angular/common";
|
|
3
|
-
import { SlickScreenBlockerService } from "./slick-screen-blocker.service";
|
|
4
|
-
export class SlickScreenBlockerModule {
|
|
5
|
-
}
|
|
6
|
-
SlickScreenBlockerModule.decorators = [
|
|
7
|
-
{ type: NgModule, args: [{
|
|
8
|
-
imports: [CommonModule],
|
|
9
|
-
providers: [SlickScreenBlockerService]
|
|
10
|
-
},] }
|
|
11
|
-
];
|
|
12
|
-
export { SlickScreenBlockerService };
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stc2NyZWVuLWJsb2NrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stc2NyZWVuLWJsb2NrZXIvc2xpY2stc2NyZWVuLWJsb2NrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBTTNFLE1BQU0sT0FBTyx3QkFBd0I7OztZQUpwQyxRQUFRLFNBQUM7Z0JBQ1QsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2dCQUN2QixTQUFTLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQzthQUN0Qzs7QUFHRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBTbGlja1NjcmVlbkJsb2NrZXJTZXJ2aWNlIH0gZnJvbSBcIi4vc2xpY2stc2NyZWVuLWJsb2NrZXIuc2VydmljZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuXHRpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuXHRwcm92aWRlcnM6IFtTbGlja1NjcmVlbkJsb2NrZXJTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2xpY2tTY3JlZW5CbG9ja2VyTW9kdWxlIHsgfVxyXG5cclxuZXhwb3J0IHsgU2xpY2tTY3JlZW5CbG9ja2VyU2VydmljZSB9XHJcbiJdfQ==
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { Injectable } from "@angular/core";
|
|
2
|
-
export class SlickScreenBlockerService {
|
|
3
|
-
constructor() {
|
|
4
|
-
this.isVisible = false;
|
|
5
|
-
this.forceBlockActive = false;
|
|
6
|
-
}
|
|
7
|
-
block(delay = 350) {
|
|
8
|
-
if (this.forceBlockActive === true)
|
|
9
|
-
return;
|
|
10
|
-
SlickScreenBlockerService.blockCount++;
|
|
11
|
-
if (!SlickScreenBlockerService.preShowTimeout) {
|
|
12
|
-
SlickScreenBlockerService.preShowTimeout = setTimeout(() => {
|
|
13
|
-
this.show();
|
|
14
|
-
clearTimeout(SlickScreenBlockerService.blockTimeout);
|
|
15
|
-
SlickScreenBlockerService.blockTimeout = setTimeout(() => {
|
|
16
|
-
SlickScreenBlockerService.blockCount = 0;
|
|
17
|
-
this.isVisible = false;
|
|
18
|
-
this.hide();
|
|
19
|
-
}, 20000);
|
|
20
|
-
}, delay);
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
clearTimeout(SlickScreenBlockerService.blockTimeout);
|
|
24
|
-
SlickScreenBlockerService.blockTimeout = setTimeout(() => {
|
|
25
|
-
SlickScreenBlockerService.blockCount = 0;
|
|
26
|
-
this.isVisible = false;
|
|
27
|
-
this.hide();
|
|
28
|
-
}, 20000);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
unblock() {
|
|
32
|
-
if (this.forceBlockActive === true)
|
|
33
|
-
return;
|
|
34
|
-
SlickScreenBlockerService.blockCount--;
|
|
35
|
-
if (SlickScreenBlockerService.blockCount <= 0) {
|
|
36
|
-
SlickScreenBlockerService.blockCount = 0;
|
|
37
|
-
clearTimeout(SlickScreenBlockerService.preShowTimeout);
|
|
38
|
-
SlickScreenBlockerService.preShowTimeout = null;
|
|
39
|
-
clearTimeout(SlickScreenBlockerService.blockTimeout);
|
|
40
|
-
this.isVisible = false;
|
|
41
|
-
this.hide();
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
forceBlock() {
|
|
45
|
-
clearTimeout(SlickScreenBlockerService.blockTimeout);
|
|
46
|
-
this.forceBlockActive = true;
|
|
47
|
-
this.isVisible = true;
|
|
48
|
-
this.show();
|
|
49
|
-
}
|
|
50
|
-
forceUnblock() {
|
|
51
|
-
clearTimeout(SlickScreenBlockerService.blockTimeout);
|
|
52
|
-
SlickScreenBlockerService.blockCount = 0;
|
|
53
|
-
this.forceBlockActive = false;
|
|
54
|
-
this.isVisible = false;
|
|
55
|
-
this.hide();
|
|
56
|
-
}
|
|
57
|
-
show() {
|
|
58
|
-
let screenBlockerDiv = document.getElementById("slick-screen-blocker");
|
|
59
|
-
if (!screenBlockerDiv) {
|
|
60
|
-
screenBlockerDiv = document.createElement("div");
|
|
61
|
-
screenBlockerDiv.id = "slick-screen-blocker";
|
|
62
|
-
screenBlockerDiv.classList.add('slick-screen-blocker');
|
|
63
|
-
screenBlockerDiv.innerHTML = `<div class='slick-screen-blocker_spinner'></div>`;
|
|
64
|
-
document.body.appendChild(screenBlockerDiv);
|
|
65
|
-
}
|
|
66
|
-
screenBlockerDiv.classList.add('visible');
|
|
67
|
-
}
|
|
68
|
-
hide() {
|
|
69
|
-
let screenBlockerDiv = document.getElementById("slick-screen-blocker");
|
|
70
|
-
if (screenBlockerDiv)
|
|
71
|
-
screenBlockerDiv.classList.remove('visible');
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
SlickScreenBlockerService.blockCount = 0;
|
|
75
|
-
SlickScreenBlockerService.preShowTimeout = null;
|
|
76
|
-
SlickScreenBlockerService.blockTimeout = null;
|
|
77
|
-
SlickScreenBlockerService.decorators = [
|
|
78
|
-
{ type: Injectable }
|
|
79
|
-
];
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stc2NyZWVuLWJsb2NrZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL3NsaWNrLXNjcmVlbi1ibG9ja2VyL3NsaWNrLXNjcmVlbi1ibG9ja2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxNQUFNLE9BQU8seUJBQXlCO0lBRHRDO1FBRUMsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7SUFxRm5DLENBQUM7SUEvRUEsS0FBSyxDQUFDLFFBQWdCLEdBQUc7UUFDeEIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssSUFBSTtZQUNqQyxPQUFPO1FBRVIseUJBQXlCLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFdkMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGNBQWMsRUFBRTtZQUM5Qyx5QkFBeUIsQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDMUQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUVaLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDckQseUJBQXlCLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ3hELHlCQUF5QixDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7b0JBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO29CQUN2QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2IsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ1gsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ1Y7YUFDSTtZQUNKLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNyRCx5QkFBeUIsQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDeEQseUJBQXlCLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztnQkFDekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNiLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNWO0lBQ0YsQ0FBQztJQUVELE9BQU87UUFDTixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxJQUFJO1lBQ2pDLE9BQU87UUFFUix5QkFBeUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUV2QyxJQUFJLHlCQUF5QixDQUFDLFVBQVUsSUFBSSxDQUFDLEVBQUU7WUFDOUMseUJBQXlCLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztZQUN6QyxZQUFZLENBQUMseUJBQXlCLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDdkQseUJBQXlCLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUNoRCxZQUFZLENBQUMseUJBQXlCLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ1o7SUFDRixDQUFDO0lBRUQsVUFBVTtRQUNULFlBQVksQ0FBQyx5QkFBeUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNiLENBQUM7SUFFRCxZQUFZO1FBQ1gsWUFBWSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JELHlCQUF5QixDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDYixDQUFDO0lBRU8sSUFBSTtRQUNYLElBQUksZ0JBQWdCLEdBQW9DLFFBQVEsQ0FBQyxjQUFjLENBQUMsc0JBQXNCLENBQUUsQ0FBQztRQUN6RyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDdEIsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqRCxnQkFBZ0IsQ0FBQyxFQUFFLEdBQUcsc0JBQXNCLENBQUM7WUFDN0MsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1lBQ3ZELGdCQUFnQixDQUFDLFNBQVMsR0FBRyxrREFBa0QsQ0FBQztZQUVoRixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQzVDO1FBRUQsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU8sSUFBSTtRQUNYLElBQUksZ0JBQWdCLEdBQW9DLFFBQVEsQ0FBQyxjQUFjLENBQUMsc0JBQXNCLENBQUUsQ0FBQztRQUN6RyxJQUFJLGdCQUFnQjtZQUNuQixnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7O0FBakZjLG9DQUFVLEdBQVcsQ0FBQyxDQUFDO0FBQ3ZCLHdDQUFjLEdBQWlCLElBQUksQ0FBQztBQUNwQyxzQ0FBWSxHQUFpQixJQUFJLENBQUM7O1lBUGpELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFNsaWNrU2NyZWVuQmxvY2tlclNlcnZpY2Uge1xyXG5cdGlzVmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdGZvcmNlQmxvY2tBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0cHJpdmF0ZSBzdGF0aWMgYmxvY2tDb3VudDogbnVtYmVyID0gMDtcclxuXHRwcml2YXRlIHN0YXRpYyBwcmVTaG93VGltZW91dDogTm9kZUpTLlRpbWVyID0gbnVsbDtcclxuXHRwcml2YXRlIHN0YXRpYyBibG9ja1RpbWVvdXQ6IE5vZGVKUy5UaW1lciA9IG51bGw7XHJcblxyXG5cdGJsb2NrKGRlbGF5OiBudW1iZXIgPSAzNTApIHtcclxuXHRcdGlmICh0aGlzLmZvcmNlQmxvY2tBY3RpdmUgPT09IHRydWUpXHJcblx0XHRcdHJldHVybjtcclxuXHJcblx0XHRTbGlja1NjcmVlbkJsb2NrZXJTZXJ2aWNlLmJsb2NrQ291bnQrKztcclxuXHJcblx0XHRpZiAoIVNsaWNrU2NyZWVuQmxvY2tlclNlcnZpY2UucHJlU2hvd1RpbWVvdXQpIHtcclxuXHRcdFx0U2xpY2tTY3JlZW5CbG9ja2VyU2VydmljZS5wcmVTaG93VGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuc2hvdygpO1xyXG5cclxuXHRcdFx0XHRjbGVhclRpbWVvdXQoU2xpY2tTY3JlZW5CbG9ja2VyU2VydmljZS5ibG9ja1RpbWVvdXQpO1xyXG5cdFx0XHRcdFNsaWNrU2NyZWVuQmxvY2tlclNlcnZpY2UuYmxvY2tUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHRTbGlja1NjcmVlbkJsb2NrZXJTZXJ2aWNlLmJsb2NrQ291bnQgPSAwO1xyXG5cdFx0XHRcdFx0dGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcclxuXHRcdFx0XHRcdHRoaXMuaGlkZSgpO1xyXG5cdFx0XHRcdH0sIDIwMDAwKTtcclxuXHRcdFx0fSwgZGVsYXkpO1xyXG5cdFx0fVxyXG5cdFx0ZWxzZSB7XHJcblx0XHRcdGNsZWFyVGltZW91dChTbGlja1NjcmVlbkJsb2NrZXJTZXJ2aWNlLmJsb2NrVGltZW91dCk7XHJcblx0XHRcdFNsaWNrU2NyZWVuQmxvY2tlclNlcnZpY2UuYmxvY2tUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0U2xpY2tTY3JlZW5CbG9ja2VyU2VydmljZS5ibG9ja0NvdW50ID0gMDtcclxuXHRcdFx0XHR0aGlzLmlzVmlzaWJsZSA9IGZhbHNlO1xyXG5cdFx0XHRcdHRoaXMuaGlkZSgpO1xyXG5cdFx0XHR9LCAyMDAwMCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHR1bmJsb2NrKCkge1xyXG5cdFx0aWYgKHRoaXMuZm9yY2VCbG9ja0FjdGl2ZSA9PT0gdHJ1ZSlcclxuXHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdFNsaWNrU2NyZWVuQmxvY2tlclNlcnZpY2UuYmxvY2tDb3VudC0tO1xyXG5cclxuXHRcdGlmIChTbGlja1NjcmVlbkJsb2NrZXJTZXJ2aWNlLmJsb2NrQ291bnQgPD0gMCkge1xyXG5cdFx0XHRTbGlja1NjcmVlbkJsb2NrZXJTZXJ2aWNlLmJsb2NrQ291bnQgPSAwO1xyXG5cdFx0XHRjbGVhclRpbWVvdXQoU2xpY2tTY3JlZW5CbG9ja2VyU2VydmljZS5wcmVTaG93VGltZW91dCk7XHJcblx0XHRcdFNsaWNrU2NyZWVuQmxvY2tlclNlcnZpY2UucHJlU2hvd1RpbWVvdXQgPSBudWxsO1xyXG5cdFx0XHRjbGVhclRpbWVvdXQoU2xpY2tTY3JlZW5CbG9ja2VyU2VydmljZS5ibG9ja1RpbWVvdXQpO1xyXG5cdFx0XHR0aGlzLmlzVmlzaWJsZSA9IGZhbHNlO1xyXG5cdFx0XHR0aGlzLmhpZGUoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGZvcmNlQmxvY2soKSB7XHJcblx0XHRjbGVhclRpbWVvdXQoU2xpY2tTY3JlZW5CbG9ja2VyU2VydmljZS5ibG9ja1RpbWVvdXQpO1xyXG5cdFx0dGhpcy5mb3JjZUJsb2NrQWN0aXZlID0gdHJ1ZTtcclxuXHRcdHRoaXMuaXNWaXNpYmxlID0gdHJ1ZTtcclxuXHRcdHRoaXMuc2hvdygpO1xyXG5cdH1cclxuXHJcblx0Zm9yY2VVbmJsb2NrKCkge1xyXG5cdFx0Y2xlYXJUaW1lb3V0KFNsaWNrU2NyZWVuQmxvY2tlclNlcnZpY2UuYmxvY2tUaW1lb3V0KTtcclxuXHRcdFNsaWNrU2NyZWVuQmxvY2tlclNlcnZpY2UuYmxvY2tDb3VudCA9IDA7XHJcblx0XHR0aGlzLmZvcmNlQmxvY2tBY3RpdmUgPSBmYWxzZTtcclxuXHRcdHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XHJcblx0XHR0aGlzLmhpZGUoKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgc2hvdygpIHtcclxuXHRcdGxldCBzY3JlZW5CbG9ja2VyRGl2OiBIVE1MRGl2RWxlbWVudCA9ICg8SFRNTERpdkVsZW1lbnQ+ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJzbGljay1zY3JlZW4tYmxvY2tlclwiKSk7XHJcblx0XHRpZiAoIXNjcmVlbkJsb2NrZXJEaXYpIHtcclxuXHRcdFx0c2NyZWVuQmxvY2tlckRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XHJcblx0XHRcdHNjcmVlbkJsb2NrZXJEaXYuaWQgPSBcInNsaWNrLXNjcmVlbi1ibG9ja2VyXCI7XHJcblx0XHRcdHNjcmVlbkJsb2NrZXJEaXYuY2xhc3NMaXN0LmFkZCgnc2xpY2stc2NyZWVuLWJsb2NrZXInKTtcclxuXHRcdFx0c2NyZWVuQmxvY2tlckRpdi5pbm5lckhUTUwgPSBgPGRpdiBjbGFzcz0nc2xpY2stc2NyZWVuLWJsb2NrZXJfc3Bpbm5lcic+PC9kaXY+YDtcclxuXHJcblx0XHRcdGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyZWVuQmxvY2tlckRpdik7XHJcblx0XHR9XHJcblxyXG5cdFx0c2NyZWVuQmxvY2tlckRpdi5jbGFzc0xpc3QuYWRkKCd2aXNpYmxlJyk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGhpZGUoKSB7XHJcblx0XHRsZXQgc2NyZWVuQmxvY2tlckRpdjogSFRNTERpdkVsZW1lbnQgPSAoPEhUTUxEaXZFbGVtZW50PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwic2xpY2stc2NyZWVuLWJsb2NrZXJcIikpO1xyXG5cdFx0aWYgKHNjcmVlbkJsb2NrZXJEaXYpXHJcblx0XHRcdHNjcmVlbkJsb2NrZXJEaXYuY2xhc3NMaXN0LnJlbW92ZSgndmlzaWJsZScpO1xyXG5cdH1cclxuXHJcbn0iXX0=
|