@dev-tcloud/tcloud-ui 0.0.5 → 0.0.6

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 (42) hide show
  1. package/README.md +2 -0
  2. package/esm2020/lib/_directives/directives.module.mjs +16 -0
  3. package/esm2020/lib/_directives/tooltip/tooltip.directive.mjs +164 -0
  4. package/esm2020/lib/_modules/tcloud-ui-data-list/services/data-list.service.mjs +39 -0
  5. package/esm2020/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.mjs +56 -0
  6. package/esm2020/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.mjs +250 -0
  7. package/esm2020/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.mjs +3 -0
  8. package/esm2020/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.module.mjs +36 -0
  9. package/esm2020/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.mjs +79 -0
  10. package/esm2020/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module.mjs +20 -0
  11. package/esm2020/lib/_pipes/cnpj.mjs +37 -0
  12. package/esm2020/lib/_pipes/cpf.mjs +37 -0
  13. package/esm2020/lib/_pipes/index.mjs +6 -0
  14. package/esm2020/lib/_pipes/monthname.mjs +25 -0
  15. package/esm2020/lib/_pipes/respective.mjs +68 -0
  16. package/esm2020/lib/_pipes/statusinfo.mjs +78 -0
  17. package/esm2020/lib/_pipes/tcloud-pipes.module.mjs +47 -0
  18. package/esm2020/lib/tcloud-ui.module.mjs +47 -7
  19. package/esm2020/public-api.mjs +18 -1
  20. package/fesm2015/dev-tcloud-tcloud-ui.mjs +963 -11
  21. package/fesm2015/dev-tcloud-tcloud-ui.mjs.map +1 -1
  22. package/fesm2020/dev-tcloud-tcloud-ui.mjs +956 -11
  23. package/fesm2020/dev-tcloud-tcloud-ui.mjs.map +1 -1
  24. package/lib/_directives/directives.module.d.ts +7 -0
  25. package/lib/_directives/tooltip/tooltip.directive.d.ts +34 -0
  26. package/lib/_modules/tcloud-ui-data-list/services/data-list.service.d.ts +20 -0
  27. package/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.d.ts +22 -0
  28. package/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.d.ts +61 -0
  29. package/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.d.ts +4 -0
  30. package/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.module.d.ts +10 -0
  31. package/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.d.ts +18 -0
  32. package/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module.d.ts +8 -0
  33. package/lib/_pipes/cnpj.d.ts +9 -0
  34. package/lib/_pipes/cpf.d.ts +9 -0
  35. package/lib/_pipes/index.d.ts +5 -0
  36. package/lib/_pipes/monthname.d.ts +8 -0
  37. package/lib/_pipes/respective.d.ts +11 -0
  38. package/lib/_pipes/statusinfo.d.ts +15 -0
  39. package/lib/_pipes/tcloud-pipes.module.d.ts +11 -0
  40. package/lib/tcloud-ui.module.d.ts +5 -1
  41. package/package.json +1 -1
  42. package/public-api.d.ts +9 -0
@@ -0,0 +1,250 @@
1
+ import { DataListService } from './services/data-list.service';
2
+ import { Component, forwardRef, Output, EventEmitter, Input } from '@angular/core';
3
+ import { NG_VALUE_ACCESSOR, FormControl } from '@angular/forms';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./services/data-list.service";
6
+ import * as i2 from "@angular/forms";
7
+ import * as i3 from "@angular/common";
8
+ export const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR = {
9
+ provide: NG_VALUE_ACCESSOR,
10
+ useExisting: forwardRef(() => TCloudUiDataListComponent),
11
+ multi: true
12
+ };
13
+ const noop = () => {
14
+ };
15
+ export class TCloudUiDataListComponent {
16
+ constructor(dataListService, formBuilder) {
17
+ this.dataListService = dataListService;
18
+ this.formBuilder = formBuilder;
19
+ this.viewport_width = 0;
20
+ this.viewport_height = 0;
21
+ this.box_height = 0;
22
+ this.box_style = '';
23
+ this.menu_on_top = '';
24
+ this.placeholder = '';
25
+ this._disabled = false;
26
+ this._loading = false;
27
+ this.search = true;
28
+ this.onInputChange = new EventEmitter();
29
+ this.onChange = new EventEmitter();
30
+ this.list_selected_options = new Array();
31
+ this.menu_show = false;
32
+ this.search_text = '';
33
+ this.id = '';
34
+ //Placeholders for the callbacks which are later providesd
35
+ //by the Control Value Accessor
36
+ this.onTouchedCallback = noop;
37
+ this.onChangeCallback = noop;
38
+ }
39
+ set disabled(v) {
40
+ this._disabled = v;
41
+ if (this._disabled) {
42
+ this.selected_description = '';
43
+ this.selected_item = '';
44
+ this.toChange();
45
+ }
46
+ }
47
+ get disabled() { return this._disabled; }
48
+ set loading(v) {
49
+ this._loading = v;
50
+ if (this._loading) {
51
+ this.selected_description = '';
52
+ this.selected_item = '';
53
+ this.toChange();
54
+ }
55
+ }
56
+ get loading() { return this._loading; }
57
+ set ngModel(v) {
58
+ this.selected_item = v;
59
+ this.selectDescription();
60
+ }
61
+ ngOnInit() {
62
+ this.id = this.generateID();
63
+ this.formulario = this.formBuilder.group({
64
+ "selected_item": new FormControl('', []),
65
+ });
66
+ this.subscription_value = this.dataListService.stateValue$.subscribe(v => {
67
+ this.selected_item = v;
68
+ this.selectDescription();
69
+ });
70
+ this.subscription_description = this.dataListService.stateDescription$.subscribe(v => {
71
+ this.selected_description = v;
72
+ });
73
+ this.subscription_options = this.dataListService.stateOptions$.subscribe((v) => {
74
+ if (v && v.value) {
75
+ (this.list_selected_options).push(v);
76
+ }
77
+ });
78
+ this.toResize();
79
+ this.toClick();
80
+ }
81
+ generateID() {
82
+ return `data-list-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;
83
+ }
84
+ ngOnDestroy() {
85
+ if (this.subscription_value) {
86
+ this.subscription_value.unsubscribe();
87
+ }
88
+ if (this.subscription_description) {
89
+ this.subscription_description.unsubscribe();
90
+ }
91
+ if (this.subscription_options) {
92
+ this.subscription_options.unsubscribe();
93
+ }
94
+ }
95
+ toSearch(e) {
96
+ let input = (e && e.target && e.target.value) ? e.target.value : '';
97
+ let filter = (((input).normalize('NFD').replace(/[\u0300-\u036f]/g, "")).trim()).toLowerCase();
98
+ let ul = document.getElementById(`${this.id}-options`);
99
+ let li = ul.getElementsByTagName("button");
100
+ for (let i = 0; i < li.length; i++) {
101
+ const a = li[i];
102
+ const txtValue = (((a.textContent || a.innerText).normalize('NFD').replace(/[\u0300-\u036f]/g, "")).trim()).toLowerCase();
103
+ if (txtValue.indexOf(filter) > -1) {
104
+ li[i].style.display = "";
105
+ }
106
+ else {
107
+ li[i].style.display = "none";
108
+ }
109
+ }
110
+ }
111
+ selectDescription() {
112
+ if (this.list_selected_options && (this.list_selected_options).length > 0) {
113
+ for (let i = 0; i < (this.list_selected_options).length; i++) {
114
+ const item = this.list_selected_options[i];
115
+ if (item.value === this.selected_item) {
116
+ this.selected_description = item.description;
117
+ this.toChange();
118
+ return;
119
+ }
120
+ }
121
+ }
122
+ if (this.selected_item === undefined || this.selected_item === null || this.selected_item === '') {
123
+ this.toChange();
124
+ }
125
+ }
126
+ toInput(e) {
127
+ this.onChange.emit(e);
128
+ }
129
+ toChange() {
130
+ setTimeout(() => {
131
+ if (this.selected_item === undefined || this.selected_item === null) {
132
+ this.selected_item = '';
133
+ }
134
+ this.toSearch('');
135
+ this.search_text = '';
136
+ this.dataListService.setActiveItem(this.selected_item);
137
+ this.onInputChange.emit(this.selected_description);
138
+ if (this.formulario) {
139
+ this.formulario?.get('selected_item')?.setValue(this.selected_item);
140
+ // const input_hidden = document.getElementById(`${this.id}-hidden`);
141
+ this.toInput(this.formulario.get('selected_item'));
142
+ }
143
+ });
144
+ }
145
+ clearTextSearch() {
146
+ this.search_text = '';
147
+ this.toSearch('');
148
+ }
149
+ toOpen() {
150
+ this.menu_show = !this.menu_show;
151
+ this.resolve_position_dropdown(this.menu_show);
152
+ }
153
+ resolve_position_dropdown(open) {
154
+ if (open) {
155
+ this.box_style = '';
156
+ this.menu_on_top = '';
157
+ const id = `${this.id}`;
158
+ const box = `box-${this.id}`;
159
+ if (this.viewport_height === 0) {
160
+ this.viewport_height = window.innerWidth;
161
+ }
162
+ const rect = document.getElementById(id)?.getBoundingClientRect();
163
+ const box_position = rect?.bottom || 0;
164
+ setTimeout(() => {
165
+ this.box_height = document.getElementById(box)?.clientHeight || 0;
166
+ if ((this.viewport_height - box_position) < this.box_height) {
167
+ this.menu_on_top = 'menu-on-top';
168
+ this.box_style = `top: -${(this.box_height)}px; height: ${this.box_height}px;`;
169
+ }
170
+ });
171
+ }
172
+ }
173
+ toClose() {
174
+ this.menu_show = false;
175
+ }
176
+ toResize() {
177
+ window.addEventListener('resize', () => {
178
+ this.viewport_width = window.innerWidth;
179
+ this.viewport_height = window.innerHeight;
180
+ this.resolve_position_dropdown(this.menu_show);
181
+ });
182
+ }
183
+ toClick() {
184
+ const box = `area-${this.id}`;
185
+ window.addEventListener('click', (e) => {
186
+ if (this.menu_show) {
187
+ if (!(document.getElementById(box)?.contains(e.target))) {
188
+ this.menu_show = false;
189
+ }
190
+ }
191
+ });
192
+ }
193
+ //get accessor
194
+ get value() {
195
+ return this.selected_item;
196
+ }
197
+ ;
198
+ //set accessor including call the onchange callback
199
+ set value(v) {
200
+ if (v !== this.selected_item) {
201
+ this.selected_item = v;
202
+ this.onChangeCallback(v);
203
+ }
204
+ }
205
+ //Set touched on blur
206
+ onBlur() {
207
+ this.onTouchedCallback();
208
+ }
209
+ //From ControlValueAccessor interface
210
+ writeValue(value) {
211
+ if (value !== this.selected_item) {
212
+ this.selected_item = value;
213
+ }
214
+ }
215
+ //From ControlValueAccessor interface
216
+ registerOnChange(fn) {
217
+ this.onChangeCallback = fn;
218
+ }
219
+ //From ControlValueAccessor interface
220
+ registerOnTouched(fn) {
221
+ this.onTouchedCallback = fn;
222
+ }
223
+ }
224
+ TCloudUiDataListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiDataListComponent, deps: [{ token: i1.DataListService }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
225
+ TCloudUiDataListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TCloudUiDataListComponent, selector: "tcloud-ui-data-list", inputs: { placeholder: "placeholder", disabled: "disabled", loading: "loading", search: "search", ngModel: "ngModel" }, outputs: { onInputChange: "onInputChange", onChange: "onChange" }, providers: [
226
+ DataListService,
227
+ CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR
228
+ ], ngImport: i0, template: "<div *ngIf=\"formulario\" id=\"area-{{ id }}\" class=\"tc-dropdown\" [class.disabled]=\"disabled || loading\">\r\n <div *ngIf=\"loading\" class=\"loading-area\">\r\n <i class=\"fas fa-spinner fa-spin\"></i>\r\n </div>\r\n <!-- [attr.data-bs-toggle]=\"'dropdown'\" -->\r\n <button \r\n [class.loading-box]=\"loading\"\r\n [disabled]=\"disabled || loading\"\r\n class=\"dropdown-toggle button-select\" \r\n type=\"button\" \r\n id=\"{{ id }}\" \r\n \r\n [attr.aria-haspopup]=\"'true'\" \r\n [attr.aria-expanded]=\"'false'\" \r\n (click)=\"toOpen()\" >\r\n\r\n <i *ngIf=\"(selected_description === undefined || selected_description === null || selected_description === '' ) && !loading \">{{ placeholder }}</i>\r\n {{ selected_description }}\r\n <span><i class=\"fas fa-angle-down\"></i></span>\r\n </button>\r\n <div class=\"tc-dropdown-menu {{ menu_on_top }}\" id=\"box-{{ id }}\" [attr.aria-labelledby]=\"id\" [class.to-hide]=\"!menu_show\" [style]=\"box_style\">\r\n\r\n <div class=\"line-search\" *ngIf=\"search\">\r\n <table class=\"box-search\">\r\n <tr>\r\n\r\n <td class=\"area-input\">\r\n <input type=\"text\" [(ngModel)]=\"search_text\" (input)=\"toSearch($event)\" placeholder=\"Buscar...\" > \r\n </td>\r\n\r\n <td class=\"area-icon\">\r\n <i *ngIf=\"search_text === ''\" class=\"fas fa-search icon-search\"></i>\r\n <button type=\"button\" *ngIf=\"search_text !== ''\" (click)=\"clearTextSearch()\"><i class=\"fas fa-times\"></i></button>\r\n </td>\r\n \r\n </tr>\r\n </table>\r\n </div>\r\n \r\n <div class=\"area-options\" id=\"{{ id }}-options\" (click)=\"toClose()\">\r\n <ng-content></ng-content> \r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"formulario\">\r\n <form [formGroup]=\"formulario\" style=\"display: none;\" >\r\n <input id=\"{{ id }}-hidden\" formControlName=\"selected_item\" type=\"hidden\">\r\n </form>\r\n</div>", styles: [".dropdown-toggle:after{display:none!important}.tc-dropdown{position:relative}.tc-dropdown .button-select{width:100%;background-color:#fff;border:1px solid #ccc;height:35px;text-align:left;padding-left:15px;font-size:14px;color:#666}.tc-dropdown .button-select span{position:absolute;right:6px;top:7px}.tc-dropdown .tc-dropdown-menu{width:100%;border:1px solid #ccc;background-color:#fff}.tc-dropdown .area-options{max-height:200px;overflow-y:scroll;overflow-x:hidden}.tc-dropdown .menu-on-top{position:absolute}.line-search{padding:3px}.line-search .box-search{width:100%;border-collapse:collapse}.line-search .box-search td.area-icon{padding:4px 0 2px 8px;width:35px}.line-search .box-search td.area-icon .icon-search{color:#666}.line-search .box-search td.area-icon button{border:none;background-color:transparent;color:#999;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-search .box-search td.area-input{border:none}.line-search .box-search td.area-input input{width:100%}.line-search .box-search input{width:100%;font-size:13px;height:33px;border:1px solid #ccc;padding:10px}.loading-area{line-height:0;position:relative;height:0;bottom:-10px;left:10px}button:disabled{background-color:#eee!important;border:1px solid #ececec!important;cursor:not-allowed}.loading-box{cursor:progress!important}.disabled i{color:#999!important}.to-hide{display:none}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiDataListComponent, decorators: [{
230
+ type: Component,
231
+ args: [{ selector: 'tcloud-ui-data-list', providers: [
232
+ DataListService,
233
+ CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR
234
+ ], template: "<div *ngIf=\"formulario\" id=\"area-{{ id }}\" class=\"tc-dropdown\" [class.disabled]=\"disabled || loading\">\r\n <div *ngIf=\"loading\" class=\"loading-area\">\r\n <i class=\"fas fa-spinner fa-spin\"></i>\r\n </div>\r\n <!-- [attr.data-bs-toggle]=\"'dropdown'\" -->\r\n <button \r\n [class.loading-box]=\"loading\"\r\n [disabled]=\"disabled || loading\"\r\n class=\"dropdown-toggle button-select\" \r\n type=\"button\" \r\n id=\"{{ id }}\" \r\n \r\n [attr.aria-haspopup]=\"'true'\" \r\n [attr.aria-expanded]=\"'false'\" \r\n (click)=\"toOpen()\" >\r\n\r\n <i *ngIf=\"(selected_description === undefined || selected_description === null || selected_description === '' ) && !loading \">{{ placeholder }}</i>\r\n {{ selected_description }}\r\n <span><i class=\"fas fa-angle-down\"></i></span>\r\n </button>\r\n <div class=\"tc-dropdown-menu {{ menu_on_top }}\" id=\"box-{{ id }}\" [attr.aria-labelledby]=\"id\" [class.to-hide]=\"!menu_show\" [style]=\"box_style\">\r\n\r\n <div class=\"line-search\" *ngIf=\"search\">\r\n <table class=\"box-search\">\r\n <tr>\r\n\r\n <td class=\"area-input\">\r\n <input type=\"text\" [(ngModel)]=\"search_text\" (input)=\"toSearch($event)\" placeholder=\"Buscar...\" > \r\n </td>\r\n\r\n <td class=\"area-icon\">\r\n <i *ngIf=\"search_text === ''\" class=\"fas fa-search icon-search\"></i>\r\n <button type=\"button\" *ngIf=\"search_text !== ''\" (click)=\"clearTextSearch()\"><i class=\"fas fa-times\"></i></button>\r\n </td>\r\n \r\n </tr>\r\n </table>\r\n </div>\r\n \r\n <div class=\"area-options\" id=\"{{ id }}-options\" (click)=\"toClose()\">\r\n <ng-content></ng-content> \r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"formulario\">\r\n <form [formGroup]=\"formulario\" style=\"display: none;\" >\r\n <input id=\"{{ id }}-hidden\" formControlName=\"selected_item\" type=\"hidden\">\r\n </form>\r\n</div>", styles: [".dropdown-toggle:after{display:none!important}.tc-dropdown{position:relative}.tc-dropdown .button-select{width:100%;background-color:#fff;border:1px solid #ccc;height:35px;text-align:left;padding-left:15px;font-size:14px;color:#666}.tc-dropdown .button-select span{position:absolute;right:6px;top:7px}.tc-dropdown .tc-dropdown-menu{width:100%;border:1px solid #ccc;background-color:#fff}.tc-dropdown .area-options{max-height:200px;overflow-y:scroll;overflow-x:hidden}.tc-dropdown .menu-on-top{position:absolute}.line-search{padding:3px}.line-search .box-search{width:100%;border-collapse:collapse}.line-search .box-search td.area-icon{padding:4px 0 2px 8px;width:35px}.line-search .box-search td.area-icon .icon-search{color:#666}.line-search .box-search td.area-icon button{border:none;background-color:transparent;color:#999;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-search .box-search td.area-input{border:none}.line-search .box-search td.area-input input{width:100%}.line-search .box-search input{width:100%;font-size:13px;height:33px;border:1px solid #ccc;padding:10px}.loading-area{line-height:0;position:relative;height:0;bottom:-10px;left:10px}button:disabled{background-color:#eee!important;border:1px solid #ececec!important;cursor:not-allowed}.loading-box{cursor:progress!important}.disabled i{color:#999!important}.to-hide{display:none}\n"] }]
235
+ }], ctorParameters: function () { return [{ type: i1.DataListService }, { type: i2.FormBuilder }]; }, propDecorators: { placeholder: [{
236
+ type: Input
237
+ }], disabled: [{
238
+ type: Input
239
+ }], loading: [{
240
+ type: Input
241
+ }], search: [{
242
+ type: Input
243
+ }], onInputChange: [{
244
+ type: Output
245
+ }], onChange: [{
246
+ type: Output
247
+ }], ngModel: [{
248
+ type: Input
249
+ }] } });
250
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWRhdGEtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Y2xvdWQtdWkvc3JjL2xpYi9fbW9kdWxlcy90Y2xvdWQtdWktZGF0YS1saXN0L3RjbG91ZC11aS1kYXRhLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX21vZHVsZXMvdGNsb3VkLXVpLWRhdGEtbGlzdC90Y2xvdWQtdWktZGF0YS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFhLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsaUJBQWlCLEVBQWtDLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUloRyxNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBUTtJQUN0RCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7SUFDeEQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUYsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFO0FBQ2xCLENBQUMsQ0FBQztBQVlGLE1BQU0sT0FBTyx5QkFBeUI7SUE0RHBDLFlBQ1UsZUFBZ0MsRUFDaEMsV0FBd0I7UUFEeEIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBNURsQyxtQkFBYyxHQUFXLENBQUMsQ0FBQztRQUMzQixvQkFBZSxHQUFXLENBQUMsQ0FBQztRQUM1QixlQUFVLEdBQVcsQ0FBQyxDQUFDO1FBQ3ZCLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFDdkIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFaEIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFMUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQVczQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBWXpCLFdBQU0sR0FBWSxJQUFJLENBQUM7UUFHdEIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQUNuRCxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFReEQsMEJBQXFCLEdBQUcsSUFBSSxLQUFLLEVBQWtCLENBQUM7UUFTcEQsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixPQUFFLEdBQVcsRUFBRSxDQUFDO1FBb0toQiwwREFBMEQ7UUFDeEQsK0JBQStCO1FBQ3ZCLHNCQUFpQixHQUFlLElBQUksQ0FBQztRQUNyQyxxQkFBZ0IsR0FBcUIsSUFBSSxDQUFDO0lBL0pwRCxDQUFDO0lBckRELElBQWEsUUFBUSxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUNELElBQUksUUFBUSxLQUFhLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFHakQsSUFBYSxPQUFPLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNsQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsYUFBYSxHQUFFLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBQ0QsSUFBSSxPQUFPLEtBQWEsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQVUvQyxJQUFhLE9BQU8sQ0FBQyxDQUFNO1FBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUF1QkQsUUFBUTtRQUNOLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRTVCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDdkMsZUFBZSxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBQyxFQUFFLENBQUM7U0FDeEMsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN2RSxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQTtRQUVGLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuRixJQUFJLENBQUMsb0JBQW9CLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFBO1FBR0YsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUssRUFBRSxFQUFFO1lBQ2pGLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUU7Z0JBQ2hCLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3RDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxhQUFhLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzRixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQUU7UUFDdkUsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEVBQUU7WUFBRSxJQUFJLENBQUMsd0JBQXdCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FBRTtRQUNuRixJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUFFO0lBQzdFLENBQUM7SUFFRCxRQUFRLENBQUMsQ0FBTTtRQUNiLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVwRSxJQUFJLE1BQU0sR0FBRyxDQUFFLENBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFFLENBQUMsSUFBSSxFQUFFLENBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuRyxJQUFJLEVBQUUsR0FBUyxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDN0QsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2hDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoQixNQUFNLFFBQVEsR0FBRyxDQUFFLENBQUUsQ0FBRSxDQUFDLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFFLENBQUMsSUFBSSxFQUFFLENBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNoSSxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQy9CLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQzthQUM1QjtpQkFBTTtnQkFDSCxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7YUFDaEM7U0FDSjtJQUNILENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDekUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUM1RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzNDLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsYUFBYSxFQUFFO29CQUNyQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztvQkFDN0MsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNoQixPQUFPO2lCQUNSO2FBQ0Y7U0FDRjtRQUVELElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxFQUFFLEVBQUU7WUFDaEcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pCO0lBRUgsQ0FBQztJQUdELE9BQU8sQ0FBQyxDQUFNO1FBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELFFBQVE7UUFDTixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksRUFBRTtnQkFDbkUsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7YUFDekI7WUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUV2RCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUVuRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLGVBQWUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ3BFLHFFQUFxRTtnQkFDckUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO2FBQ3BEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBR0QsZUFBZTtRQUNiLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNqQyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxJQUFhO1FBQ3JDLElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7WUFDdEIsTUFBTSxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDeEIsTUFBTSxHQUFHLEdBQUcsT0FBTyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDN0IsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLENBQUMsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO2FBQzFDO1lBQ0QsTUFBTSxJQUFJLEdBQUksUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxDQUFDO1lBQ25FLE1BQU0sWUFBWSxHQUFHLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBSSxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFlBQVksSUFBSSxDQUFDLENBQUM7Z0JBQ25FLElBQUksQ0FBRSxJQUFJLENBQUMsZUFBZSxHQUFHLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUU7b0JBQzVELElBQUksQ0FBQyxXQUFXLEdBQUcsYUFBYSxDQUFDO29CQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFFLGVBQWUsSUFBSSxDQUFDLFVBQVUsS0FBSyxDQUFDO2lCQUNsRjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFHRCxRQUFRO1FBQ04sTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7WUFDckMsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztZQUMxQyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLEdBQUcsR0FBRyxRQUFRLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUM5QixNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUU7WUFDekMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUNsQixJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRTtvQkFDdkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7aUJBQ3hCO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFTQyxjQUFjO0lBQ2QsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFBQSxDQUFDO0lBRUYsbURBQW1EO0lBQ25ELElBQUksS0FBSyxDQUFDLENBQU07UUFDWixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQzFCLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM1QjtJQUNMLENBQUM7SUFFRCxxQkFBcUI7SUFDckIsTUFBTTtRQUNGLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxxQ0FBcUM7SUFDckMsVUFBVSxDQUFDLEtBQVU7UUFDakIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztTQUM5QjtJQUNMLENBQUM7SUFFRCxxQ0FBcUM7SUFDckMsZ0JBQWdCLENBQUMsRUFBTztRQUNwQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxxQ0FBcUM7SUFDckMsaUJBQWlCLENBQUMsRUFBTztRQUNyQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7O3VIQWxRUSx5QkFBeUI7MkdBQXpCLHlCQUF5Qix5T0FMekI7UUFDVCxlQUFlO1FBQ2YsbUNBQW1DO0tBQ3BDLDBCQ3ZCSCwyL0RBaURNOzRGRHhCTyx5QkFBeUI7a0JBVHJDLFNBQVM7K0JBQ0UscUJBQXFCLGFBR3BCO3dCQUNULGVBQWU7d0JBQ2YsbUNBQW1DO3FCQUNwQztnSUFVUSxXQUFXO3NCQUFuQixLQUFLO2dCQUdPLFFBQVE7c0JBQXBCLEtBQUs7Z0JBV08sT0FBTztzQkFBbkIsS0FBSztnQkFXRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0ksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUdNLE9BQU87c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhTGlzdFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2RhdGEtbGlzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3Q2hpbGQsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIE5nRm9ybSwgRm9ybUdyb3VwLCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJU2VsZWN0T3B0aW9ucyB9IGZyb20gJy4vdGNsb3VkLXVpLWRhdGEtbGlzdCc7XHJcblxyXG5leHBvcnQgY29uc3QgQ1VTVE9NX0lOUFVUX0NPTlRST0xfVkFMVUVfQUNDRVNTT1I6IGFueSA9IHtcclxuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUQ2xvdWRVaURhdGFMaXN0Q29tcG9uZW50KSxcclxuICBtdWx0aTogdHJ1ZVxyXG59O1xyXG5cclxuY29uc3Qgbm9vcCA9ICgpID0+IHtcclxufTtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RjbG91ZC11aS1kYXRhLWxpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90Y2xvdWQtdWktZGF0YS1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90Y2xvdWQtdWktZGF0YS1saXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBEYXRhTGlzdFNlcnZpY2UsIFxyXG4gICAgQ1VTVE9NX0lOUFVUX0NPTlRST0xfVkFMVUVfQUNDRVNTT1JcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVENsb3VkVWlEYXRhTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgdmlld3BvcnRfd2lkdGg6IG51bWJlciA9IDA7XHJcbiAgdmlld3BvcnRfaGVpZ2h0OiBudW1iZXIgPSAwO1xyXG4gIGJveF9oZWlnaHQ6IG51bWJlciA9IDA7XHJcbiAgYm94X3N0eWxlOiBzdHJpbmcgPSAnJztcclxuICBtZW51X29uX3RvcDogc3RyaW5nID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZXQgZGlzYWJsZWQodil7XHJcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHY7XHJcbiAgICBpZiggdGhpcy5fZGlzYWJsZWQgKXtcclxuICAgICAgdGhpcy5zZWxlY3RlZF9kZXNjcmlwdGlvbiA9ICcnO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkX2l0ZW0gPScnO1xyXG4gICAgICB0aGlzLnRvQ2hhbmdlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldCBkaXNhYmxlZCgpOmJvb2xlYW4geyByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7IH1cclxuXHJcbiAgcHJpdmF0ZSBfbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNldCBsb2FkaW5nKHYpe1xyXG4gICAgdGhpcy5fbG9hZGluZyA9IHY7XHJcbiAgICBpZiggdGhpcy5fbG9hZGluZyApe1xyXG4gICAgICB0aGlzLnNlbGVjdGVkX2Rlc2NyaXB0aW9uID0gJyc7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRfaXRlbSA9Jyc7XHJcbiAgICAgIHRoaXMudG9DaGFuZ2UoKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0IGxvYWRpbmcoKTpib29sZWFuIHsgcmV0dXJuIHRoaXMuX2xvYWRpbmc7IH1cclxuXHJcblxyXG4gIEBJbnB1dCgpIHNlYXJjaDogYm9vbGVhbiA9IHRydWU7XHJcbiAgXHJcblxyXG4gIEBPdXRwdXQoKSBvbklucHV0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJU2VsZWN0T3B0aW9ucz4oKTtcclxuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPElTZWxlY3RPcHRpb25zPigpO1xyXG5cclxuICBwcml2YXRlIF9uZ01vZGVsOiBhbnkgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgc2V0IG5nTW9kZWwodjogYW55KXtcclxuICAgIHRoaXMuc2VsZWN0ZWRfaXRlbSA9IHY7XHJcbiAgICB0aGlzLnNlbGVjdERlc2NyaXB0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBsaXN0X3NlbGVjdGVkX29wdGlvbnMgPSBuZXcgQXJyYXk8SVNlbGVjdE9wdGlvbnM+KCk7XHJcblxyXG4gIHNlbGVjdGVkX2l0ZW06IGFueSB8IHVuZGVmaW5lZDtcclxuICBzZWxlY3RlZF9kZXNjcmlwdGlvbjogYW55IHwgdW5kZWZpbmVkO1xyXG5cclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbl92YWx1ZTogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uX2Rlc2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25fb3B0aW9uczogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xyXG5cclxuICBtZW51X3Nob3c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWFyY2hfdGV4dDogc3RyaW5nID0gJyc7XHJcbiAgaWQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICBmb3JtdWxhcmlvOiBGb3JtR3JvdXAgfCB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkYXRhTGlzdFNlcnZpY2U6IERhdGFMaXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyXHJcbiAgKXtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCl7XHJcbiAgICB0aGlzLmlkID0gdGhpcy5nZW5lcmF0ZUlEKCk7XHJcblxyXG4gICAgdGhpcy5mb3JtdWxhcmlvID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgIFwic2VsZWN0ZWRfaXRlbVwiOiBuZXcgRm9ybUNvbnRyb2woJycsW10pLFxyXG4gICAgfSlcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbl92YWx1ZSA9IHRoaXMuZGF0YUxpc3RTZXJ2aWNlLnN0YXRlVmFsdWUkLnN1YnNjcmliZSh2ID0+IHtcclxuICAgICAgdGhpcy5zZWxlY3RlZF9pdGVtID0gdjsgICAgICBcclxuICAgICAgdGhpcy5zZWxlY3REZXNjcmlwdGlvbigpO1xyXG4gICAgfSlcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbl9kZXNjcmlwdGlvbiA9IHRoaXMuZGF0YUxpc3RTZXJ2aWNlLnN0YXRlRGVzY3JpcHRpb24kLnN1YnNjcmliZSh2ID0+IHtcclxuICAgICAgdGhpcy5zZWxlY3RlZF9kZXNjcmlwdGlvbiA9IHY7XHJcbiAgICB9KVxyXG5cclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbl9vcHRpb25zID0gdGhpcy5kYXRhTGlzdFNlcnZpY2Uuc3RhdGVPcHRpb25zJC5zdWJzY3JpYmUoKHY6YW55KSA9PiB7XHJcbiAgICAgIGlmKCB2ICYmIHYudmFsdWUgKXtcclxuICAgICAgICAodGhpcy5saXN0X3NlbGVjdGVkX29wdGlvbnMpLnB1c2godik7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gICAgdGhpcy50b1Jlc2l6ZSgpO1xyXG4gICAgdGhpcy50b0NsaWNrKCk7XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZUlEKCk6IHN0cmluZ3tcclxuICAgIHJldHVybiBgZGF0YS1saXN0LSR7TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogRGF0ZS5ub3coKSkpfWA7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIGlmKCB0aGlzLnN1YnNjcmlwdGlvbl92YWx1ZSApeyB0aGlzLnN1YnNjcmlwdGlvbl92YWx1ZS51bnN1YnNjcmliZSgpOyB9ICAgIFxyXG4gICAgaWYoIHRoaXMuc3Vic2NyaXB0aW9uX2Rlc2NyaXB0aW9uICl7IHRoaXMuc3Vic2NyaXB0aW9uX2Rlc2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7IH0gXHJcbiAgICBpZiggdGhpcy5zdWJzY3JpcHRpb25fb3B0aW9ucyApeyB0aGlzLnN1YnNjcmlwdGlvbl9vcHRpb25zLnVuc3Vic2NyaWJlKCk7IH0gXHJcbiAgfVxyXG5cclxuICB0b1NlYXJjaChlOiBhbnkpIHtcclxuICAgIGxldCBpbnB1dCA9IChlICYmIGUudGFyZ2V0ICYmIGUudGFyZ2V0LnZhbHVlKSA/IGUudGFyZ2V0LnZhbHVlIDogJyc7XHJcbiAgICBcclxuICAgIGxldCBmaWx0ZXIgPSAoICggKGlucHV0KS5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csIFwiXCIpICkudHJpbSgpICkudG9Mb3dlckNhc2UoKTtcclxuICAgIGxldCB1bCA9IDxhbnk+IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGAke3RoaXMuaWR9LW9wdGlvbnNgKTtcclxuICAgIGxldCBsaSA9IHVsLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiYnV0dG9uXCIpO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGNvbnN0IGEgPSBsaVtpXTtcclxuICAgICAgICBjb25zdCB0eHRWYWx1ZSA9ICggKCAoIGEudGV4dENvbnRlbnQgfHwgYS5pbm5lclRleHQgKS5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csIFwiXCIpICkudHJpbSgpICkudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICBpZiAodHh0VmFsdWUuaW5kZXhPZihmaWx0ZXIpID4gLTEpIHtcclxuICAgICAgICAgICAgbGlbaV0uc3R5bGUuZGlzcGxheSA9IFwiXCI7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbGlbaV0uc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdERlc2NyaXB0aW9uKCl7XHJcbiAgICBpZiggdGhpcy5saXN0X3NlbGVjdGVkX29wdGlvbnMgJiYgKHRoaXMubGlzdF9zZWxlY3RlZF9vcHRpb25zKS5sZW5ndGggPiAwICl7XHJcbiAgICAgIGZvciggbGV0IGkgPSAwOyBpIDwgKHRoaXMubGlzdF9zZWxlY3RlZF9vcHRpb25zKS5sZW5ndGg7IGkrKyApe1xyXG4gICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmxpc3Rfc2VsZWN0ZWRfb3B0aW9uc1tpXTtcclxuICAgICAgICBpZiggaXRlbS52YWx1ZSA9PT0gdGhpcy5zZWxlY3RlZF9pdGVtICl7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkX2Rlc2NyaXB0aW9uID0gaXRlbS5kZXNjcmlwdGlvbjtcclxuICAgICAgICAgIHRoaXMudG9DaGFuZ2UoKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiggdGhpcy5zZWxlY3RlZF9pdGVtID09PSB1bmRlZmluZWQgfHwgdGhpcy5zZWxlY3RlZF9pdGVtID09PSBudWxsIHx8IHRoaXMuc2VsZWN0ZWRfaXRlbSA9PT0gJycgKXtcclxuICAgICAgdGhpcy50b0NoYW5nZSgpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIFxyXG4gIHRvSW5wdXQoZTogYW55KXtcclxuICAgIHRoaXMub25DaGFuZ2UuZW1pdChlKTtcclxuICB9XHJcblxyXG4gIHRvQ2hhbmdlKCl7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYoIHRoaXMuc2VsZWN0ZWRfaXRlbSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuc2VsZWN0ZWRfaXRlbSA9PT0gbnVsbCApe1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRfaXRlbSA9ICcnO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudG9TZWFyY2goJycpO1xyXG4gICAgICB0aGlzLnNlYXJjaF90ZXh0ID0gJyc7XHJcbiAgICAgIHRoaXMuZGF0YUxpc3RTZXJ2aWNlLnNldEFjdGl2ZUl0ZW0odGhpcy5zZWxlY3RlZF9pdGVtKTtcclxuXHJcbiAgICAgIHRoaXMub25JbnB1dENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRfZGVzY3JpcHRpb24pO1xyXG5cclxuICAgICAgaWYoIHRoaXMuZm9ybXVsYXJpbyApe1xyXG4gICAgICAgIHRoaXMuZm9ybXVsYXJpbz8uZ2V0KCdzZWxlY3RlZF9pdGVtJyk/LnNldFZhbHVlKHRoaXMuc2VsZWN0ZWRfaXRlbSk7XHJcbiAgICAgICAgLy8gY29uc3QgaW5wdXRfaGlkZGVuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7dGhpcy5pZH0taGlkZGVuYCk7XHJcbiAgICAgICAgdGhpcy50b0lucHV0KHRoaXMuZm9ybXVsYXJpby5nZXQoJ3NlbGVjdGVkX2l0ZW0nKSk7XHJcbiAgICAgIH0gICBcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIGNsZWFyVGV4dFNlYXJjaCgpe1xyXG4gICAgdGhpcy5zZWFyY2hfdGV4dCA9ICcnO1xyXG4gICAgdGhpcy50b1NlYXJjaCgnJyk7XHJcbiAgfVxyXG5cclxuICB0b09wZW4oKXtcclxuICAgIHRoaXMubWVudV9zaG93ID0gIXRoaXMubWVudV9zaG93O1xyXG4gICAgdGhpcy5yZXNvbHZlX3Bvc2l0aW9uX2Ryb3Bkb3duKHRoaXMubWVudV9zaG93KTtcclxuICB9XHJcblxyXG4gIHJlc29sdmVfcG9zaXRpb25fZHJvcGRvd24ob3BlbjogYm9vbGVhbil7XHJcbiAgICBpZiggb3BlbiApe1xyXG4gICAgICB0aGlzLmJveF9zdHlsZSA9ICcnO1xyXG4gICAgICB0aGlzLm1lbnVfb25fdG9wID0gJyc7ICAgXHJcbiAgICAgIGNvbnN0IGlkID0gYCR7dGhpcy5pZH1gOyBcclxuICAgICAgY29uc3QgYm94ID0gYGJveC0ke3RoaXMuaWR9YDtcclxuICAgICAgaWYoIHRoaXMudmlld3BvcnRfaGVpZ2h0ID09PSAwICl7XHJcbiAgICAgICAgdGhpcy52aWV3cG9ydF9oZWlnaHQgPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCByZWN0ICA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgIGNvbnN0IGJveF9wb3NpdGlvbiA9IHJlY3Q/LmJvdHRvbSB8fCAwOyAgICAgIFxyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmJveF9oZWlnaHQgID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYm94KT8uY2xpZW50SGVpZ2h0IHx8IDA7XHJcbiAgICAgICAgaWYoICggdGhpcy52aWV3cG9ydF9oZWlnaHQgLSBib3hfcG9zaXRpb24pIDwgdGhpcy5ib3hfaGVpZ2h0ICl7XHJcbiAgICAgICAgICB0aGlzLm1lbnVfb25fdG9wID0gJ21lbnUtb24tdG9wJztcclxuICAgICAgICAgIHRoaXMuYm94X3N0eWxlID0gYHRvcDogLSR7ICh0aGlzLmJveF9oZWlnaHQpIH1weDsgaGVpZ2h0OiAke3RoaXMuYm94X2hlaWdodH1weDtgO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7ICAgIFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdG9DbG9zZSgpe1xyXG4gICAgdGhpcy5tZW51X3Nob3cgPSBmYWxzZTtcclxuICB9XHJcblxyXG5cclxuICB0b1Jlc2l6ZSgpe1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsICgpID0+IHtcclxuICAgICAgdGhpcy52aWV3cG9ydF93aWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gICAgICB0aGlzLnZpZXdwb3J0X2hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcclxuICAgICAgdGhpcy5yZXNvbHZlX3Bvc2l0aW9uX2Ryb3Bkb3duKHRoaXMubWVudV9zaG93KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdG9DbGljaygpe1xyXG4gICAgY29uc3QgYm94ID0gYGFyZWEtJHt0aGlzLmlkfWA7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLChlOiBhbnkpID0+IHsgICBcclxuICAgICAgaWYoIHRoaXMubWVudV9zaG93ICl7XHJcbiAgICAgICAgaWYoICEoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYm94KT8uY29udGFpbnMoZS50YXJnZXQpKSApeyAgICAgICAgXHJcbiAgICAgICAgICB0aGlzLm1lbnVfc2hvdyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgXHJcbiAgLy9QbGFjZWhvbGRlcnMgZm9yIHRoZSBjYWxsYmFja3Mgd2hpY2ggYXJlIGxhdGVyIHByb3ZpZGVzZFxyXG4gICAgLy9ieSB0aGUgQ29udHJvbCBWYWx1ZSBBY2Nlc3NvclxyXG4gICAgcHJpdmF0ZSBvblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9IG5vb3A7XHJcbiAgICBwcml2YXRlIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBhbnkpID0+IHZvaWQgPSBub29wO1xyXG5cclxuICAgIC8vZ2V0IGFjY2Vzc29yXHJcbiAgICBnZXQgdmFsdWUoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZF9pdGVtO1xyXG4gICAgfTtcclxuXHJcbiAgICAvL3NldCBhY2Nlc3NvciBpbmNsdWRpbmcgY2FsbCB0aGUgb25jaGFuZ2UgY2FsbGJhY2tcclxuICAgIHNldCB2YWx1ZSh2OiBhbnkpIHtcclxuICAgICAgICBpZiAodiAhPT0gdGhpcy5zZWxlY3RlZF9pdGVtKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRfaXRlbSA9IHY7XHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayh2KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy9TZXQgdG91Y2hlZCBvbiBibHVyXHJcbiAgICBvbkJsdXIoKSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjaygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcclxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5zZWxlY3RlZF9pdGVtKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRfaXRlbSA9IHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL0Zyb20gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICAvL0Zyb20gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuIiwiPGRpdiAqbmdJZj1cImZvcm11bGFyaW9cIiBpZD1cImFyZWEte3sgaWQgfX1cIiBjbGFzcz1cInRjLWRyb3Bkb3duXCIgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkIHx8IGxvYWRpbmdcIj5cclxuICA8ZGl2ICpuZ0lmPVwibG9hZGluZ1wiIGNsYXNzPVwibG9hZGluZy1hcmVhXCI+XHJcbiAgICA8aSBjbGFzcz1cImZhcyBmYS1zcGlubmVyIGZhLXNwaW5cIj48L2k+XHJcbiAgPC9kaXY+XHJcbiAgPCEtLSBbYXR0ci5kYXRhLWJzLXRvZ2dsZV09XCInZHJvcGRvd24nXCIgIC0tPlxyXG4gIDxidXR0b24gXHJcbiAgICBbY2xhc3MubG9hZGluZy1ib3hdPVwibG9hZGluZ1wiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbG9hZGluZ1wiXHJcbiAgICBjbGFzcz1cImRyb3Bkb3duLXRvZ2dsZSBidXR0b24tc2VsZWN0XCIgXHJcbiAgICB0eXBlPVwiYnV0dG9uXCIgXHJcbiAgICBpZD1cInt7IGlkIH19XCIgXHJcbiAgICBcclxuICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiJ3RydWUnXCIgXHJcbiAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIidmYWxzZSdcIiBcclxuICAgIChjbGljayk9XCJ0b09wZW4oKVwiID5cclxuXHJcbiAgICA8aSAqbmdJZj1cIihzZWxlY3RlZF9kZXNjcmlwdGlvbiA9PT0gdW5kZWZpbmVkIHx8IHNlbGVjdGVkX2Rlc2NyaXB0aW9uID09PSBudWxsIHx8IHNlbGVjdGVkX2Rlc2NyaXB0aW9uID09PSAnJyApICYmICFsb2FkaW5nIFwiPnt7IHBsYWNlaG9sZGVyIH19PC9pPlxyXG4gICAge3sgc2VsZWN0ZWRfZGVzY3JpcHRpb24gfX1cclxuICAgIDxzcGFuPjxpIGNsYXNzPVwiZmFzIGZhLWFuZ2xlLWRvd25cIj48L2k+PC9zcGFuPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDxkaXYgY2xhc3M9XCJ0Yy1kcm9wZG93bi1tZW51IHt7IG1lbnVfb25fdG9wIH19XCIgaWQ9XCJib3gte3sgaWQgfX1cIiBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaWRcIiBbY2xhc3MudG8taGlkZV09XCIhbWVudV9zaG93XCIgW3N0eWxlXT1cImJveF9zdHlsZVwiPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJsaW5lLXNlYXJjaFwiICpuZ0lmPVwic2VhcmNoXCI+XHJcbiAgICAgIDx0YWJsZSBjbGFzcz1cImJveC1zZWFyY2hcIj5cclxuICAgICAgICA8dHI+XHJcblxyXG4gICAgICAgICAgPHRkIGNsYXNzPVwiYXJlYS1pbnB1dFwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInNlYXJjaF90ZXh0XCIgKGlucHV0KT1cInRvU2VhcmNoKCRldmVudClcIiBwbGFjZWhvbGRlcj1cIkJ1c2Nhci4uLlwiID4gICAgICAgICAgICBcclxuICAgICAgICAgIDwvdGQ+XHJcblxyXG4gICAgICAgICAgPHRkIGNsYXNzPVwiYXJlYS1pY29uXCI+XHJcbiAgICAgICAgICAgIDxpICpuZ0lmPVwic2VhcmNoX3RleHQgPT09ICcnXCIgY2xhc3M9XCJmYXMgZmEtc2VhcmNoIGljb24tc2VhcmNoXCI+PC9pPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAqbmdJZj1cInNlYXJjaF90ZXh0ICE9PSAnJ1wiIChjbGljayk9XCJjbGVhclRleHRTZWFyY2goKVwiPjxpIGNsYXNzPVwiZmFzIGZhLXRpbWVzXCI+PC9pPjwvYnV0dG9uPlxyXG4gICAgICAgICAgPC90ZD5cclxuICAgICAgICAgIFxyXG4gICAgICAgIDwvdHI+XHJcbiAgICAgIDwvdGFibGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgPGRpdiBjbGFzcz1cImFyZWEtb3B0aW9uc1wiIGlkPVwie3sgaWQgfX0tb3B0aW9uc1wiIChjbGljayk9XCJ0b0Nsb3NlKClcIj5cclxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PiAgICAgIFxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cImZvcm11bGFyaW9cIj5cclxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm11bGFyaW9cIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgPlxyXG4gICAgPGlucHV0IGlkPVwie3sgaWQgfX0taGlkZGVuXCIgZm9ybUNvbnRyb2xOYW1lPVwic2VsZWN0ZWRfaXRlbVwiIHR5cGU9XCJoaWRkZW5cIj5cclxuICA8L2Zvcm0+XHJcbjwvZGl2PiJdfQ==
@@ -0,0 +1,3 @@
1
+ export class ISelectOptions {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWRhdGEtbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RjbG91ZC11aS9zcmMvbGliL19tb2R1bGVzL3RjbG91ZC11aS1kYXRhLWxpc3QvdGNsb3VkLXVpLWRhdGEtbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sY0FBYztDQUcxQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBJU2VsZWN0T3B0aW9uc3tcclxuICBkZXNjcmlwdGlvbjogYW55O1xyXG4gIHZhbHVlOiBhbnk7XHJcbn0iXX0=
@@ -0,0 +1,36 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { TCloudUiDataListComponent } from './tcloud-ui-data-list.component';
5
+ import { TCloudUiDataListOptionComponent } from './tcloud-ui-data-list-option/tcloud-ui-data-list-option.component';
6
+ import * as i0 from "@angular/core";
7
+ export class TCloudUiDataListModule {
8
+ }
9
+ TCloudUiDataListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiDataListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ TCloudUiDataListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiDataListModule, declarations: [TCloudUiDataListComponent,
11
+ TCloudUiDataListOptionComponent], imports: [CommonModule,
12
+ FormsModule,
13
+ ReactiveFormsModule], exports: [TCloudUiDataListComponent,
14
+ TCloudUiDataListOptionComponent] });
15
+ TCloudUiDataListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiDataListModule, imports: [CommonModule,
16
+ FormsModule,
17
+ ReactiveFormsModule] });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiDataListModule, decorators: [{
19
+ type: NgModule,
20
+ args: [{
21
+ declarations: [
22
+ TCloudUiDataListComponent,
23
+ TCloudUiDataListOptionComponent,
24
+ ],
25
+ exports: [
26
+ TCloudUiDataListComponent,
27
+ TCloudUiDataListOptionComponent
28
+ ],
29
+ imports: [
30
+ CommonModule,
31
+ FormsModule,
32
+ ReactiveFormsModule
33
+ ]
34
+ }]
35
+ }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWRhdGEtbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Y2xvdWQtdWkvc3JjL2xpYi9fbW9kdWxlcy90Y2xvdWQtdWktZGF0YS1saXN0L3RjbG91ZC11aS1kYXRhLWxpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQzs7QUFtQnBILE1BQU0sT0FBTyxzQkFBc0I7O29IQUF0QixzQkFBc0I7cUhBQXRCLHNCQUFzQixpQkFiL0IseUJBQXlCO1FBQ3pCLCtCQUErQixhQU8vQixZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQixhQU5uQix5QkFBeUI7UUFDekIsK0JBQStCO3FIQVF0QixzQkFBc0IsWUFML0IsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7NEZBR1Ysc0JBQXNCO2tCQWZsQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWix5QkFBeUI7d0JBQ3pCLCtCQUErQjtxQkFDaEM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHlCQUF5Qjt3QkFDekIsK0JBQStCO3FCQUNoQztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjtxQkFDcEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IFRDbG91ZFVpRGF0YUxpc3RDb21wb25lbnQgfSBmcm9tICcuL3RjbG91ZC11aS1kYXRhLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVENsb3VkVWlEYXRhTGlzdE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vdGNsb3VkLXVpLWRhdGEtbGlzdC1vcHRpb24vdGNsb3VkLXVpLWRhdGEtbGlzdC1vcHRpb24uY29tcG9uZW50JztcclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFRDbG91ZFVpRGF0YUxpc3RDb21wb25lbnQsXHJcbiAgICBUQ2xvdWRVaURhdGFMaXN0T3B0aW9uQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgVENsb3VkVWlEYXRhTGlzdENvbXBvbmVudCxcclxuICAgIFRDbG91ZFVpRGF0YUxpc3RPcHRpb25Db21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRDbG91ZFVpRGF0YUxpc3RNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -0,0 +1,79 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class TCloudUiMultiSelectComponent {
5
+ constructor() {
6
+ this.placeholder = 'Selecione um item';
7
+ this.disabled = false;
8
+ this.loading = false;
9
+ this.count_actives = 0;
10
+ this.tcChange = new EventEmitter();
11
+ }
12
+ ngOnInit() {
13
+ setTimeout(() => {
14
+ this.toChange();
15
+ });
16
+ }
17
+ addItem(item) {
18
+ if (this.disabled) {
19
+ return;
20
+ }
21
+ if (this.tcList) {
22
+ for (let i = 0; i < (this.tcList).length; i++) {
23
+ const row = this.tcList[i];
24
+ if (item === row.value) {
25
+ this.tcList[i].active = true;
26
+ break;
27
+ }
28
+ }
29
+ this.toChange();
30
+ }
31
+ }
32
+ removeItem(item) {
33
+ if (this.disabled) {
34
+ return;
35
+ }
36
+ if (this.tcList) {
37
+ for (let i = 0; i < (this.tcList).length; i++) {
38
+ const row = this.tcList[i];
39
+ if (item === row.value) {
40
+ this.tcList[i].active = false;
41
+ break;
42
+ }
43
+ }
44
+ this.toChange();
45
+ }
46
+ }
47
+ toChange() {
48
+ let count_actives = 0;
49
+ let itens = [];
50
+ if (this.tcList) {
51
+ for (let i = 0; i < (this.tcList).length; i++) {
52
+ const row = this.tcList[i];
53
+ if (row.active) {
54
+ count_actives++;
55
+ (itens).push(row);
56
+ }
57
+ }
58
+ }
59
+ this.count_actives = count_actives;
60
+ this.tcChange.emit(itens);
61
+ }
62
+ }
63
+ TCloudUiMultiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiMultiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
64
+ TCloudUiMultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TCloudUiMultiSelectComponent, selector: "tcloud-ui-multi-select", inputs: { tcList: "tcList", placeholder: "placeholder", disabled: "disabled", loading: "loading" }, outputs: { tcChange: "tcChange" }, ngImport: i0, template: "<div>\r\n <table>\r\n <tr *ngIf=\"tcList\">\r\n <td>\r\n <select\r\n #_select\r\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\r\n [title]=\"tcList.length === 0 ? 'Nenhum item dispon\u00EDvel' : placeholder\">\r\n <option></option>\r\n <ng-container *ngFor=\"let item of tcList; let i = index\">\r\n <option [title]=\"item.description\" *ngIf=\"!item.active\" [value]=\"item.value\">{{ item.description }}</option>\r\n </ng-container>\r\n </select>\r\n </td>\r\n <td>\r\n <button\r\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\r\n title=\"Adicionar\"\r\n class=\"btn-plus-select\"\r\n (click)=\"addItem(_select.value)\"\r\n type=\"button\">\r\n <i class=\"fas fa-plus\"></i>\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n\r\n <div class=\"box-itens-selected\" *ngIf=\"count_actives > 0\">\r\n <ng-container *ngFor=\"let item of tcList\">\r\n <div class=\"itens-selected\" *ngIf=\"item.active\" [title]=\"item.description\">\r\n {{ item.description }}\r\n <button\r\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\r\n title=\"Remover\"\r\n type=\"button\"\r\n (click)=\"removeItem(item.value)\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", styles: ["table{width:100%;border-collapse:collapse;border:none}table td:first-child{width:100%}select{font-size:.8rem;height:40px;border:1px solid #999;border-radius:4px 0 0 4px;padding:6px 10px;white-space:nowrap;text-overflow:ellipsis;width:100%;background-color:#fff;color:#888}.btn-plus-select{width:30px;height:40px;border:none;color:#fff;background-color:var(--verde);border-radius:0 4px 4px 0}.box-itens-selected{display:flex;padding:9px;background-color:#ededed;border-radius:4px}.itens-selected{display:inline;width:100%;max-width:200px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;border:1px solid #ccc;height:35px;min-width:100px;background-color:var(--verde);color:#fff;padding:8px 15px 10px;border:none;border-radius:5px;margin:2px}.itens-selected button{position:relative;right:0;z-index:1;float:right;line-height:1;top:2px;left:10px;color:#d72020;background-color:var(--verde);border:none;font-weight:700;cursor:pointer}select:disabled{opacity:.8!important;cursor:not-allowed!important;background-color:#ededed}button:disabled{opacity:.5!important;cursor:not-allowed!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiMultiSelectComponent, decorators: [{
66
+ type: Component,
67
+ args: [{ selector: 'tcloud-ui-multi-select', template: "<div>\r\n <table>\r\n <tr *ngIf=\"tcList\">\r\n <td>\r\n <select\r\n #_select\r\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\r\n [title]=\"tcList.length === 0 ? 'Nenhum item dispon\u00EDvel' : placeholder\">\r\n <option></option>\r\n <ng-container *ngFor=\"let item of tcList; let i = index\">\r\n <option [title]=\"item.description\" *ngIf=\"!item.active\" [value]=\"item.value\">{{ item.description }}</option>\r\n </ng-container>\r\n </select>\r\n </td>\r\n <td>\r\n <button\r\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\r\n title=\"Adicionar\"\r\n class=\"btn-plus-select\"\r\n (click)=\"addItem(_select.value)\"\r\n type=\"button\">\r\n <i class=\"fas fa-plus\"></i>\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n\r\n <div class=\"box-itens-selected\" *ngIf=\"count_actives > 0\">\r\n <ng-container *ngFor=\"let item of tcList\">\r\n <div class=\"itens-selected\" *ngIf=\"item.active\" [title]=\"item.description\">\r\n {{ item.description }}\r\n <button\r\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\r\n title=\"Remover\"\r\n type=\"button\"\r\n (click)=\"removeItem(item.value)\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", styles: ["table{width:100%;border-collapse:collapse;border:none}table td:first-child{width:100%}select{font-size:.8rem;height:40px;border:1px solid #999;border-radius:4px 0 0 4px;padding:6px 10px;white-space:nowrap;text-overflow:ellipsis;width:100%;background-color:#fff;color:#888}.btn-plus-select{width:30px;height:40px;border:none;color:#fff;background-color:var(--verde);border-radius:0 4px 4px 0}.box-itens-selected{display:flex;padding:9px;background-color:#ededed;border-radius:4px}.itens-selected{display:inline;width:100%;max-width:200px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;border:1px solid #ccc;height:35px;min-width:100px;background-color:var(--verde);color:#fff;padding:8px 15px 10px;border:none;border-radius:5px;margin:2px}.itens-selected button{position:relative;right:0;z-index:1;float:right;line-height:1;top:2px;left:10px;color:#d72020;background-color:var(--verde);border:none;font-weight:700;cursor:pointer}select:disabled{opacity:.8!important;cursor:not-allowed!important;background-color:#ededed}button:disabled{opacity:.5!important;cursor:not-allowed!important}\n"] }]
68
+ }], ctorParameters: function () { return []; }, propDecorators: { tcList: [{
69
+ type: Input
70
+ }], placeholder: [{
71
+ type: Input
72
+ }], disabled: [{
73
+ type: Input
74
+ }], loading: [{
75
+ type: Input
76
+ }], tcChange: [{
77
+ type: Output
78
+ }] } });
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLW11bHRpLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Y2xvdWQtdWkvc3JjL2xpYi9fbW9kdWxlcy90Y2xvdWQtdWktbXVsdGktc2VsZWN0L3RjbG91ZC11aS1tdWx0aS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX21vZHVsZXMvdGNsb3VkLXVpLW11bHRpLXNlbGVjdC90Y2xvdWQtdWktbXVsdGktc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU8vRSxNQUFNLE9BQU8sNEJBQTRCO0lBYXZDO1FBVFMsZ0JBQVcsR0FBVyxtQkFBbUIsQ0FBQztRQUMxQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFHbEMsa0JBQWEsR0FBVyxDQUFDLENBQUM7UUFFaEIsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7SUFFL0IsQ0FBQztJQUVqQixRQUFRO1FBQ04sVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBUztRQUNmLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUFFLE9BQU87U0FBRTtRQUU5QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUM3QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzQixJQUFJLElBQUksS0FBSyxHQUFHLENBQUMsS0FBSyxFQUFFO29CQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7b0JBQzdCLE1BQU07aUJBQ1A7YUFDRjtZQUNELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNqQjtJQUVILENBQUM7SUFHRCxVQUFVLENBQUMsSUFBUztRQUNsQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFDOUIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDN0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDM0IsSUFBSSxJQUFJLEtBQUssR0FBRyxDQUFDLEtBQUssRUFBRTtvQkFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO29CQUM5QixNQUFNO2lCQUNQO2FBQ0Y7WUFDRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBRU8sUUFBUTtRQUNkLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN0QixJQUFJLEtBQUssR0FBVSxFQUFFLENBQUM7UUFDdEIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDN0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDM0IsSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFO29CQUNkLGFBQWEsRUFBRSxDQUFDO29CQUNoQixDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDbkI7YUFDRjtTQUNGO1FBRUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQzs7MEhBbkVVLDRCQUE0Qjs4R0FBNUIsNEJBQTRCLHFNQ1B6Qyw0a0RBMENBOzRGRG5DYSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0Usd0JBQXdCOzBFQU16QixNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFLSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0Y2xvdWQtdWktbXVsdGktc2VsZWN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGNsb3VkLXVpLW11bHRpLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGNsb3VkLXVpLW11bHRpLXNlbGVjdC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUQ2xvdWRVaU11bHRpU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgdGNMaXN0OiBhbnlbXSB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICdTZWxlY2lvbmUgdW0gaXRlbSc7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHZhbHVlczogYW55W10gfCB1bmRlZmluZWQ7XHJcbiAgY291bnRfYWN0aXZlczogbnVtYmVyID0gMDtcclxuXHJcbiAgQE91dHB1dCgpIHRjQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy50b0NoYW5nZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBhZGRJdGVtKGl0ZW06IGFueSk6IHZvaWR7XHJcbiAgICBpZiggdGhpcy5kaXNhYmxlZCApeyByZXR1cm47IH1cclxuXHJcbiAgICBpZiggdGhpcy50Y0xpc3QgKXtcclxuICAgICAgZm9yKCBsZXQgaSA9IDA7IGkgPCAodGhpcy50Y0xpc3QpLmxlbmd0aDsgaSsrICl7XHJcbiAgICAgICAgY29uc3Qgcm93ID0gdGhpcy50Y0xpc3RbaV07XHJcbiAgICAgICAgaWYoIGl0ZW0gPT09IHJvdy52YWx1ZSApe1xyXG4gICAgICAgICAgdGhpcy50Y0xpc3RbaV0uYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLnRvQ2hhbmdlKCk7XHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcblxyXG5cclxuICByZW1vdmVJdGVtKGl0ZW06IGFueSk6IHZvaWR7XHJcbiAgICBpZiggdGhpcy5kaXNhYmxlZCApeyByZXR1cm47IH1cclxuICAgIGlmKCB0aGlzLnRjTGlzdCApe1xyXG4gICAgICBmb3IoIGxldCBpID0gMDsgaSA8ICh0aGlzLnRjTGlzdCkubGVuZ3RoOyBpKysgKXtcclxuICAgICAgICBjb25zdCByb3cgPSB0aGlzLnRjTGlzdFtpXTtcclxuICAgICAgICBpZiggaXRlbSA9PT0gcm93LnZhbHVlICl7XHJcbiAgICAgICAgICB0aGlzLnRjTGlzdFtpXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLnRvQ2hhbmdlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRvQ2hhbmdlKCk6IHZvaWR7XHJcbiAgICBsZXQgY291bnRfYWN0aXZlcyA9IDA7XHJcbiAgICBsZXQgaXRlbnM6IGFueVtdID0gW107XHJcbiAgICBpZiggdGhpcy50Y0xpc3QgKXtcclxuICAgICAgZm9yKCBsZXQgaSA9IDA7IGkgPCAodGhpcy50Y0xpc3QpLmxlbmd0aDsgaSsrICl7XHJcbiAgICAgICAgY29uc3Qgcm93ID0gdGhpcy50Y0xpc3RbaV07XHJcbiAgICAgICAgaWYoIHJvdy5hY3RpdmUgKXtcclxuICAgICAgICAgIGNvdW50X2FjdGl2ZXMrKztcclxuICAgICAgICAgIChpdGVucykucHVzaChyb3cpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY291bnRfYWN0aXZlcyA9IGNvdW50X2FjdGl2ZXM7XHJcbiAgICB0aGlzLnRjQ2hhbmdlLmVtaXQoaXRlbnMpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdj5cclxuICA8dGFibGU+XHJcbiAgICA8dHIgKm5nSWY9XCJ0Y0xpc3RcIj5cclxuICAgICAgPHRkPlxyXG4gICAgICAgIDxzZWxlY3RcclxuICAgICAgICAgICNfc2VsZWN0XHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwidGNMaXN0ID09PSB1bmRlZmluZWQgfHwgKHRjTGlzdCAmJiB0Y0xpc3QubGVuZ3RoID09PSAwKSB8fCBkaXNhYmxlZCB8fCBsb2FkaW5nXCJcclxuICAgICAgICAgIFt0aXRsZV09XCJ0Y0xpc3QubGVuZ3RoID09PSAwID8gJ05lbmh1bSBpdGVtIGRpc3BvbsOtdmVsJyA6IHBsYWNlaG9sZGVyXCI+XHJcbiAgICAgICAgICA8b3B0aW9uPjwvb3B0aW9uPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0Y0xpc3Q7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgPG9wdGlvbiBbdGl0bGVdPVwiaXRlbS5kZXNjcmlwdGlvblwiICpuZ0lmPVwiIWl0ZW0uYWN0aXZlXCIgW3ZhbHVlXT1cIml0ZW0udmFsdWVcIj57eyBpdGVtLmRlc2NyaXB0aW9uIH19PC9vcHRpb24+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgPC90ZD5cclxuICAgICAgPHRkPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJ0Y0xpc3QgPT09IHVuZGVmaW5lZCB8fCAodGNMaXN0ICYmIHRjTGlzdC5sZW5ndGggPT09IDApIHx8IGRpc2FibGVkIHx8IGxvYWRpbmdcIlxyXG4gICAgICAgICAgdGl0bGU9XCJBZGljaW9uYXJcIlxyXG4gICAgICAgICAgY2xhc3M9XCJidG4tcGx1cy1zZWxlY3RcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImFkZEl0ZW0oX3NlbGVjdC52YWx1ZSlcIlxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtcGx1c1wiPjwvaT5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC90ZD5cclxuICAgIDwvdHI+XHJcbiAgPC90YWJsZT5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImJveC1pdGVucy1zZWxlY3RlZFwiICpuZ0lmPVwiY291bnRfYWN0aXZlcyA+IDBcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdGNMaXN0XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpdGVucy1zZWxlY3RlZFwiICpuZ0lmPVwiaXRlbS5hY3RpdmVcIiBbdGl0bGVdPVwiaXRlbS5kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgIHt7IGl0ZW0uZGVzY3JpcHRpb24gfX1cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwidGNMaXN0ID09PSB1bmRlZmluZWQgfHwgKHRjTGlzdCAmJiB0Y0xpc3QubGVuZ3RoID09PSAwKSB8fCBkaXNhYmxlZCB8fCBsb2FkaW5nXCJcclxuICAgICAgICAgIHRpdGxlPVwiUmVtb3ZlclwiXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgIChjbGljayk9XCJyZW1vdmVJdGVtKGl0ZW0udmFsdWUpXCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS10aW1lc1wiPjwvaT5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -0,0 +1,20 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { TCloudUiMultiSelectComponent } from './tcloud-ui-multi-select.component';
4
+ import * as i0 from "@angular/core";
5
+ export class TCloudUiMultiSelectModule {
6
+ }
7
+ TCloudUiMultiSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiMultiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ TCloudUiMultiSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiMultiSelectModule, declarations: [TCloudUiMultiSelectComponent], imports: [CommonModule], exports: [TCloudUiMultiSelectComponent] });
9
+ TCloudUiMultiSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiMultiSelectModule, imports: [CommonModule] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiMultiSelectModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [TCloudUiMultiSelectComponent],
14
+ exports: [TCloudUiMultiSelectComponent],
15
+ imports: [
16
+ CommonModule
17
+ ]
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLW11bHRpLXNlbGVjdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Y2xvdWQtdWkvc3JjL2xpYi9fbW9kdWxlcy90Y2xvdWQtdWktbXVsdGktc2VsZWN0L3RjbG91ZC11aS1tdWx0aS1zZWxlY3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQVdsRixNQUFNLE9BQU8seUJBQXlCOzt1SEFBekIseUJBQXlCO3dIQUF6Qix5QkFBeUIsaUJBTnJCLDRCQUE0QixhQUd6QyxZQUFZLGFBRkosNEJBQTRCO3dIQUszQix5QkFBeUIsWUFIbEMsWUFBWTs0RkFHSCx5QkFBeUI7a0JBUHJDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsNEJBQTRCLENBQUM7b0JBQzVDLE9BQU8sRUFBRSxDQUFDLDRCQUE0QixDQUFDO29CQUN2QyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFRDbG91ZFVpTXVsdGlTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3RjbG91ZC11aS1tdWx0aS1zZWxlY3QuY29tcG9uZW50JztcclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtUQ2xvdWRVaU11bHRpU2VsZWN0Q29tcG9uZW50XSxcclxuICBleHBvcnRzOiBbVENsb3VkVWlNdWx0aVNlbGVjdENvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVENsb3VkVWlNdWx0aVNlbGVjdE1vZHVsZSB7IH1cclxuIl19
@@ -0,0 +1,37 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CNPJPipe {
4
+ constructor() {
5
+ this.mascara = "##.###.###/####-##";
6
+ }
7
+ createMask(v) {
8
+ const mask = this.mascara;
9
+ let str = v.replace(/\s/g, '');
10
+ let strMask = '';
11
+ if (str.length == 14) {
12
+ let j = 0;
13
+ for (let i = 0; i < mask.length; i++) {
14
+ if (mask[i] == '#') {
15
+ strMask += str[j++];
16
+ }
17
+ else {
18
+ strMask += mask[i];
19
+ }
20
+ }
21
+ }
22
+ else {
23
+ return v;
24
+ }
25
+ return strMask;
26
+ }
27
+ transform(cnpj) {
28
+ return this.createMask(cnpj);
29
+ }
30
+ }
31
+ CNPJPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CNPJPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
32
+ CNPJPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: CNPJPipe, name: "cnpj" });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CNPJPipe, decorators: [{
34
+ type: Pipe,
35
+ args: [{ name: 'cnpj' }]
36
+ }] });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY25wai5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RjbG91ZC11aS9zcmMvbGliL19waXBlcy9jbnBqLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUdwRCxNQUFNLE9BQU8sUUFBUTtJQURyQjtRQUVJLFlBQU8sR0FBVyxvQkFBb0IsQ0FBQztLQXNCMUM7SUFyQkcsVUFBVSxDQUFDLENBQU07UUFDYixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzFCLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLEdBQUcsQ0FBQyxNQUFNLElBQUksRUFBRSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNWLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFDO2dCQUNqQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUU7b0JBQ2hCLE9BQU8sSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDdkI7cUJBQUk7b0JBQ0QsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDdEI7YUFDSjtTQUNKO2FBQUk7WUFDRCxPQUFPLENBQUMsQ0FBQztTQUNaO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUNELFNBQVMsQ0FBQyxJQUFZO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDOztzR0F0QlEsUUFBUTtvR0FBUixRQUFROzRGQUFSLFFBQVE7a0JBRHBCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQFBpcGUoeyBuYW1lOiAnY25waid9KVxyXG5leHBvcnQgY2xhc3MgQ05QSlBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIG1hc2NhcmE6IHN0cmluZyA9IFwiIyMuIyMjLiMjIy8jIyMjLSMjXCI7XHJcbiAgICBjcmVhdGVNYXNrKHY6IGFueSl7XHJcbiAgICAgICAgY29uc3QgbWFzayA9IHRoaXMubWFzY2FyYTtcclxuICAgICAgICBsZXQgc3RyID0gdi5yZXBsYWNlKC9cXHMvZywnJyk7XHJcbiAgICAgICAgbGV0IHN0ck1hc2sgPSAnJztcclxuICAgICAgICBpZiggc3RyLmxlbmd0aCA9PSAxNCApe1xyXG4gICAgICAgICAgICBsZXQgaiA9IDA7XHJcbiAgICAgICAgICAgIGZvciggbGV0IGkgPSAwOyBpIDwgbWFzay5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgICAgICBpZiggbWFza1tpXSA9PSAnIycgKXtcclxuICAgICAgICAgICAgICAgICAgICBzdHJNYXNrICs9IHN0cltqKytdO1xyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgc3RyTWFzayArPSBtYXNrW2ldO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIHJldHVybiB2O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc3RyTWFzaztcclxuICAgIH1cclxuICAgIHRyYW5zZm9ybShjbnBqOiBzdHJpbmcpOiBzdHJpbmd7ICAgICAgICAgICAgIFxyXG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZU1hc2soY25waik7XHJcbiAgICB9XHJcbn0iXX0=
@@ -0,0 +1,37 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CPFPipe {
4
+ constructor() {
5
+ this.mascara = "###.###.###-##";
6
+ }
7
+ createMask(v) {
8
+ const mask = this.mascara;
9
+ let str = v.replace(/\s/g, '');
10
+ let strMask = '';
11
+ if (str.length == 14) {
12
+ let j = 0;
13
+ for (let i = 0; i < mask.length; i++) {
14
+ if (mask[i] == '#') {
15
+ strMask += str[j++];
16
+ }
17
+ else {
18
+ strMask += mask[i];
19
+ }
20
+ }
21
+ }
22
+ else {
23
+ return v;
24
+ }
25
+ return strMask;
26
+ }
27
+ transform(cpf) {
28
+ return this.createMask(cpf);
29
+ }
30
+ }
31
+ CPFPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CPFPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
32
+ CPFPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: CPFPipe, name: "cpf" });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CPFPipe, decorators: [{
34
+ type: Pipe,
35
+ args: [{ name: 'cpf' }]
36
+ }] });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX3BpcGVzL2NwZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFHcEQsTUFBTSxPQUFPLE9BQU87SUFEcEI7UUFFSSxZQUFPLEdBQVcsZ0JBQWdCLENBQUM7S0FzQnRDO0lBckJHLFVBQVUsQ0FBQyxDQUFNO1FBQ2IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUMxQixJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBQyxFQUFFLENBQUMsQ0FBQztRQUM5QixJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUUsRUFBRTtZQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDVixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBQztnQkFDakMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFO29CQUNoQixPQUFPLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQ3ZCO3FCQUFJO29CQUNELE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3RCO2FBQ0o7U0FDSjthQUFJO1lBQ0QsT0FBTyxDQUFDLENBQUM7U0FDWjtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFDRCxTQUFTLENBQUMsR0FBVztRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7cUdBdEJRLE9BQU87bUdBQVAsT0FBTzs0RkFBUCxPQUFPO2tCQURuQixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHsgbmFtZTogJ2NwZid9KVxyXG5leHBvcnQgY2xhc3MgQ1BGUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgbWFzY2FyYTogc3RyaW5nID0gXCIjIyMuIyMjLiMjIy0jI1wiO1xyXG4gICAgY3JlYXRlTWFzayh2OiBhbnkpe1xyXG4gICAgICAgIGNvbnN0IG1hc2sgPSB0aGlzLm1hc2NhcmE7XHJcbiAgICAgICAgbGV0IHN0ciA9IHYucmVwbGFjZSgvXFxzL2csJycpO1xyXG4gICAgICAgIGxldCBzdHJNYXNrID0gJyc7XHJcbiAgICAgICAgaWYoIHN0ci5sZW5ndGggPT0gMTQgKXtcclxuICAgICAgICAgICAgbGV0IGogPSAwO1xyXG4gICAgICAgICAgICBmb3IoIGxldCBpID0gMDsgaSA8IG1hc2subGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICAgICAgaWYoIG1hc2tbaV0gPT0gJyMnICl7XHJcbiAgICAgICAgICAgICAgICAgICAgc3RyTWFzayArPSBzdHJbaisrXTtcclxuICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIHN0ck1hc2sgKz0gbWFza1tpXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICByZXR1cm4gdjtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHN0ck1hc2s7XHJcbiAgICB9XHJcbiAgICB0cmFuc2Zvcm0oY3BmOiBzdHJpbmcpOiBzdHJpbmd7ICAgICAgICAgICAgIFxyXG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZU1hc2soY3BmKTtcclxuICAgIH1cclxufSJdfQ==
@@ -0,0 +1,6 @@
1
+ export * from './monthname';
2
+ export * from './statusinfo';
3
+ export * from './respective';
4
+ export * from './cnpj';
5
+ export * from './cpf';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Y2xvdWQtdWkvc3JjL2xpYi9fcGlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vbnRobmFtZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3RhdHVzaW5mbyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmVzcGVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY25waic7XHJcbmV4cG9ydCAqIGZyb20gJy4vY3BmJzsiXX0=
@@ -0,0 +1,25 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class MonthNamePipe {
4
+ constructor() {
5
+ this.meses = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezenbro'];
6
+ }
7
+ transform(yyyy_mm) {
8
+ if (yyyy_mm !== '') {
9
+ let part = (yyyy_mm).split('-');
10
+ if ((part).length === 2) {
11
+ let yyyy = +part[0];
12
+ let mm = +part[1];
13
+ return this.meses[(mm - 1)];
14
+ }
15
+ }
16
+ return '';
17
+ }
18
+ }
19
+ MonthNamePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MonthNamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
20
+ MonthNamePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: MonthNamePipe, name: "monthname" });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MonthNamePipe, decorators: [{
22
+ type: Pipe,
23
+ args: [{ name: 'monthname' }]
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGhuYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX3BpcGVzL21vbnRobmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFHcEQsTUFBTSxPQUFPLGFBQWE7SUFEMUI7UUFHSSxVQUFLLEdBQWEsQ0FBQyxTQUFTLEVBQUMsV0FBVyxFQUFDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE9BQU8sRUFBQyxPQUFPLEVBQUMsUUFBUSxFQUFDLFVBQVUsRUFBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLFVBQVUsQ0FBQyxDQUFDO0tBaUJ4STtJQWRHLFNBQVMsQ0FBQyxPQUFlO1FBRXZCLElBQUksT0FBTyxLQUFLLEVBQUUsRUFBRTtZQUVsQixJQUFJLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDdkIsSUFBSSxJQUFJLEdBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JCLElBQUksRUFBRSxHQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUVyQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMzQjtTQUNGO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOzsyR0FsQlEsYUFBYTt5R0FBYixhQUFhOzRGQUFiLGFBQWE7a0JBRHpCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQFBpcGUoeyBuYW1lOiAnbW9udGhuYW1lJ30pXHJcbmV4cG9ydCBjbGFzcyBNb250aE5hbWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gICAgbWVzZXM6IHN0cmluZ1tdID0gWydKYW5laXJvJywnRmV2ZXJlaXJvJywnTWFyw6dvJywnQWJyaWwnLCdNYWlvJywnSnVuaG8nLCdKdWxobycsJ0Fnb3N0bycsJ1NldGVtYnJvJywnT3V0dWJybycsJ05vdmVtYnJvJywnRGV6ZW5icm8nXTtcclxuICAgXHJcblxyXG4gICAgdHJhbnNmb3JtKHl5eXlfbW06IHN0cmluZyk6IHN0cmluZ3tcclxuXHJcbiAgICAgIGlmKCB5eXl5X21tICE9PSAnJyApe1xyXG5cclxuICAgICAgICBsZXQgcGFydCA9ICh5eXl5X21tKS5zcGxpdCgnLScpO1xyXG4gICAgICAgIGlmKCAocGFydCkubGVuZ3RoID09PSAyICl7XHJcbiAgICAgICAgICBsZXQgeXl5eSAgPSArcGFydFswXTtcclxuICAgICAgICAgIGxldCBtbSAgICA9ICtwYXJ0WzFdO1xyXG5cclxuICAgICAgICAgIHJldHVybiB0aGlzLm1lc2VzWyhtbS0xKV07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxufSJdfQ==