@wavemaker/app-ng-runtime 11.13.0-rc.6255 → 11.14.0-rc.226
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/build-task/bundles/index.umd.js +34 -5
- package/build-task/esm2022/basic/anchor/anchor.build.mjs +15 -0
- package/build-task/esm2022/basic/audio/audio.build.mjs +10 -0
- package/build-task/esm2022/basic/html/html.build.mjs +15 -0
- package/build-task/esm2022/basic/icon/icon.build.mjs +10 -0
- package/build-task/esm2022/basic/iframe/iframe.build.mjs +10 -0
- package/build-task/esm2022/basic/label/label.build.mjs +25 -0
- package/build-task/esm2022/basic/picture/picture.build.mjs +14 -0
- package/build-task/esm2022/basic/spinner/spinner.build.mjs +15 -0
- package/build-task/esm2022/basic/video/video.build.mjs +10 -0
- package/build-task/esm2022/data/form/form-field/form-field.build.mjs +8 -3
- package/build-task/esm2022/data/form/form.build.mjs +8 -1
- package/build-task/esm2022/data/table/table-column/table-column.build.mjs +14 -3
- package/build-task/esm2022/input/default/checkbox/checkbox.build.mjs +2 -2
- package/build-task/esm2022/page/page-content/page-content.build.mjs +8 -2
- package/build-task/esm2022/public_api.mjs +10 -10
- package/build-task/fesm2022/index.mjs +36 -7
- package/build-task/fesm2022/index.mjs.map +1 -1
- package/build-task/package.json +3 -6
- package/build-task/public_api.d.ts +9 -9
- package/components/advanced/carousel/bundles/index.umd.js +33 -38
- package/components/advanced/carousel/esm2022/carousel-template/carousel-template.directive.mjs +16 -16
- package/components/advanced/carousel/esm2022/carousel.directive.mjs +19 -24
- package/components/advanced/carousel/fesm2022/index.mjs +34 -39
- package/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
- package/components/advanced/carousel/package.json +0 -3
- package/components/advanced/custom/bundles/index.umd.js +48 -48
- package/components/advanced/custom/custom-widget-container/custom-widget-container.directive.d.ts +1 -1
- package/components/advanced/custom/esm2022/custom-widget-container/custom-widget-container.directive.mjs +31 -31
- package/components/advanced/custom/esm2022/custom-widget.directive.mjs +15 -15
- package/components/advanced/custom/fesm2022/index.mjs +45 -45
- package/components/advanced/custom/fesm2022/index.mjs.map +1 -1
- package/components/advanced/custom/package.json +0 -3
- package/components/advanced/login/bundles/index.umd.js +33 -53
- package/components/advanced/login/esm2022/login.component.mjs +26 -47
- package/components/advanced/login/fesm2022/index.mjs +27 -47
- package/components/advanced/login/fesm2022/index.mjs.map +1 -1
- package/components/advanced/login/login.component.d.ts +1 -1
- package/components/advanced/login/package.json +0 -3
- package/components/advanced/marquee/bundles/index.umd.js +19 -19
- package/components/advanced/marquee/esm2022/marquee.directive.mjs +20 -20
- package/components/advanced/marquee/fesm2022/index.mjs +20 -20
- package/components/advanced/marquee/fesm2022/index.mjs.map +1 -1
- package/components/advanced/marquee/package.json +0 -3
- package/components/base/bundles/index.umd.js +4272 -4243
- package/components/base/esm2022/pipes/custom-pipes.mjs +14 -12
- package/components/base/esm2022/pipes/wm-pipe.mjs +3 -3
- package/components/base/esm2022/public_api.mjs +1 -2
- package/components/base/esm2022/widgets/common/container/container.directive.mjs +154 -1
- package/components/base/esm2022/widgets/common/container/container.props.mjs +7 -2
- package/components/base/esm2022/widgets/common/redraw/redrawable.directive.mjs +1 -1
- package/components/base/fesm2022/index.mjs +4280 -4251
- package/components/base/fesm2022/index.mjs.map +1 -1
- package/components/base/package.json +2 -2
- package/components/base/pipes/custom-pipes.d.ts +4 -2
- package/components/base/pipes/wm-pipe.d.ts +1 -1
- package/components/base/public_api.d.ts +0 -1
- package/components/base/widgets/common/container/container.directive.d.ts +9 -0
- package/components/base/widgets/common/pull-to-refresh/pull-to-refresh.d.ts +0 -2
- package/components/basic/anchor/bundles/index.umd.js +192 -0
- package/components/basic/anchor/esm2022/anchor.component.mjs +143 -0
- package/components/basic/anchor/esm2022/anchor.props.mjs +27 -0
- package/components/basic/anchor/esm2022/index.mjs +5 -0
- package/components/basic/anchor/esm2022/public_api.mjs +2 -0
- package/components/basic/anchor/fesm2022/index.mjs +175 -0
- package/components/basic/anchor/fesm2022/index.mjs.map +1 -0
- package/components/basic/{progress → anchor}/index.d.ts +1 -1
- package/components/basic/{default → anchor}/package.json +1 -4
- package/components/basic/anchor/public_api.d.ts +1 -0
- package/components/basic/audio/bundles/index.umd.js +83 -0
- package/components/basic/audio/esm2022/audio.component.mjs +41 -0
- package/components/basic/audio/esm2022/audio.props.mjs +19 -0
- package/components/{input/epoch → basic/audio}/esm2022/index.mjs +1 -1
- package/components/basic/audio/esm2022/public_api.mjs +2 -0
- package/components/basic/audio/fesm2022/index.mjs +65 -0
- package/components/basic/audio/fesm2022/index.mjs.map +1 -0
- package/components/{input/epoch → basic/audio}/index.d.ts +1 -1
- package/components/{input/default → basic/audio}/package.json +2 -5
- package/components/basic/audio/public_api.d.ts +1 -0
- package/components/basic/html/bundles/index.umd.js +110 -0
- package/components/basic/html/esm2022/html.directive.mjs +76 -0
- package/components/basic/html/esm2022/html.props.mjs +12 -0
- package/components/basic/html/esm2022/index.mjs +5 -0
- package/components/basic/html/esm2022/public_api.mjs +2 -0
- package/components/basic/html/fesm2022/index.mjs +93 -0
- package/components/basic/html/fesm2022/index.mjs.map +1 -0
- package/components/basic/{default → html}/index.d.ts +1 -1
- package/components/{input/epoch → basic/html}/package.json +1 -4
- package/components/basic/html/public_api.d.ts +1 -0
- package/components/basic/icon/bundles/index.umd.js +80 -0
- package/components/basic/icon/esm2022/icon.component.mjs +38 -0
- package/components/basic/icon/esm2022/icon.props.mjs +19 -0
- package/components/basic/icon/esm2022/index.mjs +5 -0
- package/components/basic/icon/esm2022/public_api.mjs +2 -0
- package/components/basic/icon/fesm2022/index.mjs +62 -0
- package/components/basic/icon/fesm2022/index.mjs.map +1 -0
- package/components/{input/default → basic/icon}/index.d.ts +1 -1
- package/components/basic/{progress → icon}/package.json +1 -4
- package/components/basic/icon/public_api.d.ts +1 -0
- package/components/basic/iframe/.npmignore +2 -0
- package/components/basic/iframe/bundles/index.umd.js +101 -0
- package/components/basic/iframe/esm2022/iframe.component.mjs +65 -0
- package/components/basic/iframe/esm2022/iframe.props.mjs +15 -0
- package/components/basic/iframe/esm2022/index.mjs +5 -0
- package/components/basic/iframe/esm2022/public_api.mjs +2 -0
- package/components/basic/iframe/fesm2022/index.mjs +84 -0
- package/components/basic/iframe/fesm2022/index.mjs.map +1 -0
- package/components/basic/iframe/index.d.ts +5 -0
- package/components/basic/iframe/package.json +20 -0
- package/components/basic/iframe/public_api.d.ts +1 -0
- package/components/basic/label/.npmignore +2 -0
- package/components/basic/label/bundles/index.umd.js +109 -0
- package/components/basic/label/esm2022/index.mjs +5 -0
- package/components/basic/label/esm2022/label.directive.mjs +71 -0
- package/components/basic/label/esm2022/label.props.mjs +17 -0
- package/components/basic/label/esm2022/public_api.mjs +2 -0
- package/components/basic/label/fesm2022/index.mjs +93 -0
- package/components/basic/label/fesm2022/index.mjs.map +1 -0
- package/components/basic/label/index.d.ts +5 -0
- package/components/basic/{default/label → label}/label.directive.d.ts +1 -1
- package/components/basic/label/package.json +20 -0
- package/components/basic/label/public_api.d.ts +1 -0
- package/components/basic/picture/.npmignore +2 -0
- package/components/basic/picture/bundles/index.umd.js +138 -0
- package/components/basic/{default → picture}/esm2022/index.mjs +1 -1
- package/components/basic/picture/esm2022/picture.directive.mjs +93 -0
- package/components/basic/picture/esm2022/picture.props.mjs +23 -0
- package/components/basic/picture/esm2022/public_api.mjs +2 -0
- package/components/basic/picture/fesm2022/index.mjs +121 -0
- package/components/basic/picture/fesm2022/index.mjs.map +1 -0
- package/components/basic/picture/index.d.ts +5 -0
- package/components/basic/picture/package.json +20 -0
- package/components/basic/picture/public_api.d.ts +1 -0
- package/components/basic/progress/progress-bar/.npmignore +2 -0
- package/components/basic/progress/progress-bar/bundles/index.umd.js +170 -0
- package/components/basic/progress/progress-bar/esm2022/index.mjs +5 -0
- package/components/basic/progress/progress-bar/esm2022/progress-bar.component.mjs +130 -0
- package/components/basic/progress/{esm2022/progress-bar → progress-bar/esm2022}/progress-bar.props.mjs +1 -1
- package/components/basic/progress/progress-bar/esm2022/public_api.mjs +2 -0
- package/components/basic/progress/progress-bar/fesm2022/index.mjs +154 -0
- package/components/basic/progress/progress-bar/fesm2022/index.mjs.map +1 -0
- package/components/basic/progress/progress-bar/index.d.ts +5 -0
- package/components/basic/progress/progress-bar/package.json +20 -0
- package/components/basic/progress/progress-bar/public_api.d.ts +1 -0
- package/components/basic/progress/progress-circle/.npmignore +2 -0
- package/components/basic/progress/progress-circle/bundles/index.umd.js +161 -0
- package/components/basic/progress/progress-circle/esm2022/index.mjs +5 -0
- package/components/basic/progress/progress-circle/esm2022/progress-circle.component.mjs +120 -0
- package/components/basic/progress/{esm2022/progress-circle → progress-circle/esm2022}/progress-circle.props.mjs +1 -1
- package/components/basic/progress/progress-circle/esm2022/public_api.mjs +2 -0
- package/components/basic/progress/progress-circle/fesm2022/index.mjs +145 -0
- package/components/basic/progress/progress-circle/fesm2022/index.mjs.map +1 -0
- package/components/basic/progress/progress-circle/index.d.ts +5 -0
- package/components/basic/progress/progress-circle/package.json +20 -0
- package/components/basic/progress/progress-circle/public_api.d.ts +1 -0
- package/components/basic/progress/progress-utils/.npmignore +2 -0
- package/components/basic/progress/progress-utils/bundles/index.umd.js +35 -0
- package/components/basic/progress/progress-utils/esm2022/index.mjs +5 -0
- package/components/basic/progress/progress-utils/esm2022/progress-utils.mjs +25 -0
- package/components/basic/progress/progress-utils/esm2022/public_api.mjs +2 -0
- package/components/basic/progress/progress-utils/fesm2022/index.mjs +32 -0
- package/components/basic/progress/progress-utils/fesm2022/index.mjs.map +1 -0
- package/components/basic/progress/progress-utils/index.d.ts +5 -0
- package/components/basic/progress/progress-utils/package.json +20 -0
- package/components/basic/progress/progress-utils/public_api.d.ts +1 -0
- package/components/basic/rich-text-editor/bundles/index.umd.js +23 -40
- package/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +19 -38
- package/components/basic/rich-text-editor/fesm2022/index.mjs +21 -39
- package/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
- package/components/basic/rich-text-editor/package.json +0 -3
- package/components/basic/rich-text-editor/rich-text-editor.component.d.ts +1 -1
- package/components/basic/search/bundles/index.umd.js +109 -313
- package/components/basic/search/esm2022/scrollable.directive.mjs +13 -14
- package/components/basic/search/esm2022/search.component.mjs +40 -246
- package/components/basic/search/fesm2022/index.mjs +52 -256
- package/components/basic/search/fesm2022/index.mjs.map +1 -1
- package/components/basic/search/package.json +0 -3
- package/components/basic/search/scrollable.directive.d.ts +2 -3
- package/components/basic/search/search.component.d.ts +1 -1
- package/components/basic/spinner/.npmignore +2 -0
- package/components/basic/spinner/bundles/index.umd.js +118 -0
- package/components/{input/default → basic/spinner}/esm2022/index.mjs +1 -1
- package/components/basic/spinner/esm2022/public_api.mjs +2 -0
- package/components/basic/spinner/esm2022/spinner.component.mjs +79 -0
- package/components/basic/spinner/esm2022/spinner.props.mjs +20 -0
- package/components/basic/spinner/fesm2022/index.mjs +103 -0
- package/components/basic/spinner/fesm2022/index.mjs.map +1 -0
- package/components/basic/spinner/index.d.ts +5 -0
- package/components/basic/spinner/package.json +20 -0
- package/components/basic/spinner/public_api.d.ts +1 -0
- package/components/basic/tree/bundles/index.umd.js +34 -38
- package/components/basic/tree/esm2022/tree.component.mjs +31 -36
- package/components/basic/tree/fesm2022/index.mjs +32 -36
- package/components/basic/tree/fesm2022/index.mjs.map +1 -1
- package/components/basic/tree/package.json +0 -3
- package/components/basic/video/.npmignore +2 -0
- package/components/basic/video/bundles/index.umd.js +116 -0
- package/components/basic/video/esm2022/index.mjs +5 -0
- package/components/basic/video/esm2022/public_api.mjs +2 -0
- package/components/basic/video/esm2022/video.component.mjs +70 -0
- package/components/basic/video/esm2022/video.props.mjs +24 -0
- package/components/basic/video/fesm2022/index.mjs +99 -0
- package/components/basic/video/fesm2022/index.mjs.map +1 -0
- package/components/basic/video/index.d.ts +5 -0
- package/components/basic/video/package.json +20 -0
- package/components/basic/video/public_api.d.ts +1 -0
- package/components/chart/bundles/index.umd.js +22 -75
- package/components/chart/esm2022/chart.component.mjs +20 -74
- package/components/chart/fesm2022/index.mjs +21 -74
- package/components/chart/fesm2022/index.mjs.map +1 -1
- package/components/chart/package.json +0 -3
- package/components/containers/accordion/bundles/index.umd.js +45 -100
- package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +19 -70
- package/components/containers/accordion/esm2022/accordion.directive.mjs +24 -29
- package/components/containers/accordion/fesm2022/index.mjs +43 -98
- package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
- package/components/containers/accordion/package.json +0 -3
- package/components/containers/layout-grid/bundles/index.umd.js +60 -60
- package/components/containers/layout-grid/esm2022/layout-grid-column/layout-grid-column.directive.mjs +23 -23
- package/components/containers/layout-grid/esm2022/layout-grid-row/layout-grid-row.directive.mjs +20 -20
- package/components/containers/layout-grid/esm2022/layout-grid.directive.mjs +20 -20
- package/components/containers/layout-grid/fesm2022/index.mjs +61 -61
- package/components/containers/layout-grid/fesm2022/index.mjs.map +1 -1
- package/components/containers/layout-grid/package.json +0 -3
- package/components/containers/linear-layout/bundles/index.umd.js +38 -38
- package/components/containers/linear-layout/esm2022/linear-layout-item/linear-layout-item.directive.mjs +20 -20
- package/components/containers/linear-layout/esm2022/linear-layout.directive.mjs +20 -20
- package/components/containers/linear-layout/fesm2022/index.mjs +39 -39
- package/components/containers/linear-layout/fesm2022/index.mjs.map +1 -1
- package/components/containers/linear-layout/package.json +0 -3
- package/components/containers/panel/bundles/index.umd.js +62 -223
- package/components/containers/panel/esm2022/panel.component.mjs +29 -190
- package/components/containers/panel/fesm2022/index.mjs +29 -190
- package/components/containers/panel/fesm2022/index.mjs.map +1 -1
- package/components/containers/panel/package.json +0 -3
- package/components/containers/tabs/bundles/index.umd.js +95 -204
- package/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +34 -51
- package/components/containers/tabs/esm2022/tabs.component.mjs +29 -123
- package/components/containers/tabs/fesm2022/index.mjs +61 -170
- package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
- package/components/containers/tabs/package.json +0 -3
- package/components/containers/tabs/tab-pane/tab-pane.component.d.ts +3 -4
- package/components/containers/tile/bundles/index.umd.js +19 -19
- package/components/containers/tile/esm2022/tile.directive.mjs +20 -20
- package/components/containers/tile/fesm2022/index.mjs +20 -20
- package/components/containers/tile/fesm2022/index.mjs.map +1 -1
- package/components/containers/tile/package.json +0 -3
- package/components/containers/wizard/bundles/index.umd.js +119 -302
- package/components/containers/wizard/esm2022/wizard-action/wizard-action.directive.mjs +21 -21
- package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +32 -45
- package/components/containers/wizard/esm2022/wizard.component.mjs +30 -201
- package/components/containers/wizard/fesm2022/index.mjs +81 -264
- package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
- package/components/containers/wizard/package.json +0 -3
- package/components/containers/wizard/wizard.component.d.ts +1 -1
- package/components/data/card/bundles/index.umd.js +108 -208
- package/components/data/card/esm2022/card-actions/card-actions.directive.mjs +15 -15
- package/components/data/card/esm2022/card-content/card-content.component.mjs +19 -34
- package/components/data/card/esm2022/card-footer/card-footer.directive.mjs +15 -15
- package/components/data/card/esm2022/card.component.mjs +21 -107
- package/components/data/card/fesm2022/index.mjs +67 -167
- package/components/data/card/fesm2022/index.mjs.map +1 -1
- package/components/data/card/package.json +0 -3
- package/components/data/form/bundles/index.umd.js +287 -467
- package/components/data/form/esm2022/form-action/form-action.directive.mjs +22 -22
- package/components/data/form/esm2022/form-field/form-field.directive.mjs +80 -91
- package/components/data/form/esm2022/form-widget.directive.mjs +31 -31
- package/components/data/form/esm2022/form.component.mjs +88 -251
- package/components/data/form/esm2022/form.props.mjs +1 -1
- package/components/data/form/esm2022/live-actions/dependson.directive.mjs +19 -24
- package/components/data/form/esm2022/live-actions/live-actions.directive.mjs +15 -15
- package/components/data/form/esm2022/live-filter/live-filter.directive.mjs +15 -15
- package/components/data/form/esm2022/live-form/live-form.directive.mjs +23 -25
- package/components/data/form/fesm2022/index.mjs +288 -468
- package/components/data/form/fesm2022/index.mjs.map +1 -1
- package/components/data/form/package.json +0 -3
- package/components/data/list/bundles/index.umd.js +80 -360
- package/components/data/list/esm2022/list-item.directive.mjs +27 -34
- package/components/data/list/esm2022/list.animator.mjs +1 -1
- package/components/data/list/esm2022/list.component.mjs +55 -330
- package/components/data/list/esm2022/list.props.mjs +1 -1
- package/components/data/list/fesm2022/index.mjs +79 -358
- package/components/data/list/fesm2022/index.mjs.map +1 -1
- package/components/data/list/list-item.directive.d.ts +3 -3
- package/components/data/list/list.component.d.ts +2 -4
- package/components/data/list/package.json +0 -3
- package/components/data/live-table/bundles/index.umd.js +28 -39
- package/components/data/live-table/esm2022/live-table.component.mjs +25 -37
- package/components/data/live-table/fesm2022/index.mjs +26 -37
- package/components/data/live-table/fesm2022/index.mjs.map +1 -1
- package/components/data/live-table/package.json +0 -3
- package/components/data/pagination/bundles/index.umd.js +33 -505
- package/components/data/pagination/esm2022/pagination.component.mjs +33 -507
- package/components/data/pagination/esm2022/pagination.props.mjs +1 -1
- package/components/data/pagination/fesm2022/index.mjs +32 -505
- package/components/data/pagination/fesm2022/index.mjs.map +1 -1
- package/components/data/pagination/package.json +0 -3
- package/components/data/pagination/pagination.component.d.ts +1 -1
- package/components/data/table/bundles/index.umd.js +310 -457
- package/components/data/table/esm2022/table-action/table-action.directive.mjs +22 -22
- package/components/data/table/esm2022/table-column/table-column.directive.mjs +50 -71
- package/components/data/table/esm2022/table-column/table-column.props.mjs +1 -1
- package/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +26 -26
- package/components/data/table/esm2022/table-cud.directive.mjs +15 -15
- package/components/data/table/esm2022/table-filter.directive.mjs +16 -16
- package/components/data/table/esm2022/table-row/table-row.directive.mjs +24 -24
- package/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +29 -29
- package/components/data/table/esm2022/table.component.mjs +135 -263
- package/components/data/table/esm2022/table.props.mjs +2 -1
- package/components/data/table/fesm2022/index.mjs +312 -459
- package/components/data/table/fesm2022/index.mjs.map +1 -1
- package/components/data/table/package.json +0 -3
- package/components/data/table/table-column/table-column.directive.d.ts +1 -1
- package/components/data/table/table.component.d.ts +3 -0
- package/components/dialogs/alert-dialog/bundles/index.umd.js +50 -79
- package/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +32 -62
- package/components/dialogs/alert-dialog/fesm2022/index.mjs +32 -61
- package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/alert-dialog/package.json +0 -3
- package/components/dialogs/confirm-dialog/bundles/index.umd.js +36 -72
- package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +34 -71
- package/components/dialogs/confirm-dialog/fesm2022/index.mjs +35 -71
- package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/confirm-dialog/package.json +0 -3
- package/components/dialogs/default/bundles/index.umd.js +85 -232
- package/components/dialogs/default/esm2022/base-dialog.mjs +14 -14
- package/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +16 -18
- package/components/dialogs/default/esm2022/dialog-footer/dialog-footer.directive.mjs +20 -20
- package/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +34 -179
- package/components/dialogs/default/fesm2022/index.mjs +80 -227
- package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/default/package.json +0 -3
- package/components/dialogs/design-dialog/bundles/index.umd.js +52 -108
- package/components/dialogs/design-dialog/esm2022/dialog.component.mjs +50 -107
- package/components/dialogs/design-dialog/fesm2022/index.mjs +51 -107
- package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/design-dialog/package.json +0 -3
- package/components/dialogs/iframe-dialog/bundles/index.umd.js +33 -81
- package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +32 -82
- package/components/dialogs/iframe-dialog/fesm2022/index.mjs +33 -82
- package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/iframe-dialog/package.json +0 -3
- package/components/dialogs/login-dialog/bundles/index.umd.js +22 -29
- package/components/dialogs/login-dialog/esm2022/login-dialog.directive.mjs +23 -30
- package/components/dialogs/login-dialog/fesm2022/index.mjs +23 -30
- package/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/login-dialog/package.json +0 -3
- package/components/dialogs/partial-dialog/bundles/index.umd.js +39 -85
- package/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +38 -85
- package/components/dialogs/partial-dialog/fesm2022/index.mjs +39 -85
- package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/partial-dialog/package.json +0 -3
- package/components/input/base-form/.npmignore +2 -0
- package/components/input/base-form/bundles/index.umd.js +133 -0
- package/components/input/base-form/esm2022/base-form.component.mjs +110 -0
- package/components/input/base-form/esm2022/index.mjs +5 -0
- package/components/input/base-form/esm2022/public_api.mjs +2 -0
- package/components/input/base-form/fesm2022/index.mjs +117 -0
- package/components/input/base-form/fesm2022/index.mjs.map +1 -0
- package/components/input/base-form/index.d.ts +5 -0
- package/components/input/base-form/package.json +20 -0
- package/components/input/base-form/public_api.d.ts +1 -0
- package/components/input/base-form-custom/.npmignore +2 -0
- package/components/input/{default → base-form-custom}/base-form-custom.component.d.ts +1 -1
- package/components/input/base-form-custom/bundles/index.umd.js +118 -0
- package/components/input/base-form-custom/esm2022/base-form-custom.component.mjs +94 -0
- package/components/input/base-form-custom/esm2022/index.mjs +5 -0
- package/components/input/base-form-custom/esm2022/public_api.mjs +2 -0
- package/components/input/base-form-custom/fesm2022/index.mjs +101 -0
- package/components/input/base-form-custom/fesm2022/index.mjs.map +1 -0
- package/components/input/base-form-custom/index.d.ts +5 -0
- package/components/input/base-form-custom/package.json +20 -0
- package/components/input/base-form-custom/public_api.d.ts +1 -0
- package/components/input/button/.npmignore +2 -0
- package/components/input/button/bundles/index.umd.js +98 -0
- package/components/input/button/esm2022/button.component.mjs +50 -0
- package/components/input/button/esm2022/button.props.mjs +26 -0
- package/components/input/button/esm2022/index.mjs +5 -0
- package/components/input/button/esm2022/public_api.mjs +2 -0
- package/components/input/button/fesm2022/index.mjs +81 -0
- package/components/input/button/fesm2022/index.mjs.map +1 -0
- package/components/input/button/index.d.ts +5 -0
- package/components/input/button/package.json +20 -0
- package/components/input/button/public_api.d.ts +1 -0
- package/components/input/button-group/.npmignore +2 -0
- package/components/input/button-group/bundles/index.umd.js +80 -0
- package/components/input/button-group/esm2022/button-group.directive.mjs +47 -0
- package/components/input/button-group/esm2022/button-group.props.mjs +10 -0
- package/components/input/button-group/esm2022/index.mjs +5 -0
- package/components/input/button-group/esm2022/public_api.mjs +2 -0
- package/components/input/button-group/fesm2022/index.mjs +62 -0
- package/components/input/button-group/fesm2022/index.mjs.map +1 -0
- package/components/input/button-group/index.d.ts +5 -0
- package/components/input/button-group/package.json +20 -0
- package/components/input/button-group/public_api.d.ts +1 -0
- package/components/input/calendar/bundles/index.umd.js +25 -38
- package/components/input/calendar/esm2022/calendar.component.mjs +22 -36
- package/components/input/calendar/fesm2022/index.mjs +23 -36
- package/components/input/calendar/fesm2022/index.mjs.map +1 -1
- package/components/input/calendar/package.json +0 -3
- package/components/input/caption-position/.npmignore +2 -0
- package/components/input/caption-position/bundles/index.umd.js +196 -0
- package/components/input/caption-position/esm2022/caption-position.directive.mjs +172 -0
- package/components/input/caption-position/esm2022/index.mjs +5 -0
- package/components/input/caption-position/esm2022/public_api.mjs +2 -0
- package/components/input/caption-position/fesm2022/index.mjs +178 -0
- package/components/input/caption-position/fesm2022/index.mjs.map +1 -0
- package/components/input/caption-position/index.d.ts +5 -0
- package/components/input/caption-position/package.json +20 -0
- package/components/input/caption-position/public_api.d.ts +1 -0
- package/components/input/checkbox/.npmignore +2 -0
- package/components/input/checkbox/bundles/index.umd.js +190 -0
- package/components/input/{default/checkbox → checkbox}/checkbox.component.d.ts +1 -1
- package/components/input/checkbox/esm2022/checkbox.component.mjs +145 -0
- package/components/input/checkbox/esm2022/checkbox.props.mjs +27 -0
- package/components/{basic/progress → input/checkbox}/esm2022/index.mjs +1 -1
- package/components/input/checkbox/esm2022/public_api.mjs +2 -0
- package/components/input/checkbox/fesm2022/index.mjs +175 -0
- package/components/input/checkbox/fesm2022/index.mjs.map +1 -0
- package/components/input/checkbox/index.d.ts +5 -0
- package/components/input/checkbox/package.json +20 -0
- package/components/input/checkbox/public_api.d.ts +1 -0
- package/components/input/checkboxset/.npmignore +2 -0
- package/components/input/checkboxset/bundles/index.umd.js +151 -0
- package/components/input/{default/checkboxset → checkboxset}/checkboxset.component.d.ts +1 -1
- package/components/input/checkboxset/esm2022/checkboxset.component.mjs +99 -0
- package/components/input/checkboxset/esm2022/checkboxset.props.mjs +35 -0
- package/components/input/checkboxset/esm2022/index.mjs +5 -0
- package/components/input/checkboxset/esm2022/public_api.mjs +2 -0
- package/components/input/checkboxset/fesm2022/index.mjs +138 -0
- package/components/input/checkboxset/fesm2022/index.mjs.map +1 -0
- package/components/input/checkboxset/index.d.ts +5 -0
- package/components/input/checkboxset/package.json +20 -0
- package/components/input/checkboxset/public_api.d.ts +1 -0
- package/components/input/chips/bundles/index.umd.js +94 -153
- package/components/input/chips/chips.component.d.ts +1 -1
- package/components/input/chips/esm2022/chips.component.mjs +41 -101
- package/components/input/chips/fesm2022/index.mjs +42 -101
- package/components/input/chips/fesm2022/index.mjs.map +1 -1
- package/components/input/chips/package.json +0 -3
- package/components/input/color-picker/bundles/index.umd.js +35 -74
- package/components/input/color-picker/color-picker.component.d.ts +2 -2
- package/components/input/color-picker/esm2022/color-picker.component.mjs +34 -75
- package/components/input/color-picker/fesm2022/index.mjs +36 -75
- package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
- package/components/input/color-picker/package.json +0 -3
- package/components/input/composite/.npmignore +2 -0
- package/components/input/composite/bundles/index.umd.js +111 -0
- package/components/input/composite/esm2022/composite.directive.mjs +79 -0
- package/components/input/composite/esm2022/composite.props.mjs +10 -0
- package/components/input/composite/esm2022/index.mjs +5 -0
- package/components/input/composite/esm2022/public_api.mjs +2 -0
- package/components/input/composite/fesm2022/index.mjs +94 -0
- package/components/input/composite/fesm2022/index.mjs.map +1 -0
- package/components/input/composite/index.d.ts +5 -0
- package/components/input/composite/package.json +20 -0
- package/components/input/composite/public_api.d.ts +1 -0
- package/components/input/currency/bundles/index.umd.js +31 -52
- package/components/input/currency/currency.component.d.ts +1 -1
- package/components/input/currency/esm2022/currency.component.mjs +28 -50
- package/components/input/currency/fesm2022/index.mjs +30 -51
- package/components/input/currency/fesm2022/index.mjs.map +1 -1
- package/components/input/currency/package.json +0 -3
- package/components/input/dataset-aware-form/.npmignore +2 -0
- package/components/input/dataset-aware-form/bundles/index.umd.js +328 -0
- package/components/input/{default → dataset-aware-form}/dataset-aware-form.component.d.ts +1 -1
- package/components/input/dataset-aware-form/esm2022/dataset-aware-form.component.mjs +307 -0
- package/components/input/dataset-aware-form/esm2022/index.mjs +5 -0
- package/components/input/dataset-aware-form/esm2022/public_api.mjs +2 -0
- package/components/input/dataset-aware-form/fesm2022/index.mjs +314 -0
- package/components/input/dataset-aware-form/fesm2022/index.mjs.map +1 -0
- package/components/input/dataset-aware-form/index.d.ts +5 -0
- package/components/input/dataset-aware-form/package.json +20 -0
- package/components/input/dataset-aware-form/public_api.d.ts +1 -0
- package/components/input/epoch/base-date-time/.npmignore +2 -0
- package/components/input/epoch/{base-date-time.component.d.ts → base-date-time/base-date-time.component.d.ts} +1 -1
- package/components/input/epoch/base-date-time/bundles/index.umd.js +1086 -0
- package/components/input/epoch/{esm2022 → base-date-time/esm2022}/base-date-time.component.mjs +22 -31
- package/components/input/epoch/base-date-time/esm2022/index.mjs +5 -0
- package/components/input/epoch/base-date-time/esm2022/public_api.mjs +2 -0
- package/components/input/epoch/base-date-time/fesm2022/index.mjs +1077 -0
- package/components/input/epoch/base-date-time/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/base-date-time/index.d.ts +5 -0
- package/components/input/epoch/base-date-time/package.json +20 -0
- package/components/input/epoch/base-date-time/public_api.d.ts +1 -0
- package/components/input/epoch/date/.npmignore +2 -0
- package/components/input/epoch/date/bundles/index.umd.js +492 -0
- package/components/input/epoch/date/date.component.d.ts +2 -2
- package/components/input/epoch/date/esm2022/date.component.mjs +322 -0
- package/components/input/epoch/{esm2022/date → date/esm2022}/date.props.mjs +1 -1
- package/components/input/epoch/{esm2022/date → date/esm2022}/imaskUtil.mjs +1 -1
- package/components/input/epoch/date/esm2022/index.mjs +5 -0
- package/components/input/epoch/date/esm2022/public_api.mjs +2 -0
- package/components/input/epoch/date/fesm2022/index.mjs +482 -0
- package/components/input/epoch/date/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/date/index.d.ts +5 -0
- package/components/input/epoch/date/package.json +20 -0
- package/components/input/epoch/date/public_api.d.ts +1 -0
- package/components/input/epoch/date-time/.npmignore +2 -0
- package/components/input/epoch/date-time/bundles/index.umd.js +518 -0
- package/components/input/epoch/date-time/date-time.component.d.ts +1 -1
- package/components/input/epoch/date-time/esm2022/date-time.component.mjs +458 -0
- package/components/input/epoch/{esm2022/date-time → date-time/esm2022}/date-time.props.mjs +1 -1
- package/components/input/epoch/date-time/esm2022/index.mjs +5 -0
- package/components/input/epoch/date-time/esm2022/public_api.mjs +2 -0
- package/components/input/epoch/date-time/fesm2022/index.mjs +509 -0
- package/components/input/epoch/date-time/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/date-time/index.d.ts +5 -0
- package/components/input/epoch/date-time/package.json +20 -0
- package/components/input/epoch/date-time/public_api.d.ts +1 -0
- package/components/input/epoch/date-time-picker/.npmignore +2 -0
- package/components/input/epoch/date-time-picker/bundles/index.umd.js +453 -0
- package/components/input/epoch/date-time-picker/esm2022/date-time-picker.component.mjs +433 -0
- package/components/input/epoch/date-time-picker/esm2022/index.mjs +5 -0
- package/components/input/epoch/date-time-picker/esm2022/public_api.mjs +2 -0
- package/components/input/epoch/date-time-picker/fesm2022/index.mjs +439 -0
- package/components/input/epoch/date-time-picker/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/date-time-picker/index.d.ts +5 -0
- package/components/input/epoch/date-time-picker/package.json +20 -0
- package/components/input/epoch/date-time-picker/public_api.d.ts +1 -0
- package/components/input/epoch/picker/.npmignore +2 -0
- package/components/input/epoch/picker/bundles/index.umd.js +192 -0
- package/components/input/epoch/picker/esm2022/index.mjs +5 -0
- package/components/input/epoch/picker/esm2022/picker.component.mjs +165 -0
- package/components/input/epoch/picker/esm2022/public_api.mjs +3 -0
- package/components/input/epoch/picker/fesm2022/index.mjs +172 -0
- package/components/input/epoch/picker/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/picker/index.d.ts +5 -0
- package/components/input/epoch/picker/package.json +20 -0
- package/components/input/epoch/picker/public_api.d.ts +2 -0
- package/components/input/epoch/time/.npmignore +2 -0
- package/components/input/epoch/time/bundles/index.umd.js +397 -0
- package/components/input/epoch/time/esm2022/index.mjs +5 -0
- package/components/input/epoch/time/esm2022/public_api.mjs +2 -0
- package/components/input/epoch/time/esm2022/time.component.mjs +348 -0
- package/components/input/epoch/{esm2022/time → time/esm2022}/time.props.mjs +1 -1
- package/components/input/epoch/time/fesm2022/index.mjs +387 -0
- package/components/input/epoch/time/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/time/index.d.ts +5 -0
- package/components/input/epoch/time/package.json +20 -0
- package/components/input/epoch/time/public_api.d.ts +1 -0
- package/components/input/epoch/time/time.component.d.ts +1 -1
- package/components/input/file-upload/bundles/index.umd.js +56 -348
- package/components/input/file-upload/esm2022/file-upload.component.mjs +20 -313
- package/components/input/file-upload/fesm2022/index.mjs +20 -312
- package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
- package/components/input/file-upload/package.json +0 -3
- package/components/input/number/.npmignore +2 -0
- package/components/input/number/bundles/index.umd.js +101 -0
- package/components/input/number/esm2022/index.mjs +5 -0
- package/components/input/number/esm2022/number.component.mjs +49 -0
- package/components/input/number/esm2022/number.props.mjs +35 -0
- package/components/input/number/esm2022/public_api.mjs +2 -0
- package/components/input/number/fesm2022/index.mjs +87 -0
- package/components/input/number/fesm2022/index.mjs.map +1 -0
- package/components/input/number/index.d.ts +5 -0
- package/components/input/{default/number → number}/number.component.d.ts +1 -1
- package/components/input/number/package.json +20 -0
- package/components/input/number/public_api.d.ts +1 -0
- package/components/input/radioset/.npmignore +2 -0
- package/components/input/radioset/bundles/index.umd.js +136 -0
- package/components/input/radioset/esm2022/index.mjs +5 -0
- package/components/input/radioset/esm2022/public_api.mjs +2 -0
- package/components/input/radioset/esm2022/radioset.component.mjs +84 -0
- package/components/input/radioset/esm2022/radioset.props.mjs +35 -0
- package/components/input/radioset/fesm2022/index.mjs +123 -0
- package/components/input/radioset/fesm2022/index.mjs.map +1 -0
- package/components/input/radioset/index.d.ts +5 -0
- package/components/input/radioset/package.json +20 -0
- package/components/input/radioset/public_api.d.ts +1 -0
- package/components/input/{default/radioset → radioset}/radioset.component.d.ts +1 -1
- package/components/input/rating/bundles/index.umd.js +49 -103
- package/components/input/rating/esm2022/rating.component.mjs +24 -79
- package/components/input/rating/fesm2022/index.mjs +25 -79
- package/components/input/rating/fesm2022/index.mjs.map +1 -1
- package/components/input/rating/package.json +0 -3
- package/components/input/rating/rating.component.d.ts +1 -1
- package/components/input/select/.npmignore +2 -0
- package/components/input/select/bundles/index.umd.js +219 -0
- package/components/input/select/esm2022/index.mjs +5 -0
- package/components/input/select/esm2022/public_api.mjs +2 -0
- package/components/input/select/esm2022/select.component.mjs +166 -0
- package/components/input/select/esm2022/select.props.mjs +36 -0
- package/components/input/select/fesm2022/index.mjs +205 -0
- package/components/input/select/fesm2022/index.mjs.map +1 -0
- package/components/input/select/index.d.ts +5 -0
- package/components/input/select/package.json +20 -0
- package/components/input/select/public_api.d.ts +1 -0
- package/components/input/{default/select → select}/select.component.d.ts +1 -1
- package/components/input/slider/bundles/index.umd.js +44 -111
- package/components/input/slider/esm2022/slider.component.mjs +25 -95
- package/components/input/slider/esm2022/slider.props.mjs +1 -1
- package/components/input/slider/fesm2022/index.mjs +25 -93
- package/components/input/slider/fesm2022/index.mjs.map +1 -1
- package/components/input/slider/package.json +0 -3
- package/components/input/slider/slider.component.d.ts +2 -2
- package/components/input/switch/.npmignore +2 -0
- package/components/input/switch/bundles/index.umd.js +204 -0
- package/components/input/switch/esm2022/index.mjs +5 -0
- package/components/input/switch/esm2022/public_api.mjs +2 -0
- package/components/input/switch/esm2022/switch.component.mjs +159 -0
- package/components/input/switch/esm2022/switch.props.mjs +28 -0
- package/components/input/switch/fesm2022/index.mjs +191 -0
- package/components/input/switch/fesm2022/index.mjs.map +1 -0
- package/components/input/switch/index.d.ts +5 -0
- package/components/input/switch/package.json +20 -0
- package/components/input/switch/public_api.d.ts +1 -0
- package/components/input/{default/switch → switch}/switch.component.d.ts +1 -1
- package/components/input/text/.npmignore +2 -0
- package/components/input/{default/text/base → text/base-input}/base-input.d.ts +1 -1
- package/components/input/text/bundles/index.umd.js +1070 -0
- package/components/input/text/esm2022/base-input/base-input.mjs +93 -0
- package/components/input/text/esm2022/index.mjs +5 -0
- package/components/input/text/esm2022/input-calendar/input-calendar.component.mjs +46 -0
- package/components/input/text/esm2022/input-calendar/input-calendar.props.mjs +30 -0
- package/components/input/text/esm2022/input-color/input-color.component.mjs +46 -0
- package/components/input/text/esm2022/input-color/input-color.props.mjs +27 -0
- package/components/input/text/esm2022/input-email/input-email.component.mjs +46 -0
- package/components/input/text/esm2022/input-email/input-email.props.mjs +29 -0
- package/components/input/text/esm2022/input-number/input-number.component.mjs +56 -0
- package/components/input/text/esm2022/input-number/input-number.props.mjs +32 -0
- package/components/input/text/esm2022/input-text/input-text.component.mjs +121 -0
- package/components/input/text/esm2022/input-text/input-text.props.mjs +46 -0
- package/components/input/text/esm2022/number-locale/number-locale.mjs +539 -0
- package/components/input/text/esm2022/public_api.mjs +8 -0
- package/components/input/text/fesm2022/index.mjs +1054 -0
- package/components/input/text/fesm2022/index.mjs.map +1 -0
- package/components/input/text/index.d.ts +5 -0
- package/components/input/{default/text/calendar → text/input-calendar}/input-calendar.component.d.ts +1 -1
- package/components/input/{default/text/color → text/input-color}/input-color.component.d.ts +1 -1
- package/components/input/{default/text/email → text/input-email}/input-email.component.d.ts +1 -1
- package/components/input/{default/text/number → text/input-number}/input-number.component.d.ts +1 -1
- package/components/input/{default/text/text → text/input-text}/input-text.component.d.ts +1 -1
- package/components/input/{default/text/locale → text/number-locale}/number-locale.d.ts +1 -1
- package/components/input/text/package.json +20 -0
- package/components/input/text/public_api.d.ts +7 -0
- package/components/input/textarea/.npmignore +2 -0
- package/components/input/textarea/bundles/index.umd.js +101 -0
- package/components/input/textarea/esm2022/index.mjs +5 -0
- package/components/input/textarea/esm2022/public_api.mjs +2 -0
- package/components/input/textarea/esm2022/textarea.component.mjs +53 -0
- package/components/input/textarea/esm2022/textarea.props.mjs +30 -0
- package/components/input/textarea/fesm2022/index.mjs +87 -0
- package/components/input/textarea/fesm2022/index.mjs.map +1 -0
- package/components/input/textarea/index.d.ts +5 -0
- package/components/input/textarea/package.json +20 -0
- package/components/input/textarea/public_api.d.ts +1 -0
- package/components/input/{default/textarea → textarea}/textarea.component.d.ts +1 -1
- package/components/navigation/breadcrumb/bundles/index.umd.js +37 -79
- package/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +20 -64
- package/components/navigation/breadcrumb/fesm2022/index.mjs +21 -64
- package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
- package/components/navigation/breadcrumb/package.json +0 -3
- package/components/navigation/menu/bundles/index.umd.js +247 -442
- package/components/navigation/menu/esm2022/menu-adapator.component.mjs +14 -19
- package/components/navigation/menu/esm2022/menu-dropdown/menu-dropdown.component.mjs +13 -29
- package/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +43 -100
- package/components/navigation/menu/esm2022/menu.component.mjs +53 -104
- package/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +30 -37
- package/components/navigation/menu/esm2022/nav/nav.component.mjs +20 -88
- package/components/navigation/menu/esm2022/nav/navigation-control.directive.mjs +14 -14
- package/components/navigation/menu/fesm2022/index.mjs +174 -369
- package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
- package/components/navigation/menu/menu-dropdown/menu-dropdown.component.d.ts +2 -3
- package/components/navigation/menu/menu-dropdown-item/menu-dropdown-item.component.d.ts +3 -3
- package/components/navigation/menu/package.json +0 -3
- package/components/navigation/navbar/bundles/index.umd.js +32 -83
- package/components/navigation/navbar/esm2022/navbar.component.mjs +20 -72
- package/components/navigation/navbar/fesm2022/index.mjs +20 -71
- package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
- package/components/navigation/navbar/package.json +0 -3
- package/components/navigation/popover/bundles/index.umd.js +31 -59
- package/components/navigation/popover/esm2022/popover.component.mjs +29 -58
- package/components/navigation/popover/fesm2022/index.mjs +31 -59
- package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
- package/components/navigation/popover/package.json +0 -3
- package/components/page/default/bundles/index.umd.js +109 -123
- package/components/page/default/esm2022/content/content.component.mjs +16 -25
- package/components/page/default/esm2022/layout.directive.mjs +21 -21
- package/components/page/default/esm2022/page-content/page-content.component.mjs +16 -23
- package/components/page/default/esm2022/page.directive.mjs +21 -21
- package/components/page/default/esm2022/router-outlet.directive.mjs +20 -20
- package/components/page/default/esm2022/spa-page.directive.mjs +21 -21
- package/components/page/default/fesm2022/index.mjs +111 -125
- package/components/page/default/fesm2022/index.mjs.map +1 -1
- package/components/page/default/package.json +0 -3
- package/components/page/footer/bundles/index.umd.js +20 -20
- package/components/page/footer/esm2022/footer.directive.mjs +21 -21
- package/components/page/footer/fesm2022/index.mjs +21 -21
- package/components/page/footer/fesm2022/index.mjs.map +1 -1
- package/components/page/footer/package.json +0 -3
- package/components/page/header/bundles/index.umd.js +19 -26
- package/components/page/header/esm2022/header.component.mjs +16 -24
- package/components/page/header/fesm2022/index.mjs +17 -24
- package/components/page/header/fesm2022/index.mjs.map +1 -1
- package/components/page/header/package.json +0 -3
- package/components/page/left-panel/bundles/index.umd.js +30 -30
- package/components/page/left-panel/esm2022/left-panel.directive.mjs +31 -31
- package/components/page/left-panel/fesm2022/index.mjs +31 -31
- package/components/page/left-panel/fesm2022/index.mjs.map +1 -1
- package/components/page/left-panel/package.json +0 -3
- package/components/page/right-panel/bundles/index.umd.js +23 -23
- package/components/page/right-panel/esm2022/right-panel.directive.mjs +24 -24
- package/components/page/right-panel/fesm2022/index.mjs +24 -24
- package/components/page/right-panel/fesm2022/index.mjs.map +1 -1
- package/components/page/right-panel/package.json +0 -3
- package/components/page/top-nav/bundles/index.umd.js +20 -20
- package/components/page/top-nav/esm2022/top-nav.directive.mjs +21 -21
- package/components/page/top-nav/fesm2022/index.mjs +21 -21
- package/components/page/top-nav/fesm2022/index.mjs.map +1 -1
- package/components/page/top-nav/package.json +0 -3
- package/components/prefab/bundles/index.umd.js +41 -41
- package/components/prefab/esm2022/prefab-container/prefab-container.directive.mjs +20 -20
- package/components/prefab/esm2022/prefab.directive.mjs +23 -23
- package/components/prefab/fesm2022/index.mjs +42 -42
- package/components/prefab/fesm2022/index.mjs.map +1 -1
- package/components/prefab/package.json +0 -3
- package/core/bundles/index.umd.js +80 -61
- package/core/esm2022/services/constant.service.mjs +7 -7
- package/core/esm2022/services/custom-icons-loader.service.mjs +7 -7
- package/core/esm2022/services/field-type.service.mjs +7 -7
- package/core/esm2022/services/field-widget.service.mjs +7 -7
- package/core/esm2022/services/pagination.service.mjs +7 -7
- package/core/esm2022/services/script-loader.service.mjs +7 -7
- package/core/esm2022/services/state-persistence.service.mjs +7 -7
- package/core/esm2022/services/user-custom-pipe-manager.service.mjs +7 -7
- package/core/esm2022/services/utils.service.mjs +7 -7
- package/core/esm2022/services/viewport.service.mjs +7 -7
- package/core/esm2022/types/types.mjs +1 -1
- package/core/esm2022/utils/build-utils.mjs +21 -2
- package/core/fesm2022/index.mjs +80 -61
- package/core/fesm2022/index.mjs.map +1 -1
- package/core/package.json +3 -6
- package/core/types/types.d.ts +2 -1
- package/http/bundles/index.umd.js +8 -8
- package/http/esm2022/http.service.mjs +9 -9
- package/http/fesm2022/index.mjs +8 -8
- package/http/fesm2022/index.mjs.map +1 -1
- package/http/package.json +2 -5
- package/locales/moment/ar-dz.js +8 -8
- package/locales/moment/ar-ly.js +8 -8
- package/locales/moment/ar-ps.js +123 -0
- package/locales/moment/ar.js +8 -8
- package/locales/moment/be.js +2 -2
- package/locales/moment/bs.js +14 -4
- package/locales/moment/ca.js +6 -6
- package/locales/moment/cs.js +5 -4
- package/locales/moment/cv.js +2 -2
- package/locales/moment/en-au.js +6 -6
- package/locales/moment/en-ca.js +6 -6
- package/locales/moment/en-gb.js +6 -6
- package/locales/moment/en-ie.js +6 -6
- package/locales/moment/en-il.js +6 -6
- package/locales/moment/en-in.js +6 -6
- package/locales/moment/en-nz.js +6 -6
- package/locales/moment/en-sg.js +6 -6
- package/locales/moment/it.js +4 -4
- package/locales/moment/ku-kmr.js +125 -0
- package/locales/moment/lt.js +2 -2
- package/locales/moment/me.js +2 -2
- package/locales/moment/nb.js +4 -4
- package/locales/moment/nl-be.js +1 -1
- package/locales/moment/nl.js +1 -1
- package/locales/moment/oc-lnc.js +6 -6
- package/locales/moment/ru.js +2 -2
- package/locales/moment/sv.js +6 -6
- package/locales/moment/tet.js +6 -6
- package/locales/moment/tlh.js +8 -8
- package/locales/moment/tzl.js +2 -2
- package/locales/moment/uk.js +4 -4
- package/locales/moment/x-pseudo.js +6 -6
- package/locales/moment-timezone/moment-timezone-with-data.js +2 -2
- package/npm-shrinkwrap.json +2 -2
- package/oAuth/bundles/index.umd.js +5 -5
- package/oAuth/esm2022/oAuth.service.mjs +6 -6
- package/oAuth/fesm2022/index.mjs +5 -5
- package/oAuth/fesm2022/index.mjs.map +1 -1
- package/oAuth/package.json +2 -5
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/runtime/base/bundles/index.umd.js +3162 -3100
- package/runtime/base/components/empty-component/empty-page.component.d.ts +1 -0
- package/runtime/base/esm2022/components/app-component/app.component.mjs +14 -95
- package/runtime/base/esm2022/components/app-spinner.component.mjs +34 -45
- package/runtime/base/esm2022/components/base-custom-widget.component.mjs +8 -7
- package/runtime/base/esm2022/components/base-layout.component.mjs +14 -21
- package/runtime/base/esm2022/components/base-page.component.mjs +12 -19
- package/runtime/base/esm2022/components/base-partial.component.mjs +9 -14
- package/runtime/base/esm2022/components/base-prefab.component.mjs +9 -14
- package/runtime/base/esm2022/components/base-spa-page.component.mjs +12 -19
- package/runtime/base/esm2022/components/custom-toaster.component.mjs +30 -52
- package/runtime/base/esm2022/components/empty-component/empty-page.component.mjs +33 -15
- package/runtime/base/esm2022/components/prefab-preview.component.mjs +19 -26
- package/runtime/base/esm2022/directives/accessroles.directive.mjs +17 -17
- package/runtime/base/esm2022/directives/prefab.directive.mjs +15 -15
- package/runtime/base/esm2022/guards/auth.guard.mjs +6 -6
- package/runtime/base/esm2022/guards/can-deactivate-page.guard.mjs +11 -11
- package/runtime/base/esm2022/guards/page-not-found.guard.mjs +6 -6
- package/runtime/base/esm2022/guards/role.guard.mjs +6 -6
- package/runtime/base/esm2022/overrides/wm_dom_renderer.mjs +12 -12
- package/runtime/base/esm2022/overrides/wm_shared_styles_host.mjs +14 -14
- package/runtime/base/esm2022/public_api.mjs +5 -2
- package/runtime/base/esm2022/resolves/app-before-load.resolve.mjs +22 -0
- package/runtime/base/esm2022/resolves/app-extension.resolve.mjs +6 -6
- package/runtime/base/esm2022/resolves/app-js.resolve.mjs +6 -6
- package/runtime/base/esm2022/resolves/app-variables.resolve.mjs +9 -9
- package/runtime/base/esm2022/resolves/i18n.resolve.mjs +6 -6
- package/runtime/base/esm2022/resolves/metadata.resolve.mjs +9 -9
- package/runtime/base/esm2022/resolves/security-config.resolve.mjs +9 -9
- package/runtime/base/esm2022/runtime-base.module.mjs +457 -316
- package/runtime/base/esm2022/services/app-defaults.service.mjs +6 -6
- package/runtime/base/esm2022/services/app.manager.service.mjs +25 -9
- package/runtime/base/esm2022/services/app.service.mjs +39 -18
- package/runtime/base/esm2022/services/dynamic-component-ref-provider.service.mjs +6 -6
- package/runtime/base/esm2022/services/http-interceptor.services.mjs +6 -6
- package/runtime/base/esm2022/services/i18n.service.mjs +37 -34
- package/runtime/base/esm2022/services/navigation.service.mjs +6 -6
- package/runtime/base/esm2022/services/pipe-provider.service.mjs +13 -13
- package/runtime/base/esm2022/services/pipe.service.mjs +10 -8
- package/runtime/base/esm2022/services/prefab-manager.service.mjs +6 -6
- package/runtime/base/esm2022/services/spinner.service.mjs +6 -6
- package/runtime/base/esm2022/services/toaster.service.mjs +6 -6
- package/runtime/base/esm2022/util/fragment-monitor.mjs +6 -6
- package/runtime/base/esm2022/util/utils.mjs +15 -1
- package/runtime/base/esm2022/util/wm-route-reuse-strategy.mjs +1 -1
- package/runtime/base/fesm2022/index.mjs +3145 -3071
- package/runtime/base/fesm2022/index.mjs.map +1 -1
- package/runtime/base/package.json +2 -5
- package/runtime/base/public_api.d.ts +4 -1
- package/runtime/base/resolves/app-before-load.resolve.d.ts +11 -0
- package/runtime/base/runtime-base.module.d.ts +96 -59
- package/runtime/base/services/app.manager.service.d.ts +2 -1
- package/runtime/base/services/app.service.d.ts +3 -2
- package/runtime/base/services/i18n.service.d.ts +2 -1
- package/runtime/base/util/utils.d.ts +2 -1
- package/runtime/dynamic/app/app.config.d.ts +1 -1
- package/runtime/dynamic/app/services/app-variables-provider.service.d.ts +3 -1
- package/runtime/dynamic/bundles/index.umd.js +145 -114
- package/runtime/dynamic/esm2022/app/app.config.mjs +11 -10
- package/runtime/dynamic/esm2022/app/app.module.mjs +35 -5
- package/runtime/dynamic/esm2022/app/app.routes.mjs +2 -11
- package/runtime/dynamic/esm2022/app/components/page-wrapper.component.mjs +11 -16
- package/runtime/dynamic/esm2022/app/services/app-extension.service.mjs +9 -9
- package/runtime/dynamic/esm2022/app/services/app-js-provider.service.mjs +9 -9
- package/runtime/dynamic/esm2022/app/services/app-resource-manager.service.mjs +6 -6
- package/runtime/dynamic/esm2022/app/services/app-variables-provider.service.mjs +15 -11
- package/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +57 -8
- package/runtime/dynamic/esm2022/app/services/customwidget-config-provider.service.mjs +6 -6
- package/runtime/dynamic/esm2022/app/services/prefab-config-provider.service.mjs +6 -6
- package/runtime/dynamic/fesm2022/index.mjs +143 -88
- package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
- package/runtime/dynamic/package.json +2 -5
- package/scripts/datatable/datatable.js +26 -5
- package/scripts/jquery-ui/ui/widgets/droppable.js +3 -3
- package/scripts/jquery-ui/ui/widgets/resizable.js +72 -19
- package/scripts/jquery-ui/ui/widgets/sortable.js +9 -16
- package/security/bundles/index.umd.js +5 -5
- package/security/esm2022/security.service.mjs +6 -6
- package/security/fesm2022/index.mjs +5 -5
- package/security/fesm2022/index.mjs.map +1 -1
- package/security/package.json +2 -5
- package/swipey/fesm2022/index.mjs.map +1 -1
- package/swipey/package.json +2 -5
- package/transpiler/build.d.ts +1 -1
- package/transpiler/bundles/index.umd.js +94 -56
- package/transpiler/esm2022/build.mjs +5 -2
- package/transpiler/esm2022/imports.mjs +92 -57
- package/transpiler/fesm2022/index.mjs +94 -56
- package/transpiler/fesm2022/index.mjs.map +1 -1
- package/transpiler/package.json +3 -6
- package/variables/bundles/index.umd.js +20 -10
- package/variables/constants/variables.constants.d.ts +9 -0
- package/variables/esm2022/constants/variables.constants.mjs +10 -1
- package/variables/esm2022/service/metadata-service/metadata.service.mjs +6 -6
- package/variables/esm2022/service/variables.service.mjs +6 -6
- package/variables/fesm2022/index.mjs +20 -11
- package/variables/fesm2022/index.mjs.map +1 -1
- package/variables/package.json +2 -5
- package/variables/service/variables.service.d.ts +1 -1
- package/build-task/esm2022/basic/default/anchor/anchor.build.mjs +0 -15
- package/build-task/esm2022/basic/default/audio/audio.build.mjs +0 -10
- package/build-task/esm2022/basic/default/html/html.build.mjs +0 -15
- package/build-task/esm2022/basic/default/icon/icon.build.mjs +0 -10
- package/build-task/esm2022/basic/default/iframe/iframe.build.mjs +0 -10
- package/build-task/esm2022/basic/default/label/label.build.mjs +0 -25
- package/build-task/esm2022/basic/default/picture/picture.build.mjs +0 -14
- package/build-task/esm2022/basic/default/spinner/spinner.build.mjs +0 -15
- package/build-task/esm2022/basic/default/video/video.build.mjs +0 -10
- package/components/base/components.module.d.ts +0 -25
- package/components/base/esm2022/components.module.mjs +0 -152
- package/components/basic/default/bundles/index.umd.js +0 -1036
- package/components/basic/default/esm2022/anchor/anchor.component.mjs +0 -198
- package/components/basic/default/esm2022/anchor/anchor.props.mjs +0 -27
- package/components/basic/default/esm2022/audio/audio.component.mjs +0 -59
- package/components/basic/default/esm2022/audio/audio.props.mjs +0 -19
- package/components/basic/default/esm2022/html/html.directive.mjs +0 -76
- package/components/basic/default/esm2022/html/html.props.mjs +0 -12
- package/components/basic/default/esm2022/icon/icon.component.mjs +0 -70
- package/components/basic/default/esm2022/icon/icon.props.mjs +0 -19
- package/components/basic/default/esm2022/iframe/iframe.component.mjs +0 -85
- package/components/basic/default/esm2022/iframe/iframe.props.mjs +0 -15
- package/components/basic/default/esm2022/label/label.directive.mjs +0 -71
- package/components/basic/default/esm2022/label/label.props.mjs +0 -17
- package/components/basic/default/esm2022/picture/picture.directive.mjs +0 -95
- package/components/basic/default/esm2022/picture/picture.props.mjs +0 -23
- package/components/basic/default/esm2022/public_api.mjs +0 -10
- package/components/basic/default/esm2022/spinner/spinner.component.mjs +0 -130
- package/components/basic/default/esm2022/spinner/spinner.props.mjs +0 -20
- package/components/basic/default/esm2022/video/video.component.mjs +0 -113
- package/components/basic/default/esm2022/video/video.props.mjs +0 -24
- package/components/basic/default/fesm2022/index.mjs +0 -1012
- package/components/basic/default/fesm2022/index.mjs.map +0 -1
- package/components/basic/default/public_api.d.ts +0 -9
- package/components/basic/progress/bundles/index.umd.js +0 -361
- package/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +0 -154
- package/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +0 -132
- package/components/basic/progress/esm2022/public_api.mjs +0 -3
- package/components/basic/progress/esm2022/utils.mjs +0 -25
- package/components/basic/progress/fesm2022/index.mjs +0 -344
- package/components/basic/progress/fesm2022/index.mjs.map +0 -1
- package/components/basic/progress/public_api.d.ts +0 -2
- package/components/input/default/bundles/index.umd.js +0 -3559
- package/components/input/default/esm2022/base-form-custom.component.mjs +0 -94
- package/components/input/default/esm2022/base-form.component.mjs +0 -110
- package/components/input/default/esm2022/button/button.component.mjs +0 -106
- package/components/input/default/esm2022/button/button.props.mjs +0 -26
- package/components/input/default/esm2022/button-group/button-group.directive.mjs +0 -51
- package/components/input/default/esm2022/button-group/button-group.props.mjs +0 -10
- package/components/input/default/esm2022/caption-position.directive.mjs +0 -172
- package/components/input/default/esm2022/checkbox/checkbox.component.mjs +0 -179
- package/components/input/default/esm2022/checkbox/checkbox.props.mjs +0 -27
- package/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +0 -268
- package/components/input/default/esm2022/checkboxset/checkboxset.props.mjs +0 -35
- package/components/input/default/esm2022/composite/composite.directive.mjs +0 -84
- package/components/input/default/esm2022/composite/composite.props.mjs +0 -10
- package/components/input/default/esm2022/dataset-aware-form.component.mjs +0 -307
- package/components/input/default/esm2022/number/number.component.mjs +0 -68
- package/components/input/default/esm2022/number/number.props.mjs +0 -35
- package/components/input/default/esm2022/public_api.mjs +0 -21
- package/components/input/default/esm2022/radioset/radioset.component.mjs +0 -251
- package/components/input/default/esm2022/radioset/radioset.props.mjs +0 -35
- package/components/input/default/esm2022/select/select.component.mjs +0 -230
- package/components/input/default/esm2022/select/select.props.mjs +0 -36
- package/components/input/default/esm2022/switch/switch.component.mjs +0 -227
- package/components/input/default/esm2022/switch/switch.props.mjs +0 -28
- package/components/input/default/esm2022/text/base/base-input.mjs +0 -93
- package/components/input/default/esm2022/text/calendar/input-calendar.component.mjs +0 -69
- package/components/input/default/esm2022/text/calendar/input-calendar.props.mjs +0 -30
- package/components/input/default/esm2022/text/color/input-color.component.mjs +0 -69
- package/components/input/default/esm2022/text/color/input-color.props.mjs +0 -27
- package/components/input/default/esm2022/text/email/input-email.component.mjs +0 -68
- package/components/input/default/esm2022/text/email/input-email.props.mjs +0 -29
- package/components/input/default/esm2022/text/locale/number-locale.mjs +0 -539
- package/components/input/default/esm2022/text/number/input-number.component.mjs +0 -79
- package/components/input/default/esm2022/text/number/input-number.props.mjs +0 -32
- package/components/input/default/esm2022/text/text/input-text.component.mjs +0 -145
- package/components/input/default/esm2022/text/text/input-text.props.mjs +0 -46
- package/components/input/default/esm2022/textarea/textarea.component.mjs +0 -85
- package/components/input/default/esm2022/textarea/textarea.props.mjs +0 -30
- package/components/input/default/fesm2022/index.mjs +0 -3529
- package/components/input/default/fesm2022/index.mjs.map +0 -1
- package/components/input/default/public_api.d.ts +0 -20
- package/components/input/epoch/bundles/index.umd.js +0 -3292
- package/components/input/epoch/esm2022/date/date.component.mjs +0 -376
- package/components/input/epoch/esm2022/date-time/date-time-picker.component.mjs +0 -473
- package/components/input/epoch/esm2022/date-time/date-time.component.mjs +0 -563
- package/components/input/epoch/esm2022/picker/picker.component.mjs +0 -184
- package/components/input/epoch/esm2022/public_api.mjs +0 -6
- package/components/input/epoch/esm2022/time/time.component.mjs +0 -432
- package/components/input/epoch/fesm2022/index.mjs +0 -3280
- package/components/input/epoch/fesm2022/index.mjs.map +0 -1
- package/components/input/epoch/public_api.d.ts +0 -5
- /package/build-task/basic/{default/anchor → anchor}/anchor.build.d.ts +0 -0
- /package/build-task/basic/{default/audio → audio}/audio.build.d.ts +0 -0
- /package/build-task/basic/{default/html → html}/html.build.d.ts +0 -0
- /package/build-task/basic/{default/icon → icon}/icon.build.d.ts +0 -0
- /package/build-task/basic/{default/iframe → iframe}/iframe.build.d.ts +0 -0
- /package/build-task/basic/{default/label → label}/label.build.d.ts +0 -0
- /package/build-task/basic/{default/picture → picture}/picture.build.d.ts +0 -0
- /package/build-task/basic/{default/spinner → spinner}/spinner.build.d.ts +0 -0
- /package/build-task/basic/{default/video → video}/video.build.d.ts +0 -0
- /package/components/basic/{default → anchor}/.npmignore +0 -0
- /package/components/basic/{default/anchor → anchor}/anchor.component.d.ts +0 -0
- /package/components/basic/{default/anchor → anchor}/anchor.props.d.ts +0 -0
- /package/components/basic/{progress → audio}/.npmignore +0 -0
- /package/components/basic/{default/audio → audio}/audio.component.d.ts +0 -0
- /package/components/basic/{default/audio → audio}/audio.props.d.ts +0 -0
- /package/components/{input/default → basic/html}/.npmignore +0 -0
- /package/components/basic/{default/html → html}/html.directive.d.ts +0 -0
- /package/components/basic/{default/html → html}/html.props.d.ts +0 -0
- /package/components/{input/epoch → basic/icon}/.npmignore +0 -0
- /package/components/basic/{default/icon → icon}/icon.component.d.ts +0 -0
- /package/components/basic/{default/icon → icon}/icon.props.d.ts +0 -0
- /package/components/basic/{default/iframe → iframe}/iframe.component.d.ts +0 -0
- /package/components/basic/{default/iframe → iframe}/iframe.props.d.ts +0 -0
- /package/components/basic/{default/label → label}/label.props.d.ts +0 -0
- /package/components/basic/{default/picture → picture}/picture.directive.d.ts +0 -0
- /package/components/basic/{default/picture → picture}/picture.props.d.ts +0 -0
- /package/components/basic/progress/{utils.d.ts → progress-utils/progress-utils.d.ts} +0 -0
- /package/components/basic/{default/spinner → spinner}/spinner.component.d.ts +0 -0
- /package/components/basic/{default/spinner → spinner}/spinner.props.d.ts +0 -0
- /package/components/basic/{default/video → video}/video.component.d.ts +0 -0
- /package/components/basic/{default/video → video}/video.props.d.ts +0 -0
- /package/components/input/{default → base-form}/base-form.component.d.ts +0 -0
- /package/components/input/{default/button → button}/button.component.d.ts +0 -0
- /package/components/input/{default/button → button}/button.props.d.ts +0 -0
- /package/components/input/{default/button-group → button-group}/button-group.directive.d.ts +0 -0
- /package/components/input/{default/button-group → button-group}/button-group.props.d.ts +0 -0
- /package/components/input/{default → caption-position}/caption-position.directive.d.ts +0 -0
- /package/components/input/{default/checkbox → checkbox}/checkbox.props.d.ts +0 -0
- /package/components/input/{default/checkboxset → checkboxset}/checkboxset.props.d.ts +0 -0
- /package/components/input/{default/composite → composite}/composite.directive.d.ts +0 -0
- /package/components/input/{default/composite → composite}/composite.props.d.ts +0 -0
- /package/components/input/epoch/{date-time → date-time-picker}/date-time-picker.component.d.ts +0 -0
- /package/components/input/{default/number → number}/number.props.d.ts +0 -0
- /package/components/input/{default/radioset → radioset}/radioset.props.d.ts +0 -0
- /package/components/input/{default/select → select}/select.props.d.ts +0 -0
- /package/components/input/{default/switch → switch}/switch.props.d.ts +0 -0
- /package/components/input/{default/text/calendar → text/input-calendar}/input-calendar.props.d.ts +0 -0
- /package/components/input/{default/text/color → text/input-color}/input-color.props.d.ts +0 -0
- /package/components/input/{default/text/email → text/input-email}/input-email.props.d.ts +0 -0
- /package/components/input/{default/text/number → text/input-number}/input-number.props.d.ts +0 -0
- /package/components/input/{default/text/text → text/input-text}/input-text.props.d.ts +0 -0
- /package/components/input/{default/textarea → textarea}/textarea.props.d.ts +0 -0
|
@@ -490,11 +490,11 @@ export class StatePersistence {
|
|
|
490
490
|
}
|
|
491
491
|
return response;
|
|
492
492
|
}
|
|
493
|
-
static { this.ɵfac =
|
|
494
|
-
static { this.ɵprov =
|
|
493
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StatePersistence, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
494
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StatePersistence, providedIn: 'root' }); }
|
|
495
495
|
}
|
|
496
|
-
(
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtcGVyc2lzdGVuY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL3NlcnZpY2VzL3N0YXRlLXBlcnNpc3RlbmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFDLE1BQU0sV0FBVyxDQUFDOztBQUdsRixNQUFNLE9BQU8sZ0JBQWdCO0lBRDdCO1FBRVksb0JBQWUsR0FBRyxTQUFTLENBQUM7UUFDNUIsMEJBQXFCLEdBQUcsRUFBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUMsQ0FBQztRQUN6RSxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7S0F5ZW5DO0lBdmVHOzs7T0FHRztJQUNJLGlCQUFpQixDQUFDLEdBQUc7UUFDeEIsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzVELElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDO1FBQy9CLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxhQUFhLENBQUMsVUFBZSxFQUFFLFVBQWtCLEVBQUUsYUFBc0I7UUFDNUUsSUFBSSxHQUFHLEdBQUcsYUFBYSxJQUFJLFVBQVUsQ0FBQztRQUN0QyxJQUFJLFVBQVUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDbEUsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FB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LFlBQVk7aUJBQ25DLE9BQU8sQ0FBQyxJQUFJLEVBQUcsR0FBRyxDQUFDLENBQUksWUFBWTtpQkFDbkMsT0FBTyxDQUFDLElBQUksRUFBRyxHQUFHLENBQUMsQ0FBSSxZQUFZO2lCQUNuQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFJLFlBQVk7aUJBQ25DLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUksWUFBWTthQUMzQyxDQUFDO1FBQ04sQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO2lIQTNlUSxnQkFBZ0I7dUVBQWhCLGdCQUFnQixXQUFoQixnQkFBZ0IsbUJBREgsTUFBTTs7aUZBQ25CLGdCQUFnQjtjQUQ1QixVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtjbG9uZSwgZ2V0LCBpbmNsdWRlcywgaXNBcnJheSwgaXNFbXB0eSwgaXNPYmplY3QsIG1lcmdlfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU3RhdGVQZXJzaXN0ZW5jZSB7XG4gICAgcHJpdmF0ZSBISVNUT1JZX0hBTkRMRVIgPSAncmVwbGFjZSc7XG4gICAgcHJpdmF0ZSBISVNUT1JZX0hBTkRMRVJfVFlQRVMgPSB7J3B1c2gnOiAncHVzaFN0YXRlJywgJ3JlcGxhY2UnOiAncmVwbGFjZVN0YXRlJ307XG4gICAgcHJpdmF0ZSBXSURHRVRfU1RBVEVfS0VZID0gJ3dzJztcblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHBhc3NlZCB2YWx1ZSBhcyB0aGUgSGlzdG9yeSBoYW5kbGVyIGlmIGl0IGV4aXN0cyBpbiB0aGUgSGlzdG9yeV9IYW5kbGVyX1R5cGVzIG9iamVjdFxuICAgICAqIEBwYXJhbSB2YWxcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0SGlzdG9yeUhhbmRsZXIodmFsKSB7XG4gICAgICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLkhJU1RPUllfSEFORExFUl9UWVBFUykuaW5kZXhPZih2YWwpID4gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuSElTVE9SWV9IQU5ETEVSID0gdmFsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0cyBhIHVuaXF1ZSBrZXkgZm9yIHNldHRpbmcgc3RhdGUgcGFyYW0gYnkgdXNpbmcgdGhlIHZpZXdQYXJlbnQgcHJvcGVydHkgb2YgYSB3aWRnZXRcbiAgICAgKiBzbyB0aGF0IG5hbWUgY29uZmxpY3RzIGFyZSBhdm9pZGVkIHdoZW4gdGhlIHNhbWUgd2lkZ2V0IG5hbWUgaXNcbiAgICAgKiBwcmVzZW50IGluc2lkZSBhIFBhZ2UsIGEgUGFydGlhbCB3aXRoaW4gYSBQYWdlIG9yIGEgUHJlZmFiIHdpdGhpbiBhIFBhZ2UgYW5kIHNvIG9uLlxuICAgICAqIEUuZy46XG4gICAgICogaWYgYSBwYWdlIGhhcyBhIHRhYnMgd2lkZ2V0IHdpdGggdGhlIG5hbWUgdGFiczEsIGEgcGFydGlhbCBQYXJ0aWFsMShpbnNpZGUgY29udGFpbmVyMSkgaW5jbHVzaW9uIHdpdGhpbiB3aGljaFxuICAgICAqIHRoZXJlIGlzIGEgdGFicyB3aXRoIG5hbWUgdGFiczEgYW5kIGEgcHJlZmFiIE15UHJlZmFiIGluY2x1c2lvbiB3aXRoIGEgdGFicyB3aWRnZXQgd2l0aCB0aGUgbmFtZSB0YWJzMSxcbiAgICAgKiBnZXROZXN0ZWRQYXRoIHdpbGwgcmV0dXJuIHRhYnMxLCBjb250YWluZXIxLlBhcnRpYWwxLnRhYnMxIGFuZCBNeVByZWZhYjEuTXlQcmVmYWIudGFiczEgcmVzcGVjdGl2ZWx5LlxuICAgICAqIEBwYXJhbSB2aWV3UGFyZW50XG4gICAgICogQHBhcmFtIHdpZGdldE5hbWVcbiAgICAgKiBAcGFyYW0gY3VycmVudE91dHB1dFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXROZXN0ZWRQYXRoKHZpZXdQYXJlbnQ6IGFueSwgd2lkZ2V0TmFtZTogc3RyaW5nLCBjdXJyZW50T3V0cHV0Pzogc3RyaW5nKSB7XG4gICAgICAgIGxldCBvdXQgPSBjdXJyZW50T3V0cHV0IHx8IHdpZGdldE5hbWU7XG4gICAgICAgIGlmICh2aWV3UGFyZW50ICYmICh2aWV3UGFyZW50LnByZWZhYk5hbWUgfHwgdmlld1BhcmVudC5wYXJ0aWFsTmFtZSkpIHtcbiAgICAgICAgICAgIG91dCA9IG91dC5sZW5ndGggPiAwID8gb3V0ICsgJy4nICsgKHZpZXdQYXJlbnQucHJlZmFiTmFtZSB8fCB2aWV3UGFyZW50LnBhcnRpYWxOYW1lKSA6ICh2aWV3UGFyZW50LnByZWZhYk5hbWUgfHwgdmlld1BhcmVudC5wYXJ0aWFsTmFtZSk7XG4gICAgICAgICAgICAvLyBzYW1lIHBhcnRpYWwvcHJlZmFiIGNhbiBiZSBkcm9wcGVkIG11bHRpcGxlIHRpbWVzIGluIGEgcGFnZS4gQXBwZW5kaW5nIGNvbnRhaW5lcidzIG5hbWUgZm9yIHVuaXF1ZW5lc3MuXG4gICAgICAgICAgICBvdXQgPSBvdXQgKyAnLicgKyB2aWV3UGFyZW50LmNvbnRhaW5lcldpZGdldC5uYW1lO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TmVzdGVkUGF0aCh2aWV3UGFyZW50LmNvbnRhaW5lcldpZGdldC52aWV3UGFyZW50LCB3aWRnZXROYW1lLCBvdXQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvdXQuc3BsaXQoJy4nKS5yZXZlcnNlKCkuam9pbignLicpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlY29kZXMgYW5kIHBhcnNlcyB0aGUgc3RhdGUgaW5mb3JtYXRpb24gYW5kIHJldHVybnMgdGhlIHBhcnNlZCBzdGF0ZSBvYmplY3RcbiAgICAgKiBAcGFyYW0gbW9kZSA6IG9wdGlvbmFsIHBhcmFtZXRlciBpZiB0aGUgd2lkZ2V0L3ZhcmlhYmxlIHVzZXMgYSBzdGF0ZSBoYW5kbGluZyBtb2RlKHVybCwgbG9jYWwgc3RvcmFnZSwgc2Vzc2lvbiBzdG9yYWdlKVxuICAgICAqIG90aGVyIHRoYW4gdGhlIHByb2plY3QgbGV2ZWwgbW9kZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRTdGF0ZUluZm9ybWF0aW9uKG1vZGUpIHtcbiAgICAgICAgbGV0IHBhcnNlZFN0YXRlSW5mbywgc3RhdGVJbmZvO1xuICAgICAgICBpZiAobW9kZS50b0xvd2VyQ2FzZSgpID09PSAndXJsJykge1xuICAgICAgICAgICAgY29uc3QgZGVjb2RlZFVSSSA9IGRlY29kZVVSSUNvbXBvbmVudCh3aW5kb3cubG9jYXRpb24uaHJlZik7XG4gICAgICAgICAgICBzdGF0ZUluZm8gPSBkZWNvZGVkVVJJLm1hdGNoKC8od21fc3RhdGU9KS4qPygmfCQpLyk7XG4gICAgICAgICAgICBpZiAoc3RhdGVJbmZvKSB7XG4gICAgICAgICAgICAgICAgc3RhdGVJbmZvID0gc3RhdGVJbmZvWzBdLnJlcGxhY2UoJ3dtX3N0YXRlPScsICcnKTtcbiAgICAgICAgICAgICAgICBwYXJzZWRTdGF0ZUluZm8gPSB0aGlzLnVyaVRvSnNvbihzdGF0ZUluZm8pO1xuICAgICAgICAgICAgICAgIHJldHVybiBwYXJzZWRTdGF0ZUluZm87XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAobW9kZS50b0xvd2VyQ2FzZSgpID09PSAnbG9jYWxzdG9yYWdlJykge1xuICAgICAgICAgICAgc3RhdGVJbmZvID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0od2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoL1xcLy9nLCAnJykgKyAnX3dtX3N0YXRlJyk7XG4gICAgICAgIH0gZWxzZSBpZiAobW9kZS50b0xvd2VyQ2FzZSgpID09PSAnc2Vzc2lvbnN0b3JhZ2UnKSB7XG4gICAgICAgICAgICBzdGF0ZUluZm8gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5yZXBsYWNlKC9cXC8vZywgJycpICsgJ193bV9zdGF0ZScpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGF0ZUluZm8pIHtcbiAgICAgICAgICAgIHBhcnNlZFN0YXRlSW5mbyA9IEpTT04ucGFyc2Uoc3RhdGVJbmZvKTtcbiAgICAgICAgICAgIHJldHVybiBwYXJzZWRTdGF0ZUluZm87XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBwYXNzZWQgd2lkZ2V0IGluc3RhbmNlIGhhcyBhbnkgc3RhdGUgaW5mb3JtYXRpb24gYXZhaWxhYmxlIG9yIG5vdFxuICAgICAqIEBwYXJhbSB3aWRnZXRcbiAgICAgKiBAcGFyYW0gbW9kZSA6IG9wdGlvbmFsIHBhcmFtZXRlciBpZiB0aGUgd2lkZ2V0IHVzZXMgYSBzdGF0ZSBoYW5kbGluZyBtb2RlKHVybCwgbG9jYWwgc3RvcmFnZSwgc2Vzc2lvbiBzdG9yYWdlKVxuICAgICAqIG90aGVyIHRoYW4gdGhlIHByb2plY3QgbGV2ZWwgbW9kZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRXaWRnZXRTdGF0ZSh3aWRnZXQsIG1vZGU/KSB7XG4gICAgICAgIG1vZGUgPSBtb2RlIHx8IHRoaXMuY29tcHV0ZU1vZGUod2lkZ2V0LnN0YXRlaGFuZGxlcik7XG4gICAgICAgIGlmICghbW9kZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGxldCBwYXJzZWRTdGF0ZUluZm8gPSB0aGlzLmdldFN0YXRlSW5mb3JtYXRpb24obW9kZSk7XG4gICAgICAgIGlmIChwYXJzZWRTdGF0ZUluZm8gJiYgd2lkZ2V0ICAmJiB3aWRnZXQuZ2V0QXBwSW5zdGFuY2UoKS5hY3RpdmVQYWdlTmFtZSAmJiAobW9kZS50b0xvd2VyQ2FzZSgpID09PSAnbG9jYWxzdG9yYWdlJyB8fCBtb2RlLnRvTG93ZXJDYXNlKCkgPT09ICdzZXNzaW9uc3RvcmFnZScpKSB7XG4gICAgICAgICAgICBwYXJzZWRTdGF0ZUluZm8gPSBwYXJzZWRTdGF0ZUluZm9bd2lkZ2V0LmdldEFwcEluc3RhbmNlKCkuYWN0aXZlUGFnZU5hbWVdO1xuICAgICAgICB9XG4gICAgICAgIGlmIChnZXQocGFyc2VkU3RhdGVJbmZvLCB0aGlzLldJREdFVF9TVEFURV9LRVkpKSB7XG4gICAgICAgICAgICBjb25zdCBzdGF0ZUtleSA9IHRoaXMuZ2V0TmVzdGVkUGF0aCh3aWRnZXQudmlld1BhcmVudCwgd2lkZ2V0LmdldFdpZGdldCgpLm5hbWUpO1xuICAgICAgICAgICAgcmV0dXJuIHBhcnNlZFN0YXRlSW5mb1t0aGlzLldJREdFVF9TVEFURV9LRVldW3N0YXRlS2V5XTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcHVibGljIGNvbXB1dGVNb2RlKHdpZGdldFN0YXRlSGFuZGxlcikge1xuICAgICAgICBpZiAoIXdpZGdldFN0YXRlSGFuZGxlcikge1xuICAgICAgICAgICAgcmV0dXJuICd1cmwnO1xuICAgICAgICB9IGVsc2UgaWYgKHdpZGdldFN0YXRlSGFuZGxlciAmJiB3aWRnZXRTdGF0ZUhhbmRsZXIudG9Mb3dlckNhc2UoKSA9PT0gJ25vbmUnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gd2lkZ2V0U3RhdGVIYW5kbGVyLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBwYXNzZWQgdmFsdWUgdG8gdGhlIHN0YXRlIGluZm9ybWF0aW9uIGJ5IHVzaW5nIHRoZSBwYXNzZWQgd2lkZ2V0IGluc3RhbmNlXG4gICAgICogQHBhcmFtIHdpZGdldFxuICAgICAqIEBwYXJhbSB2YWx1ZVxuICAgICAqIEBwYXJhbSBtb2RlIDogb3B0aW9uYWwgcGFyYW1ldGVyIGlmIHRoZSB3aWRnZXQgdXNlcyBhIHN0YXRlIGhhbmRsaW5nIG1vZGUodXJsLCBsb2NhbCBzdG9yYWdlLCBzZXNzaW9uIHN0b3JhZ2UpXG4gICAgICogb3RoZXIgdGhhbiB0aGUgcHJvamVjdCBsZXZlbCBtb2RlXG4gICAgICovXG4gICAgcHVibGljIHNldFdpZGdldFN0YXRlKHdpZGdldCwgdmFsdWUsIG1vZGU/KSB7XG4gICAgICAgIGNvbnN0IHN0YXRlS2V5ID0gdGhpcy5nZXROZXN0ZWRQYXRoKHdpZGdldC52aWV3UGFyZW50LCB3aWRnZXQuZ2V0V2lkZ2V0KCkubmFtZSk7XG4gICAgICAgIG1vZGUgPSBtb2RlIHx8IHRoaXMuY29tcHV0ZU1vZGUod2lkZ2V0LnN0YXRlaGFuZGxlcik7XG4gICAgICAgIGlmICghbW9kZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0U3RhdGVQYXJhbXModGhpcy5XSURHRVRfU1RBVEVfS0VZLCBzdGF0ZUtleSwgdmFsdWUsIG1vZGUsIHdpZGdldCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyB0aGUgcGFzc2VkIHdpZGdldOKAmXMgc3RhdGUgaW5mb3JtYXRpb24gZnJvbSB0aGUgU3RhdGUgT2JqZWN0LiBJZiBhIGtleSBpcyBwYXNzZWQsIHRoZW4gb25seSB0aGF0XG4gICAgICogcGFydGljdWxhciBlbnRyeSB3aWxsIGJlIHJlbW92ZWQsIG5vdCBhbnkgb3RoZXIgZW50cmllcyBmb3IgdGhhdCB3aWRnZXQuXG4gICAgICogQHBhcmFtIHdpZGdldFxuICAgICAqIEBwYXJhbSBrZXlcbiAgICAgKiBAcGFyYW0gbW9kZSA6IG9wdGlvbmFsIHBhcmFtZXRlciBpZiB0aGUgd2lkZ2V0IHVzZXMgYSBzdGF0ZSBoYW5kbGluZyBtb2RlKHVybCwgbG9jYWwgc3RvcmFnZSwgc2Vzc2lvbiBzdG9yYWdlKVxuICAgICAqIG90aGVyIHRoYW4gdGhlIHByb2plY3QgbGV2ZWwgbW9kZVxuICAgICAqL1xuICAgIHB1YmxpYyByZW1vdmVXaWRnZXRTdGF0ZSh3aWRnZXQsIGtleT8sIG1vZGU/KSB7XG4gICAgICAgIG1vZGUgPSBtb2RlIHx8IHRoaXMuY29tcHV0ZU1vZGUod2lkZ2V0LnN0YXRlaGFuZGxlcik7XG4gICAgICAgIGlmICghbW9kZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXRlS2V5ID0gdGhpcy5nZXROZXN0ZWRQYXRoKHdpZGdldC52aWV3UGFyZW50LCB3aWRnZXQuZ2V0V2lkZ2V0KCkubmFtZSk7XG4gICAgICAgIHRoaXMucmVtb3ZlU3RhdGVQYXJhbSh0aGlzLldJREdFVF9TVEFURV9LRVksIHN0YXRlS2V5LCBrZXksIG1vZGUsIHdpZGdldCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgcGFzc2VkIHZhbHVlIHRvIHRoZSBzdGF0ZSBpbmZvcm1hdGlvbiBieSB1c2luZyB0aGUgcGFzc2VkIHZhcmlhYmxlIG5hbWUgYXMga2V5XG4gICAgICogQHBhcmFtIHZhcmlhYmxlTmFtZVxuICAgICAqIEBwYXJhbSB2YWx1ZVxuICAgICAqIEBwYXJhbSBtb2RlIDogb3B0aW9uYWwgcGFyYW1ldGVyIGlmIHRoZSB2YXJpYWJsZSB1c2VzIGEgc3RhdGUgaGFuZGxpbmcgbW9kZSh1cmwsIGxvY2FsIHN0b3JhZ2UsIHNlc3Npb24gc3RvcmFnZSlcbiAgICAgKiBvdGhlciB0aGFuIHRoZSBwcm9qZWN0IGxldmVsIG1vZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0U3RhdGVWYXJpYWJsZSh2YXJpYWJsZU5hbWUsIHZhbHVlLCBtb2RlPykge1xuICAgICAgICBtb2RlID0gbW9kZSB8fCB0aGlzLmNvbXB1dGVNb2RlKG1vZGUpO1xuICAgICAgICBpZiAoIW1vZGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNldFN0YXRlUGFyYW1zKCcnLCB2YXJpYWJsZU5hbWUsIHZhbHVlLCBtb2RlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIHBhc3NlZCB2YXJpYWJsZSBuYW1lIGhhcyBhbnkgc3RhdGUgaW5mb3JtYXRpb24gYXZhaWxhYmxlIGluIHRoZSB1cmwgb3Igbm90XG4gICAgICogQHBhcmFtIHZhcmlhYmxlTmFtZVxuICAgICAqIEBwYXJhbSBtb2RlIDogb3B0aW9uYWwgcGFyYW1ldGVyIGlmIHRoZSB2YXJpYWJsZSB1c2VzIGEgc3RhdGUgaGFuZGxpbmcgbW9kZSh1cmwsIGxvY2FsIHN0b3JhZ2UsIHNlc3Npb24gc3RvcmFnZSlcbiAgICAgKiBvdGhlciB0aGFuIHRoZSBwcm9qZWN0IGxldmVsIG1vZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U3RhdGVWYXJpYWJsZSh2YXJpYWJsZU5hbWU6IHN0cmluZywgbW9kZT8pIHtcbiAgICAgICAgbW9kZSA9IG1vZGUgfHwgdGhpcy5jb21wdXRlTW9kZShtb2RlKTtcbiAgICAgICAgaWYgKCFtb2RlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFyc2VkU3RhdGVJbmZvID0gdGhpcy5nZXRTdGF0ZUluZm9ybWF0aW9uKG1vZGUpO1xuICAgICAgICBpZiAocGFyc2VkU3RhdGVJbmZvKSB7XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VkU3RhdGVJbmZvW3ZhcmlhYmxlTmFtZV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgdGhlIHBhc3NlZCB2YXJpYWJsZeKAmXMgc3RhdGUgaW5mb3JtYXRpb24gZnJvbSB0aGUgVVJMLlxuICAgICAqIEBwYXJhbSB2YXJpYWJsZU5hbWVcbiAgICAgKiBAcGFyYW0gbW9kZSA6IG9wdGlvbmFsIHBhcmFtZXRlciBpZiB0aGUgd2lkZ2V0IHVzZXMgYSBzdGF0ZSBoYW5kbGluZyBtb2RlKHVybCwgbG9jYWwgc3RvcmFnZSwgc2Vzc2lvbiBzdG9yYWdlKVxuICAgICAqIG90aGVyIHRoYW4gdGhlIHByb2plY3QgbGV2ZWwgbW9kZVxuICAgICAqL1xuICAgIHB1YmxpYyByZW1vdmVTdGF0ZVZhcmlhYmxlKHZhcmlhYmxlTmFtZSwgbW9kZT8pIHtcbiAgICAgICAgbW9kZSA9IG1vZGUgfHwgdGhpcy5jb21wdXRlTW9kZShtb2RlKTtcbiAgICAgICAgaWYgKCFtb2RlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZW1vdmVTdGF0ZVBhcmFtKCcnLCB2YXJpYWJsZU5hbWUsIG51bGwsIG1vZGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHBhc3NlZCBzdGF0ZSBpbmZvcm1hdGlvbiBpbiB0aGUgdXJsIGJ5IHBhcnNpbmcgdGhlIHBhc3NlZCB2YWx1ZSBhbmQgY2hlY2tpbmdcbiAgICAgKiBpdHMgdHlwZS4gSWYgaXRzIGFuIGFycmF5IHR5cGUsIHRoZW4gdGhlIHBhc3NlZCB2YWx1ZXMgd2lsbCBiZSBwdXNoZWQgaW50byBhbiBhcnJheSBhbmQgdGhlbiBzZXQgaW4gdGhlIHN0YXRlXG4gICAgICogRS5nLlxuICAgICAqIEN1cnJlbnQgc3RhdGUgaW5mb3JtYXRpb24gaXMgbGlrZSA6XG4gICAgIHtcbiAgICAgICBcIndpZGdldF9zdGF0ZVwiOiB7XG4gICAgICAgICAgIFwiVGFibGUxXCI6IHtcbiAgICAgICAgICAgICAgIFwic2VsZWN0ZWRJdGVtXCI6IFtcbiAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgIFwicGFnZVwiOiBcIjFcIixcbiAgICAgICAgICAgICAgICAgICBcImluZGV4XCI6IFwiMVwiXG4gICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgIFwicGFnaW5hdGlvblwiOiBcIjFcIlxuICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICB9XG4gICAgICogSW5wdXQgdmFsdWUgd2lsbCBiZSBsaWtlOlxuICAgICB7XG4gICAgICAgXCJzZWxlY3RlZEl0ZW1cIjogW1xuICAgICAgICAge1xuICAgICAgICAgICBcInBhZ2VcIjogXCIxXCIsXG4gICAgICAgICAgIFwiaW5kZXhcIjogXCIyXCJcbiAgICAgICAgIH1cbiAgICAgICBdXG4gICAgIH1cblxuICAgICAqIFRoaXMgcGFyc2luZyBsb2dpYyB3aWxsIGNvbnZlcnQgaXQgdG8gdGhlIGZvbGxvd2luZ1xuICAgICB7XG4gICAgICAgXCJ3aWRnZXRfc3RhdGVcIjoge1xuICAgICAgICAgICBcIlRhYmxlMVwiOiB7XG4gICAgICAgICAgICAgICBcInNlbGVjdGVkSXRlbVwiOiBbXG4gICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICBcInBhZ2VcIjogXCIxXCIsXG4gICAgICAgICAgICAgICAgICAgXCJpbmRleFwiOiBcIjFcIlxuICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgXCJwYWdlXCI6IFwiMVwiLFxuICAgICAgICAgICAgICAgICAgIFwiaW5kZXhcIjogXCIyXCJcbiAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgXCJwYWdpbmF0aW9uXCI6IFwiMVwiXG4gICAgICAgICB9XG4gICAgICAgICB9XG4gICAgIH1cbiAgICAgKiBCYXNlZCBvbiBob3cgdGhlIEhJU1RPUllfSEFORExFUiBpcyBjb25maWd1cmVkLCB0aGUgdXBkYXRlZCB1cmwgd2lsbCBlaXRoZXIgcmVwbGFjZSB0aGUgZXhpc3RpbmcgdXJsIG9yXG4gICAgICogcHVzaCBhIG5ldyBzdGF0ZSBpbiB0aGUgdXJsIHNvIHRoYXQgYmFjayBidXR0b24gbWF5IHRyYWNrIGVhY2ggdXBkYXRlIHRvIHRoZSBzdGF0ZS5cbiAgICAgKiBAcGFyYW0gc3RhdGVQYXJhbVxuICAgICAqIEBwYXJhbSBrZXlcbiAgICAgKiBAcGFyYW0gdmFsXG4gICAgICogQHBhcmFtIG1vZGUgOiBvcHRpb25hbCBwYXJhbWV0ZXIgaWYgdGhlIHdpZGdldC92YXJpYWJsZSB1c2VzIGEgc3RhdGUgaGFuZGxpbmcgbW9kZSh1cmwsIGxvY2FsIHN0b3JhZ2UsIHNlc3Npb24gc3RvcmFnZSlcbiAgICAgKiBvdGhlciB0aGFuIHRoZSBwcm9qZWN0IGxldmVsIG1vZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0U3RhdGVQYXJhbXMoc3RhdGVQYXJhbTogc3RyaW5nLCBrZXk6IHN0cmluZywgdmFsOiBhbnksIG1vZGU/LCB3aWRnZXQ/KSB7XG4gICAgICAgIGxldCB1cmwgPSAnJywgcGFyc2VkT2JqO1xuICAgICAgICBjb25zdCBzdGF0ZU9iaiA9IHRoaXMuZ2V0U3RhdGVJbmZvcm1hdGlvbihtb2RlKTtcbiAgICAgICAgaWYgKHdpZGdldCAmJiBzdGF0ZU9iaiAmJiB3aWRnZXQuZ2V0QXBwSW5zdGFuY2UoKS5hY3RpdmVQYWdlTmFtZSAmJiAobW9kZS50b0xvd2VyQ2FzZSgpID09PSAnbG9jYWxzdG9yYWdlJyB8fCBtb2RlLnRvTG93ZXJDYXNlKCkgPT09ICdzZXNzaW9uc3RvcmFnZScpKSB7XG4gICAgICAgICAgICBwYXJzZWRPYmogPSBzdGF0ZU9ialt3aWRnZXQuZ2V0QXBwSW5zdGFuY2UoKS5hY3RpdmVQYWdlTmFtZV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwYXJzZWRPYmogPSBjbG9uZShzdGF0ZU9iaik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0YXRlUGFyYW0pIHtcbiAgICAgICAgICAgIGlmIChwYXJzZWRPYmogJiYgIXBhcnNlZE9ialtzdGF0ZVBhcmFtXSkge1xuICAgICAgICAgICAgICAgIHBhcnNlZE9ialtzdGF0ZVBhcmFtXSA9IHt9O1xuICAgICAgICAgICAgfSBlbHNlIGlmICghcGFyc2VkT2JqKSB7XG4gICAgICAgICAgICAgICAgcGFyc2VkT2JqID0ge1tzdGF0ZVBhcmFtXToge319O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzT2JqZWN0KHZhbCkgJiYgIWlzQXJyYXkodmFsKSkge1xuICAgICAgICAgICAgICAgIHBhcnNlZE9ialtzdGF0ZVBhcmFtXVtrZXldID0gcGFyc2VkT2JqW3N0YXRlUGFyYW1dW2tleV0gfHwge307XG4gICAgICAgICAgICAgICAgbWVyZ2UocGFyc2VkT2JqW3N0YXRlUGFyYW1dW2tleV0sIHZhbCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhcnNlZE9ialtzdGF0ZVBhcmFtXVtrZXldID0gdmFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHBhcnNlZE9iaiAmJiAhcGFyc2VkT2JqW2tleV0pIHtcbiAgICAgICAgICAgICAgICBwYXJzZWRPYmpba2V5XSA9IHt9O1xuICAgICAgICAgICAgfSBlbHNlIGlmICghcGFyc2VkT2JqKSB7XG4gICAgICAgICAgICAgICAgcGFyc2VkT2JqID0ge1trZXldOiB7fX07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNPYmplY3QodmFsKSAmJiAhaXNBcnJheSh2YWwpKSB7XG4gICAgICAgICAgICAgICAgcGFyc2VkT2JqW2tleV0gPSBwYXJzZWRPYmpba2V5XSB8fCB7fTtcbiAgICAgICAgICAgICAgICBtZXJnZShwYXJzZWRPYmpba2V5XSwgdmFsKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFyc2VkT2JqW2tleV0gPSB2YWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gZm9yIExvY2FsIGFuZCBTZXNzaW9uIFN0b3JhZ2UsIHdyYXAgc3RhdGUgb2JqZWN0IGluc2lkZSBwYWdlIG5hbWUgc28gdGhhdCB3aWRnZXQgbmFtZSBjb25mbGljdHMgZG9uJ3QgYXJpc2UgYmV0d2VlbiBwYWdlcy5cbiAgICAgICAgaWYgKHdpZGdldCAmJiB3aWRnZXQuZ2V0QXBwSW5zdGFuY2UoKS5hY3RpdmVQYWdlTmFtZSAmJiAobW9kZS50b0xvd2VyQ2FzZSgpID09PSAnbG9jYWxzdG9yYWdlJyB8fCBtb2RlLnRvTG93ZXJDYXNlKCkgPT09ICdzZXNzaW9uc3RvcmFnZScpKSB7XG4gICAgICAgICAgICBpZiAoc3RhdGVPYmopIHtcbiAgICAgICAgICAgICAgICBzdGF0ZU9ialt3aWRnZXQuZ2V0QXBwSW5zdGFuY2UoKS5hY3RpdmVQYWdlTmFtZV0gPSBwYXJzZWRPYmo7XG4gICAgICAgICAgICAgICAgcGFyc2VkT2JqID0gc3RhdGVPYmo7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhcnNlZE9iaiA9IHtbd2lkZ2V0LmdldEFwcEluc3RhbmNlKCkuYWN0aXZlUGFnZU5hbWVdOiBwYXJzZWRPYmp9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuXG4gICAgICAgIGxldCBkZWNvZGVkVVJJID0gZGVjb2RlVVJJQ29tcG9uZW50KHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgICAgICAgaWYgKGRlY29kZWRVUkkuaW5kZXhPZignPycpIDwgMCkge1xuICAgICAgICAgICAgZGVjb2RlZFVSSSA9IGRlY29kZWRVUkkgKyAnP3dtX3N0YXRlPSc7XG4gICAgICAgIH0gZWxzZSBpZiAoZGVjb2RlZFVSSS5pbmRleE9mKCd3bV9zdGF0ZScpIDwgMCkge1xuICAgICAgICAgICAgZGVjb2RlZFVSSSA9IGRlY29kZWRVUkkgKyAnJndtX3N0YXRlPSc7XG4gICAgICAgIH1cbiAgICAgICAgdXJsID0gZGVjb2RlZFVSSS5yZXBsYWNlKC8od21fc3RhdGU9KS4qPygmfCQpLyAsJyQxJyArIHRoaXMuanNvblRvVXJpKHBhcnNlZE9iaikgKyAnJDInKTtcblxuICAgICAgICBpZiAobW9kZS50b0xvd2VyQ2FzZSgpID09PSAnbG9jYWxzdG9yYWdlJykge1xuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0od2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoL1xcLy9nLCAnJykgKyAnX3dtX3N0YXRlJywgSlNPTi5zdHJpbmdpZnkocGFyc2VkT2JqKSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSBpZiAobW9kZS50b0xvd2VyQ2FzZSgpID09PSAnc2Vzc2lvbnN0b3JhZ2UnKSB7XG4gICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5yZXBsYWNlKC9cXC8vZywgJycpICsgJ193bV9zdGF0ZScsIEpTT04uc3RyaW5naWZ5KHBhcnNlZE9iaikpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRlY29kZVVSSUNvbXBvbmVudCh3aW5kb3cubG9jYXRpb24uaHJlZikgPT09IGRlY29kZVVSSUNvbXBvbmVudCh1cmwpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuSElTVE9SWV9IQU5ETEVSID09PSAncHVzaCcpIHtcbiAgICAgICAgICAgIHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZSh7IHBhdGg6IHVybCB9LCAnJywgdXJsKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLkhJU1RPUllfSEFORExFUiA9PT0gJ3JlcGxhY2UnKSB7XG4gICAgICAgICAgICB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoeyBwYXRoOiB1cmwgfSwgJycsIHVybCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIHRoZSBwYXNzZWQgc3RhdGUgaW5mb3JtYXRpb24gZnJvbSB0aGUgdXJsXG4gICAgICogRS5nLlxuICAgICAqIEN1cnJlbnQgc3RhdGUgaW5mb3JtYXRpb24gaXMgbGlrZSA6XG4gICAgIHtcbiAgICAgICBcIndpZGdldF9zdGF0ZVwiOiB7XG4gICAgICAgICAgIFwiVGFibGUxXCI6IHtcbiAgICAgICAgICAgICAgIFwic2VsZWN0ZWRJdGVtXCI6IFtcbiAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgIFwicGFnZVwiOiBcIjFcIixcbiAgICAgICAgICAgICAgICAgICBcImluZGV4XCI6IFwiMVwiXG4gICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgXCJwYWdlXCI6IFwiMlwiLFxuICAgICAgICAgICAgICAgICBcImluZGV4XCI6IFwiMVwiXG4gICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgIFwicGFnaW5hdGlvblwiOiBcIjFcIlxuICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICB9XG4gICAgICogSW5wdXQgdmFsdWVzIHdpbGwgYmUgbGlrZTpcbiAgICAgc3ViUGFyYW0gOiAnc2VsZWN0ZWRJdGVtJ1xuXG4gICAgICogVGhpcyBtZXRob2Qgd2lsbCBjb252ZXJ0IGl0IHRvIHRoZSBmb2xsb3dpbmdcbiAgICAge1xuICAgICAgIFwid2lkZ2V0X3N0YXRlXCI6IHtcbiAgICAgICAgICAgXCJUYWJsZTFcIjoge1xuICAgICAgICAgICAgIFwicGFnaW5hdGlvblwiOiBcIjFcIlxuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICB9XG4gICAgICogQHBhcmFtIHN0YXRlUGFyYW1cbiAgICAgKiBAcGFyYW0ga2V5XG4gICAgICogQHBhcmFtIHN1YlBhcmFtXG4gICAgICogQHBhcmFtIG1vZGUgOiBvcHRpb25hbCBwYXJhbWV0ZXIgaWYgdGhlIHdpZGdldC92YXJpYWJsZSB1c2VzIGEgc3RhdGUgaGFuZGxpbmcgbW9kZSh1cmwsIGxvY2FsIHN0b3JhZ2UsIHNlc3Npb24gc3RvcmFnZSlcbiAgICAgKiBvdGhlciB0aGFuIHRoZSBwcm9qZWN0IGxldmVsIG1vZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVtb3ZlU3RhdGVQYXJhbShzdGF0ZVBhcmFtLCBrZXksIHN1YlBhcmFtPywgbW9kZT8sIHdpZGdldD8pIHtcbiAgICAgICAgbGV0IHVybCA9ICcnLCBwYXJzZWRPYmo7XG4gICAgICAgIGNvbnN0IHN0YXRlT2JqID0gdGhpcy5nZXRTdGF0ZUluZm9ybWF0aW9uKG1vZGUpO1xuICAgICAgICBpZiAod2lkZ2V0ICYmIHN0YXRlT2JqICYmIHdpZGdldC5nZXRBcHBJbnN0YW5jZSgpLmFjdGl2ZVBhZ2VOYW1lICYmIChtb2RlLnRvTG93ZXJDYXNlKCkgPT09ICdsb2NhbHN0b3JhZ2UnIHx8IG1vZGUudG9Mb3dlckNhc2UoKSA9PT0gJ3Nlc3Npb25zdG9yYWdlJykpIHtcbiAgICAgICAgICAgIHBhcnNlZE9iaiA9IHN0YXRlT2JqW3dpZGdldC5nZXRBcHBJbnN0YW5jZSgpLmFjdGl2ZVBhZ2VOYW1lXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBhcnNlZE9iaiA9IGNsb25lKHN0YXRlT2JqKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWdldChwYXJzZWRPYmosIFtzdGF0ZVBhcmFtXSkgJiYgIWdldChwYXJzZWRPYmosIGtleSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBGaXggZm9yIFtXTVMtMjQ2OThdOiB3aGVuIHRhYmxlIGlzIGluc2lkZSBhIHByZWZhYiwgc3RhdGUgcGVyc2lzdGVuY2Uga2V5IGlzIGxpa2UgXCJUZXN0TGFiZWxfMTEuVGVzdExhYmVsXzEuc3RhdGljVmFyaWFibGUxVGFibGUxXCJcbiAgICAgICAgLy8gZ2V0KHBhcnNlZE9iaiwgc3RhdGVQYXJhbSArICcuJyArIGtleSkgaXMgdW5kZWZpbmVkIHNvIHVzaW5nIChwYXJzZWRPYmogJiYgcGFyc2VkT2JqW3N0YXRlUGFyYW1dICYmIHBhcnNlZE9ialtzdGF0ZVBhcmFtXVtrZXldKSBjb25kaXRpb24uXG4gICAgICAgIGlmIChnZXQocGFyc2VkT2JqLCBzdGF0ZVBhcmFtICsgJy4nICsga2V5KSB8fCAocGFyc2VkT2JqICYmIHBhcnNlZE9ialtzdGF0ZVBhcmFtXSAmJiBwYXJzZWRPYmpbc3RhdGVQYXJhbV1ba2V5XSkpIHtcbiAgICAgICAgICAgIGlmIChzdWJQYXJhbSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBwYXJzZWRPYmpbc3RhdGVQYXJhbV1ba2V5XVtzdWJQYXJhbV07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBwYXJzZWRPYmpbc3RhdGVQYXJhbV1ba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0VtcHR5KHBhcnNlZE9ialtzdGF0ZVBhcmFtXVtrZXldKSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBwYXJzZWRPYmpbc3RhdGVQYXJhbV1ba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0VtcHR5KHBhcnNlZE9ialtzdGF0ZVBhcmFtXSkpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgcGFyc2VkT2JqW3N0YXRlUGFyYW1dO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKCFzdGF0ZVBhcmFtICYmIGdldChwYXJzZWRPYmosIGtleSkpIHtcbiAgICAgICAgICAgIGRlbGV0ZSBwYXJzZWRPYmpba2V5XTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGZvciBMb2NhbCBhbmQgU2Vzc2lvbiBTdG9yYWdlLCB3cmFwIHN0YXRlIG9iamVjdCBpbnNpZGUgcGFnZSBuYW1lIHNvIHRoYXQgd2lkZ2V0IG5hbWUgY29uZmxpY3RzIGRvbid0IGFyaXNlIGJldHdlZW4gcGFnZXMuXG4gICAgICAgIGlmICh3aWRnZXQgJiYgd2lkZ2V0LmdldEFwcEluc3RhbmNlKCkuYWN0aXZlUGFnZU5hbWUgJiYgKG1vZGUudG9Mb3dlckNhc2UoKSA9PT0gJ2xvY2Fsc3RvcmFnZScgfHwgbW9kZS50b0xvd2VyQ2FzZSgpID09PSAnc2Vzc2lvbnN0b3JhZ2UnKSkge1xuICAgICAgICAgICAgaWYgKHN0YXRlT2JqKSB7XG4gICAgICAgICAgICAgICAgc3RhdGVPYmpbd2lkZ2V0LmdldEFwcEluc3RhbmNlKCkuYWN0aXZlUGFnZU5hbWVdID0gcGFyc2VkT2JqO1xuICAgICAgICAgICAgICAgIHBhcnNlZE9iaiA9IHN0YXRlT2JqO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBwYXJzZWRPYmogPSB7W3dpZGdldC5nZXRBcHBJbnN0YW5jZSgpLmFjdGl2ZVBhZ2VOYW1lXTogcGFyc2VkT2JqfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICAgIGlmIChtb2RlLnRvTG93ZXJDYXNlKCkgPT09ICdsb2NhbHN0b3JhZ2UnKSB7XG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUucmVwbGFjZSgvXFwvL2csICcnKSArICdfd21fc3RhdGUnLCBKU09OLnN0cmluZ2lmeShwYXJzZWRPYmopKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIGlmIChtb2RlLnRvTG93ZXJDYXNlKCkgPT09ICdzZXNzaW9uc3RvcmFnZScpIHtcbiAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0od2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoL1xcLy9nLCAnJykgKyAnX3dtX3N0YXRlJywgSlNPTi5zdHJpbmdpZnkocGFyc2VkT2JqKSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkZWNvZGVkVVJJID0gZGVjb2RlVVJJQ29tcG9uZW50KHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgICAgICAgaWYgKGlzRW1wdHkocGFyc2VkT2JqKSkge1xuICAgICAgICAgICAgdXJsID0gZGVjb2RlZFVSSS5yZXBsYWNlKC8od21fc3RhdGU9KS4qPygmfCQpLyAsJycgKyAnJDInKTtcbiAgICAgICAgICAgIGlmIChpbmNsdWRlcyhbJyYnLCAnPyddLCB1cmwuY2hhckF0KHVybC5sZW5ndGggLSAxKSkpIHtcbiAgICAgICAgICAgICAgICB1cmwgPSB1cmwucmVwbGFjZSh1cmwuY2hhckF0KHVybC5sZW5ndGggLSAxKSwgJycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdXJsID0gZGVjb2RlZFVSSS5yZXBsYWNlKC8od21fc3RhdGU9KS4qPygmfCQpLyAsJyQxJyArIHRoaXMuanNvblRvVXJpKHBhcnNlZE9iaikgKyAnJDInKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHdpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSh7IHBhdGg6IHVybCB9LCAnJywgdXJsKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyB0aGUgU3RhdGUgSW5mb3JtYXRpb24gb2JqZWN0IGludG8gYW4gZW5jb2RlZCBvYmplY3Qgd2hlbiBzdGF0ZSBoYW5kbGluZyBtb2RlIGlzIFVSTFxuICAgICAqIHNvIHRoYXQgYSBtZWFuaW5nZnVsIFVSTCBjYW4gYmUgZm9ybWVkIGFuZCB0aGUgdXNlciBjYW4gbWFrZSBjaGFuZ2VzIGVhc2lseSB0byB0aGUgVVJMLlxuICAgICAqIEUuZy5cbiAgICAgKiBzdGF0ZSBpbmZvcm1hdGlvbiBpbnB1dCB3aWxsIGJlIGxpa2UgOlxuICAgICB7XG4gICAgICAgICBcIndpZGdldC1zdGF0ZVwiOiB7XG4gICAgICAgICAgICAgXCJUYWJsZTFcIjoge1xuICAgICAgICAgICAgIFwicGFnaW5hdGlvblwiOiBcIjNcIixcbiAgICAgICAgICAgICBcInNlYXJjaFwiOltcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZpZWxkXCI6XCJzdGF0ZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjpcIk5ZXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtYXRjaE1vZGVcIjpcImFueXdoZXJlaWdub3JlY2FzZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOlwic3RyaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICB9LFxuICAgICBcIkN1c3RvbVZhcmlhYmxlU2VsZWN0ZWRJdGVtc1wiOiBbXCIyXCIsIFwiM1wiXVxuICAgICB9XG5cblxuICAgICAqIFRoaXMgbWV0aG9kIHdpbGwgY29udmVydCBpdCB0byB0aGUgZm9sbG93aW5nXG4gICAgICgnd2lkZ2V0LXN0YXRlJ34oJ1RhYmxlMSd+KCdwYWdpbmF0aW9uJ34nMydfJ3NlYXJjaCd+ISgnZmllbGQnfidzdGF0ZSdfJ3ZhbHVlJ34nTlknXydtYXRjaE1vZGUnfidhbnl3aGVyZWlnbm9yZWNhc2UnXyd0eXBlJ34nc3RyaW5nJykqKSlfJ0N1c3RvbVZhcmlhYmxlU2VsZWN0ZWRJdGVtcyd+IScyJ18nMycqKVxuICAgICAqIEBwYXJhbSBqc29uT2JqXG4gICAgICovXG4gICAgcHJpdmF0ZSBqc29uVG9VcmkoanNvbk9iaikge1xuICAgICAgICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KFxuICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoanNvbk9iailcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvWygpJ35fISpdL2csIGZ1bmN0aW9uKGMpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gUmVwbGFjZSAoKSd+XyEqIHdpdGggXFx1MDAwMCBlc2NhcGUgc2VxdWVuY2VzXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAnXFxcXHUnICsgKCcwMDAwJyArIGMuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikpLnNsaWNlKC00KVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcey9nLCAnKCcpICAgIC8vICAgIHsgLT4gKFxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXH0vZywgJyknKSAgICAvLyAgICB9IC0+IClcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvXCIvZywgIFwiJ1wiKSAgICAvLyAgICBcIiAtPiAnXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcOi9nLCAnficpICAgIC8vICAgIDogLT4gflxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC8sL2csICAnXycpICAgIC8vICAgICwgLT4gX1xuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXFsvZywgJyEnKSAgICAvLyAgICBbIC0+ICFcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvXFxdL2csICcqJykgICAgLy8gICAgXSAtPiAqXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVjb2RlcyB0aGUgZW5jb2RlZCBTdGF0ZSBJbmZvcm1hdGlvbiBvYmplY3QgaW50byBhIEpTT04gb2JqZWN0IHdoZW4gc3RhdGUgaGFuZGxpbmcgbW9kZSBpcyBVUkxcbiAgICAgKiBzbyB0aGF0IHN0YXRlIGluZm9ybWF0aW9uIGNhbiBiZSBwYXJzZWQgYW5kIGFwcGxpZWQgdG8gdGhlIHdpZGdldHMuXG4gICAgICogRS5nLlxuICAgICAqIGVuY29kZWQgc3RhdGUgaW5mb3JtYXRpb24gaW5wdXQgd2lsbCBiZSBsaWtlIDpcbiAgICAgKCd3aWRnZXQtc3RhdGUnfignVGFibGUxJ34oJ3BhZ2luYXRpb24nficzJ18nc2VhcmNoJ34hKCdmaWVsZCd+J3N0YXRlJ18ndmFsdWUnfidOWSdfJ21hdGNoTW9kZSd+J2FueXdoZXJlaWdub3JlY2FzZSdfJ3R5cGUnfidzdHJpbmcnKSopKV8nQ3VzdG9tVmFyaWFibGVTZWxlY3RlZEl0ZW1zJ34hJzInXyczJyopXG5cblxuICAgICAqIFRoaXMgbWV0aG9kIHdpbGwgY29udmVydCBpdCB0byB0aGUgZm9sbG93aW5nXG4gICAgIHtcbiAgICAgICAgIFwid2lkZ2V0LXN0YXRlXCI6IHtcbiAgICAgICAgICAgICBcIlRhYmxlMVwiOiB7XG4gICAgICAgICAgICAgXCJwYWdpbmF0aW9uXCI6IFwiM1wiLFxuICAgICAgICAgICAgIFwic2VhcmNoXCI6W1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZmllbGRcIjpcInN0YXRlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOlwiTllcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1hdGNoTW9kZVwiOlwiYW55d2hlcmVpZ25vcmVjYXNlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6XCJzdHJpbmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgIH0sXG4gICAgIFwiQ3VzdG9tVmFyaWFibGVTZWxlY3RlZEl0ZW1zXCI6IFtcIjJcIiwgXCIzXCJdXG4gICAgIH1cbiAgICAgKiBAcGFyYW0gZW5jb2RlZE9ialxuICAgICAqL1xuICAgIHByaXZhdGUgdXJpVG9Kc29uKGVuY29kZWRPYmopIHtcbiAgICAgICAgbGV0IHJlc3BvbnNlOiBhbnk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXNwb25zZSA9IEpTT04ucGFyc2UoXG4gICAgICAgICAgICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KGVuY29kZWRPYmopXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXCgvZywgJ3snKSAgICAvLyAgICAoIC0+IHtcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcKS9nLCAnfScpICAgIC8vICAgICkgLT4gfVxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvJy9nLCAgJ1wiJykgICAgLy8gICAgJyAtPiBcIlxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvfi9nLCAgJzonKSAgICAvLyAgICB+IC0+IDpcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL18vZywgICcsJykgICAgLy8gICAgXyAtPiAsXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXCEvZywgJ1snKSAgICAvLyAgICAhIC0+IFtcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcKi9nLCAnXScpICAgIC8vICAgICogLT4gXVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG59XG5cbiJdfQ==
|
|
496
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StatePersistence, decorators: [{
|
|
497
|
+
type: Injectable,
|
|
498
|
+
args: [{ providedIn: 'root' }]
|
|
499
|
+
}] });
|
|
500
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtcGVyc2lzdGVuY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL3NlcnZpY2VzL3N0YXRlLXBlcnNpc3RlbmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFDLE1BQU0sV0FBVyxDQUFDOztBQUdsRixNQUFNLE9BQU8sZ0JBQWdCO0lBRDdCO1FBRVksb0JBQWUsR0FBRyxTQUFTLENBQUM7UUFDNUIsMEJBQXFCLEdBQUcsRUFBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUMsQ0FBQztRQUN6RSxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7S0F5ZW5DO0lBdmVHOzs7T0FHRztJQUNJLGlCQUFpQixDQUFDLEdBQUc7UUFDeEIsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzVELElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDO1FBQy9CLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxhQUFhLENBQUMsVUFBZSxFQUFFLFVBQWtCLEVBQUUsYUFBc0I7UUFDNUUsSUFBSSxHQUFHLEdBQUcsYUFBYSxJQUFJLFVBQVUsQ0FBQztRQUN0QyxJQUFJLFVBQVUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDbEUsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FB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LFlBQVk7aUJBQ25DLE9BQU8sQ0FBQyxJQUFJLEVBQUcsR0FBRyxDQUFDLENBQUksWUFBWTtpQkFDbkMsT0FBTyxDQUFDLElBQUksRUFBRyxHQUFHLENBQUMsQ0FBSSxZQUFZO2lCQUNuQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFJLFlBQVk7aUJBQ25DLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUksWUFBWTthQUMzQyxDQUFDO1FBQ04sQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDOytHQTNlUSxnQkFBZ0I7bUhBQWhCLGdCQUFnQixjQURILE1BQU07OzRGQUNuQixnQkFBZ0I7a0JBRDVCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtjbG9uZSwgZ2V0LCBpbmNsdWRlcywgaXNBcnJheSwgaXNFbXB0eSwgaXNPYmplY3QsIG1lcmdlfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU3RhdGVQZXJzaXN0ZW5jZSB7XG4gICAgcHJpdmF0ZSBISVNUT1JZX0hBTkRMRVIgPSAncmVwbGFjZSc7XG4gICAgcHJpdmF0ZSBISVNUT1JZX0hBTkRMRVJfVFlQRVMgPSB7J3B1c2gnOiAncHVzaFN0YXRlJywgJ3JlcGxhY2UnOiAncmVwbGFjZVN0YXRlJ307XG4gICAgcHJpdmF0ZSBXSURHRVRfU1RBVEVfS0VZID0gJ3dzJztcblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHBhc3NlZCB2YWx1ZSBhcyB0aGUgSGlzdG9yeSBoYW5kbGVyIGlmIGl0IGV4aXN0cyBpbiB0aGUgSGlzdG9yeV9IYW5kbGVyX1R5cGVzIG9iamVjdFxuICAgICAqIEBwYXJhbSB2YWxcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0SGlzdG9yeUhhbmRsZXIodmFsKSB7XG4gICAgICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLkhJU1RPUllfSEFORExFUl9UWVBFUykuaW5kZXhPZih2YWwpID4gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuSElTVE9SWV9IQU5ETEVSID0gdmFsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0cyBhIHVuaXF1ZSBrZXkgZm9yIHNldHRpbmcgc3RhdGUgcGFyYW0gYnkgdXNpbmcgdGhlIHZpZXdQYXJlbnQgcHJvcGVydHkgb2YgYSB3aWRnZXRcbiAgICAgKiBzbyB0aGF0IG5hbWUgY29uZmxpY3RzIGFyZSBhdm9pZGVkIHdoZW4gdGhlIHNhbWUgd2lkZ2V0IG5hbWUgaXNcbiAgICAgKiBwcmVzZW50IGluc2lkZSBhIFBhZ2UsIGEgUGFydGlhbCB3aXRoaW4gYSBQYWdlIG9yIGEgUHJlZmFiIHdpdGhpbiBhIFBhZ2UgYW5kIHNvIG9uLlxuICAgICAqIEUuZy46XG4gICAgICogaWYgYSBwYWdlIGhhcyBhIHRhYnMgd2lkZ2V0IHdpdGggdGhlIG5hbWUgdGFiczEsIGEgcGFydGlhbCBQYXJ0aWFsMShpbnNpZGUgY29udGFpbmVyMSkgaW5jbHVzaW9uIHdpdGhpbiB3aGljaFxuICAgICAqIHRoZXJlIGlzIGEgdGFicyB3aXRoIG5hbWUgdGFiczEgYW5kIGEgcHJlZmFiIE15UHJlZmFiIGluY2x1c2lvbiB3aXRoIGEgdGFicyB3aWRnZXQgd2l0aCB0aGUgbmFtZSB0YWJzMSxcbiAgICAgKiBnZXROZXN0ZWRQYXRoIHdpbGwgcmV0dXJuIHRhYnMxLCBjb250YWluZXIxLlBhcnRpYWwxLnRhYnMxIGFuZCBNeVByZWZhYjEuTXlQcmVmYWIudGFiczEgcmVzcGVjdGl2ZWx5LlxuICAgICAqIEBwYXJhbSB2aWV3UGFyZW50XG4gICAgICogQHBhcmFtIHdpZGdldE5hbWVcbiAgICAgKiBAcGFyYW0gY3VycmVudE91dHB1dFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXROZXN0ZWRQYXRoKHZpZXdQYXJlbnQ6IGFueSwgd2lkZ2V0TmFtZTogc3RyaW5nLCBjdXJyZW50T3V0cHV0Pzogc3RyaW5nKSB7XG4gICAgICAgIGxldCBvdXQgPSBjdXJyZW50T3V0cHV0IHx8IHdpZGdldE5hbWU7XG4gICAgICAgIGlmICh2aWV3UGFyZW50ICYmICh2aWV3UGFyZW50LnByZWZhYk5hbWUgfHwgdmlld1BhcmVudC5wYXJ0aWFsTmFtZSkpIHtcbiAgICAgICAgICAgIG91dCA9IG91dC5sZW5ndGggPiAwID8gb3V0ICsgJy4nICsgKHZpZXdQYXJlbnQucHJlZmFiTmFtZSB8fCB2aWV3UGFyZW50LnBhcnRpYWxOYW1lKSA6ICh2aWV3UGFyZW50LnByZWZhYk5hbWUgfHwgdmlld1BhcmVudC5wYXJ0aWFsTmFtZSk7XG4gICAgICAgICAgICAvLyBzYW1lIHBhcnRpYWwvcHJlZmFiIGNhbiBiZSBkcm9wcGVkIG11bHRpcGxlIHRpbWVzIGluIGEgcGFnZS4gQXBwZW5kaW5nIGNvbnRhaW5lcidzIG5hbWUgZm9yIHVuaXF1ZW5lc3MuXG4gICAgICAgICAgICBvdXQgPSBvdXQgKyAnLicgKyB2aWV3UGFyZW50LmNvbnRhaW5lcldpZGdldC5uYW1lO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TmVzdGVkUGF0aCh2aWV3UGFyZW50LmNvbnRhaW5lcldpZGdldC52aWV3UGFyZW50LCB3aWRnZXROYW1lLCBvdXQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvdXQuc3BsaXQoJy4nKS5yZXZlcnNlKCkuam9pbignLicpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlY29kZXMgYW5kIHBhcnNlcyB0aGUgc3RhdGUgaW5mb3JtYXRpb24gYW5kIHJldHVybnMgdGhlIHBhcnNlZCBzdGF0ZSBvYmplY3RcbiAgICAgKiBAcGFyYW0gbW9kZSA6IG9wdGlvbmFsIHBhcmFtZXRlciBpZiB0aGUgd2lkZ2V0L3ZhcmlhYmxlIHVzZXMgYSBzdGF0ZSBoYW5kbGluZyBtb2RlKHVybCwgbG9jYWwgc3RvcmFnZSwgc2Vzc2lvbiBzdG9yYWdlKVxuICAgICAqIG90aGVyIHRoYW4gdGhlIHByb2plY3QgbGV2ZWwgbW9kZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRTdGF0ZUluZm9ybWF0aW9uKG1vZGUpIHtcbiAgICAgICAgbGV0IHBhcnNlZFN0YXRlSW5mbywgc3RhdGVJbmZvO1xuICAgICAgICBpZiAobW9kZS50b0xvd2VyQ2FzZSgpID09PSAndXJsJykge1xuICAgICAgICAgICAgY29uc3QgZGVjb2RlZFVSSSA9IGRlY29kZVVSSUNvbXBvbmVudCh3aW5kb3cubG9jYXRpb24uaHJlZik7XG4gICAgICAgICAgICBzdGF0ZUluZm8gPSBkZWNvZGVkVVJJLm1hdGNoKC8od21fc3RhdGU9KS4qPygmfCQpLyk7XG4gICAgICAgICAgICBpZiAoc3RhdGVJbmZvKSB7XG4gICAgICAgICAgICAgICAgc3RhdGVJbmZvID0gc3RhdGVJbmZvWzBdLnJlcGxhY2UoJ3dtX3N0YXRlPScsICcnKTtcbiAgICAgICAgICAgICAgICBwYXJzZWRTdGF0ZUluZm8gPSB0aGlzLnVyaVRvSnNvbihzdGF0ZUluZm8pO1xuICAgICAgICAgICAgICAgIHJldHVybiBwYXJzZWRTdGF0ZUluZm87XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAobW9kZS50b0xvd2VyQ2FzZSgpID09PSAnbG9jYWxzdG9yYWdlJykge1xuICAgICAgICAgICAgc3RhdGVJbmZvID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0od2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoL1xcLy9nLCAnJykgKyAnX3dtX3N0YXRlJyk7XG4gICAgICAgIH0gZWxzZSBpZiAobW9kZS50b0xvd2VyQ2FzZSgpID09PSAnc2Vzc2lvbnN0b3JhZ2UnKSB7XG4gICAgICAgICAgICBzdGF0ZUluZm8gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5yZXBsYWNlKC9cXC8vZywgJycpICsgJ193bV9zdGF0ZScpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGF0ZUluZm8pIHtcbiAgICAgICAgICAgIHBhcnNlZFN0YXRlSW5mbyA9IEpTT04ucGFyc2Uoc3RhdGVJbmZvKTtcbiAgICAgICAgICAgIHJldHVybiBwYXJzZWRTdGF0ZUluZm87XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBwYXNzZWQgd2lkZ2V0IGluc3RhbmNlIGhhcyBhbnkgc3RhdGUgaW5mb3JtYXRpb24gYXZhaWxhYmxlIG9yIG5vdFxuICAgICAqIEBwYXJhbSB3aWRnZXRcbiAgICAgKiBAcGFyYW0gbW9kZSA6IG9wdGlvbmFsIHBhcmFtZXRlciBpZiB0aGUgd2lkZ2V0IHVzZXMgYSBzdGF0ZSBoYW5kbGluZyBtb2RlKHVybCwgbG9jYWwgc3RvcmFnZSwgc2Vzc2lvbiBzdG9yYWdlKVxuICAgICAqIG90aGVyIHRoYW4gdGhlIHByb2plY3QgbGV2ZWwgbW9kZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRXaWRnZXRTdGF0ZSh3aWRnZXQsIG1vZGU/KSB7XG4gICAgICAgIG1vZGUgPSBtb2RlIHx8IHRoaXMuY29tcHV0ZU1vZGUod2lkZ2V0LnN0YXRlaGFuZGxlcik7XG4gICAgICAgIGlmICghbW9kZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGxldCBwYXJzZWRTdGF0ZUluZm8gPSB0aGlzLmdldFN0YXRlSW5mb3JtYXRpb24obW9kZSk7XG4gICAgICAgIGlmIChwYXJzZWRTdGF0ZUluZm8gJiYgd2lkZ2V0ICAmJiB3aWRnZXQuZ2V0QXBwSW5zdGFuY2UoKS5hY3RpdmVQYWdlTmFtZSAmJiAobW9kZS50b0xvd2VyQ2FzZSgpID09PSAnbG9jYWxzdG9yYWdlJyB8fCBtb2RlLnRvTG93ZXJDYXNlKCkgPT09ICdzZXNzaW9uc3RvcmFnZScpKSB7XG4gICAgICAgICAgICBwYXJzZWRTdGF0ZUluZm8gPSBwYXJzZWRTdGF0ZUluZm9bd2lkZ2V0LmdldEFwcEluc3RhbmNlKCkuYWN0aXZlUGFnZU5hbWVdO1xuICAgICAgICB9XG4gICAgICAgIGlmIChnZXQocGFyc2VkU3RhdGVJbmZvLCB0aGlzLldJREdFVF9TVEFURV9LRVkpKSB7XG4gICAgICAgICAgICBjb25zdCBzdGF0ZUtleSA9IHRoaXMuZ2V0TmVzdGVkUGF0aCh3aWRnZXQudmlld1BhcmVudCwgd2lkZ2V0LmdldFdpZGdldCgpLm5hbWUpO1xuICAgICAgICAgICAgcmV0dXJuIHBhcnNlZFN0YXRlSW5mb1t0aGlzLldJREdFVF9TVEFURV9LRVldW3N0YXRlS2V5XTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcHVibGljIGNvbXB1dGVNb2RlKHdpZGdldFN0YXRlSGFuZGxlcikge1xuICAgICAgICBpZiAoIXdpZGdldFN0YXRlSGFuZGxlcikge1xuICAgICAgICAgICAgcmV0dXJuICd1cmwnO1xuICAgICAgICB9IGVsc2UgaWYgKHdpZGdldFN0YXRlSGFuZGxlciAmJiB3aWRnZXRTdGF0ZUhhbmRsZXIudG9Mb3dlckNhc2UoKSA9PT0gJ25vbmUnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gd2lkZ2V0U3RhdGVIYW5kbGVyLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBwYXNzZWQgdmFsdWUgdG8gdGhlIHN0YXRlIGluZm9ybWF0aW9uIGJ5IHVzaW5nIHRoZSBwYXNzZWQgd2lkZ2V0IGluc3RhbmNlXG4gICAgICogQHBhcmFtIHdpZGdldFxuICAgICAqIEBwYXJhbSB2YWx1ZVxuICAgICAqIEBwYXJhbSBtb2RlIDogb3B0aW9uYWwgcGFyYW1ldGVyIGlmIHRoZSB3aWRnZXQgdXNlcyBhIHN0YXRlIGhhbmRsaW5nIG1vZGUodXJsLCBsb2NhbCBzdG9yYWdlLCBzZXNzaW9uIHN0b3JhZ2UpXG4gICAgICogb3RoZXIgdGhhbiB0aGUgcHJvamVjdCBsZXZlbCBtb2RlXG4gICAgICovXG4gICAgcHVibGljIHNldFdpZGdldFN0YXRlKHdpZGdldCwgdmFsdWUsIG1vZGU/KSB7XG4gICAgICAgIGNvbnN0IHN0YXRlS2V5ID0gdGhpcy5nZXROZXN0ZWRQYXRoKHdpZGdldC52aWV3UGFyZW50LCB3aWRnZXQuZ2V0V2lkZ2V0KCkubmFtZSk7XG4gICAgICAgIG1vZGUgPSBtb2RlIHx8IHRoaXMuY29tcHV0ZU1vZGUod2lkZ2V0LnN0YXRlaGFuZGxlcik7XG4gICAgICAgIGlmICghbW9kZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0U3RhdGVQYXJhbXModGhpcy5XSURHRVRfU1RBVEVfS0VZLCBzdGF0ZUtleSwgdmFsdWUsIG1vZGUsIHdpZGdldCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyB0aGUgcGFzc2VkIHdpZGdldOKAmXMgc3RhdGUgaW5mb3JtYXRpb24gZnJvbSB0aGUgU3RhdGUgT2JqZWN0LiBJZiBhIGtleSBpcyBwYXNzZWQsIHRoZW4gb25seSB0aGF0XG4gICAgICogcGFydGljdWxhciBlbnRyeSB3aWxsIGJlIHJlbW92ZWQsIG5vdCBhbnkgb3RoZXIgZW50cmllcyBmb3IgdGhhdCB3aWRnZXQuXG4gICAgICogQHBhcmFtIHdpZGdldFxuICAgICAqIEBwYXJhbSBrZXlcbiAgICAgKiBAcGFyYW0gbW9kZSA6IG9wdGlvbmFsIHBhcmFtZXRlciBpZiB0aGUgd2lkZ2V0IHVzZXMgYSBzdGF0ZSBoYW5kbGluZyBtb2RlKHVybCwgbG9jYWwgc3RvcmFnZSwgc2Vzc2lvbiBzdG9yYWdlKVxuICAgICAqIG90aGVyIHRoYW4gdGhlIHByb2plY3QgbGV2ZWwgbW9kZVxuICAgICAqL1xuICAgIHB1YmxpYyByZW1vdmVXaWRnZXRTdGF0ZSh3aWRnZXQsIGtleT8sIG1vZGU/KSB7XG4gICAgICAgIG1vZGUgPSBtb2RlIHx8IHRoaXMuY29tcHV0ZU1vZGUod2lkZ2V0LnN0YXRlaGFuZGxlcik7XG4gICAgICAgIGlmICghbW9kZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXRlS2V5ID0gdGhpcy5nZXROZXN0ZWRQYXRoKHdpZGdldC52aWV3UGFyZW50LCB3aWRnZXQuZ2V0V2lkZ2V0KCkubmFtZSk7XG4gICAgICAgIHRoaXMucmVtb3ZlU3RhdGVQYXJhbSh0aGlzLldJREdFVF9TVEFURV9LRVksIHN0YXRlS2V5LCBrZXksIG1vZGUsIHdpZGdldCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgcGFzc2VkIHZhbHVlIHRvIHRoZSBzdGF0ZSBpbmZvcm1hdGlvbiBieSB1c2luZyB0aGUgcGFzc2VkIHZhcmlhYmxlIG5hbWUgYXMga2V5XG4gICAgICogQHBhcmFtIHZhcmlhYmxlTmFtZVxuICAgICAqIEBwYXJhbSB2YWx1ZVxuICAgICAqIEBwYXJhbSBtb2RlIDogb3B0aW9uYWwgcGFyYW1ldGVyIGlmIHRoZSB2YXJpYWJsZSB1c2VzIGEgc3RhdGUgaGFuZGxpbmcgbW9kZSh1cmwsIGxvY2FsIHN0b3JhZ2UsIHNlc3Npb24gc3RvcmFnZSlcbiAgICAgKiBvdGhlciB0aGFuIHRoZSBwcm9qZWN0IGxldmVsIG1vZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0U3RhdGVWYXJpYWJsZSh2YXJpYWJsZU5hbWUsIHZhbHVlLCBtb2RlPykge1xuICAgICAgICBtb2RlID0gbW9kZSB8fCB0aGlzLmNvbXB1dGVNb2RlKG1vZGUpO1xuICAgICAgICBpZiAoIW1vZGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNldFN0YXRlUGFyYW1zKCcnLCB2YXJpYWJsZU5hbWUsIHZhbHVlLCBtb2RlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIHBhc3NlZCB2YXJpYWJsZSBuYW1lIGhhcyBhbnkgc3RhdGUgaW5mb3JtYXRpb24gYXZhaWxhYmxlIGluIHRoZSB1cmwgb3Igbm90XG4gICAgICogQHBhcmFtIHZhcmlhYmxlTmFtZVxuICAgICAqIEBwYXJhbSBtb2RlIDogb3B0aW9uYWwgcGFyYW1ldGVyIGlmIHRoZSB2YXJpYWJsZSB1c2VzIGEgc3RhdGUgaGFuZGxpbmcgbW9kZSh1cmwsIGxvY2FsIHN0b3JhZ2UsIHNlc3Npb24gc3RvcmFnZSlcbiAgICAgKiBvdGhlciB0aGFuIHRoZSBwcm9qZWN0IGxldmVsIG1vZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U3RhdGVWYXJpYWJsZSh2YXJpYWJsZU5hbWU6IHN0cmluZywgbW9kZT8pIHtcbiAgICAgICAgbW9kZSA9IG1vZGUgfHwgdGhpcy5jb21wdXRlTW9kZShtb2RlKTtcbiAgICAgICAgaWYgKCFtb2RlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFyc2VkU3RhdGVJbmZvID0gdGhpcy5nZXRTdGF0ZUluZm9ybWF0aW9uKG1vZGUpO1xuICAgICAgICBpZiAocGFyc2VkU3RhdGVJbmZvKSB7XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VkU3RhdGVJbmZvW3ZhcmlhYmxlTmFtZV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgdGhlIHBhc3NlZCB2YXJpYWJsZeKAmXMgc3RhdGUgaW5mb3JtYXRpb24gZnJvbSB0aGUgVVJMLlxuICAgICAqIEBwYXJhbSB2YXJpYWJsZU5hbWVcbiAgICAgKiBAcGFyYW0gbW9kZSA6IG9wdGlvbmFsIHBhcmFtZXRlciBpZiB0aGUgd2lkZ2V0IHVzZXMgYSBzdGF0ZSBoYW5kbGluZyBtb2RlKHVybCwgbG9jYWwgc3RvcmFnZSwgc2Vzc2lvbiBzdG9yYWdlKVxuICAgICAqIG90aGVyIHRoYW4gdGhlIHByb2plY3QgbGV2ZWwgbW9kZVxuICAgICAqL1xuICAgIHB1YmxpYyByZW1vdmVTdGF0ZVZhcmlhYmxlKHZhcmlhYmxlTmFtZSwgbW9kZT8pIHtcbiAgICAgICAgbW9kZSA9IG1vZGUgfHwgdGhpcy5jb21wdXRlTW9kZShtb2RlKTtcbiAgICAgICAgaWYgKCFtb2RlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZW1vdmVTdGF0ZVBhcmFtKCcnLCB2YXJpYWJsZU5hbWUsIG51bGwsIG1vZGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHBhc3NlZCBzdGF0ZSBpbmZvcm1hdGlvbiBpbiB0aGUgdXJsIGJ5IHBhcnNpbmcgdGhlIHBhc3NlZCB2YWx1ZSBhbmQgY2hlY2tpbmdcbiAgICAgKiBpdHMgdHlwZS4gSWYgaXRzIGFuIGFycmF5IHR5cGUsIHRoZW4gdGhlIHBhc3NlZCB2YWx1ZXMgd2lsbCBiZSBwdXNoZWQgaW50byBhbiBhcnJheSBhbmQgdGhlbiBzZXQgaW4gdGhlIHN0YXRlXG4gICAgICogRS5nLlxuICAgICAqIEN1cnJlbnQgc3RhdGUgaW5mb3JtYXRpb24gaXMgbGlrZSA6XG4gICAgIHtcbiAgICAgICBcIndpZGdldF9zdGF0ZVwiOiB7XG4gICAgICAgICAgIFwiVGFibGUxXCI6IHtcbiAgICAgICAgICAgICAgIFwic2VsZWN0ZWRJdGVtXCI6IFtcbiAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgIFwicGFnZVwiOiBcIjFcIixcbiAgICAgICAgICAgICAgICAgICBcImluZGV4XCI6IFwiMVwiXG4gICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgIFwicGFnaW5hdGlvblwiOiBcIjFcIlxuICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICB9XG4gICAgICogSW5wdXQgdmFsdWUgd2lsbCBiZSBsaWtlOlxuICAgICB7XG4gICAgICAgXCJzZWxlY3RlZEl0ZW1cIjogW1xuICAgICAgICAge1xuICAgICAgICAgICBcInBhZ2VcIjogXCIxXCIsXG4gICAgICAgICAgIFwiaW5kZXhcIjogXCIyXCJcbiAgICAgICAgIH1cbiAgICAgICBdXG4gICAgIH1cblxuICAgICAqIFRoaXMgcGFyc2luZyBsb2dpYyB3aWxsIGNvbnZlcnQgaXQgdG8gdGhlIGZvbGxvd2luZ1xuICAgICB7XG4gICAgICAgXCJ3aWRnZXRfc3RhdGVcIjoge1xuICAgICAgICAgICBcIlRhYmxlMVwiOiB7XG4gICAgICAgICAgICAgICBcInNlbGVjdGVkSXRlbVwiOiBbXG4gICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICBcInBhZ2VcIjogXCIxXCIsXG4gICAgICAgICAgICAgICAgICAgXCJpbmRleFwiOiBcIjFcIlxuICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgXCJwYWdlXCI6IFwiMVwiLFxuICAgICAgICAgICAgICAgICAgIFwiaW5kZXhcIjogXCIyXCJcbiAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgXCJwYWdpbmF0aW9uXCI6IFwiMVwiXG4gICAgICAgICB9XG4gICAgICAgICB9XG4gICAgIH1cbiAgICAgKiBCYXNlZCBvbiBob3cgdGhlIEhJU1RPUllfSEFORExFUiBpcyBjb25maWd1cmVkLCB0aGUgdXBkYXRlZCB1cmwgd2lsbCBlaXRoZXIgcmVwbGFjZSB0aGUgZXhpc3RpbmcgdXJsIG9yXG4gICAgICogcHVzaCBhIG5ldyBzdGF0ZSBpbiB0aGUgdXJsIHNvIHRoYXQgYmFjayBidXR0b24gbWF5IHRyYWNrIGVhY2ggdXBkYXRlIHRvIHRoZSBzdGF0ZS5cbiAgICAgKiBAcGFyYW0gc3RhdGVQYXJhbVxuICAgICAqIEBwYXJhbSBrZXlcbiAgICAgKiBAcGFyYW0gdmFsXG4gICAgICogQHBhcmFtIG1vZGUgOiBvcHRpb25hbCBwYXJhbWV0ZXIgaWYgdGhlIHdpZGdldC92YXJpYWJsZSB1c2VzIGEgc3RhdGUgaGFuZGxpbmcgbW9kZSh1cmwsIGxvY2FsIHN0b3JhZ2UsIHNlc3Npb24gc3RvcmFnZSlcbiAgICAgKiBvdGhlciB0aGFuIHRoZSBwcm9qZWN0IGxldmVsIG1vZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0U3RhdGVQYXJhbXMoc3RhdGVQYXJhbTogc3RyaW5nLCBrZXk6IHN0cmluZywgdmFsOiBhbnksIG1vZGU/LCB3aWRnZXQ/KSB7XG4gICAgICAgIGxldCB1cmwgPSAnJywgcGFyc2VkT2JqO1xuICAgICAgICBjb25zdCBzdGF0ZU9iaiA9IHRoaXMuZ2V0U3RhdGVJbmZvcm1hdGlvbihtb2RlKTtcbiAgICAgICAgaWYgKHdpZGdldCAmJiBzdGF0ZU9iaiAmJiB3aWRnZXQuZ2V0QXBwSW5zdGFuY2UoKS5hY3RpdmVQYWdlTmFtZSAmJiAobW9kZS50b0xvd2VyQ2FzZSgpID09PSAnbG9jYWxzdG9yYWdlJyB8fCBtb2RlLnRvTG93ZXJDYXNlKCkgPT09ICdzZXNzaW9uc3RvcmFnZScpKSB7XG4gICAgICAgICAgICBwYXJzZWRPYmogPSBzdGF0ZU9ialt3aWRnZXQuZ2V0QXBwSW5zdGFuY2UoKS5hY3RpdmVQYWdlTmFtZV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwYXJzZWRPYmogPSBjbG9uZShzdGF0ZU9iaik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0YXRlUGFyYW0pIHtcbiAgICAgICAgICAgIGlmIChwYXJzZWRPYmogJiYgIXBhcnNlZE9ialtzdGF0ZVBhcmFtXSkge1xuICAgICAgICAgICAgICAgIHBhcnNlZE9ialtzdGF0ZVBhcmFtXSA9IHt9O1xuICAgICAgICAgICAgfSBlbHNlIGlmICghcGFyc2VkT2JqKSB7XG4gICAgICAgICAgICAgICAgcGFyc2VkT2JqID0ge1tzdGF0ZVBhcmFtXToge319O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzT2JqZWN0KHZhbCkgJiYgIWlzQXJyYXkodmFsKSkge1xuICAgICAgICAgICAgICAgIHBhcnNlZE9ialtzdGF0ZVBhcmFtXVtrZXldID0gcGFyc2VkT2JqW3N0YXRlUGFyYW1dW2tleV0gfHwge307XG4gICAgICAgICAgICAgICAgbWVyZ2UocGFyc2VkT2JqW3N0YXRlUGFyYW1dW2tleV0sIHZhbCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhcnNlZE9ialtzdGF0ZVBhcmFtXVtrZXldID0gdmFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHBhcnNlZE9iaiAmJiAhcGFyc2VkT2JqW2tleV0pIHtcbiAgICAgICAgICAgICAgICBwYXJzZWRPYmpba2V5XSA9IHt9O1xuICAgICAgICAgICAgfSBlbHNlIGlmICghcGFyc2VkT2JqKSB7XG4gICAgICAgICAgICAgICAgcGFyc2VkT2JqID0ge1trZXldOiB7fX07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNPYmplY3QodmFsKSAmJiAhaXNBcnJheSh2YWwpKSB7XG4gICAgICAgICAgICAgICAgcGFyc2VkT2JqW2tleV0gPSBwYXJzZWRPYmpba2V5XSB8fCB7fTtcbiAgICAgICAgICAgICAgICBtZXJnZShwYXJzZWRPYmpba2V5XSwgdmFsKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFyc2VkT2JqW2tleV0gPSB2YWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gZm9yIExvY2FsIGFuZCBTZXNzaW9uIFN0b3JhZ2UsIHdyYXAgc3RhdGUgb2JqZWN0IGluc2lkZSBwYWdlIG5hbWUgc28gdGhhdCB3aWRnZXQgbmFtZSBjb25mbGljdHMgZG9uJ3QgYXJpc2UgYmV0d2VlbiBwYWdlcy5cbiAgICAgICAgaWYgKHdpZGdldCAmJiB3aWRnZXQuZ2V0QXBwSW5zdGFuY2UoKS5hY3RpdmVQYWdlTmFtZSAmJiAobW9kZS50b0xvd2VyQ2FzZSgpID09PSAnbG9jYWxzdG9yYWdlJyB8fCBtb2RlLnRvTG93ZXJDYXNlKCkgPT09ICdzZXNzaW9uc3RvcmFnZScpKSB7XG4gICAgICAgICAgICBpZiAoc3RhdGVPYmopIHtcbiAgICAgICAgICAgICAgICBzdGF0ZU9ialt3aWRnZXQuZ2V0QXBwSW5zdGFuY2UoKS5hY3RpdmVQYWdlTmFtZV0gPSBwYXJzZWRPYmo7XG4gICAgICAgICAgICAgICAgcGFyc2VkT2JqID0gc3RhdGVPYmo7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhcnNlZE9iaiA9IHtbd2lkZ2V0LmdldEFwcEluc3RhbmNlKCkuYWN0aXZlUGFnZU5hbWVdOiBwYXJzZWRPYmp9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuXG4gICAgICAgIGxldCBkZWNvZGVkVVJJID0gZGVjb2RlVVJJQ29tcG9uZW50KHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgICAgICAgaWYgKGRlY29kZWRVUkkuaW5kZXhPZignPycpIDwgMCkge1xuICAgICAgICAgICAgZGVjb2RlZFVSSSA9IGRlY29kZWRVUkkgKyAnP3dtX3N0YXRlPSc7XG4gICAgICAgIH0gZWxzZSBpZiAoZGVjb2RlZFVSSS5pbmRleE9mKCd3bV9zdGF0ZScpIDwgMCkge1xuICAgICAgICAgICAgZGVjb2RlZFVSSSA9IGRlY29kZWRVUkkgKyAnJndtX3N0YXRlPSc7XG4gICAgICAgIH1cbiAgICAgICAgdXJsID0gZGVjb2RlZFVSSS5yZXBsYWNlKC8od21fc3RhdGU9KS4qPygmfCQpLyAsJyQxJyArIHRoaXMuanNvblRvVXJpKHBhcnNlZE9iaikgKyAnJDInKTtcblxuICAgICAgICBpZiAobW9kZS50b0xvd2VyQ2FzZSgpID09PSAnbG9jYWxzdG9yYWdlJykge1xuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0od2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoL1xcLy9nLCAnJykgKyAnX3dtX3N0YXRlJywgSlNPTi5zdHJpbmdpZnkocGFyc2VkT2JqKSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSBpZiAobW9kZS50b0xvd2VyQ2FzZSgpID09PSAnc2Vzc2lvbnN0b3JhZ2UnKSB7XG4gICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5yZXBsYWNlKC9cXC8vZywgJycpICsgJ193bV9zdGF0ZScsIEpTT04uc3RyaW5naWZ5KHBhcnNlZE9iaikpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRlY29kZVVSSUNvbXBvbmVudCh3aW5kb3cubG9jYXRpb24uaHJlZikgPT09IGRlY29kZVVSSUNvbXBvbmVudCh1cmwpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuSElTVE9SWV9IQU5ETEVSID09PSAncHVzaCcpIHtcbiAgICAgICAgICAgIHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZSh7IHBhdGg6IHVybCB9LCAnJywgdXJsKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLkhJU1RPUllfSEFORExFUiA9PT0gJ3JlcGxhY2UnKSB7XG4gICAgICAgICAgICB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoeyBwYXRoOiB1cmwgfSwgJycsIHVybCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIHRoZSBwYXNzZWQgc3RhdGUgaW5mb3JtYXRpb24gZnJvbSB0aGUgdXJsXG4gICAgICogRS5nLlxuICAgICAqIEN1cnJlbnQgc3RhdGUgaW5mb3JtYXRpb24gaXMgbGlrZSA6XG4gICAgIHtcbiAgICAgICBcIndpZGdldF9zdGF0ZVwiOiB7XG4gICAgICAgICAgIFwiVGFibGUxXCI6IHtcbiAgICAgICAgICAgICAgIFwic2VsZWN0ZWRJdGVtXCI6IFtcbiAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgIFwicGFnZVwiOiBcIjFcIixcbiAgICAgICAgICAgICAgICAgICBcImluZGV4XCI6IFwiMVwiXG4gICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgXCJwYWdlXCI6IFwiMlwiLFxuICAgICAgICAgICAgICAgICBcImluZGV4XCI6IFwiMVwiXG4gICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgIFwicGFnaW5hdGlvblwiOiBcIjFcIlxuICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICB9XG4gICAgICogSW5wdXQgdmFsdWVzIHdpbGwgYmUgbGlrZTpcbiAgICAgc3ViUGFyYW0gOiAnc2VsZWN0ZWRJdGVtJ1xuXG4gICAgICogVGhpcyBtZXRob2Qgd2lsbCBjb252ZXJ0IGl0IHRvIHRoZSBmb2xsb3dpbmdcbiAgICAge1xuICAgICAgIFwid2lkZ2V0X3N0YXRlXCI6IHtcbiAgICAgICAgICAgXCJUYWJsZTFcIjoge1xuICAgICAgICAgICAgIFwicGFnaW5hdGlvblwiOiBcIjFcIlxuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICB9XG4gICAgICogQHBhcmFtIHN0YXRlUGFyYW1cbiAgICAgKiBAcGFyYW0ga2V5XG4gICAgICogQHBhcmFtIHN1YlBhcmFtXG4gICAgICogQHBhcmFtIG1vZGUgOiBvcHRpb25hbCBwYXJhbWV0ZXIgaWYgdGhlIHdpZGdldC92YXJpYWJsZSB1c2VzIGEgc3RhdGUgaGFuZGxpbmcgbW9kZSh1cmwsIGxvY2FsIHN0b3JhZ2UsIHNlc3Npb24gc3RvcmFnZSlcbiAgICAgKiBvdGhlciB0aGFuIHRoZSBwcm9qZWN0IGxldmVsIG1vZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVtb3ZlU3RhdGVQYXJhbShzdGF0ZVBhcmFtLCBrZXksIHN1YlBhcmFtPywgbW9kZT8sIHdpZGdldD8pIHtcbiAgICAgICAgbGV0IHVybCA9ICcnLCBwYXJzZWRPYmo7XG4gICAgICAgIGNvbnN0IHN0YXRlT2JqID0gdGhpcy5nZXRTdGF0ZUluZm9ybWF0aW9uKG1vZGUpO1xuICAgICAgICBpZiAod2lkZ2V0ICYmIHN0YXRlT2JqICYmIHdpZGdldC5nZXRBcHBJbnN0YW5jZSgpLmFjdGl2ZVBhZ2VOYW1lICYmIChtb2RlLnRvTG93ZXJDYXNlKCkgPT09ICdsb2NhbHN0b3JhZ2UnIHx8IG1vZGUudG9Mb3dlckNhc2UoKSA9PT0gJ3Nlc3Npb25zdG9yYWdlJykpIHtcbiAgICAgICAgICAgIHBhcnNlZE9iaiA9IHN0YXRlT2JqW3dpZGdldC5nZXRBcHBJbnN0YW5jZSgpLmFjdGl2ZVBhZ2VOYW1lXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBhcnNlZE9iaiA9IGNsb25lKHN0YXRlT2JqKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWdldChwYXJzZWRPYmosIFtzdGF0ZVBhcmFtXSkgJiYgIWdldChwYXJzZWRPYmosIGtleSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBGaXggZm9yIFtXTVMtMjQ2OThdOiB3aGVuIHRhYmxlIGlzIGluc2lkZSBhIHByZWZhYiwgc3RhdGUgcGVyc2lzdGVuY2Uga2V5IGlzIGxpa2UgXCJUZXN0TGFiZWxfMTEuVGVzdExhYmVsXzEuc3RhdGljVmFyaWFibGUxVGFibGUxXCJcbiAgICAgICAgLy8gZ2V0KHBhcnNlZE9iaiwgc3RhdGVQYXJhbSArICcuJyArIGtleSkgaXMgdW5kZWZpbmVkIHNvIHVzaW5nIChwYXJzZWRPYmogJiYgcGFyc2VkT2JqW3N0YXRlUGFyYW1dICYmIHBhcnNlZE9ialtzdGF0ZVBhcmFtXVtrZXldKSBjb25kaXRpb24uXG4gICAgICAgIGlmIChnZXQocGFyc2VkT2JqLCBzdGF0ZVBhcmFtICsgJy4nICsga2V5KSB8fCAocGFyc2VkT2JqICYmIHBhcnNlZE9ialtzdGF0ZVBhcmFtXSAmJiBwYXJzZWRPYmpbc3RhdGVQYXJhbV1ba2V5XSkpIHtcbiAgICAgICAgICAgIGlmIChzdWJQYXJhbSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBwYXJzZWRPYmpbc3RhdGVQYXJhbV1ba2V5XVtzdWJQYXJhbV07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBwYXJzZWRPYmpbc3RhdGVQYXJhbV1ba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0VtcHR5KHBhcnNlZE9ialtzdGF0ZVBhcmFtXVtrZXldKSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBwYXJzZWRPYmpbc3RhdGVQYXJhbV1ba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0VtcHR5KHBhcnNlZE9ialtzdGF0ZVBhcmFtXSkpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgcGFyc2VkT2JqW3N0YXRlUGFyYW1dO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKCFzdGF0ZVBhcmFtICYmIGdldChwYXJzZWRPYmosIGtleSkpIHtcbiAgICAgICAgICAgIGRlbGV0ZSBwYXJzZWRPYmpba2V5XTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGZvciBMb2NhbCBhbmQgU2Vzc2lvbiBTdG9yYWdlLCB3cmFwIHN0YXRlIG9iamVjdCBpbnNpZGUgcGFnZSBuYW1lIHNvIHRoYXQgd2lkZ2V0IG5hbWUgY29uZmxpY3RzIGRvbid0IGFyaXNlIGJldHdlZW4gcGFnZXMuXG4gICAgICAgIGlmICh3aWRnZXQgJiYgd2lkZ2V0LmdldEFwcEluc3RhbmNlKCkuYWN0aXZlUGFnZU5hbWUgJiYgKG1vZGUudG9Mb3dlckNhc2UoKSA9PT0gJ2xvY2Fsc3RvcmFnZScgfHwgbW9kZS50b0xvd2VyQ2FzZSgpID09PSAnc2Vzc2lvbnN0b3JhZ2UnKSkge1xuICAgICAgICAgICAgaWYgKHN0YXRlT2JqKSB7XG4gICAgICAgICAgICAgICAgc3RhdGVPYmpbd2lkZ2V0LmdldEFwcEluc3RhbmNlKCkuYWN0aXZlUGFnZU5hbWVdID0gcGFyc2VkT2JqO1xuICAgICAgICAgICAgICAgIHBhcnNlZE9iaiA9IHN0YXRlT2JqO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBwYXJzZWRPYmogPSB7W3dpZGdldC5nZXRBcHBJbnN0YW5jZSgpLmFjdGl2ZVBhZ2VOYW1lXTogcGFyc2VkT2JqfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICAgIGlmIChtb2RlLnRvTG93ZXJDYXNlKCkgPT09ICdsb2NhbHN0b3JhZ2UnKSB7XG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUucmVwbGFjZSgvXFwvL2csICcnKSArICdfd21fc3RhdGUnLCBKU09OLnN0cmluZ2lmeShwYXJzZWRPYmopKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIGlmIChtb2RlLnRvTG93ZXJDYXNlKCkgPT09ICdzZXNzaW9uc3RvcmFnZScpIHtcbiAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0od2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoL1xcLy9nLCAnJykgKyAnX3dtX3N0YXRlJywgSlNPTi5zdHJpbmdpZnkocGFyc2VkT2JqKSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkZWNvZGVkVVJJID0gZGVjb2RlVVJJQ29tcG9uZW50KHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgICAgICAgaWYgKGlzRW1wdHkocGFyc2VkT2JqKSkge1xuICAgICAgICAgICAgdXJsID0gZGVjb2RlZFVSSS5yZXBsYWNlKC8od21fc3RhdGU9KS4qPygmfCQpLyAsJycgKyAnJDInKTtcbiAgICAgICAgICAgIGlmIChpbmNsdWRlcyhbJyYnLCAnPyddLCB1cmwuY2hhckF0KHVybC5sZW5ndGggLSAxKSkpIHtcbiAgICAgICAgICAgICAgICB1cmwgPSB1cmwucmVwbGFjZSh1cmwuY2hhckF0KHVybC5sZW5ndGggLSAxKSwgJycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdXJsID0gZGVjb2RlZFVSSS5yZXBsYWNlKC8od21fc3RhdGU9KS4qPygmfCQpLyAsJyQxJyArIHRoaXMuanNvblRvVXJpKHBhcnNlZE9iaikgKyAnJDInKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHdpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSh7IHBhdGg6IHVybCB9LCAnJywgdXJsKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyB0aGUgU3RhdGUgSW5mb3JtYXRpb24gb2JqZWN0IGludG8gYW4gZW5jb2RlZCBvYmplY3Qgd2hlbiBzdGF0ZSBoYW5kbGluZyBtb2RlIGlzIFVSTFxuICAgICAqIHNvIHRoYXQgYSBtZWFuaW5nZnVsIFVSTCBjYW4gYmUgZm9ybWVkIGFuZCB0aGUgdXNlciBjYW4gbWFrZSBjaGFuZ2VzIGVhc2lseSB0byB0aGUgVVJMLlxuICAgICAqIEUuZy5cbiAgICAgKiBzdGF0ZSBpbmZvcm1hdGlvbiBpbnB1dCB3aWxsIGJlIGxpa2UgOlxuICAgICB7XG4gICAgICAgICBcIndpZGdldC1zdGF0ZVwiOiB7XG4gICAgICAgICAgICAgXCJUYWJsZTFcIjoge1xuICAgICAgICAgICAgIFwicGFnaW5hdGlvblwiOiBcIjNcIixcbiAgICAgICAgICAgICBcInNlYXJjaFwiOltcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZpZWxkXCI6XCJzdGF0ZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjpcIk5ZXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtYXRjaE1vZGVcIjpcImFueXdoZXJlaWdub3JlY2FzZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOlwic3RyaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICB9LFxuICAgICBcIkN1c3RvbVZhcmlhYmxlU2VsZWN0ZWRJdGVtc1wiOiBbXCIyXCIsIFwiM1wiXVxuICAgICB9XG5cblxuICAgICAqIFRoaXMgbWV0aG9kIHdpbGwgY29udmVydCBpdCB0byB0aGUgZm9sbG93aW5nXG4gICAgICgnd2lkZ2V0LXN0YXRlJ34oJ1RhYmxlMSd+KCdwYWdpbmF0aW9uJ34nMydfJ3NlYXJjaCd+ISgnZmllbGQnfidzdGF0ZSdfJ3ZhbHVlJ34nTlknXydtYXRjaE1vZGUnfidhbnl3aGVyZWlnbm9yZWNhc2UnXyd0eXBlJ34nc3RyaW5nJykqKSlfJ0N1c3RvbVZhcmlhYmxlU2VsZWN0ZWRJdGVtcyd+IScyJ18nMycqKVxuICAgICAqIEBwYXJhbSBqc29uT2JqXG4gICAgICovXG4gICAgcHJpdmF0ZSBqc29uVG9VcmkoanNvbk9iaikge1xuICAgICAgICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KFxuICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoanNvbk9iailcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvWygpJ35fISpdL2csIGZ1bmN0aW9uKGMpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gUmVwbGFjZSAoKSd+XyEqIHdpdGggXFx1MDAwMCBlc2NhcGUgc2VxdWVuY2VzXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAnXFxcXHUnICsgKCcwMDAwJyArIGMuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikpLnNsaWNlKC00KVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcey9nLCAnKCcpICAgIC8vICAgIHsgLT4gKFxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXH0vZywgJyknKSAgICAvLyAgICB9IC0+IClcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvXCIvZywgIFwiJ1wiKSAgICAvLyAgICBcIiAtPiAnXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcOi9nLCAnficpICAgIC8vICAgIDogLT4gflxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC8sL2csICAnXycpICAgIC8vICAgICwgLT4gX1xuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXFsvZywgJyEnKSAgICAvLyAgICBbIC0+ICFcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvXFxdL2csICcqJykgICAgLy8gICAgXSAtPiAqXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVjb2RlcyB0aGUgZW5jb2RlZCBTdGF0ZSBJbmZvcm1hdGlvbiBvYmplY3QgaW50byBhIEpTT04gb2JqZWN0IHdoZW4gc3RhdGUgaGFuZGxpbmcgbW9kZSBpcyBVUkxcbiAgICAgKiBzbyB0aGF0IHN0YXRlIGluZm9ybWF0aW9uIGNhbiBiZSBwYXJzZWQgYW5kIGFwcGxpZWQgdG8gdGhlIHdpZGdldHMuXG4gICAgICogRS5nLlxuICAgICAqIGVuY29kZWQgc3RhdGUgaW5mb3JtYXRpb24gaW5wdXQgd2lsbCBiZSBsaWtlIDpcbiAgICAgKCd3aWRnZXQtc3RhdGUnfignVGFibGUxJ34oJ3BhZ2luYXRpb24nficzJ18nc2VhcmNoJ34hKCdmaWVsZCd+J3N0YXRlJ18ndmFsdWUnfidOWSdfJ21hdGNoTW9kZSd+J2FueXdoZXJlaWdub3JlY2FzZSdfJ3R5cGUnfidzdHJpbmcnKSopKV8nQ3VzdG9tVmFyaWFibGVTZWxlY3RlZEl0ZW1zJ34hJzInXyczJyopXG5cblxuICAgICAqIFRoaXMgbWV0aG9kIHdpbGwgY29udmVydCBpdCB0byB0aGUgZm9sbG93aW5nXG4gICAgIHtcbiAgICAgICAgIFwid2lkZ2V0LXN0YXRlXCI6IHtcbiAgICAgICAgICAgICBcIlRhYmxlMVwiOiB7XG4gICAgICAgICAgICAgXCJwYWdpbmF0aW9uXCI6IFwiM1wiLFxuICAgICAgICAgICAgIFwic2VhcmNoXCI6W1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZmllbGRcIjpcInN0YXRlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOlwiTllcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1hdGNoTW9kZVwiOlwiYW55d2hlcmVpZ25vcmVjYXNlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6XCJzdHJpbmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgIH0sXG4gICAgIFwiQ3VzdG9tVmFyaWFibGVTZWxlY3RlZEl0ZW1zXCI6IFtcIjJcIiwgXCIzXCJdXG4gICAgIH1cbiAgICAgKiBAcGFyYW0gZW5jb2RlZE9ialxuICAgICAqL1xuICAgIHByaXZhdGUgdXJpVG9Kc29uKGVuY29kZWRPYmopIHtcbiAgICAgICAgbGV0IHJlc3BvbnNlOiBhbnk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXNwb25zZSA9IEpTT04ucGFyc2UoXG4gICAgICAgICAgICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KGVuY29kZWRPYmopXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXCgvZywgJ3snKSAgICAvLyAgICAoIC0+IHtcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcKS9nLCAnfScpICAgIC8vICAgICkgLT4gfVxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvJy9nLCAgJ1wiJykgICAgLy8gICAgJyAtPiBcIlxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvfi9nLCAgJzonKSAgICAvLyAgICB+IC0+IDpcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL18vZywgICcsJykgICAgLy8gICAgXyAtPiAsXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXCEvZywgJ1snKSAgICAvLyAgICAhIC0+IFtcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcKi9nLCAnXScpICAgIC8vICAgICogLT4gXVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG59XG5cbiJdfQ==
|
|
@@ -13,11 +13,11 @@ export class CustomPipeManager {
|
|
|
13
13
|
hasCustomPipe(key) {
|
|
14
14
|
return this.customPipes.has(key);
|
|
15
15
|
}
|
|
16
|
-
static { this.ɵfac =
|
|
17
|
-
static { this.ɵprov =
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomPipeManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
17
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomPipeManager, providedIn: 'root' }); }
|
|
18
18
|
}
|
|
19
|
-
(
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomPipeManager, decorators: [{
|
|
20
|
+
type: Injectable,
|
|
21
|
+
args: [{ providedIn: 'root' }]
|
|
22
|
+
}] });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1jdXN0b20tcGlwZS1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9zZXJ2aWNlcy91c2VyLWN1c3RvbS1waXBlLW1hbmFnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8saUJBQWlCO0lBRDlCO1FBRVksZ0JBQVcsR0FBUSxJQUFJLEdBQUcsRUFBRSxDQUFDO0tBZXhDO0lBYlUsYUFBYSxDQUFDLEdBQVcsRUFBRSxLQUFVO1FBQ3hDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU0sYUFBYSxDQUFDLEdBQVc7UUFDNUIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU0sYUFBYSxDQUFDLEdBQVc7UUFDNUIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQyxDQUFDOytHQWJRLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBREosTUFBTTs7NEZBQ25CLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBDdXN0b21QaXBlTWFuYWdlciB7XG4gICAgcHJpdmF0ZSBjdXN0b21QaXBlczogYW55ID0gbmV3IE1hcCgpO1xuXG4gICAgcHVibGljIHNldEN1c3RvbVBpcGUoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5jdXN0b21QaXBlcy5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEN1c3RvbVBpcGUoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VzdG9tUGlwZXMuZ2V0KGtleSk7XG4gICAgfVxuXG4gICAgcHVibGljIGhhc0N1c3RvbVBpcGUoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VzdG9tUGlwZXMuaGFzKGtleSk7XG4gICAgfVxuXG5cbn1cblxuIl19
|
|
@@ -6,11 +6,11 @@ export class UtilsService {
|
|
|
6
6
|
constructor() {
|
|
7
7
|
assign(this, Utils);
|
|
8
8
|
}
|
|
9
|
-
static { this.ɵfac =
|
|
10
|
-
static { this.ɵprov =
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
10
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UtilsService, providedIn: 'root' }); }
|
|
11
11
|
}
|
|
12
|
-
(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UtilsService, decorators: [{
|
|
13
|
+
type: Injectable,
|
|
14
|
+
args: [{ providedIn: 'root' }]
|
|
15
|
+
}], ctorParameters: () => [] });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL3NlcnZpY2VzL3V0aWxzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEtBQUssS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxXQUFXLENBQUM7O0FBR2pDLE1BQU0sT0FBTyxZQUFZO0lBQ3JCO1FBQ0ksTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDOytHQUhRLFlBQVk7bUhBQVosWUFBWSxjQURBLE1BQU07OzRGQUNsQixZQUFZO2tCQUR4QixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi4vdXRpbHMvdXRpbHMnO1xuaW1wb3J0IHthc3NpZ259IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgVXRpbHNTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgYXNzaWduKHRoaXMsIFV0aWxzKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -97,11 +97,11 @@ export class Viewport {
|
|
|
97
97
|
this._eventNotifier.destroy();
|
|
98
98
|
window.removeEventListener('resize', this.resizeFn);
|
|
99
99
|
}
|
|
100
|
-
static { this.ɵfac =
|
|
101
|
-
static { this.ɵprov =
|
|
100
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Viewport, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
101
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Viewport, providedIn: 'root' }); }
|
|
102
102
|
}
|
|
103
|
-
(
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL3NlcnZpY2VzL3ZpZXdwb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFVLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0UsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7QUFFOUIsSUFBSSxvQkFBb0IsR0FBRyxHQUFHLENBQUM7QUFDL0IsSUFBSSxpQkFBaUIsR0FBRyxHQUFHLENBQUM7QUFDNUIsSUFBSSwwQkFBMEIsR0FBRyxJQUFJLENBQUM7QUFRdEMsTUFBTSxPQUFPLGdCQUFnQjtDQUc1QjtBQVFELE1BQU0sT0FBTyxRQUFRO0lBYWpCO1FBWk8sZ0JBQVcsR0FBRztZQUNqQixVQUFVLEVBQUUsS0FBSztZQUNqQixXQUFXLEVBQUUsS0FBSztTQUNyQixDQUFDO1FBQ0ssaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFckIsbUJBQWMsR0FBRyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQU01QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFckIsTUFBTSxDQUFDLGdCQUFnQixzQ0FBdUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV4RSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDM0QsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFV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QkFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDN0IsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxJQUFJLDZCQUFxQixDQUFDO2dCQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUM3QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QixNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RCxDQUFDO3lHQXJHUSxRQUFRO3VFQUFSLFFBQVEsV0FBUixRQUFRLG1CQURJLE1BQU07O2lGQUNsQixRQUFRO2NBRHBCLFVBQVU7ZUFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50Tm90aWZpZXIgfSBmcm9tICcuLi91dGlscy9ldmVudC1ub3RpZmllcic7XG5pbXBvcnQgeyBpc0FuZHJvaWQsIGlzQW5kcm9pZFRhYmxldCwgaXNJb3MsIGlzSXBhZCB9IGZyb20gJy4uL3V0aWxzL3V0aWxzJztcbmltcG9ydCB7Z2V0fSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbmxldCBNSU5JTVVNX01PQklMRV9XSURUSCA9IDQ4MDtcbmxldCBNSU5JTVVNX1RBQl9XSURUSCA9IDc2ODtcbmxldCBNSU5JTVVNX0xBUkdFX1NDUkVFTl9XSURUSCA9IDEyMDA7XG5cbmNvbnN0IGVudW0gU0NSRUVOX1RZUEUge1xuICAgIE1PQklMRSxcbiAgICBUQUJMRVQsXG4gICAgTEFSR0VfU0NSRUVOX0RFVklDRVNcbn1cblxuZXhwb3J0IGNsYXNzIElWaWV3cG9ydFNlcnZpY2Uge1xuICAgIG5vdGlmeTogKGV2ZW50bmFtZTogVmlld3BvcnRFdmVudCwgb3B0aW9ucz86IEFycmF5PGFueT4pID0+IHZvaWQ7XG4gICAgc3Vic2NyaWJlOiAoZXZlbnRuYW1lOiBWaWV3cG9ydEV2ZW50LCBjYWxsYmFjazogKGRhdGE6IGFueSkgPT4gdm9pZCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gVmlld3BvcnRFdmVudCB7XG4gICAgT1JJRU5UQVRJT05fQ0hBTkdFID0gJ29yaWVudGF0aW9uY2hhbmdlJyxcbiAgICBSRVNJWkUgPSAncmVzaXplJ1xufVxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBWaWV3cG9ydCBpbXBsZW1lbnRzIElWaWV3cG9ydFNlcnZpY2UsIE9uRGVzdHJveSB7XG4gICAgcHVibGljIG9yaWVudGF0aW9uID0ge1xuICAgICAgICBpc1BvcnRyYWl0OiBmYWxzZSxcbiAgICAgICAgaXNMYW5kc2NhcGU6IGZhbHNlXG4gICAgfTtcbiAgICBwdWJsaWMgaXNNb2JpbGVUeXBlID0gZmFsc2U7XG4gICAgcHVibGljIGlzVGFibGV0VHlwZSA9IGZhbHNlO1xuICAgIHByaXZhdGUgdHlwZTtcbiAgICBwdWJsaWMgX2V2ZW50Tm90aWZpZXIgPSBuZXcgRXZlbnROb3RpZmllcih0cnVlKTtcbiAgICBwcml2YXRlIHNjcmVlbldpZHRoO1xuICAgIHByaXZhdGUgc2NyZWVuSGVpZ2h0O1xuICAgIHByaXZhdGUgc2VsZWN0ZWRWaWV3UG9ydDogYW55O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuc2V0U2NyZWVuVHlwZSgpO1xuXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFZpZXdwb3J0RXZlbnQuUkVTSVpFLCB0aGlzLnJlc2l6ZUZuLmJpbmQodGhpcykpO1xuXG4gICAgICAgIGNvbnN0IHF1ZXJ5ID0gd2luZG93Lm1hdGNoTWVkaWEoJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyk7XG4gICAgICAgIGlmIChxdWVyeS5tYXRjaGVzKSB7XG4gICAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uLmlzUG9ydHJhaXQgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vcmllbnRhdGlvbi5pc0xhbmRzY2FwZSA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBZGQgYSBtZWRpYSBxdWVyeSBjaGFuZ2UgbGlzdGVuZXJcbiAgICAgICAgLy8gYWRkRXZlbnRMaXN0ZW5lciBpcyBub3Qgc3VwcG9ydGVkIGlvcyBicm93c2VyXG4gICAgICAgIGlmIChxdWVyeS5hZGRFdmVudExpc3RlbmVyKSB7XG4gICAgICAgICAgICBxdWVyeS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCAkZXZlbnQgPT4gdGhpcy5vcmllbnRhdGlvbkNoYW5nZSgkZXZlbnQsICEkZXZlbnQubWF0Y2hlcykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlKHNlbGVjdGVkVmlld1BvcnQ6IE9iamVjdCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkVmlld1BvcnQgPSBzZWxlY3RlZFZpZXdQb3J0O1xuICAgICAgICB0aGlzLnNldFNjcmVlblR5cGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9yaWVudGF0aW9uQ2hhbmdlKCRldmVudCwgaXNMYW5kc2NhcGUpIHtcbiAgICAgICAgaWYgKGlzTGFuZHNjYXBlICE9PSB0aGlzLm9yaWVudGF0aW9uLmlzTGFuZHNjYXBlKSB7XG4gICAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uLmlzUG9ydHJhaXQgPSAhaXNMYW5kc2NhcGU7XG4gICAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uLmlzTGFuZHNjYXBlID0gaXNMYW5kc2NhcGU7XG4gICAgICAgICAgICB0aGlzLm5vdGlmeShWaWV3cG9ydEV2ZW50Lk9SSUVOVEFUSU9OX0NIQU5HRSwgeyAkZXZlbnQsIGRhdGE6IHtpc1BvcnRyYWl0OiAhaXNMYW5kc2NhcGUsIGlzTGFuZHNjYXBlOiBpc0xhbmRzY2FwZX0gfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2l6ZUZuKCRldmVudCkge1xuICAgICAgICBjb25zdCAkZWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcud20tYXBwJyk7XG4gICAgICAgIGlmICghJGVsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRTY3JlZW5UeXBlKCk7XG4gICAgICAgIHRoaXMub3JpZW50YXRpb25DaGFuZ2UoJGV2ZW50LCB0aGlzLnNjcmVlbldpZHRoID49IHRoaXMuc2NyZWVuSGVpZ2h0KTtcbiAgICAgICAgdGhpcy5ub3RpZnkoVmlld3BvcnRFdmVudC5SRVNJWkUsIHskZXZlbnQsIGRhdGE6IHtzY3JlZW5XaWR0aDogdGhpcy5zY3JlZW5XaWR0aCwgc2NyZWVuSGVpZ2h0OiB0aGlzLnNjcmVlbkhlaWdodH19KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3Vic2NyaWJlKGV2ZW50TmFtZSwgY2FsbGJhY2s6IChkYXRhOiBhbnkpID0+IHZvaWQpOiAoKSA9PiB2b2lkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V2ZW50Tm90aWZpZXIuc3Vic2NyaWJlKGV2ZW50TmFtZSwgY2FsbGJhY2spO1xuICAgIH1cblxuICAgIHB1YmxpYyBub3RpZnkoZXZlbnROYW1lOiBzdHJpbmcsIC4uLmRhdGE6IEFycmF5PGFueT4pIHtcbiAgICAgICAgdGhpcy5fZXZlbnROb3RpZmllci5ub3RpZnkuYXBwbHkodGhpcy5fZXZlbnROb3RpZmllciwgYXJndW1lbnRzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFNjcmVlblR5cGUoKSB7XG4gICAgICAgIGNvbnN0ICRlbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy53bS1hcHAnKTtcbiAgICAgICAgdGhpcy5zY3JlZW5XaWR0aCA9ICRlbC5jbGllbnRXaWR0aDtcbiAgICAgICAgdGhpcy5zY3JlZW5IZWlnaHQgPSAkZWwuY2xpZW50SGVpZ2h0O1xuXG4gICAgICAgIHZhciBtaW5WYWx1ZSA9IHRoaXMuc2NyZWVuV2lkdGggPCB0aGlzLnNjcmVlbkhlaWdodCA/IHRoaXMuc2NyZWVuV2lkdGggOiB0aGlzLnNjcmVlbkhlaWdodDtcbiAgICAgICAgdmFyIG1heFZhbHVlID0gdGhpcy5zY3JlZW5XaWR0aCA+IHRoaXMuc2NyZWVuSGVpZ2h0ID8gdGhpcy5zY3JlZW5XaWR0aCA6IHRoaXMuc2NyZWVuSGVpZ2h0O1xuXG4gICAgICAgIHRoaXMuaXNUYWJsZXRUeXBlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNNb2JpbGVUeXBlID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKGdldCh0aGlzLnNlbGVjdGVkVmlld1BvcnQsICdkZXZpY2VDYXRlZ29yeScpKSB7XG4gICAgICAgICAgICBjb25zdCBkZXZpY2VDYXRlZ29yeSA9IHRoaXMuc2VsZWN0ZWRWaWV3UG9ydC5kZXZpY2VDYXRlZ29yeTtcbiAgICAgICAgICAgIGlmIChkZXZpY2VDYXRlZ29yeSA9PT0gJ1RhYicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzVGFibGV0VHlwZSA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGRldmljZUNhdGVnb3J5ID09PSAnU21hcnRwaG9uZScpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTW9iaWxlVHlwZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgTUlOSU1VTV9NT0JJTEVfV0lEVEggPSBwYXJzZUludChnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLS1zY3JlZW4teHMnKSkgfHwgNDgwO1xuICAgICAgICAgICAgIE1JTklNVU1fVEFCX1dJRFRIID0gcGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy0tc2NyZWVuLXNtJykpIHx8IDc2ODtcbiAgICAgICAgICAgICBNSU5JTVVNX0xBUkdFX1NDUkVFTl9XSURUSCA9IHBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctLXNjcmVlbi1sZycpKSB8fCAxMjAwO1xuICAgICAgICAgICAgaWYgKHRoaXMuc2NyZWVuV2lkdGggPj0gTUlOSU1VTV9MQVJHRV9TQ1JFRU5fV0lEVEgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzVGFibGV0VHlwZSA9IGlzQW5kcm9pZCgpIHx8IGlzSW9zKCkgfHwgaXNBbmRyb2lkVGFibGV0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5pc01vYmlsZVR5cGUgPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5zY3JlZW5XaWR0aCA+PSBNSU5JTVVNX1RBQl9XSURUSCkge1xuICAgICAgICAgICAgICAgIHRoaXMudHlwZSA9IFNDUkVFTl9UWVBFLlRBQkxFVDtcbiAgICAgICAgICAgICAgICB0aGlzLmlzVGFibGV0VHlwZSA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMudHlwZSA9IFNDUkVFTl9UWVBFLk1PQklMRTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTW9iaWxlVHlwZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5fZXZlbnROb3RpZmllci5kZXN0cm95KCk7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLnJlc2l6ZUZuKTtcbiAgICB9XG59XG4iXX0=
|
|
103
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Viewport, decorators: [{
|
|
104
|
+
type: Injectable,
|
|
105
|
+
args: [{ providedIn: 'root' }]
|
|
106
|
+
}], ctorParameters: () => [] });
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL3NlcnZpY2VzL3ZpZXdwb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7QUFFOUIsSUFBSSxvQkFBb0IsR0FBRyxHQUFHLENBQUM7QUFDL0IsSUFBSSxpQkFBaUIsR0FBRyxHQUFHLENBQUM7QUFDNUIsSUFBSSwwQkFBMEIsR0FBRyxJQUFJLENBQUM7QUFRdEMsTUFBTSxPQUFPLGdCQUFnQjtDQUc1QjtBQVFELE1BQU0sT0FBTyxRQUFRO0lBYWpCO1FBWk8sZ0JBQVcsR0FBRztZQUNqQixVQUFVLEVBQUUsS0FBSztZQUNqQixXQUFXLEVBQUUsS0FBSztTQUNyQixDQUFDO1FBQ0ssaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFckIsbUJBQWMsR0FBRyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQU01QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFckIsTUFBTSxDQUFDLGdCQUFnQixzQ0FBdUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV4RSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDM0QsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFV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QkFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDN0IsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxJQUFJLDZCQUFxQixDQUFDO2dCQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUM3QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QixNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RCxDQUFDOytHQXJHUSxRQUFRO21IQUFSLFFBQVEsY0FESSxNQUFNOzs0RkFDbEIsUUFBUTtrQkFEcEIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0V2ZW50Tm90aWZpZXJ9IGZyb20gJy4uL3V0aWxzL2V2ZW50LW5vdGlmaWVyJztcbmltcG9ydCB7aXNBbmRyb2lkLCBpc0FuZHJvaWRUYWJsZXQsIGlzSW9zfSBmcm9tICcuLi91dGlscy91dGlscyc7XG5pbXBvcnQge2dldH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5sZXQgTUlOSU1VTV9NT0JJTEVfV0lEVEggPSA0ODA7XG5sZXQgTUlOSU1VTV9UQUJfV0lEVEggPSA3Njg7XG5sZXQgTUlOSU1VTV9MQVJHRV9TQ1JFRU5fV0lEVEggPSAxMjAwO1xuXG5jb25zdCBlbnVtIFNDUkVFTl9UWVBFIHtcbiAgICBNT0JJTEUsXG4gICAgVEFCTEVULFxuICAgIExBUkdFX1NDUkVFTl9ERVZJQ0VTXG59XG5cbmV4cG9ydCBjbGFzcyBJVmlld3BvcnRTZXJ2aWNlIHtcbiAgICBub3RpZnk6IChldmVudG5hbWU6IFZpZXdwb3J0RXZlbnQsIG9wdGlvbnM/OiBBcnJheTxhbnk+KSA9PiB2b2lkO1xuICAgIHN1YnNjcmliZTogKGV2ZW50bmFtZTogVmlld3BvcnRFdmVudCwgY2FsbGJhY2s6IChkYXRhOiBhbnkpID0+IHZvaWQpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBlbnVtIFZpZXdwb3J0RXZlbnQge1xuICAgIE9SSUVOVEFUSU9OX0NIQU5HRSA9ICdvcmllbnRhdGlvbmNoYW5nZScsXG4gICAgUkVTSVpFID0gJ3Jlc2l6ZSdcbn1cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgVmlld3BvcnQgaW1wbGVtZW50cyBJVmlld3BvcnRTZXJ2aWNlLCBPbkRlc3Ryb3kge1xuICAgIHB1YmxpYyBvcmllbnRhdGlvbiA9IHtcbiAgICAgICAgaXNQb3J0cmFpdDogZmFsc2UsXG4gICAgICAgIGlzTGFuZHNjYXBlOiBmYWxzZVxuICAgIH07XG4gICAgcHVibGljIGlzTW9iaWxlVHlwZSA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc1RhYmxldFR5cGUgPSBmYWxzZTtcbiAgICBwcml2YXRlIHR5cGU7XG4gICAgcHVibGljIF9ldmVudE5vdGlmaWVyID0gbmV3IEV2ZW50Tm90aWZpZXIodHJ1ZSk7XG4gICAgcHJpdmF0ZSBzY3JlZW5XaWR0aDtcbiAgICBwcml2YXRlIHNjcmVlbkhlaWdodDtcbiAgICBwcml2YXRlIHNlbGVjdGVkVmlld1BvcnQ6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnNldFNjcmVlblR5cGUoKTtcblxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihWaWV3cG9ydEV2ZW50LlJFU0laRSwgdGhpcy5yZXNpemVGbi5iaW5kKHRoaXMpKTtcblxuICAgICAgICBjb25zdCBxdWVyeSA9IHdpbmRvdy5tYXRjaE1lZGlhKCcob3JpZW50YXRpb246IHBvcnRyYWl0KScpO1xuICAgICAgICBpZiAocXVlcnkubWF0Y2hlcykge1xuICAgICAgICAgICAgdGhpcy5vcmllbnRhdGlvbi5pc1BvcnRyYWl0ID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub3JpZW50YXRpb24uaXNMYW5kc2NhcGUgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWRkIGEgbWVkaWEgcXVlcnkgY2hhbmdlIGxpc3RlbmVyXG4gICAgICAgIC8vIGFkZEV2ZW50TGlzdGVuZXIgaXMgbm90IHN1cHBvcnRlZCBpb3MgYnJvd3NlclxuICAgICAgICBpZiAocXVlcnkuYWRkRXZlbnRMaXN0ZW5lcikge1xuICAgICAgICAgICAgcXVlcnkuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgJGV2ZW50ID0+IHRoaXMub3JpZW50YXRpb25DaGFuZ2UoJGV2ZW50LCAhJGV2ZW50Lm1hdGNoZXMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZShzZWxlY3RlZFZpZXdQb3J0OiBPYmplY3QpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZpZXdQb3J0ID0gc2VsZWN0ZWRWaWV3UG9ydDtcbiAgICAgICAgdGhpcy5zZXRTY3JlZW5UeXBlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcmllbnRhdGlvbkNoYW5nZSgkZXZlbnQsIGlzTGFuZHNjYXBlKSB7XG4gICAgICAgIGlmIChpc0xhbmRzY2FwZSAhPT0gdGhpcy5vcmllbnRhdGlvbi5pc0xhbmRzY2FwZSkge1xuICAgICAgICAgICAgdGhpcy5vcmllbnRhdGlvbi5pc1BvcnRyYWl0ID0gIWlzTGFuZHNjYXBlO1xuICAgICAgICAgICAgdGhpcy5vcmllbnRhdGlvbi5pc0xhbmRzY2FwZSA9IGlzTGFuZHNjYXBlO1xuICAgICAgICAgICAgdGhpcy5ub3RpZnkoVmlld3BvcnRFdmVudC5PUklFTlRBVElPTl9DSEFOR0UsIHsgJGV2ZW50LCBkYXRhOiB7aXNQb3J0cmFpdDogIWlzTGFuZHNjYXBlLCBpc0xhbmRzY2FwZTogaXNMYW5kc2NhcGV9IH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNpemVGbigkZXZlbnQpIHtcbiAgICAgICAgY29uc3QgJGVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLndtLWFwcCcpO1xuICAgICAgICBpZiAoISRlbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0U2NyZWVuVHlwZSgpO1xuICAgICAgICB0aGlzLm9yaWVudGF0aW9uQ2hhbmdlKCRldmVudCwgdGhpcy5zY3JlZW5XaWR0aCA+PSB0aGlzLnNjcmVlbkhlaWdodCk7XG4gICAgICAgIHRoaXMubm90aWZ5KFZpZXdwb3J0RXZlbnQuUkVTSVpFLCB7JGV2ZW50LCBkYXRhOiB7c2NyZWVuV2lkdGg6IHRoaXMuc2NyZWVuV2lkdGgsIHNjcmVlbkhlaWdodDogdGhpcy5zY3JlZW5IZWlnaHR9fSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN1YnNjcmliZShldmVudE5hbWUsIGNhbGxiYWNrOiAoZGF0YTogYW55KSA9PiB2b2lkKTogKCkgPT4gdm9pZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ldmVudE5vdGlmaWVyLnN1YnNjcmliZShldmVudE5hbWUsIGNhbGxiYWNrKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbm90aWZ5KGV2ZW50TmFtZTogc3RyaW5nLCAuLi5kYXRhOiBBcnJheTxhbnk+KSB7XG4gICAgICAgIHRoaXMuX2V2ZW50Tm90aWZpZXIubm90aWZ5LmFwcGx5KHRoaXMuX2V2ZW50Tm90aWZpZXIsIGFyZ3VtZW50cyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRTY3JlZW5UeXBlKCkge1xuICAgICAgICBjb25zdCAkZWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcud20tYXBwJyk7XG4gICAgICAgIHRoaXMuc2NyZWVuV2lkdGggPSAkZWwuY2xpZW50V2lkdGg7XG4gICAgICAgIHRoaXMuc2NyZWVuSGVpZ2h0ID0gJGVsLmNsaWVudEhlaWdodDtcblxuICAgICAgICB2YXIgbWluVmFsdWUgPSB0aGlzLnNjcmVlbldpZHRoIDwgdGhpcy5zY3JlZW5IZWlnaHQgPyB0aGlzLnNjcmVlbldpZHRoIDogdGhpcy5zY3JlZW5IZWlnaHQ7XG4gICAgICAgIHZhciBtYXhWYWx1ZSA9IHRoaXMuc2NyZWVuV2lkdGggPiB0aGlzLnNjcmVlbkhlaWdodCA/IHRoaXMuc2NyZWVuV2lkdGggOiB0aGlzLnNjcmVlbkhlaWdodDtcblxuICAgICAgICB0aGlzLmlzVGFibGV0VHlwZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzTW9iaWxlVHlwZSA9IGZhbHNlO1xuXG4gICAgICAgIGlmIChnZXQodGhpcy5zZWxlY3RlZFZpZXdQb3J0LCAnZGV2aWNlQ2F0ZWdvcnknKSkge1xuICAgICAgICAgICAgY29uc3QgZGV2aWNlQ2F0ZWdvcnkgPSB0aGlzLnNlbGVjdGVkVmlld1BvcnQuZGV2aWNlQ2F0ZWdvcnk7XG4gICAgICAgICAgICBpZiAoZGV2aWNlQ2F0ZWdvcnkgPT09ICdUYWInKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1RhYmxldFR5cGUgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChkZXZpY2VDYXRlZ29yeSA9PT0gJ1NtYXJ0cGhvbmUnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc01vYmlsZVR5cGUgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgIE1JTklNVU1fTU9CSUxFX1dJRFRIID0gcGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy0tc2NyZWVuLXhzJykpIHx8IDQ4MDtcbiAgICAgICAgICAgICBNSU5JTVVNX1RBQl9XSURUSCA9IHBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctLXNjcmVlbi1zbScpKSB8fCA3Njg7XG4gICAgICAgICAgICAgTUlOSU1VTV9MQVJHRV9TQ1JFRU5fV0lEVEggPSBwYXJzZUludChnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLS1zY3JlZW4tbGcnKSkgfHwgMTIwMDtcbiAgICAgICAgICAgIGlmICh0aGlzLnNjcmVlbldpZHRoID49IE1JTklNVU1fTEFSR0VfU0NSRUVOX1dJRFRIKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1RhYmxldFR5cGUgPSBpc0FuZHJvaWQoKSB8fCBpc0lvcygpIHx8IGlzQW5kcm9pZFRhYmxldCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNNb2JpbGVUeXBlID0gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc2NyZWVuV2lkdGggPj0gTUlOSU1VTV9UQUJfV0lEVEgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnR5cGUgPSBTQ1JFRU5fVFlQRS5UQUJMRVQ7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1RhYmxldFR5cGUgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnR5cGUgPSBTQ1JFRU5fVFlQRS5NT0JJTEU7XG4gICAgICAgICAgICAgICAgdGhpcy5pc01vYmlsZVR5cGUgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuX2V2ZW50Tm90aWZpZXIuZGVzdHJveSgpO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZXNpemVGbik7XG4gICAgfVxufVxuIl19
|
|
@@ -78,4 +78,4 @@ export class PartialRefProvider {
|
|
|
78
78
|
}
|
|
79
79
|
export class CustomWidgetRefProvider {
|
|
80
80
|
}
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy90eXBlcy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3JCLGlEQUFJLENBQUE7SUFDSixxREFBTSxDQUFBO0lBQ04sdURBQU8sQ0FBQTtJQUNQLHFEQUFNLENBQUE7QUFDVixDQUFDLEVBTFcsYUFBYSxLQUFiLGFBQWEsUUFLeEI7QUFFRCxNQUFNLE9BQU8sV0FBVztDQUV2QjtBQUVELElBQUssU0EwQ0o7QUExQ0QsV0FBSyxTQUFTO0lBQ1YseUNBQTRCLENBQUE7SUFDNUIsMkNBQThCLENBQUE7SUFDOUIsMkNBQThCLENBQUE7SUFDOUIsMkNBQThCLENBQUE7SUFDOUIsOEJBQWlCLENBQUE7SUFDakIsOEJBQWlCLENBQUE7SUFDakIsOEJBQWlCLENBQUE7SUFDakIsd0NBQTJCLENBQUE7SUFDM0IsMkNBQThCLENBQUE7SUFDOUIsMERBQTZDLENBQUE7SUFDN0MsdUNBQTBCLENBQUE7SUFDMUIsdUNBQTBCLENBQUE7SUFDMUIsb0RBQXVDLENBQUE7SUFDdkMsb0VBQXVELENBQUE7SUFDdkQsOENBQWlDLENBQUE7SUFDakMsbUNBQXNCLENBQUE7SUFDdEIsMkRBQThDLENBQUE7SUFDOUMsb0VBQXVELENBQUE7SUFDdkQsc0RBQXlDLENBQUE7SUFDekMsNENBQStCLENBQUE7SUFDL0Isa0NBQXFCLENBQUE7SUFDckIsaUNBQW9CLENBQUE7SUFDcEIsb0RBQXVDLENBQUE7SUFDdkMsOENBQWlDLENBQUE7SUFDakMsd0NBQTJCLENBQUE7SUFDM0IsNERBQStDLENBQUE7SUFDL0MsdUNBQTBCLENBQUE7SUFDMUIsNkNBQWdDLENBQUE7SUFDaEMsb0RBQXVDLENBQUE7SUFDdkMsb0RBQXVDLENBQUE7SUFDdkMsMERBQTZDLENBQUE7SUFDN0MsMERBQTZDLENBQUE7SUFDN0MsNERBQStDLENBQUE7SUFDL0Msb0RBQXVDLENBQUE7SUFDdkMsaUNBQW9CLENBQUE7SUFDcEIsaUNBQW9CLENBQUE7SUFDcEIsdUNBQTBCLENBQUE7SUFDMUIsbURBQXNDLENBQUE7SUFDdEMsb0RBQXVDLENBQUE7SUFDdkMsOEJBQWlCLENBQUE7SUFDakIsNkNBQWdDLENBQUE7QUFDcEMsQ0FBQyxFQTFDSSxTQUFTLEtBQVQsU0FBUyxRQTBDYjtBQUVELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN0QixTQUFTO0NBQ1osQ0FBQztBQUVGLE1BQU0sT0FBZ0IsR0FBRztDQThDeEI7QUFHRCxNQUFNLE9BQWdCLHFCQUFxQjtDQWlCMUM7QUFFRCxNQUFNLE9BQWdCLG1CQUFtQjtDQW1CeEM7QUFFRCxNQUFNLE9BQWdCLG1CQUFtQjtDQWlCeEM7QUFFRCxNQUFNLE9BQWdCLHNCQUFzQjtDQWdCM0M7QUFFRCxNQUFNLE9BQWdCLHNCQUFzQjtDQU8zQztBQUNELE1BQU0sT0FBZ0IsMkJBQTJCO0NBRWhEO0FBVUQsTUFBTSxPQUFnQix5QkFBeUI7Q0FLOUM7QUFFRCxNQUFNLE9BQWdCLFdBQVc7Q0FNaEM7QUFFRCxNQUFNLE9BQWdCLDJCQUEyQjtDQUVoRDtBQUVELE1BQU0sT0FBZ0Isa0JBQWtCO0NBRXZDO0FBRUQsTUFBTSxPQUFnQix1QkFBdUI7Q0FFNUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBDb21wb25lbnRUeXBlIHtcbiAgICBQQUdFLFxuICAgIFBSRUZBQixcbiAgICBQQVJUSUFMLFxuICAgIFdJREdFVFxufVxuXG5leHBvcnQgY2xhc3MgSURhdGFTb3VyY2Uge1xuICAgIGV4ZWN1dGU6IChvcGVyYXRpb246IE9wZXJhdGlvbiwgb3B0aW9ucz86IGFueSkgPT4gYm9vbGVhbiB8IHN0cmluZyB8IFByb21pc2U8YW55Pjtcbn1cblxuZW51bSBPcGVyYXRpb24ge1xuICAgIExJU1RfUkVDT1JEUyA9ICdsaXN0UmVjb3JkcycsXG4gICAgVVBEQVRFX1JFQ09SRCA9ICd1cGRhdGVSZWNvcmQnLFxuICAgIElOU0VSVF9SRUNPUkQgPSAnaW5zZXJ0UmVjb3JkJyxcbiAgICBERUxFVEVfUkVDT1JEID0gJ2RlbGV0ZVJlY29yZCcsXG4gICAgSU5WT0tFID0gJ2ludm9rZScsXG4gICAgVVBEQVRFID0gJ3VwZGF0ZScsXG4gICAgTk9USUZZID0gJ25vdGlmeScsXG4gICAgSVNfQVBJX0FXQVJFID0gJ2lzQXBpQXdhcmUnLFxuICAgIFNVUFBPUlRTX0NSVUQgPSAnc3VwcG9ydHNDUlVEJyxcbiAgICBTVVBQT1JUU19ESVNUSU5DVF9BUEkgPSAnc3VwcG9ydHNEaXN0aW5jdEFQSScsXG4gICAgSVNfUEFHRUFCTEUgPSAnaXNQYWdlYWJsZScsXG4gICAgSVNfU09SVEFCTEUgPSAnaXNTb3J0YWJsZScsXG4gICAgR0VUX09QRVJBVElPTl9UWVBFID0gJ2dldE9wZXJhdGlvblR5cGUnLFxuICAgIEdFVF9SRUxBVEVEX1BSSU1BUllfS0VZUyA9ICdnZXRSZWxhdGVkVGFibGVQcmltYXJ5S2V5cycsXG4gICAgR0VUX0VOVElUWV9OQU1FID0gJ2dldEVudGl0eU5hbWUnLFxuICAgIFNFVF9JTlBVVCA9ICdzZXRpbnB1dCcsXG4gICAgR0VUX1JFTEFURURfVEFCTEVfREFUQSA9ICdnZXRSZWxhdGVkVGFibGVEYXRhJyxcbiAgICBHRVRfRElTVElOQ1RfREFUQV9CWV9GSUVMRFMgPSAnZ2V0RGlzdGluY3REYXRhQnlGaWVsZHMnLFxuICAgIEdFVF9BR0dSRUdBVEVEX0RBVEEgPSAnZ2V0QWdncmVnYXRlZERhdGEnLFxuICAgIEdFVF9NQVRDSF9NT0RFID0gJ2dldE1hdGNoTW9kZScsXG4gICAgRE9XTkxPQUQgPSAnZG93bmxvYWQnLFxuICAgIEdFVF9OQU1FID0gJ2dldE5hbWUnLFxuICAgIEdFVF9QUk9QRVJUSUVTX01BUCA9ICdnZXRQcm9wZXJ0aWVzTWFwJyxcbiAgICBHRVRfUFJJTUFSWV9LRVkgPSAnZ2V0UHJpbWFyeUtleScsXG4gICAgR0VUX0JMT0JfVVJMID0gJ2dldEJsb2JVUkwnLFxuICAgIFNVUFBPUlRTX1NFUlZFUl9GSUxURVIgPSAnc3VwcG9ydHNTZXJ2ZXJGaWx0ZXInLFxuICAgIEdFVF9PUFRJT05TID0gJ2dldE9wdGlvbnMnLFxuICAgIFNFQVJDSF9SRUNPUkRTID0gJ3NlYXJjaFJlY29yZHMnLFxuICAgIEdFVF9SRVFVRVNUX1BBUkFNUyA9ICdnZXRSZXF1ZXN0UGFyYW1zJyxcbiAgICBHRVRfUEFHSU5HX09QVElPTlMgPSAnZ2V0UGFnaW5nT3B0aW9ucycsXG4gICAgRkVUQ0hfRElTVElOQ1RfVkFMVUVTID0gJ2ZldGNoRGlzdGluY3RWYWx1ZXMnLFxuICAgIEdFVF9VTklRVUVfSURFTlRJRklFUiA9ICdnZXRVbmlxdWVJZGVudGlmaWVyJyxcbiAgICBHRVRfQ09OVEVYVF9JREVOVElGSUVSID0gJ2dldENvbnRleHRJZGVudGlmaWVyJyxcbiAgICBJU19VUERBVEVfUkVRVUlSRUQgPSAnaXNVcGRhdGVSZXF1aXJlZCcsXG4gICAgQUREX0lURU0gPSAnYWRkSXRlbScsXG4gICAgU0VUX0lURU0gPSAnc2V0SXRlbScsXG4gICAgUkVNT1ZFX0lURU0gPSAncmVtb3ZlSXRlbScsXG4gICAgSVNfQk9VTkRfVE9fTE9DQUxFID0gJ2lzQm91bmRUb0xvY2FsZScsXG4gICAgR0VUX0RFRkFVTFRfTE9DQUxFID0gJ2dldERlZmF1bHRMb2NhbGUnLFxuICAgIENBTkNFTCA9ICdjYW5jZWwnLFxuICAgIFNFVF9QQUdJTkFUSU9OID0gJ3NldFBhZ2luYXRpb24nXG59XG5cbmV4cG9ydCBjb25zdCBEYXRhU291cmNlID0ge1xuICAgIE9wZXJhdGlvblxufTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFwcCB7XG4gICAgYXBwTG9jYWxlOiBhbnk7XG4gICAgVmFyaWFibGVzOiBhbnk7XG4gICAgQWN0aW9uczogYW55O1xuICAgIG9uQXBwVmFyaWFibGVzUmVhZHk6IEZ1bmN0aW9uO1xuICAgIG9uU2Vzc2lvblRpbWVvdXQ6IEZ1bmN0aW9uO1xuICAgIG9uQmVmb3JlQXBwUmVhZHk6IEZ1bmN0aW9uO1xuICAgIG9uUGFnZVJlYWR5OiBGdW5jdGlvbjtcbiAgICBvbkJlZm9yZVBhZ2VMZWF2ZTogRnVuY3Rpb247XG4gICAgb25CZWZvcmVTZXJ2aWNlQ2FsbDogRnVuY3Rpb247XG4gICAgb25TZXJ2aWNlU3VjY2VzczogRnVuY3Rpb247XG4gICAgb25TZXJ2aWNlRXJyb3I6IEZ1bmN0aW9uO1xuICAgIHByb2plY3ROYW1lOiBzdHJpbmc7XG4gICAgaXNQcmVmYWJUeXBlOiBib29sZWFuO1xuICAgIGlzQXBwbGljYXRpb25UeXBlOiBib29sZWFuO1xuICAgIHNldHdpZGdldExvY2FsZTogRnVuY3Rpb247XG4gICAgc2V0QXBwTW9kZTogRnVuY3Rpb247XG4gICAgaXNUYWJsZXRBcHBsaWNhdGlvblR5cGU6IGJvb2xlYW47XG4gICAgaXNUZW1wbGF0ZUJ1bmRsZVR5cGU6IGJvb2xlYW47XG4gICAgY2hhbmdlTG9jYWxlOiBGdW5jdGlvbjtcbiAgICBnZXRTZWxlY3RlZExvY2FsZTogRnVuY3Rpb247XG4gICAgc2V0VGltZXpvbmU6IEZ1bmN0aW9uO1xuICAgIHJlbG9hZDogRnVuY3Rpb247XG4gICAgb240MDE6IEZ1bmN0aW9uO1xuICAgIG5vdGlmeUFwcDogRnVuY3Rpb247XG4gICAgaW1wb3J0TW9kdWxlOiBGdW5jdGlvbjtcbiAgICBnZXREZXBlbmRlbmN5OiBGdW5jdGlvbjtcbiAgICBuZXR3b3JrU3RhdHVzOiBhbnk7XG4gICAgbm90aWZ5OiAoZXZlbnROYW1lOiBzdHJpbmcsIGRhdGE/OiBhbnkpID0+IHZvaWQ7XG4gICAgZGVwbG95ZWRVcmw6IHN0cmluZztcbiAgICBjdXN0b21VcmxTY2hlbWU6IHN0cmluZztcbiAgICBzZWxlY3RlZFZpZXdQb3J0OiBPYmplY3Q7XG4gICAgc3Vic2NyaWJlOiAoZXZlbnROYW1lLCBjYWxsYmFjazogKGRhdGE6IGFueSkgPT4gdm9pZCkgPT4gKCkgPT4gdm9pZDtcbiAgICBkeW5hbWljQ29tcG9uZW50Q29udGFpbmVyUmVmOiBhbnk7XG4gICAgY2xlYXJQYWdlQ2FjaGU6IChwYWdlTmFtZT86IHN0cmluZykgPT4gdm9pZDtcblxuICAgIGFjdGl2ZVBhZ2VOYW1lOiBzdHJpbmc7XG4gICAgYWN0aXZlUGFnZTogYW55O1xuICAgIFBhZ2U6IGFueTtcbiAgICBhY3RpdmVQYWdlTG9hZFRpbWU6IG51bWJlcjtcbiAgICBsYW5kaW5nUGFnZU5hbWU6IHN0cmluZztcbiAgICBsYXN0QWN0aXZlUGFnZU5hbWU6IHN0cmluZztcbiAgICBkZXZpY2VDYXRlZ29yeTogc3RyaW5nO1xuXG4gICAgYWN0aXZlTGF5b3V0TmFtZTogc3RyaW5nO1xuICAgIGxheW91dFBhZ2VzOiBzdHJpbmdbXTtcbn1cblxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3REaWFsb2dTZXJ2aWNlIHtcbiAgICBwdWJsaWMgYWJzdHJhY3QgcmVnaXN0ZXIobmFtZTogc3RyaW5nLCBkaWFsb2dSZWY6IGFueSwgc2NvcGU6IGFueSk7XG4gICAgcHVibGljIGFic3RyYWN0IGRlUmVnaXN0ZXIobmFtZTogc3RyaW5nLCBzY29wZTogYW55KTtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgb3BlbihuYW1lOiBzdHJpbmcsIHNjb3BlPzogYW55LCBpbml0U3RhdGU/OiBhbnkpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBjbG9zZShuYW1lOiBzdHJpbmcsIHNjb3BlPzogYW55KTtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgc2hvd0FwcENvbmZpcm1EaWFsb2coaW5pdFN0YXRlPzogYW55KTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgY2xvc2VBcHBDb25maXJtRGlhbG9nKCk7XG4gICAgcHVibGljIGFic3RyYWN0IGdldEFwcENvbmZpcm1EaWFsb2coKTtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgc2V0QXBwQ29uZmlybURpYWxvZyhkaWFsb2dOYW1lOiBzdHJpbmcpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBjbG9zZUFsbERpYWxvZ3M6IEZ1bmN0aW9uO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBhZGRUb09wZW5lZERpYWxvZ3MocmVmOiBhbnkpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRMYXN0T3BlbmVkRGlhbG9nKCk7XG4gICAgcHVibGljIGFic3RyYWN0IHJlbW92ZUZyb21PcGVuZWREaWFsb2dzKHJlZjogYW55KTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0T3BlbmVkRGlhbG9ncygpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBhZGRUb0Nsb3NlZERpYWxvZ3MocmVmOiBhbnkpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCByZW1vdmVGcm9tQ2xvc2VkRGlhbG9ncyhyZWY6IGFueSk7XG4gICAgcHVibGljIGFic3RyYWN0IGdldERpYWxvZ1JlZkZyb21DbG9zZWREaWFsb2dzKCk7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEh0dHBTZXJ2aWNlIHtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgc2VuZChvcHRpb25zOiBhbnkpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzZXRMb2NhbGUobG9jYWxlKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0TG9jYWxlKCk7XG4gICAgcHVibGljIGFic3RyYWN0IGdldEhlYWRlcihlcnJvciwgaGVhZGVyS2V5KTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgaXNQbGF0Zm9ybVNlc3Npb25UaW1lb3V0KGVycm9yKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0KHVybDogc3RyaW5nLCBvcHRpb25zPzogYW55KTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgcG9zdCh1cmwsIGRhdGEsIG9wdGlvbnMpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBwdXQodXJsLCBkYXRhLCBvcHRpb25zKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgcGF0Y2godXJsLCBkYXRhLCBvcHRpb25zKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZGVsZXRlKHVybCwgb3B0aW9ucyk7XG4gICAgcHVibGljIGFic3RyYWN0IGhlYWQodXJsLCBvcHRpb25zKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QganNvbnAodXJsLCBvcHRpb25zKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgdXBsb2FkKHVybCwgZGF0YSwgb3B0aW9ucyk7XG4gICAgcHVibGljIGFic3RyYWN0IHJlZ2lzdGVyT25TZXNzaW9uVGltZW91dChjYWxsYmFjayk7XG4gICAgcHVibGljIGFic3RyYWN0IG9uNDAxKCk7XG4gICAgcHVibGljIGFic3RyYWN0IHB1c2hUb1Nlc3Npb25GYWlsdXJlUXVldWUoY2FsbGJhY2spO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBleGVjdXRlU2Vzc2lvbkZhaWx1cmVSZXF1ZXN0cygpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzZW5kQ2FsbEFzT2JzZXJ2YWJsZShvcHRpb25zOiBhbnksIHBhcmFtcz86IGFueSk6IGFueTtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0STE4blNlcnZpY2Uge1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRTZWxlY3RlZExvY2FsZSgpOiBzdHJpbmc7XG4gICAgcHVibGljIGFic3RyYWN0IGdldERlZmF1bHRTdXBwb3J0ZWRMb2NhbGUoKTogc3RyaW5nO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRBcHBMb2NhbGUoKTogYW55O1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzZXRTZWxlY3RlZExvY2FsZShsb2NhbGUpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBsb2FkRGVmYXVsdExvY2FsZSgpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRMb2NhbGl6ZWRNZXNzYWdlKG1lc3NhZ2UsIC4uLmFyZ3MpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBpbml0Q2FsZW5kYXJMb2NhbGUoKTogUHJvbWlzZTxhbnk+O1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBsb2FkQXBwTG9jYWxlQnVuZGxlKCk7XG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGxvYWRNb21lbnRMb2NhbGVCdW5kbGUobG9jYWxlTGFuZyk7XG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGxvYWRMb2NhbGVCdW5kbGVzKGxvY2FsZUxhbmcpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzZXRUaW1lem9uZShsb2NhbGUsIGNvbXBJbnN0YW5jZT8pO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRGb3JtYXRzQnlMb2NhbGUoKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0VGltZXpvbmUoY29tcEluc3RhbmNlPyk7XG4gICAgcHVibGljIGFic3RyYWN0IGdldFByZWZhYkxvY2FsZUJ1bmRsZShwcmVmYWJOYW1lOiBzdHJpbmcpOiBhbnk7XG4gICAgcHVibGljIGFic3RyYWN0IHNldHdpZGdldExvY2FsZShsb2NhbGUpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXR3aWRnZXRMb2NhbGUoKTtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VG9hc3RlclNlcnZpY2Uge1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzdWNjZXNzKHRpdGxlOiBzdHJpbmcsIGRlc2M6IHN0cmluZyk7XG4gICAgcHVibGljIGFic3RyYWN0IGVycm9yKHRpdGxlOiBzdHJpbmcsIGRlc2M6IHN0cmluZyk7XG4gICAgcHVibGljIGFic3RyYWN0IGluZm8odGl0bGU6IHN0cmluZywgZGVzYzogc3RyaW5nKTtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgd2Fybih0aXRsZTogc3RyaW5nLCBkZXNjOiBzdHJpbmcpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzaG93KFxuICAgICAgICB0eXBlOiBzdHJpbmcsXG4gICAgICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgICAgIGRlc2M6IHN0cmluZyxcbiAgICAgICAgdGltZW91dDogbnVtYmVyLFxuICAgICAgICBib2R5T3V0cHV0VHlwZTogc3RyaW5nLFxuICAgICAgICBvbkNsaWNrSGFuZGxlcjogRnVuY3Rpb24sXG4gICAgICAgIG9uSGlkZUNhbGxiYWNrOiBGdW5jdGlvblxuICAgICk7XG4gICAgcHVibGljIGFic3RyYWN0IGhpZGUodG9hc3Rlck9iajogYW55KTtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgc2hvd0N1c3RvbShwYWdlTmFtZTogc3RyaW5nLCBvcHRpb25zPzogYW55KTtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0U3Bpbm5lclNlcnZpY2Uge1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRNZXNzYWdlU291cmNlKCk7XG4gICAgcHVibGljIGFic3RyYWN0IHNob3dDb250ZXh0U3Bpbm5lcihzcGlubmVyQ29udGV4dDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcsIGlkOiBzdHJpbmcpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzaG93QXBwU3Bpbm5lcihtc2c6IHN0cmluZywgaWQ6IHN0cmluZyk7XG4gICAgcHVibGljIGFic3RyYWN0IGhpZGVDb250ZXh0U3Bpbm5lcihjdHg6IHN0cmluZywgaWQ6IHN0cmluZyk7XG4gICAgcHVibGljIGFic3RyYWN0IHNob3cobWVzc2FnZTogc3RyaW5nLCBpZD86IHN0cmluZywgc3Bpbm5lckNsYXNzPzogc3RyaW5nLCBzcGlubmVyQ29udGV4dD86IHN0cmluZywgdmFyaWFibGVTY29wZUlkPzogc3RyaW5nKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgaGlkZShpZDogc3RyaW5nKTtcbn1cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBVc2VyRGVmaW5lZEV4ZWN1dGlvbkNvbnRleHQge1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdGlvbk9wdGlvbnMge1xuICAgICRldmVudD86IGFueTtcbiAgICBwYWdlTmFtZT86IHN0cmluZztcbiAgICB0cmFuc2l0aW9uPzogc3RyaW5nO1xuICAgIHVybFBhcmFtcz86IGFueTtcbiAgICB2aWV3TmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0TmF2aWdhdGlvblNlcnZpY2Uge1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRQYWdlVHJhbnNpdGlvbigpOiBzdHJpbmc7XG4gICAgcHVibGljIGFic3RyYWN0IGdvVG9QYWdlKHBhZ2VOYW1lOiBzdHJpbmcsIG9wdGlvbnM6IE5hdmlnYXRpb25PcHRpb25zKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ29Ub1ByZXZpb3VzKCk7XG4gICAgcHVibGljIGFic3RyYWN0IGdvVG9WaWV3KHZpZXdOYW1lOiBzdHJpbmcsIG9wdGlvbnM6IE5hdmlnYXRpb25PcHRpb25zLCB2YXJpYWJsZTogYW55KTtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFwcERlZmF1bHRzIHtcbiAgICBwdWJsaWMgZGF0ZUZvcm1hdDtcbiAgICBwdWJsaWMgdGltZUZvcm1hdDtcbiAgICBwdWJsaWMgZGF0ZVRpbWVGb3JtYXQ7XG4gICAgcHVibGljIGN1cnJlbmN5Q29kZTtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgc2V0Rm9ybWF0cyhmb3JtYXRzOiBhbnkpO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRHluYW1pY0NvbXBvbmVudFJlZlByb3ZpZGVyIHtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0Q29tcG9uZW50RmFjdG9yeVJlZihzZWxlY3Rvcjogc3RyaW5nLCBtYXJrdXA6IHN0cmluZywgb3B0aW9ucz86IGFueSk7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQYXJ0aWFsUmVmUHJvdmlkZXIge1xuICAgIGFic3RyYWN0IGdldENvbXBvbmVudEZhY3RvcnlSZWYocGFydGlhbE5hbWU6IHN0cmluZywgY29tcG9uZW50VHlwZTogQ29tcG9uZW50VHlwZSwgb3B0aW9ucz86IGFueSk6IFByb21pc2U8YW55Pjtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEN1c3RvbVdpZGdldFJlZlByb3ZpZGVyIHtcbiAgICBhYnN0cmFjdCBnZXRDb21wb25lbnRGYWN0b3J5UmVmKGN1c3RvbVdpZGdldE5hbWU6IHN0cmluZywgY29tcG9uZW50VHlwZTogQ29tcG9uZW50VHlwZSwgb3B0aW9ucz86IGFueSk6IFByb21pc2U8YW55Pjtcbn1cbiJdfQ==
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy90eXBlcy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3JCLGlEQUFJLENBQUE7SUFDSixxREFBTSxDQUFBO0lBQ04sdURBQU8sQ0FBQTtJQUNQLHFEQUFNLENBQUE7QUFDVixDQUFDLEVBTFcsYUFBYSxLQUFiLGFBQWEsUUFLeEI7QUFFRCxNQUFNLE9BQU8sV0FBVztDQUV2QjtBQUVELElBQUssU0EwQ0o7QUExQ0QsV0FBSyxTQUFTO0lBQ1YseUNBQTRCLENBQUE7SUFDNUIsMkNBQThCLENBQUE7SUFDOUIsMkNBQThCLENBQUE7SUFDOUIsMkNBQThCLENBQUE7SUFDOUIsOEJBQWlCLENBQUE7SUFDakIsOEJBQWlCLENBQUE7SUFDakIsOEJBQWlCLENBQUE7SUFDakIsd0NBQTJCLENBQUE7SUFDM0IsMkNBQThCLENBQUE7SUFDOUIsMERBQTZDLENBQUE7SUFDN0MsdUNBQTBCLENBQUE7SUFDMUIsdUNBQTBCLENBQUE7SUFDMUIsb0RBQXVDLENBQUE7SUFDdkMsb0VBQXVELENBQUE7SUFDdkQsOENBQWlDLENBQUE7SUFDakMsbUNBQXNCLENBQUE7SUFDdEIsMkRBQThDLENBQUE7SUFDOUMsb0VBQXVELENBQUE7SUFDdkQsc0RBQXlDLENBQUE7SUFDekMsNENBQStCLENBQUE7SUFDL0Isa0NBQXFCLENBQUE7SUFDckIsaUNBQW9CLENBQUE7SUFDcEIsb0RBQXVDLENBQUE7SUFDdkMsOENBQWlDLENBQUE7SUFDakMsd0NBQTJCLENBQUE7SUFDM0IsNERBQStDLENBQUE7SUFDL0MsdUNBQTBCLENBQUE7SUFDMUIsNkNBQWdDLENBQUE7SUFDaEMsb0RBQXVDLENBQUE7SUFDdkMsb0RBQXVDLENBQUE7SUFDdkMsMERBQTZDLENBQUE7SUFDN0MsMERBQTZDLENBQUE7SUFDN0MsNERBQStDLENBQUE7SUFDL0Msb0RBQXVDLENBQUE7SUFDdkMsaUNBQW9CLENBQUE7SUFDcEIsaUNBQW9CLENBQUE7SUFDcEIsdUNBQTBCLENBQUE7SUFDMUIsbURBQXNDLENBQUE7SUFDdEMsb0RBQXVDLENBQUE7SUFDdkMsOEJBQWlCLENBQUE7SUFDakIsNkNBQWdDLENBQUE7QUFDcEMsQ0FBQyxFQTFDSSxTQUFTLEtBQVQsU0FBUyxRQTBDYjtBQUVELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN0QixTQUFTO0NBQ1osQ0FBQztBQUVGLE1BQU0sT0FBZ0IsR0FBRztDQThDeEI7QUFHRCxNQUFNLE9BQWdCLHFCQUFxQjtDQWlCMUM7QUFFRCxNQUFNLE9BQWdCLG1CQUFtQjtDQW1CeEM7QUFFRCxNQUFNLE9BQWdCLG1CQUFtQjtDQWtCeEM7QUFFRCxNQUFNLE9BQWdCLHNCQUFzQjtDQWdCM0M7QUFFRCxNQUFNLE9BQWdCLHNCQUFzQjtDQU8zQztBQUNELE1BQU0sT0FBZ0IsMkJBQTJCO0NBRWhEO0FBVUQsTUFBTSxPQUFnQix5QkFBeUI7Q0FLOUM7QUFFRCxNQUFNLE9BQWdCLFdBQVc7Q0FNaEM7QUFFRCxNQUFNLE9BQWdCLDJCQUEyQjtDQUVoRDtBQUVELE1BQU0sT0FBZ0Isa0JBQWtCO0NBRXZDO0FBRUQsTUFBTSxPQUFnQix1QkFBdUI7Q0FFNUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBDb21wb25lbnRUeXBlIHtcbiAgICBQQUdFLFxuICAgIFBSRUZBQixcbiAgICBQQVJUSUFMLFxuICAgIFdJREdFVFxufVxuXG5leHBvcnQgY2xhc3MgSURhdGFTb3VyY2Uge1xuICAgIGV4ZWN1dGU6IChvcGVyYXRpb246IE9wZXJhdGlvbiwgb3B0aW9ucz86IGFueSkgPT4gYm9vbGVhbiB8IHN0cmluZyB8IFByb21pc2U8YW55Pjtcbn1cblxuZW51bSBPcGVyYXRpb24ge1xuICAgIExJU1RfUkVDT1JEUyA9ICdsaXN0UmVjb3JkcycsXG4gICAgVVBEQVRFX1JFQ09SRCA9ICd1cGRhdGVSZWNvcmQnLFxuICAgIElOU0VSVF9SRUNPUkQgPSAnaW5zZXJ0UmVjb3JkJyxcbiAgICBERUxFVEVfUkVDT1JEID0gJ2RlbGV0ZVJlY29yZCcsXG4gICAgSU5WT0tFID0gJ2ludm9rZScsXG4gICAgVVBEQVRFID0gJ3VwZGF0ZScsXG4gICAgTk9USUZZID0gJ25vdGlmeScsXG4gICAgSVNfQVBJX0FXQVJFID0gJ2lzQXBpQXdhcmUnLFxuICAgIFNVUFBPUlRTX0NSVUQgPSAnc3VwcG9ydHNDUlVEJyxcbiAgICBTVVBQT1JUU19ESVNUSU5DVF9BUEkgPSAnc3VwcG9ydHNEaXN0aW5jdEFQSScsXG4gICAgSVNfUEFHRUFCTEUgPSAnaXNQYWdlYWJsZScsXG4gICAgSVNfU09SVEFCTEUgPSAnaXNTb3J0YWJsZScsXG4gICAgR0VUX09QRVJBVElPTl9UWVBFID0gJ2dldE9wZXJhdGlvblR5cGUnLFxuICAgIEdFVF9SRUxBVEVEX1BSSU1BUllfS0VZUyA9ICdnZXRSZWxhdGVkVGFibGVQcmltYXJ5S2V5cycsXG4gICAgR0VUX0VOVElUWV9OQU1FID0gJ2dldEVudGl0eU5hbWUnLFxuICAgIFNFVF9JTlBVVCA9ICdzZXRpbnB1dCcsXG4gICAgR0VUX1JFTEFURURfVEFCTEVfREFUQSA9ICdnZXRSZWxhdGVkVGFibGVEYXRhJyxcbiAgICBHRVRfRElTVElOQ1RfREFUQV9CWV9GSUVMRFMgPSAnZ2V0RGlzdGluY3REYXRhQnlGaWVsZHMnLFxuICAgIEdFVF9BR0dSRUdBVEVEX0RBVEEgPSAnZ2V0QWdncmVnYXRlZERhdGEnLFxuICAgIEdFVF9NQVRDSF9NT0RFID0gJ2dldE1hdGNoTW9kZScsXG4gICAgRE9XTkxPQUQgPSAnZG93bmxvYWQnLFxuICAgIEdFVF9OQU1FID0gJ2dldE5hbWUnLFxuICAgIEdFVF9QUk9QRVJUSUVTX01BUCA9ICdnZXRQcm9wZXJ0aWVzTWFwJyxcbiAgICBHRVRfUFJJTUFSWV9LRVkgPSAnZ2V0UHJpbWFyeUtleScsXG4gICAgR0VUX0JMT0JfVVJMID0gJ2dldEJsb2JVUkwnLFxuICAgIFNVUFBPUlRTX1NFUlZFUl9GSUxURVIgPSAnc3VwcG9ydHNTZXJ2ZXJGaWx0ZXInLFxuICAgIEdFVF9PUFRJT05TID0gJ2dldE9wdGlvbnMnLFxuICAgIFNFQVJDSF9SRUNPUkRTID0gJ3NlYXJjaFJlY29yZHMnLFxuICAgIEdFVF9SRVFVRVNUX1BBUkFNUyA9ICdnZXRSZXF1ZXN0UGFyYW1zJyxcbiAgICBHRVRfUEFHSU5HX09QVElPTlMgPSAnZ2V0UGFnaW5nT3B0aW9ucycsXG4gICAgRkVUQ0hfRElTVElOQ1RfVkFMVUVTID0gJ2ZldGNoRGlzdGluY3RWYWx1ZXMnLFxuICAgIEdFVF9VTklRVUVfSURFTlRJRklFUiA9ICdnZXRVbmlxdWVJZGVudGlmaWVyJyxcbiAgICBHRVRfQ09OVEVYVF9JREVOVElGSUVSID0gJ2dldENvbnRleHRJZGVudGlmaWVyJyxcbiAgICBJU19VUERBVEVfUkVRVUlSRUQgPSAnaXNVcGRhdGVSZXF1aXJlZCcsXG4gICAgQUREX0lURU0gPSAnYWRkSXRlbScsXG4gICAgU0VUX0lURU0gPSAnc2V0SXRlbScsXG4gICAgUkVNT1ZFX0lURU0gPSAncmVtb3ZlSXRlbScsXG4gICAgSVNfQk9VTkRfVE9fTE9DQUxFID0gJ2lzQm91bmRUb0xvY2FsZScsXG4gICAgR0VUX0RFRkFVTFRfTE9DQUxFID0gJ2dldERlZmF1bHRMb2NhbGUnLFxuICAgIENBTkNFTCA9ICdjYW5jZWwnLFxuICAgIFNFVF9QQUdJTkFUSU9OID0gJ3NldFBhZ2luYXRpb24nXG59XG5cbmV4cG9ydCBjb25zdCBEYXRhU291cmNlID0ge1xuICAgIE9wZXJhdGlvblxufTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFwcCB7XG4gICAgYXBwTG9jYWxlOiBhbnk7XG4gICAgVmFyaWFibGVzOiBhbnk7XG4gICAgQWN0aW9uczogYW55O1xuICAgIG9uQXBwVmFyaWFibGVzUmVhZHk6IEZ1bmN0aW9uO1xuICAgIG9uU2Vzc2lvblRpbWVvdXQ6IEZ1bmN0aW9uO1xuICAgIG9uQmVmb3JlQXBwUmVhZHk6IEZ1bmN0aW9uO1xuICAgIG9uUGFnZVJlYWR5OiBGdW5jdGlvbjtcbiAgICBvbkJlZm9yZVBhZ2VMZWF2ZTogRnVuY3Rpb247XG4gICAgb25CZWZvcmVTZXJ2aWNlQ2FsbDogRnVuY3Rpb247XG4gICAgb25TZXJ2aWNlU3VjY2VzczogRnVuY3Rpb247XG4gICAgb25TZXJ2aWNlRXJyb3I6IEZ1bmN0aW9uO1xuICAgIHByb2plY3ROYW1lOiBzdHJpbmc7XG4gICAgaXNQcmVmYWJUeXBlOiBib29sZWFuO1xuICAgIGlzQXBwbGljYXRpb25UeXBlOiBib29sZWFuO1xuICAgIHNldHdpZGdldExvY2FsZTogRnVuY3Rpb247XG4gICAgc2V0TW9kZTogRnVuY3Rpb247XG4gICAgaXNUYWJsZXRBcHBsaWNhdGlvblR5cGU6IGJvb2xlYW47XG4gICAgaXNUZW1wbGF0ZUJ1bmRsZVR5cGU6IGJvb2xlYW47XG4gICAgY2hhbmdlTG9jYWxlOiBGdW5jdGlvbjtcbiAgICBnZXRTZWxlY3RlZExvY2FsZTogRnVuY3Rpb247XG4gICAgc2V0VGltZXpvbmU6IEZ1bmN0aW9uO1xuICAgIHJlbG9hZDogRnVuY3Rpb247XG4gICAgb240MDE6IEZ1bmN0aW9uO1xuICAgIG5vdGlmeUFwcDogRnVuY3Rpb247XG4gICAgaW1wb3J0TW9kdWxlOiBGdW5jdGlvbjtcbiAgICBnZXREZXBlbmRlbmN5OiBGdW5jdGlvbjtcbiAgICBuZXR3b3JrU3RhdHVzOiBhbnk7XG4gICAgbm90aWZ5OiAoZXZlbnROYW1lOiBzdHJpbmcsIGRhdGE/OiBhbnkpID0+IHZvaWQ7XG4gICAgZGVwbG95ZWRVcmw6IHN0cmluZztcbiAgICBjdXN0b21VcmxTY2hlbWU6IHN0cmluZztcbiAgICBzZWxlY3RlZFZpZXdQb3J0OiBPYmplY3Q7XG4gICAgc3Vic2NyaWJlOiAoZXZlbnROYW1lLCBjYWxsYmFjazogKGRhdGE6IGFueSkgPT4gdm9pZCkgPT4gKCkgPT4gdm9pZDtcbiAgICBkeW5hbWljQ29tcG9uZW50Q29udGFpbmVyUmVmOiBhbnk7XG4gICAgY2xlYXJQYWdlQ2FjaGU6IChwYWdlTmFtZT86IHN0cmluZykgPT4gdm9pZDtcblxuICAgIGFjdGl2ZVBhZ2VOYW1lOiBzdHJpbmc7XG4gICAgYWN0aXZlUGFnZTogYW55O1xuICAgIFBhZ2U6IGFueTtcbiAgICBhY3RpdmVQYWdlTG9hZFRpbWU6IG51bWJlcjtcbiAgICBsYW5kaW5nUGFnZU5hbWU6IHN0cmluZztcbiAgICBsYXN0QWN0aXZlUGFnZU5hbWU6IHN0cmluZztcbiAgICBkZXZpY2VDYXRlZ29yeTogc3RyaW5nO1xuXG4gICAgYWN0aXZlTGF5b3V0TmFtZTogc3RyaW5nO1xuICAgIGxheW91dFBhZ2VzOiBzdHJpbmdbXTtcbn1cblxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3REaWFsb2dTZXJ2aWNlIHtcbiAgICBwdWJsaWMgYWJzdHJhY3QgcmVnaXN0ZXIobmFtZTogc3RyaW5nLCBkaWFsb2dSZWY6IGFueSwgc2NvcGU6IGFueSk7XG4gICAgcHVibGljIGFic3RyYWN0IGRlUmVnaXN0ZXIobmFtZTogc3RyaW5nLCBzY29wZTogYW55KTtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgb3BlbihuYW1lOiBzdHJpbmcsIHNjb3BlPzogYW55LCBpbml0U3RhdGU/OiBhbnkpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBjbG9zZShuYW1lOiBzdHJpbmcsIHNjb3BlPzogYW55KTtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgc2hvd0FwcENvbmZpcm1EaWFsb2coaW5pdFN0YXRlPzogYW55KTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgY2xvc2VBcHBDb25maXJtRGlhbG9nKCk7XG4gICAgcHVibGljIGFic3RyYWN0IGdldEFwcENvbmZpcm1EaWFsb2coKTtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgc2V0QXBwQ29uZmlybURpYWxvZyhkaWFsb2dOYW1lOiBzdHJpbmcpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBjbG9zZUFsbERpYWxvZ3M6IEZ1bmN0aW9uO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBhZGRUb09wZW5lZERpYWxvZ3MocmVmOiBhbnkpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRMYXN0T3BlbmVkRGlhbG9nKCk7XG4gICAgcHVibGljIGFic3RyYWN0IHJlbW92ZUZyb21PcGVuZWREaWFsb2dzKHJlZjogYW55KTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0T3BlbmVkRGlhbG9ncygpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBhZGRUb0Nsb3NlZERpYWxvZ3MocmVmOiBhbnkpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCByZW1vdmVGcm9tQ2xvc2VkRGlhbG9ncyhyZWY6IGFueSk7XG4gICAgcHVibGljIGFic3RyYWN0IGdldERpYWxvZ1JlZkZyb21DbG9zZWREaWFsb2dzKCk7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEh0dHBTZXJ2aWNlIHtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgc2VuZChvcHRpb25zOiBhbnkpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzZXRMb2NhbGUobG9jYWxlKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0TG9jYWxlKCk7XG4gICAgcHVibGljIGFic3RyYWN0IGdldEhlYWRlcihlcnJvciwgaGVhZGVyS2V5KTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgaXNQbGF0Zm9ybVNlc3Npb25UaW1lb3V0KGVycm9yKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0KHVybDogc3RyaW5nLCBvcHRpb25zPzogYW55KTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgcG9zdCh1cmwsIGRhdGEsIG9wdGlvbnMpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBwdXQodXJsLCBkYXRhLCBvcHRpb25zKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgcGF0Y2godXJsLCBkYXRhLCBvcHRpb25zKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZGVsZXRlKHVybCwgb3B0aW9ucyk7XG4gICAgcHVibGljIGFic3RyYWN0IGhlYWQodXJsLCBvcHRpb25zKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QganNvbnAodXJsLCBvcHRpb25zKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgdXBsb2FkKHVybCwgZGF0YSwgb3B0aW9ucyk7XG4gICAgcHVibGljIGFic3RyYWN0IHJlZ2lzdGVyT25TZXNzaW9uVGltZW91dChjYWxsYmFjayk7XG4gICAgcHVibGljIGFic3RyYWN0IG9uNDAxKCk7XG4gICAgcHVibGljIGFic3RyYWN0IHB1c2hUb1Nlc3Npb25GYWlsdXJlUXVldWUoY2FsbGJhY2spO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBleGVjdXRlU2Vzc2lvbkZhaWx1cmVSZXF1ZXN0cygpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzZW5kQ2FsbEFzT2JzZXJ2YWJsZShvcHRpb25zOiBhbnksIHBhcmFtcz86IGFueSk6IGFueTtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0STE4blNlcnZpY2Uge1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRTZWxlY3RlZExvY2FsZSgpOiBzdHJpbmc7XG4gICAgcHVibGljIGFic3RyYWN0IGdldERlZmF1bHRTdXBwb3J0ZWRMb2NhbGUoKTogc3RyaW5nO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRBcHBMb2NhbGUoKTogYW55O1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzZXRTZWxlY3RlZExvY2FsZShsb2NhbGUpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBsb2FkRGVmYXVsdExvY2FsZSgpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRMb2NhbGl6ZWRNZXNzYWdlKG1lc3NhZ2UsIC4uLmFyZ3MpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBpbml0Q2FsZW5kYXJMb2NhbGUoKTogUHJvbWlzZTxhbnk+O1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBsb2FkQXBwTG9jYWxlQnVuZGxlKCk7XG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGxvYWRNb21lbnRMb2NhbGVCdW5kbGUobG9jYWxlTGFuZyk7XG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGxvYWRMb2NhbGVCdW5kbGVzKGxvY2FsZUxhbmcpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzZXRUaW1lem9uZShsb2NhbGUsIGNvbXBJbnN0YW5jZT8pO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzZXRUaW1lem9uZUVhcmx5KCk6IFByb21pc2U8YW55PjtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0Rm9ybWF0c0J5TG9jYWxlKCk7XG4gICAgcHVibGljIGFic3RyYWN0IGdldFRpbWV6b25lKGNvbXBJbnN0YW5jZT8pO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRQcmVmYWJMb2NhbGVCdW5kbGUocHJlZmFiTmFtZTogc3RyaW5nKTogYW55O1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzZXR3aWRnZXRMb2NhbGUobG9jYWxlKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0d2lkZ2V0TG9jYWxlKCk7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFRvYXN0ZXJTZXJ2aWNlIHtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgc3VjY2Vzcyh0aXRsZTogc3RyaW5nLCBkZXNjOiBzdHJpbmcpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBlcnJvcih0aXRsZTogc3RyaW5nLCBkZXNjOiBzdHJpbmcpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBpbmZvKHRpdGxlOiBzdHJpbmcsIGRlc2M6IHN0cmluZyk7XG4gICAgcHVibGljIGFic3RyYWN0IHdhcm4odGl0bGU6IHN0cmluZywgZGVzYzogc3RyaW5nKTtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgc2hvdyhcbiAgICAgICAgdHlwZTogc3RyaW5nLFxuICAgICAgICB0aXRsZTogc3RyaW5nLFxuICAgICAgICBkZXNjOiBzdHJpbmcsXG4gICAgICAgIHRpbWVvdXQ6IG51bWJlcixcbiAgICAgICAgYm9keU91dHB1dFR5cGU6IHN0cmluZyxcbiAgICAgICAgb25DbGlja0hhbmRsZXI6IEZ1bmN0aW9uLFxuICAgICAgICBvbkhpZGVDYWxsYmFjazogRnVuY3Rpb25cbiAgICApO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBoaWRlKHRvYXN0ZXJPYmo6IGFueSk7XG4gICAgcHVibGljIGFic3RyYWN0IHNob3dDdXN0b20ocGFnZU5hbWU6IHN0cmluZywgb3B0aW9ucz86IGFueSk7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFNwaW5uZXJTZXJ2aWNlIHtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0TWVzc2FnZVNvdXJjZSgpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzaG93Q29udGV4dFNwaW5uZXIoc3Bpbm5lckNvbnRleHQ6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nLCBpZDogc3RyaW5nKTtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgc2hvd0FwcFNwaW5uZXIobXNnOiBzdHJpbmcsIGlkOiBzdHJpbmcpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBoaWRlQ29udGV4dFNwaW5uZXIoY3R4OiBzdHJpbmcsIGlkOiBzdHJpbmcpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzaG93KG1lc3NhZ2U6IHN0cmluZywgaWQ/OiBzdHJpbmcsIHNwaW5uZXJDbGFzcz86IHN0cmluZywgc3Bpbm5lckNvbnRleHQ/OiBzdHJpbmcsIHZhcmlhYmxlU2NvcGVJZD86IHN0cmluZyk7XG4gICAgcHVibGljIGFic3RyYWN0IGhpZGUoaWQ6IHN0cmluZyk7XG59XG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVXNlckRlZmluZWRFeGVjdXRpb25Db250ZXh0IHtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hdmlnYXRpb25PcHRpb25zIHtcbiAgICAkZXZlbnQ/OiBhbnk7XG4gICAgcGFnZU5hbWU/OiBzdHJpbmc7XG4gICAgdHJhbnNpdGlvbj86IHN0cmluZztcbiAgICB1cmxQYXJhbXM/OiBhbnk7XG4gICAgdmlld05hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdE5hdmlnYXRpb25TZXJ2aWNlIHtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0UGFnZVRyYW5zaXRpb24oKTogc3RyaW5nO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnb1RvUGFnZShwYWdlTmFtZTogc3RyaW5nLCBvcHRpb25zOiBOYXZpZ2F0aW9uT3B0aW9ucyk7XG4gICAgcHVibGljIGFic3RyYWN0IGdvVG9QcmV2aW91cygpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnb1RvVmlldyh2aWV3TmFtZTogc3RyaW5nLCBvcHRpb25zOiBOYXZpZ2F0aW9uT3B0aW9ucywgdmFyaWFibGU6IGFueSk7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBcHBEZWZhdWx0cyB7XG4gICAgcHVibGljIGRhdGVGb3JtYXQ7XG4gICAgcHVibGljIHRpbWVGb3JtYXQ7XG4gICAgcHVibGljIGRhdGVUaW1lRm9ybWF0O1xuICAgIHB1YmxpYyBjdXJyZW5jeUNvZGU7XG4gICAgcHVibGljIGFic3RyYWN0IHNldEZvcm1hdHMoZm9ybWF0czogYW55KTtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIER5bmFtaWNDb21wb25lbnRSZWZQcm92aWRlciB7XG4gICAgcHVibGljIGFic3RyYWN0IGdldENvbXBvbmVudEZhY3RvcnlSZWYoc2VsZWN0b3I6IHN0cmluZywgbWFya3VwOiBzdHJpbmcsIG9wdGlvbnM/OiBhbnkpO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGFydGlhbFJlZlByb3ZpZGVyIHtcbiAgICBhYnN0cmFjdCBnZXRDb21wb25lbnRGYWN0b3J5UmVmKHBhcnRpYWxOYW1lOiBzdHJpbmcsIGNvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGUsIG9wdGlvbnM/OiBhbnkpOiBQcm9taXNlPGFueT47XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDdXN0b21XaWRnZXRSZWZQcm92aWRlciB7XG4gICAgYWJzdHJhY3QgZ2V0Q29tcG9uZW50RmFjdG9yeVJlZihjdXN0b21XaWRnZXROYW1lOiBzdHJpbmcsIGNvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGUsIG9wdGlvbnM/OiBhbnkpOiBQcm9taXNlPGFueT47XG59XG4iXX0=
|