ca-components 1.3.38 → 1.3.40

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.
Files changed (84) hide show
  1. package/assets/scss/mixins.scss +18 -0
  2. package/assets/scss/text-selection.scss +39 -201
  3. package/esm2022/lib/components/ca-activity-log-list/ca-activity-log-list.component.mjs +3 -3
  4. package/esm2022/lib/components/ca-checkbox/ca-checkbox.component.mjs +2 -2
  5. package/esm2022/lib/components/ca-collapsible-filter/ca-collapsible-filter.component.mjs +2 -2
  6. package/esm2022/lib/components/ca-comment/ca-comment.component.mjs +2 -2
  7. package/esm2022/lib/components/ca-comment/modals/comment-modal/comment-modal.component.mjs +3 -3
  8. package/esm2022/lib/components/ca-custom-scrollbar/ca-custom-scrollbar.component.mjs +3 -3
  9. package/esm2022/lib/components/ca-details-dropdown/ca-details-dropdown.component.mjs +2 -2
  10. package/esm2022/lib/components/ca-dropdown-menu/ca-dropdown-menu.component.mjs +2 -2
  11. package/esm2022/lib/components/ca-filters/ca-filter.component.mjs +2 -2
  12. package/esm2022/lib/components/ca-filters/components/ca-dispatcher-filter/ca-dispatcher-filter.component.mjs +2 -2
  13. package/esm2022/lib/components/ca-filters/components/ca-location-filter/ca-location-filter.component.mjs +2 -2
  14. package/esm2022/lib/components/ca-filters/components/ca-money-filter/ca-money-filter.component.mjs +2 -2
  15. package/esm2022/lib/components/ca-filters/components/ca-pm-filter/ca-pm-filter.component.mjs +2 -2
  16. package/esm2022/lib/components/ca-filters/components/ca-state-filter/ca-state-filter.component.mjs +2 -2
  17. package/esm2022/lib/components/ca-filters/components/ca-status-filter/ca-status-filter.component.mjs +2 -2
  18. package/esm2022/lib/components/ca-filters/components/ca-time-filter/ca-time-filter.component.mjs +3 -3
  19. package/esm2022/lib/components/ca-filters/components/ca-trailer-type-filter/ca-trailer-type-filter.component.mjs +2 -2
  20. package/esm2022/lib/components/ca-filters/components/ca-truck-type-filter/ca-truck-type-filter.component.mjs +2 -2
  21. package/esm2022/lib/components/ca-filters/components/ca-user-filter/ca-user-filter.component.mjs +2 -2
  22. package/esm2022/lib/components/ca-filters/components/ca-violation-filter/ca-violation-filter.component.mjs +2 -2
  23. package/esm2022/lib/components/ca-input/ca-input.component.mjs +2 -2
  24. package/esm2022/lib/components/ca-input/components/ca-input-placeholder-icon/ca-input-placeholder-icon.component.mjs +3 -3
  25. package/esm2022/lib/components/ca-input-address-dropdown/ca-input-address-dropdown.component.mjs +2 -2
  26. package/esm2022/lib/components/ca-input-datetime-picker/ca-input-datetime-picker.component.mjs +2 -2
  27. package/esm2022/lib/components/ca-input-dropdown/ca-input-dropdown.component.mjs +2 -2
  28. package/esm2022/lib/components/ca-input-note/ca-input-note.component.mjs +2 -2
  29. package/esm2022/lib/components/ca-input-test/input-test.component.mjs +2 -2
  30. package/esm2022/lib/components/ca-logo-change/ca-logo-change.component.mjs +3 -3
  31. package/esm2022/lib/components/ca-main-table/ca-main-table.component.mjs +3 -3
  32. package/esm2022/lib/components/ca-map-dropdown/ca-map-dropdown.component.mjs +2 -2
  33. package/esm2022/lib/components/ca-modal-button/ca-modal-button.component.mjs +3 -3
  34. package/esm2022/lib/components/ca-new-filter/ca-filter-dropdown.component.mjs +3 -3
  35. package/esm2022/lib/components/ca-new-filter/components/ca-filter-state-dropdown/ca-filter-state-dropdown.component.mjs +3 -3
  36. package/esm2022/lib/components/ca-new-filter/components/ca-filter-time-dropdown/ca-filter-time-dropdown.component.mjs +3 -3
  37. package/esm2022/lib/components/ca-ngx-slider/ca-ngx-slider.component.mjs +2 -2
  38. package/esm2022/lib/components/ca-note/ca-note.component.mjs +2 -2
  39. package/esm2022/lib/components/ca-note-container/ca-note-container.component.mjs +2 -2
  40. package/esm2022/lib/components/ca-payroll-list-summary-overview/ca-payroll-list-summary-overview.component.mjs +3 -3
  41. package/esm2022/lib/components/ca-period-content/ca-period-content.component.mjs +3 -3
  42. package/esm2022/lib/components/ca-period-content/components/ca-period-content-extra-info/ca-period-content-extra-info.component.mjs +3 -3
  43. package/esm2022/lib/components/ca-period-content/components/ca-period-content-payment/ca-period-content-payment.component.mjs +10 -9
  44. package/esm2022/lib/components/ca-period-content/components/ca-period-content-user-info/ca-period-content-user-info.component.mjs +3 -3
  45. package/esm2022/lib/components/ca-period-content/enums/index.mjs +2 -1
  46. package/esm2022/lib/components/ca-period-content/enums/period-title-type.enum.mjs +9 -0
  47. package/esm2022/lib/components/ca-period-content/utils/constants/color-map.mjs +9 -8
  48. package/esm2022/lib/components/ca-pickup-delivery-block/ca-pickup-delivery-block.component.mjs +3 -3
  49. package/esm2022/lib/components/ca-pickup-delivery-block/components/ca-load/ca-load.component.mjs +3 -3
  50. package/esm2022/lib/components/ca-pickup-delivery-block/components/ca-load/components/ca-load-list/ca-load-list.component.mjs +3 -3
  51. package/esm2022/lib/components/ca-pickup-delivery-block/components/ca-load/components/ca-load-single/ca-load-single.component.mjs +3 -3
  52. package/esm2022/lib/components/ca-profile-image/ca-profile-image.component.mjs +3 -3
  53. package/esm2022/lib/components/ca-progress-bar/ca-progress-bar.component.mjs +2 -2
  54. package/esm2022/lib/components/ca-progress-expiration/ca-progress-expiration.component.mjs +2 -2
  55. package/esm2022/lib/components/ca-rating-review/ca-rating-review.component.mjs +2 -2
  56. package/esm2022/lib/components/ca-rating-review/components/ca-rating-review-user/ca-rating-review-user.component.mjs +2 -2
  57. package/esm2022/lib/components/ca-rating-review/components/ca-ratings-reviews-popup/ca-ratings-reviews-popup.component.mjs +2 -2
  58. package/esm2022/lib/components/ca-right-side-panel/components/ca-right-side-panel-company/ca-right-side-panel-company.component.mjs +3 -3
  59. package/esm2022/lib/components/ca-right-side-panel/components/ca-right-side-panel-menu/ca-right-side-panel-menu.component.mjs +3 -3
  60. package/esm2022/lib/components/ca-right-side-panel/components/ca-right-side-panel-top-bar/ca-right-side-panel-top-bar.component.mjs +3 -3
  61. package/esm2022/lib/components/ca-search-multiple-states/ca-search-multiple-states.component.mjs +2 -2
  62. package/esm2022/lib/components/ca-sort-dropdown/ca-sort-dropdown.component.mjs +2 -2
  63. package/esm2022/lib/components/ca-spinner/ca-spinner.component.mjs +2 -2
  64. package/esm2022/lib/components/ca-tab-switch/ca-tab-switch.component.mjs +3 -3
  65. package/esm2022/lib/components/ca-todo/ca-todo.component.mjs +3 -3
  66. package/esm2022/lib/components/ca-todo/components/ca-todo-card.component.mjs +3 -3
  67. package/esm2022/lib/components/ca-tooltip-list/ca-tooltip-list.component.mjs +3 -3
  68. package/esm2022/lib/components/ca-truck-trailer-progress-bar/ca-truck-trailer-progress-bar.component.mjs +2 -2
  69. package/esm2022/lib/components/ca-upload-files/ca-upload-files.component.mjs +3 -3
  70. package/esm2022/lib/components/ca-upload-files/components/ca-upload-dropzone/ca-upload-dropzone.component.mjs +3 -3
  71. package/esm2022/lib/components/ca-upload-files/components/ca-upload-file/ca-upload-file.component.mjs +2 -2
  72. package/esm2022/lib/components/ca-upload-files/components/ca-upload-files-carousel/ca-upload-files-carousel.component.mjs +3 -3
  73. package/esm2022/lib/components/ca-vehicle-list/ca-vehicle-list.component.mjs +2 -2
  74. package/fesm2022/ca-components.mjs +159 -164
  75. package/fesm2022/ca-components.mjs.map +1 -1
  76. package/lib/components/ca-period-content/components/ca-period-content-payment/ca-period-content-payment.component.d.ts +3 -2
  77. package/lib/components/ca-period-content/enums/index.d.ts +1 -0
  78. package/lib/components/ca-period-content/enums/period-title-type.enum.d.ts +7 -0
  79. package/lib/components/ca-period-content/utils/constants/color-map.d.ts +2 -3
  80. package/package.json +1 -1
  81. package/esm2022/lib/components/ca-period-content/utils/constants/index.mjs +0 -3
  82. package/esm2022/lib/components/ca-period-content/utils/constants/payroll-period-dropdown.constant.mjs +0 -15
  83. package/lib/components/ca-period-content/utils/constants/index.d.ts +0 -2
  84. package/lib/components/ca-period-content/utils/constants/payroll-period-dropdown.constant.d.ts +0 -10
@@ -30,7 +30,7 @@ export class CaInputPlaceholderIconComponent {
30
30
  this.onPlaceholderIconEventEmitter.emit(event);
31
31
  }
32
32
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CaInputPlaceholderIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CaInputPlaceholderIconComponent, isStandalone: true, selector: "app-ca-input-placeholder-icon", inputs: { inputConfig: "inputConfig", getSuperControl: "getSuperControl", isFocusInput: "isFocusInput", isTouchedInput: "isTouchedInput", selectedDropdownLabelColor: "selectedDropdownLabelColor", isEditInput: "isEditInput", dateTimePopover: "dateTimePopover" }, outputs: { onPopoverShownEmitter: "onPopoverShownEmitter", onPopoverHiddenEmitter: "onPopoverHiddenEmitter", onPlaceholderIconEventEmitter: "onPlaceholderIconEventEmitter" }, viewQueries: [{ propertyName: "t2", first: true, predicate: ["t2"], descendants: true }, { propertyName: "ngbMainPopover", first: true, predicate: NgbPopover, descendants: true }], ngImport: i0, template: "<div\n #t2=\"ngbPopover\"\n [ngbPopover]=\"dateTimePopover\"\n [disablePopover]=\"\n (inputConfig.name !== 'datepicker' &&\n inputConfig.name !== 'timepicker' &&\n inputConfig.name !== 'datepickerBankCard') ||\n inputConfig.isDisabled!\n \"\n [placement]=\"['left', 'left-top']\"\n [popoverClass]=\"'datetimepopovermain'\"\n autoClose=\"outside\" \n class=\"input-icon {{ inputConfig.customClass }}\"\n [ngClass]=\"\n getSuperControl\n | inputPlaceholderIconClass\n : isFocusInput\n : inputConfig\n : selectedDropdownLabelColor\n : isTouchedInput\n : isEditInput\n : getSuperControl?.value\n \"\n ngbTooltip\n [mainCaTooltip]=\"'Change Color'\"\n [tooltipBackground]=\"'#424242'\"\n [disableTooltip]=\"!isEditInput\"\n position=\"bottom\"\n (shown)=\"onPopoverShown()\"\n (hidden)=\"onPopoverHidden()\"\n (click)=\"onPlaceholderIconEvent($event)\"\n [ngStyle]=\"{ opacity: inputConfig.isIconHidden ? '0' : {} }\"\n>\n <svg-icon\n appHoverSvg\n [stretch]=\"true\"\n [fill]=\"\n inputConfig.dropdownLabel || selectedDropdownLabelColor\n ? selectedDropdownLabelColor?.code || '#b7b7b7'\n : null\n \"\n [fillHover]=\"\n (inputConfig.dropdownLabel || selectedDropdownLabelColor) && isEditInput\n ? selectedDropdownLabelColor?.hoverCode || null\n : null\n \"\n [src]=\"(inputConfig.placeholderIcon! | caSvg : 'input') ?? ''\"\n ></svg-icon>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type:
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CaInputPlaceholderIconComponent, isStandalone: true, selector: "app-ca-input-placeholder-icon", inputs: { inputConfig: "inputConfig", getSuperControl: "getSuperControl", isFocusInput: "isFocusInput", isTouchedInput: "isTouchedInput", selectedDropdownLabelColor: "selectedDropdownLabelColor", isEditInput: "isEditInput", dateTimePopover: "dateTimePopover" }, outputs: { onPopoverShownEmitter: "onPopoverShownEmitter", onPopoverHiddenEmitter: "onPopoverHiddenEmitter", onPlaceholderIconEventEmitter: "onPlaceholderIconEventEmitter" }, viewQueries: [{ propertyName: "t2", first: true, predicate: ["t2"], descendants: true }, { propertyName: "ngbMainPopover", first: true, predicate: NgbPopover, descendants: true }], ngImport: i0, template: "<div\n #t2=\"ngbPopover\"\n [ngbPopover]=\"dateTimePopover\"\n [disablePopover]=\"\n (inputConfig.name !== 'datepicker' &&\n inputConfig.name !== 'timepicker' &&\n inputConfig.name !== 'datepickerBankCard') ||\n inputConfig.isDisabled!\n \"\n [placement]=\"['left', 'left-top']\"\n [popoverClass]=\"'datetimepopovermain'\"\n autoClose=\"outside\" \n [container]=\"'body'\"\n class=\"input-icon {{ inputConfig.customClass }}\"\n [ngClass]=\"\n getSuperControl\n | inputPlaceholderIconClass\n : isFocusInput\n : inputConfig\n : selectedDropdownLabelColor\n : isTouchedInput\n : isEditInput\n : getSuperControl?.value\n \"\n ngbTooltip\n [mainCaTooltip]=\"'Change Color'\"\n [tooltipBackground]=\"'#424242'\"\n [disableTooltip]=\"!isEditInput\"\n position=\"bottom\"\n (shown)=\"onPopoverShown()\"\n (hidden)=\"onPopoverHidden()\"\n (click)=\"onPlaceholderIconEvent($event)\"\n [ngStyle]=\"{ opacity: inputConfig.isIconHidden ? '0' : {} }\"\n>\n <svg-icon\n appHoverSvg\n [stretch]=\"true\"\n [fill]=\"\n inputConfig.dropdownLabel || selectedDropdownLabelColor\n ? selectedDropdownLabelColor?.code || '#b7b7b7'\n : null\n \"\n [fillHover]=\"\n (inputConfig.dropdownLabel || selectedDropdownLabelColor) && isEditInput\n ? selectedDropdownLabelColor?.hoverCode || null\n : null\n \"\n [src]=\"(inputConfig.placeholderIcon! | caSvg : 'input') ?? ''\"\n ></svg-icon>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type:
34
34
  // modules
35
35
  CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: AngularSvgIconModule }, { kind: "component", type: i2.SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "applyCss", "svgClass", "class", "viewBox", "svgAriaLabel", "svgStyle"] }, { kind: "ngmodule", type: NgbModule }, { kind: "directive", type: i3.NgbPopover, selector: "[ngbPopover]", inputs: ["animation", "autoClose", "ngbPopover", "popoverTitle", "placement", "popperOptions", "triggers", "positionTarget", "container", "disablePopover", "popoverClass", "popoverContext", "openDelay", "closeDelay"], outputs: ["shown", "hidden"], exportAs: ["ngbPopover"] }, { kind: "directive", type: i3.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type:
36
36
  // components
@@ -54,7 +54,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
54
54
  CaSvgPipe,
55
55
  // directive
56
56
  HoverSvgDirective,
57
- ], template: "<div\n #t2=\"ngbPopover\"\n [ngbPopover]=\"dateTimePopover\"\n [disablePopover]=\"\n (inputConfig.name !== 'datepicker' &&\n inputConfig.name !== 'timepicker' &&\n inputConfig.name !== 'datepickerBankCard') ||\n inputConfig.isDisabled!\n \"\n [placement]=\"['left', 'left-top']\"\n [popoverClass]=\"'datetimepopovermain'\"\n autoClose=\"outside\" \n class=\"input-icon {{ inputConfig.customClass }}\"\n [ngClass]=\"\n getSuperControl\n | inputPlaceholderIconClass\n : isFocusInput\n : inputConfig\n : selectedDropdownLabelColor\n : isTouchedInput\n : isEditInput\n : getSuperControl?.value\n \"\n ngbTooltip\n [mainCaTooltip]=\"'Change Color'\"\n [tooltipBackground]=\"'#424242'\"\n [disableTooltip]=\"!isEditInput\"\n position=\"bottom\"\n (shown)=\"onPopoverShown()\"\n (hidden)=\"onPopoverHidden()\"\n (click)=\"onPlaceholderIconEvent($event)\"\n [ngStyle]=\"{ opacity: inputConfig.isIconHidden ? '0' : {} }\"\n>\n <svg-icon\n appHoverSvg\n [stretch]=\"true\"\n [fill]=\"\n inputConfig.dropdownLabel || selectedDropdownLabelColor\n ? selectedDropdownLabelColor?.code || '#b7b7b7'\n : null\n \"\n [fillHover]=\"\n (inputConfig.dropdownLabel || selectedDropdownLabelColor) && isEditInput\n ? selectedDropdownLabelColor?.hoverCode || null\n : null\n \"\n [src]=\"(inputConfig.placeholderIcon! | caSvg : 'input') ?? ''\"\n ></svg-icon>\n</div>\n" }]
57
+ ], template: "<div\n #t2=\"ngbPopover\"\n [ngbPopover]=\"dateTimePopover\"\n [disablePopover]=\"\n (inputConfig.name !== 'datepicker' &&\n inputConfig.name !== 'timepicker' &&\n inputConfig.name !== 'datepickerBankCard') ||\n inputConfig.isDisabled!\n \"\n [placement]=\"['left', 'left-top']\"\n [popoverClass]=\"'datetimepopovermain'\"\n autoClose=\"outside\" \n [container]=\"'body'\"\n class=\"input-icon {{ inputConfig.customClass }}\"\n [ngClass]=\"\n getSuperControl\n | inputPlaceholderIconClass\n : isFocusInput\n : inputConfig\n : selectedDropdownLabelColor\n : isTouchedInput\n : isEditInput\n : getSuperControl?.value\n \"\n ngbTooltip\n [mainCaTooltip]=\"'Change Color'\"\n [tooltipBackground]=\"'#424242'\"\n [disableTooltip]=\"!isEditInput\"\n position=\"bottom\"\n (shown)=\"onPopoverShown()\"\n (hidden)=\"onPopoverHidden()\"\n (click)=\"onPlaceholderIconEvent($event)\"\n [ngStyle]=\"{ opacity: inputConfig.isIconHidden ? '0' : {} }\"\n>\n <svg-icon\n appHoverSvg\n [stretch]=\"true\"\n [fill]=\"\n inputConfig.dropdownLabel || selectedDropdownLabelColor\n ? selectedDropdownLabelColor?.code || '#b7b7b7'\n : null\n \"\n [fillHover]=\"\n (inputConfig.dropdownLabel || selectedDropdownLabelColor) && isEditInput\n ? selectedDropdownLabelColor?.hoverCode || null\n : null\n \"\n [src]=\"(inputConfig.placeholderIcon! | caSvg : 'input') ?? ''\"\n ></svg-icon>\n</div>\n" }]
58
58
  }], ctorParameters: () => [], propDecorators: { inputConfig: [{
59
59
  type: Input
60
60
  }], getSuperControl: [{
@@ -82,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
82
82
  type: ViewChild,
83
83
  args: [NgbPopover]
84
84
  }] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtaW5wdXQtcGxhY2Vob2xkZXItaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC9jb21wb25lbnRzL2NhLWlucHV0LXBsYWNlaG9sZGVyLWljb24vY2EtaW5wdXQtcGxhY2Vob2xkZXItaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC9jb21wb25lbnRzL2NhLWlucHV0LXBsYWNlaG9sZGVyLWljb24vY2EtaW5wdXQtcGxhY2Vob2xkZXItaWNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFPdkIsVUFBVTtBQUNWLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFbkUsYUFBYTtBQUNiLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRWpHLFFBQVE7QUFDUixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVELFlBQVk7QUFDWixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7QUF3QmhGLE1BQU0sT0FBTywrQkFBK0I7SUFnQjFDO1FBUFUsMEJBQXFCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNwRCwyQkFBc0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3JELGtDQUE2QixHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7SUFLckQsQ0FBQztJQUVULGNBQWM7UUFDbkIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTSxzQkFBc0IsQ0FBQyxLQUFZO1FBQ3hDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQzsrR0E1QlUsK0JBQStCO21HQUEvQiwrQkFBK0IseW9CQWMvQixVQUFVLGdEQ25FdkIsbzlDQWlEQTtnQkRaSSxVQUFVO2dCQUNWLFlBQVksaU5BQ1osb0JBQW9CLGdPQUNwQixTQUFTO2dCQUVULGFBQWE7Z0JBQ2IsdUJBQXVCO2dCQUV2QixRQUFRO2dCQUNSLDZCQUE2Qiw2REFDN0IsU0FBUztnQkFFVCxZQUFZO2dCQUNaLGlCQUFpQjs7NEZBR1IsK0JBQStCO2tCQXRCM0MsU0FBUzsrQkFDRSwrQkFBK0IsY0FHN0IsSUFBSSxXQUNQO3dCQUNQLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLFNBQVM7d0JBRVQsYUFBYTt3QkFDYix1QkFBdUI7d0JBRXZCLFFBQVE7d0JBQ1IsNkJBQTZCO3dCQUM3QixTQUFTO3dCQUVULFlBQVk7d0JBQ1osaUJBQWlCO3FCQUNsQjt3REFHUSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUkscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyw2QkFBNkI7c0JBQXRDLE1BQU07Z0JBRVUsRUFBRTtzQkFBbEIsU0FBUzt1QkFBQyxJQUFJO2dCQUNRLGNBQWM7c0JBQXBDLFNBQVM7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLy8gbW9kZWxzXG5pbXBvcnQgeyBJQ2FJbnB1dCB9IGZyb20gJy4uLy4uL2NvbmZpZy9jYS1pbnB1dC5jb25maWcnO1xuaW1wb3J0IHsgTGFiZWxDb2xvciB9IGZyb20gJy4uLy4uL21vZGVscy9sYWJlbC1jb2xvci5tb2RlbCc7XG5cbi8vIG1vZHVsZXNcbmltcG9ydCB7IEFuZ3VsYXJTdmdJY29uTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1zdmctaWNvbic7XG5pbXBvcnQgeyBOZ2JNb2R1bGUsIE5nYlBvcG92ZXIgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5cbi8vIGNvbXBvbmVudHNcbmltcG9ydCB7IENhQXBwVG9vbHRpcFYyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY2EtYXBwLXRvb2x0aXAtdjIvY2EtYXBwLXRvb2x0aXAtdjIuY29tcG9uZW50JztcblxuLy8gcGlwZXNcbmltcG9ydCB7IENhU3ZnUGlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL3BpcGVzL2NhLXN2Zy5waXBlJztcbmltcG9ydCB7IElucHV0UGxhY2Vob2xkZXJJY29uQ2xhc3NQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMnO1xuXG4vLyBkaXJlY3RpdmVcbmltcG9ydCB7IEhvdmVyU3ZnRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcy9ob3Zlci1zdmctZGlyZWN0aXZlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jYS1pbnB1dC1wbGFjZWhvbGRlci1pY29uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhLWlucHV0LXBsYWNlaG9sZGVyLWljb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYS1pbnB1dC1wbGFjZWhvbGRlci1pY29uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICAvLyBtb2R1bGVzXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFuZ3VsYXJTdmdJY29uTW9kdWxlLFxuICAgIE5nYk1vZHVsZSxcblxuICAgIC8vIGNvbXBvbmVudHNcbiAgICBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCxcblxuICAgIC8vIHBpcGVzXG4gICAgSW5wdXRQbGFjZWhvbGRlckljb25DbGFzc1BpcGUsXG4gICAgQ2FTdmdQaXBlLFxuXG4gICAgLy8gZGlyZWN0aXZlXG4gICAgSG92ZXJTdmdEaXJlY3RpdmUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENhSW5wdXRQbGFjZWhvbGRlckljb25Db21wb25lbnQge1xuICBASW5wdXQoKSBpbnB1dENvbmZpZyE6IElDYUlucHV0O1xuICBASW5wdXQoKSBnZXRTdXBlckNvbnRyb2whOiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+IHwgbnVsbDtcbiAgQElucHV0KCkgaXNGb2N1c0lucHV0ITogYm9vbGVhbjtcbiAgQElucHV0KCkgaXNUb3VjaGVkSW5wdXQhOiBib29sZWFuO1xuICBASW5wdXQoKSBzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvciE6IExhYmVsQ29sb3IgfCBudWxsO1xuICBASW5wdXQoKSBpc0VkaXRJbnB1dCE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRhdGVUaW1lUG9wb3ZlciE6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQE91dHB1dCgpIG9uUG9wb3ZlclNob3duRW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIG9uUG9wb3ZlckhpZGRlbkVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBvblBsYWNlaG9sZGVySWNvbkV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgndDInKSB0MiE6IE5nYlBvcG92ZXI7XG4gIEBWaWV3Q2hpbGQoTmdiUG9wb3ZlcikgbmdiTWFpblBvcG92ZXIhOiBOZ2JQb3BvdmVyO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwdWJsaWMgb25Qb3BvdmVyU2hvd24oKTogdm9pZCB7XG4gICAgdGhpcy5vblBvcG92ZXJTaG93bkVtaXR0ZXIuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvcG92ZXJIaWRkZW4oKTogdm9pZCB7XG4gICAgdGhpcy5vblBvcG92ZXJIaWRkZW5FbWl0dGVyLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgb25QbGFjZWhvbGRlckljb25FdmVudChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLm9uUGxhY2Vob2xkZXJJY29uRXZlbnRFbWl0dGVyLmVtaXQoZXZlbnQpO1xuICB9XG59XG4iLCI8ZGl2XG4gICN0Mj1cIm5nYlBvcG92ZXJcIlxuICBbbmdiUG9wb3Zlcl09XCJkYXRlVGltZVBvcG92ZXJcIlxuICBbZGlzYWJsZVBvcG92ZXJdPVwiXG4gICAgKGlucHV0Q29uZmlnLm5hbWUgIT09ICdkYXRlcGlja2VyJyAmJlxuICAgICAgaW5wdXRDb25maWcubmFtZSAhPT0gJ3RpbWVwaWNrZXInICYmXG4gICAgICBpbnB1dENvbmZpZy5uYW1lICE9PSAnZGF0ZXBpY2tlckJhbmtDYXJkJykgfHxcbiAgICBpbnB1dENvbmZpZy5pc0Rpc2FibGVkIVxuICBcIlxuICBbcGxhY2VtZW50XT1cIlsnbGVmdCcsICdsZWZ0LXRvcCddXCJcbiAgW3BvcG92ZXJDbGFzc109XCInZGF0ZXRpbWVwb3BvdmVybWFpbidcIlxuICBhdXRvQ2xvc2U9XCJvdXRzaWRlXCIgXG4gIGNsYXNzPVwiaW5wdXQtaWNvbiB7eyBpbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiXG4gIFtuZ0NsYXNzXT1cIlxuICAgIGdldFN1cGVyQ29udHJvbFxuICAgICAgfCBpbnB1dFBsYWNlaG9sZGVySWNvbkNsYXNzXG4gICAgICAgIDogaXNGb2N1c0lucHV0XG4gICAgICAgIDogaW5wdXRDb25maWdcbiAgICAgICAgOiBzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvclxuICAgICAgICA6IGlzVG91Y2hlZElucHV0XG4gICAgICAgIDogaXNFZGl0SW5wdXRcbiAgICAgICAgOiBnZXRTdXBlckNvbnRyb2w/LnZhbHVlXG4gIFwiXG4gIG5nYlRvb2x0aXBcbiAgW21haW5DYVRvb2x0aXBdPVwiJ0NoYW5nZSBDb2xvcidcIlxuICBbdG9vbHRpcEJhY2tncm91bmRdPVwiJyM0MjQyNDInXCJcbiAgW2Rpc2FibGVUb29sdGlwXT1cIiFpc0VkaXRJbnB1dFwiXG4gIHBvc2l0aW9uPVwiYm90dG9tXCJcbiAgKHNob3duKT1cIm9uUG9wb3ZlclNob3duKClcIlxuICAoaGlkZGVuKT1cIm9uUG9wb3ZlckhpZGRlbigpXCJcbiAgKGNsaWNrKT1cIm9uUGxhY2Vob2xkZXJJY29uRXZlbnQoJGV2ZW50KVwiXG4gIFtuZ1N0eWxlXT1cInsgb3BhY2l0eTogaW5wdXRDb25maWcuaXNJY29uSGlkZGVuID8gJzAnIDoge30gfVwiXG4+XG4gIDxzdmctaWNvblxuICAgIGFwcEhvdmVyU3ZnXG4gICAgW3N0cmV0Y2hdPVwidHJ1ZVwiXG4gICAgW2ZpbGxdPVwiXG4gICAgICBpbnB1dENvbmZpZy5kcm9wZG93bkxhYmVsIHx8IHNlbGVjdGVkRHJvcGRvd25MYWJlbENvbG9yXG4gICAgICAgID8gc2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3I/LmNvZGUgfHwgJyNiN2I3YjcnXG4gICAgICAgIDogbnVsbFxuICAgIFwiXG4gICAgW2ZpbGxIb3Zlcl09XCJcbiAgICAgIChpbnB1dENvbmZpZy5kcm9wZG93bkxhYmVsIHx8IHNlbGVjdGVkRHJvcGRvd25MYWJlbENvbG9yKSAmJiBpc0VkaXRJbnB1dFxuICAgICAgICA/IHNlbGVjdGVkRHJvcGRvd25MYWJlbENvbG9yPy5ob3ZlckNvZGUgfHwgbnVsbFxuICAgICAgICA6IG51bGxcbiAgICBcIlxuICAgIFtzcmNdPVwiKGlucHV0Q29uZmlnLnBsYWNlaG9sZGVySWNvbiEgfCBjYVN2ZyA6ICdpbnB1dCcpID8/ICcnXCJcbiAgPjwvc3ZnLWljb24+XG48L2Rpdj5cbiJdfQ==
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtaW5wdXQtcGxhY2Vob2xkZXItaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC9jb21wb25lbnRzL2NhLWlucHV0LXBsYWNlaG9sZGVyLWljb24vY2EtaW5wdXQtcGxhY2Vob2xkZXItaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC9jb21wb25lbnRzL2NhLWlucHV0LXBsYWNlaG9sZGVyLWljb24vY2EtaW5wdXQtcGxhY2Vob2xkZXItaWNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFPdkIsVUFBVTtBQUNWLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFbkUsYUFBYTtBQUNiLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRWpHLFFBQVE7QUFDUixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVELFlBQVk7QUFDWixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7QUF3QmhGLE1BQU0sT0FBTywrQkFBK0I7SUFnQjFDO1FBUFUsMEJBQXFCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNwRCwyQkFBc0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3JELGtDQUE2QixHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7SUFLckQsQ0FBQztJQUVULGNBQWM7UUFDbkIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTSxzQkFBc0IsQ0FBQyxLQUFZO1FBQ3hDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQzsrR0E1QlUsK0JBQStCO21HQUEvQiwrQkFBK0IseW9CQWMvQixVQUFVLGdEQ25FdkIsOCtDQWtEQTtnQkRiSSxVQUFVO2dCQUNWLFlBQVksaU5BQ1osb0JBQW9CLGdPQUNwQixTQUFTO2dCQUVULGFBQWE7Z0JBQ2IsdUJBQXVCO2dCQUV2QixRQUFRO2dCQUNSLDZCQUE2Qiw2REFDN0IsU0FBUztnQkFFVCxZQUFZO2dCQUNaLGlCQUFpQjs7NEZBR1IsK0JBQStCO2tCQXRCM0MsU0FBUzsrQkFDRSwrQkFBK0IsY0FHN0IsSUFBSSxXQUNQO3dCQUNQLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLFNBQVM7d0JBRVQsYUFBYTt3QkFDYix1QkFBdUI7d0JBRXZCLFFBQVE7d0JBQ1IsNkJBQTZCO3dCQUM3QixTQUFTO3dCQUVULFlBQVk7d0JBQ1osaUJBQWlCO3FCQUNsQjt3REFHUSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUkscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyw2QkFBNkI7c0JBQXRDLE1BQU07Z0JBRVUsRUFBRTtzQkFBbEIsU0FBUzt1QkFBQyxJQUFJO2dCQUNRLGNBQWM7c0JBQXBDLFNBQVM7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLy8gbW9kZWxzXG5pbXBvcnQgeyBJQ2FJbnB1dCB9IGZyb20gJy4uLy4uL2NvbmZpZy9jYS1pbnB1dC5jb25maWcnO1xuaW1wb3J0IHsgTGFiZWxDb2xvciB9IGZyb20gJy4uLy4uL21vZGVscy9sYWJlbC1jb2xvci5tb2RlbCc7XG5cbi8vIG1vZHVsZXNcbmltcG9ydCB7IEFuZ3VsYXJTdmdJY29uTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1zdmctaWNvbic7XG5pbXBvcnQgeyBOZ2JNb2R1bGUsIE5nYlBvcG92ZXIgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5cbi8vIGNvbXBvbmVudHNcbmltcG9ydCB7IENhQXBwVG9vbHRpcFYyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY2EtYXBwLXRvb2x0aXAtdjIvY2EtYXBwLXRvb2x0aXAtdjIuY29tcG9uZW50JztcblxuLy8gcGlwZXNcbmltcG9ydCB7IENhU3ZnUGlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL3BpcGVzL2NhLXN2Zy5waXBlJztcbmltcG9ydCB7IElucHV0UGxhY2Vob2xkZXJJY29uQ2xhc3NQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMnO1xuXG4vLyBkaXJlY3RpdmVcbmltcG9ydCB7IEhvdmVyU3ZnRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcy9ob3Zlci1zdmctZGlyZWN0aXZlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jYS1pbnB1dC1wbGFjZWhvbGRlci1pY29uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhLWlucHV0LXBsYWNlaG9sZGVyLWljb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYS1pbnB1dC1wbGFjZWhvbGRlci1pY29uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICAvLyBtb2R1bGVzXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFuZ3VsYXJTdmdJY29uTW9kdWxlLFxuICAgIE5nYk1vZHVsZSxcblxuICAgIC8vIGNvbXBvbmVudHNcbiAgICBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCxcblxuICAgIC8vIHBpcGVzXG4gICAgSW5wdXRQbGFjZWhvbGRlckljb25DbGFzc1BpcGUsXG4gICAgQ2FTdmdQaXBlLFxuXG4gICAgLy8gZGlyZWN0aXZlXG4gICAgSG92ZXJTdmdEaXJlY3RpdmUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENhSW5wdXRQbGFjZWhvbGRlckljb25Db21wb25lbnQge1xuICBASW5wdXQoKSBpbnB1dENvbmZpZyE6IElDYUlucHV0O1xuICBASW5wdXQoKSBnZXRTdXBlckNvbnRyb2whOiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+IHwgbnVsbDtcbiAgQElucHV0KCkgaXNGb2N1c0lucHV0ITogYm9vbGVhbjtcbiAgQElucHV0KCkgaXNUb3VjaGVkSW5wdXQhOiBib29sZWFuO1xuICBASW5wdXQoKSBzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvciE6IExhYmVsQ29sb3IgfCBudWxsO1xuICBASW5wdXQoKSBpc0VkaXRJbnB1dCE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRhdGVUaW1lUG9wb3ZlciE6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQE91dHB1dCgpIG9uUG9wb3ZlclNob3duRW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIG9uUG9wb3ZlckhpZGRlbkVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBvblBsYWNlaG9sZGVySWNvbkV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgndDInKSB0MiE6IE5nYlBvcG92ZXI7XG4gIEBWaWV3Q2hpbGQoTmdiUG9wb3ZlcikgbmdiTWFpblBvcG92ZXIhOiBOZ2JQb3BvdmVyO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwdWJsaWMgb25Qb3BvdmVyU2hvd24oKTogdm9pZCB7XG4gICAgdGhpcy5vblBvcG92ZXJTaG93bkVtaXR0ZXIuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvcG92ZXJIaWRkZW4oKTogdm9pZCB7XG4gICAgdGhpcy5vblBvcG92ZXJIaWRkZW5FbWl0dGVyLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgb25QbGFjZWhvbGRlckljb25FdmVudChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLm9uUGxhY2Vob2xkZXJJY29uRXZlbnRFbWl0dGVyLmVtaXQoZXZlbnQpO1xuICB9XG59XG4iLCI8ZGl2XG4gICN0Mj1cIm5nYlBvcG92ZXJcIlxuICBbbmdiUG9wb3Zlcl09XCJkYXRlVGltZVBvcG92ZXJcIlxuICBbZGlzYWJsZVBvcG92ZXJdPVwiXG4gICAgKGlucHV0Q29uZmlnLm5hbWUgIT09ICdkYXRlcGlja2VyJyAmJlxuICAgICAgaW5wdXRDb25maWcubmFtZSAhPT0gJ3RpbWVwaWNrZXInICYmXG4gICAgICBpbnB1dENvbmZpZy5uYW1lICE9PSAnZGF0ZXBpY2tlckJhbmtDYXJkJykgfHxcbiAgICBpbnB1dENvbmZpZy5pc0Rpc2FibGVkIVxuICBcIlxuICBbcGxhY2VtZW50XT1cIlsnbGVmdCcsICdsZWZ0LXRvcCddXCJcbiAgW3BvcG92ZXJDbGFzc109XCInZGF0ZXRpbWVwb3BvdmVybWFpbidcIlxuICBhdXRvQ2xvc2U9XCJvdXRzaWRlXCIgXG4gIFtjb250YWluZXJdPVwiJ2JvZHknXCJcbiAgY2xhc3M9XCJpbnB1dC1pY29uIHt7IGlucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19XCJcbiAgW25nQ2xhc3NdPVwiXG4gICAgZ2V0U3VwZXJDb250cm9sXG4gICAgICB8IGlucHV0UGxhY2Vob2xkZXJJY29uQ2xhc3NcbiAgICAgICAgOiBpc0ZvY3VzSW5wdXRcbiAgICAgICAgOiBpbnB1dENvbmZpZ1xuICAgICAgICA6IHNlbGVjdGVkRHJvcGRvd25MYWJlbENvbG9yXG4gICAgICAgIDogaXNUb3VjaGVkSW5wdXRcbiAgICAgICAgOiBpc0VkaXRJbnB1dFxuICAgICAgICA6IGdldFN1cGVyQ29udHJvbD8udmFsdWVcbiAgXCJcbiAgbmdiVG9vbHRpcFxuICBbbWFpbkNhVG9vbHRpcF09XCInQ2hhbmdlIENvbG9yJ1wiXG4gIFt0b29sdGlwQmFja2dyb3VuZF09XCInIzQyNDI0MidcIlxuICBbZGlzYWJsZVRvb2x0aXBdPVwiIWlzRWRpdElucHV0XCJcbiAgcG9zaXRpb249XCJib3R0b21cIlxuICAoc2hvd24pPVwib25Qb3BvdmVyU2hvd24oKVwiXG4gIChoaWRkZW4pPVwib25Qb3BvdmVySGlkZGVuKClcIlxuICAoY2xpY2spPVwib25QbGFjZWhvbGRlckljb25FdmVudCgkZXZlbnQpXCJcbiAgW25nU3R5bGVdPVwieyBvcGFjaXR5OiBpbnB1dENvbmZpZy5pc0ljb25IaWRkZW4gPyAnMCcgOiB7fSB9XCJcbj5cbiAgPHN2Zy1pY29uXG4gICAgYXBwSG92ZXJTdmdcbiAgICBbc3RyZXRjaF09XCJ0cnVlXCJcbiAgICBbZmlsbF09XCJcbiAgICAgIGlucHV0Q29uZmlnLmRyb3Bkb3duTGFiZWwgfHwgc2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3JcbiAgICAgICAgPyBzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvcj8uY29kZSB8fCAnI2I3YjdiNydcbiAgICAgICAgOiBudWxsXG4gICAgXCJcbiAgICBbZmlsbEhvdmVyXT1cIlxuICAgICAgKGlucHV0Q29uZmlnLmRyb3Bkb3duTGFiZWwgfHwgc2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3IpICYmIGlzRWRpdElucHV0XG4gICAgICAgID8gc2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3I/LmhvdmVyQ29kZSB8fCBudWxsXG4gICAgICAgIDogbnVsbFxuICAgIFwiXG4gICAgW3NyY109XCIoaW5wdXRDb25maWcucGxhY2Vob2xkZXJJY29uISB8IGNhU3ZnIDogJ2lucHV0JykgPz8gJydcIlxuICA+PC9zdmctaWNvbj5cbjwvZGl2PlxuIl19