ca-components 1.0.74 → 1.0.75

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 (59) hide show
  1. package/esm2022/lib/components/ca-comment/ca-comment.component.mjs +16 -5
  2. package/esm2022/lib/components/ca-custom-scrollbar/ca-custom-scrollbar.component.mjs +123 -120
  3. package/esm2022/lib/components/ca-custom-scrollbar/enums/event-type.enum.mjs +8 -0
  4. package/esm2022/lib/components/ca-custom-scrollbar/enums/index.mjs +3 -0
  5. package/esm2022/lib/components/ca-custom-scrollbar/enums/scroll-event-action.enum.mjs +6 -0
  6. package/esm2022/lib/components/ca-custom-scrollbar/models/index.mjs +3 -0
  7. package/esm2022/lib/components/ca-custom-scrollbar/models/scroll-bar-options.model.mjs +2 -0
  8. package/esm2022/lib/components/ca-custom-scrollbar/models/scroll-event.model.mjs +2 -0
  9. package/esm2022/lib/components/ca-filters/components/ca-dispatcher-filter/ca-dispatcher-filter.component.mjs +2 -6
  10. package/esm2022/lib/components/ca-filters/components/ca-location-filter/ca-location-filter.component.mjs +2 -6
  11. package/esm2022/lib/components/ca-filters/components/ca-user-filter/ca-user-filter.component.mjs +7 -9
  12. package/esm2022/lib/components/ca-filters/components/ca-violation-filter/ca-violation-filter.component.mjs +5 -5
  13. package/esm2022/lib/components/ca-input/ca-input.component.mjs +3 -4
  14. package/esm2022/lib/components/ca-input/pipes/input-class.pipe.mjs +2 -2
  15. package/esm2022/lib/components/ca-input/pipes/label-class.pipe.mjs +2 -1
  16. package/esm2022/lib/components/ca-input/pipes/show-placeholder-text.pipe.mjs +3 -3
  17. package/esm2022/lib/components/ca-input/pipes/show-valid-check.pipe.mjs +2 -2
  18. package/esm2022/lib/components/ca-input-address-dropdown/ca-input-address-dropdown.component.mjs +91 -82
  19. package/esm2022/lib/components/ca-input-address-dropdown/enums/input-address-type-string.enum.mjs +2 -1
  20. package/esm2022/lib/components/ca-input-dropdown/ca-input-dropdown.component.mjs +6 -21
  21. package/esm2022/lib/components/ca-input-dropdown/components/ca-input-dropdown-dispatch/ca-input-dropdown-dispatch.component.mjs +2 -6
  22. package/esm2022/lib/components/ca-input-dropdown/components/ca-input-dropdown-labels/ca-input-dropdown-labels.component.mjs +2 -6
  23. package/esm2022/lib/components/ca-input-dropdown/components/ca-input-dropdown-text-counter/ca-input-dropdown-text-counter.component.mjs +2 -6
  24. package/esm2022/lib/components/ca-logo-change/ca-logo-change.component.mjs +2 -5
  25. package/esm2022/lib/components/ca-main-table/ca-main-table.component.mjs +4 -5
  26. package/esm2022/lib/components/ca-map-dropdown/ca-map-dropdown.component.mjs +6 -6
  27. package/esm2022/lib/components/ca-modal-button/ca-modal-button.component.mjs +2 -4
  28. package/esm2022/lib/components/ca-modal-button/enums/index.mjs +2 -2
  29. package/esm2022/lib/components/ca-modal-button/enums/modal-button-class-type.enum.mjs +10 -0
  30. package/esm2022/lib/components/ca-modal-button/enums/modal-button-size.enum.mjs +3 -3
  31. package/esm2022/lib/components/ca-modal-button/pipes/modal-button-class.pipe.mjs +4 -12
  32. package/esm2022/lib/components/ca-progress-expiration/ca-progress-expiration.component.mjs +9 -6
  33. package/esm2022/lib/components/ca-rating-review/components/ca-ratings-reviews-popup/ca-ratings-reviews-popup.component.mjs +8 -10
  34. package/esm2022/lib/components/ca-right-side-panel/components/ca-right-side-panel-menu/ca-right-side-panel-menu.component.mjs +3 -3
  35. package/esm2022/lib/components/ca-upload-files/ca-upload-files.component.mjs +9 -15
  36. package/esm2022/lib/components/ca-upload-files/components/ca-upload-file/ca-upload-file.component.mjs +7 -11
  37. package/fesm2022/ca-components.mjs +470 -477
  38. package/fesm2022/ca-components.mjs.map +1 -1
  39. package/lib/components/ca-custom-scrollbar/ca-custom-scrollbar.component.d.ts +38 -29
  40. package/lib/components/ca-custom-scrollbar/enums/event-type.enum.d.ts +6 -0
  41. package/lib/components/ca-custom-scrollbar/enums/index.d.ts +2 -0
  42. package/lib/components/ca-custom-scrollbar/enums/scroll-event-action.enum.d.ts +4 -0
  43. package/lib/components/ca-custom-scrollbar/models/index.d.ts +2 -0
  44. package/lib/components/ca-custom-scrollbar/models/scroll-bar-options.model.d.ts +6 -0
  45. package/lib/components/ca-custom-scrollbar/models/scroll-event.model.d.ts +6 -0
  46. package/lib/components/ca-input/pipes/input-class.pipe.d.ts +1 -1
  47. package/lib/components/ca-input/pipes/label-class.pipe.d.ts +1 -1
  48. package/lib/components/ca-input-address-dropdown/ca-input-address-dropdown.component.d.ts +9 -7
  49. package/lib/components/ca-input-address-dropdown/enums/input-address-type-string.enum.d.ts +2 -1
  50. package/lib/components/ca-modal-button/ca-modal-button.component.d.ts +2 -4
  51. package/lib/components/ca-modal-button/enums/index.d.ts +1 -1
  52. package/lib/components/ca-modal-button/enums/modal-button-class-type.enum.d.ts +8 -0
  53. package/lib/components/ca-modal-button/enums/modal-button-size.enum.d.ts +2 -2
  54. package/lib/components/ca-modal-button/pipes/modal-button-class.pipe.d.ts +2 -2
  55. package/package.json +1 -1
  56. package/esm2022/lib/components/ca-logo-change/pipes/logo-slider.pipe.mjs +0 -17
  57. package/esm2022/lib/components/ca-modal-button/enums/modal-button-type.enum.mjs +0 -10
  58. package/lib/components/ca-logo-change/pipes/logo-slider.pipe.d.ts +0 -7
  59. package/lib/components/ca-modal-button/enums/modal-button-type.enum.d.ts +0 -8
@@ -17,8 +17,6 @@ import { CaInputComponent } from '../../../ca-input/ca-input.component';
17
17
  import { CaProfileImageComponent } from '../../../ca-profile-image/ca-profile-image.component';
18
18
  import { CaAppTooltipV2Component } from '../../../ca-app-tooltip-v2/ca-app-tooltip-v2.component';
19
19
  // pipes
20
- import { DropdownLoadStatusColorPipe } from '../../../../pipes/dropdown-load-status-color.pipe';
21
- import { FilterTrailerColorPipe } from '../../pipes/filter-trailer-color.pipe';
22
20
  import { FilterSelectedItemsPipe } from './pipes/filter-selected-items.pipe';
23
21
  import { GroupSelectionStatePipe } from './pipes/group-selection-state.pipe';
24
22
  import { SelectedUsersPipe } from './pipes/selected-users.pipe';
@@ -203,9 +201,11 @@ export class CaUserFilterComponent {
203
201
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CaUserFilterComponent, deps: [{ token: i1.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
204
202
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CaUserFilterComponent, isStandalone: true, selector: "app-ca-user-filter", inputs: { type: "type", isFilterActive: "isFilterActive", filterTitle: "filterTitle", hasLeftSideIcon: "hasLeftSideIcon", toDoSubType: "toDoSubType", userGroup: "userGroup", isSearchExpanded: "isSearchExpanded" }, ngImport: i0, template: "<ng-container *ngIf=\"type === 'userFilter' || type === 'moduleFilter'\">\n <div class=\"border-filter\"></div>\n <ng-container *ngIf=\"type === 'userFilter'\">\n <div\n class=\"search-input-header\"\n [class.activeSearch]=\"isSearchExpanded\"\n [class.inactiveSearch]=\"!isSearchExpanded\"\n [formGroup]=\"searchForm\"\n >\n <app-ca-input\n class=\"input-form-holder\"\n formControlName=\"search\"\n [inputConfig]=\"userSearch\"\n ></app-ca-input>\n </div>\n </ng-container>\n <div\n class=\"filter-user-holder d-flex justify-content-start align-items-start flex-column\"\n >\n <ng-container\n *ngFor=\"\n let group of userGroup;\n let indx = index;\n trackBy: trackByIdentity\n \"\n >\n <div\n class=\"user-items-holder d-flex align-items-center\"\n (click)=\"onGroupSwitchState(group)\"\n >\n <div class=\"checkbox-holder d-flex align-items-center\">\n <span\n class=\"checkbox-tooltip\"\n type=\"button\"\n ngbTooltip\n [mainCaTooltip]=\"\n (group | groupSelectionState).someSelected\n ? 'Clear selected'\n : 'Clear group'\n \"\n tooltipBackground=\"#CCCCCC\"\n tooltipColor=\"#2F2F2F\"\n position=\"bottom\"\n customClass=\"mt-1\"\n >\n <input\n class=\"table-checkbox\"\n type=\"checkbox\"\n id=\"checkbox{{ indx }}\"\n [checked]=\"(group | groupSelectionState).allSelected\"\n [indeterminate]=\"(group | groupSelectionState).someSelected\"\n (click)=\"onCheckboxSelect($event, group)\"\n />\n <label\n class=\"table-checkbox-label\"\n for=\"checkbox{{ indx }}\"\n ></label>\n </span>\n <div\n class=\"hide-user-group\"\n [ngClass]=\"{\n svg_rotate: !group.isOpen,\n rotate_back: group.isOpen,\n }\"\n >\n <svg-icon [src]=\"getSvgPath('arrowFilter')\"></svg-icon>\n </div>\n </div>\n <div\n class=\"user-title-text counter-padd-title d-flex align-items-center ca-font-bold\"\n >\n {{ group.label.toUpperCase() }}\n </div>\n <div\n class=\"user-filter-box d-flex flex-column justify-content-center align-items-center ca-font-bold ms-1\"\n >\n {{ group.items | filterSelectedItems }}\n </div>\n </div>\n <div\n class=\"user-group-holder\"\n [class.user-group-reduced-holder]=\"type === 'userFilter'\"\n [@closeForm]=\"group.isOpen\"\n >\n <ng-container\n *ngFor=\"\n let item of group.items | selectedUser;\n let indx2 = index;\n trackBy: trackByIdentity\n \"\n >\n <div [@inOutAnimation]=\"'in'\">\n <ng-container\n *ngTemplateOutlet=\"\n userTemplate;\n context: { item: item, indx: indx, indx2: indx2 }\n \"\n ></ng-container>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"(group | groupSelectionState).someSelected\">\n <div class=\"border-filter border-thrird-margin\"></div>\n </ng-container>\n\n <ng-container\n *ngFor=\"\n let item of group.items | selectedUser: true;\n let indx2 = index;\n trackBy: trackByIdentity\n \"\n >\n <div [@inOutAnimation]=\"'in'\">\n <ng-container\n *ngTemplateOutlet=\"\n userTemplate;\n context: { item: item, indx: indx, indx2: indx2 }\n \"\n ></ng-container>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </div>\n <ng-container *ngIf=\"userGroup?.length !== selectedUserGroup?.length\">\n <div class=\"border-filter\"></div>\n </ng-container>\n</ng-container>\n\n<ng-template #userTemplate let-item=\"item\" let-indx=\"indx\" let-indx2=\"indx2\">\n <div\n class=\"d-flex\"\n [ngClass]=\"\n item.isSelected\n ? 'selected-user-holder justify-content-start align-items-start flex-column'\n : 'user-frame-holder align-items-center'\n \"\n >\n <ng-container *ngIf=\"!item.hidden\">\n <div\n (click)=\"handleSelectedUsers(item, indx, indx2)\"\n class=\"user-main-holder user-frame-holder d-flex align-items-center justify-content-center\"\n [class.user_svg_icon_holder]=\"type !== 'userFilter'\"\n >\n <ng-container *ngIf=\"type === 'userFilter'; else svgIconTemplate\">\n <div class=\"user-profile-img d-flex align-items-center\">\n <ng-container *ngIf=\"!item.avatar; else avatarTemplate\">\n <app-ca-profile-image\n [indx]=\"indx2\"\n [textShortName]=\"getInitials(item.name)\"\n [size]=\"'small'\"\n >\n </app-ca-profile-image>\n </ng-container>\n\n <ng-template #avatarTemplate>\n <div\n class=\"user_avatar\"\n style.background-image=\"url('{{ item.avatar }}')\"\n ></div>\n </ng-template>\n </div>\n </ng-container>\n <ng-template #svgIconTemplate>\n <div class=\"type-icon d-flex align-items-center\">\n <svg-icon src=\"{{ item.icon }}\"></svg-icon>\n </div>\n </ng-template>\n <div\n class=\"d-flex align-items-center\"\n [ngClass]=\"item.isSelected ? 'selected-user-frame' : 'user-frame'\"\n [class.user-frame-no-icon]=\"type !== 'userFilter'\"\n >\n <div class=\"selected-name-text d-flex align-items-center\">\n <span> {{ item.name }} </span>\n </div>\n <ng-container *ngIf=\"item?.count; else noCount\">\n <span\n class=\"count-holder d-inline-flex justify-content-center align-items-center justify-content-center\"\n [class.activeCount]=\"item.isSelected\"\n >\n {{ item.count }}\n </span>\n </ng-container>\n\n <ng-template #noCount>\n <ng-container\n *ngTemplateOutlet=\"noCountTemplate; context: { item: item }\"\n ></ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"item.isSelected\">\n <div\n (click)=\"removeFromSelectedUser(item, indx, indx2)\"\n class=\"icon-delete d-flex justify-content-center align-items-center\"\n [class.counterMargin]=\"item.count\"\n >\n <div class=\"icon-delete-hold\"></div>\n <svg-icon [src]=\"getSvgPath('removeSelectedValue')\"></svg-icon>\n </div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </div>\n</ng-template>\n<!-- if no count found -->\n<ng-template #noCountTemplate let-item=\"item\">\n <ng-container *ngIf=\"!item.count; else noCounter\">\n <div class=\"selected-icon d-flex justify-content-center align-items-center\">\n <svg-icon [src]=\"getSvgPath('iconConfirm')\"></svg-icon>\n </div>\n </ng-container>\n <ng-template #noCounter>\n <div class=\"counter-holder activeCounter\">0</div>\n </ng-template>\n</ng-template>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap\";@import\"https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css\";.ca-font-thin{font-weight:100!important}.ca-font-extra-light{font-weight:200!important}.ca-font-light{font-weight:300!important}.ca-font-regular{font-weight:400!important}.ca-font-medium{font-weight:500!important}.ca-font-semi-bold{font-weight:600!important}.ca-font-bold{font-weight:700!important}.ca-font-extra-bold{font-weight:800!important}.ca-font-black{font-weight:900!important}.pickup-delivery-popover{top:-38px!important;max-width:340px!important}.pickup-delivery-popover.bs-popover-top{top:auto!important;bottom:-38px!important}.pickup-delivery-popover.bs-popover-top .load-component .assigned-load-holder{order:3;margin-top:4px;margin-bottom:0!important}.pickup-delivery-popover.bs-popover-top .load-component .statusBar{order:2;margin-top:4px}.pickup-delivery-popover.bs-popover-top .load-component .animation-three-tabs{order:1}.gps_dropdown_popover{top:-38px;max-width:494px}.gps_dropdown_popover .popover-body{padding:0}.table-progress-popover{background-color:unset!important;margin-left:-10px}.table-progress-popover .progress-dropdown{margin-top:-6px;width:260px;height:200px;background:#2f2f2f;border-radius:3px;padding:8px;box-shadow:0 0 4px #00000026;overflow:hidden;-webkit-animation:progressAnimation .25s ease-in-out;animation:progressAnimation .25s ease-in-out}.table-progress-popover .progress-dropdown .progress-header .progress-title{font-size:18px;font-weight:600;color:#dadada}.table-progress-popover .progress-dropdown .progress-header .progress-title span{font-weight:400}.table-progress-popover .progress-dropdown .progress-header .progress-total{font-size:14px;line-height:17px;color:#dadada}.table-progress-popover .progress-dropdown .table-progress-bar-container{width:100%;height:8px;margin-top:6px;border-radius:2px;overflow:hidden}.table-progress-popover .progress-dropdown .table-progress-bar-container .table-progress-bar{height:100%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-dual-info-container .progress-info-container{width:50%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container{margin-top:10px}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-title{margin-bottom:2px;font-size:11px;font-weight:700;line-height:14px;color:#ffffffb2}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-text{font-size:14px;line-height:18px;color:#dadada}.table-progress-popover .progress-dropdown.credit-dropdown{height:100px}@-webkit-keyframes progressAnimation{0%{height:0px}to{height:220px}}@keyframes progressAnimation{0%{height:0px}to{height:220px}}ngb-popover-window{padding:unset!important;border:unset!important}ngb-popover-window .popover-arrow{display:none!important}ngb-popover-window .popover-body{padding:unset!important}.dispatch-note .popover-body{position:relative;top:-4px;left:-4px}.tooltip{font-size:12px;position:relative}.tooltip.show{opacity:.83}.tooltip.fade:after,.tooltip.fade:before{transform:translateY(-10px);transition:all .15s ease-in-out}.tooltip.fade:hover:after,.tooltip.fade:hover:before{opacity:1;transform:translate(0)}.tooltip-inner{padding:4px 10px;white-space:nowrap;max-width:none;border-radius:3px}.tooltip-inner:empty{padding:0}.placeholder-delete .tooltip-inner{background-color:#f66}.placeholder-delete .arrow:before{border-top-color:#f66}.custom-popup-owners-for-flag .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(126%) translate(-50%)!important;width:130px;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-for-flag .arrow{bottom:-18%;transform:rotate(180deg);left:calc(50% + 2.7rem)}.custom-popup-owners-for-flag .tooltip{opacity:.93!important;width:0}.custom-popup-owners{z-index:999}.custom-popup-owners .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners .tooltip{transform:translateY(-61px)!important}.custom-popup-owners-year{z-index:999}.custom-popup-owners-year .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners-year .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners-year .tooltip{transform:translate(70px,-61px)!important}.custom-popup-owners-info .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-100%) translate(-10%);width:200px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;margin-top:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info .tooltip{opacity:.93;width:0}.custom-popup-owners-info .arrow{display:none}.custom-popup-owners-info #phone-inside{position:relative;right:26px;bottom:0}.custom-popup-owners-info-at .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-108%) translate(-7%);width:270px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info-at .tooltip{opacity:1;width:0}.custom-popup-owners-info-at .arrow{display:none}.custom-popup-owners-for-tag .tooltip-inner{color:#3b3b3b;background-color:#fff;width:100px;border-radius:3px;box-shadow:0 0 3px #0003!important}.custom-popup-owners-for-tag .tooltip{top:5px!important}.custom-popup-owners-for-tag .arrow{bottom:-24%}.align-items-flex-start{justify-content:center;align-items:center}.align-items-flex-end{display:flex;justify-content:center;flex-direction:column;align-self:flex-end;align-items:flex-start}.label-add{align-self:flex-start}.fadeInLoad{animation:fadeInLoad .25s}@keyframes fadeInLoad{0%{opacity:0}to{opacity:1}}.fadeIn{opacity:1;-webkit-transition:.25s;-moz-transition:.25s;-o-transition:.25s;transition:.25s}.thisText:hover .fadeIn{opacity:0}.fadeInLoad{animation-name:example;animation-duration:.25s}@keyframes example{0%{transform:scale(.5)}to{transform:scale(1)}}.tooltip.tooltip-table-icons{left:12px!important;opacity:1}.tooltip.tooltip-table-icons .arrow{display:none!important}.tooltip.tooltip-table-icons .tooltip-inner{border-radius:0 50px 50px;background:#28529f}.tooltip.show{opacity:1;animation:fadeIn ease .5s!important;-webkit-animation:fadeIn ease .5s!important;-moz-animation:fadeIn ease .5s!important;-o-animation:fadeIn ease .5s!important;-ms-animation:fadeIn ease .5s!important}.ta-tooltip{position:absolute;font-size:12px;text-align:center;color:#fff;line-height:22px;z-index:999999!important;opacity:0;white-space:nowrap;transform:scale(.7)}.ta-tooltip.ta-tooltip-show{opacity:.85;transform:scale(1);padding:0 12px}.ta-tooltip.ta-tooltip-bottom-right,.ta-tooltip.ta-tooltip-bottom-right-corner{transform-origin:top left;border-radius:0 15px 15px}.ta-tooltip.ta-tooltip-bottom-left{transform-origin:top right;border-radius:15px 0 15px 15px}@keyframes scaleItem{0%{transform:scale(.4)}to{transform:scale(1)}}.app-ca-main-tooltip{pointer-events:none}.app-ca-main-tooltip .tooltip-inner{padding:0;background-color:transparent;pointer-events:none}.app-ca-main-tooltip .tooltip-inner .tooltip-holder{display:flex;font-size:11px;font-weight:700;border-radius:2px;padding:2px 8px;animation:scaleItem .3s;white-space:normal}.app-ca-main-tooltip .tooltip-inner .tooltip-holder:empty{padding:0}.tooltip-arrow{display:none!important}.trucks.semitruck svg path,.trucks.semisleeper svg path,.trucks.flatbed svg path,.trucks.stepdeck svg path,.trucks.lowboyrgn svg path,.trucks.chassis svg path,.trucks.conestoga svg path,.trucks.sidekit svg path,.trucks.container svg path,.trailers.semitruck svg path,.trailers.semisleeper svg path,.trailers.flatbed svg path,.trailers.stepdeck svg path,.trailers.lowboyrgn svg path,.trailers.chassis svg path,.trailers.conestoga svg path,.trailers.sidekit svg path,.trailers.container svg path{fill:#92b1f5}.trucks.boxtruck svg path,.trucks.reefertruck svg path,.trucks.cargovan svg path,.trucks.dryvan svg path,.trucks.reefer svg path,.trailers.boxtruck svg path,.trailers.reefertruck svg path,.trailers.cargovan svg path,.trailers.dryvan svg path,.trailers.reefer svg path{fill:#fbc88b}.trucks.dumptruck svg path,.trucks.cementtruck svg path,.trucks.garbagetruck svg path,.trucks.enddump svg path,.trucks.bottomdump svg path,.trucks.hopper svg path,.trucks.tanker svg path,.trucks.pneumatictanker svg path,.trailers.dumptruck svg path,.trailers.cementtruck svg path,.trailers.garbagetruck svg path,.trailers.enddump svg path,.trailers.bottomdump svg path,.trailers.hopper svg path,.trailers.tanker svg path,.trailers.pneumatictanker svg path{fill:#ed9292}.trucks.towtruck svg path,.trucks.carhauler svg path,.trucks.spotter svg path,.trucks.carhaulerstigner svg path,.trailers.towtruck svg path,.trailers.carhauler svg path,.trailers.spotter svg path,.trailers.carhaulerstigner svg path{fill:#86c9c3}.trucks .svgtext-template-text,.trailers .svgtext-template-text{color:#fff;transition:color .3s ease-in-out}.colors .black svg #droplet{fill:#6c6c6c}.colors .brown svg #droplet{fill:#a1887f}.colors .darkgreen svg #droplet{fill:#4db6a2}.colors .lightgreen svg #droplet{fill:#81c784}.colors .darkblue svg #droplet{fill:#546fd2}.colors .lightblue svg #droplet{fill:#64b5f6}.colors .gray svg #droplet{fill:#aaa}.colors .purple svg #droplet{fill:#ba68c8}.colors .gold svg #droplet{fill:#bcad79}.colors .silver svg #droplet{fill:#dadada}.colors .red svg #droplet{fill:#f96b69}.colors .pink svg #droplet{fill:#f26ec2}.colors .white svg #droplet{fill:#f1f1f1}.colors .orange svg #droplet{fill:#ff8a65}.colors .yellow svg #droplet{fill:#ffd54f}.colors:hover{transition:all .3s ease-in-out}.colors:hover .black svg #droplet{fill:#3c3c3c}.colors:hover .brown svg #droplet{fill:#8d6e63}.colors:hover .darkgreen svg #droplet{fill:#26a690}.colors:hover .lightgreen svg #droplet{fill:#66bb6a}.colors:hover .darkblue svg #droplet{fill:#304fc1}.colors:hover .lightblue svg #droplet{fill:#42a5f5}.colors:hover .gray svg #droplet{fill:#919191}.colors:hover .purple svg #droplet{fill:#ab47bc}.colors:hover .gold svg #droplet{fill:#aa9c6e}.colors:hover .silver svg #droplet{fill:#b7b7b7}.colors:hover .red svg #droplet{fill:#ef5350}.colors:hover .pink svg #droplet{fill:#fa4daa}.colors:hover .white svg #droplet{fill:#fff}.colors:hover .orange svg #droplet{fill:#ff7043}.colors:hover .yellow svg #droplet{fill:#ffca28}.text-color-black{color:#424242!important}.text-color-black::-moz-selection{background:#42424233!important;color:#424242!important}.text-color-black::selection{background:#42424233!important;color:#424242!important}.text-color-black-2{color:#2f2f2f!important}.text-color-black-2::-moz-selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-black-2::selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-muted{color:#919191!important}.text-color-muted::-moz-selection{background:#91919133!important;color:#919191!important}.text-color-muted::selection{background:#91919133!important;color:#919191!important}.text-color-green{color:#56b4ac!important}.text-color-green::-moz-selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-green::selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-blue-13{color:#6692f1!important}.text-color-blue-13::-moz-selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-13::selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-18{color:#3b73ed!important}.text-color-blue-18::-moz-selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-blue-18::selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-red-10{color:#e66767!important}.text-color-red-10::-moz-selection{background:#e6676733!important;color:#e66767!important}.text-color-red-10::selection{background:#e6676733!important;color:#e66767!important}.text-color-light-grey{color:#e5e5e5!important}.text-color-light-grey::-moz-selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey::selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey-2{color:#aaa!important}.text-color-light-grey-2::-moz-selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-2::selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-6{color:#ccc!important}.text-color-light-grey-6::-moz-selection{color:#ccc!important;background:#aaa3!important}.text-color-light-grey-6::selection{color:#ccc!important;background:#aaa3!important}.text-color-white{color:#dadada!important}.text-color-white::-moz-selection{color:#dadada!important;background:#fff3!important}.text-color-white::selection{color:#dadada!important;background:#fff3!important}.text-color-white-4{color:#ffffffb2!important}.text-color-white-4::-moz-selection{color:#ffffffb2!important;background:#fff3!important}.text-color-white-4::selection{color:#ffffffb2!important;background:#fff3!important}.text-color-dark-grey{color:#6c6c6c!important}.text-color-dark-grey::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-dark-grey::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2{color:#6c6c6c!important}.text-color-bw6-2::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9{color:#dadada!important}.text-color-bw-9::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-grey{color:#919191!important}.text-color-grey::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey::selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::-moz-selection,.text-color-grey .marker-bold-text::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::selection,.text-color-grey .marker-bold-text::selection{color:#919191!important;background:#91919133!important}.text-size-11{font-size:11px!important;line-height:14px!important}.text-size-14{font-size:14px!important;line-height:18px!important}.text-size-16{font-size:16px!important;line-height:19px!important}.text-size-18{font-size:18px!important;line-height:22px!important}.text-size-26{font-size:26px!important;line-height:32px!important}.text-size-28{font-size:28px!important;line-height:34px!important}@keyframes dropdown{0%{margin-top:20px;visibility:hidden;opacity:0}to{opacity:1;margin-top:10px;visibility:visible!important}}@keyframes dropup{0%{margin-top:-19px;visibility:hidden;opacity:0}to{margin-top:inherit;visibility:visible!important}}.svg-fill-black svg path{fill:#424242!important}.svg-fill-muted svg path{fill:#919191!important}.svg-fill-bw-9 svg path{fill:#dadada!important}.svg-fill-light-grey-2 svg path{fill:#aaa!important}.svg-fill-light-grey-6 svg path{fill:#ccc!important}.svg-fill-blue-13 svg path{fill:#6692f1!important}.svg-fill-blue-19 svg path{fill:#92b1f5!important}.svg-fill-blue-26 svg path{fill:#4dc5eb!important}.svg-hover-muted svg path{transition:all .3s ease-in-out}.svg-hover-muted:hover svg path{fill:#919191!important}.svg-hover-black svg path{transition:all .3s ease-in-out}.svg-hover-black:hover svg path{fill:#424242!important}.svg-hover-blue-15 svg path{transition:all .3s ease-in-out}.svg-hover-blue-15:hover svg path{fill:#0b49d1!important}.svg-hover-bw6-2 svg path{transition:all .3s ease-in-out}.svg-hover-bw6-2:hover svg path{fill:#6c6c6c!important}.svg-hover-trash-red svg path{transition:all .3s ease-in-out}.svg-hover-trash-red:hover svg path{fill:#ff5050!important}.svg-hover-red-14 svg path{transition:all .3s ease-in-out}.svg-hover-red-14:hover svg path{fill:#c20c0c!important}.svg-size-12 svg{width:12px;height:12px}.svg-size-14 svg{width:14px;height:14px}.svg-size-16 svg{width:16px;height:16px}.svg-size-18 svg{width:18px;height:18px}.svg-size-44-16 svg{width:44px;height:16px}*{margin:0;font-family:Montserrat,sans-serif}html{scroll-behavior:auto!important}.gm-style-iw-chr,.gm-style-iw-tc{display:none}.gm-style .gm-style-iw-c{border-radius:0}.gm-style-iw{overflow-y:auto!important;overflow-x:hidden!important}.gm-style-iw>div{overflow:visible!important}.infoWindow{overflow:hidden!important}.gm-style-iw-d,.gm-style-iw.gm-style-iw-c{max-height:350px!important}::ng-deep .popover{--bs-popover-border-width: 0;--bs-popover-body-padding-y: 0;--bs-popover-body-padding-x: 0}::ng-deep .popover .popover-arrow{display:none}.border-filter{width:100%;height:1px;border-radius:1px;margin:4px 0;background-color:#424242}.type-icon svg{width:18px;height:18px}.type-icon svg path{fill:#919191!important}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-thumb{border:4px solid #dadada!important;border-radius:1px}::-webkit-scrollbar-track{width:4px;background-color:#dadada33}.border-thrird-margin{margin:6px 0}.checkbox-holder{padding-top:2px}.search-input-header{width:100%!important;background:#424242!important;color:#aaa!important;margin:4px 0;border-radius:2px;transition:transform .3s}.search-input-header .input-form-holder .input-custom-group .input-control{height:22px!important;background-color:#424242!important;color:#dadada}.search-input-header .input-form-holder .input-custom-group .input-control.has-placeholderIcon{padding-left:29px}.search-input-header .input-form-holder .input-custom-group .input-icon svg-icon svg{width:14px;height:14px}.search-input-header .input-form-holder .input-custom-group .input-icon:after{left:18px}.search-input-header .input-form-holder .input-custom-group .input-label{top:2px!important}.search-input-header .input-form-holder .input-custom-group .input-label.input-placeholderIcon-on{left:29px}.search-input-header .input-form-holder .input-custom-group .input-clear{top:10px!important}.user-title-text{line-height:14px;font-size:11px;color:#fff;padding:0 4px;box-sizing:border-box}.user-title-text.sort-text{border-radius:1px;transition:background .2s ease-in-out}.user-title-text.sort-text .sort-arrow{transform:rotate(0);transition:transform .2s}.user-title-text.sort-text .sort-arrow.rotate{transform:rotate(180deg)}.user-title-text.sort-text:hover{cursor:pointer;background:#1d1d1d}.user-title-text.counter-padd-title{padding-left:4px;padding-right:6px}.filter-user-holder{position:relative;width:100%;background-color:#2f2f2f;padding:0;box-sizing:border-box;overflow-y:auto;-webkit-user-select:none;user-select:none;transition:transform .2s linear}.filter-user-holder .user-group-holder{width:100%;max-height:200px;overflow-y:auto}.filter-user-holder .user-group-reduced-holder{max-height:112px}.filter-user-holder .user-items-holder{position:relative;width:100%;padding-left:8px;cursor:pointer}.filter-user-holder .hide-user-group{position:absolute;right:6px;top:0;height:13px;width:13px}.filter-user-holder .hide-user-group svg-icon{height:8px;width:13px}.filter-user-holder .hide-user-group svg-icon svg{height:8px;width:13px}.filter-user-holder .hide-user-group svg-icon svg path{fill:#b7b7b7}.filter-user-holder .svg_rotate svg{transform:rotate(180deg);transition:transform .2s ease-in-out}.filter-user-holder .rotate_back svg{transform:rotate(0);transition:transform .2s ease-in-out}.filter-user-holder .user-frame-no-icon{padding-left:6px!important}.filter-user-holder .search-container{width:100%;margin-bottom:10px;background:#424242}.filter-user-holder .search-container input{width:100%;background:#424242;color:#aaa}.filter-user-holder .user-filter-box{min-width:18px;height:18px;padding:4px;border-radius:60px;background-color:#424242;font-size:11px;color:#dadada;line-height:14px}.filter-user-holder .user-frame-holder{position:relative;width:100%;opacity:1;transition:transform .2s linear}.filter-user-holder .user-frame-holder .user_svg_icon_holder{padding-left:6px}.filter-user-holder .user-frame-holder .user-main-holder{width:100%;padding-right:4px;transition:transform .2s linear;border-radius:2px}.filter-user-holder .user-frame-holder .user-main-holder .selected-user-frame{position:relative;width:100%;height:26px;padding-right:4px;padding-left:30px;box-sizing:border-box;font-size:14px;font-weight:700;color:#dadada;line-height:26px;margin-bottom:2px;-webkit-user-select:none;user-select:none}.filter-user-holder .user-frame-holder .user-main-holder .selected-user-frame:hover .icon-delete{visibility:visible;opacity:1}.filter-user-holder .user-frame-holder .user-main-holder .selected-user-frame .selected-icon{width:18px;height:18px;top:4px;right:4px}.filter-user-holder .user-frame-holder .user-main-holder .selected-user-frame .selected-icon svg-icon svg{width:12.74px!important;height:9.85px!important}.filter-user-holder .user-frame-holder .user-main-holder .selected-user-frame .selected-icon svg-icon svg path{fill:#6f9ee0!important}.filter-user-holder .user-frame-holder .user-main-holder .selected-user-frame .icon-delete{width:21px;height:23px;visibility:hidden;opacity:0;top:2.5px;right:4px;border-radius:1px;transition:transform .2s ease-in-out}.filter-user-holder .user-frame-holder .user-main-holder .selected-user-frame .icon-delete svg-icon svg{visibility:visible;width:10.63px!important;height:10.63px!important}.filter-user-holder .user-frame-holder .user-main-holder .selected-user-frame .icon-delete svg-icon svg path{fill:#e57373!important}.filter-user-holder .user-frame-holder .user-main-holder .selected-user-frame .icon-delete:hover svg-icon svg path{fill:#e57373!important}.filter-user-holder .user-frame-holder .user-main-holder .selected-user-frame::-moz-selection{background:#536bc220;color:#536bc2}.filter-user-holder .user-frame-holder .user-main-holder .selected-user-frame::selection{background:#536bc220;color:#536bc2}.filter-user-holder .user-frame-holder .user-main-holder:hover{cursor:pointer;background-color:#424242}.filter-user-holder .user-frame-holder .user-main-holder.state-main-holder{height:26px}.filter-user-holder .user-frame-holder .user-frame{position:relative;width:100%;min-height:26px;border-radius:2px;padding-left:30px;box-sizing:border-box;font-size:14px;font-weight:400;color:#dadada;line-height:18px;margin-bottom:2px}.filter-user-holder .user-frame-holder .user-frame::-moz-selection{background:#6c6c6c20;color:#6c6c6c}.filter-user-holder .user-frame-holder .user-frame::selection{background:#6c6c6c20;color:#6c6c6c}.filter-user-holder .user-frame-holder .count-holder{position:absolute;right:0;padding:0 6px;height:18px;min-width:18px;min-height:18px;font-weight:600;font-size:11px;line-height:14px;color:#ffffffb2;background-color:#424242;border-radius:9px}.filter-user-holder .user-frame-holder .count-holder.activeCount{background-color:#3b73ed;color:#dadada}.filter-user-holder .user-frame-holder .user-profile-img{position:absolute;left:6px;top:0;height:26px;width:18px}.filter-user-holder .user-frame-holder .user-profile-img .user_avatar{width:18px;height:18px;background-repeat:no-repeat;background-position:center;background-size:cover;border-radius:100%}.filter-user-holder .user-frame-holder .user-profile-img .user_avatar.driver_avatar{height:18px;width:15px;border-radius:2px}.filter-user-holder .user-frame-holder.hidenItem{scale:.7;height:0px;background-color:#424242;opacity:0;pointer-events:none}.selected-user-holder{width:100%;box-sizing:border-box;transition:height .2s linear}.selected-user-holder .user-frame-no-icon{padding-left:6px!important}.selected-user-holder .user_svg_icon_holder{padding-left:6px}.selected-user-holder .user-main-holder{position:relative;width:100%;height:28px;transition:height .2s linear;cursor:pointer;border-radius:2px}.selected-user-holder .user-main-holder .selected-user-frame{position:relative;width:100%;height:26px;padding-right:4px;padding-left:30px;box-sizing:border-box;font-size:14px;font-weight:700;color:#dadada;line-height:26px;margin-bottom:2px;-webkit-user-select:none;user-select:none}.selected-user-holder .user-main-holder .selected-user-frame:hover .icon-delete{visibility:visible;opacity:1}.selected-user-holder .user-main-holder .selected-user-frame .selected-icon{width:18px;height:18px;top:4px;right:4px}.selected-user-holder .user-main-holder .selected-user-frame .selected-icon svg-icon svg{width:12.74px!important;height:9.85px!important}.selected-user-holder .user-main-holder .selected-user-frame .selected-icon svg-icon svg path{fill:#6f9ee0!important}.selected-user-holder .user-main-holder .selected-user-frame .icon-delete{width:21px;height:23px;visibility:hidden;opacity:0;top:2.5px;right:4px;border-radius:1px;transition:transform .2s ease-in-out}.selected-user-holder .user-main-holder .selected-user-frame .icon-delete svg-icon svg{visibility:visible;width:10.63px!important;height:10.63px!important}.selected-user-holder .user-main-holder .selected-user-frame .icon-delete svg-icon svg path{fill:#e57373!important}.selected-user-holder .user-main-holder .selected-user-frame .icon-delete:hover svg-icon svg path{fill:#e57373!important}.selected-user-holder .user-main-holder .selected-user-frame::-moz-selection{background:#536bc220;color:#536bc2}.selected-user-holder .user-main-holder .selected-user-frame::selection{background:#536bc220;color:#536bc2}.selected-user-holder .user-main-holder .selected-name-text{width:100%!important;line-height:26px}.selected-user-holder .user-main-holder .selected-name-text span{width:99%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.selected-user-holder .user-main-holder .count-holder{position:absolute;right:5px;padding:0 6px;height:18px;min-width:18px;min-height:18px;font-weight:600;font-size:11px;line-height:14px;color:#ffffffb2;background-color:#424242;border-radius:9px;visibility:visible}.selected-user-holder .user-main-holder .count-holder.activeCount{background-color:#3b73ed;color:#dadada}.selected-user-holder .user-main-holder:hover{cursor:pointer;background-color:#424242}.selected-user-holder .user-main-holder:hover .count-holder{visibility:hidden}.selected-user-holder .user-main-holder:hover .user-profile-img svg-icon svg path{fill:#dadada}.selected-user-holder .user-main-holder:hover .selected-icon{visibility:hidden}.selected-user-holder .user-main-holder.removeClass{scale:.7;height:0px;background-color:#424242;opacity:0;pointer-events:none}.selected-user-holder .user-main-holder .user-profile-img{position:absolute;left:6px;top:0;height:26px;width:18px}.selected-user-holder .user-main-holder .user-profile-img .user_avatar{width:18px;height:18px;background-repeat:no-repeat;background-position:center;background-size:cover;border-radius:100%}.selected-user-holder .user-main-holder .user-profile-img .user_avatar.driver_avatar{height:18px;width:15px;border-radius:2px}\n"], dependencies: [{ kind: "ngmodule", type:
205
203
  // modules
206
- CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: HttpClientModule }, { kind: "ngmodule", type: AngularSvgIconModule }, { kind: "component", type: i3.SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "applyCss", "svgClass", "class", "viewBox", "svgAriaLabel", "svgStyle"] }, { kind: "component", type:
204
+ CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: HttpClientModule }, { kind: "ngmodule", type: AngularSvgIconModule }, { kind: "component", type: i3.SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "applyCss", "svgClass", "class", "viewBox", "svgAriaLabel", "svgStyle"] }, { kind: "ngmodule", type: NgbTooltipModule }, { kind: "directive", type: i4.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:
207
205
  // components
208
- CaInputComponent, selector: "app-ca-input", inputs: ["inputConfig", "incorrectValue", "selectedDropdownLabelColor", "template"], outputs: ["incorrectEvent", "blurInput", "focusInput", "change", "commandEvent", "clear", "showHideDropdown", "dropDownKeyNavigation"] }, { kind: "component", type: CaProfileImageComponent, selector: "app-ca-profile-image", inputs: ["indx", "avatarImg", "avatarColor", "textShortName", "name", "isRound", "size", "height", "fontSize", "isHoverEffect"] }, { kind: "component", type: CaAppTooltipV2Component, selector: "mainCaTooltip, [mainCaTooltip]", inputs: ["mainCaTooltip", "position", "openTooltipDelay", "tooltipBackground", "tooltipColor", "tooltipTextAlign", "tooltipMarginTop", "disableTooltip"] }, { kind: "ngmodule", type: NgbTooltipModule }, { kind: "directive", type: i4.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "pipe", type: FilterSelectedItemsPipe, name: "filterSelectedItems" }, { kind: "pipe", type: GroupSelectionStatePipe, name: "groupSelectionState" }, { kind: "pipe", type: SelectedUsersPipe, name: "selectedUser" }], animations: [
206
+ CaInputComponent, selector: "app-ca-input", inputs: ["inputConfig", "incorrectValue", "selectedDropdownLabelColor", "template"], outputs: ["incorrectEvent", "blurInput", "focusInput", "change", "commandEvent", "clear", "showHideDropdown", "dropDownKeyNavigation"] }, { kind: "component", type: CaProfileImageComponent, selector: "app-ca-profile-image", inputs: ["indx", "avatarImg", "avatarColor", "textShortName", "name", "isRound", "size", "height", "fontSize", "isHoverEffect"] }, { kind: "component", type: CaAppTooltipV2Component, selector: "mainCaTooltip, [mainCaTooltip]", inputs: ["mainCaTooltip", "position", "openTooltipDelay", "tooltipBackground", "tooltipColor", "tooltipTextAlign", "tooltipMarginTop", "disableTooltip"] }, { kind: "pipe", type:
207
+ // pipes
208
+ FilterSelectedItemsPipe, name: "filterSelectedItems" }, { kind: "pipe", type: GroupSelectionStatePipe, name: "groupSelectionState" }, { kind: "pipe", type: SelectedUsersPipe, name: "selectedUser" }], animations: [
209
209
  inOutAnimation('inOutAnimation'),
210
210
  showAnimation('showAnimation'),
211
211
  closeForm('closeForm'),
@@ -219,17 +219,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
219
219
  ReactiveFormsModule,
220
220
  HttpClientModule,
221
221
  AngularSvgIconModule,
222
+ NgbTooltipModule,
222
223
  // components
223
224
  CaInputComponent,
224
225
  CaProfileImageComponent,
225
226
  CaAppTooltipV2Component,
226
- NgbTooltipModule,
227
227
  // pipes
228
- DropdownLoadStatusColorPipe,
229
- FilterTrailerColorPipe,
230
228
  FilterSelectedItemsPipe,
231
229
  GroupSelectionStatePipe,
232
- SelectedUsersPipe,
230
+ SelectedUsersPipe
233
231
  ], animations: [
234
232
  inOutAnimation('inOutAnimation'),
235
233
  showAnimation('showAnimation'),
@@ -250,4 +248,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
250
248
  }], isSearchExpanded: [{
251
249
  type: Input
252
250
  }] } });
253
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtdXNlci1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtZmlsdGVycy9jb21wb25lbnRzL2NhLXVzZXItZmlsdGVyL2NhLXVzZXItZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWZpbHRlcnMvY29tcG9uZW50cy9jYS11c2VyLWZpbHRlci9jYS11c2VyLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFHTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxtQkFBbUIsR0FHcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQyxVQUFVO0FBQ1YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsYUFBYTtBQUNiLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFdEUsUUFBUTtBQUNSLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxr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WUFDaEMsYUFBYSxDQUFDLGVBQWUsQ0FBQztZQUM5QixTQUFTLENBQUMsV0FBVyxDQUFDO1NBQ3ZCOzs0RkFFVSxxQkFBcUI7a0JBOUJqQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLGlCQUNELGlCQUFpQixDQUFDLElBQUksV0FHNUI7d0JBQ1AsVUFBVTt3QkFDVixZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsZ0JBQWdCO3dCQUNoQixRQUFRO3dCQUNSLDJCQUEyQjt3QkFDM0Isc0JBQXNCO3dCQUN0Qix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsaUJBQWlCO3FCQUNsQixjQUNXO3dCQUNWLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQzt3QkFDaEMsYUFBYSxDQUFDLGVBQWUsQ0FBQzt3QkFDOUIsU0FBUyxDQUFDLFdBQVcsQ0FBQztxQkFDdkI7dUZBR1EsSUFBSTtzQkFBWixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE9uRGVzdHJveSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFVudHlwZWRGb3JtQnVpbGRlcixcbiAgVW50eXBlZEZvcm1Hcm91cCxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbi8vIG1vZHVsZXNcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBOZ2JUb29sdGlwTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgQW5ndWxhclN2Z0ljb25Nb2R1bGUgfSBmcm9tICdhbmd1bGFyLXN2Zy1pY29uJztcblxuLy8gYW5pbWF0aW9uc1xuaW1wb3J0IHsgaW5PdXRBbmltYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hbmltYXRpb25zL2luLW91dC5hbmltYXRpb24nO1xuaW1wb3J0IHsgc2hvd0FuaW1hdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2FuaW1hdGlvbnMvc2hvdy5hbmltYXRpb24nO1xuXG4vLyBlbnVtc1xuaW1wb3J0IHsgTG9hZFN0YXR1c0VudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9lbnVtcy9sb2FkLXN0YXR1cy5lbnVtJztcbmltcG9ydCB7IFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtIH0gZnJvbSAnLi4vLi4vLi4vY2EtbWFwL2VudW1zL3Rvb2xiYXItZmlsdGVyLXN0cmluZy5lbnVtJztcblxuLy8gbW9kZWxzXG5pbXBvcnQgeyBmaWx0ZXJPdXRwdXQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZmlsdGVyLW91dHB1dC5tb2RlbCc7XG5pbXBvcnQgeyBmaWx0ZXJPdXRwdXRXaXRoUGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2ZpbHRlci1vdXRwdXQtcGFyYW1zLm1vZGVsJztcbmltcG9ydCB7IFVzZXJEYXRhIH0gZnJvbSAnLi9tb2RlbHMvY2EtdXNlci1kYXRhLm1vZGVsJztcbmltcG9ydCB7IFVzZXJHcm91cCB9IGZyb20gJy4vbW9kZWxzL2NhLXVzZXItZ3JvdXAubW9kZWwnO1xuXG4vLyBjb21wb25lbnRzXG5pbXBvcnQgeyBDYUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY2EtaW5wdXQvY2EtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IENhUHJvZmlsZUltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY2EtcHJvZmlsZS1pbWFnZS9jYS1wcm9maWxlLWltYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NhLWFwcC10b29sdGlwLXYyL2NhLWFwcC10b29sdGlwLXYyLmNvbXBvbmVudCc7XG5cbi8vIHBpcGVzXG5pbXBvcnQgeyBEcm9wZG93bkxvYWRTdGF0dXNDb2xvclBpcGUgfSBmcm9tICcuLi8uLi8uLi8uLi9waXBlcy9kcm9wZG93bi1sb2FkLXN0YXR1cy1jb2xvci5waXBlJztcbmltcG9ydCB7IEZpbHRlclRyYWlsZXJDb2xvclBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy9maWx0ZXItdHJhaWxlci1jb2xvci5waXBlJztcbmltcG9ydCB7IEZpbHRlclNlbGVjdGVkSXRlbXNQaXBlIH0gZnJvbSAnLi9waXBlcy9maWx0ZXItc2VsZWN0ZWQtaXRlbXMucGlwZSc7XG5pbXBvcnQgeyBHcm91cFNlbGVjdGlvblN0YXRlUGlwZSB9IGZyb20gJy4vcGlwZXMvZ3JvdXAtc2VsZWN0aW9uLXN0YXRlLnBpcGUnO1xuaW1wb3J0IHsgU2VsZWN0ZWRVc2Vyc1BpcGUgfSBmcm9tICcuL3BpcGVzL3NlbGVjdGVkLXVzZXJzLnBpcGUnO1xuXG4vLyBhbmltYXRpb25zXG5pbXBvcnQgeyBjbG9zZUZvcm0gfSBmcm9tICcuLi8uLi8uLi8uLi9hbmltYXRpb25zL2Nsb3NlLWZvcm0uYW5pbWF0aW9uJztcblxuLy8gdXRpbHNcbmltcG9ydCB7IENhRmlsdGVyc1N2Z1JvdXRlcyB9IGZyb20gJy4uLy4uL3V0aWxzL3N2Zy1yb3V0ZXMvY2EtZmlsdGVycy1zdmctcm91dGVzJztcblxuLy8gaGVscGVyc1xuaW1wb3J0IHsgRmlsdGVySGVscGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvaGVscGVycy9maWx0ZXIuaGVscGVyJztcblxuLy8gY29uZmlnc1xuaW1wb3J0IHsgSUNhSW5wdXQgfSBmcm9tICcuLi8uLi8uLi9jYS1pbnB1dC9jb25maWcvY2EtaW5wdXQuY29uZmlnJztcbmltcG9ydCB7IENhVXNlckZpbHRlckNvbmZpZyB9IGZyb20gJy4vY29uZmlnL2NhLXVzZXItZmlsdGVyLmNvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jYS11c2VyLWZpbHRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYS11c2VyLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhLXVzZXItZmlsdGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtcbiAgICAvLyBtb2R1bGVzXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBBbmd1bGFyU3ZnSWNvbk1vZHVsZSxcbiAgICAvLyBjb21wb25lbnRzXG4gICAgQ2FJbnB1dENvbXBvbmVudCxcbiAgICBDYVByb2ZpbGVJbWFnZUNvbXBvbmVudCxcbiAgICBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCxcbiAgICBOZ2JUb29sdGlwTW9kdWxlLFxuICAgIC8vIHBpcGVzXG4gICAgRHJvcGRvd25Mb2FkU3RhdHVzQ29sb3JQaXBlLFxuICAgIEZpbHRlclRyYWlsZXJDb2xvclBpcGUsXG4gICAgRmlsdGVyU2VsZWN0ZWRJdGVtc1BpcGUsXG4gICAgR3JvdXBTZWxlY3Rpb25TdGF0ZVBpcGUsXG4gICAgU2VsZWN0ZWRVc2Vyc1BpcGUsXG4gIF0sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICBpbk91dEFuaW1hdGlvbignaW5PdXRBbmltYXRpb24nKSxcbiAgICBzaG93QW5pbWF0aW9uKCdzaG93QW5pbWF0aW9uJyksXG4gICAgY2xvc2VGb3JtKCdjbG9zZUZvcm0nKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FVc2VyRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSB0eXBlITogc3RyaW5nO1xuICBASW5wdXQoKSBpc0ZpbHRlckFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBmaWx0ZXJUaXRsZSE6IHN0cmluZztcbiAgQElucHV0KCkgaGFzTGVmdFNpZGVJY29uOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRvRG9TdWJUeXBlITogc3RyaW5nO1xuICBASW5wdXQoKSB1c2VyR3JvdXAhOiBVc2VyR3JvdXBbXTtcbiAgQElucHV0KCkgaXNTZWFyY2hFeHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHB1YmxpYyBsb2FkU3RhdHVzRW51bSA9IExvYWRTdGF0dXNFbnVtO1xuICBwdWJsaWMgc2VhcmNoRm9ybSE6IFVudHlwZWRGb3JtR3JvdXA7XG4gIHB1YmxpYyBzZWFyY2hJbnB1dFZhbHVlITogc3RyaW5nO1xuXG4gIHB1YmxpYyB1bnNlbGVjdGVkVmlzaWJsZUNvdW50OiBudW1iZXIgPSAwO1xuICBwdWJsaWMgY2FGaWx0ZXJzU3ZnUm91dGVzOiBDYUZpbHRlcnNTdmdSb3V0ZXMgPSBDYUZpbHRlcnNTdmdSb3V0ZXM7XG5cbiAgcHVibGljIHNlbGVjdGVkVXNlckdyb3VwOiBVc2VyR3JvdXBbXSA9IFtdO1xuICBwdWJsaWMgZmlsdGVyQWN0aXZlQXJyYXk6IFVzZXJHcm91cFtdID0gW107XG4gIHB1YmxpYyBpc0FzY2VuZGluZ1NvcnRPcmRlcjogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBpc0J1dHRvbkF2YWlsYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgaGFzU2VsZWN0ZWRVc2VyczogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgdG90YWxGaWx0ZXJzTnVtOiBudW1iZXIgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcblxuICAgIHRoaXMud2F0Y2hTZWFyY2hGb3JtVmFsdWVDaGFuZ2VzKCk7XG4gIH1cblxuICBnZXQgdXNlclNlYXJjaCgpOiBJQ2FJbnB1dCB7XG4gICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uVVNFUl9GSUxURVI6XG4gICAgICBjYXNlIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLk1PRFVMRV9GSUxURVI6XG4gICAgICAgIHJldHVybiBDYVVzZXJGaWx0ZXJDb25maWcuZ2V0VXNlclNlYXJjaCgpO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gZmlsdGVyIHR5cGUnKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0SW5pdGlhbHMobmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcbiAgICByZXR1cm4gRmlsdGVySGVscGVyLmdldEluaXRpYWxzKG5hbWUpO1xuICB9XG5cbiAgcHVibGljIG9uR3JvdXBTd2l0Y2hTdGF0ZShncm91cDogVXNlckdyb3VwKTogdm9pZCB7XG4gICAgZ3JvdXAuaXNPcGVuID0gIWdyb3VwLmlzT3BlbjtcbiAgfVxuXG4gIHB1YmxpYyBvbkNoZWNrYm94U2VsZWN0KGV2ZW50OiBFdmVudCwgZ3JvdXA6IFVzZXJHcm91cCk6IHZvaWQge1xuICAgIGlmIChldmVudCkgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBjb25zdCB0b3RhbEl0ZW1zID0gZ3JvdXAuaXRlbXMubGVuZ3RoO1xuICAgIGNvbnN0IHNlbGVjdGVkSXRlbXMgPSBncm91cC5pdGVtcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaXNTZWxlY3RlZCkubGVuZ3RoO1xuXG4gICAgZ3JvdXAuaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaWYgKHNlbGVjdGVkSXRlbXMgPT09IHRvdGFsSXRlbXMpIGl0ZW0uaXNTZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgZWxzZSBpdGVtLmlzU2VsZWN0ZWQgPSB0cnVlO1xuICAgIH0pO1xuXG4gICAgdGhpcy5oYXNTZWxlY3RlZFVzZXJzID0gc2VsZWN0ZWRJdGVtcyAhPT0gdG90YWxJdGVtcztcbiAgfVxuXG4gIHB1YmxpYyBvbkZpbHRlckNsb3NlKCk6IHZvaWQge1xuICAgIEZpbHRlckhlbHBlci5oYW5kbGVHcm91cEZpbHRlckNsb3NlKFxuICAgICAgdGhpcy51c2VyR3JvdXAsXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlckdyb3VwLFxuICAgICAgdGhpcy5yZW1vdmVGcm9tU2VsZWN0ZWRVc2VyLmJpbmQodGhpcyksXG4gICAgICB0aGlzLmFkZFRvU2VsZWN0ZWRVc2VyLmJpbmQodGhpcylcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNldEZpbHRlclZhbHVlKFxuICAgIGV2ZW50OiBFdmVudFxuICApOiBmaWx0ZXJPdXRwdXQgfCBmaWx0ZXJPdXRwdXRXaXRoUGFyYW1zIHwgdW5kZWZpbmVkIHtcbiAgICB0aGlzLmZpbHRlckFjdGl2ZUFycmF5ID0gWy4uLnRoaXMudXNlckdyb3VwXTtcbiAgICBjb25zdCBzZWxlY3RlZFVzZXJzSWRBcnJheTogbnVtYmVyW10gPSBbXTtcbiAgICB0aGlzLnRvdGFsRmlsdGVyc051bSA9IHRoaXMuZmlsdGVyQWN0aXZlQXJyYXkubGVuZ3RoO1xuXG4gICAgY29uc3QgbWFpbkFycmF5ID0gdGhpcy51c2VyR3JvdXA7XG4gICAgbGV0IHF1ZXJ5UGFyYW1zID0ge307XG4gICAgbGV0IHN1YlR5cGU6IHN0cmluZyA9IFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLkVNUFRZX1NUUklOR19QTEFDRUhPTERFUjtcblxuICAgIG1haW5BcnJheS5mb3JFYWNoKChkYXRhOiBVc2VyR3JvdXApID0+IHtcbiAgICAgIGRhdGEuaXRlbXMuZm9yRWFjaCgoaXRlbTogVXNlckRhdGEpID0+IHtcbiAgICAgICAgaWYgKGl0ZW0uaXNTZWxlY3RlZCkgc2VsZWN0ZWRVc2Vyc0lkQXJyYXkucHVzaChpdGVtLmlkISk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGlmICghc2VsZWN0ZWRVc2Vyc0lkQXJyYXkubGVuZ3RoKSB7XG4gICAgICB0aGlzLmNsZWFyQWxsKGV2ZW50KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBxdWVyeVBhcmFtcyA9IHNlbGVjdGVkVXNlcnNJZEFycmF5O1xuICAgIHN1YlR5cGUgPVxuICAgICAgdGhpcy50b0RvU3ViVHlwZSA/PyBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5FTVBUWV9TVFJJTkdfUExBQ0VIT0xERVI7XG5cbiAgICBjb25zdCBhY3Rpb24gPSAnU2V0JztcbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgZmlsdGVyVHlwZTogdGhpcy50eXBlLFxuICAgICAgYWN0aW9uLFxuICAgICAgcXVlcnlQYXJhbXMsXG4gICAgICBzdWJUeXBlLFxuICAgIH07XG5cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckFsbChldmVudD86IEV2ZW50KTogZmlsdGVyT3V0cHV0IHwgZmlsdGVyT3V0cHV0V2l0aFBhcmFtcyB7XG4gICAgaWYgKGV2ZW50KSBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIHRoaXMuc2VsZWN0ZWRVc2VyR3JvdXAgPSBbXTtcbiAgICB0aGlzLmZpbHRlckFjdGl2ZUFycmF5ID0gW107XG4gICAgdGhpcy50b3RhbEZpbHRlcnNOdW0gPSAwO1xuICAgIHRoaXMuaGFzU2VsZWN0ZWRVc2VycyA9IGZhbHNlO1xuXG4gICAgdGhpcy51c2VyR3JvdXAuZm9yRWFjaCgoZ3JvdXApID0+IHtcbiAgICAgIGdyb3VwLml0ZW1zLmZvckVhY2goKGl0ZW06IFVzZXJEYXRhKSA9PiB7XG4gICAgICAgIGl0ZW0uaXNTZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICBpdGVtLmN1cnJlbnRTZXQgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgY29uc3QgYWN0aW9uID0gJ0NsZWFyJztcbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgYWN0aW9uLFxuICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgZmlsdGVyVHlwZTogdGhpcy50eXBlLFxuICAgIH07XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBwdWJsaWMgdHJhY2tCeUlkZW50aXR5KGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaEZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIHNlYXJjaDogbnVsbCxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVTZWxlY3RlZFVzZXJzKGl0ZW06IFVzZXJEYXRhLCBpbmR4OiBudW1iZXIsIGluZHgyOiBudW1iZXIpIHtcbiAgICBpZiAoaXRlbS5pc1NlbGVjdGVkKSB0aGlzLnJlbW92ZUZyb21TZWxlY3RlZFVzZXIoaXRlbSwgaW5keCwgaW5keDIpO1xuICAgIGVsc2UgdGhpcy5hZGRUb1NlbGVjdGVkVXNlcihpdGVtLCBpbmR4LCBpbmR4Mik7XG4gIH1cblxuICBwdWJsaWMgYWRkVG9TZWxlY3RlZFVzZXIoaXRlbTogVXNlckRhdGEsIGluZHg6IG51bWJlciwgaW5keDI6IG51bWJlcikge1xuICAgIGNvbnN0IHsgaGFzU2VsZWN0ZWRVc2VycywgdW5zZWxlY3RlZFZpc2libGVDb3VudCwgZ3JvdXBBcnJheSB9ID1cbiAgICAgIEZpbHRlckhlbHBlci5hZGRPclJlbW92ZUZyb21Hcm91cChcbiAgICAgICAgJ2FkZCcsXG4gICAgICAgIHRoaXMudXNlckdyb3VwLFxuICAgICAgICBpdGVtLFxuICAgICAgICBpbmR4LFxuICAgICAgICBpbmR4MlxuICAgICAgKTtcblxuICAgIHRoaXMuaGFzU2VsZWN0ZWRVc2VycyA9IGhhc1NlbGVjdGVkVXNlcnM7XG4gICAgdGhpcy51bnNlbGVjdGVkVmlzaWJsZUNvdW50ID0gdW5zZWxlY3RlZFZpc2libGVDb3VudDtcbiAgICB0aGlzLnVzZXJHcm91cCA9IFsuLi5ncm91cEFycmF5XTtcblxuICAgIHRoaXMuY2hlY2tGaWx0ZXJBY3RpdmVWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUZyb21TZWxlY3RlZFVzZXIoXG4gICAgaXRlbTogVXNlckRhdGEsXG4gICAgaW5keDogbnVtYmVyLFxuICAgIGluZHgyOiBudW1iZXJcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgeyBoYXNTZWxlY3RlZFVzZXJzLCB1bnNlbGVjdGVkVmlzaWJsZUNvdW50LCBncm91cEFycmF5IH0gPVxuICAgICAgRmlsdGVySGVscGVyLmFkZE9yUmVtb3ZlRnJvbUdyb3VwKFxuICAgICAgICAncmVtb3ZlJyxcbiAgICAgICAgdGhpcy51c2VyR3JvdXAsXG4gICAgICAgIGl0ZW0sXG4gICAgICAgIGluZHgsXG4gICAgICAgIGluZHgyXG4gICAgICApO1xuXG4gICAgdGhpcy5oYXNTZWxlY3RlZFVzZXJzID0gaGFzU2VsZWN0ZWRVc2VycztcbiAgICB0aGlzLnVuc2VsZWN0ZWRWaXNpYmxlQ291bnQgPSB1bnNlbGVjdGVkVmlzaWJsZUNvdW50O1xuICAgIHRoaXMudXNlckdyb3VwID0gZ3JvdXBBcnJheTtcblxuICAgIHRoaXMuY2hlY2tGaWx0ZXJBY3RpdmVWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGNoZWNrRmlsdGVyQWN0aXZlVmFsdWUoKTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVyQ2hlY2sgPSBGaWx0ZXJIZWxwZXIuY2hlY2tHcm91cEZpbHRlckFjdGl2ZVZhbHVlKFxuICAgICAgdGhpcy5maWx0ZXJBY3RpdmVBcnJheSxcbiAgICAgIHRoaXMuaXNCdXR0b25BdmFpbGFibGVcbiAgICApO1xuXG4gICAgdGhpcy5pc0J1dHRvbkF2YWlsYWJsZSA9IGZpbHRlckNoZWNrLmlzQnV0dG9uQXZhaWxhYmxlO1xuICB9XG5cbiAgcHJpdmF0ZSB3YXRjaFNlYXJjaEZvcm1WYWx1ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hGb3JtLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoY2hhbmdlcykgPT4ge1xuICAgICAgICBjb25zdCBpbnB1dFZhbHVlID0gY2hhbmdlcy5zZWFyY2g/LnRvTG93ZXJDYXNlKCkgfHwgJyc7XG5cbiAgICAgICAgdGhpcy51c2VyR3JvdXAuZm9yRWFjaCgoZ3JvdXApID0+ICh7XG4gICAgICAgICAgLi4uZ3JvdXAsXG4gICAgICAgICAgaXRlbXM6IGdyb3VwLml0ZW1zLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICBoaWRkZW46XG4gICAgICAgICAgICAgICh0aGlzLnR5cGUgPT09IFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLlVTRVJfRklMVEVSIHx8XG4gICAgICAgICAgICAgICAgdGhpcy50eXBlID09PSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5NT0RVTEVfRklMVEVSKSAmJlxuICAgICAgICAgICAgICBpbnB1dFZhbHVlICYmXG4gICAgICAgICAgICAgICFpdGVtLm5hbWUhLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoaW5wdXRWYWx1ZSksXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9KSk7XG5cbiAgICAgICAgdGhpcy5zZWFyY2hJbnB1dFZhbHVlID1cbiAgICAgICAgICBpbnB1dFZhbHVlIHx8IFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLkVNUFRZX1NUUklOR19QTEFDRUhPTERFUjtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNvcnRJdGVtcygpOiB2b2lkIHtcbiAgICBjb25zdCBzb3J0UmVzdWx0ID0gRmlsdGVySGVscGVyLnNvcnRHcm91cEl0ZW1zQ291bnQoXG4gICAgICB0aGlzLnVzZXJHcm91cCxcbiAgICAgIHRoaXMuc2VsZWN0ZWRVc2VyR3JvdXAsXG4gICAgICB0aGlzLmlzQXNjZW5kaW5nU29ydE9yZGVyXG4gICAgKTtcblxuICAgIHRoaXMudXNlckdyb3VwID0gc29ydFJlc3VsdC5zb3J0ZWRGaWx0ZXJBcnJheTtcbiAgICB0aGlzLnNlbGVjdGVkVXNlckdyb3VwID0gc29ydFJlc3VsdC5zb3J0ZWRTZWxlY3RlZEZpbHRlckFycmF5O1xuICAgIHRoaXMuaXNBc2NlbmRpbmdTb3J0T3JkZXIgPSBzb3J0UmVzdWx0LmlzQXNjZW5kaW5nU29ydE9yZGVyO1xuICB9XG5cbiAgcHVibGljIGdldFN2Z1BhdGgocHJvcGVydHlOYW1lOiBrZXlvZiB0eXBlb2YgQ2FGaWx0ZXJzU3ZnUm91dGVzKTogc3RyaW5nIHtcbiAgICByZXR1cm4gRmlsdGVySGVscGVyLmdldFN2Z1BhdGgocHJvcGVydHlOYW1lKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09ICd1c2VyRmlsdGVyJyB8fCB0eXBlID09PSAnbW9kdWxlRmlsdGVyJ1wiPlxuICA8ZGl2IGNsYXNzPVwiYm9yZGVyLWZpbHRlclwiPjwvZGl2PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidHlwZSA9PT0gJ3VzZXJGaWx0ZXInXCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJzZWFyY2gtaW5wdXQtaGVhZGVyXCJcbiAgICAgIFtjbGFzcy5hY3RpdmVTZWFyY2hdPVwiaXNTZWFyY2hFeHBhbmRlZFwiXG4gICAgICBbY2xhc3MuaW5hY3RpdmVTZWFyY2hdPVwiIWlzU2VhcmNoRXhwYW5kZWRcIlxuICAgICAgW2Zvcm1Hcm91cF09XCJzZWFyY2hGb3JtXCJcbiAgICA+XG4gICAgICA8YXBwLWNhLWlucHV0XG4gICAgICAgIGNsYXNzPVwiaW5wdXQtZm9ybS1ob2xkZXJcIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzZWFyY2hcIlxuICAgICAgICBbaW5wdXRDb25maWddPVwidXNlclNlYXJjaFwiXG4gICAgICA+PC9hcHAtY2EtaW5wdXQ+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJmaWx0ZXItdXNlci1ob2xkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdGb3I9XCJcbiAgICAgICAgbGV0IGdyb3VwIG9mIHVzZXJHcm91cDtcbiAgICAgICAgbGV0IGluZHggPSBpbmRleDtcbiAgICAgICAgdHJhY2tCeTogdHJhY2tCeUlkZW50aXR5XG4gICAgICBcIlxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ1c2VyLWl0ZW1zLWhvbGRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uR3JvdXBTd2l0Y2hTdGF0ZShncm91cClcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3gtaG9sZGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJjaGVja2JveC10b29sdGlwXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgbmdiVG9vbHRpcFxuICAgICAgICAgICAgW21haW5DYVRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgIChncm91cCB8IGdyb3VwU2VsZWN0aW9uU3RhdGUpLnNvbWVTZWxlY3RlZFxuICAgICAgICAgICAgICAgID8gJ0NsZWFyIHNlbGVjdGVkJ1xuICAgICAgICAgICAgICAgIDogJ0NsZWFyIGdyb3VwJ1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIHRvb2x0aXBCYWNrZ3JvdW5kPVwiI0NDQ0NDQ1wiXG4gICAgICAgICAgICB0b29sdGlwQ29sb3I9XCIjMkYyRjJGXCJcbiAgICAgICAgICAgIHBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgICAgIGN1c3RvbUNsYXNzPVwibXQtMVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY2hlY2tib3hcIlxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICBpZD1cImNoZWNrYm94e3sgaW5keCB9fVwiXG4gICAgICAgICAgICAgIFtjaGVja2VkXT1cIihncm91cCB8IGdyb3VwU2VsZWN0aW9uU3RhdGUpLmFsbFNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiKGdyb3VwIHwgZ3JvdXBTZWxlY3Rpb25TdGF0ZSkuc29tZVNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hlY2tib3hTZWxlY3QoJGV2ZW50LCBncm91cClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNoZWNrYm94LWxhYmVsXCJcbiAgICAgICAgICAgICAgZm9yPVwiY2hlY2tib3h7eyBpbmR4IH19XCJcbiAgICAgICAgICAgID48L2xhYmVsPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImhpZGUtdXNlci1ncm91cFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgIHN2Z19yb3RhdGU6ICFncm91cC5pc09wZW4sXG4gICAgICAgICAgICAgIHJvdGF0ZV9iYWNrOiBncm91cC5pc09wZW4sXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3ZnLWljb24gW3NyY109XCJnZXRTdmdQYXRoKCdhcnJvd0ZpbHRlcicpXCI+PC9zdmctaWNvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInVzZXItdGl0bGUtdGV4dCBjb3VudGVyLXBhZGQtdGl0bGUgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBjYS1mb250LWJvbGRcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgZ3JvdXAubGFiZWwudG9VcHBlckNhc2UoKSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwidXNlci1maWx0ZXItYm94IGQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBjYS1mb250LWJvbGQgbXMtMVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBncm91cC5pdGVtcyB8IGZpbHRlclNlbGVjdGVkSXRlbXMgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ1c2VyLWdyb3VwLWhvbGRlclwiXG4gICAgICAgIFtjbGFzcy51c2VyLWdyb3VwLXJlZHVjZWQtaG9sZGVyXT1cInR5cGUgPT09ICd1c2VyRmlsdGVyJ1wiXG4gICAgICAgIFtAY2xvc2VGb3JtXT1cImdyb3VwLmlzT3BlblwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgIGxldCBpdGVtIG9mIGdyb3VwLml0ZW1zIHwgc2VsZWN0ZWRVc2VyO1xuICAgICAgICAgICAgbGV0IGluZHgyID0gaW5kZXg7XG4gICAgICAgICAgICB0cmFja0J5OiB0cmFja0J5SWRlbnRpdHlcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBbQGluT3V0QW5pbWF0aW9uXT1cIidpbidcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICB1c2VyVGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgY29udGV4dDogeyBpdGVtOiBpdGVtLCBpbmR4OiBpbmR4LCBpbmR4MjogaW5keDIgfVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGdyb3VwIHwgZ3JvdXBTZWxlY3Rpb25TdGF0ZSkuc29tZVNlbGVjdGVkXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlci1maWx0ZXIgYm9yZGVyLXRocmlyZC1tYXJnaW5cIj48L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgbGV0IGl0ZW0gb2YgZ3JvdXAuaXRlbXMgfCBzZWxlY3RlZFVzZXI6IHRydWU7XG4gICAgICAgICAgICBsZXQgaW5keDIgPSBpbmRleDtcbiAgICAgICAgICAgIHRyYWNrQnk6IHRyYWNrQnlJZGVudGl0eVxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IFtAaW5PdXRBbmltYXRpb25dPVwiJ2luJ1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgIHVzZXJUZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7IGl0ZW06IGl0ZW0sIGluZHg6IGluZHgsIGluZHgyOiBpbmR4MiB9XG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidXNlckdyb3VwPy5sZW5ndGggIT09IHNlbGVjdGVkVXNlckdyb3VwPy5sZW5ndGhcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLWZpbHRlclwiPjwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3VzZXJUZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtaW5keD1cImluZHhcIiBsZXQtaW5keDI9XCJpbmR4MlwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJkLWZsZXhcIlxuICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgaXRlbS5pc1NlbGVjdGVkXG4gICAgICAgID8gJ3NlbGVjdGVkLXVzZXItaG9sZGVyIGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtbidcbiAgICAgICAgOiAndXNlci1mcmFtZS1ob2xkZXIgYWxpZ24taXRlbXMtY2VudGVyJ1xuICAgIFwiXG4gID5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uaGlkZGVuXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIChjbGljayk9XCJoYW5kbGVTZWxlY3RlZFVzZXJzKGl0ZW0sIGluZHgsIGluZHgyKVwiXG4gICAgICAgIGNsYXNzPVwidXNlci1tYWluLWhvbGRlciB1c2VyLWZyYW1lLWhvbGRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxuICAgICAgICBbY2xhc3MudXNlcl9zdmdfaWNvbl9ob2xkZXJdPVwidHlwZSAhPT0gJ3VzZXJGaWx0ZXInXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09ICd1c2VyRmlsdGVyJzsgZWxzZSBzdmdJY29uVGVtcGxhdGVcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1wcm9maWxlLWltZyBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uYXZhdGFyOyBlbHNlIGF2YXRhclRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgIDxhcHAtY2EtcHJvZmlsZS1pbWFnZVxuICAgICAgICAgICAgICAgIFtpbmR4XT1cImluZHgyXCJcbiAgICAgICAgICAgICAgICBbdGV4dFNob3J0TmFtZV09XCJnZXRJbml0aWFscyhpdGVtLm5hbWUpXCJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCInc21hbGwnXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L2FwcC1jYS1wcm9maWxlLWltYWdlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYXZhdGFyVGVtcGxhdGU+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInVzZXJfYXZhdGFyXCJcbiAgICAgICAgICAgICAgICBzdHlsZS5iYWNrZ3JvdW5kLWltYWdlPVwidXJsKCd7eyBpdGVtLmF2YXRhciB9fScpXCJcbiAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjc3ZnSWNvblRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0eXBlLWljb24gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPHN2Zy1pY29uIHNyYz1cInt7IGl0ZW0uaWNvbiB9fVwiPjwvc3ZnLWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0uaXNTZWxlY3RlZCA/ICdzZWxlY3RlZC11c2VyLWZyYW1lJyA6ICd1c2VyLWZyYW1lJ1wiXG4gICAgICAgICAgW2NsYXNzLnVzZXItZnJhbWUtbm8taWNvbl09XCJ0eXBlICE9PSAndXNlckZpbHRlcidcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkLW5hbWUtdGV4dCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8c3Bhbj4ge3sgaXRlbS5uYW1lIH19IDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbT8uY291bnQ7IGVsc2Ugbm9Db3VudFwiPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJjb3VudC1ob2xkZXIgZC1pbmxpbmUtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZUNvdW50XT1cIml0ZW0uaXNTZWxlY3RlZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IGl0ZW0uY291bnQgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9Db3VudD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub0NvdW50VGVtcGxhdGU7IGNvbnRleHQ6IHsgaXRlbTogaXRlbSB9XCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uaXNTZWxlY3RlZFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlRnJvbVNlbGVjdGVkVXNlcihpdGVtLCBpbmR4LCBpbmR4MilcIlxuICAgICAgICAgICAgICBjbGFzcz1cImljb24tZGVsZXRlIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgIFtjbGFzcy5jb3VudGVyTWFyZ2luXT1cIml0ZW0uY291bnRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1kZWxldGUtaG9sZFwiPjwvZGl2PlxuICAgICAgICAgICAgICA8c3ZnLWljb24gW3NyY109XCJnZXRTdmdQYXRoKCdyZW1vdmVTZWxlY3RlZFZhbHVlJylcIj48L3N2Zy1pY29uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjwhLS0gaWYgbm8gY291bnQgZm91bmQgLS0+XG48bmctdGVtcGxhdGUgI25vQ291bnRUZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmNvdW50OyBlbHNlIG5vQ291bnRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC1pY29uIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgPHN2Zy1pY29uIFtzcmNdPVwiZ2V0U3ZnUGF0aCgnaWNvbkNvbmZpcm0nKVwiPjwvc3ZnLWljb24+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI25vQ291bnRlcj5cbiAgICA8ZGl2IGNsYXNzPVwiY291bnRlci1ob2xkZXIgYWN0aXZlQ291bnRlclwiPjA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtdXNlci1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtZmlsdGVycy9jb21wb25lbnRzL2NhLXVzZXItZmlsdGVyL2NhLXVzZXItZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWZpbHRlcnMvY29tcG9uZW50cy9jYS11c2VyLWZpbHRlci9jYS11c2VyLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFHTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxtQkFBbUIsR0FHcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQyxVQUFVO0FBQ1YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsYUFBYTtBQUNiLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFdEUsUUFBUTtBQUNSLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxr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LFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksaUJBQ0QsaUJBQWlCLENBQUMsSUFBSSxXQUc1Qjt3QkFDUCxVQUFVO3dCQUNWLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLFFBQVE7d0JBQ1IsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjtxQkFDcEIsY0FDYTt3QkFDVixjQUFjLENBQUMsZ0JBQWdCLENBQUM7d0JBQ2hDLGFBQWEsQ0FBQyxlQUFlLENBQUM7d0JBQzlCLFNBQVMsQ0FBQyxXQUFXLENBQUM7cUJBQ3ZCO3VGQUdRLElBQUk7c0JBQVosS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3ksXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gIFVudHlwZWRGb3JtR3JvdXAsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG4vLyBtb2R1bGVzXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTmdiVG9vbHRpcE1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IEFuZ3VsYXJTdmdJY29uTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1zdmctaWNvbic7XG5cbi8vIGFuaW1hdGlvbnNcbmltcG9ydCB7IGluT3V0QW5pbWF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYW5pbWF0aW9ucy9pbi1vdXQuYW5pbWF0aW9uJztcbmltcG9ydCB7IHNob3dBbmltYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hbmltYXRpb25zL3Nob3cuYW5pbWF0aW9uJztcblxuLy8gZW51bXNcbmltcG9ydCB7IExvYWRTdGF0dXNFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vZW51bXMvbG9hZC1zdGF0dXMuZW51bSc7XG5pbXBvcnQgeyBUb29sYmFyRmlsdGVyU3RyaW5nRW51bSB9IGZyb20gJy4uLy4uLy4uL2NhLW1hcC9lbnVtcy90b29sYmFyLWZpbHRlci1zdHJpbmcuZW51bSc7XG5cbi8vIG1vZGVsc1xuaW1wb3J0IHsgZmlsdGVyT3V0cHV0IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2ZpbHRlci1vdXRwdXQubW9kZWwnO1xuaW1wb3J0IHsgZmlsdGVyT3V0cHV0V2l0aFBhcmFtcyB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9maWx0ZXItb3V0cHV0LXBhcmFtcy5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyRGF0YSB9IGZyb20gJy4vbW9kZWxzL2NhLXVzZXItZGF0YS5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyR3JvdXAgfSBmcm9tICcuL21vZGVscy9jYS11c2VyLWdyb3VwLm1vZGVsJztcblxuLy8gY29tcG9uZW50c1xuaW1wb3J0IHsgQ2FJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NhLWlucHV0L2NhLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYVByb2ZpbGVJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NhLXByb2ZpbGUtaW1hZ2UvY2EtcHJvZmlsZS1pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FBcHBUb29sdGlwVjJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jYS1hcHAtdG9vbHRpcC12Mi9jYS1hcHAtdG9vbHRpcC12Mi5jb21wb25lbnQnO1xuXG4vLyBwaXBlc1xuaW1wb3J0IHsgRmlsdGVyU2VsZWN0ZWRJdGVtc1BpcGUgfSBmcm9tICcuL3BpcGVzL2ZpbHRlci1zZWxlY3RlZC1pdGVtcy5waXBlJztcbmltcG9ydCB7IEdyb3VwU2VsZWN0aW9uU3RhdGVQaXBlIH0gZnJvbSAnLi9waXBlcy9ncm91cC1zZWxlY3Rpb24tc3RhdGUucGlwZSc7XG5pbXBvcnQgeyBTZWxlY3RlZFVzZXJzUGlwZSB9IGZyb20gJy4vcGlwZXMvc2VsZWN0ZWQtdXNlcnMucGlwZSc7XG5cbi8vIGFuaW1hdGlvbnNcbmltcG9ydCB7IGNsb3NlRm9ybSB9IGZyb20gJy4uLy4uLy4uLy4uL2FuaW1hdGlvbnMvY2xvc2UtZm9ybS5hbmltYXRpb24nO1xuXG4vLyB1dGlsc1xuaW1wb3J0IHsgQ2FGaWx0ZXJzU3ZnUm91dGVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvc3ZnLXJvdXRlcy9jYS1maWx0ZXJzLXN2Zy1yb3V0ZXMnO1xuXG4vLyBoZWxwZXJzXG5pbXBvcnQgeyBGaWx0ZXJIZWxwZXIgfSBmcm9tICcuLi8uLi91dGlscy9oZWxwZXJzL2ZpbHRlci5oZWxwZXInO1xuXG4vLyBjb25maWdzXG5pbXBvcnQgeyBJQ2FJbnB1dCB9IGZyb20gJy4uLy4uLy4uL2NhLWlucHV0L2NvbmZpZy9jYS1pbnB1dC5jb25maWcnO1xuaW1wb3J0IHsgQ2FVc2VyRmlsdGVyQ29uZmlnIH0gZnJvbSAnLi9jb25maWcvY2EtdXNlci1maWx0ZXIuY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNhLXVzZXItZmlsdGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhLXVzZXItZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2EtdXNlci1maWx0ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgaW1wb3J0czogW1xuICAgIC8vIG1vZHVsZXNcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICAgIEFuZ3VsYXJTdmdJY29uTW9kdWxlLFxuICAgIE5nYlRvb2x0aXBNb2R1bGUsXG4gICAgLy8gY29tcG9uZW50c1xuICAgIENhSW5wdXRDb21wb25lbnQsXG4gICAgQ2FQcm9maWxlSW1hZ2VDb21wb25lbnQsXG4gICAgQ2FBcHBUb29sdGlwVjJDb21wb25lbnQsXG4gICAgLy8gcGlwZXNcbiAgICBGaWx0ZXJTZWxlY3RlZEl0ZW1zUGlwZSxcbiAgICBHcm91cFNlbGVjdGlvblN0YXRlUGlwZSxcbiAgICBTZWxlY3RlZFVzZXJzUGlwZVxuXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIGluT3V0QW5pbWF0aW9uKCdpbk91dEFuaW1hdGlvbicpLFxuICAgIHNob3dBbmltYXRpb24oJ3Nob3dBbmltYXRpb24nKSxcbiAgICBjbG9zZUZvcm0oJ2Nsb3NlRm9ybScpLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDYVVzZXJGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHR5cGUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlzRmlsdGVyQWN0aXZlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGZpbHRlclRpdGxlITogc3RyaW5nO1xuICBASW5wdXQoKSBoYXNMZWZ0U2lkZUljb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdG9Eb1N1YlR5cGUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHVzZXJHcm91cCE6IFVzZXJHcm91cFtdO1xuICBASW5wdXQoKSBpc1NlYXJjaEV4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHVibGljIGxvYWRTdGF0dXNFbnVtID0gTG9hZFN0YXR1c0VudW07XG4gIHB1YmxpYyBzZWFyY2hGb3JtITogVW50eXBlZEZvcm1Hcm91cDtcbiAgcHVibGljIHNlYXJjaElucHV0VmFsdWUhOiBzdHJpbmc7XG5cbiAgcHVibGljIHVuc2VsZWN0ZWRWaXNpYmxlQ291bnQ6IG51bWJlciA9IDA7XG4gIHB1YmxpYyBjYUZpbHRlcnNTdmdSb3V0ZXM6IENhRmlsdGVyc1N2Z1JvdXRlcyA9IENhRmlsdGVyc1N2Z1JvdXRlcztcblxuICBwdWJsaWMgc2VsZWN0ZWRVc2VyR3JvdXA6IFVzZXJHcm91cFtdID0gW107XG4gIHB1YmxpYyBmaWx0ZXJBY3RpdmVBcnJheTogVXNlckdyb3VwW10gPSBbXTtcbiAgcHVibGljIGlzQXNjZW5kaW5nU29ydE9yZGVyOiBib29sZWFuID0gdHJ1ZTtcbiAgcHVibGljIGlzQnV0dG9uQXZhaWxhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBoYXNTZWxlY3RlZFVzZXJzOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyB0b3RhbEZpbHRlcnNOdW06IG51bWJlciA9IDA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xuXG4gICAgdGhpcy53YXRjaFNlYXJjaEZvcm1WYWx1ZUNoYW5nZXMoKTtcbiAgfVxuXG4gIGdldCB1c2VyU2VhcmNoKCk6IElDYUlucHV0IHtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5VU0VSX0ZJTFRFUjpcbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uTU9EVUxFX0ZJTFRFUjpcbiAgICAgICAgcmV0dXJuIENhVXNlckZpbHRlckNvbmZpZy5nZXRVc2VyU2VhcmNoKCk7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBmaWx0ZXIgdHlwZScpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRJbml0aWFscyhuYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAgIHJldHVybiBGaWx0ZXJIZWxwZXIuZ2V0SW5pdGlhbHMobmFtZSk7XG4gIH1cblxuICBwdWJsaWMgb25Hcm91cFN3aXRjaFN0YXRlKGdyb3VwOiBVc2VyR3JvdXApOiB2b2lkIHtcbiAgICBncm91cC5pc09wZW4gPSAhZ3JvdXAuaXNPcGVuO1xuICB9XG5cbiAgcHVibGljIG9uQ2hlY2tib3hTZWxlY3QoZXZlbnQ6IEV2ZW50LCBncm91cDogVXNlckdyb3VwKTogdm9pZCB7XG4gICAgaWYgKGV2ZW50KSBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGNvbnN0IHRvdGFsSXRlbXMgPSBncm91cC5pdGVtcy5sZW5ndGg7XG4gICAgY29uc3Qgc2VsZWN0ZWRJdGVtcyA9IGdyb3VwLml0ZW1zLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5pc1NlbGVjdGVkKS5sZW5ndGg7XG5cbiAgICBncm91cC5pdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpZiAoc2VsZWN0ZWRJdGVtcyA9PT0gdG90YWxJdGVtcykgaXRlbS5pc1NlbGVjdGVkID0gZmFsc2U7XG4gICAgICBlbHNlIGl0ZW0uaXNTZWxlY3RlZCA9IHRydWU7XG4gICAgfSk7XG5cbiAgICB0aGlzLmhhc1NlbGVjdGVkVXNlcnMgPSBzZWxlY3RlZEl0ZW1zICE9PSB0b3RhbEl0ZW1zO1xuICB9XG5cbiAgcHVibGljIG9uRmlsdGVyQ2xvc2UoKTogdm9pZCB7XG4gICAgRmlsdGVySGVscGVyLmhhbmRsZUdyb3VwRmlsdGVyQ2xvc2UoXG4gICAgICB0aGlzLnVzZXJHcm91cCxcbiAgICAgIHRoaXMuc2VsZWN0ZWRVc2VyR3JvdXAsXG4gICAgICB0aGlzLnJlbW92ZUZyb21TZWxlY3RlZFVzZXIuYmluZCh0aGlzKSxcbiAgICAgIHRoaXMuYWRkVG9TZWxlY3RlZFVzZXIuYmluZCh0aGlzKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2V0RmlsdGVyVmFsdWUoXG4gICAgZXZlbnQ6IEV2ZW50XG4gICk6IGZpbHRlck91dHB1dCB8IGZpbHRlck91dHB1dFdpdGhQYXJhbXMgfCB1bmRlZmluZWQge1xuICAgIHRoaXMuZmlsdGVyQWN0aXZlQXJyYXkgPSBbLi4udGhpcy51c2VyR3JvdXBdO1xuICAgIGNvbnN0IHNlbGVjdGVkVXNlcnNJZEFycmF5OiBudW1iZXJbXSA9IFtdO1xuICAgIHRoaXMudG90YWxGaWx0ZXJzTnVtID0gdGhpcy5maWx0ZXJBY3RpdmVBcnJheS5sZW5ndGg7XG5cbiAgICBjb25zdCBtYWluQXJyYXkgPSB0aGlzLnVzZXJHcm91cDtcbiAgICBsZXQgcXVlcnlQYXJhbXMgPSB7fTtcbiAgICBsZXQgc3ViVHlwZTogc3RyaW5nID0gVG9vbGJhckZpbHRlclN0cmluZ0VudW0uRU1QVFlfU1RSSU5HX1BMQUNFSE9MREVSO1xuXG4gICAgbWFpbkFycmF5LmZvckVhY2goKGRhdGE6IFVzZXJHcm91cCkgPT4ge1xuICAgICAgZGF0YS5pdGVtcy5mb3JFYWNoKChpdGVtOiBVc2VyRGF0YSkgPT4ge1xuICAgICAgICBpZiAoaXRlbS5pc1NlbGVjdGVkKSBzZWxlY3RlZFVzZXJzSWRBcnJheS5wdXNoKGl0ZW0uaWQhKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaWYgKCFzZWxlY3RlZFVzZXJzSWRBcnJheS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuY2xlYXJBbGwoZXZlbnQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHF1ZXJ5UGFyYW1zID0gc2VsZWN0ZWRVc2Vyc0lkQXJyYXk7XG4gICAgc3ViVHlwZSA9XG4gICAgICB0aGlzLnRvRG9TdWJUeXBlID8/IFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLkVNUFRZX1NUUklOR19QTEFDRUhPTERFUjtcblxuICAgIGNvbnN0IGFjdGlvbiA9ICdTZXQnO1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBmaWx0ZXJUeXBlOiB0aGlzLnR5cGUsXG4gICAgICBhY3Rpb24sXG4gICAgICBxdWVyeVBhcmFtcyxcbiAgICAgIHN1YlR5cGUsXG4gICAgfTtcblxuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgcHVibGljIGNsZWFyQWxsKGV2ZW50PzogRXZlbnQpOiBmaWx0ZXJPdXRwdXQgfCBmaWx0ZXJPdXRwdXRXaXRoUGFyYW1zIHtcbiAgICBpZiAoZXZlbnQpIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgdGhpcy5zZWxlY3RlZFVzZXJHcm91cCA9IFtdO1xuICAgIHRoaXMuZmlsdGVyQWN0aXZlQXJyYXkgPSBbXTtcbiAgICB0aGlzLnRvdGFsRmlsdGVyc051bSA9IDA7XG4gICAgdGhpcy5oYXNTZWxlY3RlZFVzZXJzID0gZmFsc2U7XG5cbiAgICB0aGlzLnVzZXJHcm91cC5mb3JFYWNoKChncm91cCkgPT4ge1xuICAgICAgZ3JvdXAuaXRlbXMuZm9yRWFjaCgoaXRlbTogVXNlckRhdGEpID0+IHtcbiAgICAgICAgaXRlbS5pc1NlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgIGl0ZW0uY3VycmVudFNldCA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBhY3Rpb24gPSAnQ2xlYXInO1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBhY3Rpb24sXG4gICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICBmaWx0ZXJUeXBlOiB0aGlzLnR5cGUsXG4gICAgfTtcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFja0J5SWRlbnRpdHkoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgc2VhcmNoOiBudWxsLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZVNlbGVjdGVkVXNlcnMoaXRlbTogVXNlckRhdGEsIGluZHg6IG51bWJlciwgaW5keDI6IG51bWJlcikge1xuICAgIGlmIChpdGVtLmlzU2VsZWN0ZWQpIHRoaXMucmVtb3ZlRnJvbVNlbGVjdGVkVXNlcihpdGVtLCBpbmR4LCBpbmR4Mik7XG4gICAgZWxzZSB0aGlzLmFkZFRvU2VsZWN0ZWRVc2VyKGl0ZW0sIGluZHgsIGluZHgyKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb1NlbGVjdGVkVXNlcihpdGVtOiBVc2VyRGF0YSwgaW5keDogbnVtYmVyLCBpbmR4MjogbnVtYmVyKSB7XG4gICAgY29uc3QgeyBoYXNTZWxlY3RlZFVzZXJzLCB1bnNlbGVjdGVkVmlzaWJsZUNvdW50LCBncm91cEFycmF5IH0gPVxuICAgICAgRmlsdGVySGVscGVyLmFkZE9yUmVtb3ZlRnJvbUdyb3VwKFxuICAgICAgICAnYWRkJyxcbiAgICAgICAgdGhpcy51c2VyR3JvdXAsXG4gICAgICAgIGl0ZW0sXG4gICAgICAgIGluZHgsXG4gICAgICAgIGluZHgyXG4gICAgICApO1xuXG4gICAgdGhpcy5oYXNTZWxlY3RlZFVzZXJzID0gaGFzU2VsZWN0ZWRVc2VycztcbiAgICB0aGlzLnVuc2VsZWN0ZWRWaXNpYmxlQ291bnQgPSB1bnNlbGVjdGVkVmlzaWJsZUNvdW50O1xuICAgIHRoaXMudXNlckdyb3VwID0gWy4uLmdyb3VwQXJyYXldO1xuXG4gICAgdGhpcy5jaGVja0ZpbHRlckFjdGl2ZVZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlRnJvbVNlbGVjdGVkVXNlcihcbiAgICBpdGVtOiBVc2VyRGF0YSxcbiAgICBpbmR4OiBudW1iZXIsXG4gICAgaW5keDI6IG51bWJlclxuICApOiB2b2lkIHtcbiAgICBjb25zdCB7IGhhc1NlbGVjdGVkVXNlcnMsIHVuc2VsZWN0ZWRWaXNpYmxlQ291bnQsIGdyb3VwQXJyYXkgfSA9XG4gICAgICBGaWx0ZXJIZWxwZXIuYWRkT3JSZW1vdmVGcm9tR3JvdXAoXG4gICAgICAgICdyZW1vdmUnLFxuICAgICAgICB0aGlzLnVzZXJHcm91cCxcbiAgICAgICAgaXRlbSxcbiAgICAgICAgaW5keCxcbiAgICAgICAgaW5keDJcbiAgICAgICk7XG5cbiAgICB0aGlzLmhhc1NlbGVjdGVkVXNlcnMgPSBoYXNTZWxlY3RlZFVzZXJzO1xuICAgIHRoaXMudW5zZWxlY3RlZFZpc2libGVDb3VudCA9IHVuc2VsZWN0ZWRWaXNpYmxlQ291bnQ7XG4gICAgdGhpcy51c2VyR3JvdXAgPSBncm91cEFycmF5O1xuXG4gICAgdGhpcy5jaGVja0ZpbHRlckFjdGl2ZVZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgY2hlY2tGaWx0ZXJBY3RpdmVWYWx1ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBmaWx0ZXJDaGVjayA9IEZpbHRlckhlbHBlci5jaGVja0dyb3VwRmlsdGVyQWN0aXZlVmFsdWUoXG4gICAgICB0aGlzLmZpbHRlckFjdGl2ZUFycmF5LFxuICAgICAgdGhpcy5pc0J1dHRvbkF2YWlsYWJsZVxuICAgICk7XG5cbiAgICB0aGlzLmlzQnV0dG9uQXZhaWxhYmxlID0gZmlsdGVyQ2hlY2suaXNCdXR0b25BdmFpbGFibGU7XG4gIH1cblxuICBwcml2YXRlIHdhdGNoU2VhcmNoRm9ybVZhbHVlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaEZvcm0udmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChjaGFuZ2VzKSA9PiB7XG4gICAgICAgIGNvbnN0IGlucHV0VmFsdWUgPSBjaGFuZ2VzLnNlYXJjaD8udG9Mb3dlckNhc2UoKSB8fCAnJztcblxuICAgICAgICB0aGlzLnVzZXJHcm91cC5mb3JFYWNoKChncm91cCkgPT4gKHtcbiAgICAgICAgICAuLi5ncm91cCxcbiAgICAgICAgICBpdGVtczogZ3JvdXAuaXRlbXMubWFwKChpdGVtKSA9PiAoe1xuICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgIGhpZGRlbjpcbiAgICAgICAgICAgICAgKHRoaXMudHlwZSA9PT0gVG9vbGJhckZpbHRlclN0cmluZ0VudW0uVVNFUl9GSUxURVIgfHxcbiAgICAgICAgICAgICAgICB0aGlzLnR5cGUgPT09IFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLk1PRFVMRV9GSUxURVIpICYmXG4gICAgICAgICAgICAgIGlucHV0VmFsdWUgJiZcbiAgICAgICAgICAgICAgIWl0ZW0ubmFtZSEudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhpbnB1dFZhbHVlKSxcbiAgICAgICAgICB9KSksXG4gICAgICAgIH0pKTtcblxuICAgICAgICB0aGlzLnNlYXJjaElucHV0VmFsdWUgPVxuICAgICAgICAgIGlucHV0VmFsdWUgfHwgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uRU1QVFlfU1RSSU5HX1BMQUNFSE9MREVSO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc29ydEl0ZW1zKCk6IHZvaWQge1xuICAgIGNvbnN0IHNvcnRSZXN1bHQgPSBGaWx0ZXJIZWxwZXIuc29ydEdyb3VwSXRlbXNDb3VudChcbiAgICAgIHRoaXMudXNlckdyb3VwLFxuICAgICAgdGhpcy5zZWxlY3RlZFVzZXJHcm91cCxcbiAgICAgIHRoaXMuaXNBc2NlbmRpbmdTb3J0T3JkZXJcbiAgICApO1xuXG4gICAgdGhpcy51c2VyR3JvdXAgPSBzb3J0UmVzdWx0LnNvcnRlZEZpbHRlckFycmF5O1xuICAgIHRoaXMuc2VsZWN0ZWRVc2VyR3JvdXAgPSBzb3J0UmVzdWx0LnNvcnRlZFNlbGVjdGVkRmlsdGVyQXJyYXk7XG4gICAgdGhpcy5pc0FzY2VuZGluZ1NvcnRPcmRlciA9IHNvcnRSZXN1bHQuaXNBc2NlbmRpbmdTb3J0T3JkZXI7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3ZnUGF0aChwcm9wZXJ0eU5hbWU6IGtleW9mIHR5cGVvZiBDYUZpbHRlcnNTdmdSb3V0ZXMpOiBzdHJpbmcge1xuICAgIHJldHVybiBGaWx0ZXJIZWxwZXIuZ2V0U3ZnUGF0aChwcm9wZXJ0eU5hbWUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwidHlwZSA9PT0gJ3VzZXJGaWx0ZXInIHx8IHR5cGUgPT09ICdtb2R1bGVGaWx0ZXInXCI+XG4gIDxkaXYgY2xhc3M9XCJib3JkZXItZmlsdGVyXCI+PC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlID09PSAndXNlckZpbHRlcidcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNlYXJjaC1pbnB1dC1oZWFkZXJcIlxuICAgICAgW2NsYXNzLmFjdGl2ZVNlYXJjaF09XCJpc1NlYXJjaEV4cGFuZGVkXCJcbiAgICAgIFtjbGFzcy5pbmFjdGl2ZVNlYXJjaF09XCIhaXNTZWFyY2hFeHBhbmRlZFwiXG4gICAgICBbZm9ybUdyb3VwXT1cInNlYXJjaEZvcm1cIlxuICAgID5cbiAgICAgIDxhcHAtY2EtaW5wdXRcbiAgICAgICAgY2xhc3M9XCJpbnB1dC1mb3JtLWhvbGRlclwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNlYXJjaFwiXG4gICAgICAgIFtpbnB1dENvbmZpZ109XCJ1c2VyU2VhcmNoXCJcbiAgICAgID48L2FwcC1jYS1pbnB1dD5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImZpbHRlci11c2VyLWhvbGRlciBkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0Zvcj1cIlxuICAgICAgICBsZXQgZ3JvdXAgb2YgdXNlckdyb3VwO1xuICAgICAgICBsZXQgaW5keCA9IGluZGV4O1xuICAgICAgICB0cmFja0J5OiB0cmFja0J5SWRlbnRpdHlcbiAgICAgIFwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInVzZXItaXRlbXMtaG9sZGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAoY2xpY2spPVwib25Hcm91cFN3aXRjaFN0YXRlKGdyb3VwKVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveC1ob2xkZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cImNoZWNrYm94LXRvb2x0aXBcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBuZ2JUb29sdGlwXG4gICAgICAgICAgICBbbWFpbkNhVG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgKGdyb3VwIHwgZ3JvdXBTZWxlY3Rpb25TdGF0ZSkuc29tZVNlbGVjdGVkXG4gICAgICAgICAgICAgICAgPyAnQ2xlYXIgc2VsZWN0ZWQnXG4gICAgICAgICAgICAgICAgOiAnQ2xlYXIgZ3JvdXAnXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgdG9vbHRpcEJhY2tncm91bmQ9XCIjQ0NDQ0NDXCJcbiAgICAgICAgICAgIHRvb2x0aXBDb2xvcj1cIiMyRjJGMkZcIlxuICAgICAgICAgICAgcG9zaXRpb249XCJib3R0b21cIlxuICAgICAgICAgICAgY3VzdG9tQ2xhc3M9XCJtdC0xXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jaGVja2JveFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgIGlkPVwiY2hlY2tib3h7eyBpbmR4IH19XCJcbiAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiKGdyb3VwIHwgZ3JvdXBTZWxlY3Rpb25TdGF0ZSkuYWxsU2VsZWN0ZWRcIlxuICAgICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCIoZ3JvdXAgfCBncm91cFNlbGVjdGlvblN0YXRlKS5zb21lU2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25DaGVja2JveFNlbGVjdCgkZXZlbnQsIGdyb3VwKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY2hlY2tib3gtbGFiZWxcIlxuICAgICAgICAgICAgICBmb3I9XCJjaGVja2JveHt7IGluZHggfX1cIlxuICAgICAgICAgICAgPjwvbGFiZWw+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiaGlkZS11c2VyLWdyb3VwXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgc3ZnX3JvdGF0ZTogIWdyb3VwLmlzT3BlbixcbiAgICAgICAgICAgICAgcm90YXRlX2JhY2s6IGdyb3VwLmlzT3BlbixcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzdmctaWNvbiBbc3JjXT1cImdldFN2Z1BhdGgoJ2Fycm93RmlsdGVyJylcIj48L3N2Zy1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwidXNlci10aXRsZS10ZXh0IGNvdW50ZXItcGFkZC10aXRsZSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGNhLWZvbnQtYm9sZFwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBncm91cC5sYWJlbC50b1VwcGVyQ2FzZSgpIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJ1c2VyLWZpbHRlci1ib3ggZC1mbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGNhLWZvbnQtYm9sZCBtcy0xXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGdyb3VwLml0ZW1zIHwgZmlsdGVyU2VsZWN0ZWRJdGVtcyB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInVzZXItZ3JvdXAtaG9sZGVyXCJcbiAgICAgICAgW2NsYXNzLnVzZXItZ3JvdXAtcmVkdWNlZC1ob2xkZXJdPVwidHlwZSA9PT0gJ3VzZXJGaWx0ZXInXCJcbiAgICAgICAgW0BjbG9zZUZvcm1dPVwiZ3JvdXAuaXNPcGVuXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgbGV0IGl0ZW0gb2YgZ3JvdXAuaXRlbXMgfCBzZWxlY3RlZFVzZXI7XG4gICAgICAgICAgICBsZXQgaW5keDIgPSBpbmRleDtcbiAgICAgICAgICAgIHRyYWNrQnk6IHRyYWNrQnlJZGVudGl0eVxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IFtAaW5PdXRBbmltYXRpb25dPVwiJ2luJ1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgIHVzZXJUZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7IGl0ZW06IGl0ZW0sIGluZHg6IGluZHgsIGluZHgyOiBpbmR4MiB9XG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoZ3JvdXAgfCBncm91cFNlbGVjdGlvblN0YXRlKS5zb21lU2VsZWN0ZWRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLWZpbHRlciBib3JkZXItdGhyaXJkLW1hcmdpblwiPjwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICBsZXQgaXRlbSBvZiBncm91cC5pdGVtcyB8IHNlbGVjdGVkVXNlcjogdHJ1ZTtcbiAgICAgICAgICAgIGxldCBpbmR4MiA9IGluZGV4O1xuICAgICAgICAgICAgdHJhY2tCeTogdHJhY2tCeUlkZW50aXR5XG4gICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgW0Bpbk91dEFuaW1hdGlvbl09XCInaW4nXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgdXNlclRlbXBsYXRlO1xuICAgICAgICAgICAgICAgIGNvbnRleHQ6IHsgaXRlbTogaXRlbSwgaW5keDogaW5keCwgaW5keDI6IGluZHgyIH1cbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ1c2VyR3JvdXA/Lmxlbmd0aCAhPT0gc2VsZWN0ZWRVc2VyR3JvdXA/Lmxlbmd0aFwiPlxuICAgIDxkaXYgY2xhc3M9XCJib3JkZXItZmlsdGVyXCI+PC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjdXNlclRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiIGxldC1pbmR4PVwiaW5keFwiIGxldC1pbmR4Mj1cImluZHgyXCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImQtZmxleFwiXG4gICAgW25nQ2xhc3NdPVwiXG4gICAgICBpdGVtLmlzU2VsZWN0ZWRcbiAgICAgICAgPyAnc2VsZWN0ZWQtdXNlci1ob2xkZXIganVzdGlmeS1jb250ZW50LXN0YXJ0IGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uJ1xuICAgICAgICA6ICd1c2VyLWZyYW1lLWhvbGRlciBhbGlnbi1pdGVtcy1jZW50ZXInXG4gICAgXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbS5oaWRkZW5cIj5cbiAgICAgIDxkaXZcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZVNlbGVjdGVkVXNlcnMoaXRlbSwgaW5keCwgaW5keDIpXCJcbiAgICAgICAgY2xhc3M9XCJ1c2VyLW1haW4taG9sZGVyIHVzZXItZnJhbWUtaG9sZGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiXG4gICAgICAgIFtjbGFzcy51c2VyX3N2Z19pY29uX2hvbGRlcl09XCJ0eXBlICE9PSAndXNlckZpbHRlcidcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidHlwZSA9PT0gJ3VzZXJGaWx0ZXInOyBlbHNlIHN2Z0ljb25UZW1wbGF0ZVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLXByb2ZpbGUtaW1nIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbS5hdmF0YXI7IGVsc2UgYXZhdGFyVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgPGFwcC1jYS1wcm9maWxlLWltYWdlXG4gICAgICAgICAgICAgICAgW2luZHhdPVwiaW5keDJcIlxuICAgICAgICAgICAgICAgIFt0ZXh0U2hvcnROYW1lXT1cImdldEluaXRpYWxzKGl0ZW0ubmFtZSlcIlxuICAgICAgICAgICAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvYXBwLWNhLXByb2ZpbGUtaW1hZ2U+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNhdmF0YXJUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidXNlcl9hdmF0YXJcIlxuICAgICAgICAgICAgICAgIHN0eWxlLmJhY2tncm91bmQtaW1hZ2U9XCJ1cmwoJ3t7IGl0ZW0uYXZhdGFyIH19JylcIlxuICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNzdmdJY29uVGVtcGxhdGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInR5cGUtaWNvbiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8c3ZnLWljb24gc3JjPVwie3sgaXRlbS5pY29uIH19XCI+PC9zdmctaWNvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5pc1NlbGVjdGVkID8gJ3NlbGVjdGVkLXVzZXItZnJhbWUnIDogJ3VzZXItZnJhbWUnXCJcbiAgICAgICAgICBbY2xhc3MudXNlci1mcmFtZS1uby1pY29uXT1cInR5cGUgIT09ICd1c2VyRmlsdGVyJ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtbmFtZS10ZXh0IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxzcGFuPiB7eyBpdGVtLm5hbWUgfX0gPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtPy5jb3VudDsgZWxzZSBub0NvdW50XCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cImNvdW50LWhvbGRlciBkLWlubGluZS1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxuICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlQ291bnRdPVwiaXRlbS5pc1NlbGVjdGVkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgaXRlbS5jb3VudCB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNub0NvdW50PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIm5vQ291bnRUZW1wbGF0ZTsgY29udGV4dDogeyBpdGVtOiBpdGVtIH1cIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5pc1NlbGVjdGVkXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVGcm9tU2VsZWN0ZWRVc2VyKGl0ZW0sIGluZHgsIGluZHgyKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiaWNvbi1kZWxldGUgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmNvdW50ZXJNYXJnaW5dPVwiaXRlbS5jb3VudFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWRlbGV0ZS1ob2xkXCI+PC9kaXY+XG4gICAgICAgICAgICAgIDxzdmctaWNvbiBbc3JjXT1cImdldFN2Z1BhdGgoJ3JlbW92ZVNlbGVjdGVkVmFsdWUnKVwiPjwvc3ZnLWljb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuPCEtLSBpZiBubyBjb3VudCBmb3VuZCAtLT5cbjxuZy10ZW1wbGF0ZSAjbm9Db3VudFRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uY291bnQ7IGVsc2Ugbm9Db3VudGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkLWljb24gZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICA8c3ZnLWljb24gW3NyY109XCJnZXRTdmdQYXRoKCdpY29uQ29uZmlybScpXCI+PC9zdmctaWNvbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjbm9Db3VudGVyPlxuICAgIDxkaXYgY2xhc3M9XCJjb3VudGVyLWhvbGRlciBhY3RpdmVDb3VudGVyXCI+MDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -17,7 +17,6 @@ import { ToolbarFilterStringEnum as ToolbarFilterString } from '../../../ca-map/
17
17
  // helpers
18
18
  import { FilterHelper } from '../../utils/helpers/filter.helper';
19
19
  // components
20
- import { CaInputComponent } from '../../../ca-input/ca-input.component';
21
20
  import { CaNgxSliderComponent } from '../../../ca-ngx-slider/ca-ngx-slider.component';
22
21
  // constants
23
22
  import { FilterConfigConstants } from '../../utils/constants/filter-config.constants';
@@ -109,7 +108,9 @@ export class CaViolationFilterComponent {
109
108
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CaViolationFilterComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.ThousandSeparatorPipe }], target: i0.ɵɵFactoryTarget.Component }); }
110
109
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CaViolationFilterComponent, isStandalone: true, selector: "app-ca-violation-filter", inputs: { type: "type", isFilterActive: "isFilterActive", toDoSubType: "toDoSubType" }, providers: [NgbDropdownConfig, ThousandSeparator, CaSvg], ngImport: i0, template: "<ng-container *ngIf=\"type === 'violationFilter'\">\n <div class=\"border-filter money-top-border-magin\"></div>\n <div class=\"single-form-holder\" [formGroup]=\"violationFilterForm\">\n <div\n class=\"filter-middle-holder slider-two-holder\"\n [@showAnimation]=\"!!isFilterActive\"\n [class.closePointers]=\"rangeDiffNum < 670 || rangeDiffNum < 2600\"\n >\n <app-ca-ngx-slider\n [sliderOptions]=\"violationSliderData\"\n [startedValue]=\"rangeValue\"\n [customClass]=\"'custom-slider-filter'\"\n (onUserValueChange)=\"setMinValueRange($event)\"\n (onUserHighValueChange)=\"setMaxValueRange($event)\"\n [sliderTemplate]=\"'range-slider'\"\n [minValue]=\"minValueDragged\"\n [maxValue]=\"maxValueDragged\"\n ></app-ca-ngx-slider>\n </div>\n </div>\n <div class=\"border-filter money-bottom-border-magin form-border\"></div>\n</ng-container>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap\";@import\"https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css\";.ca-font-thin{font-weight:100!important}.ca-font-extra-light{font-weight:200!important}.ca-font-light{font-weight:300!important}.ca-font-regular{font-weight:400!important}.ca-font-medium{font-weight:500!important}.ca-font-semi-bold{font-weight:600!important}.ca-font-bold{font-weight:700!important}.ca-font-extra-bold{font-weight:800!important}.ca-font-black{font-weight:900!important}.pickup-delivery-popover{top:-38px!important;max-width:340px!important}.pickup-delivery-popover.bs-popover-top{top:auto!important;bottom:-38px!important}.pickup-delivery-popover.bs-popover-top .load-component .assigned-load-holder{order:3;margin-top:4px;margin-bottom:0!important}.pickup-delivery-popover.bs-popover-top .load-component .statusBar{order:2;margin-top:4px}.pickup-delivery-popover.bs-popover-top .load-component .animation-three-tabs{order:1}.gps_dropdown_popover{top:-38px;max-width:494px}.gps_dropdown_popover .popover-body{padding:0}.table-progress-popover{background-color:unset!important;margin-left:-10px}.table-progress-popover .progress-dropdown{margin-top:-6px;width:260px;height:200px;background:#2f2f2f;border-radius:3px;padding:8px;box-shadow:0 0 4px #00000026;overflow:hidden;-webkit-animation:progressAnimation .25s ease-in-out;animation:progressAnimation .25s ease-in-out}.table-progress-popover .progress-dropdown .progress-header .progress-title{font-size:18px;font-weight:600;color:#dadada}.table-progress-popover .progress-dropdown .progress-header .progress-title span{font-weight:400}.table-progress-popover .progress-dropdown .progress-header .progress-total{font-size:14px;line-height:17px;color:#dadada}.table-progress-popover .progress-dropdown .table-progress-bar-container{width:100%;height:8px;margin-top:6px;border-radius:2px;overflow:hidden}.table-progress-popover .progress-dropdown .table-progress-bar-container .table-progress-bar{height:100%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-dual-info-container .progress-info-container{width:50%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container{margin-top:10px}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-title{margin-bottom:2px;font-size:11px;font-weight:700;line-height:14px;color:#ffffffb2}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-text{font-size:14px;line-height:18px;color:#dadada}.table-progress-popover .progress-dropdown.credit-dropdown{height:100px}@-webkit-keyframes progressAnimation{0%{height:0px}to{height:220px}}@keyframes progressAnimation{0%{height:0px}to{height:220px}}ngb-popover-window{padding:unset!important;border:unset!important}ngb-popover-window .popover-arrow{display:none!important}ngb-popover-window .popover-body{padding:unset!important}.dispatch-note .popover-body{position:relative;top:-4px;left:-4px}.tooltip{font-size:12px;position:relative}.tooltip.show{opacity:.83}.tooltip.fade:after,.tooltip.fade:before{transform:translateY(-10px);transition:all .15s ease-in-out}.tooltip.fade:hover:after,.tooltip.fade:hover:before{opacity:1;transform:translate(0)}.tooltip-inner{padding:4px 10px;white-space:nowrap;max-width:none;border-radius:3px}.tooltip-inner:empty{padding:0}.placeholder-delete .tooltip-inner{background-color:#f66}.placeholder-delete .arrow:before{border-top-color:#f66}.custom-popup-owners-for-flag .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(126%) translate(-50%)!important;width:130px;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-for-flag .arrow{bottom:-18%;transform:rotate(180deg);left:calc(50% + 2.7rem)}.custom-popup-owners-for-flag .tooltip{opacity:.93!important;width:0}.custom-popup-owners{z-index:999}.custom-popup-owners .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners .tooltip{transform:translateY(-61px)!important}.custom-popup-owners-year{z-index:999}.custom-popup-owners-year .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners-year .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners-year .tooltip{transform:translate(70px,-61px)!important}.custom-popup-owners-info .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-100%) translate(-10%);width:200px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;margin-top:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info .tooltip{opacity:.93;width:0}.custom-popup-owners-info .arrow{display:none}.custom-popup-owners-info #phone-inside{position:relative;right:26px;bottom:0}.custom-popup-owners-info-at .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-108%) translate(-7%);width:270px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info-at .tooltip{opacity:1;width:0}.custom-popup-owners-info-at .arrow{display:none}.custom-popup-owners-for-tag .tooltip-inner{color:#3b3b3b;background-color:#fff;width:100px;border-radius:3px;box-shadow:0 0 3px #0003!important}.custom-popup-owners-for-tag .tooltip{top:5px!important}.custom-popup-owners-for-tag .arrow{bottom:-24%}.align-items-flex-start{justify-content:center;align-items:center}.align-items-flex-end{display:flex;justify-content:center;flex-direction:column;align-self:flex-end;align-items:flex-start}.label-add{align-self:flex-start}.fadeInLoad{animation:fadeInLoad .25s}@keyframes fadeInLoad{0%{opacity:0}to{opacity:1}}.fadeIn{opacity:1;-webkit-transition:.25s;-moz-transition:.25s;-o-transition:.25s;transition:.25s}.thisText:hover .fadeIn{opacity:0}.fadeInLoad{animation-name:example;animation-duration:.25s}@keyframes example{0%{transform:scale(.5)}to{transform:scale(1)}}.tooltip.tooltip-table-icons{left:12px!important;opacity:1}.tooltip.tooltip-table-icons .arrow{display:none!important}.tooltip.tooltip-table-icons .tooltip-inner{border-radius:0 50px 50px;background:#28529f}.tooltip.show{opacity:1;animation:fadeIn ease .5s!important;-webkit-animation:fadeIn ease .5s!important;-moz-animation:fadeIn ease .5s!important;-o-animation:fadeIn ease .5s!important;-ms-animation:fadeIn ease .5s!important}.ta-tooltip{position:absolute;font-size:12px;text-align:center;color:#fff;line-height:22px;z-index:999999!important;opacity:0;white-space:nowrap;transform:scale(.7)}.ta-tooltip.ta-tooltip-show{opacity:.85;transform:scale(1);padding:0 12px}.ta-tooltip.ta-tooltip-bottom-right,.ta-tooltip.ta-tooltip-bottom-right-corner{transform-origin:top left;border-radius:0 15px 15px}.ta-tooltip.ta-tooltip-bottom-left{transform-origin:top right;border-radius:15px 0 15px 15px}@keyframes scaleItem{0%{transform:scale(.4)}to{transform:scale(1)}}.app-ca-main-tooltip{pointer-events:none}.app-ca-main-tooltip .tooltip-inner{padding:0;background-color:transparent;pointer-events:none}.app-ca-main-tooltip .tooltip-inner .tooltip-holder{display:flex;font-size:11px;font-weight:700;border-radius:2px;padding:2px 8px;animation:scaleItem .3s;white-space:normal}.app-ca-main-tooltip .tooltip-inner .tooltip-holder:empty{padding:0}.tooltip-arrow{display:none!important}.trucks.semitruck svg path,.trucks.semisleeper svg path,.trucks.flatbed svg path,.trucks.stepdeck svg path,.trucks.lowboyrgn svg path,.trucks.chassis svg path,.trucks.conestoga svg path,.trucks.sidekit svg path,.trucks.container svg path,.trailers.semitruck svg path,.trailers.semisleeper svg path,.trailers.flatbed svg path,.trailers.stepdeck svg path,.trailers.lowboyrgn svg path,.trailers.chassis svg path,.trailers.conestoga svg path,.trailers.sidekit svg path,.trailers.container svg path{fill:#92b1f5}.trucks.boxtruck svg path,.trucks.reefertruck svg path,.trucks.cargovan svg path,.trucks.dryvan svg path,.trucks.reefer svg path,.trailers.boxtruck svg path,.trailers.reefertruck svg path,.trailers.cargovan svg path,.trailers.dryvan svg path,.trailers.reefer svg path{fill:#fbc88b}.trucks.dumptruck svg path,.trucks.cementtruck svg path,.trucks.garbagetruck svg path,.trucks.enddump svg path,.trucks.bottomdump svg path,.trucks.hopper svg path,.trucks.tanker svg path,.trucks.pneumatictanker svg path,.trailers.dumptruck svg path,.trailers.cementtruck svg path,.trailers.garbagetruck svg path,.trailers.enddump svg path,.trailers.bottomdump svg path,.trailers.hopper svg path,.trailers.tanker svg path,.trailers.pneumatictanker svg path{fill:#ed9292}.trucks.towtruck svg path,.trucks.carhauler svg path,.trucks.spotter svg path,.trucks.carhaulerstigner svg path,.trailers.towtruck svg path,.trailers.carhauler svg path,.trailers.spotter svg path,.trailers.carhaulerstigner svg path{fill:#86c9c3}.trucks .svgtext-template-text,.trailers .svgtext-template-text{color:#fff;transition:color .3s ease-in-out}.colors .black svg #droplet{fill:#6c6c6c}.colors .brown svg #droplet{fill:#a1887f}.colors .darkgreen svg #droplet{fill:#4db6a2}.colors .lightgreen svg #droplet{fill:#81c784}.colors .darkblue svg #droplet{fill:#546fd2}.colors .lightblue svg #droplet{fill:#64b5f6}.colors .gray svg #droplet{fill:#aaa}.colors .purple svg #droplet{fill:#ba68c8}.colors .gold svg #droplet{fill:#bcad79}.colors .silver svg #droplet{fill:#dadada}.colors .red svg #droplet{fill:#f96b69}.colors .pink svg #droplet{fill:#f26ec2}.colors .white svg #droplet{fill:#f1f1f1}.colors .orange svg #droplet{fill:#ff8a65}.colors .yellow svg #droplet{fill:#ffd54f}.colors:hover{transition:all .3s ease-in-out}.colors:hover .black svg #droplet{fill:#3c3c3c}.colors:hover .brown svg #droplet{fill:#8d6e63}.colors:hover .darkgreen svg #droplet{fill:#26a690}.colors:hover .lightgreen svg #droplet{fill:#66bb6a}.colors:hover .darkblue svg #droplet{fill:#304fc1}.colors:hover .lightblue svg #droplet{fill:#42a5f5}.colors:hover .gray svg #droplet{fill:#919191}.colors:hover .purple svg #droplet{fill:#ab47bc}.colors:hover .gold svg #droplet{fill:#aa9c6e}.colors:hover .silver svg #droplet{fill:#b7b7b7}.colors:hover .red svg #droplet{fill:#ef5350}.colors:hover .pink svg #droplet{fill:#fa4daa}.colors:hover .white svg #droplet{fill:#fff}.colors:hover .orange svg #droplet{fill:#ff7043}.colors:hover .yellow svg #droplet{fill:#ffca28}.text-color-black{color:#424242!important}.text-color-black::-moz-selection{background:#42424233!important;color:#424242!important}.text-color-black::selection{background:#42424233!important;color:#424242!important}.text-color-black-2{color:#2f2f2f!important}.text-color-black-2::-moz-selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-black-2::selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-muted{color:#919191!important}.text-color-muted::-moz-selection{background:#91919133!important;color:#919191!important}.text-color-muted::selection{background:#91919133!important;color:#919191!important}.text-color-green{color:#56b4ac!important}.text-color-green::-moz-selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-green::selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-blue-13{color:#6692f1!important}.text-color-blue-13::-moz-selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-13::selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-18{color:#3b73ed!important}.text-color-blue-18::-moz-selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-blue-18::selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-red-10{color:#e66767!important}.text-color-red-10::-moz-selection{background:#e6676733!important;color:#e66767!important}.text-color-red-10::selection{background:#e6676733!important;color:#e66767!important}.text-color-light-grey{color:#e5e5e5!important}.text-color-light-grey::-moz-selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey::selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey-2{color:#aaa!important}.text-color-light-grey-2::-moz-selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-2::selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-6{color:#ccc!important}.text-color-light-grey-6::-moz-selection{color:#ccc!important;background:#aaa3!important}.text-color-light-grey-6::selection{color:#ccc!important;background:#aaa3!important}.text-color-white{color:#dadada!important}.text-color-white::-moz-selection{color:#dadada!important;background:#fff3!important}.text-color-white::selection{color:#dadada!important;background:#fff3!important}.text-color-white-4{color:#ffffffb2!important}.text-color-white-4::-moz-selection{color:#ffffffb2!important;background:#fff3!important}.text-color-white-4::selection{color:#ffffffb2!important;background:#fff3!important}.text-color-dark-grey{color:#6c6c6c!important}.text-color-dark-grey::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-dark-grey::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2{color:#6c6c6c!important}.text-color-bw6-2::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9{color:#dadada!important}.text-color-bw-9::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-grey{color:#919191!important}.text-color-grey::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey::selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::-moz-selection,.text-color-grey .marker-bold-text::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::selection,.text-color-grey .marker-bold-text::selection{color:#919191!important;background:#91919133!important}.text-size-11{font-size:11px!important;line-height:14px!important}.text-size-14{font-size:14px!important;line-height:18px!important}.text-size-16{font-size:16px!important;line-height:19px!important}.text-size-18{font-size:18px!important;line-height:22px!important}.text-size-26{font-size:26px!important;line-height:32px!important}.text-size-28{font-size:28px!important;line-height:34px!important}@keyframes dropdown{0%{margin-top:20px;visibility:hidden;opacity:0}to{opacity:1;margin-top:10px;visibility:visible!important}}@keyframes dropup{0%{margin-top:-19px;visibility:hidden;opacity:0}to{margin-top:inherit;visibility:visible!important}}.svg-fill-black svg path{fill:#424242!important}.svg-fill-muted svg path{fill:#919191!important}.svg-fill-bw-9 svg path{fill:#dadada!important}.svg-fill-light-grey-2 svg path{fill:#aaa!important}.svg-fill-light-grey-6 svg path{fill:#ccc!important}.svg-fill-blue-13 svg path{fill:#6692f1!important}.svg-fill-blue-19 svg path{fill:#92b1f5!important}.svg-fill-blue-26 svg path{fill:#4dc5eb!important}.svg-hover-muted svg path{transition:all .3s ease-in-out}.svg-hover-muted:hover svg path{fill:#919191!important}.svg-hover-black svg path{transition:all .3s ease-in-out}.svg-hover-black:hover svg path{fill:#424242!important}.svg-hover-blue-15 svg path{transition:all .3s ease-in-out}.svg-hover-blue-15:hover svg path{fill:#0b49d1!important}.svg-hover-bw6-2 svg path{transition:all .3s ease-in-out}.svg-hover-bw6-2:hover svg path{fill:#6c6c6c!important}.svg-hover-trash-red svg path{transition:all .3s ease-in-out}.svg-hover-trash-red:hover svg path{fill:#ff5050!important}.svg-hover-red-14 svg path{transition:all .3s ease-in-out}.svg-hover-red-14:hover svg path{fill:#c20c0c!important}.svg-size-12 svg{width:12px;height:12px}.svg-size-14 svg{width:14px;height:14px}.svg-size-16 svg{width:16px;height:16px}.svg-size-18 svg{width:18px;height:18px}.svg-size-44-16 svg{width:44px;height:16px}*{margin:0;font-family:Montserrat,sans-serif}html{scroll-behavior:auto!important}.gm-style-iw-chr,.gm-style-iw-tc{display:none}.gm-style .gm-style-iw-c{border-radius:0}.gm-style-iw{overflow-y:auto!important;overflow-x:hidden!important}.gm-style-iw>div{overflow:visible!important}.infoWindow{overflow:hidden!important}.gm-style-iw-d,.gm-style-iw.gm-style-iw-c{max-height:350px!important}::ng-deep .popover{--bs-popover-border-width: 0;--bs-popover-body-padding-y: 0;--bs-popover-body-padding-x: 0}::ng-deep .popover .popover-arrow{display:none}.border-filter{width:100%;height:1px;border-radius:1px;margin:4px 0;background-color:#424242}.money-filter{padding:10px 6px 6px;width:300px}.money-filter .filter-header{padding-left:3px}.money-filter .filter-header .user-title-text{padding-left:0}.money-filter .money-main-holder{position:relative;width:100%;overflow:hidden}.money-filter .money-main-holder.single-money-main{margin-top:0}.money-filter .money-main-holder .errorForm .input-custom-group .input-icon svg path{fill:#ef5350!important}.money-filter .buttons-holder{padding:0}.money-filter .buttons-holder .button-clear,.money-filter .buttons-holder .button-set{width:140px}.money-filter .single-form-holder{position:relative;margin-bottom:-2px;width:100%}.money-filter .single-form-holder .clear-money-form{top:-4px;right:0}.money-filter .form-header{position:relative;width:100%;padding-left:4px;margin-bottom:4px;transition:height .52s ease-in;cursor:pointer}.money-filter .form-header .form-name{padding-left:2px;line-height:18px;font-size:14px;color:#dadada;-webkit-user-select:none;user-select:none}.money-filter .form-header .form-name-gray{font-size:11px;line-height:18px;color:#aaa;-webkit-user-select:none;user-select:none}.money-filter .form-header .hide-money-form{position:absolute;right:4px;top:0;height:13px;width:13px}.money-filter .form-header .hide-money-form svg-icon{height:8px;width:13px}.money-filter .form-header .hide-money-form svg-icon svg{height:8px;width:13px}.money-filter .form-header .hide-money-form svg-icon svg path{fill:#b7b7b7}.money-filter .form-header .svg_rotate svg{transform:rotate(180deg);transition:transform .2s ease-in-out}.money-filter .form-header .rotate_back svg{transform:rotate(0);transition:transform .2s ease-in-out}.money-filter .clear-money-form{position:absolute;right:28px;top:0;height:20px;width:54px;color:#dadada;font-size:11px;background-color:#fff3;border-radius:2px;cursor:pointer}.money-filter .clear-money-form:hover{background-color:#fff6;color:#dadada}.filter-middle-holder{padding-top:10px!important;width:100%}.filter-middle-holder.location-middle-padding{padding-top:16px;overflow:hidden!important}.filter-middle-holder.location-slider-middle-padding{padding-top:22px;padding-bottom:8px;overflow:hidden!important}.filter-middle-holder.location-slider-middle-padding .ta-ngx-slider,.filter-middle-holder.location-slider-middle-padding .custom-slider-commission{margin-bottom:7px!important}.filter-middle-holder .range-text{padding-left:6px;padding-right:12px;font-weight:400;font-size:14px;line-height:17px;color:#dadada}.filter-middle-holder .range-flex-holder{width:100%}.filter-middle-holder .range-flex-holder .ta-ngx-slider,.filter-middle-holder .range-flex-holder .custom-slider-commission{margin-top:8px;margin-bottom:8px}.filter-middle-holder .range-flex-holder .ta-ngx-slider .custom-slider-text,.filter-middle-holder .range-flex-holder .custom-slider-commission .custom-slider-text{margin-bottom:0!important}.filter-middle-holder .range-flex-holder .ta-ngx-slider .ngx-slider,.filter-middle-holder .range-flex-holder .custom-slider-commission .ngx-slider{height:6px}.filter-middle-holder .range-flex-holder .ta-ngx-slider .ngx-slider .ngx-slider-bar,.filter-middle-holder .range-flex-holder .custom-slider-commission .ngx-slider .ngx-slider-bar{border-radius:4px;background:#3b73ed33!important}.filter-middle-holder .range-flex-holder .ta-ngx-slider .ngx-slider .ngx-slider-pointer,.filter-middle-holder .range-flex-holder .custom-slider-commission .ngx-slider .ngx-slider-pointer{width:58px;height:24px;box-shadow:none!important;border:none!important;outline:none!important}.filter-middle-holder .range-flex-holder .ta-ngx-slider .ngx-slider .ngx-slider-selection,.filter-middle-holder .range-flex-holder .custom-slider-commission .ngx-slider .ngx-slider-selection{background-color:#255bb9!important}.filter-middle-holder .range-flex-holder .ta-ngx-slider .ngx-slider .ngx-slider-bubble,.filter-middle-holder .range-flex-holder .custom-slider-commission .ngx-slider .ngx-slider-bubble{position:absolute;top:-9.5px;width:58px;height:24px;color:#dadada!important;font-size:12px!important;background-color:#6c6c6c;font-weight:700!important;border-radius:2px;box-shadow:0 0 4px #00000029!important;z-index:1;cursor:pointer}.filter-middle-holder .range-flex-holder .ta-ngx-slider .ngx-slider .ngx-slider-bubble:after,.filter-middle-holder .range-flex-holder .custom-slider-commission .ngx-slider .ngx-slider-bubble:after{display:none;padding-left:2px;content:\"\"}.filter-middle-holder .range-flex-holder .ta-ngx-slider .ngx-slider .ngx-slider-combined,.filter-middle-holder .range-flex-holder .custom-slider-commission .ngx-slider .ngx-slider-combined{opacity:0!important;width:0px!important;padding:0!important}.filter-middle-holder.slider-two-holder{padding-top:18px!important;padding-left:4px;padding-right:4px}.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider-pointer,.filter-middle-holder.slider-two-holder .custom-slider-commission .ngx-slider-pointer{width:24px;height:24px}.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider-bubble,.filter-middle-holder.slider-two-holder .custom-slider-commission .ngx-slider-bubble{width:24px;height:24px;overflow:hidden}.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider-pointer:after,.filter-middle-holder.slider-two-holder .custom-slider-commission .ngx-slider-pointer:after{content:\"\";display:none}.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider-pointer-min,.filter-middle-holder.slider-two-holder .custom-slider-commission .ngx-slider-pointer-min,.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider-pointer-max,.filter-middle-holder.slider-two-holder .custom-slider-commission .ngx-slider-pointer-max{background-color:#dadada!important;border-radius:2px!important;box-shadow:0 0 4px #00000026!important}.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider,.filter-middle-holder.slider-two-holder .money-slider-filter .ngx-slider{margin:14px 0 16px!important}.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider-bar-wrapper,.filter-middle-holder.slider-two-holder .money-slider-filter .ngx-slider-bar-wrapper{padding-top:10px!important}.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider-bubble,.filter-middle-holder.slider-two-holder .money-slider-filter .ngx-slider-bubble{display:none}.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider-bar,.filter-middle-holder.slider-two-holder .money-slider-filter .ngx-slider-bar{border-radius:4px;background:#3b73ed33!important}.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider-pointer,.filter-middle-holder.slider-two-holder .money-slider-filter .ngx-slider-pointer{width:24px;height:18px}.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider-pointer-min,.filter-middle-holder.slider-two-holder .money-slider-filter .ngx-slider-pointer-min,.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider-pointer-max,.filter-middle-holder.slider-two-holder .money-slider-filter .ngx-slider-pointer-max{background-color:#3b73ed!important;border-radius:2px!important;box-shadow:0 0 4px #00000026!important}.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider-selection,.filter-middle-holder.slider-two-holder .money-slider-filter .ngx-slider-selection{background:#424242!important}.filter-middle-holder.closePointers .ta-ngx-slider .ngx-slider-pointer-min,.filter-middle-holder.closePointers .custom-slider-commission .ngx-slider-pointer-min,.filter-middle-holder.closePointers .ta-ngx-slider .ngx-slider-pointer-max,.filter-middle-holder.closePointers .custom-slider-commission .ngx-slider-pointer-max{box-shadow:.3px -.49px 4.4px #0000004d!important}.filter-middle-holder.areaFilterPadding{padding-bottom:10px}.multiMoneyForm .money-top-border-magin{margin:8px 0 6px}.multiMoneyForm .money-bottom-border-magin{margin:18px 0 12px}.multiMoneyForm .form-border{margin:18px 0 6px}.multiMoneyForm .multi-form-holder{width:100%}.multiMoneyForm .hiddenFormTitle{margin-bottom:4px}.multiMoneyForm .hiddenFormBorder{margin:0 0 8px}\n"], dependencies: [{ kind: "ngmodule", type:
111
110
  // modules
112
- CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: NgbModule }, { kind: "ngmodule", type: HttpClientModule }, { kind: "ngmodule", type: SvgIconModule }, { kind: "component", type: CaNgxSliderComponent, selector: "app-ca-ngx-slider", inputs: ["sliderTemplate", "sliderName", "sliderOptions", "startedValue", "customClass", "minValue", "maxValue", "isDisabled"], outputs: ["onUserValueChange", "onUserHighValueChange"] }], animations: [showAnimation('showAnimation'), closeForm('closeForm')], encapsulation: i0.ViewEncapsulation.None }); }
111
+ CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: NgbModule }, { kind: "ngmodule", type: HttpClientModule }, { kind: "ngmodule", type: SvgIconModule }, { kind: "component", type:
112
+ // components
113
+ CaNgxSliderComponent, selector: "app-ca-ngx-slider", inputs: ["sliderTemplate", "sliderName", "sliderOptions", "startedValue", "customClass", "minValue", "maxValue", "isDisabled"], outputs: ["onUserValueChange", "onUserHighValueChange"] }], animations: [showAnimation('showAnimation'), closeForm('closeForm')], encapsulation: i0.ViewEncapsulation.None }); }
113
114
  }
114
115
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CaViolationFilterComponent, decorators: [{
115
116
  type: Component,
@@ -122,8 +123,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
122
123
  HttpClientModule,
123
124
  SvgIconModule,
124
125
  // components
125
- CaInputComponent,
126
- CaNgxSliderComponent,
126
+ CaNgxSliderComponent
127
127
  ], providers: [NgbDropdownConfig, ThousandSeparator, CaSvg], encapsulation: ViewEncapsulation.None, animations: [showAnimation('showAnimation'), closeForm('closeForm')], template: "<ng-container *ngIf=\"type === 'violationFilter'\">\n <div class=\"border-filter money-top-border-magin\"></div>\n <div class=\"single-form-holder\" [formGroup]=\"violationFilterForm\">\n <div\n class=\"filter-middle-holder slider-two-holder\"\n [@showAnimation]=\"!!isFilterActive\"\n [class.closePointers]=\"rangeDiffNum < 670 || rangeDiffNum < 2600\"\n >\n <app-ca-ngx-slider\n [sliderOptions]=\"violationSliderData\"\n [startedValue]=\"rangeValue\"\n [customClass]=\"'custom-slider-filter'\"\n (onUserValueChange)=\"setMinValueRange($event)\"\n (onUserHighValueChange)=\"setMaxValueRange($event)\"\n [sliderTemplate]=\"'range-slider'\"\n [minValue]=\"minValueDragged\"\n [maxValue]=\"maxValueDragged\"\n ></app-ca-ngx-slider>\n </div>\n </div>\n <div class=\"border-filter money-bottom-border-magin form-border\"></div>\n</ng-container>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap\";@import\"https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css\";.ca-font-thin{font-weight:100!important}.ca-font-extra-light{font-weight:200!important}.ca-font-light{font-weight:300!important}.ca-font-regular{font-weight:400!important}.ca-font-medium{font-weight:500!important}.ca-font-semi-bold{font-weight:600!important}.ca-font-bold{font-weight:700!important}.ca-font-extra-bold{font-weight:800!important}.ca-font-black{font-weight:900!important}.pickup-delivery-popover{top:-38px!important;max-width:340px!important}.pickup-delivery-popover.bs-popover-top{top:auto!important;bottom:-38px!important}.pickup-delivery-popover.bs-popover-top .load-component .assigned-load-holder{order:3;margin-top:4px;margin-bottom:0!important}.pickup-delivery-popover.bs-popover-top .load-component .statusBar{order:2;margin-top:4px}.pickup-delivery-popover.bs-popover-top .load-component .animation-three-tabs{order:1}.gps_dropdown_popover{top:-38px;max-width:494px}.gps_dropdown_popover .popover-body{padding:0}.table-progress-popover{background-color:unset!important;margin-left:-10px}.table-progress-popover .progress-dropdown{margin-top:-6px;width:260px;height:200px;background:#2f2f2f;border-radius:3px;padding:8px;box-shadow:0 0 4px #00000026;overflow:hidden;-webkit-animation:progressAnimation .25s ease-in-out;animation:progressAnimation .25s ease-in-out}.table-progress-popover .progress-dropdown .progress-header .progress-title{font-size:18px;font-weight:600;color:#dadada}.table-progress-popover .progress-dropdown .progress-header .progress-title span{font-weight:400}.table-progress-popover .progress-dropdown .progress-header .progress-total{font-size:14px;line-height:17px;color:#dadada}.table-progress-popover .progress-dropdown .table-progress-bar-container{width:100%;height:8px;margin-top:6px;border-radius:2px;overflow:hidden}.table-progress-popover .progress-dropdown .table-progress-bar-container .table-progress-bar{height:100%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-dual-info-container .progress-info-container{width:50%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container{margin-top:10px}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-title{margin-bottom:2px;font-size:11px;font-weight:700;line-height:14px;color:#ffffffb2}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-text{font-size:14px;line-height:18px;color:#dadada}.table-progress-popover .progress-dropdown.credit-dropdown{height:100px}@-webkit-keyframes progressAnimation{0%{height:0px}to{height:220px}}@keyframes progressAnimation{0%{height:0px}to{height:220px}}ngb-popover-window{padding:unset!important;border:unset!important}ngb-popover-window .popover-arrow{display:none!important}ngb-popover-window .popover-body{padding:unset!important}.dispatch-note .popover-body{position:relative;top:-4px;left:-4px}.tooltip{font-size:12px;position:relative}.tooltip.show{opacity:.83}.tooltip.fade:after,.tooltip.fade:before{transform:translateY(-10px);transition:all .15s ease-in-out}.tooltip.fade:hover:after,.tooltip.fade:hover:before{opacity:1;transform:translate(0)}.tooltip-inner{padding:4px 10px;white-space:nowrap;max-width:none;border-radius:3px}.tooltip-inner:empty{padding:0}.placeholder-delete .tooltip-inner{background-color:#f66}.placeholder-delete .arrow:before{border-top-color:#f66}.custom-popup-owners-for-flag .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(126%) translate(-50%)!important;width:130px;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-for-flag .arrow{bottom:-18%;transform:rotate(180deg);left:calc(50% + 2.7rem)}.custom-popup-owners-for-flag .tooltip{opacity:.93!important;width:0}.custom-popup-owners{z-index:999}.custom-popup-owners .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners .tooltip{transform:translateY(-61px)!important}.custom-popup-owners-year{z-index:999}.custom-popup-owners-year .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners-year .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners-year .tooltip{transform:translate(70px,-61px)!important}.custom-popup-owners-info .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-100%) translate(-10%);width:200px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;margin-top:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info .tooltip{opacity:.93;width:0}.custom-popup-owners-info .arrow{display:none}.custom-popup-owners-info #phone-inside{position:relative;right:26px;bottom:0}.custom-popup-owners-info-at .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-108%) translate(-7%);width:270px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info-at .tooltip{opacity:1;width:0}.custom-popup-owners-info-at .arrow{display:none}.custom-popup-owners-for-tag .tooltip-inner{color:#3b3b3b;background-color:#fff;width:100px;border-radius:3px;box-shadow:0 0 3px #0003!important}.custom-popup-owners-for-tag .tooltip{top:5px!important}.custom-popup-owners-for-tag .arrow{bottom:-24%}.align-items-flex-start{justify-content:center;align-items:center}.align-items-flex-end{display:flex;justify-content:center;flex-direction:column;align-self:flex-end;align-items:flex-start}.label-add{align-self:flex-start}.fadeInLoad{animation:fadeInLoad .25s}@keyframes fadeInLoad{0%{opacity:0}to{opacity:1}}.fadeIn{opacity:1;-webkit-transition:.25s;-moz-transition:.25s;-o-transition:.25s;transition:.25s}.thisText:hover .fadeIn{opacity:0}.fadeInLoad{animation-name:example;animation-duration:.25s}@keyframes example{0%{transform:scale(.5)}to{transform:scale(1)}}.tooltip.tooltip-table-icons{left:12px!important;opacity:1}.tooltip.tooltip-table-icons .arrow{display:none!important}.tooltip.tooltip-table-icons .tooltip-inner{border-radius:0 50px 50px;background:#28529f}.tooltip.show{opacity:1;animation:fadeIn ease .5s!important;-webkit-animation:fadeIn ease .5s!important;-moz-animation:fadeIn ease .5s!important;-o-animation:fadeIn ease .5s!important;-ms-animation:fadeIn ease .5s!important}.ta-tooltip{position:absolute;font-size:12px;text-align:center;color:#fff;line-height:22px;z-index:999999!important;opacity:0;white-space:nowrap;transform:scale(.7)}.ta-tooltip.ta-tooltip-show{opacity:.85;transform:scale(1);padding:0 12px}.ta-tooltip.ta-tooltip-bottom-right,.ta-tooltip.ta-tooltip-bottom-right-corner{transform-origin:top left;border-radius:0 15px 15px}.ta-tooltip.ta-tooltip-bottom-left{transform-origin:top right;border-radius:15px 0 15px 15px}@keyframes scaleItem{0%{transform:scale(.4)}to{transform:scale(1)}}.app-ca-main-tooltip{pointer-events:none}.app-ca-main-tooltip .tooltip-inner{padding:0;background-color:transparent;pointer-events:none}.app-ca-main-tooltip .tooltip-inner .tooltip-holder{display:flex;font-size:11px;font-weight:700;border-radius:2px;padding:2px 8px;animation:scaleItem .3s;white-space:normal}.app-ca-main-tooltip .tooltip-inner .tooltip-holder:empty{padding:0}.tooltip-arrow{display:none!important}.trucks.semitruck svg path,.trucks.semisleeper svg path,.trucks.flatbed svg path,.trucks.stepdeck svg path,.trucks.lowboyrgn svg path,.trucks.chassis svg path,.trucks.conestoga svg path,.trucks.sidekit svg path,.trucks.container svg path,.trailers.semitruck svg path,.trailers.semisleeper svg path,.trailers.flatbed svg path,.trailers.stepdeck svg path,.trailers.lowboyrgn svg path,.trailers.chassis svg path,.trailers.conestoga svg path,.trailers.sidekit svg path,.trailers.container svg path{fill:#92b1f5}.trucks.boxtruck svg path,.trucks.reefertruck svg path,.trucks.cargovan svg path,.trucks.dryvan svg path,.trucks.reefer svg path,.trailers.boxtruck svg path,.trailers.reefertruck svg path,.trailers.cargovan svg path,.trailers.dryvan svg path,.trailers.reefer svg path{fill:#fbc88b}.trucks.dumptruck svg path,.trucks.cementtruck svg path,.trucks.garbagetruck svg path,.trucks.enddump svg path,.trucks.bottomdump svg path,.trucks.hopper svg path,.trucks.tanker svg path,.trucks.pneumatictanker svg path,.trailers.dumptruck svg path,.trailers.cementtruck svg path,.trailers.garbagetruck svg path,.trailers.enddump svg path,.trailers.bottomdump svg path,.trailers.hopper svg path,.trailers.tanker svg path,.trailers.pneumatictanker svg path{fill:#ed9292}.trucks.towtruck svg path,.trucks.carhauler svg path,.trucks.spotter svg path,.trucks.carhaulerstigner svg path,.trailers.towtruck svg path,.trailers.carhauler svg path,.trailers.spotter svg path,.trailers.carhaulerstigner svg path{fill:#86c9c3}.trucks .svgtext-template-text,.trailers .svgtext-template-text{color:#fff;transition:color .3s ease-in-out}.colors .black svg #droplet{fill:#6c6c6c}.colors .brown svg #droplet{fill:#a1887f}.colors .darkgreen svg #droplet{fill:#4db6a2}.colors .lightgreen svg #droplet{fill:#81c784}.colors .darkblue svg #droplet{fill:#546fd2}.colors .lightblue svg #droplet{fill:#64b5f6}.colors .gray svg #droplet{fill:#aaa}.colors .purple svg #droplet{fill:#ba68c8}.colors .gold svg #droplet{fill:#bcad79}.colors .silver svg #droplet{fill:#dadada}.colors .red svg #droplet{fill:#f96b69}.colors .pink svg #droplet{fill:#f26ec2}.colors .white svg #droplet{fill:#f1f1f1}.colors .orange svg #droplet{fill:#ff8a65}.colors .yellow svg #droplet{fill:#ffd54f}.colors:hover{transition:all .3s ease-in-out}.colors:hover .black svg #droplet{fill:#3c3c3c}.colors:hover .brown svg #droplet{fill:#8d6e63}.colors:hover .darkgreen svg #droplet{fill:#26a690}.colors:hover .lightgreen svg #droplet{fill:#66bb6a}.colors:hover .darkblue svg #droplet{fill:#304fc1}.colors:hover .lightblue svg #droplet{fill:#42a5f5}.colors:hover .gray svg #droplet{fill:#919191}.colors:hover .purple svg #droplet{fill:#ab47bc}.colors:hover .gold svg #droplet{fill:#aa9c6e}.colors:hover .silver svg #droplet{fill:#b7b7b7}.colors:hover .red svg #droplet{fill:#ef5350}.colors:hover .pink svg #droplet{fill:#fa4daa}.colors:hover .white svg #droplet{fill:#fff}.colors:hover .orange svg #droplet{fill:#ff7043}.colors:hover .yellow svg #droplet{fill:#ffca28}.text-color-black{color:#424242!important}.text-color-black::-moz-selection{background:#42424233!important;color:#424242!important}.text-color-black::selection{background:#42424233!important;color:#424242!important}.text-color-black-2{color:#2f2f2f!important}.text-color-black-2::-moz-selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-black-2::selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-muted{color:#919191!important}.text-color-muted::-moz-selection{background:#91919133!important;color:#919191!important}.text-color-muted::selection{background:#91919133!important;color:#919191!important}.text-color-green{color:#56b4ac!important}.text-color-green::-moz-selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-green::selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-blue-13{color:#6692f1!important}.text-color-blue-13::-moz-selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-13::selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-18{color:#3b73ed!important}.text-color-blue-18::-moz-selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-blue-18::selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-red-10{color:#e66767!important}.text-color-red-10::-moz-selection{background:#e6676733!important;color:#e66767!important}.text-color-red-10::selection{background:#e6676733!important;color:#e66767!important}.text-color-light-grey{color:#e5e5e5!important}.text-color-light-grey::-moz-selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey::selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey-2{color:#aaa!important}.text-color-light-grey-2::-moz-selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-2::selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-6{color:#ccc!important}.text-color-light-grey-6::-moz-selection{color:#ccc!important;background:#aaa3!important}.text-color-light-grey-6::selection{color:#ccc!important;background:#aaa3!important}.text-color-white{color:#dadada!important}.text-color-white::-moz-selection{color:#dadada!important;background:#fff3!important}.text-color-white::selection{color:#dadada!important;background:#fff3!important}.text-color-white-4{color:#ffffffb2!important}.text-color-white-4::-moz-selection{color:#ffffffb2!important;background:#fff3!important}.text-color-white-4::selection{color:#ffffffb2!important;background:#fff3!important}.text-color-dark-grey{color:#6c6c6c!important}.text-color-dark-grey::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-dark-grey::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2{color:#6c6c6c!important}.text-color-bw6-2::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9{color:#dadada!important}.text-color-bw-9::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-grey{color:#919191!important}.text-color-grey::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey::selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::-moz-selection,.text-color-grey .marker-bold-text::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::selection,.text-color-grey .marker-bold-text::selection{color:#919191!important;background:#91919133!important}.text-size-11{font-size:11px!important;line-height:14px!important}.text-size-14{font-size:14px!important;line-height:18px!important}.text-size-16{font-size:16px!important;line-height:19px!important}.text-size-18{font-size:18px!important;line-height:22px!important}.text-size-26{font-size:26px!important;line-height:32px!important}.text-size-28{font-size:28px!important;line-height:34px!important}@keyframes dropdown{0%{margin-top:20px;visibility:hidden;opacity:0}to{opacity:1;margin-top:10px;visibility:visible!important}}@keyframes dropup{0%{margin-top:-19px;visibility:hidden;opacity:0}to{margin-top:inherit;visibility:visible!important}}.svg-fill-black svg path{fill:#424242!important}.svg-fill-muted svg path{fill:#919191!important}.svg-fill-bw-9 svg path{fill:#dadada!important}.svg-fill-light-grey-2 svg path{fill:#aaa!important}.svg-fill-light-grey-6 svg path{fill:#ccc!important}.svg-fill-blue-13 svg path{fill:#6692f1!important}.svg-fill-blue-19 svg path{fill:#92b1f5!important}.svg-fill-blue-26 svg path{fill:#4dc5eb!important}.svg-hover-muted svg path{transition:all .3s ease-in-out}.svg-hover-muted:hover svg path{fill:#919191!important}.svg-hover-black svg path{transition:all .3s ease-in-out}.svg-hover-black:hover svg path{fill:#424242!important}.svg-hover-blue-15 svg path{transition:all .3s ease-in-out}.svg-hover-blue-15:hover svg path{fill:#0b49d1!important}.svg-hover-bw6-2 svg path{transition:all .3s ease-in-out}.svg-hover-bw6-2:hover svg path{fill:#6c6c6c!important}.svg-hover-trash-red svg path{transition:all .3s ease-in-out}.svg-hover-trash-red:hover svg path{fill:#ff5050!important}.svg-hover-red-14 svg path{transition:all .3s ease-in-out}.svg-hover-red-14:hover svg path{fill:#c20c0c!important}.svg-size-12 svg{width:12px;height:12px}.svg-size-14 svg{width:14px;height:14px}.svg-size-16 svg{width:16px;height:16px}.svg-size-18 svg{width:18px;height:18px}.svg-size-44-16 svg{width:44px;height:16px}*{margin:0;font-family:Montserrat,sans-serif}html{scroll-behavior:auto!important}.gm-style-iw-chr,.gm-style-iw-tc{display:none}.gm-style .gm-style-iw-c{border-radius:0}.gm-style-iw{overflow-y:auto!important;overflow-x:hidden!important}.gm-style-iw>div{overflow:visible!important}.infoWindow{overflow:hidden!important}.gm-style-iw-d,.gm-style-iw.gm-style-iw-c{max-height:350px!important}::ng-deep .popover{--bs-popover-border-width: 0;--bs-popover-body-padding-y: 0;--bs-popover-body-padding-x: 0}::ng-deep .popover .popover-arrow{display:none}.border-filter{width:100%;height:1px;border-radius:1px;margin:4px 0;background-color:#424242}.money-filter{padding:10px 6px 6px;width:300px}.money-filter .filter-header{padding-left:3px}.money-filter .filter-header .user-title-text{padding-left:0}.money-filter .money-main-holder{position:relative;width:100%;overflow:hidden}.money-filter .money-main-holder.single-money-main{margin-top:0}.money-filter .money-main-holder .errorForm .input-custom-group .input-icon svg path{fill:#ef5350!important}.money-filter .buttons-holder{padding:0}.money-filter .buttons-holder .button-clear,.money-filter .buttons-holder .button-set{width:140px}.money-filter .single-form-holder{position:relative;margin-bottom:-2px;width:100%}.money-filter .single-form-holder .clear-money-form{top:-4px;right:0}.money-filter .form-header{position:relative;width:100%;padding-left:4px;margin-bottom:4px;transition:height .52s ease-in;cursor:pointer}.money-filter .form-header .form-name{padding-left:2px;line-height:18px;font-size:14px;color:#dadada;-webkit-user-select:none;user-select:none}.money-filter .form-header .form-name-gray{font-size:11px;line-height:18px;color:#aaa;-webkit-user-select:none;user-select:none}.money-filter .form-header .hide-money-form{position:absolute;right:4px;top:0;height:13px;width:13px}.money-filter .form-header .hide-money-form svg-icon{height:8px;width:13px}.money-filter .form-header .hide-money-form svg-icon svg{height:8px;width:13px}.money-filter .form-header .hide-money-form svg-icon svg path{fill:#b7b7b7}.money-filter .form-header .svg_rotate svg{transform:rotate(180deg);transition:transform .2s ease-in-out}.money-filter .form-header .rotate_back svg{transform:rotate(0);transition:transform .2s ease-in-out}.money-filter .clear-money-form{position:absolute;right:28px;top:0;height:20px;width:54px;color:#dadada;font-size:11px;background-color:#fff3;border-radius:2px;cursor:pointer}.money-filter .clear-money-form:hover{background-color:#fff6;color:#dadada}.filter-middle-holder{padding-top:10px!important;width:100%}.filter-middle-holder.location-middle-padding{padding-top:16px;overflow:hidden!important}.filter-middle-holder.location-slider-middle-padding{padding-top:22px;padding-bottom:8px;overflow:hidden!important}.filter-middle-holder.location-slider-middle-padding .ta-ngx-slider,.filter-middle-holder.location-slider-middle-padding .custom-slider-commission{margin-bottom:7px!important}.filter-middle-holder .range-text{padding-left:6px;padding-right:12px;font-weight:400;font-size:14px;line-height:17px;color:#dadada}.filter-middle-holder .range-flex-holder{width:100%}.filter-middle-holder .range-flex-holder .ta-ngx-slider,.filter-middle-holder .range-flex-holder .custom-slider-commission{margin-top:8px;margin-bottom:8px}.filter-middle-holder .range-flex-holder .ta-ngx-slider .custom-slider-text,.filter-middle-holder .range-flex-holder .custom-slider-commission .custom-slider-text{margin-bottom:0!important}.filter-middle-holder .range-flex-holder .ta-ngx-slider .ngx-slider,.filter-middle-holder .range-flex-holder .custom-slider-commission .ngx-slider{height:6px}.filter-middle-holder .range-flex-holder .ta-ngx-slider .ngx-slider .ngx-slider-bar,.filter-middle-holder .range-flex-holder .custom-slider-commission .ngx-slider .ngx-slider-bar{border-radius:4px;background:#3b73ed33!important}.filter-middle-holder .range-flex-holder .ta-ngx-slider .ngx-slider .ngx-slider-pointer,.filter-middle-holder .range-flex-holder .custom-slider-commission .ngx-slider .ngx-slider-pointer{width:58px;height:24px;box-shadow:none!important;border:none!important;outline:none!important}.filter-middle-holder .range-flex-holder .ta-ngx-slider .ngx-slider .ngx-slider-selection,.filter-middle-holder .range-flex-holder .custom-slider-commission .ngx-slider .ngx-slider-selection{background-color:#255bb9!important}.filter-middle-holder .range-flex-holder .ta-ngx-slider .ngx-slider .ngx-slider-bubble,.filter-middle-holder .range-flex-holder .custom-slider-commission .ngx-slider .ngx-slider-bubble{position:absolute;top:-9.5px;width:58px;height:24px;color:#dadada!important;font-size:12px!important;background-color:#6c6c6c;font-weight:700!important;border-radius:2px;box-shadow:0 0 4px #00000029!important;z-index:1;cursor:pointer}.filter-middle-holder .range-flex-holder .ta-ngx-slider .ngx-slider .ngx-slider-bubble:after,.filter-middle-holder .range-flex-holder .custom-slider-commission .ngx-slider .ngx-slider-bubble:after{display:none;padding-left:2px;content:\"\"}.filter-middle-holder .range-flex-holder .ta-ngx-slider .ngx-slider .ngx-slider-combined,.filter-middle-holder .range-flex-holder .custom-slider-commission .ngx-slider .ngx-slider-combined{opacity:0!important;width:0px!important;padding:0!important}.filter-middle-holder.slider-two-holder{padding-top:18px!important;padding-left:4px;padding-right:4px}.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider-pointer,.filter-middle-holder.slider-two-holder .custom-slider-commission .ngx-slider-pointer{width:24px;height:24px}.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider-bubble,.filter-middle-holder.slider-two-holder .custom-slider-commission .ngx-slider-bubble{width:24px;height:24px;overflow:hidden}.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider-pointer:after,.filter-middle-holder.slider-two-holder .custom-slider-commission .ngx-slider-pointer:after{content:\"\";display:none}.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider-pointer-min,.filter-middle-holder.slider-two-holder .custom-slider-commission .ngx-slider-pointer-min,.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider-pointer-max,.filter-middle-holder.slider-two-holder .custom-slider-commission .ngx-slider-pointer-max{background-color:#dadada!important;border-radius:2px!important;box-shadow:0 0 4px #00000026!important}.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider,.filter-middle-holder.slider-two-holder .money-slider-filter .ngx-slider{margin:14px 0 16px!important}.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider-bar-wrapper,.filter-middle-holder.slider-two-holder .money-slider-filter .ngx-slider-bar-wrapper{padding-top:10px!important}.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider-bubble,.filter-middle-holder.slider-two-holder .money-slider-filter .ngx-slider-bubble{display:none}.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider-bar,.filter-middle-holder.slider-two-holder .money-slider-filter .ngx-slider-bar{border-radius:4px;background:#3b73ed33!important}.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider-pointer,.filter-middle-holder.slider-two-holder .money-slider-filter .ngx-slider-pointer{width:24px;height:18px}.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider-pointer-min,.filter-middle-holder.slider-two-holder .money-slider-filter .ngx-slider-pointer-min,.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider-pointer-max,.filter-middle-holder.slider-two-holder .money-slider-filter .ngx-slider-pointer-max{background-color:#3b73ed!important;border-radius:2px!important;box-shadow:0 0 4px #00000026!important}.filter-middle-holder.slider-two-holder .ta-ngx-slider .ngx-slider-selection,.filter-middle-holder.slider-two-holder .money-slider-filter .ngx-slider-selection{background:#424242!important}.filter-middle-holder.closePointers .ta-ngx-slider .ngx-slider-pointer-min,.filter-middle-holder.closePointers .custom-slider-commission .ngx-slider-pointer-min,.filter-middle-holder.closePointers .ta-ngx-slider .ngx-slider-pointer-max,.filter-middle-holder.closePointers .custom-slider-commission .ngx-slider-pointer-max{box-shadow:.3px -.49px 4.4px #0000004d!important}.filter-middle-holder.areaFilterPadding{padding-bottom:10px}.multiMoneyForm .money-top-border-magin{margin:8px 0 6px}.multiMoneyForm .money-bottom-border-magin{margin:18px 0 12px}.multiMoneyForm .form-border{margin:18px 0 6px}.multiMoneyForm .multi-form-holder{width:100%}.multiMoneyForm .hiddenFormTitle{margin-bottom:4px}.multiMoneyForm .hiddenFormBorder{margin:0 0 8px}\n"] }]
128
128
  }], ctorParameters: () => [{ type: i1.UntypedFormBuilder }, { type: i2.ThousandSeparatorPipe }], propDecorators: { type: [{
129
129
  type: Input
@@ -132,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
132
132
  }], toDoSubType: [{
133
133
  type: Input
134
134
  }] } });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtdmlvbGF0aW9uLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1maWx0ZXJzL2NvbXBvbmVudHMvY2EtdmlvbGF0aW9uLWZpbHRlci9jYS12aW9sYXRpb24tZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWZpbHRlcnMvY29tcG9uZW50cy9jYS12aW9sYXRpb24tZmlsdGVyL2NhLXZpb2xhdGlvbi1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFFTCxpQkFBaUIsR0FFbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFdBQVcsRUFHWCxtQkFBbUIsRUFDbkIsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3hELFVBQVU7QUFDVixPQUFPLEVBQUUsb0JBQW9CLElBQUksYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTFFLFFBQVE7QUFDUixPQUFPLEVBQUUscUJBQXFCLElBQUksaUJBQWlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN2RyxPQUFPLEVBQUUsU0FBUyxJQUFJLEtBQUssRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRW5FLGFB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SUFDL0MsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzsrR0E5R1UsMEJBQTBCO21HQUExQiwwQkFBMEIsOEpBSjFCLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLDBCQ3ZFMUQsMDZCQXNCQTtnQkRvQ0ksVUFBVTtnQkFDVixZQUFZLGtJQUNaLFdBQVcsMExBQ1gsbUJBQW1CLCtLQUNuQixTQUFTLDhCQUNULGdCQUFnQiw4QkFDaEIsYUFBYSwrQkFHYixvQkFBb0IseU9BTVYsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEVBQUUsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDOzs0RkFFekQsMEJBQTBCO2tCQXJCdEMsU0FBUzsrQkFDRSx5QkFBeUIsY0FDdkIsSUFBSSxXQUNQO3dCQUNQLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsU0FBUzt3QkFDVCxnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLG9CQUFvQjtxQkFDckIsYUFHVSxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFDekMsaUJBQWlCLENBQUMsSUFBSSxjQUN6QixDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsRUFBRSxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7MkhBRzNELElBQUk7c0JBQVosS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBPbkRlc3Ryb3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgRm9ybXNNb2R1bGUsXG4gIFVudHlwZWRGb3JtQnVpbGRlcixcbiAgVW50eXBlZEZvcm1Hcm91cCxcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBDaGFuZ2VDb250ZXh0LCBPcHRpb25zIH0gZnJvbSAnQGFuZ3VsYXItc2xpZGVyL25neC1zbGlkZXInO1xuXG4vLyBtb2R1bGVzXG5pbXBvcnQgeyBBbmd1bGFyU3ZnSWNvbk1vZHVsZSBhcyBTdmdJY29uTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1zdmctaWNvbic7XG5pbXBvcnQgeyBOZ2JEcm9wZG93bkNvbmZpZywgTmdiTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuXG4vLyBwaXBlc1xuaW1wb3J0IHsgVGhvdXNhbmRTZXBhcmF0b3JQaXBlIGFzIFRob3VzYW5kU2VwYXJhdG9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vcGlwZXMvdGhvdXNhbmQtc2VwYXJhdG9yLnBpcGUnO1xuaW1wb3J0IHsgQ2FTdmdQaXBlIGFzIENhU3ZnIH0gZnJvbSAnLi4vLi4vLi4vLi4vcGlwZXMvY2Etc3ZnLnBpcGUnO1xuXG4vLyBhbmltYXRpb25zXG5pbXBvcnQgeyBzaG93QW5pbWF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYW5pbWF0aW9ucy9zaG93LmFuaW1hdGlvbic7XG5pbXBvcnQgeyBjbG9zZUZvcm0gfSBmcm9tICcuLi8uLi8uLi8uLi9hbmltYXRpb25zL2Nsb3NlLWZvcm0uYW5pbWF0aW9uJztcblxuLy8gc3ZnIHJvdXRlc1xuaW1wb3J0IHsgQ2FGaWx0ZXJzU3ZnUm91dGVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvc3ZnLXJvdXRlcy9jYS1maWx0ZXJzLXN2Zy1yb3V0ZXMnO1xuXG4vLyBlbnVtc1xuaW1wb3J0IHsgVG9vbGJhckZpbHRlclN0cmluZ0VudW0gYXMgVG9vbGJhckZpbHRlclN0cmluZyB9IGZyb20gJy4uLy4uLy4uL2NhLW1hcC9lbnVtcy90b29sYmFyLWZpbHRlci1zdHJpbmcuZW51bSc7XG5cbi8vIG1vZGVsc1xuaW1wb3J0IHsgZmlsdGVyT3V0cHV0IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2ZpbHRlci1vdXRwdXQubW9kZWwnO1xuaW1wb3J0IHsgZmlsdGVyT3V0cHV0V2l0aFBhcmFtcyB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9maWx0ZXItb3V0cHV0LXBhcmFtcy5tb2RlbCc7XG5cbi8vIGhlbHBlcnNcbmltcG9ydCB7IEZpbHRlckhlbHBlciB9IGZyb20gJy4uLy4uL3V0aWxzL2hlbHBlcnMvZmlsdGVyLmhlbHBlcic7XG5cbi8vIGNvbXBvbmVudHNcbmltcG9ydCB7IENhSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jYS1pbnB1dC9jYS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FOZ3hTbGlkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jYS1uZ3gtc2xpZGVyL2NhLW5neC1zbGlkZXIuY29tcG9uZW50JztcblxuLy8gY29uc3RhbnRzXG5pbXBvcnQgeyBGaWx0ZXJDb25maWdDb25zdGFudHMgfSBmcm9tICcuLi8uLi91dGlscy9jb25zdGFudHMvZmlsdGVyLWNvbmZpZy5jb25zdGFudHMnO1xuXG4vLyB2YWxpZGF0b3JzXG5pbXBvcnQgeyByYW5nZVZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvcmFuZ2UudmFsaWRhdG9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNhLXZpb2xhdGlvbi1maWx0ZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgLy8gbW9kdWxlc1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE5nYk1vZHVsZSxcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICAgIFN2Z0ljb25Nb2R1bGUsXG4gICAgLy8gY29tcG9uZW50c1xuICAgIENhSW5wdXRDb21wb25lbnQsXG4gICAgQ2FOZ3hTbGlkZXJDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jYS12aW9sYXRpb24tZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2EtdmlvbGF0aW9uLWZpbHRlci5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtOZ2JEcm9wZG93bkNvbmZpZywgVGhvdXNhbmRTZXBhcmF0b3IsIENhU3ZnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgYW5pbWF0aW9uczogW3Nob3dBbmltYXRpb24oJ3Nob3dBbmltYXRpb24nKSwgY2xvc2VGb3JtKCdjbG9zZUZvcm0nKV0sXG59KVxuZXhwb3J0IGNsYXNzIENhVmlvbGF0aW9uRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSB0eXBlITogc3RyaW5nO1xuICBASW5wdXQoKSBpc0ZpbHRlckFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSB0b0RvU3ViVHlwZSE6IHN0cmluZztcblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHVibGljIHZpb2xhdGlvbkZpbHRlckZvcm0hOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBtaW5WYWx1ZVJhbmdlOiBzdHJpbmcgPSBUb29sYmFyRmlsdGVyU3RyaW5nLk1JTl9WQUxVRTtcbiAgcHVibGljIG1heFZhbHVlUmFuZ2U6IHN0cmluZyA9IFRvb2xiYXJGaWx0ZXJTdHJpbmcuVklPTEFUSU9OX01BWF9WQUxVRTtcblxuICBwdWJsaWMgbWluVmFsdWVTZXQ6IHN0cmluZyA9IFRvb2xiYXJGaWx0ZXJTdHJpbmcuTUlOX1ZBTFVFO1xuICBwdWJsaWMgbWF4VmFsdWVTZXQ6IHN0cmluZyA9IFRvb2xiYXJGaWx0ZXJTdHJpbmcuVklPTEFUSU9OX01BWF9WQUxVRTtcblxuICBwdWJsaWMgbWluVmFsdWVEcmFnZ2VkOiBudW1iZXIgPSAwO1xuICBwdWJsaWMgbWF4VmFsdWVEcmFnZ2VkOiBudW1iZXIgPSA1O1xuXG4gIHB1YmxpYyByYW5nZVZhbHVlOiBudW1iZXIgPSAwO1xuICBwdWJsaWMgcmFuZ2VEaWZmTnVtOiBudW1iZXIgPSAwO1xuXG4gIHB1YmxpYyB2aW9sYXRpb25TbGlkZXJEYXRhOiBPcHRpb25zID1cbiAgICBGaWx0ZXJDb25maWdDb25zdGFudHMuVklPTEFUSU9OX1NMSURFUl9EQVRBO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcblxuICAgIC8vIHBpcGVzXG4gICAgcHJpdmF0ZSB0aG91c2FuZFNlcGFyYXRvcjogVGhvdXNhbmRTZXBhcmF0b3JcbiAgKSB7fVxuXG4gIHB1YmxpYyB0cmFja0J5SWRlbnRpdHkgPSAoaW5kZXg6IG51bWJlciwgXzogYW55KTogbnVtYmVyID0+IGluZGV4O1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xuICB9XG5cbiAgcHVibGljIHNldE1pblZhbHVlUmFuZ2UobW9kOiBudW1iZXIgfCBDaGFuZ2VDb250ZXh0KTogdm9pZCB7XG4gICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy50aG91c2FuZFNlcGFyYXRvci50cmFuc2Zvcm0obW9kKTtcbiAgICB0aGlzLnZpb2xhdGlvbkZpbHRlckZvcm0/LmdldCgnZnJvbScpPy5zZXRWYWx1ZShmcm9tVmFsdWUpO1xuICAgIHRoaXMudmlvbGF0aW9uRmlsdGVyRm9ybT8uZ2V0KCdmcm9tJyk/Lm1hcmtBc0RpcnR5KCk7XG4gIH1cblxuICBwdWJsaWMgc2V0TWF4VmFsdWVSYW5nZShtb2Q6IG51bWJlciB8IENoYW5nZUNvbnRleHQpOiB2b2lkIHtcbiAgICBjb25zdCB0b1ZhbHVlID0gdGhpcy50aG91c2FuZFNlcGFyYXRvci50cmFuc2Zvcm0obW9kKTtcbiAgICB0aGlzLnZpb2xhdGlvbkZpbHRlckZvcm0/LmdldCgndG8nKT8uc2V0VmFsdWUodG9WYWx1ZSk7XG4gICAgdGhpcy52aW9sYXRpb25GaWx0ZXJGb3JtPy5nZXQoJ3RvJyk/Lm1hcmtBc0RpcnR5KCk7XG4gIH1cblxuICBwdWJsaWMgb25GaWx0ZXJDbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLnZpb2xhdGlvbkZpbHRlckZvcm0ucmVzZXQoKTtcbiAgICB0aGlzLnJhbmdlVmFsdWUgPSAwO1xuICAgIHRoaXMubWluVmFsdWVEcmFnZ2VkID0gMDtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLm1heFZhbHVlUmFuZ2UgPSBUb29sYmFyRmlsdGVyU3RyaW5nLlZJT0xBVElPTl9NQVhfVkFMVUU7XG4gICAgdGhpcy5tYXhWYWx1ZVNldCA9IFRvb2xiYXJGaWx0ZXJTdHJpbmcuVklPTEFUSU9OX01BWF9WQUxVRTtcblxuICAgIHRoaXMudmlvbGF0aW9uRmlsdGVyRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoXG4gICAgICB7XG4gICAgICAgIGZyb206IFtudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgdG86IG51bGwsXG4gICAgICB9LFxuICAgICAgeyB2YWxpZGF0b3JzOiByYW5nZVZhbGlkYXRvcigpIH1cbiAgICApO1xuICB9XG5cbiAgcHVibGljIGNsZWFyQWxsKFxuICAgIGV2ZW50PzogRXZlbnRcbiAgKTogZmlsdGVyT3V0cHV0IHwgZmlsdGVyT3V0cHV0V2l0aFBhcmFtcyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKGV2ZW50KSBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIHRoaXMucmFuZ2VWYWx1ZSA9IDA7XG4gICAgdGhpcy5taW5WYWx1ZURyYWdnZWQgPSAwO1xuICAgIHRoaXMudmlvbGF0aW9uRmlsdGVyRm9ybS5yZXNldCgpO1xuXG4gICAgY29uc3QgYWN0aW9uID0gJ0NsZWFyJztcbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgYWN0aW9uLFxuICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgZmlsdGVyVHlwZTogdGhpcy50eXBlLFxuICAgIH07XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBwdWJsaWMgc2V0RmlsdGVyVmFsdWUoXG4gICAgZXZlbnQ6IEV2ZW50IHwgdW5kZWZpbmVkXG4gICk6IGZpbHRlck91dHB1dCB8IGZpbHRlck91dHB1dFdpdGhQYXJhbXMgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gdGhpcy52aW9sYXRpb25GaWx0ZXJGb3JtLmdldFJhd1ZhbHVlKCk7XG4gICAgY29uc3Qgc3ViVHlwZSA9XG4gICAgICB0aGlzLnRvRG9TdWJUeXBlID8/XG4gICAgICBUb29sYmFyRmlsdGVyU3RyaW5nLkVNUFRZX1NUUklOR19QTEFDRUhPTERFUi50b1N0cmluZygpO1xuXG4gICAgY29uc3QgYWN0aW9uID0gJ1NldCc7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGZpbHRlclR5cGU6IHRoaXMudHlwZSxcbiAgICAgIGFjdGlvbixcbiAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgc3ViVHlwZSxcbiAgICB9O1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgcHVibGljIGdldFN2Z1BhdGgocHJvcGVydHlOYW1lOiBrZXlvZiB0eXBlb2YgQ2FGaWx0ZXJzU3ZnUm91dGVzKTogc3RyaW5nIHtcbiAgICByZXR1cm4gRmlsdGVySGVscGVyLmdldFN2Z1BhdGgocHJvcGVydHlOYW1lKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09ICd2aW9sYXRpb25GaWx0ZXInXCI+XG4gIDxkaXYgY2xhc3M9XCJib3JkZXItZmlsdGVyIG1vbmV5LXRvcC1ib3JkZXItbWFnaW5cIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInNpbmdsZS1mb3JtLWhvbGRlclwiIFtmb3JtR3JvdXBdPVwidmlvbGF0aW9uRmlsdGVyRm9ybVwiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZmlsdGVyLW1pZGRsZS1ob2xkZXIgc2xpZGVyLXR3by1ob2xkZXJcIlxuICAgICAgW0BzaG93QW5pbWF0aW9uXT1cIiEhaXNGaWx0ZXJBY3RpdmVcIlxuICAgICAgW2NsYXNzLmNsb3NlUG9pbnRlcnNdPVwicmFuZ2VEaWZmTnVtIDwgNjcwIHx8IHJhbmdlRGlmZk51bSA8IDI2MDBcIlxuICAgID5cbiAgICAgIDxhcHAtY2Etbmd4LXNsaWRlclxuICAgICAgICBbc2xpZGVyT3B0aW9uc109XCJ2aW9sYXRpb25TbGlkZXJEYXRhXCJcbiAgICAgICAgW3N0YXJ0ZWRWYWx1ZV09XCJyYW5nZVZhbHVlXCJcbiAgICAgICAgW2N1c3RvbUNsYXNzXT1cIidjdXN0b20tc2xpZGVyLWZpbHRlcidcIlxuICAgICAgICAob25Vc2VyVmFsdWVDaGFuZ2UpPVwic2V0TWluVmFsdWVSYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKG9uVXNlckhpZ2hWYWx1ZUNoYW5nZSk9XCJzZXRNYXhWYWx1ZVJhbmdlKCRldmVudClcIlxuICAgICAgICBbc2xpZGVyVGVtcGxhdGVdPVwiJ3JhbmdlLXNsaWRlcidcIlxuICAgICAgICBbbWluVmFsdWVdPVwibWluVmFsdWVEcmFnZ2VkXCJcbiAgICAgICAgW21heFZhbHVlXT1cIm1heFZhbHVlRHJhZ2dlZFwiXG4gICAgICA+PC9hcHAtY2Etbmd4LXNsaWRlcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJib3JkZXItZmlsdGVyIG1vbmV5LWJvdHRvbS1ib3JkZXItbWFnaW4gZm9ybS1ib3JkZXJcIj48L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtdmlvbGF0aW9uLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1maWx0ZXJzL2NvbXBvbmVudHMvY2EtdmlvbGF0aW9uLWZpbHRlci9jYS12aW9sYXRpb24tZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWZpbHRlcnMvY29tcG9uZW50cy9jYS12aW9sYXRpb24tZmlsdGVyL2NhLXZpb2xhdGlvbi1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFFTCxpQkFBaUIsR0FFbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFdBQVcsRUFHWCxtQkFBbUIsRUFDbkIsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3hELFVBQVU7QUFDVixPQUFPLEVBQUUsb0JBQW9CLElBQUksYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTFFLFFBQVE7QUFDUixPQUFPLEVBQUUscUJBQXFCLElBQUksaUJBQWlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN2RyxPQUFPLEVBQUUsU0FBUyxJQUFJLEtBQUssRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRW5FLGFB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LElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzsrR0E5R1UsMEJBQTBCO21HQUExQiwwQkFBMEIsOEpBSjFCLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLDBCQ3JFMUQsMDZCQXNCQTtnQkRtQ0ksVUFBVTtnQkFDVixZQUFZLGtJQUNaLFdBQVcsMExBQ1gsbUJBQW1CLCtLQUNuQixTQUFTLDhCQUNULGdCQUFnQiw4QkFDaEIsYUFBYTtnQkFDYixhQUFhO2dCQUNiLG9CQUFvQix5T0FNVixDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsRUFBRSxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7OzRGQUV6RCwwQkFBMEI7a0JBcEJ0QyxTQUFTOytCQUNFLHlCQUF5QixjQUN2QixJQUFJLFdBQ1A7d0JBQ1AsVUFBVTt3QkFDVixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixTQUFTO3dCQUNULGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixhQUFhO3dCQUNiLG9CQUFvQjtxQkFDdkIsYUFHWSxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFDekMsaUJBQWlCLENBQUMsSUFBSSxjQUN6QixDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsRUFBRSxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7MkhBRzNELElBQUk7c0JBQVosS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBPbkRlc3Ryb3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgRm9ybXNNb2R1bGUsXG4gIFVudHlwZWRGb3JtQnVpbGRlcixcbiAgVW50eXBlZEZvcm1Hcm91cCxcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBDaGFuZ2VDb250ZXh0LCBPcHRpb25zIH0gZnJvbSAnQGFuZ3VsYXItc2xpZGVyL25neC1zbGlkZXInO1xuXG4vLyBtb2R1bGVzXG5pbXBvcnQgeyBBbmd1bGFyU3ZnSWNvbk1vZHVsZSBhcyBTdmdJY29uTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1zdmctaWNvbic7XG5pbXBvcnQgeyBOZ2JEcm9wZG93bkNvbmZpZywgTmdiTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuXG4vLyBwaXBlc1xuaW1wb3J0IHsgVGhvdXNhbmRTZXBhcmF0b3JQaXBlIGFzIFRob3VzYW5kU2VwYXJhdG9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vcGlwZXMvdGhvdXNhbmQtc2VwYXJhdG9yLnBpcGUnO1xuaW1wb3J0IHsgQ2FTdmdQaXBlIGFzIENhU3ZnIH0gZnJvbSAnLi4vLi4vLi4vLi4vcGlwZXMvY2Etc3ZnLnBpcGUnO1xuXG4vLyBhbmltYXRpb25zXG5pbXBvcnQgeyBzaG93QW5pbWF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYW5pbWF0aW9ucy9zaG93LmFuaW1hdGlvbic7XG5pbXBvcnQgeyBjbG9zZUZvcm0gfSBmcm9tICcuLi8uLi8uLi8uLi9hbmltYXRpb25zL2Nsb3NlLWZvcm0uYW5pbWF0aW9uJztcblxuLy8gc3ZnIHJvdXRlc1xuaW1wb3J0IHsgQ2FGaWx0ZXJzU3ZnUm91dGVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvc3ZnLXJvdXRlcy9jYS1maWx0ZXJzLXN2Zy1yb3V0ZXMnO1xuXG4vLyBlbnVtc1xuaW1wb3J0IHsgVG9vbGJhckZpbHRlclN0cmluZ0VudW0gYXMgVG9vbGJhckZpbHRlclN0cmluZyB9IGZyb20gJy4uLy4uLy4uL2NhLW1hcC9lbnVtcy90b29sYmFyLWZpbHRlci1zdHJpbmcuZW51bSc7XG5cbi8vIG1vZGVsc1xuaW1wb3J0IHsgZmlsdGVyT3V0cHV0IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2ZpbHRlci1vdXRwdXQubW9kZWwnO1xuaW1wb3J0IHsgZmlsdGVyT3V0cHV0V2l0aFBhcmFtcyB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9maWx0ZXItb3V0cHV0LXBhcmFtcy5tb2RlbCc7XG5cbi8vIGhlbHBlcnNcbmltcG9ydCB7IEZpbHRlckhlbHBlciB9IGZyb20gJy4uLy4uL3V0aWxzL2hlbHBlcnMvZmlsdGVyLmhlbHBlcic7XG5cbi8vIGNvbXBvbmVudHNcbmltcG9ydCB7IENhTmd4U2xpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY2Etbmd4LXNsaWRlci9jYS1uZ3gtc2xpZGVyLmNvbXBvbmVudCc7XG5cbi8vIGNvbnN0YW50c1xuaW1wb3J0IHsgRmlsdGVyQ29uZmlnQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29uc3RhbnRzL2ZpbHRlci1jb25maWcuY29uc3RhbnRzJztcblxuLy8gdmFsaWRhdG9yc1xuaW1wb3J0IHsgcmFuZ2VWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzL3JhbmdlLnZhbGlkYXRvcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jYS12aW9sYXRpb24tZmlsdGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIC8vIG1vZHVsZXNcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBOZ2JNb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBTdmdJY29uTW9kdWxlLFxuICAgIC8vIGNvbXBvbmVudHNcbiAgICBDYU5neFNsaWRlckNvbXBvbmVudFxuXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhLXZpb2xhdGlvbi1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYS12aW9sYXRpb24tZmlsdGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW05nYkRyb3Bkb3duQ29uZmlnLCBUaG91c2FuZFNlcGFyYXRvciwgQ2FTdmddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBhbmltYXRpb25zOiBbc2hvd0FuaW1hdGlvbignc2hvd0FuaW1hdGlvbicpLCBjbG9zZUZvcm0oJ2Nsb3NlRm9ybScpXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FWaW9sYXRpb25GaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHR5cGUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlzRmlsdGVyQWN0aXZlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRvRG9TdWJUeXBlITogc3RyaW5nO1xuXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwdWJsaWMgdmlvbGF0aW9uRmlsdGVyRm9ybSE6IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgcHVibGljIG1pblZhbHVlUmFuZ2U6IHN0cmluZyA9IFRvb2xiYXJGaWx0ZXJTdHJpbmcuTUlOX1ZBTFVFO1xuICBwdWJsaWMgbWF4VmFsdWVSYW5nZTogc3RyaW5nID0gVG9vbGJhckZpbHRlclN0cmluZy5WSU9MQVRJT05fTUFYX1ZBTFVFO1xuXG4gIHB1YmxpYyBtaW5WYWx1ZVNldDogc3RyaW5nID0gVG9vbGJhckZpbHRlclN0cmluZy5NSU5fVkFMVUU7XG4gIHB1YmxpYyBtYXhWYWx1ZVNldDogc3RyaW5nID0gVG9vbGJhckZpbHRlclN0cmluZy5WSU9MQVRJT05fTUFYX1ZBTFVFO1xuXG4gIHB1YmxpYyBtaW5WYWx1ZURyYWdnZWQ6IG51bWJlciA9IDA7XG4gIHB1YmxpYyBtYXhWYWx1ZURyYWdnZWQ6IG51bWJlciA9IDU7XG5cbiAgcHVibGljIHJhbmdlVmFsdWU6IG51bWJlciA9IDA7XG4gIHB1YmxpYyByYW5nZURpZmZOdW06IG51bWJlciA9IDA7XG5cbiAgcHVibGljIHZpb2xhdGlvblNsaWRlckRhdGE6IE9wdGlvbnMgPVxuICAgIEZpbHRlckNvbmZpZ0NvbnN0YW50cy5WSU9MQVRJT05fU0xJREVSX0RBVEE7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxuXG4gICAgLy8gcGlwZXNcbiAgICBwcml2YXRlIHRob3VzYW5kU2VwYXJhdG9yOiBUaG91c2FuZFNlcGFyYXRvclxuICApIHt9XG5cbiAgcHVibGljIHRyYWNrQnlJZGVudGl0eSA9IChpbmRleDogbnVtYmVyLCBfOiBhbnkpOiBudW1iZXIgPT4gaW5kZXg7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0TWluVmFsdWVSYW5nZShtb2Q6IG51bWJlciB8IENoYW5nZUNvbnRleHQpOiB2b2lkIHtcbiAgICBjb25zdCBmcm9tVmFsdWUgPSB0aGlzLnRob3VzYW5kU2VwYXJhdG9yLnRyYW5zZm9ybShtb2QpO1xuICAgIHRoaXMudmlvbGF0aW9uRmlsdGVyRm9ybT8uZ2V0KCdmcm9tJyk/LnNldFZhbHVlKGZyb21WYWx1ZSk7XG4gICAgdGhpcy52aW9sYXRpb25GaWx0ZXJGb3JtPy5nZXQoJ2Zyb20nKT8ubWFya0FzRGlydHkoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRNYXhWYWx1ZVJhbmdlKG1vZDogbnVtYmVyIHwgQ2hhbmdlQ29udGV4dCk6IHZvaWQge1xuICAgIGNvbnN0IHRvVmFsdWUgPSB0aGlzLnRob3VzYW5kU2VwYXJhdG9yLnRyYW5zZm9ybShtb2QpO1xuICAgIHRoaXMudmlvbGF0aW9uRmlsdGVyRm9ybT8uZ2V0KCd0bycpPy5zZXRWYWx1ZSh0b1ZhbHVlKTtcbiAgICB0aGlzLnZpb2xhdGlvbkZpbHRlckZvcm0/LmdldCgndG8nKT8ubWFya0FzRGlydHkoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkZpbHRlckNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMudmlvbGF0aW9uRmlsdGVyRm9ybS5yZXNldCgpO1xuICAgIHRoaXMucmFuZ2VWYWx1ZSA9IDA7XG4gICAgdGhpcy5taW5WYWx1ZURyYWdnZWQgPSAwO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMubWF4VmFsdWVSYW5nZSA9IFRvb2xiYXJGaWx0ZXJTdHJpbmcuVklPTEFUSU9OX01BWF9WQUxVRTtcbiAgICB0aGlzLm1heFZhbHVlU2V0ID0gVG9vbGJhckZpbHRlclN0cmluZy5WSU9MQVRJT05fTUFYX1ZBTFVFO1xuXG4gICAgdGhpcy52aW9sYXRpb25GaWx0ZXJGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cChcbiAgICAgIHtcbiAgICAgICAgZnJvbTogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICB0bzogbnVsbCxcbiAgICAgIH0sXG4gICAgICB7IHZhbGlkYXRvcnM6IHJhbmdlVmFsaWRhdG9yKCkgfVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJBbGwoXG4gICAgZXZlbnQ/OiBFdmVudFxuICApOiBmaWx0ZXJPdXRwdXQgfCBmaWx0ZXJPdXRwdXRXaXRoUGFyYW1zIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoZXZlbnQpIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgdGhpcy5yYW5nZVZhbHVlID0gMDtcbiAgICB0aGlzLm1pblZhbHVlRHJhZ2dlZCA9IDA7XG4gICAgdGhpcy52aW9sYXRpb25GaWx0ZXJGb3JtLnJlc2V0KCk7XG5cbiAgICBjb25zdCBhY3Rpb24gPSAnQ2xlYXInO1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBhY3Rpb24sXG4gICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICBmaWx0ZXJUeXBlOiB0aGlzLnR5cGUsXG4gICAgfTtcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRGaWx0ZXJWYWx1ZShcbiAgICBldmVudDogRXZlbnQgfCB1bmRlZmluZWRcbiAgKTogZmlsdGVyT3V0cHV0IHwgZmlsdGVyT3V0cHV0V2l0aFBhcmFtcyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSB0aGlzLnZpb2xhdGlvbkZpbHRlckZvcm0uZ2V0UmF3VmFsdWUoKTtcbiAgICBjb25zdCBzdWJUeXBlID1cbiAgICAgIHRoaXMudG9Eb1N1YlR5cGUgPz9cbiAgICAgIFRvb2xiYXJGaWx0ZXJTdHJpbmcuRU1QVFlfU1RSSU5HX1BMQUNFSE9MREVSLnRvU3RyaW5nKCk7XG5cbiAgICBjb25zdCBhY3Rpb24gPSAnU2V0JztcbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgZmlsdGVyVHlwZTogdGhpcy50eXBlLFxuICAgICAgYWN0aW9uLFxuICAgICAgcXVlcnlQYXJhbXMsXG4gICAgICBzdWJUeXBlLFxuICAgIH07XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3ZnUGF0aChwcm9wZXJ0eU5hbWU6IGtleW9mIHR5cGVvZiBDYUZpbHRlcnNTdmdSb3V0ZXMpOiBzdHJpbmcge1xuICAgIHJldHVybiBGaWx0ZXJIZWxwZXIuZ2V0U3ZnUGF0aChwcm9wZXJ0eU5hbWUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwidHlwZSA9PT0gJ3Zpb2xhdGlvbkZpbHRlcidcIj5cbiAgPGRpdiBjbGFzcz1cImJvcmRlci1maWx0ZXIgbW9uZXktdG9wLWJvcmRlci1tYWdpblwiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic2luZ2xlLWZvcm0taG9sZGVyXCIgW2Zvcm1Hcm91cF09XCJ2aW9sYXRpb25GaWx0ZXJGb3JtXCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJmaWx0ZXItbWlkZGxlLWhvbGRlciBzbGlkZXItdHdvLWhvbGRlclwiXG4gICAgICBbQHNob3dBbmltYXRpb25dPVwiISFpc0ZpbHRlckFjdGl2ZVwiXG4gICAgICBbY2xhc3MuY2xvc2VQb2ludGVyc109XCJyYW5nZURpZmZOdW0gPCA2NzAgfHwgcmFuZ2VEaWZmTnVtIDwgMjYwMFwiXG4gICAgPlxuICAgICAgPGFwcC1jYS1uZ3gtc2xpZGVyXG4gICAgICAgIFtzbGlkZXJPcHRpb25zXT1cInZpb2xhdGlvblNsaWRlckRhdGFcIlxuICAgICAgICBbc3RhcnRlZFZhbHVlXT1cInJhbmdlVmFsdWVcIlxuICAgICAgICBbY3VzdG9tQ2xhc3NdPVwiJ2N1c3RvbS1zbGlkZXItZmlsdGVyJ1wiXG4gICAgICAgIChvblVzZXJWYWx1ZUNoYW5nZSk9XCJzZXRNaW5WYWx1ZVJhbmdlKCRldmVudClcIlxuICAgICAgICAob25Vc2VySGlnaFZhbHVlQ2hhbmdlKT1cInNldE1heFZhbHVlUmFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtzbGlkZXJUZW1wbGF0ZV09XCIncmFuZ2Utc2xpZGVyJ1wiXG4gICAgICAgIFttaW5WYWx1ZV09XCJtaW5WYWx1ZURyYWdnZWRcIlxuICAgICAgICBbbWF4VmFsdWVdPVwibWF4VmFsdWVEcmFnZ2VkXCJcbiAgICAgID48L2FwcC1jYS1uZ3gtc2xpZGVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImJvcmRlci1maWx0ZXIgbW9uZXktYm90dG9tLWJvcmRlci1tYWdpbiBmb3JtLWJvcmRlclwiPjwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=