@seniorsistemas/angular-components 19.3.1 → 19.3.2
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/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.component.d.ts +1 -2
- package/calendar-mask/lib/calendar-mask/calendar-mask.directive.d.ts +0 -1
- package/chips/lib/chips/chips/chips.component.d.ts +1 -2
- package/code-editor/lib/code-editor/code-editor.component.d.ts +0 -2
- package/code-editor/lib/code-editor/infra/utils/custom-translations/custom-translations.module.d.ts +1 -3
- package/common/lib/svg-factory/svg-factory.directive.d.ts +1 -2
- package/content-generator/lib/content-generator/content-generator.component.d.ts +1 -6
- package/content-generator/lib/services/IAssist/iassist.service.d.ts +0 -3
- package/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.d.ts +0 -3
- package/country-phone-picker/lib/country-phone-picker/country-phone-picker.service.d.ts +0 -2
- package/currency/lib/currency.service.d.ts +0 -2
- package/custom-fields/lib/custom-fields/custom-fields.component.d.ts +3 -7
- package/custom-fields/lib/custom-fields/custom-fields.service.d.ts +0 -2
- package/dynamic-form/dynamic-form/components/lookup/lookup.component.d.ts +0 -2
- package/dynamic-form/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.d.ts +1 -2
- package/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.d.ts +1 -3
- package/dynamic-form/dynamic-form/form-field/fields/calendar/calendar-field.component.d.ts +1 -2
- package/dynamic-form/dynamic-form/form-field/fields/chips/chips-field.component.d.ts +1 -3
- package/dynamic-form/dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component.d.ts +1 -2
- package/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.d.ts +1 -3
- package/dynamic-form/dynamic-form/form-field/fields/file-picker/file-picker-field.component.d.ts +1 -2
- package/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.d.ts +1 -3
- package/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.d.ts +1 -2
- package/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.d.ts +1 -2
- package/dynamic-form/dynamic-form/form-field/fields/text-area/text-area-field.component.d.ts +1 -2
- package/empty-state/lib/empty-state/go-back/go-back.component.d.ts +0 -2
- package/esm2022/badge/lib/badge/badge.component.mjs +3 -3
- package/esm2022/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.component.mjs +10 -13
- package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.directive.mjs +7 -11
- package/esm2022/chips/lib/chips/chips/chips.component.mjs +5 -8
- package/esm2022/code-editor/lib/code-editor/code-editor.component.mjs +6 -9
- package/esm2022/code-editor/lib/code-editor/infra/utils/custom-translations/custom-translations.module.mjs +8 -13
- package/esm2022/common/lib/svg-factory/svg-factory.directive.mjs +6 -10
- package/esm2022/content-generator/lib/content-generator/content-generator.component.mjs +24 -30
- package/esm2022/content-generator/lib/services/IAssist/iassist.service.mjs +9 -12
- package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.mjs +15 -23
- package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.service.mjs +6 -9
- package/esm2022/currency/lib/currency.service.mjs +6 -9
- package/esm2022/custom-fields/lib/custom-fields/custom-fields.component.mjs +17 -25
- package/esm2022/custom-fields/lib/custom-fields/custom-fields.service.mjs +6 -9
- package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +22 -28
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.mjs +6 -10
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +12 -17
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/calendar/calendar-field.component.mjs +5 -8
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/chips/chips-field.component.mjs +12 -17
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component.mjs +5 -8
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +13 -19
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/file-picker/file-picker-field.component.mjs +6 -10
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +14 -19
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +5 -8
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +5 -8
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/text-area/text-area-field.component.mjs +5 -8
- package/esm2022/empty-state/lib/empty-state/go-back/go-back.component.mjs +8 -11
- package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +17 -21
- package/esm2022/gantt/lib/gantt/components/gantt/gantt.mjs +6 -2
- package/esm2022/gantt/lib/gantt/gantt.component.mjs +8 -4
- package/esm2022/global-search/lib/global-search/global-search.component.mjs +5 -8
- package/esm2022/image-cropper/lib/image-cropper/image-cropper.service.mjs +7 -12
- package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.mjs +5 -8
- package/esm2022/info-sign/lib/info-sign/info-sign.directive.mjs +6 -10
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.mjs +9 -12
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +14 -17
- package/esm2022/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +12 -15
- package/esm2022/insights/lib/insights/components/insights-card/insights-card.component.mjs +15 -19
- package/esm2022/interactive-content/lib/interactive-content/interactive-content.directive.mjs +5 -8
- package/esm2022/kanban/lib/kanban/components/kanban-column/kanban-column.component.mjs +10 -13
- package/esm2022/kanban/lib/kanban/components/kanban-item/kanban-item.component.mjs +10 -13
- package/esm2022/kanban/lib/kanban/kanban.component.mjs +23 -17
- package/esm2022/loading-state/lib/loading-state/loading-state.directive.mjs +10 -16
- package/esm2022/locale/lib/locale/locale.service.mjs +8 -12
- package/esm2022/locale/lib/locale/pipes/localized-bignumber.pipe.mjs +6 -9
- package/esm2022/locale/lib/locale/pipes/localized-currency.pipe.mjs +6 -9
- package/esm2022/locale/lib/locale/pipes/localized-date.pipe.mjs +6 -9
- package/esm2022/locale/lib/locale/pipes/localized-number.pipe.mjs +6 -9
- package/esm2022/locale/lib/locale/pipes/localized-time.pipe.mjs +6 -9
- package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.directive.mjs +6 -9
- package/esm2022/navigation-button/lib/navigation-button/navigation-button.component.mjs +5 -8
- package/esm2022/numeric/lib/numeric.pipe.mjs +8 -12
- package/esm2022/numeric/lib/numeric.service.mjs +6 -9
- package/esm2022/password-strength/lib/password-strength/password-strength.component.mjs +8 -11
- package/esm2022/password-strength/lib/password-strength/password-strength.directive.mjs +10 -16
- package/esm2022/picklist/lib/picklist/picklist.component.mjs +5 -8
- package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.mjs +15 -19
- package/esm2022/progressbar/lib/progressbar/components/progressbar-determinate/progressbar-determinate.component.mjs +8 -11
- package/esm2022/progressbar/lib/progressbar/progressbar.module.mjs +5 -4
- package/esm2022/select-button/lib/select-button/select-button.component.mjs +3 -3
- package/esm2022/shared/lib/accessibility/paginator-accessibility.directive.mjs +8 -13
- package/esm2022/shared/lib/accessibility/table-checkbox-accessibility.directive.mjs +5 -8
- package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.mjs +9 -12
- package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.mjs +12 -16
- package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition.service.mjs +12 -16
- package/esm2022/speech-recognition/lib/speech-recognition/text-to-speech.service.mjs +8 -10
- package/esm2022/split-button/lib/split-button/split-button.component.mjs +5 -8
- package/esm2022/table/lib/table/row-toggler/row-toggler.directive.mjs +7 -7
- package/esm2022/table/lib/table/table-column/table-columns.component.mjs +19 -28
- package/esm2022/table/lib/table/table-paging/table-paging.component.mjs +9 -16
- package/esm2022/table-header/lib/table-header/table-header-checkbox.component.mjs +11 -13
- package/esm2022/text-area/lib/text-area/text-area.component.mjs +5 -8
- package/esm2022/thumbnail/lib/thumbnail/thumbnail.component.mjs +8 -11
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +16 -24
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +8 -11
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.mjs +12 -16
- package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.directive.mjs +13 -25
- package/esm2022/toast/lib/toast/toast.service.mjs +7 -12
- package/esm2022/tree/lib/tree/components/tree-node-item/tree-node-item.component.mjs +10 -14
- package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.component.mjs +6 -10
- package/fesm2022/seniorsistemas-angular-components-badge.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-badge.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs +10 -12
- package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs +6 -10
- package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-chips.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-chips.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-code-editor.mjs +10 -18
- package/fesm2022/seniorsistemas-angular-components-code-editor.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-common.mjs +5 -9
- package/fesm2022/seniorsistemas-angular-components-common.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +29 -40
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs +16 -28
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-currency.mjs +5 -8
- package/fesm2022/seniorsistemas-angular-components-currency.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs +45 -59
- package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +108 -157
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-empty-state.mjs +4 -8
- package/fesm2022/seniorsistemas-angular-components-empty-state.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +17 -22
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-gantt.mjs +12 -4
- package/fesm2022/seniorsistemas-angular-components-gantt.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs +6 -11
- package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-info-sign.mjs +5 -9
- package/fesm2022/seniorsistemas-angular-components-info-sign.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +29 -38
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-insights.mjs +17 -22
- package/fesm2022/seniorsistemas-angular-components-insights.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-kanban.mjs +30 -30
- package/fesm2022/seniorsistemas-angular-components-kanban.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-loading-state.mjs +7 -15
- package/fesm2022/seniorsistemas-angular-components-loading-state.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-locale.mjs +22 -41
- package/fesm2022/seniorsistemas-angular-components-locale.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs +5 -8
- package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-numeric.mjs +9 -16
- package/fesm2022/seniorsistemas-angular-components-numeric.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-password-strength.mjs +13 -24
- package/fesm2022/seniorsistemas-angular-components-password-strength.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-picklist.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-picklist.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +14 -21
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-progressbar.mjs +11 -14
- package/fesm2022/seniorsistemas-angular-components-progressbar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-select-button.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-select-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-shared.mjs +10 -18
- package/fesm2022/seniorsistemas-angular-components-shared.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs +7 -10
- package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs +23 -34
- package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-split-button.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-split-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-table-header.mjs +10 -12
- package/fesm2022/seniorsistemas-angular-components-table-header.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-table.mjs +29 -46
- package/fesm2022/seniorsistemas-angular-components-table.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs +6 -9
- package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +30 -55
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-toast.mjs +6 -11
- package/fesm2022/seniorsistemas-angular-components-toast.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tree.mjs +9 -14
- package/fesm2022/seniorsistemas-angular-components-tree.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs +5 -9
- package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs.map +1 -1
- package/file-picker/lib/file-picker/file-picker.component.d.ts +0 -4
- package/file-upload/README.md +9 -37
- package/gantt/lib/gantt/gantt.component.d.ts +1 -0
- package/global-search/lib/global-search/global-search.component.d.ts +1 -2
- package/ia-insight/README.md +17 -0
- package/image-cropper/lib/image-cropper/image-cropper.service.d.ts +1 -2
- package/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.d.ts +1 -2
- package/info-sign/lib/info-sign/info-sign.directive.d.ts +1 -2
- package/inline-edit/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.d.ts +1 -2
- package/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.d.ts +0 -2
- package/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.d.ts +0 -2
- package/insights/lib/insights/components/insights-card/insights-card.component.d.ts +0 -4
- package/interactive-content/lib/interactive-content/interactive-content.directive.d.ts +1 -2
- package/kanban/lib/kanban/components/kanban-column/kanban-column.component.d.ts +0 -2
- package/kanban/lib/kanban/components/kanban-item/kanban-item.component.d.ts +0 -2
- package/kanban/lib/kanban/kanban.component.d.ts +2 -2
- package/loading-state/lib/loading-state/loading-state.directive.d.ts +1 -2
- package/locale/lib/locale/locale.service.d.ts +0 -3
- package/locale/lib/locale/pipes/localized-bignumber.pipe.d.ts +0 -2
- package/locale/lib/locale/pipes/localized-currency.pipe.d.ts +0 -2
- package/locale/lib/locale/pipes/localized-date.pipe.d.ts +0 -2
- package/locale/lib/locale/pipes/localized-number.pipe.d.ts +0 -2
- package/locale/lib/locale/pipes/localized-time.pipe.d.ts +0 -2
- package/localized-number-input/lib/localized-number-input/localized-number-input.directive.d.ts +0 -2
- package/navigation-button/lib/navigation-button/navigation-button.component.d.ts +1 -2
- package/numeric/lib/numeric.pipe.d.ts +0 -3
- package/numeric/lib/numeric.service.d.ts +0 -2
- package/package.json +13 -13
- package/password-strength/lib/password-strength/password-strength.component.d.ts +0 -2
- package/password-strength/lib/password-strength/password-strength.directive.d.ts +1 -2
- package/picklist/lib/picklist/picklist.component.d.ts +1 -2
- package/product-header/README.md +17 -0
- package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.d.ts +0 -4
- package/progressbar/lib/progressbar/components/progressbar-determinate/progressbar-determinate.component.d.ts +0 -2
- package/progressbar/lib/progressbar/progressbar.module.d.ts +2 -1
- package/shared/lib/accessibility/paginator-accessibility.directive.d.ts +1 -3
- package/shared/lib/accessibility/table-checkbox-accessibility.directive.d.ts +1 -2
- package/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.d.ts +0 -2
- package/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.d.ts +0 -4
- package/speech-recognition/lib/speech-recognition/speech-recognition.service.d.ts +1 -5
- package/speech-recognition/lib/speech-recognition/text-to-speech.service.d.ts +1 -3
- package/split-button/lib/split-button/split-button.component.d.ts +1 -2
- package/table/lib/table/row-toggler/row-toggler.directive.d.ts +1 -1
- package/table/lib/table/table-column/table-columns.component.d.ts +2 -6
- package/table/lib/table/table-paging/table-paging.component.d.ts +0 -3
- package/table-header/lib/table-header/table-header-checkbox.component.d.ts +1 -1
- package/text-area/lib/text-area/text-area.component.d.ts +1 -2
- package/text-area-ia/README.md +17 -0
- package/thumbnail/lib/thumbnail/thumbnail.component.d.ts +0 -2
- package/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +1 -3
- package/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.d.ts +0 -2
- package/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +0 -2
- package/tiered-menu/lib/tiered-menu/tiered-menu.directive.d.ts +1 -5
- package/toast/lib/toast/toast.service.d.ts +0 -2
- package/tree/lib/tree/components/tree-node-item/tree-node-item.component.d.ts +1 -3
- package/workspace-switch/lib/workspace-switch/workspace-switch.component.d.ts +1 -2
- package/confirm-dialog/README.md +0 -226
- package/numeric-mask/README.md +0 -395
- package/pin-code-field/README.md +0 -366
- package/spotlight/README.md +0 -311
|
@@ -1,32 +1,27 @@
|
|
|
1
|
-
import { NgModule,
|
|
1
|
+
import { NgModule, inject } from "@angular/core";
|
|
2
|
+
import { TranslateService } from "@ngx-translate/core";
|
|
2
3
|
import { CustomTranslationsService } from "./index";
|
|
3
4
|
import { HostProjectConfigsInjectionToken } from "@seniorsistemas/angular-components/common";
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@ngx-translate/core";
|
|
6
6
|
/**
|
|
7
7
|
* Responsible for setting up the translations that will be used by the "CustomTranslationsService".
|
|
8
8
|
* Uses the host project's translations set by using the "TranslationsModule" from "@seniorsistemas/platform-components"
|
|
9
9
|
*/
|
|
10
10
|
export class CustomTranslationsModule {
|
|
11
|
-
translate;
|
|
12
|
-
hostProjectConfigs;
|
|
13
|
-
constructor(
|
|
14
|
-
this.translate = translate;
|
|
15
|
-
this.hostProjectConfigs = hostProjectConfigs;
|
|
11
|
+
translate = inject(TranslateService);
|
|
12
|
+
hostProjectConfigs = inject(HostProjectConfigsInjectionToken);
|
|
13
|
+
constructor() {
|
|
16
14
|
this.factoryTranslations(this.translate, this.hostProjectConfigs);
|
|
17
15
|
}
|
|
18
16
|
factoryTranslations(translate, hostProjectConfigs) {
|
|
19
17
|
CustomTranslationsService.setTranslations(translate.translations);
|
|
20
18
|
CustomTranslationsService.setTranslationsPrefix(hostProjectConfigs);
|
|
21
19
|
}
|
|
22
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CustomTranslationsModule, deps: [
|
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CustomTranslationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
23
21
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: CustomTranslationsModule });
|
|
24
22
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CustomTranslationsModule });
|
|
25
23
|
}
|
|
26
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CustomTranslationsModule, decorators: [{
|
|
27
25
|
type: NgModule
|
|
28
|
-
}], ctorParameters: () => [
|
|
29
|
-
|
|
30
|
-
args: [HostProjectConfigsInjectionToken]
|
|
31
|
-
}] }] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRyYW5zbGF0aW9ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvY29kZS1lZGl0b3Ivc3JjL2xpYi9jb2RlLWVkaXRvci9pbmZyYS91dGlscy9jdXN0b20tdHJhbnNsYXRpb25zL2N1c3RvbS10cmFuc2xhdGlvbnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxRQUFRLEVBQ1IsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwRCxPQUFPLEVBQXNCLGdDQUFnQyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7OztBQUVqSDs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sd0JBQXdCO0lBR1o7SUFDMEM7SUFGL0QsWUFDcUIsU0FBMkIsRUFDZSxrQkFBc0M7UUFEaEYsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDZSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBRWpHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxTQUEyQixFQUFFLGtCQUFzQztRQUMzRix5QkFBeUIsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xFLHlCQUF5QixDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDeEUsQ0FBQzt3R0FaUSx3QkFBd0Isa0RBSXJCLGdDQUFnQzt5R0FKbkMsd0JBQXdCO3lHQUF4Qix3QkFBd0I7OzRGQUF4Qix3QkFBd0I7a0JBRHBDLFFBQVE7OzBCQUtBLE1BQU07MkJBQUMsZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBOZ01vZHVsZSxcbiAgICBJbmplY3Rcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuXG5pbXBvcnQgeyBDdXN0b21UcmFuc2xhdGlvbnNTZXJ2aWNlIH0gZnJvbSBcIi4vaW5kZXhcIjtcbmltcG9ydCB7IEhvc3RQcm9qZWN0Q29uZmlncywgSG9zdFByb2plY3RDb25maWdzSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9jb21tb25cIjtcblxuLyoqXG4gKiBSZXNwb25zaWJsZSBmb3Igc2V0dGluZyB1cCB0aGUgdHJhbnNsYXRpb25zIHRoYXQgd2lsbCBiZSB1c2VkIGJ5IHRoZSBcIkN1c3RvbVRyYW5zbGF0aW9uc1NlcnZpY2VcIi5cbiAqIFVzZXMgdGhlIGhvc3QgcHJvamVjdCdzIHRyYW5zbGF0aW9ucyBzZXQgYnkgdXNpbmcgdGhlIFwiVHJhbnNsYXRpb25zTW9kdWxlXCIgZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9wbGF0Zm9ybS1jb21wb25lbnRzXCJcbiAqL1xuQE5nTW9kdWxlKClcbmV4cG9ydCBjbGFzcyBDdXN0b21UcmFuc2xhdGlvbnNNb2R1bGUge1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KEhvc3RQcm9qZWN0Q29uZmlnc0luamVjdGlvblRva2VuKSBwcml2YXRlIHJlYWRvbmx5IGhvc3RQcm9qZWN0Q29uZmlnczogSG9zdFByb2plY3RDb25maWdzXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZmFjdG9yeVRyYW5zbGF0aW9ucyh0aGlzLnRyYW5zbGF0ZSwgdGhpcy5ob3N0UHJvamVjdENvbmZpZ3MpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmFjdG9yeVRyYW5zbGF0aW9ucyh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIGhvc3RQcm9qZWN0Q29uZmlnczogSG9zdFByb2plY3RDb25maWdzKTogdm9pZCB7XG4gICAgICAgIEN1c3RvbVRyYW5zbGF0aW9uc1NlcnZpY2Uuc2V0VHJhbnNsYXRpb25zKHRyYW5zbGF0ZS50cmFuc2xhdGlvbnMpO1xuICAgICAgICBDdXN0b21UcmFuc2xhdGlvbnNTZXJ2aWNlLnNldFRyYW5zbGF0aW9uc1ByZWZpeChob3N0UHJvamVjdENvbmZpZ3MpO1xuICAgIH1cbn1cbiJdfQ==
|
|
26
|
+
}], ctorParameters: () => [] });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRyYW5zbGF0aW9ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvY29kZS1lZGl0b3Ivc3JjL2xpYi9jb2RlLWVkaXRvci9pbmZyYS91dGlscy9jdXN0b20tdHJhbnNsYXRpb25zL2N1c3RvbS10cmFuc2xhdGlvbnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwRCxPQUFPLEVBQXNCLGdDQUFnQyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7O0FBRWpIOzs7R0FHRztBQUVILE1BQU0sT0FBTyx3QkFBd0I7SUFDaEIsU0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3JDLGtCQUFrQixHQUFHLE1BQU0sQ0FBcUIsZ0NBQWdDLENBQUMsQ0FBQztJQUduRztRQUNJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxTQUEyQixFQUFFLGtCQUFzQztRQUMzRix5QkFBeUIsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xFLHlCQUF5QixDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDeEUsQ0FBQzt3R0FaUSx3QkFBd0I7eUdBQXhCLHdCQUF3Qjt5R0FBeEIsd0JBQXdCOzs0RkFBeEIsd0JBQXdCO2tCQURwQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcblxuaW1wb3J0IHsgQ3VzdG9tVHJhbnNsYXRpb25zU2VydmljZSB9IGZyb20gXCIuL2luZGV4XCI7XG5pbXBvcnQgeyBIb3N0UHJvamVjdENvbmZpZ3MsIEhvc3RQcm9qZWN0Q29uZmlnc0luamVjdGlvblRva2VuIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvY29tbW9uXCI7XG5cbi8qKlxuICogUmVzcG9uc2libGUgZm9yIHNldHRpbmcgdXAgdGhlIHRyYW5zbGF0aW9ucyB0aGF0IHdpbGwgYmUgdXNlZCBieSB0aGUgXCJDdXN0b21UcmFuc2xhdGlvbnNTZXJ2aWNlXCIuXG4gKiBVc2VzIHRoZSBob3N0IHByb2plY3QncyB0cmFuc2xhdGlvbnMgc2V0IGJ5IHVzaW5nIHRoZSBcIlRyYW5zbGF0aW9uc01vZHVsZVwiIGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvcGxhdGZvcm0tY29tcG9uZW50c1wiXG4gKi9cbkBOZ01vZHVsZSgpXG5leHBvcnQgY2xhc3MgQ3VzdG9tVHJhbnNsYXRpb25zTW9kdWxlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3RQcm9qZWN0Q29uZmlncyA9IGluamVjdDxIb3N0UHJvamVjdENvbmZpZ3M+KEhvc3RQcm9qZWN0Q29uZmlnc0luamVjdGlvblRva2VuKTtcblxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuZmFjdG9yeVRyYW5zbGF0aW9ucyh0aGlzLnRyYW5zbGF0ZSwgdGhpcy5ob3N0UHJvamVjdENvbmZpZ3MpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmFjdG9yeVRyYW5zbGF0aW9ucyh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIGhvc3RQcm9qZWN0Q29uZmlnczogSG9zdFByb2plY3RDb25maWdzKTogdm9pZCB7XG4gICAgICAgIEN1c3RvbVRyYW5zbGF0aW9uc1NlcnZpY2Uuc2V0VHJhbnNsYXRpb25zKHRyYW5zbGF0ZS50cmFuc2xhdGlvbnMpO1xuICAgICAgICBDdXN0b21UcmFuc2xhdGlvbnNTZXJ2aWNlLnNldFRyYW5zbGF0aW9uc1ByZWZpeChob3N0UHJvamVjdENvbmZpZ3MpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,18 +1,14 @@
|
|
|
1
|
-
import { Directive, Input } from '@angular/core';
|
|
1
|
+
import { Directive, ViewContainerRef, Input, ChangeDetectorRef, inject } from '@angular/core';
|
|
2
2
|
import { IAssistIconComponent } from './components/iassist-icon/iassist-icon.component';
|
|
3
3
|
import { SeniorIconComponent } from './components/senior-icon/senior-icon.component';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class SVGFactoryDirective {
|
|
6
|
-
viewContainerRef;
|
|
7
|
-
cdr;
|
|
6
|
+
viewContainerRef = inject(ViewContainerRef);
|
|
7
|
+
cdr = inject(ChangeDetectorRef);
|
|
8
8
|
set sSVGFactory(icon) {
|
|
9
9
|
this._iconClass = this._getIconClass(icon);
|
|
10
10
|
}
|
|
11
11
|
_iconClass = this._getIconClass('senior');
|
|
12
|
-
constructor(viewContainerRef, cdr) {
|
|
13
|
-
this.viewContainerRef = viewContainerRef;
|
|
14
|
-
this.cdr = cdr;
|
|
15
|
-
}
|
|
16
12
|
ngAfterViewInit() {
|
|
17
13
|
this._createComponent();
|
|
18
14
|
}
|
|
@@ -30,7 +26,7 @@ export class SVGFactoryDirective {
|
|
|
30
26
|
return SeniorIconComponent;
|
|
31
27
|
}
|
|
32
28
|
}
|
|
33
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SVGFactoryDirective, deps: [
|
|
29
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SVGFactoryDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
34
30
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: SVGFactoryDirective, selector: "[sSVGFactory]", inputs: { sSVGFactory: "sSVGFactory" }, ngImport: i0 });
|
|
35
31
|
}
|
|
36
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SVGFactoryDirective, decorators: [{
|
|
@@ -38,7 +34,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
38
34
|
args: [{
|
|
39
35
|
selector: '[sSVGFactory]',
|
|
40
36
|
}]
|
|
41
|
-
}],
|
|
37
|
+
}], propDecorators: { sSVGFactory: [{
|
|
42
38
|
type: Input
|
|
43
39
|
}] } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLWZhY3RvcnkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2NvbW1vbi9zcmMvbGliL3N2Zy1mYWN0b3J5L3N2Zy1mYWN0b3J5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBaUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOztBQU1yRixNQUFNLE9BQU8sbUJBQW1CO0lBQ1gsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRWpELElBQ1csV0FBVyxDQUFDLElBQXFCO1FBQ3hDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU8sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFM0MsZUFBZTtRQUNsQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTyxhQUFhLENBQUMsSUFBcUI7UUFDdkMsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNYLEtBQUssU0FBUztnQkFDVixPQUFPLG9CQUFvQixDQUFDO1lBQ2hDLEtBQUssUUFBUSxDQUFDO1lBQ2Q7Z0JBQ0ksT0FBTyxtQkFBbUIsQ0FBQztRQUNuQyxDQUFDO0lBQ0wsQ0FBQzt3R0E3QlEsbUJBQW1COzRGQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBSC9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGVBQWU7aUJBQzVCOzhCQU1jLFdBQVc7c0JBRHJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFZpZXdDb250YWluZXJSZWYsIElucHV0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQWZ0ZXJWaWV3SW5pdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IElBc3Npc3RJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lhc3Npc3QtaWNvbi9pYXNzaXN0LWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IFNlbmlvckljb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2VuaW9yLWljb24vc2VuaW9yLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IFNWR0ZhY3RvcnlJY29ucyB9IGZyb20gJy4vY29tcG9uZW50cy9zdmctZmFjdG9yeS1pY29ucyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3NTVkdGYWN0b3J5XScsXG59KVxuZXhwb3J0IGNsYXNzIFNWR0ZhY3RvcnlEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHNTVkdGYWN0b3J5KGljb246IFNWR0ZhY3RvcnlJY29ucykge1xuICAgICAgICB0aGlzLl9pY29uQ2xhc3MgPSB0aGlzLl9nZXRJY29uQ2xhc3MoaWNvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaWNvbkNsYXNzID0gdGhpcy5fZ2V0SWNvbkNsYXNzKCdzZW5pb3InKTtcblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuX2NyZWF0ZUNvbXBvbmVudCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZUNvbXBvbmVudCgpIHtcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQodGhpcy5faWNvbkNsYXNzKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldEljb25DbGFzcyhpY29uOiBTVkdGYWN0b3J5SWNvbnMpIHtcbiAgICAgICAgc3dpdGNoIChpY29uKSB7XG4gICAgICAgICAgICBjYXNlICdpYXNzaXN0JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gSUFzc2lzdEljb25Db21wb25lbnQ7XG4gICAgICAgICAgICBjYXNlICdzZW5pb3InOlxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gU2VuaW9ySWNvbkNvbXBvbmVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,21 +1,23 @@
|
|
|
1
|
-
import { Component, forwardRef, input, Input, viewChild, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import {
|
|
1
|
+
import { Component, forwardRef, input, Input, viewChild, ViewEncapsulation, inject } from '@angular/core';
|
|
2
|
+
import { Injector } from '@angular/core';
|
|
3
|
+
import { FormBuilder, FormGroup, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
3
5
|
import { DEPRECATED_CONFIG, DeprecatedSelectorDirective, } from '@seniorsistemas/angular-components/common/deprecated-selector';
|
|
6
|
+
import { SpeechRecognitionService } from '@seniorsistemas/angular-components/speech-recognition';
|
|
4
7
|
import { throwError } from 'rxjs';
|
|
5
8
|
import { catchError } from 'rxjs/operators';
|
|
9
|
+
import { IAssistService } from '../services/IAssist/iassist.service';
|
|
6
10
|
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "
|
|
11
|
+
import * as i1 from "@seniorsistemas/angular-components/common/deprecated-selector";
|
|
8
12
|
import * as i2 from "@angular/forms";
|
|
9
|
-
import * as i3 from "@
|
|
10
|
-
import * as i4 from "@seniorsistemas/angular-components/
|
|
11
|
-
import * as i5 from "@
|
|
12
|
-
import * as i6 from "@seniorsistemas/angular-components/
|
|
13
|
-
import * as i7 from "@seniorsistemas/angular-components/
|
|
14
|
-
import * as i8 from "@angular/
|
|
15
|
-
import * as i9 from "@seniorsistemas/angular-components/
|
|
16
|
-
import * as i10 from "@
|
|
17
|
-
import * as i11 from "@seniorsistemas/angular-components/template";
|
|
18
|
-
import * as i12 from "@seniorsistemas/angular-components/common";
|
|
13
|
+
import * as i3 from "@seniorsistemas/angular-components/button";
|
|
14
|
+
import * as i4 from "@seniorsistemas/angular-components/loading-state";
|
|
15
|
+
import * as i5 from "@angular/common";
|
|
16
|
+
import * as i6 from "@seniorsistemas/angular-components/text-area";
|
|
17
|
+
import * as i7 from "@seniorsistemas/angular-components/dialog";
|
|
18
|
+
import * as i8 from "@seniorsistemas/angular-components/template";
|
|
19
|
+
import * as i9 from "@seniorsistemas/angular-components/common";
|
|
20
|
+
import * as i10 from "@ngx-translate/core";
|
|
19
21
|
/**
|
|
20
22
|
* @description Componente de área de texto com geração de conteúdo por inteligência artificial.
|
|
21
23
|
* Integra-se ao serviço IAssist para sugerir e completar textos com base em um prompt configurável.
|
|
@@ -35,11 +37,11 @@ import * as i12 from "@seniorsistemas/angular-components/common";
|
|
|
35
37
|
* @category Inputs
|
|
36
38
|
*/
|
|
37
39
|
export class ContentGeneratorComponent {
|
|
38
|
-
_iassistService;
|
|
39
|
-
_formBuilder;
|
|
40
|
-
_translateService;
|
|
41
|
-
speechRecognitionService;
|
|
42
|
-
injector;
|
|
40
|
+
_iassistService = inject(IAssistService);
|
|
41
|
+
_formBuilder = inject(FormBuilder);
|
|
42
|
+
_translateService = inject(TranslateService);
|
|
43
|
+
speechRecognitionService = inject(SpeechRecognitionService);
|
|
44
|
+
injector = inject(Injector);
|
|
43
45
|
textArea = viewChild('textAreaElement');
|
|
44
46
|
static id = 0;
|
|
45
47
|
/** @description Identificador único do componente no DOM. Gerado automaticamente se não informado. */
|
|
@@ -73,14 +75,6 @@ export class ContentGeneratorComponent {
|
|
|
73
75
|
value = '';
|
|
74
76
|
_onChange;
|
|
75
77
|
_onTouched;
|
|
76
|
-
constructor(_iassistService, // TODO: Mover pra uma pasta global
|
|
77
|
-
_formBuilder, _translateService, speechRecognitionService, injector) {
|
|
78
|
-
this._iassistService = _iassistService;
|
|
79
|
-
this._formBuilder = _formBuilder;
|
|
80
|
-
this._translateService = _translateService;
|
|
81
|
-
this.speechRecognitionService = speechRecognitionService;
|
|
82
|
-
this.injector = injector;
|
|
83
|
-
}
|
|
84
78
|
ngOnInit() {
|
|
85
79
|
this._createDialogFormGroup();
|
|
86
80
|
}
|
|
@@ -140,7 +134,7 @@ export class ContentGeneratorComponent {
|
|
|
140
134
|
context: [''],
|
|
141
135
|
});
|
|
142
136
|
}
|
|
143
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ContentGeneratorComponent, deps: [
|
|
137
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ContentGeneratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
144
138
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.14", type: ContentGeneratorComponent, selector: "s-content-generator, s-text-area-ia", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, prompt: { classPropertyName: "prompt", publicName: "prompt", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: false, isRequired: false, transformFunction: null }, cols: { classPropertyName: "cols", publicName: "cols", isSignal: false, isRequired: false, transformFunction: null }, speechRecognition: { classPropertyName: "speechRecognition", publicName: "speechRecognition", isSignal: false, isRequired: false, transformFunction: null }, keepContext: { classPropertyName: "keepContext", publicName: "keepContext", isSignal: false, isRequired: false, transformFunction: null }, speechRecognitionPlaceholder: { classPropertyName: "speechRecognitionPlaceholder", publicName: "speechRecognitionPlaceholder", isSignal: false, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: false, isRequired: false, transformFunction: null }, textAreaStyle: { classPropertyName: "textAreaStyle", publicName: "textAreaStyle", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
145
139
|
{
|
|
146
140
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -155,7 +149,7 @@ export class ContentGeneratorComponent {
|
|
|
155
149
|
removalVersion: '20.0.0',
|
|
156
150
|
},
|
|
157
151
|
},
|
|
158
|
-
], viewQueries: [{ propertyName: "textArea", first: true, predicate: ["textAreaElement"], descendants: true, isSignal: true }], hostDirectives: [{ directive:
|
|
152
|
+
], viewQueries: [{ propertyName: "textArea", first: true, predicate: ["textAreaElement"], descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.DeprecatedSelectorDirective }], ngImport: i0, template: "<s-loading-state\n [loading]=\"isLoading\"\n [blockWindow]=\"true\"\n>\n</s-loading-state>\n\n<s-dialog\n [(visible)]=\"isVisible\"\n [escapeOnEsc]=\"false\"\n [destroyClickOutside]=\"false\"\n size=\"lg\"\n (visibleChange)=\"onHideDialog()\"\n>\n <ng-template sTemplate=\"header\">\n <div class=\"dialog-header\">\n <span class=\"iassist-icon\">\n <ng-container [ngTemplateOutlet]=\"iassistIcon\"></ng-container>\n </span>\n IAssist - Content Generator\n </div>\n </ng-template>\n\n <form [formGroup]=\"formGroup\">\n <label for=\"context\">{{ 'platform.angular_components.context' | translate }}</label>\n <s-textarea\n inputId=\"context\"\n formControlName=\"context\"\n [speechRecognition]=\"speechRecognition\"\n [keepContext]=\"keepContext\"\n />\n </form>\n\n <ng-template sTemplate=\"footer\">\n <div class=\"footer-content\">\n <s-button\n id=\"-submit-button\"\n type=\"button\"\n [label]=\"'platform.angular_components.generate_text' | translate\"\n (clicked)=\"submitContext()\"\n sTooltip=\"(ALT + SHIFT + S)\"\n showDelay=\"500\"\n >\n </s-button>\n <s-button\n id=\"-cancel-button\"\n type=\"button\"\n priority=\"link\"\n [label]=\"'platform.angular_components.cancel' | translate\"\n (clicked)=\"hideDialog()\"\n sTooltip=\"(ALT + SHIFT + C)\"\n showDelay=\"500\"\n >\n </s-button>\n </div>\n </ng-template>\n</s-dialog>\n\n<div class=\"textarea-ia\">\n <s-textarea\n #textAreaElement\n [inputId]=\"id\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n [rows]=\"rows\"\n [readOnly]=\"readonly\"\n [placeholder]=\"placeholder\"\n [keepContext]=\"keepContext\"\n [speechRecognitionPlaceholder]=\"speechRecognitionPlaceholder\"\n [maxLength]=\"maxLength\"\n [speechRecognition]=\"speechRecognition\"\n >\n </s-textarea>\n <!--TODO: Tooltip em propriedade-->\n <button\n class=\"iassist-button\"\n [class.speech-recognition]=\"speechRecognition && speechRecognitionService.hasSupportSpeechRecognition\"\n (click)=\"showDialog()\"\n sTooltip=\"IAssist - Content Generator\"\n >\n <ng-container [ngTemplateOutlet]=\"iassistIcon\"></ng-container>\n </button>\n</div>\n\n<ng-template #iassistIcon>\n <div style=\"width: 100%; height: 100%;\">\n <span *sSVGFactory=\"'iassist'\"></span>\n </div>\n</ng-template>\n", styles: ["s-content-generator.ng-invalid.ng-dirty .textarea-ia textarea,s-text-area-ia.ng-invalid.ng-dirty .textarea-ia textarea{border-color:#c13018}.footer-content{display:flex;flex-grow:0}.textarea-ia{display:flex;align-items:flex-end;gap:8px}.iassist-button{display:flex;justify-content:center;align-items:center;border:none;border-radius:50%;box-shadow:none;cursor:pointer;height:32px;width:32px}.dialog-header{display:flex;gap:12px}.dialog-header .iassist-icon{display:block;height:24px;width:24px}s-textarea{width:100%}.speech-recognition{margin-bottom:12.5px}\n"], dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor", "menuAriaLabel"], outputs: ["clicked"] }, { kind: "component", type: i4.LoadingStateComponent, selector: "s-loading-state", inputs: ["indicator", "id", "blockWindow", "loading"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6.TextAreaComponent, selector: "s-textarea", inputs: ["inputId", "rows", "speechRecognition", "keyFilter", "keepContext", "speechRecognitionPlaceholder", "maxLength", "placeholder", "inputStyle", "readOnly"] }, { kind: "component", type: i7.DialogComponent, selector: "s-dialog", inputs: ["header", "visible", "size", "contentClassName", "escapeOnEsc", "destroyClickOutside", "closeAriaLabel"], outputs: ["visibleChange"] }, { kind: "directive", type: i8.TemplateDirective, selector: "[sTemplate]", inputs: ["sTemplate"] }, { kind: "directive", type: i9.SVGFactoryDirective, selector: "[sSVGFactory]", inputs: ["sSVGFactory"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
|
|
159
153
|
}
|
|
160
154
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ContentGeneratorComponent, decorators: [{
|
|
161
155
|
type: Component,
|
|
@@ -174,7 +168,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
174
168
|
},
|
|
175
169
|
},
|
|
176
170
|
], hostDirectives: [DeprecatedSelectorDirective], encapsulation: ViewEncapsulation.None, template: "<s-loading-state\n [loading]=\"isLoading\"\n [blockWindow]=\"true\"\n>\n</s-loading-state>\n\n<s-dialog\n [(visible)]=\"isVisible\"\n [escapeOnEsc]=\"false\"\n [destroyClickOutside]=\"false\"\n size=\"lg\"\n (visibleChange)=\"onHideDialog()\"\n>\n <ng-template sTemplate=\"header\">\n <div class=\"dialog-header\">\n <span class=\"iassist-icon\">\n <ng-container [ngTemplateOutlet]=\"iassistIcon\"></ng-container>\n </span>\n IAssist - Content Generator\n </div>\n </ng-template>\n\n <form [formGroup]=\"formGroup\">\n <label for=\"context\">{{ 'platform.angular_components.context' | translate }}</label>\n <s-textarea\n inputId=\"context\"\n formControlName=\"context\"\n [speechRecognition]=\"speechRecognition\"\n [keepContext]=\"keepContext\"\n />\n </form>\n\n <ng-template sTemplate=\"footer\">\n <div class=\"footer-content\">\n <s-button\n id=\"-submit-button\"\n type=\"button\"\n [label]=\"'platform.angular_components.generate_text' | translate\"\n (clicked)=\"submitContext()\"\n sTooltip=\"(ALT + SHIFT + S)\"\n showDelay=\"500\"\n >\n </s-button>\n <s-button\n id=\"-cancel-button\"\n type=\"button\"\n priority=\"link\"\n [label]=\"'platform.angular_components.cancel' | translate\"\n (clicked)=\"hideDialog()\"\n sTooltip=\"(ALT + SHIFT + C)\"\n showDelay=\"500\"\n >\n </s-button>\n </div>\n </ng-template>\n</s-dialog>\n\n<div class=\"textarea-ia\">\n <s-textarea\n #textAreaElement\n [inputId]=\"id\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n [rows]=\"rows\"\n [readOnly]=\"readonly\"\n [placeholder]=\"placeholder\"\n [keepContext]=\"keepContext\"\n [speechRecognitionPlaceholder]=\"speechRecognitionPlaceholder\"\n [maxLength]=\"maxLength\"\n [speechRecognition]=\"speechRecognition\"\n >\n </s-textarea>\n <!--TODO: Tooltip em propriedade-->\n <button\n class=\"iassist-button\"\n [class.speech-recognition]=\"speechRecognition && speechRecognitionService.hasSupportSpeechRecognition\"\n (click)=\"showDialog()\"\n sTooltip=\"IAssist - Content Generator\"\n >\n <ng-container [ngTemplateOutlet]=\"iassistIcon\"></ng-container>\n </button>\n</div>\n\n<ng-template #iassistIcon>\n <div style=\"width: 100%; height: 100%;\">\n <span *sSVGFactory=\"'iassist'\"></span>\n </div>\n</ng-template>\n", styles: ["s-content-generator.ng-invalid.ng-dirty .textarea-ia textarea,s-text-area-ia.ng-invalid.ng-dirty .textarea-ia textarea{border-color:#c13018}.footer-content{display:flex;flex-grow:0}.textarea-ia{display:flex;align-items:flex-end;gap:8px}.iassist-button{display:flex;justify-content:center;align-items:center;border:none;border-radius:50%;box-shadow:none;cursor:pointer;height:32px;width:32px}.dialog-header{display:flex;gap:12px}.dialog-header .iassist-icon{display:block;height:24px;width:24px}s-textarea{width:100%}.speech-recognition{margin-bottom:12.5px}\n"] }]
|
|
177
|
-
}],
|
|
171
|
+
}], propDecorators: { id: [{
|
|
178
172
|
type: Input
|
|
179
173
|
}], label: [{
|
|
180
174
|
type: Input
|
|
@@ -197,4 +191,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
197
191
|
}], maxLength: [{
|
|
198
192
|
type: Input
|
|
199
193
|
}] } });
|
|
200
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1nZW5lcmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2NvbnRlbnQtZ2VuZXJhdG9yL3NyYy9saWIvY29udGVudC1nZW5lcmF0b3IvY29udGVudC1nZW5lcmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2NvbnRlbnQtZ2VuZXJhdG9yL3NyYy9saWIvY29udGVudC1nZW5lcmF0b3IvY29udGVudC1nZW5lcmF0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJMUcsT0FBTyxFQUFxQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRyxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLDJCQUEyQixHQUM5QixNQUFNLCtEQUErRCxDQUFDO0FBR3ZFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQUs1Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUF1QkgsTUFBTSxPQUFPLHlCQUF5QjtJQTZEYjtJQUNBO0lBQ0E7SUFDVjtJQUVDO0lBakVaLFFBQVEsR0FBRyxTQUFTLENBQW9CLGlCQUFpQixDQUFDLENBQUM7SUFDbkQsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFdEIsc0dBQXNHO0lBRS9GLEVBQUUsR0FBRyxvQkFBb0IseUJBQXlCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUVqRSx5REFBeUQ7SUFFbEQsS0FBSyxD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QWMsRUFBRSxRQUFRO2lCQUMzQjthQUNKO1NBQ0osd05DeERMLCt3RkF3RkE7OzRGRDVCYSx5QkFBeUI7a0JBdEJyQyxTQUFTOytCQUNJLHFDQUFxQyxhQUdwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwwQkFBMEIsQ0FBQzs0QkFDeEQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsUUFBUSxFQUFFO2dDQUNOLFdBQVcsRUFBRSxnQkFBZ0I7Z0NBQzdCLFdBQVcsRUFBRSxxQkFBcUI7Z0NBQ2xDLGNBQWMsRUFBRSxRQUFROzZCQUMzQjt5QkFDSjtxQkFDSixrQkFDZSxDQUFDLDJCQUEyQixDQUFDLGlCQUM5QixpQkFBaUIsQ0FBQyxJQUFJOzBNQVE5QixFQUFFO3NCQURSLEtBQUs7Z0JBS0MsS0FBSztzQkFEWCxLQUFLO2dCQUtDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBS0MsTUFBTTtzQkFEWixLQUFLO2dCQUtDLFFBQVE7c0JBRGQsS0FBSztnQkFLQyxJQUFJO3NCQURWLEtBQUs7Z0JBS0MsSUFBSTtzQkFEVixLQUFLO2dCQUtDLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFLQyxXQUFXO3NCQURqQixLQUFLO2dCQUtOLDRCQUE0QjtzQkFEM0IsS0FBSztnQkFLTixTQUFTO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgaW5wdXQsIElucHV0LCBPbkluaXQsIHZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICAgIERFUFJFQ0FURURfQ09ORklHLFxuICAgIERlcHJlY2F0ZWRTZWxlY3RvckRpcmVjdGl2ZSxcbn0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9jb21tb24vZGVwcmVjYXRlZC1zZWxlY3Rvcic7XG5pbXBvcnQgeyBTcGVlY2hSZWNvZ25pdGlvblNlcnZpY2UgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3NwZWVjaC1yZWNvZ25pdGlvbic7XG5pbXBvcnQgeyBUZXh0QXJlYUNvbXBvbmVudCB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvdGV4dC1hcmVhJztcbmltcG9ydCB7IHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IElBc3Npc3RTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvSUFzc2lzdC9pYXNzaXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSUFzc2lzdFJlc3BvbnNlIH0gZnJvbSAnLi4vc2VydmljZXMvSUFzc2lzdC9tb2RlbHMvaWFzc2lzdC1yZXNwb25zZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgZGUgw6FyZWEgZGUgdGV4dG8gY29tIGdlcmHDp8OjbyBkZSBjb250ZcO6ZG8gcG9yIGludGVsaWfDqm5jaWEgYXJ0aWZpY2lhbC5cbiAqIEludGVncmEtc2UgYW8gc2VydmnDp28gSUFzc2lzdCBwYXJhIHN1Z2VyaXIgZSBjb21wbGV0YXIgdGV4dG9zIGNvbSBiYXNlIGVtIHVtIHByb21wdCBjb25maWd1csOhdmVsLlxuICogU3Vwb3J0YSByZWNvbmhlY2ltZW50byBkZSB2b3ogb3BjaW9uYWwgZSBtYW50w6ltIGNvbnRleHRvIGVudHJlIGdlcmHDp8O1ZXMgcXVhbmRvIGBrZWVwQ29udGV4dGAgw6kgYHRydWVgLlxuICogSW1wbGVtZW50YSB7QGxpbmsgQ29udHJvbFZhbHVlQWNjZXNzb3J9IHBhcmEgdXNvIGVtIGZvcm11bMOhcmlvcyBBbmd1bGFyLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8cy1jb250ZW50LWdlbmVyYXRvclxuICogICBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmljYW9cIlxuICogICBsYWJlbD1cIkRlc2NyacOnw6NvXCJcbiAqICAgcHJvbXB0PVwiR2VyZSB1bWEgZGVzY3Jpw6fDo28gcGFyYSBvIHByb2R1dG9cIlxuICogICBbcm93c109XCI1XCJcbiAqICAgW3NwZWVjaFJlY29nbml0aW9uXT1cInRydWVcIiAvPlxuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IElucHV0c1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3MtY29udGVudC1nZW5lcmF0b3IsIHMtdGV4dC1hcmVhLWlhJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29udGVudC1nZW5lcmF0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NvbnRlbnQtZ2VuZXJhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ29udGVudEdlbmVyYXRvckNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogREVQUkVDQVRFRF9DT05GSUcsXG4gICAgICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgICAgIG9sZFNlbGVjdG9yOiAncy10ZXh0LWFyZWEtaWEnLFxuICAgICAgICAgICAgICAgIG5ld1NlbGVjdG9yOiAncy1jb250ZW50LWdlbmVyYXRvcicsXG4gICAgICAgICAgICAgICAgcmVtb3ZhbFZlcnNpb246ICcyMC4wLjAnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbRGVwcmVjYXRlZFNlbGVjdG9yRGlyZWN0aXZlXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50R2VuZXJhdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgdGV4dEFyZWEgPSB2aWV3Q2hpbGQ8VGV4dEFyZWFDb21wb25lbnQ+KCd0ZXh0QXJlYUVsZW1lbnQnKTtcbiAgICBwcml2YXRlIHN0YXRpYyBpZCA9IDA7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIElkZW50aWZpY2Fkb3Igw7puaWNvIGRvIGNvbXBvbmVudGUgbm8gRE9NLiBHZXJhZG8gYXV0b21hdGljYW1lbnRlIHNlIG7Do28gaW5mb3JtYWRvLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlkID0gYENvbnRlbnRHZW5lcmF0b3JfJHtDb250ZW50R2VuZXJhdG9yQ29tcG9uZW50LmlkLS19YDtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gTGFiZWwgZXhpYmlkbyBhY2ltYSBkYSDDoXJlYSBkZSB0ZXh0by4gKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsYWJlbCE6IHN0cmluZztcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gVGV4dG8gZGUgcGxhY2Vob2xkZXIgZXhpYmlkbyBuYSDDoXJlYSBkZSB0ZXh0byBxdWFuZG8gdmF6aWEuIEBkZWZhdWx0ICcnICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBJbnN0cnXDp8OjbyAocHJvbXB0KSBlbnZpYWRhIGFvIHNlcnZpw6dvIGRlIElBIHBhcmEgZ2VyYXIgbyBjb250ZcO6ZG8gc3VnZXJpZG8uICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcHJvbXB0ITogc3RyaW5nO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBUb3JuYSBhIMOhcmVhIGRlIHRleHRvIHNvbWVudGUgbGVpdHVyYS4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBOw7ptZXJvIGRlIGxpbmhhcyB2aXPDrXZlaXMgZGEgw6FyZWEgZGUgdGV4dG8uIEBkZWZhdWx0IDEwICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcm93czogbnVtYmVyID0gMTA7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIE7Dum1lcm8gZGUgY29sdW5hcyB2aXPDrXZlaXMgZGEgw6FyZWEgZGUgdGV4dG8uIEBkZWZhdWx0IDEwICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY29sczogbnVtYmVyID0gMTA7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIEhhYmlsaXRhIG8gYm90w6NvIGRlIHJlY29uaGVjaW1lbnRvIGRlIHZveiBwYXJhIGRpdGFkbyBkZSB0ZXh0by4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzcGVlY2hSZWNvZ25pdGlvbiA9IGZhbHNlO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBRdWFuZG8gYHRydWVgLCBvIGhpc3TDs3JpY28gZGUgZ2VyYcOnw7VlcyBhbnRlcmlvcmVzIMOpIGVudmlhZG8gYW8gc2VydmnDp28gZGUgSUEgY29tbyBjb250ZXh0by4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBrZWVwQ29udGV4dCA9IGZhbHNlO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBUZXh0byBkZSBwbGFjZWhvbGRlciBleGliaWRvIG5vIGNhbXBvIGRlIHJlY29uaGVjaW1lbnRvIGRlIHZvei4gQGRlZmF1bHQgJycgKi9cbiAgICBASW5wdXQoKVxuICAgIHNwZWVjaFJlY29nbml0aW9uUGxhY2Vob2xkZXIgPSAnJztcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gTGltaXRlIG3DoXhpbW8gZGUgY2FyYWN0ZXJlcyBwZXJtaXRpZG9zIG5hIMOhcmVhIGRlIHRleHRvLiBgbnVsbGAgZGVzYWJpbGl0YSBvIGxpbWl0ZS4gQGRlZmF1bHQgbnVsbCAqL1xuICAgIEBJbnB1dCgpXG4gICAgbWF4TGVuZ3RoOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gRXN0aWxvcyBDU1MgaW5saW5lIGFwbGljYWRvcyDDoCDDoXJlYSBkZSB0ZXh0byBpbnRlcm5hLiAqL1xuICAgIHRleHRBcmVhU3R5bGUgPSBpbnB1dDxQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+Pih7fSk7XG5cbiAgICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgICBwdWJsaWMgY29udGV4dEZvcm06IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICAgIHB1YmxpYyBpc1Zpc2libGUgPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgcHVibGljIHZhbHVlID0gJyc7XG5cbiAgICBwcml2YXRlIF9vbkNoYW5nZT86ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICAgIHByaXZhdGUgX29uVG91Y2hlZD86ICgpID0+IHZvaWQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfaWFzc2lzdFNlcnZpY2U6IElBc3Npc3RTZXJ2aWNlLCAvLyBUT0RPOiBNb3ZlciBwcmEgdW1hIHBhc3RhIGdsb2JhbFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9mb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3RyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBzcGVlY2hSZWNvZ25pdGlvblNlcnZpY2U6IFNwZWVjaFJlY29nbml0aW9uU2VydmljZSxcblxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvciwgLy8gTmVjZXNzw6FyaW8gcGFyYSBvIGRlY29yYXRvciBEZXByZWNhdGVkU2VsZWN0b3IgZnVuY2lvbmFyXG4gICAgKSB7fVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jcmVhdGVEaWFsb2dGb3JtR3JvdXAoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25DaGFuZ2UgPSBvbkNoYW5nZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uVG91Y2hlZCA9IG9uVG91Y2hlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fb25DaGFuZ2U/Lih2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNob3dEaWFsb2coKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMuX29uVG91Y2hlZCkge1xuICAgICAgICAgICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaGlkZURpYWxvZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25IaWRlRGlhbG9nKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc1Zpc2libGUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2NvbnRleHQnKT8uc2V0VmFsdWUoJycpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHN1Ym1pdENvbnRleHQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmZvcm1Hcm91cC5nZXQoJ2NvbnRleHQnKTtcbiAgICAgICAgaWYgKCFjb250ZXh0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuX2lhc3Npc3RTZXJ2aWNlXG4gICAgICAgICAgICAuYXNrSUEoY29udGV4dC52YWx1ZSwge1xuICAgICAgICAgICAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmxhYmVsLFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLnBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICAgIHByb21wdDogdGhpcy5wcm9tcHQsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoZXJyLm1lc3NhZ2UpKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlczogSUFzc2lzdFJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHJlcy50ZXh0O1xuICAgICAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlPy4odGhpcy52YWx1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaGlkZURpYWxvZygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZURpYWxvZ0Zvcm1Hcm91cCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLl9mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgICAgICBjb250ZXh0OiBbJyddLFxuICAgICAgICB9KTtcbiAgICB9XG59XG5cbiIsIjxzLWxvYWRpbmctc3RhdGVcbiAgICBbbG9hZGluZ109XCJpc0xvYWRpbmdcIlxuICAgIFtibG9ja1dpbmRvd109XCJ0cnVlXCJcbj5cbjwvcy1sb2FkaW5nLXN0YXRlPlxuXG48cy1kaWFsb2dcbiAgICBbKHZpc2libGUpXT1cImlzVmlzaWJsZVwiXG4gICAgW2VzY2FwZU9uRXNjXT1cImZhbHNlXCJcbiAgICBbZGVzdHJveUNsaWNrT3V0c2lkZV09XCJmYWxzZVwiXG4gICAgc2l6ZT1cImxnXCJcbiAgICAodmlzaWJsZUNoYW5nZSk9XCJvbkhpZGVEaWFsb2coKVwiXG4+XG4gICAgPG5nLXRlbXBsYXRlIHNUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWhlYWRlclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpYXNzaXN0LWljb25cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImlhc3Npc3RJY29uXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICBJQXNzaXN0IC0gQ29udGVudCBHZW5lcmF0b3JcbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gICAgICAgIDxsYWJlbCBmb3I9XCJjb250ZXh0XCI+e3sgJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5jb250ZXh0JyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgICAgIDxzLXRleHRhcmVhXG4gICAgICAgICAgICBpbnB1dElkPVwiY29udGV4dFwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb250ZXh0XCJcbiAgICAgICAgICAgIFtzcGVlY2hSZWNvZ25pdGlvbl09XCJzcGVlY2hSZWNvZ25pdGlvblwiXG4gICAgICAgICAgICBba2VlcENvbnRleHRdPVwia2VlcENvbnRleHRcIlxuICAgICAgICAvPlxuICAgIDwvZm9ybT5cblxuICAgIDxuZy10ZW1wbGF0ZSBzVGVtcGxhdGU9XCJmb290ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvb3Rlci1jb250ZW50XCI+XG4gICAgICAgICAgICA8cy1idXR0b25cbiAgICAgICAgICAgICAgICBpZD1cIi1zdWJtaXQtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5nZW5lcmF0ZV90ZXh0JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwic3VibWl0Q29udGV4dCgpXCJcbiAgICAgICAgICAgICAgICBzVG9vbHRpcD1cIihBTFQgKyBTSElGVCArIFMpXCJcbiAgICAgICAgICAgICAgICBzaG93RGVsYXk9XCI1MDBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9zLWJ1dHRvbj5cbiAgICAgICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgICAgICAgIGlkPVwiLWNhbmNlbC1idXR0b25cIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIHByaW9yaXR5PVwibGlua1wiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuY2FuY2VsJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwiaGlkZURpYWxvZygpXCJcbiAgICAgICAgICAgICAgICBzVG9vbHRpcD1cIihBTFQgKyBTSElGVCArIEMpXCJcbiAgICAgICAgICAgICAgICBzaG93RGVsYXk9XCI1MDBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9zLWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvcy1kaWFsb2c+XG5cbjxkaXYgY2xhc3M9XCJ0ZXh0YXJlYS1pYVwiPlxuICAgIDxzLXRleHRhcmVhXG4gICAgICAgICN0ZXh0QXJlYUVsZW1lbnRcbiAgICAgICAgW2lucHV0SWRdPVwiaWRcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW3Jvd3NdPVwicm93c1wiXG4gICAgICAgIFtyZWFkT25seV09XCJyZWFkb25seVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgIFtrZWVwQ29udGV4dF09XCJrZWVwQ29udGV4dFwiXG4gICAgICAgIFtzcGVlY2hSZWNvZ25pdGlvblBsYWNlaG9sZGVyXT1cInNwZWVjaFJlY29nbml0aW9uUGxhY2Vob2xkZXJcIlxuICAgICAgICBbbWF4TGVuZ3RoXT1cIm1heExlbmd0aFwiXG4gICAgICAgIFtzcGVlY2hSZWNvZ25pdGlvbl09XCJzcGVlY2hSZWNvZ25pdGlvblwiXG4gICAgPlxuICAgIDwvcy10ZXh0YXJlYT5cbiAgICA8IS0tVE9ETzogVG9vbHRpcCBlbSBwcm9wcmllZGFkZS0tPlxuICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJpYXNzaXN0LWJ1dHRvblwiXG4gICAgICAgIFtjbGFzcy5zcGVlY2gtcmVjb2duaXRpb25dPVwic3BlZWNoUmVjb2duaXRpb24gJiYgc3BlZWNoUmVjb2duaXRpb25TZXJ2aWNlLmhhc1N1cHBvcnRTcGVlY2hSZWNvZ25pdGlvblwiXG4gICAgICAgIChjbGljayk9XCJzaG93RGlhbG9nKClcIlxuICAgICAgICBzVG9vbHRpcD1cIklBc3Npc3QgLSBDb250ZW50IEdlbmVyYXRvclwiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImlhc3Npc3RJY29uXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNpYXNzaXN0SWNvbj5cbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTtcIj5cbiAgICAgICAgPHNwYW4gKnNTVkdGYWN0b3J5PVwiJ2lhc3Npc3QnXCI+PC9zcGFuPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1nZW5lcmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2NvbnRlbnQtZ2VuZXJhdG9yL3NyYy9saWIvY29udGVudC1nZW5lcmF0b3IvY29udGVudC1nZW5lcmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2NvbnRlbnQtZ2VuZXJhdG9yL3NyYy9saWIvY29udGVudC1nZW5lcmF0b3IvY29udGVudC1nZW5lcmF0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUF3QixXQUFXLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUNILGlCQUFpQixFQUNqQiwyQkFBMkIsR0FDOUIsTUFBTSwrREFBK0QsQ0FBQztBQUN2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUVqRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7Ozs7OztBQUdyRTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUF1QkgsTUFBTSxPQUFPLHlCQUF5QjtJQUNqQixl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Q0FBQyx5QkFBeUIsQ0FBQztnQkFDeEQsS0FBSyxFQUFFLElBQUk7YUFDZDtZQUNEO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFFBQVEsRUFBRTtvQkFDTixXQUFXLEVBQUUsZ0JBQWdCO29CQUM3QixXQUFXLEVBQUUscUJBQXFCO29CQUNsQyxjQUFjLEVBQUUsUUFBUTtpQkFDM0I7YUFDSjtTQUNKLHdOQ3hETCwrd0ZBd0ZBOzs0RkQ1QmEseUJBQXlCO2tCQXRCckMsU0FBUzsrQkFDSSxxQ0FBcUMsYUFHcEM7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMEJBQTBCLENBQUM7NEJBQ3hELEtBQUssRUFBRSxJQUFJO3lCQUNkO3dCQUNEOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRTtnQ0FDTixXQUFXLEVBQUUsZ0JBQWdCO2dDQUM3QixXQUFXLEVBQUUscUJBQXFCO2dDQUNsQyxjQUFjLEVBQUUsUUFBUTs2QkFDM0I7eUJBQ0o7cUJBQ0osa0JBQ2UsQ0FBQywyQkFBMkIsQ0FBQyxpQkFDOUIsaUJBQWlCLENBQUMsSUFBSTs4QkFjOUIsRUFBRTtzQkFEUixLQUFLO2dCQUtDLEtBQUs7c0JBRFgsS0FBSztnQkFLQyxXQUFXO3NCQURqQixLQUFLO2dCQUtDLE1BQU07c0JBRFosS0FBSztnQkFLQyxRQUFRO3NCQURkLEtBQUs7Z0JBS0MsSUFBSTtzQkFEVixLQUFLO2dCQUtDLElBQUk7c0JBRFYsS0FBSztnQkFLQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBS0MsV0FBVztzQkFEakIsS0FBSztnQkFLTiw0QkFBNEI7c0JBRDNCLEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIGlucHV0LCBJbnB1dCwgT25Jbml0LCB2aWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICAgIERFUFJFQ0FURURfQ09ORklHLFxuICAgIERlcHJlY2F0ZWRTZWxlY3RvckRpcmVjdGl2ZSxcbn0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9jb21tb24vZGVwcmVjYXRlZC1zZWxlY3Rvcic7XG5pbXBvcnQgeyBTcGVlY2hSZWNvZ25pdGlvblNlcnZpY2UgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3NwZWVjaC1yZWNvZ25pdGlvbic7XG5pbXBvcnQgeyBUZXh0QXJlYUNvbXBvbmVudCB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvdGV4dC1hcmVhJztcbmltcG9ydCB7IHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IElBc3Npc3RTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvSUFzc2lzdC9pYXNzaXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSUFzc2lzdFJlc3BvbnNlIH0gZnJvbSAnLi4vc2VydmljZXMvSUFzc2lzdC9tb2RlbHMvaWFzc2lzdC1yZXNwb25zZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgZGUgw6FyZWEgZGUgdGV4dG8gY29tIGdlcmHDp8OjbyBkZSBjb250ZcO6ZG8gcG9yIGludGVsaWfDqm5jaWEgYXJ0aWZpY2lhbC5cbiAqIEludGVncmEtc2UgYW8gc2VydmnDp28gSUFzc2lzdCBwYXJhIHN1Z2VyaXIgZSBjb21wbGV0YXIgdGV4dG9zIGNvbSBiYXNlIGVtIHVtIHByb21wdCBjb25maWd1csOhdmVsLlxuICogU3Vwb3J0YSByZWNvbmhlY2ltZW50byBkZSB2b3ogb3BjaW9uYWwgZSBtYW50w6ltIGNvbnRleHRvIGVudHJlIGdlcmHDp8O1ZXMgcXVhbmRvIGBrZWVwQ29udGV4dGAgw6kgYHRydWVgLlxuICogSW1wbGVtZW50YSB7QGxpbmsgQ29udHJvbFZhbHVlQWNjZXNzb3J9IHBhcmEgdXNvIGVtIGZvcm11bMOhcmlvcyBBbmd1bGFyLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8cy1jb250ZW50LWdlbmVyYXRvclxuICogICBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmljYW9cIlxuICogICBsYWJlbD1cIkRlc2NyacOnw6NvXCJcbiAqICAgcHJvbXB0PVwiR2VyZSB1bWEgZGVzY3Jpw6fDo28gcGFyYSBvIHByb2R1dG9cIlxuICogICBbcm93c109XCI1XCJcbiAqICAgW3NwZWVjaFJlY29nbml0aW9uXT1cInRydWVcIiAvPlxuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IElucHV0c1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3MtY29udGVudC1nZW5lcmF0b3IsIHMtdGV4dC1hcmVhLWlhJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29udGVudC1nZW5lcmF0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NvbnRlbnQtZ2VuZXJhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ29udGVudEdlbmVyYXRvckNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogREVQUkVDQVRFRF9DT05GSUcsXG4gICAgICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgICAgIG9sZFNlbGVjdG9yOiAncy10ZXh0LWFyZWEtaWEnLFxuICAgICAgICAgICAgICAgIG5ld1NlbGVjdG9yOiAncy1jb250ZW50LWdlbmVyYXRvcicsXG4gICAgICAgICAgICAgICAgcmVtb3ZhbFZlcnNpb246ICcyMC4wLjAnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbRGVwcmVjYXRlZFNlbGVjdG9yRGlyZWN0aXZlXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50R2VuZXJhdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfaWFzc2lzdFNlcnZpY2UgPSBpbmplY3QoSUFzc2lzdFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Zvcm1CdWlsZGVyID0gaW5qZWN0KEZvcm1CdWlsZGVyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF90cmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuICAgIHNwZWVjaFJlY29nbml0aW9uU2VydmljZSA9IGluamVjdChTcGVlY2hSZWNvZ25pdGlvblNlcnZpY2UpO1xuICAgIHByaXZhdGUgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gICAgdGV4dEFyZWEgPSB2aWV3Q2hpbGQ8VGV4dEFyZWFDb21wb25lbnQ+KCd0ZXh0QXJlYUVsZW1lbnQnKTtcbiAgICBwcml2YXRlIHN0YXRpYyBpZCA9IDA7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIElkZW50aWZpY2Fkb3Igw7puaWNvIGRvIGNvbXBvbmVudGUgbm8gRE9NLiBHZXJhZG8gYXV0b21hdGljYW1lbnRlIHNlIG7Do28gaW5mb3JtYWRvLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlkID0gYENvbnRlbnRHZW5lcmF0b3JfJHtDb250ZW50R2VuZXJhdG9yQ29tcG9uZW50LmlkLS19YDtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gTGFiZWwgZXhpYmlkbyBhY2ltYSBkYSDDoXJlYSBkZSB0ZXh0by4gKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsYWJlbCE6IHN0cmluZztcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gVGV4dG8gZGUgcGxhY2Vob2xkZXIgZXhpYmlkbyBuYSDDoXJlYSBkZSB0ZXh0byBxdWFuZG8gdmF6aWEuIEBkZWZhdWx0ICcnICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBJbnN0cnXDp8OjbyAocHJvbXB0KSBlbnZpYWRhIGFvIHNlcnZpw6dvIGRlIElBIHBhcmEgZ2VyYXIgbyBjb250ZcO6ZG8gc3VnZXJpZG8uICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcHJvbXB0ITogc3RyaW5nO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBUb3JuYSBhIMOhcmVhIGRlIHRleHRvIHNvbWVudGUgbGVpdHVyYS4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBOw7ptZXJvIGRlIGxpbmhhcyB2aXPDrXZlaXMgZGEgw6FyZWEgZGUgdGV4dG8uIEBkZWZhdWx0IDEwICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcm93czogbnVtYmVyID0gMTA7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIE7Dum1lcm8gZGUgY29sdW5hcyB2aXPDrXZlaXMgZGEgw6FyZWEgZGUgdGV4dG8uIEBkZWZhdWx0IDEwICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY29sczogbnVtYmVyID0gMTA7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIEhhYmlsaXRhIG8gYm90w6NvIGRlIHJlY29uaGVjaW1lbnRvIGRlIHZveiBwYXJhIGRpdGFkbyBkZSB0ZXh0by4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzcGVlY2hSZWNvZ25pdGlvbiA9IGZhbHNlO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBRdWFuZG8gYHRydWVgLCBvIGhpc3TDs3JpY28gZGUgZ2VyYcOnw7VlcyBhbnRlcmlvcmVzIMOpIGVudmlhZG8gYW8gc2VydmnDp28gZGUgSUEgY29tbyBjb250ZXh0by4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBrZWVwQ29udGV4dCA9IGZhbHNlO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBUZXh0byBkZSBwbGFjZWhvbGRlciBleGliaWRvIG5vIGNhbXBvIGRlIHJlY29uaGVjaW1lbnRvIGRlIHZvei4gQGRlZmF1bHQgJycgKi9cbiAgICBASW5wdXQoKVxuICAgIHNwZWVjaFJlY29nbml0aW9uUGxhY2Vob2xkZXIgPSAnJztcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gTGltaXRlIG3DoXhpbW8gZGUgY2FyYWN0ZXJlcyBwZXJtaXRpZG9zIG5hIMOhcmVhIGRlIHRleHRvLiBgbnVsbGAgZGVzYWJpbGl0YSBvIGxpbWl0ZS4gQGRlZmF1bHQgbnVsbCAqL1xuICAgIEBJbnB1dCgpXG4gICAgbWF4TGVuZ3RoOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gRXN0aWxvcyBDU1MgaW5saW5lIGFwbGljYWRvcyDDoCDDoXJlYSBkZSB0ZXh0byBpbnRlcm5hLiAqL1xuICAgIHRleHRBcmVhU3R5bGUgPSBpbnB1dDxQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+Pih7fSk7XG5cbiAgICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgICBwdWJsaWMgY29udGV4dEZvcm06IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICAgIHB1YmxpYyBpc1Zpc2libGUgPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgcHVibGljIHZhbHVlID0gJyc7XG5cbiAgICBwcml2YXRlIF9vbkNoYW5nZT86ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICAgIHByaXZhdGUgX29uVG91Y2hlZD86ICgpID0+IHZvaWQ7XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NyZWF0ZURpYWxvZ0Zvcm1Hcm91cCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vbkNoYW5nZSA9IG9uQ2hhbmdlO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9vbkNoYW5nZT8uKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hvd0RpYWxvZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1Zpc2libGUgPSB0cnVlO1xuICAgICAgICBpZiAodGhpcy5fb25Ub3VjaGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBoaWRlRGlhbG9nKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzVmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkhpZGVEaWFsb2coKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzVmlzaWJsZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnY29udGV4dCcpPy5zZXRWYWx1ZSgnJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc3VibWl0Q29udGV4dCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IHRoaXMuZm9ybUdyb3VwLmdldCgnY29udGV4dCcpO1xuICAgICAgICBpZiAoIWNvbnRleHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5faWFzc2lzdFNlcnZpY2VcbiAgICAgICAgICAgIC5hc2tJQShjb250ZXh0LnZhbHVlLCB7XG4gICAgICAgICAgICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMubGFiZWwsXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IHRoaXMucGxhY2Vob2xkZXIsXG4gICAgICAgICAgICAgICAgcHJvbXB0OiB0aGlzLnByb21wdCxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihlcnIubWVzc2FnZSkpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzOiBJQXNzaXN0UmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gcmVzLnRleHQ7XG4gICAgICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2U/Lih0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5oaWRlRGlhbG9nKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3JlYXRlRGlhbG9nRm9ybUdyb3VwKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgICAgIGNvbnRleHQ6IFsnJ10sXG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuIiwiPHMtbG9hZGluZy1zdGF0ZVxuICAgIFtsb2FkaW5nXT1cImlzTG9hZGluZ1wiXG4gICAgW2Jsb2NrV2luZG93XT1cInRydWVcIlxuPlxuPC9zLWxvYWRpbmctc3RhdGU+XG5cbjxzLWRpYWxvZ1xuICAgIFsodmlzaWJsZSldPVwiaXNWaXNpYmxlXCJcbiAgICBbZXNjYXBlT25Fc2NdPVwiZmFsc2VcIlxuICAgIFtkZXN0cm95Q2xpY2tPdXRzaWRlXT1cImZhbHNlXCJcbiAgICBzaXplPVwibGdcIlxuICAgICh2aXNpYmxlQ2hhbmdlKT1cIm9uSGlkZURpYWxvZygpXCJcbj5cbiAgICA8bmctdGVtcGxhdGUgc1RlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctaGVhZGVyXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlhc3Npc3QtaWNvblwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaWFzc2lzdEljb25cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIElBc3Npc3QgLSBDb250ZW50IEdlbmVyYXRvclxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgICAgICAgPGxhYmVsIGZvcj1cImNvbnRleHRcIj57eyAncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmNvbnRleHQnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgICAgICAgPHMtdGV4dGFyZWFcbiAgICAgICAgICAgIGlucHV0SWQ9XCJjb250ZXh0XCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvbnRleHRcIlxuICAgICAgICAgICAgW3NwZWVjaFJlY29nbml0aW9uXT1cInNwZWVjaFJlY29nbml0aW9uXCJcbiAgICAgICAgICAgIFtrZWVwQ29udGV4dF09XCJrZWVwQ29udGV4dFwiXG4gICAgICAgIC8+XG4gICAgPC9mb3JtPlxuXG4gICAgPG5nLXRlbXBsYXRlIHNUZW1wbGF0ZT1cImZvb3RlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgICAgICAgIGlkPVwiLXN1Ym1pdC1idXR0b25cIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCIncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmdlbmVyYXRlX3RleHQnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJzdWJtaXRDb250ZXh0KClcIlxuICAgICAgICAgICAgICAgIHNUb29sdGlwPVwiKEFMVCArIFNISUZUICsgUylcIlxuICAgICAgICAgICAgICAgIHNob3dEZWxheT1cIjUwMFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3MtYnV0dG9uPlxuICAgICAgICAgICAgPHMtYnV0dG9uXG4gICAgICAgICAgICAgICAgaWQ9XCItY2FuY2VsLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgcHJpb3JpdHk9XCJsaW5rXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5jYW5jZWwnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJoaWRlRGlhbG9nKClcIlxuICAgICAgICAgICAgICAgIHNUb29sdGlwPVwiKEFMVCArIFNISUZUICsgQylcIlxuICAgICAgICAgICAgICAgIHNob3dEZWxheT1cIjUwMFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3MtYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9zLWRpYWxvZz5cblxuPGRpdiBjbGFzcz1cInRleHRhcmVhLWlhXCI+XG4gICAgPHMtdGV4dGFyZWFcbiAgICAgICAgI3RleHRBcmVhRWxlbWVudFxuICAgICAgICBbaW5wdXRJZF09XCJpZFwiXG4gICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbcm93c109XCJyb3dzXCJcbiAgICAgICAgW3JlYWRPbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgW2tlZXBDb250ZXh0XT1cImtlZXBDb250ZXh0XCJcbiAgICAgICAgW3NwZWVjaFJlY29nbml0aW9uUGxhY2Vob2xkZXJdPVwic3BlZWNoUmVjb2duaXRpb25QbGFjZWhvbGRlclwiXG4gICAgICAgIFttYXhMZW5ndGhdPVwibWF4TGVuZ3RoXCJcbiAgICAgICAgW3NwZWVjaFJlY29nbml0aW9uXT1cInNwZWVjaFJlY29nbml0aW9uXCJcbiAgICA+XG4gICAgPC9zLXRleHRhcmVhPlxuICAgIDwhLS1UT0RPOiBUb29sdGlwIGVtIHByb3ByaWVkYWRlLS0+XG4gICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImlhc3Npc3QtYnV0dG9uXCJcbiAgICAgICAgW2NsYXNzLnNwZWVjaC1yZWNvZ25pdGlvbl09XCJzcGVlY2hSZWNvZ25pdGlvbiAmJiBzcGVlY2hSZWNvZ25pdGlvblNlcnZpY2UuaGFzU3VwcG9ydFNwZWVjaFJlY29nbml0aW9uXCJcbiAgICAgICAgKGNsaWNrKT1cInNob3dEaWFsb2coKVwiXG4gICAgICAgIHNUb29sdGlwPVwiSUFzc2lzdCAtIENvbnRlbnQgR2VuZXJhdG9yXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaWFzc2lzdEljb25cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2J1dHRvbj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2lhc3Npc3RJY29uPlxuICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlO1wiPlxuICAgICAgICA8c3BhbiAqc1NWR0ZhY3Rvcnk9XCInaWFzc2lzdCdcIj48L3NwYW4+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
/* eslint-disable max-len */
|
|
2
|
+
import { HttpClient } from '@angular/common/http';
|
|
3
|
+
import { Injectable, inject } from '@angular/core';
|
|
2
4
|
import { throwError } from 'rxjs';
|
|
3
5
|
import { catchError } from 'rxjs/operators';
|
|
6
|
+
import { ToastService } from "@seniorsistemas/angular-components/toast";
|
|
4
7
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common/http";
|
|
6
|
-
import * as i2 from "@seniorsistemas/angular-components/toast";
|
|
7
8
|
export class IAssistService {
|
|
8
|
-
http;
|
|
9
|
-
toastService;
|
|
10
|
-
constructor(http, toastService) {
|
|
11
|
-
this.http = http;
|
|
12
|
-
this.toastService = toastService;
|
|
13
|
-
}
|
|
9
|
+
http = inject(HttpClient);
|
|
10
|
+
toastService = inject(ToastService);
|
|
14
11
|
askIA(context, data) {
|
|
15
12
|
const prompt = data.prompt
|
|
16
13
|
? this._replacePlaceholder(context, data)
|
|
@@ -67,11 +64,11 @@ export class IAssistService {
|
|
|
67
64
|
O texto é para um campo de textarea, então escreva um texto sucinto.
|
|
68
65
|
Exiba apenas o texto do output`;
|
|
69
66
|
}
|
|
70
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IAssistService, deps: [
|
|
67
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IAssistService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
71
68
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IAssistService, providedIn: 'root' });
|
|
72
69
|
}
|
|
73
70
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IAssistService, decorators: [{
|
|
74
71
|
type: Injectable,
|
|
75
72
|
args: [{ providedIn: 'root' }]
|
|
76
|
-
}]
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
}] });
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWFzc2lzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2NvbnRlbnQtZ2VuZXJhdG9yL3NyYy9saWIvc2VydmljZXMvSUFzc2lzdC9pYXNzaXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEJBQTRCO0FBQzVCLE9BQU8sRUFBRSxVQUFVLEVBQXFCLE1BQU0sc0JBQXNCLENBQUM7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBDQUEwQyxDQUFDOztBQUd4RSxNQUFNLE9BQU8sY0FBYztJQUNULElBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUIsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUc5QyxLQUFLLENBQUMsT0FBZSxFQUFFLElBQXNCO1FBQ25ELE1BQU0sTUFBTSxHQUFXLElBQUksQ0FBQyxNQUFNO1lBQ2pDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztZQUN6QyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFckMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNkLElBQUksQ0FBa0IseUNBQXlDLEVBQUU7WUFDakUsTUFBTTtZQUNOLFFBQVEsRUFBRSxTQUFTO1lBQ25CLFVBQVUsRUFBRTtnQkFDWCxLQUFLLEVBQUUsZUFBZTtnQkFDdEIsVUFBVSxFQUFFLEdBQUc7Z0JBQ2YsV0FBVyxFQUFFLENBQUM7YUFDZDtTQUNELENBQUM7YUFDRCxJQUFJLENBQ0osVUFBVSxDQUFDLENBQUMsR0FBc0IsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO2dCQUN0QixRQUFRLEVBQUUsT0FBTztnQkFDakIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87Z0JBQ2hELElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQyxPQUFPLElBQUksT0FBTzthQUNsRixDQUFDLENBQUM7WUFDSCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLG1CQUFtQixDQUFDLE9BQWUsRUFBRSxJQUFzQjtRQUNsRSxNQUFNLE1BQU0sR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3BDLE9BQVEsTUFBb0MsQ0FBQyxNQUFNLENBQUM7UUFFcEQsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN6QixLQUFLLE1BQU0sR0FBRyxJQUFJLEVBQUUsR0FBRyxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDbkQsTUFBTSxXQUFXLEdBQUcsSUFBSSxNQUFNLENBQUMsU0FBUyxHQUFHLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMxRCxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLEdBQTBCLENBQUMsQ0FBQyxDQUFDO1FBQzFFLENBQUM7UUFFRCxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5QixPQUFPLE1BQU0sQ0FBQztJQUNmLENBQUM7SUFFTyxhQUFhLENBQUMsT0FBZSxFQUFFLElBQXNCO1FBQzVELE9BQU87VUFDQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1VBQ3RELElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7VUFDN0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMscURBQXFELElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTt5REFDakQsT0FBTzs7Ozs7Ozs7Ozs7Ozs7O3VDQWV6QixDQUFDO0lBQ3ZDLENBQUM7d0dBbkVXLGNBQWM7NEdBQWQsY0FBYyxjQURELE1BQU07OzRGQUNuQixjQUFjO2tCQUQxQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IElBc3Npc3RJbnB1dERhdGEgfSBmcm9tICcuL21vZGVscy9pYXNzaXN0LWlucHV0LWRhdGEnO1xuaW1wb3J0IHsgSUFzc2lzdFJlc3BvbnNlIH0gZnJvbSAnLi9tb2RlbHMvaWFzc2lzdC1yZXNwb25zZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy90b2FzdFwiO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIElBc3Npc3RTZXJ2aWNlIHtcblx0cHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuXHRwcml2YXRlIHJlYWRvbmx5IHRvYXN0U2VydmljZSA9IGluamVjdChUb2FzdFNlcnZpY2UpO1xuXG5cblx0cHVibGljIGFza0lBKGNvbnRleHQ6IHN0cmluZywgZGF0YTogSUFzc2lzdElucHV0RGF0YSk6IE9ic2VydmFibGU8SUFzc2lzdFJlc3BvbnNlPiB7XG5cdFx0Y29uc3QgcHJvbXB0OiBzdHJpbmcgPSBkYXRhLnByb21wdFxuXHRcdFx0PyB0aGlzLl9yZXBsYWNlUGxhY2Vob2xkZXIoY29udGV4dCwgZGF0YSlcblx0XHRcdDogdGhpcy5fY3JlYXRlUHJvbXB0KGNvbnRleHQsIGRhdGEpO1xuXG5cdFx0cmV0dXJuIHRoaXMuaHR0cFxuXHRcdFx0LnBvc3Q8SUFzc2lzdFJlc3BvbnNlPigncGxhdGZvcm0vaWFzc2lzdC9hcGkvbGF0ZXN0L2NvbXBsZXRpb25zJywge1xuXHRcdFx0XHRwcm9tcHQsXG5cdFx0XHRcdHByb3ZpZGVyOiAnT1BFTl9BSScsXG5cdFx0XHRcdHBhcmFtZXRlcnM6IHtcblx0XHRcdFx0XHRtb2RlbDogJ2dwdC0zLjUtdHVyYm8nLFxuXHRcdFx0XHRcdG1heF90b2tlbnM6IDcwMCxcblx0XHRcdFx0XHR0ZW1wZXJhdHVyZTogMSxcblx0XHRcdFx0fSxcblx0XHRcdH0pXG5cdFx0XHQucGlwZShcblx0XHRcdFx0Y2F0Y2hFcnJvcigoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuXHRcdFx0XHRcdHRoaXMudG9hc3RTZXJ2aWNlLnNob3coe1xuXHRcdFx0XHRcdFx0c2V2ZXJpdHk6ICdlcnJvcicsXG5cdFx0XHRcdFx0XHR0aXRsZTogZXJyLnN0YXR1cyA/IFN0cmluZyhlcnIuc3RhdHVzKSA6ICdFcnJvcicsXG5cdFx0XHRcdFx0XHR0ZXh0OiAoZXJyLmVycm9yICYmIGVyci5lcnJvci5tZXNzYWdlKSB8fCBlcnIuc3RhdHVzVGV4dCB8fCBlcnIubWVzc2FnZSB8fCAnRXJyb3InLFxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihlcnIubWVzc2FnZSkpO1xuXHRcdFx0XHR9KSxcblx0XHRcdCk7XG5cdH1cblxuXHRwcml2YXRlIF9yZXBsYWNlUGxhY2Vob2xkZXIoY29udGV4dDogc3RyaW5nLCBkYXRhOiBJQXNzaXN0SW5wdXREYXRhKTogc3RyaW5nIHtcblx0XHRjb25zdCB2YWx1ZXMgPSB7IC4uLmRhdGEsIGNvbnRleHQgfTtcblx0XHRkZWxldGUgKHZhbHVlcyBhcyBQYXJ0aWFsPElBc3Npc3RJbnB1dERhdGE+KS5wcm9tcHQ7XG5cblx0XHRsZXQgcmVzdWx0ID0gZGF0YS5wcm9tcHQ7XG5cdFx0Zm9yIChjb25zdCBrZXkgaW4geyAuLi52YWx1ZXMsIGNvbnRleHQ6IGNvbnRleHQgfSkge1xuXHRcdFx0Y29uc3QgcGxhY2Vob2xkZXIgPSBuZXcgUmVnRXhwKGB7e1xcXFxzKiR7a2V5fVxcXFxzKn19YCwgJ2cnKTtcblx0XHRcdHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKHBsYWNlaG9sZGVyLCB2YWx1ZXNba2V5IGFzIGtleW9mIHR5cGVvZiB2YWx1ZXNdKTtcblx0XHR9XG5cblx0XHRjb25zb2xlLmxvZygncHJvbXB0JywgcmVzdWx0KTtcblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9XG5cblx0cHJpdmF0ZSBfY3JlYXRlUHJvbXB0KGNvbnRleHQ6IHN0cmluZywgZGF0YTogSUFzc2lzdElucHV0RGF0YSk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBDcmllIHVtIHRleHRvIGdlbsOpcmljbyBwYXJhIHByZWVuY2hlciBvIGNhbXBvIGRlIHRleHRhcmVhLlxuICAgICAgICAke2RhdGEubGFiZWwgPyBgTyBjYW1wbyB0ZW0gbyBsYWJlbCAke2RhdGEubGFiZWx9LmAgOiAnJ31cbiAgICAgICAgJHtkYXRhLmlkID8gYE8gY2FtcG8gdGVtIG8gaWQgJHtkYXRhLmlkfS5gIDogJyd9XG4gICAgICAgICR7ZGF0YS5wbGFjZWhvbGRlciA/IGBDb25zaWRlcmUgYXMgaW5zdHJ1w6fDtWVzL3N1Z2VzdMO1ZXMgZG8gcGxhY2Vob2xkZXI6ICR7ZGF0YS5wbGFjZWhvbGRlcn0uYCA6ICcnfVxuICAgICAgICBCYXNlaWUtc2Ugbm8gY29udGV4dG8gaW5mb3JtYWRvIHBlbG8gdXN1w6FyaW86ICcke2NvbnRleHR9Jy5cbiAgICAgICAgTyB0ZXh0byBkZXZlIHNlciBmb3JtYWwgZSBjb250ZXIgaW5mb3JtYcOnw7VlcyBwZXJ0aW5lbnRlcyBhIHVtIGNhbXBvIGNvbW8gZXN0ZSwgY29tbyBzZSB1bSB1c3XDoXJpbyByZWFsIHRpdmVzc2UgcHJlZW5jaGlkbyBjb20gYXMgaW5mb3JtYcOnw7VlcyBuZWNlc3PDoXJpYXMuXG4gICAgICAgIE8gdGV4dG8gZGV2ZSBzZXIgbmV1dHJvIGNvbSByZWxhw6fDo28gYSBnZW5lcm9zLCByYcOnYXMsIHJlbGlnacO1ZXMsIGV0Yy5cbiAgICAgICAgTyB0ZXh0byBkZXZlIHNlciBpbXBlc3NvYWwgZSBuw6NvIGRldmUgY29udGVyIGluZm9ybWHDp8O1ZXMgcGVzc29haXMgZG8gdXN1w6FyaW8uXG4gICAgICAgIE7Do28gZGlyZWNpb25lIG8gdGV4dG8gYSBuaW5ndcOpbSwgbsOjbyB1c2UgZXhwcmVzc8O1ZXMgY29tbzogY2FybywgYXRlbmNpb3NhbWVudGUuIGdvc3RhcmlhLCBhZ3JhZGXDp28uIE8gdGV4dG8gZGV2ZSBzZXIgZ2Vuw6lyaWNvLlxuXG4gICAgICAgIEV4ZW1wbG9zIGRlIHRleHRvOlxuICAgICAgICBVbSBjYW1wbyBkZSBkZXNjcmnDp8OjbyBkZSB1c3XDoXJpbzogXCJVc3XDoXJpbyBjb20gMjAgYW5vcywgZXN0dWRhbnRlIGRlIGVuZ2VuaGFyaWEsIGdvc3RhIGRlIGpvZ2FyIGZ1dGVib2wgZSBhc3Npc3RpciBmaWxtZXMuXCJcbiAgICAgICAgT3V0cm8gZXhlbXBsbyBkZSBkZXNjcmnDp8OjbyBkZSB1c3XDoXJpbzogXCJVc3XDoXJpbyBhZG1pbmlzdHJhZG9yLCBjb20gYWNlc3NvIHRvdGFsIGFvIHNpc3RlbWEsIHJlc3BvbnPDoXZlbCBwb3IgZ2VyZW5jaWFyIG9zIHVzdcOhcmlvcyBlIG9zIHByb2R1dG9zLlwiXG4gICAgICAgIFVtIGNhbXBvIGRlIGRlc2NyacOnw6NvIGRlIHVtIHByb2R1dG86IFwiTyBwcm9kdXRvIMOpIHVtIGNlbHVsYXIsIGNvbSB0ZWxhIGRlIDYgcG9sZWdhZGFzLCAxMjhHQiBkZSBhcm1hemVuYW1lbnRvLCA0R0IgZGUgbWVtw7NyaWEgUkFNLCBjw6JtZXJhIGRlIDEyTVAgZSBiYXRlcmlhIGRlIDQwMDBtQWguXCJcbiAgICAgICAgT3V0cm8gZXhlbXBsbyBkZSBkZXNjcmnDp8OjbyBkZSBwcm9kdXRvOiBcIk8gcHJvZHV0byDDqSB1bWEgZ2VsYWRlaXJhLCBjb20gY2FwYWNpZGFkZSBkZSA1MDAgbGl0cm9zLCAyIHBvcnRhcywgY29yIGJyYW5jYSwgY29tIGZyZWV6ZXIgZSBnYXZldGEgZGUgbGVndW1lcy5cIlxuICAgICAgICBPdXRybyBleGVtcGxvIGRlIGRlc2NyacOnw6NvIGRlIHByb2R1dG86IFwiTyBwcm9kdXRvIMOpIHVtYSBjYW1pc2V0YSwgdGFtYW5obyBNLCBjb3IgYXp1bCwgMTAwJSBhbGdvZMOjbywgY29tIGVzdGFtcGEgZGUgdW0gZ2F0by5cIlxuXG4gICAgICAgIEVtIGNhc28gZGUgY29udGV4dG8gaW5jb21wbGV0byBjcmllIHVtIHRleHRvIGdlbsOpcmljbywgY29tbyBzZSBmb3NzZSB1bSBleGVtcGxvIGRlIHByZWVuY2hpbWVudG8gZG8gY2FtcG8uXG4gICAgICAgIE8gdGV4dG8gw6kgcGFyYSB1bSBjYW1wbyBkZSB0ZXh0YXJlYSwgZW50w6NvIGVzY3JldmEgdW0gdGV4dG8gc3VjaW50by5cbiAgICAgICAgRXhpYmEgYXBlbmFzIG8gdGV4dG8gZG8gb3V0cHV0YDtcblx0fVxufVxuIl19
|