@dev-tcloud/tcloud-ui 0.0.35 → 0.0.37

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.
@@ -40,15 +40,44 @@ export class TCloudUiFiltersComponent {
40
40
  const v = (((`${text}`).normalize('NFD').replace(/[\u0300-\u036f]/g, "")).trim()).toLowerCase();
41
41
  return v;
42
42
  }
43
- fetchFromObject(obj, prop) {
44
- if (typeof obj === 'undefined') {
45
- return false;
46
- }
47
- var _index = `${prop}`.indexOf('.');
48
- if (_index > -1) {
49
- return this.fetchFromObject(obj[prop.substring(0, _index)], prop.substr(_index + 1));
43
+ collectionFind(obj, path) {
44
+ const pathArray = path.split(".");
45
+ let current = obj;
46
+ for (let i = 0; i < pathArray.length; i++) {
47
+ const key = pathArray[i];
48
+ if (key.includes('[') && key.includes(']')) {
49
+ const nextKeys = pathArray.slice(i + 1);
50
+ const index = key.substring(key.indexOf('[') + 1, key.indexOf(']'));
51
+ const arrayKey = key.substring(0, key.indexOf('['));
52
+ if (current[arrayKey][index]) {
53
+ console.log('current[arrayKey][index]', current[arrayKey][index]);
54
+ return this.collectionFind(current[arrayKey][index], nextKeys.join("."));
55
+ }
56
+ }
57
+ if (key.includes("[]")) {
58
+ const arrayKey = key.replace("[]", "");
59
+ current = current[arrayKey] || [];
60
+ const nextKeys = pathArray.slice(i + 1);
61
+ const results = [];
62
+ for (let j = 0; j < current.length; j++) {
63
+ let result = this.collectionFind(current[j], nextKeys.join("."));
64
+ if (result !== undefined) {
65
+ results.push(result);
66
+ }
67
+ }
68
+ if (results.length === 0) {
69
+ return undefined;
70
+ }
71
+ return results;
72
+ }
73
+ else {
74
+ current = current[key];
75
+ if (current === undefined) {
76
+ return undefined;
77
+ }
78
+ }
50
79
  }
51
- return obj[prop];
80
+ return current;
52
81
  }
53
82
  searchIn(item, event) {
54
83
  if (typeof event === 'boolean') {
@@ -68,7 +97,7 @@ export class TCloudUiFiltersComponent {
68
97
  const filter_item = this.filters[j];
69
98
  if (filter_item.searchText && typeof (filter_item.searchText) === 'string' && filter_item.searchText !== '') {
70
99
  filter_item.searchText = this.normalize(filter_item.searchText);
71
- let item_value = this.fetchFromObject(this.data[i], filter_item.searchIn);
100
+ let item_value = this.collectionFind(this.data[i], filter_item.searchIn);
72
101
  if (item_value) {
73
102
  item_value = this.normalize(item_value);
74
103
  if (!(item_value.includes(filter_item.searchText) || item_value === filter_item.searchText)) {
@@ -76,9 +105,21 @@ export class TCloudUiFiltersComponent {
76
105
  }
77
106
  }
78
107
  }
79
- if (typeof (filter_item.searchText) === 'boolean') {
80
- let item_value = this.fetchFromObject(this.data[i], filter_item.searchIn);
81
- if (filter_item.searchText) {
108
+ if (typeof (filter_item.searchText) === 'boolean' && filter_item.searchText) {
109
+ let item_value = this.collectionFind(this.data[i], filter_item.searchIn);
110
+ if (item_value && (item_value).length > 0) {
111
+ let qtd_is_true = 0;
112
+ for (let i = 0; i < ((item_value).length); i++) {
113
+ const item = item_value[i];
114
+ if (item === filter_item.searchText) {
115
+ qtd_is_true++;
116
+ }
117
+ }
118
+ if (qtd_is_true === 0) {
119
+ this.data[i]['tc_filter_accept'] = false;
120
+ }
121
+ }
122
+ else {
82
123
  if (!(item_value === filter_item.searchText)) {
83
124
  this.data[i]['tc_filter_accept'] = false;
84
125
  }
@@ -120,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
120
161
  }], result: [{
121
162
  type: Output
122
163
  }] } });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWZpbHRlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX21vZHVsZXMvdGNsb3VkLXVpLWZpbHRlcnMvdGNsb3VkLXVpLWZpbHRlcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX21vZHVsZXMvdGNsb3VkLXVpLWZpbHRlcnMvdGNsb3VkLXVpLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRekcsTUFBTSxPQUFPLHdCQUF3QjtJQW9CbkM7UUFsQkEsV0FBTSxHQUFhLEVBQUUsQ0FBQztRQUV0QixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQWtCcEIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFGM0IsQ0FBQztJQVhqQixJQUFhLElBQUksQ0FBQyxJQUFTO1FBQ3pCLG9CQUFvQjtJQUN0QixDQUFDO0lBQ0QsSUFBSSxJQUFJLEtBQVMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUdyQyxJQUFhLE9BQU8sQ0FBQyxPQUFZO1FBQy9CLDBCQUEwQjtJQUM1QixDQUFDO0lBQ0QsSUFBSSxPQUFPLEtBQVMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQU0zQyxRQUFRO0lBRVIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUFDO1FBQzFDLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJ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aW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUQ0RhdGFGaWx0ZXJzIH0gZnJvbSAnLi90Y2xvdWQtdWktZmlsdGVycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RjbG91ZC11aS1maWx0ZXJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RjbG91ZC11aS1maWx0ZXJzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGNsb3VkLXVpLWZpbHRlcnMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUQ2xvdWRVaUZpbHRlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgaW5wdXRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHNob3dfZmlsdGVyczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHNlYXJjaF9kYXRhOiBhbnkgfCB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBfZGF0YTogYW55IHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBzZXQgZGF0YShkYXRhOiBhbnkpe1xuICAgIC8vdGhpcy5fZGF0YSA9IGRhdGE7XG4gIH1cbiAgZ2V0IGRhdGEoKTogYW55eyByZXR1cm4gdGhpcy5fZGF0YTsgfVxuXG4gIHByaXZhdGUgX2ZpbHRlcnM6IFRDRGF0YUZpbHRlcnMgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHNldCBmaWx0ZXJzKGZpbHRlcnM6IGFueSl7XG4gICAgLy90aGlzLl9maWx0ZXJzID0gZmlsdGVycztcbiAgfVxuICBnZXQgZmlsdGVycygpOiBhbnl7IHJldHVybiB0aGlzLl9maWx0ZXJzOyB9XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBAT3V0cHV0KCkgcmVzdWx0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zdCBkYXRhID0gY2hhbmdlc1snZGF0YSddLmN1cnJlbnRWYWx1ZTtcbiAgICBpZiggdGhpcy5fZGF0YSAhPT0gZGF0YSApe1xuICAgICAgdGhpcy5fZGF0YSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICAgICAgdGhpcy5zZWFyY2hfZGF0YSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICAgICAgdGhpcy5pbml0KCk7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsdGVycyA9IGNoYW5nZXNbJ2ZpbHRlcnMnXS5jdXJyZW50VmFsdWU7XG4gICAgaWYoIHRoaXMuX2ZpbHRlcnMgIT09IGZpbHRlcnMgKXtcbiAgICAgIHRoaXMuX2ZpbHRlcnMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGZpbHRlcnMpKTtcbiAgICAgIHRoaXMuaW5pdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdCgpe1xuICAgIGlmKCB0aGlzLmRhdGEgJiYgdGhpcy5maWx0ZXJzICl7XG4gICAgICB0aGlzLnNob3dfZmlsdGVycyA9IHRydWU7XG4gICAgICB0aGlzLnRvUmVzdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemUodGV4dDogYW55KTogc3RyaW5ne1xuICAgIGNvbnN0IHYgPSAoICggKGAke3RleHR9YCkubm9ybWFsaXplKCdORkQnKS5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCBcIlwiKSApLnRyaW0oKSApLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIHY7XG4gIH1cblxuICBwcml2YXRlIGZldGNoRnJvbU9iamVjdChvYmo6IGFueSwgcHJvcDogYW55KTogYW55e1xuXG4gICAgaWYodHlwZW9mIG9iaiA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHZhciBfaW5kZXggPSBgJHtwcm9wfWAuaW5kZXhPZignLicpO1xuICAgIGlmKF9pbmRleCA+IC0xKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZldGNoRnJvbU9iamVjdChvYmpbcHJvcC5zdWJzdHJpbmcoMCwgX2luZGV4KV0sIHByb3Auc3Vic3RyKF9pbmRleCArIDEpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gb2JqW3Byb3BdO1xuICB9XG5cbiAgc2VhcmNoSW4oaXRlbTogVENEYXRhRmlsdGVycywgZXZlbnQ6IGFueSl7XG5cbiAgICBpZiggdHlwZW9mIGV2ZW50ID09PSAnYm9vbGVhbicgKXtcbiAgICAgIGl0ZW0uc2VhcmNoVGV4dCA9IGV2ZW50O1xuICAgIH1lbHNle1xuXG4gICAgICBpZiggZXZlbnQgPT09IG51bGwgKXtcbiAgICAgICAgaXRlbS5zZWFyY2hUZXh0ID0gJyc7XG4gICAgICB9ZWxzZXtcbiAgICAgICAgaXRlbS5zZWFyY2hUZXh0ID0gKGV2ZW50LnRhcmdldC52YWx1ZSkudG9VcHBlckNhc2UoKTtcbiAgICAgIH1cblxuICAgIH1cbiAgIFxuXG4gICAgZm9yKCBsZXQgaSA9IDA7IGkgPCAodGhpcy5kYXRhKS5sZW5ndGg7IGkrKyApe1xuXG4gICAgICB0aGlzLmRhdGFbaV1bJ3RjX2ZpbHRlcl9hY2NlcHQnXSA9IHRydWU7XG5cbiAgICAgIGZvciggbGV0IGogPSAwOyBqIDwgKHRoaXMuZmlsdGVycykubGVuZ3RoOyBqKysgKXsgICAgICAgIFxuICAgICAgICBjb25zdCBmaWx0ZXJfaXRlbSA9IHRoaXMuZmlsdGVyc1tqXTtcbiAgICAgICAgXG4gICAgICAgIGlmKCBmaWx0ZXJfaXRlbS5zZWFyY2hUZXh0ICYmIHR5cGVvZiAoZmlsdGVyX2l0ZW0uc2VhcmNoVGV4dCkgPT09ICdzdHJpbmcnICYmIGZpbHRlcl9pdGVtLnNlYXJjaFRleHQgIT09ICcnICl7XG4gICAgICAgICAgZmlsdGVyX2l0ZW0uc2VhcmNoVGV4dCA9IHRoaXMubm9ybWFsaXplKGZpbHRlcl9pdGVtLnNlYXJjaFRleHQpO1xuICAgICAgICAgIGxldCBpdGVtX3ZhbHVlID0gdGhpcy5mZXRjaEZyb21PYmplY3QodGhpcy5kYXRhW2ldLCBmaWx0ZXJfaXRlbS5zZWFyY2hJbik7XG4gICAgICAgICAgaWYoIGl0ZW1fdmFsdWUgKXtcbiAgICAgICAgICAgIGl0ZW1fdmFsdWUgPSB0aGlzLm5vcm1hbGl6ZShpdGVtX3ZhbHVlKTsgICAgICAgICAgICBcbiAgICAgICAgICAgIGlmKCAhKCBpdGVtX3ZhbHVlLmluY2x1ZGVzKGZpbHRlcl9pdGVtLnNlYXJjaFRleHQpIHx8IGl0ZW1fdmFsdWUgPT09IGZpbHRlcl9pdGVtLnNlYXJjaFRleHQgKSApe1xuICAgICAgICAgICAgICB0aGlzLmRhdGFbaV1bJ3RjX2ZpbHRlcl9hY2NlcHQnXSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSAgICAgICAgIFxuICAgICAgICBcbiAgICAgICAgaWYoIHR5cGVvZiAoZmlsdGVyX2l0ZW0uc2VhcmNoVGV4dCkgPT09ICdib29sZWFuJyApe1xuICAgICAgICAgIGxldCBpdGVtX3ZhbHVlID0gdGhpcy5mZXRjaEZyb21PYmplY3QodGhpcy5kYXRhW2ldLCBmaWx0ZXJfaXRlbS5zZWFyY2hJbik7XG4gICAgICAgICAgaWYoIGZpbHRlcl9pdGVtLnNlYXJjaFRleHQgKXtcbiAgICAgICAgICAgIGlmKCAhKCBpdGVtX3ZhbHVlID09PSBmaWx0ZXJfaXRlbS5zZWFyY2hUZXh0ICkgKXtcbiAgICAgICAgICAgICAgdGhpcy5kYXRhW2ldWyd0Y19maWx0ZXJfYWNjZXB0J10gPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIFxuICAgICAgfVxuXG4gICAgfVxuICAgIHRoaXMudG9SZXN1bHQoKTtcbiAgICAgIFxuICB9XG5cbiAgcHJpdmF0ZSB0b1Jlc3VsdCgpe1xuICAgIGNvbnN0IHNlYXJjaF9kYXRhID0gW107XG5cbiAgICBsZXQgaXNfZmlsdGVyID0gZmFsc2U7XG4gICAgZm9yKCBsZXQgaSA9IDA7IGkgPCAodGhpcy5maWx0ZXJzKS5sZW5ndGg7IGkrKyApe1xuICAgICAgaWYoIHRoaXMuZmlsdGVyc1tpXS5zZWFyY2hUZXh0ICYmIHRoaXMuZmlsdGVyc1tpXS5zZWFyY2hUZXh0ICE9PSAnJyApe1xuICAgICAgICBpc19maWx0ZXIgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmKCBpc19maWx0ZXIgKXtcbiAgICAgIGZvciggbGV0IGkgPSAwOyBpIDwgKHRoaXMuZGF0YSkubGVuZ3RoOyBpKysgKXtcbiAgICAgICAgaWYoIHRoaXMuZGF0YVtpXT8uWyd0Y19maWx0ZXJfYWNjZXB0J10gKXtcbiAgICAgICAgICAoc2VhcmNoX2RhdGEpLnB1c2godGhpcy5kYXRhW2ldKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5yZXN1bHQuZW1pdChzZWFyY2hfZGF0YSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5yZXN1bHQuZW1pdCh0aGlzLmRhdGEpO1xuICB9XG5cbn1cbiIsIjxkaXYgKm5nSWY9XCJzaG93X2ZpbHRlcnNcIiBjbGFzcz1cImFyZWEtZmlsdGVyXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJzOyBsZXQgaSA9IGluZGV4XCI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLnR5cGUgfHwgKGl0ZW0udHlwZSAmJiBpdGVtLnR5cGUgIT09ICdib29sZWFuJylcIj5cbiAgICAgICAgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm94LWZpbHRlci1pbnB1dFwiIFtzdHlsZV09XCIoaXRlbS53aWR0aCAhPT0gJycpID8gJ3dpZHRoOicraXRlbS53aWR0aCA6ICcnXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tZGVzY3JpcHRpb25cIj48aSBbY2xhc3MudG8tYWN0aXZlXT1cIl9pbnB1dC52YWx1ZSAhPT0gJydcIiBjbGFzcz1cImZhcyBmYS1maWx0ZXIgaWNvbi1maWx0ZXJcIj48L2k+Jm5ic3A7e3sgaXRlbS5kZXNjcmlwdGlvbiB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBcbiAgICAgICAgICAgICAgICAgICAgICAgICNfaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgKGl0ZW0ucGxhY2Vob2xkZXIgIT09ICcnKSA/IGl0ZW0ucGxhY2Vob2xkZXIgOiAnJyB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiaW5wdXRfe3tpKzF9fVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGMtZm9ybS1jb250cm9sXCIgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXl1cCk9XCJzZWFyY2hJbihpdGVtLCAkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4tY2xlYXItZmlsdGVyLXRleHRcIiBbY2xhc3MudG8taGlkZV09XCJfaW5wdXQudmFsdWUgPT09ICcnXCIgKGNsaWNrKT1cInNlYXJjaEluKGl0ZW0sIG51bGwpOyBfaW5wdXQudmFsdWUgPSAnJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtdGltZXNcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLnR5cGUgJiYgaXRlbS50eXBlID09PSAnYm9vbGVhbidcIj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJveC1maWx0ZXItaW5wdXRcIiBbc3R5bGVdPVwiKGl0ZW0ud2lkdGggIT09ICcnKSA/ICd3aWR0aDonK2l0ZW0ud2lkdGggOiAnJ1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWRlc2NyaXB0aW9uXCI+PGkgW2NsYXNzLnRvLWFjdGl2ZV09XCJfaW5wdXQuY2hlY2tlZCA9PT0gdHJ1ZVwiIGNsYXNzPVwiZmFzIGZhLWZpbHRlciBpY29uLWZpbHRlclwiPjwvaT4mbmJzcDt7eyBpdGVtLmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFyZWEtaW5wdXQtY2hlY2tib3hcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRjLWZvcm0tY29udHJvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0ucGxhY2Vob2xkZXIgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNfaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAoaXRlbS5wbGFjZWhvbGRlciAhPT0gJycpID8gaXRlbS5wbGFjZWhvbGRlciA6ICcnIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImlucHV0X3t7aSsxfX1cIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCIgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwic2VhcmNoSW4oaXRlbSwgX2lucHV0LmNoZWNrZWQpXCI+ICAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cblxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjwhLS0gPHByZT57eyBpbnB1dHMgfCBqc29uIH19PC9wcmU+IC0tPlxuICAgIDwhLS0gPHByZT4ge3sgZGF0YSB8IGpzb24gfX0gPC9wcmU+IC0tPlxuXG48IS0tIDxwPkZJTFRFUlM8L3A+XG48cHJlPiB7eyBmaWx0ZXJzIHwganNvbiB9fTwvcHJlPiAtLT4iXX0=
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWZpbHRlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX21vZHVsZXMvdGNsb3VkLXVpLWZpbHRlcnMvdGNsb3VkLXVpLWZpbHRlcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX21vZHVsZXMvdGNsb3VkLXVpLWZpbHRlcnMvdGNsb3VkLXVpLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRekcsTUFBTSxPQUFPLHdCQUF3QjtJQW9CbkM7UUFsQkEsV0FBTSxHQUFhLEVBQUUsQ0FBQztRQUV0QixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQWtCcEIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFGM0IsQ0FBQztJQVhqQixJQUFhLElBQUksQ0FBQyxJQUFTO1FBQ3pCLG9CQUFvQjtJQUN0QixDQUFDO0lBQ0QsSUFBSSxJQUFJLEtBQVMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUdyQyxJQUFhLE9BQU8sQ0FBQyxPQUFZO1FBQy9CLDBCQUEwQjtJQUM1QixDQUFDO0lBQ0QsSUFBSSxPQUFPLEtBQVMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQU0zQyxRQUFRO0lBRVIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUFDO1FBQzFDLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO1FBRUQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUNoRCxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssT0FBTyxFQUFFO1lBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0lBRU8sSUFBSTtRQUNWLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFTyxTQUFTLENBQUMsSUFBUztRQUN6QixNQUFNLENBQUMsR0FBRyxDQUFFLENBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsQ0FBRSxDQUFDLElBQUksRUFBRSxDQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEcsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBR08sY0FBYyxDQUFDLEdBQVEsRUFBRSxJQUFTO1FBQ3hDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsSUFBSSxPQUFPLEdBQUcsR0FBRyxDQUFDO1FBQ2xCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3pDLE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUV6QixJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDMUMsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNwRSxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BELElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUM1QixPQUFPLENBQUMsR0FBRyxDQUFDLDBCQUEwQixFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO29CQUNsRSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztpQkFDMUU7YUFDRjtZQUdELElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDdEIsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3ZDLE9BQU8sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNsQyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDeEMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO2dCQUNuQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtvQkFDdkMsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUNqRSxJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUU7d0JBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7cUJBQ3RCO2lCQUNGO2dCQUNELElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7b0JBQ3hCLE9BQU8sU0FBUyxDQUFDO2lCQUNsQjtnQkFDRCxPQUFPLE9BQU8sQ0FBQzthQUNoQjtpQkFBTTtnQkFDTCxPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN2QixJQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUU7b0JBQ3pCLE9BQU8sU0FBUyxDQUFDO2lCQUNsQjthQUNGO1NBQ0Y7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBR0QsUUFBUSxDQUFDLElBQW1CLEVBQUUsS0FBVTtRQUV0QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztTQUN6QjthQUFJO1lBRUgsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO2dCQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQzthQUN0QjtpQkFBSTtnQkFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUN0RDtTQUVGO1FBR0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUUzQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsSUFBSSxDQUFDO1lBRXhDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQzlDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBRXBDLElBQUksV0FBVyxDQUFDLFVBQVUsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxLQUFLLFFBQVEsSUFBSSxXQUFXLENBQUMsVUFBVSxLQUFLLEVBQUUsRUFBRTtvQkFDM0csV0FBVyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFDaEUsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDekUsSUFBSSxVQUFVLEVBQUU7d0JBQ2QsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7d0JBQ3hDLElBQUksQ0FBQyxDQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsS0FBSyxXQUFXLENBQUMsVUFBVSxDQUFFLEVBQUU7NEJBQzdGLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsR0FBRyxLQUFLLENBQUM7eUJBQzFDO3FCQUNGO2lCQUNGO2dCQUVELElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsS0FBSyxTQUFTLElBQUksV0FBVyxDQUFDLFVBQVUsRUFBRTtvQkFDM0UsSUFBSSxVQUFVLEdBQVEsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFFOUUsSUFBSSxVQUFVLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO3dCQUN6QyxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUM7d0JBQ3BCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7NEJBQzlDLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDM0IsSUFBSSxJQUFJLEtBQUssV0FBVyxDQUFDLFVBQVUsRUFBRTtnQ0FDbkMsV0FBVyxFQUFFLENBQUM7NkJBQ2Y7eUJBQ0Y7d0JBQ0QsSUFBSSxXQUFXLEtBQUssQ0FBQyxFQUFFOzRCQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsS0FBSyxDQUFDO3lCQUMxQztxQkFDRjt5QkFBSTt3QkFDSCxJQUFJLENBQUMsQ0FBRSxVQUFVLEtBQUssV0FBVyxDQUFDLFVBQVUsQ0FBRSxFQUFFOzRCQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsS0FBSyxDQUFDO3lCQUMxQztxQkFDRjtpQkFHRjthQUVGO1NBRUY7UUFDRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFFbEIsQ0FBQztJQUVPLFFBQVE7UUFDZCxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFFdkIsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDOUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxFQUFFLEVBQUU7Z0JBQ25FLFNBQVMsR0FBRyxJQUFJLENBQUM7YUFDbEI7U0FDRjtRQUVELElBQUksU0FBUyxFQUFFO1lBQ2IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDM0MsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsRUFBRTtvQkFDdEMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNsQzthQUNGO1lBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDOUIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7O3NIQXZMVSx3QkFBd0I7MEdBQXhCLHdCQUF3QiwySkNSckMsbzdFQW9Eb0M7NEZENUN2Qix3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsbUJBQW1COzBFQWFoQixJQUFJO3NCQUFoQixLQUFLO2dCQU1PLE9BQU87c0JBQW5CLEtBQUs7Z0JBT0ksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUQ0RhdGFGaWx0ZXJzIH0gZnJvbSAnLi90Y2xvdWQtdWktZmlsdGVycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RjbG91ZC11aS1maWx0ZXJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RjbG91ZC11aS1maWx0ZXJzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGNsb3VkLXVpLWZpbHRlcnMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUQ2xvdWRVaUZpbHRlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgaW5wdXRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHNob3dfZmlsdGVyczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHNlYXJjaF9kYXRhOiBhbnkgfCB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBfZGF0YTogYW55IHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBzZXQgZGF0YShkYXRhOiBhbnkpe1xuICAgIC8vdGhpcy5fZGF0YSA9IGRhdGE7XG4gIH1cbiAgZ2V0IGRhdGEoKTogYW55eyByZXR1cm4gdGhpcy5fZGF0YTsgfVxuXG4gIHByaXZhdGUgX2ZpbHRlcnM6IFRDRGF0YUZpbHRlcnMgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHNldCBmaWx0ZXJzKGZpbHRlcnM6IGFueSl7XG4gICAgLy90aGlzLl9maWx0ZXJzID0gZmlsdGVycztcbiAgfVxuICBnZXQgZmlsdGVycygpOiBhbnl7IHJldHVybiB0aGlzLl9maWx0ZXJzOyB9XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBAT3V0cHV0KCkgcmVzdWx0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zdCBkYXRhID0gY2hhbmdlc1snZGF0YSddLmN1cnJlbnRWYWx1ZTtcbiAgICBpZiggdGhpcy5fZGF0YSAhPT0gZGF0YSApe1xuICAgICAgdGhpcy5fZGF0YSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICAgICAgdGhpcy5zZWFyY2hfZGF0YSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICAgICAgdGhpcy5pbml0KCk7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsdGVycyA9IGNoYW5nZXNbJ2ZpbHRlcnMnXS5jdXJyZW50VmFsdWU7XG4gICAgaWYoIHRoaXMuX2ZpbHRlcnMgIT09IGZpbHRlcnMgKXtcbiAgICAgIHRoaXMuX2ZpbHRlcnMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGZpbHRlcnMpKTtcbiAgICAgIHRoaXMuaW5pdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdCgpe1xuICAgIGlmKCB0aGlzLmRhdGEgJiYgdGhpcy5maWx0ZXJzICl7XG4gICAgICB0aGlzLnNob3dfZmlsdGVycyA9IHRydWU7XG4gICAgICB0aGlzLnRvUmVzdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemUodGV4dDogYW55KTogc3RyaW5ne1xuICAgIGNvbnN0IHYgPSAoICggKGAke3RleHR9YCkubm9ybWFsaXplKCdORkQnKS5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCBcIlwiKSApLnRyaW0oKSApLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIHY7XG4gIH1cblxuXG4gIHByaXZhdGUgY29sbGVjdGlvbkZpbmQob2JqOiBhbnksIHBhdGg6IGFueSk6IGFueSB7XG4gICAgY29uc3QgcGF0aEFycmF5ID0gcGF0aC5zcGxpdChcIi5cIik7XG4gICAgbGV0IGN1cnJlbnQgPSBvYmo7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXRoQXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGtleSA9IHBhdGhBcnJheVtpXTtcblxuICAgICAgaWYgKGtleS5pbmNsdWRlcygnWycpICYmIGtleS5pbmNsdWRlcygnXScpKSB7XG4gICAgICAgIGNvbnN0IG5leHRLZXlzID0gcGF0aEFycmF5LnNsaWNlKGkgKyAxKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBrZXkuc3Vic3RyaW5nKGtleS5pbmRleE9mKCdbJykgKyAxLCBrZXkuaW5kZXhPZignXScpKTtcbiAgICAgICAgY29uc3QgYXJyYXlLZXkgPSBrZXkuc3Vic3RyaW5nKDAsIGtleS5pbmRleE9mKCdbJykpO1xuICAgICAgICBpZiggY3VycmVudFthcnJheUtleV1baW5kZXhdICl7XG4gICAgICAgICAgY29uc29sZS5sb2coJ2N1cnJlbnRbYXJyYXlLZXldW2luZGV4XScsIGN1cnJlbnRbYXJyYXlLZXldW2luZGV4XSk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY29sbGVjdGlvbkZpbmQoY3VycmVudFthcnJheUtleV1baW5kZXhdLCBuZXh0S2V5cy5qb2luKFwiLlwiKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuXG4gICAgICBpZiAoa2V5LmluY2x1ZGVzKFwiW11cIikpIHtcbiAgICAgICAgY29uc3QgYXJyYXlLZXkgPSBrZXkucmVwbGFjZShcIltdXCIsIFwiXCIpO1xuICAgICAgICBjdXJyZW50ID0gY3VycmVudFthcnJheUtleV0gfHwgW107XG4gICAgICAgIGNvbnN0IG5leHRLZXlzID0gcGF0aEFycmF5LnNsaWNlKGkgKyAxKTtcbiAgICAgICAgY29uc3QgcmVzdWx0cyA9IFtdO1xuICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGN1cnJlbnQubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICBsZXQgcmVzdWx0ID0gdGhpcy5jb2xsZWN0aW9uRmluZChjdXJyZW50W2pdLCBuZXh0S2V5cy5qb2luKFwiLlwiKSk7XG4gICAgICAgICAgaWYgKHJlc3VsdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXN1bHRzLnB1c2gocmVzdWx0KTsgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChyZXN1bHRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdHM7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjdXJyZW50ID0gY3VycmVudFtrZXldO1xuICAgICAgICBpZiAoY3VycmVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY3VycmVudDtcbiAgfVxuICAgIFxuXG4gIHNlYXJjaEluKGl0ZW06IFRDRGF0YUZpbHRlcnMsIGV2ZW50OiBhbnkpe1xuXG4gICAgaWYoIHR5cGVvZiBldmVudCA9PT0gJ2Jvb2xlYW4nICl7XG4gICAgICBpdGVtLnNlYXJjaFRleHQgPSBldmVudDtcbiAgICB9ZWxzZXtcblxuICAgICAgaWYoIGV2ZW50ID09PSBudWxsICl7XG4gICAgICAgIGl0ZW0uc2VhcmNoVGV4dCA9ICcnO1xuICAgICAgfWVsc2V7XG4gICAgICAgIGl0ZW0uc2VhcmNoVGV4dCA9IChldmVudC50YXJnZXQudmFsdWUpLnRvVXBwZXJDYXNlKCk7XG4gICAgICB9XG5cbiAgICB9XG4gIFxuXG4gICAgZm9yKCBsZXQgaSA9IDA7IGkgPCAodGhpcy5kYXRhKS5sZW5ndGg7IGkrKyApe1xuXG4gICAgICB0aGlzLmRhdGFbaV1bJ3RjX2ZpbHRlcl9hY2NlcHQnXSA9IHRydWU7XG5cbiAgICAgIGZvciggbGV0IGogPSAwOyBqIDwgKHRoaXMuZmlsdGVycykubGVuZ3RoOyBqKysgKXsgICAgICAgIFxuICAgICAgICBjb25zdCBmaWx0ZXJfaXRlbSA9IHRoaXMuZmlsdGVyc1tqXTtcbiAgICAgICAgXG4gICAgICAgIGlmKCBmaWx0ZXJfaXRlbS5zZWFyY2hUZXh0ICYmIHR5cGVvZiAoZmlsdGVyX2l0ZW0uc2VhcmNoVGV4dCkgPT09ICdzdHJpbmcnICYmIGZpbHRlcl9pdGVtLnNlYXJjaFRleHQgIT09ICcnICl7XG4gICAgICAgICAgZmlsdGVyX2l0ZW0uc2VhcmNoVGV4dCA9IHRoaXMubm9ybWFsaXplKGZpbHRlcl9pdGVtLnNlYXJjaFRleHQpO1xuICAgICAgICAgIGxldCBpdGVtX3ZhbHVlID0gdGhpcy5jb2xsZWN0aW9uRmluZCh0aGlzLmRhdGFbaV0sIGZpbHRlcl9pdGVtLnNlYXJjaEluKTtcbiAgICAgICAgICBpZiggaXRlbV92YWx1ZSApe1xuICAgICAgICAgICAgaXRlbV92YWx1ZSA9IHRoaXMubm9ybWFsaXplKGl0ZW1fdmFsdWUpOyAgICAgICAgICAgIFxuICAgICAgICAgICAgaWYoICEoIGl0ZW1fdmFsdWUuaW5jbHVkZXMoZmlsdGVyX2l0ZW0uc2VhcmNoVGV4dCkgfHwgaXRlbV92YWx1ZSA9PT0gZmlsdGVyX2l0ZW0uc2VhcmNoVGV4dCApICl7XG4gICAgICAgICAgICAgIHRoaXMuZGF0YVtpXVsndGNfZmlsdGVyX2FjY2VwdCddID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9ICAgICAgICAgXG4gICAgICAgIFxuICAgICAgICBpZiggdHlwZW9mIChmaWx0ZXJfaXRlbS5zZWFyY2hUZXh0KSA9PT0gJ2Jvb2xlYW4nICYmIGZpbHRlcl9pdGVtLnNlYXJjaFRleHQgKXtcbiAgICAgICAgICBsZXQgaXRlbV92YWx1ZTogYW55ID0gdGhpcy5jb2xsZWN0aW9uRmluZCh0aGlzLmRhdGFbaV0sIGZpbHRlcl9pdGVtLnNlYXJjaEluKTtcbiAgICAgICAgICBcbiAgICAgICAgICBpZiggaXRlbV92YWx1ZSAmJiAoaXRlbV92YWx1ZSkubGVuZ3RoID4gMCApeyAgXG4gICAgICAgICAgICBsZXQgcXRkX2lzX3RydWUgPSAwOyAgICAgICAgICBcbiAgICAgICAgICAgIGZvciggbGV0IGkgPSAwOyBpIDwgKChpdGVtX3ZhbHVlKS5sZW5ndGgpOyBpKysgKXtcbiAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IGl0ZW1fdmFsdWVbaV07XG4gICAgICAgICAgICAgIGlmKCBpdGVtID09PSBmaWx0ZXJfaXRlbS5zZWFyY2hUZXh0ICl7XG4gICAgICAgICAgICAgICAgcXRkX2lzX3RydWUrKztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYoIHF0ZF9pc190cnVlID09PSAwICl7XG4gICAgICAgICAgICAgIHRoaXMuZGF0YVtpXVsndGNfZmlsdGVyX2FjY2VwdCddID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICBpZiggISggaXRlbV92YWx1ZSA9PT0gZmlsdGVyX2l0ZW0uc2VhcmNoVGV4dCApICl7XG4gICAgICAgICAgICAgIHRoaXMuZGF0YVtpXVsndGNfZmlsdGVyX2FjY2VwdCddID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgIFxuICAgICAgfVxuXG4gICAgfVxuICAgIHRoaXMudG9SZXN1bHQoKTtcbiAgICAgIFxuICB9XG5cbiAgcHJpdmF0ZSB0b1Jlc3VsdCgpe1xuICAgIGNvbnN0IHNlYXJjaF9kYXRhID0gW107XG5cbiAgICBsZXQgaXNfZmlsdGVyID0gZmFsc2U7XG4gICAgZm9yKCBsZXQgaSA9IDA7IGkgPCAodGhpcy5maWx0ZXJzKS5sZW5ndGg7IGkrKyApe1xuICAgICAgaWYoIHRoaXMuZmlsdGVyc1tpXS5zZWFyY2hUZXh0ICYmIHRoaXMuZmlsdGVyc1tpXS5zZWFyY2hUZXh0ICE9PSAnJyApe1xuICAgICAgICBpc19maWx0ZXIgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmKCBpc19maWx0ZXIgKXtcbiAgICAgIGZvciggbGV0IGkgPSAwOyBpIDwgKHRoaXMuZGF0YSkubGVuZ3RoOyBpKysgKXtcbiAgICAgICAgaWYoIHRoaXMuZGF0YVtpXT8uWyd0Y19maWx0ZXJfYWNjZXB0J10gKXtcbiAgICAgICAgICAoc2VhcmNoX2RhdGEpLnB1c2godGhpcy5kYXRhW2ldKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5yZXN1bHQuZW1pdChzZWFyY2hfZGF0YSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5yZXN1bHQuZW1pdCh0aGlzLmRhdGEpO1xuICB9XG5cbn1cbiIsIjxkaXYgKm5nSWY9XCJzaG93X2ZpbHRlcnNcIiBjbGFzcz1cImFyZWEtZmlsdGVyXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJzOyBsZXQgaSA9IGluZGV4XCI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLnR5cGUgfHwgKGl0ZW0udHlwZSAmJiBpdGVtLnR5cGUgIT09ICdib29sZWFuJylcIj5cbiAgICAgICAgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm94LWZpbHRlci1pbnB1dFwiIFtzdHlsZV09XCIoaXRlbS53aWR0aCAhPT0gJycpID8gJ3dpZHRoOicraXRlbS53aWR0aCA6ICcnXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tZGVzY3JpcHRpb25cIj48aSBbY2xhc3MudG8tYWN0aXZlXT1cIl9pbnB1dC52YWx1ZSAhPT0gJydcIiBjbGFzcz1cImZhcyBmYS1maWx0ZXIgaWNvbi1maWx0ZXJcIj48L2k+Jm5ic3A7e3sgaXRlbS5kZXNjcmlwdGlvbiB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBcbiAgICAgICAgICAgICAgICAgICAgICAgICNfaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgKGl0ZW0ucGxhY2Vob2xkZXIgIT09ICcnKSA/IGl0ZW0ucGxhY2Vob2xkZXIgOiAnJyB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiaW5wdXRfe3tpKzF9fVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGMtZm9ybS1jb250cm9sXCIgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXl1cCk9XCJzZWFyY2hJbihpdGVtLCAkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4tY2xlYXItZmlsdGVyLXRleHRcIiBbY2xhc3MudG8taGlkZV09XCJfaW5wdXQudmFsdWUgPT09ICcnXCIgKGNsaWNrKT1cInNlYXJjaEluKGl0ZW0sIG51bGwpOyBfaW5wdXQudmFsdWUgPSAnJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtdGltZXNcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLnR5cGUgJiYgaXRlbS50eXBlID09PSAnYm9vbGVhbidcIj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJveC1maWx0ZXItaW5wdXRcIiBbc3R5bGVdPVwiKGl0ZW0ud2lkdGggIT09ICcnKSA/ICd3aWR0aDonK2l0ZW0ud2lkdGggOiAnJ1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWRlc2NyaXB0aW9uXCI+PGkgW2NsYXNzLnRvLWFjdGl2ZV09XCJfaW5wdXQuY2hlY2tlZCA9PT0gdHJ1ZVwiIGNsYXNzPVwiZmFzIGZhLWZpbHRlciBpY29uLWZpbHRlclwiPjwvaT4mbmJzcDt7eyBpdGVtLmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFyZWEtaW5wdXQtY2hlY2tib3hcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRjLWZvcm0tY29udHJvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0ucGxhY2Vob2xkZXIgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNfaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAoaXRlbS5wbGFjZWhvbGRlciAhPT0gJycpID8gaXRlbS5wbGFjZWhvbGRlciA6ICcnIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImlucHV0X3t7aSsxfX1cIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCIgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwic2VhcmNoSW4oaXRlbSwgX2lucHV0LmNoZWNrZWQpXCI+ICAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cblxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjwhLS0gPHByZT57eyBpbnB1dHMgfCBqc29uIH19PC9wcmU+IC0tPlxuICAgIDwhLS0gPHByZT4ge3sgZGF0YSB8IGpzb24gfX0gPC9wcmU+IC0tPlxuXG48IS0tIDxwPkZJTFRFUlM8L3A+XG48cHJlPiB7eyBmaWx0ZXJzIHwganNvbiB9fTwvcHJlPiAtLT4iXX0=
@@ -19,6 +19,10 @@ export class TCloudUiSearchInObjectService {
19
19
  }
20
20
  return false;
21
21
  }
22
+ normalize(text) {
23
+ const v = (((`${text}`).normalize('NFD').replace(/[\u0300-\u036f]/g, "")).trim()).toLowerCase();
24
+ return v;
25
+ }
22
26
  /**
23
27
  * meet - Procura em object - filtro utilizado para busca em tabelas
24
28
  * @param valor texto a ser procurado
@@ -39,7 +43,7 @@ export class TCloudUiSearchInObjectService {
39
43
  if (camposDebusca.length < 1) {
40
44
  return emObject;
41
45
  }
42
- valor = valor.toLowerCase();
46
+ valor = this.normalize(valor);
43
47
  var result = [];
44
48
  for (const key in emObject) {
45
49
  var oObject = emObject[key];
@@ -49,14 +53,14 @@ export class TCloudUiSearchInObjectService {
49
53
  if (this.isADate(dt) && typeof ((dt).getMonth) === 'function') {
50
54
  const data1 = this.datepipe.transform(dt, 'dd/MM/yyyy hh:mm');
51
55
  const data2 = this.datepipe.transform(dt, 'medium');
52
- const strToTest = (data1 + " " + data2 + " " + oObject[objectvalue]).toLowerCase();
56
+ const strToTest = this.normalize(data1 + " " + data2 + " " + oObject[objectvalue]);
53
57
  if ((strToTest.indexOf(valor) >= 0) && (result).indexOf(oObject) == -1) {
54
58
  result.push(oObject);
55
59
  break;
56
60
  }
57
61
  }
58
62
  else {
59
- const strToTest = (this.statusinfo.transform(oObject[objectvalue], 'ALL') + "").toLowerCase();
63
+ const strToTest = this.normalize(this.statusinfo.transform(oObject[objectvalue], 'ALL') + "");
60
64
  if ((strToTest.indexOf(valor) >= 0) && (result).indexOf(oObject) == -1) {
61
65
  result.push(oObject);
62
66
  break;
@@ -67,9 +71,9 @@ export class TCloudUiSearchInObjectService {
67
71
  }
68
72
  if (emObject && typeof emObject === 'object' && Array.isArray(emObject)) {
69
73
  // is array
70
- const v = (`${valor}`).toUpperCase();
74
+ const v = this.normalize(`${valor}`);
71
75
  for (let i = 0; i < (emObject).length; i++) {
72
- const item = (`${emObject[i]}`).toUpperCase();
76
+ const item = this.normalize(`${emObject[i]}`);
73
77
  if (item.includes(v) || item === v) {
74
78
  result.push(emObject[i]);
75
79
  }
@@ -88,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
88
92
  providedIn: 'root',
89
93
  }]
90
94
  }], ctorParameters: function () { return [{ type: i1.DatePipe }, { type: i2.StatusInfoPipe }]; } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWluLW9iamVjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX3NlcnZpY2VzL3NlYXJjaC1pbi1vYmplY3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBTTNDLE1BQU0sT0FBTyw2QkFBNkI7SUFFeEMsWUFDVSxRQUFrQixFQUNsQixVQUEwQjtRQUQxQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGVBQVUsR0FBVixVQUFVLENBQWdCO0lBQ2hDLENBQUM7SUFFRyxPQUFPLENBQUMsQ0FBTTtRQUNwQixJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxlQUFlLEVBQUU7WUFBQyxDQUFDO1lBQzNELElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFO2dCQUN0QixPQUFPLEtBQUssQ0FBQzthQUNkO2lCQUFNO2dCQUNMLE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUdEOzs7OztPQUtHO0lBQ0gsSUFBSSxDQUFDLEtBQWEsRUFBRSxRQUFhLEVBQUUsYUFBbUI7UUFDcEQsSUFBSSxLQUFLLElBQUksRUFBRSxFQUFDO1lBRWQsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDdkIsT0FBTyxRQUFRLENBQUM7YUFDakI7WUFDRCxJQUFJLGFBQWEsS0FBSyxTQUFTLElBQUksYUFBYSxLQUFLLElBQUksRUFBRTtnQkFDekQsYUFBYSxHQUFHLEVBQUUsQ0FBQztnQkFDbkIsS0FBSyxNQUFNLEdBQUcsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQzdCLGFBQWEsQ0FBQyxJQUFJLENB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SUFDbEIsQ0FBQzs7MkhBakZVLDZCQUE2QjsrSEFBN0IsNkJBQTZCLGNBRjVCLE1BQU07NEZBRVAsNkJBQTZCO2tCQUh6QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdGF0dXNJbmZvUGlwZSB9IGZyb20gJy4uL19waXBlcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLCAgXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUQ2xvdWRVaVNlYXJjaEluT2JqZWN0U2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkYXRlcGlwZTogRGF0ZVBpcGUsXHJcbiAgICBwcml2YXRlIHN0YXR1c2luZm86IFN0YXR1c0luZm9QaXBlXHJcbiAgKSB7IH1cclxuXHJcbiAgcHJpdmF0ZSBpc0FEYXRlKGQ6IGFueSl7XHJcbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGQpID09PSBcIltvYmplY3QgRGF0ZV1cIikgeztcclxuICAgICAgaWYgKGlzTmFOKGQuZ2V0VGltZSgpKSkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIG1lZXQgLSBQcm9jdXJhIGVtIG9iamVjdCAtIGZpbHRybyB1dGlsaXphZG8gcGFyYSBidXNjYSBlbSB0YWJlbGFzXHJcbiAgICogQHBhcmFtIHZhbG9yIHRleHRvIGEgc2VyIHByb2N1cmFkb1xyXG4gICAqIEBwYXJhbSBlbU9iamVjdCBvYmplY3QgYWx2byBkZSBvbmRlIHByb2N1cmFyXHJcbiAgICogQHBhcmFtIGNhbXBvc0RlYnVzY2EgKE9wY2lvbmFsKSBpbmZvcm1hIGVtIHF1YWlzIHPDo28gYXMga2V5cyBxdWUgZGV2ZXLDoSBwcm9jdXJhciBcclxuICAgKi9cclxuICBtZWV0KHZhbG9yOiBzdHJpbmcsIGVtT2JqZWN0OiBhbnksIGNhbXBvc0RlYnVzY2E/OiBhbnkpOiBhbnl7XHJcbiAgICBpZiAodmFsb3IgIT0gXCJcIil7XHJcblxyXG4gICAgICBpZiggZW1PYmplY3QubGVuZ3RoIDwgMSApe1xyXG4gICAgICAgIHJldHVybiBlbU9iamVjdDtcclxuICAgICAgfVxyXG4gICAgICBpZiggY2FtcG9zRGVidXNjYSA9PT0gdW5kZWZpbmVkIHx8IGNhbXBvc0RlYnVzY2EgPT09IG51bGwgKXtcclxuICAgICAgICBjYW1wb3NEZWJ1c2NhID0gW107XHJcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gZW1PYmplY3RbMF0pIHtcclxuICAgICAgICAgIGNhbXBvc0RlYnVzY2EucHVzaCgga2V5ICk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiggY2FtcG9zRGVidXNjYS5sZW5ndGggPCAxICl7XHJcbiAgICAgICAgcmV0dXJuIGVtT2JqZWN0O1xyXG4gICAgICB9XHJcblxyXG4gICAgICB2YWxvciA9IHZhbG9yLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIHZhciByZXN1bHQ9W107ICAgICAgICAgICAgICAgIFxyXG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBlbU9iamVjdCkge1xyXG4gICAgICAgIHZhciBvT2JqZWN0ID0gZW1PYmplY3Rba2V5XTtcclxuICAgICAgICBpZiAob09iamVjdCl7XHJcbiAgICAgICAgICBmb3IoIGNvbnN0IG9iamVjdHZhbHVlIG9mIGNhbXBvc0RlYnVzY2EgKXtcclxuICAgICAgICAgICAgY29uc3QgZHQgPSBuZXcgRGF0ZShvT2JqZWN0W29iamVjdHZhbHVlXSlcclxuICAgICAgICAgICAgaWYoIHRoaXMuaXNBRGF0ZShkdCkgJiYgdHlwZW9mICgoZHQpLmdldE1vbnRoKSA9PT0gJ2Z1bmN0aW9uJyApe1xyXG4gICAgICAgICAgICAgIGNvbnN0IGRhdGExID0gdGhpcy5kYXRlcGlwZS50cmFuc2Zvcm0oZHQsICdkZC9NTS95eXl5IGhoOm1tJyk7XHJcbiAgICAgICAgICAgICAgY29uc3QgZGF0YTIgPSB0aGlzLmRhdGVwaXBlLnRyYW5zZm9ybShkdCwgJ21lZGl1bScpO1xyXG4gICAgICAgICAgICAgIGNvbnN0IHN0clRvVGVzdCA9IChkYXRhMStcIiBcIitkYXRhMitcIiBcIitvT2JqZWN0W29iamVjdHZhbHVlXSkudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICAgICAgICBpZiggKHN0clRvVGVzdC5pbmRleE9mKHZhbG9yKT49MCkgJiYgKHJlc3VsdCkuaW5kZXhPZihvT2JqZWN0KSA9PSAtMSApe1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2gob09iamVjdCk7IGJyZWFrO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBjb25zdCBzdHJUb1Rlc3QgPSAodGhpcy5zdGF0dXNpbmZvLnRyYW5zZm9ybShvT2JqZWN0W29iamVjdHZhbHVlXSwgJ0FMTCcpK1wiXCIpLnRvTG93ZXJDYXNlKCk7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgaWYoIChzdHJUb1Rlc3QuaW5kZXhPZih2YWxvcik+PTApICYmIChyZXN1bHQpLmluZGV4T2Yob09iamVjdCkgPT0gLTEgKXtcclxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKG9PYmplY3QpOyBicmVhaztcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiggZW1PYmplY3QgJiYgdHlwZW9mIGVtT2JqZWN0ID09PSAnb2JqZWN0JyAmJiBBcnJheS5pc0FycmF5KGVtT2JqZWN0KSApe1xyXG4gICAgICAgIC8vIGlzIGFycmF5IFxyXG4gICAgICAgIGNvbnN0IHYgPSAoYCR7dmFsb3J9YCkudG9VcHBlckNhc2UoKTtcclxuICAgICAgICBmb3IoIGxldCBpID0gMDsgaSA8IChlbU9iamVjdCkubGVuZ3RoOyBpKysgKXtcclxuICAgICAgICAgIGNvbnN0IGl0ZW0gPSAoYCR7ZW1PYmplY3RbaV19YCkudG9VcHBlckNhc2UoKTtcclxuICAgICAgICAgIGlmKCBpdGVtLmluY2x1ZGVzKHYpIHx8IGl0ZW0gPT09IHYgKXtcclxuICAgICAgICAgICAgcmVzdWx0LnB1c2goZW1PYmplY3RbaV0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuXHJcbiAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZW1PYmplY3Q7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWluLW9iamVjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX3NlcnZpY2VzL3NlYXJjaC1pbi1vYmplY3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBTTNDLE1BQU0sT0FBTyw2QkFBNkI7SUFFeEMsWUFDVSxRQUFrQixFQUNsQixVQUEwQjtRQUQxQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGVBQVUsR0FBVixVQUFVLENBQWdCO0lBQ2hDLENBQUM7SUFFRyxPQUFPLENBQUMsQ0FBTTtRQUNwQixJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxlQUFlLEVBQUU7WUFBQyxDQUFDO1lBQzNELElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFO2dCQUN0QixPQUFPLEtBQUssQ0FBQzthQUNkO2lCQUFNO2dCQUNMLE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLFNBQVMsQ0FBQyxJQUFTO1FBQ3pCLE1BQU0sQ0FBQyxHQUFHLENBQUUsQ0FBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFFLENBQUMsSUFBSSxFQUFFLENBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwRyxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQUksQ0FBQyxLQUFhLEVBQUUsUUFBYSxFQUFFLGFBQW1CO1FBQ3BELElBQUksS0FBSyxJQUFJLEVBQUUsRUFBQztZQUVkLElB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RyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUM5QyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRTt3QkFDbEMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDMUI7aUJBQ0Y7YUFDRjtZQUdELE9BQU8sTUFBTSxDQUFDO1NBQ2Y7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzsySEFyRlUsNkJBQTZCOytIQUE3Qiw2QkFBNkIsY0FGNUIsTUFBTTs0RkFFUCw2QkFBNkI7a0JBSHpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN0YXR1c0luZm9QaXBlIH0gZnJvbSAnLi4vX3BpcGVzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsICBcclxufSlcclxuZXhwb3J0IGNsYXNzIFRDbG91ZFVpU2VhcmNoSW5PYmplY3RTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRhdGVwaXBlOiBEYXRlUGlwZSxcclxuICAgIHByaXZhdGUgc3RhdHVzaW5mbzogU3RhdHVzSW5mb1BpcGVcclxuICApIHsgfVxyXG5cclxuICBwcml2YXRlIGlzQURhdGUoZDogYW55KXtcclxuICAgIGlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZCkgPT09IFwiW29iamVjdCBEYXRlXVwiKSB7O1xyXG4gICAgICBpZiAoaXNOYU4oZC5nZXRUaW1lKCkpKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG5vcm1hbGl6ZSh0ZXh0OiBhbnkpOiBzdHJpbmd7XHJcbiAgICBjb25zdCB2ID0gKCAoIChgJHt0ZXh0fWApLm5vcm1hbGl6ZSgnTkZEJykucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgXCJcIikgKS50cmltKCkgKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgcmV0dXJuIHY7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtZWV0IC0gUHJvY3VyYSBlbSBvYmplY3QgLSBmaWx0cm8gdXRpbGl6YWRvIHBhcmEgYnVzY2EgZW0gdGFiZWxhc1xyXG4gICAqIEBwYXJhbSB2YWxvciB0ZXh0byBhIHNlciBwcm9jdXJhZG9cclxuICAgKiBAcGFyYW0gZW1PYmplY3Qgb2JqZWN0IGFsdm8gZGUgb25kZSBwcm9jdXJhclxyXG4gICAqIEBwYXJhbSBjYW1wb3NEZWJ1c2NhIChPcGNpb25hbCkgaW5mb3JtYSBlbSBxdWFpcyBzw6NvIGFzIGtleXMgcXVlIGRldmVyw6EgcHJvY3VyYXIgXHJcbiAgICovXHJcbiAgbWVldCh2YWxvcjogc3RyaW5nLCBlbU9iamVjdDogYW55LCBjYW1wb3NEZWJ1c2NhPzogYW55KTogYW55e1xyXG4gICAgaWYgKHZhbG9yICE9IFwiXCIpe1xyXG5cclxuICAgICAgaWYoIGVtT2JqZWN0Lmxlbmd0aCA8IDEgKXtcclxuICAgICAgICByZXR1cm4gZW1PYmplY3Q7XHJcbiAgICAgIH1cclxuICAgICAgaWYoIGNhbXBvc0RlYnVzY2EgPT09IHVuZGVmaW5lZCB8fCBjYW1wb3NEZWJ1c2NhID09PSBudWxsICl7XHJcbiAgICAgICAgY2FtcG9zRGVidXNjYSA9IFtdO1xyXG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIGVtT2JqZWN0WzBdKSB7XHJcbiAgICAgICAgICBjYW1wb3NEZWJ1c2NhLnB1c2goIGtleSApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYoIGNhbXBvc0RlYnVzY2EubGVuZ3RoIDwgMSApe1xyXG4gICAgICAgIHJldHVybiBlbU9iamVjdDtcclxuICAgICAgfVxyXG5cclxuICAgICAgdmFsb3IgPSB0aGlzLm5vcm1hbGl6ZSh2YWxvcik7XHJcbiAgICAgIHZhciByZXN1bHQ9W107ICAgICAgICAgICAgICAgIFxyXG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBlbU9iamVjdCkge1xyXG4gICAgICAgIHZhciBvT2JqZWN0ID0gZW1PYmplY3Rba2V5XTtcclxuICAgICAgICBpZiAob09iamVjdCl7XHJcbiAgICAgICAgICBmb3IoIGNvbnN0IG9iamVjdHZhbHVlIG9mIGNhbXBvc0RlYnVzY2EgKXtcclxuICAgICAgICAgICAgY29uc3QgZHQgPSBuZXcgRGF0ZShvT2JqZWN0W29iamVjdHZhbHVlXSlcclxuICAgICAgICAgICAgaWYoIHRoaXMuaXNBRGF0ZShkdCkgJiYgdHlwZW9mICgoZHQpLmdldE1vbnRoKSA9PT0gJ2Z1bmN0aW9uJyApe1xyXG4gICAgICAgICAgICAgIGNvbnN0IGRhdGExID0gdGhpcy5kYXRlcGlwZS50cmFuc2Zvcm0oZHQsICdkZC9NTS95eXl5IGhoOm1tJyk7XHJcbiAgICAgICAgICAgICAgY29uc3QgZGF0YTIgPSB0aGlzLmRhdGVwaXBlLnRyYW5zZm9ybShkdCwgJ21lZGl1bScpO1xyXG4gICAgICAgICAgICAgIGNvbnN0IHN0clRvVGVzdCA9IHRoaXMubm9ybWFsaXplKGRhdGExK1wiIFwiK2RhdGEyK1wiIFwiK29PYmplY3Rbb2JqZWN0dmFsdWVdKTtcclxuICAgICAgICAgICAgICBpZiggKHN0clRvVGVzdC5pbmRleE9mKHZhbG9yKT49MCkgJiYgKHJlc3VsdCkuaW5kZXhPZihvT2JqZWN0KSA9PSAtMSApe1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2gob09iamVjdCk7IGJyZWFrO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBjb25zdCBzdHJUb1Rlc3QgPSB0aGlzLm5vcm1hbGl6ZSh0aGlzLnN0YXR1c2luZm8udHJhbnNmb3JtKG9PYmplY3Rbb2JqZWN0dmFsdWVdLCAnQUxMJykrXCJcIik7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgaWYoIChzdHJUb1Rlc3QuaW5kZXhPZih2YWxvcik+PTApICYmIChyZXN1bHQpLmluZGV4T2Yob09iamVjdCkgPT0gLTEgKXtcclxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKG9PYmplY3QpOyBicmVhaztcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiggZW1PYmplY3QgJiYgdHlwZW9mIGVtT2JqZWN0ID09PSAnb2JqZWN0JyAmJiBBcnJheS5pc0FycmF5KGVtT2JqZWN0KSApe1xyXG4gICAgICAgIC8vIGlzIGFycmF5IFxyXG4gICAgICAgIGNvbnN0IHYgPSB0aGlzLm5vcm1hbGl6ZShgJHt2YWxvcn1gKTtcclxuICAgICAgICBmb3IoIGxldCBpID0gMDsgaSA8IChlbU9iamVjdCkubGVuZ3RoOyBpKysgKXtcclxuICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLm5vcm1hbGl6ZShgJHtlbU9iamVjdFtpXX1gKTtcclxuICAgICAgICAgIGlmKCBpdGVtLmluY2x1ZGVzKHYpIHx8IGl0ZW0gPT09IHYgKXtcclxuICAgICAgICAgICAgcmVzdWx0LnB1c2goZW1PYmplY3RbaV0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuXHJcbiAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZW1PYmplY3Q7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -2040,6 +2040,10 @@ class TCloudUiSearchInObjectService {
2040
2040
  }
2041
2041
  return false;
2042
2042
  }
2043
+ normalize(text) {
2044
+ const v = (((`${text}`).normalize('NFD').replace(/[\u0300-\u036f]/g, "")).trim()).toLowerCase();
2045
+ return v;
2046
+ }
2043
2047
  /**
2044
2048
  * meet - Procura em object - filtro utilizado para busca em tabelas
2045
2049
  * @param valor texto a ser procurado
@@ -2060,7 +2064,7 @@ class TCloudUiSearchInObjectService {
2060
2064
  if (camposDebusca.length < 1) {
2061
2065
  return emObject;
2062
2066
  }
2063
- valor = valor.toLowerCase();
2067
+ valor = this.normalize(valor);
2064
2068
  var result = [];
2065
2069
  for (const key in emObject) {
2066
2070
  var oObject = emObject[key];
@@ -2070,14 +2074,14 @@ class TCloudUiSearchInObjectService {
2070
2074
  if (this.isADate(dt) && typeof ((dt).getMonth) === 'function') {
2071
2075
  const data1 = this.datepipe.transform(dt, 'dd/MM/yyyy hh:mm');
2072
2076
  const data2 = this.datepipe.transform(dt, 'medium');
2073
- const strToTest = (data1 + " " + data2 + " " + oObject[objectvalue]).toLowerCase();
2077
+ const strToTest = this.normalize(data1 + " " + data2 + " " + oObject[objectvalue]);
2074
2078
  if ((strToTest.indexOf(valor) >= 0) && (result).indexOf(oObject) == -1) {
2075
2079
  result.push(oObject);
2076
2080
  break;
2077
2081
  }
2078
2082
  }
2079
2083
  else {
2080
- const strToTest = (this.statusinfo.transform(oObject[objectvalue], 'ALL') + "").toLowerCase();
2084
+ const strToTest = this.normalize(this.statusinfo.transform(oObject[objectvalue], 'ALL') + "");
2081
2085
  if ((strToTest.indexOf(valor) >= 0) && (result).indexOf(oObject) == -1) {
2082
2086
  result.push(oObject);
2083
2087
  break;
@@ -2088,9 +2092,9 @@ class TCloudUiSearchInObjectService {
2088
2092
  }
2089
2093
  if (emObject && typeof emObject === 'object' && Array.isArray(emObject)) {
2090
2094
  // is array
2091
- const v = (`${valor}`).toUpperCase();
2095
+ const v = this.normalize(`${valor}`);
2092
2096
  for (let i = 0; i < (emObject).length; i++) {
2093
- const item = (`${emObject[i]}`).toUpperCase();
2097
+ const item = this.normalize(`${emObject[i]}`);
2094
2098
  if (item.includes(v) || item === v) {
2095
2099
  result.push(emObject[i]);
2096
2100
  }
@@ -2793,15 +2797,44 @@ class TCloudUiFiltersComponent {
2793
2797
  const v = (((`${text}`).normalize('NFD').replace(/[\u0300-\u036f]/g, "")).trim()).toLowerCase();
2794
2798
  return v;
2795
2799
  }
2796
- fetchFromObject(obj, prop) {
2797
- if (typeof obj === 'undefined') {
2798
- return false;
2799
- }
2800
- var _index = `${prop}`.indexOf('.');
2801
- if (_index > -1) {
2802
- return this.fetchFromObject(obj[prop.substring(0, _index)], prop.substr(_index + 1));
2800
+ collectionFind(obj, path) {
2801
+ const pathArray = path.split(".");
2802
+ let current = obj;
2803
+ for (let i = 0; i < pathArray.length; i++) {
2804
+ const key = pathArray[i];
2805
+ if (key.includes('[') && key.includes(']')) {
2806
+ const nextKeys = pathArray.slice(i + 1);
2807
+ const index = key.substring(key.indexOf('[') + 1, key.indexOf(']'));
2808
+ const arrayKey = key.substring(0, key.indexOf('['));
2809
+ if (current[arrayKey][index]) {
2810
+ console.log('current[arrayKey][index]', current[arrayKey][index]);
2811
+ return this.collectionFind(current[arrayKey][index], nextKeys.join("."));
2812
+ }
2813
+ }
2814
+ if (key.includes("[]")) {
2815
+ const arrayKey = key.replace("[]", "");
2816
+ current = current[arrayKey] || [];
2817
+ const nextKeys = pathArray.slice(i + 1);
2818
+ const results = [];
2819
+ for (let j = 0; j < current.length; j++) {
2820
+ let result = this.collectionFind(current[j], nextKeys.join("."));
2821
+ if (result !== undefined) {
2822
+ results.push(result);
2823
+ }
2824
+ }
2825
+ if (results.length === 0) {
2826
+ return undefined;
2827
+ }
2828
+ return results;
2829
+ }
2830
+ else {
2831
+ current = current[key];
2832
+ if (current === undefined) {
2833
+ return undefined;
2834
+ }
2835
+ }
2803
2836
  }
2804
- return obj[prop];
2837
+ return current;
2805
2838
  }
2806
2839
  searchIn(item, event) {
2807
2840
  if (typeof event === 'boolean') {
@@ -2821,7 +2854,7 @@ class TCloudUiFiltersComponent {
2821
2854
  const filter_item = this.filters[j];
2822
2855
  if (filter_item.searchText && typeof (filter_item.searchText) === 'string' && filter_item.searchText !== '') {
2823
2856
  filter_item.searchText = this.normalize(filter_item.searchText);
2824
- let item_value = this.fetchFromObject(this.data[i], filter_item.searchIn);
2857
+ let item_value = this.collectionFind(this.data[i], filter_item.searchIn);
2825
2858
  if (item_value) {
2826
2859
  item_value = this.normalize(item_value);
2827
2860
  if (!(item_value.includes(filter_item.searchText) || item_value === filter_item.searchText)) {
@@ -2829,9 +2862,21 @@ class TCloudUiFiltersComponent {
2829
2862
  }
2830
2863
  }
2831
2864
  }
2832
- if (typeof (filter_item.searchText) === 'boolean') {
2833
- let item_value = this.fetchFromObject(this.data[i], filter_item.searchIn);
2834
- if (filter_item.searchText) {
2865
+ if (typeof (filter_item.searchText) === 'boolean' && filter_item.searchText) {
2866
+ let item_value = this.collectionFind(this.data[i], filter_item.searchIn);
2867
+ if (item_value && (item_value).length > 0) {
2868
+ let qtd_is_true = 0;
2869
+ for (let i = 0; i < ((item_value).length); i++) {
2870
+ const item = item_value[i];
2871
+ if (item === filter_item.searchText) {
2872
+ qtd_is_true++;
2873
+ }
2874
+ }
2875
+ if (qtd_is_true === 0) {
2876
+ this.data[i]['tc_filter_accept'] = false;
2877
+ }
2878
+ }
2879
+ else {
2835
2880
  if (!(item_value === filter_item.searchText)) {
2836
2881
  this.data[i]['tc_filter_accept'] = false;
2837
2882
  }