@seniorsistemas/components-ai 1.2.0 → 1.3.0

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.
@@ -93,40 +93,70 @@ export class EntityService {
93
93
  list(listParams = {}) {
94
94
  const params = this.getListQueryParams(listParams);
95
95
  return this.http.get(this.entityUrl, { params })
96
- .pipe(catchError(this.handleError));
96
+ .pipe(map(response => this.sanitizeEntity(response)), catchError(this.handleError));
97
97
  }
98
98
  /**
99
99
  * Get entity by ID
100
100
  */
101
101
  get(id) {
102
102
  return this.http.get(`${this.entityUrl}/${id}`)
103
- .pipe(catchError(this.handleError));
103
+ .pipe(map(response => this.sanitizeEntity(response)), catchError(this.handleError));
104
104
  }
105
105
  /**
106
- * Sanitiza uma entidade antes de enviar para a API.
107
- * Objetos aninhados com `id` são reduzidos a `{ id }` para evitar
108
- * problemas com referências circulares ($ref) e dados desnecessários.
106
+ * Sanitiza a entidade/resposta removendo propriedades $ref que vêm do
107
+ * backend (Jackson @JsonIdentityInfo), substituindo-as pelo objeto real
108
+ * referenciado no payload original.
109
109
  */
110
110
  sanitizeEntity(entity) {
111
- if (!entity || typeof entity !== 'object')
112
- return entity;
113
- const sanitized = {};
114
- for (const key of Object.keys(entity)) {
115
- const value = entity[key];
116
- if (value === null || value === undefined) {
117
- sanitized[key] = value;
118
- }
119
- else if (Array.isArray(value)) {
120
- sanitized[key] = value.map((item) => item && typeof item === 'object' && item.id ? { id: item.id } : item);
111
+ const cloned = JSON.parse(JSON.stringify(entity));
112
+ this.resolveRefs(cloned, cloned);
113
+ return cloned;
114
+ }
115
+ /**
116
+ * Percorre recursivamente o objeto e resolve qualquer { $ref: "..." }
117
+ * buscando o valor real no root do payload usando o path JSON.
118
+ */
119
+ resolveRefs(obj, root) {
120
+ if (!obj || typeof obj !== 'object')
121
+ return;
122
+ const keys = Array.isArray(obj) ? obj.map((_, i) => i) : Object.keys(obj);
123
+ for (const key of keys) {
124
+ const value = obj[key];
125
+ if (value && typeof value === 'object') {
126
+ if (value['$ref'] && typeof value['$ref'] === 'string') {
127
+ const resolved = this.resolveJsonPath(root, value['$ref']);
128
+ if (resolved !== undefined) {
129
+ obj[key] = JSON.parse(JSON.stringify(resolved));
130
+ }
131
+ }
132
+ else {
133
+ this.resolveRefs(value, root);
134
+ }
121
135
  }
122
- else if (typeof value === 'object' && value.id && key !== '_discriminator') {
123
- sanitized[key] = { id: value.id };
136
+ }
137
+ }
138
+ /**
139
+ * Resolve um path JSON no formato $["key"][index]["key"] ou $.key.key[index]
140
+ */
141
+ resolveJsonPath(root, path) {
142
+ try {
143
+ const tokens = [];
144
+ const regex = /\["([^"]+)"\]|\[(\d+)\]|\.(\w+)/g;
145
+ let match;
146
+ while ((match = regex.exec(path)) !== null) {
147
+ tokens.push(match[1] ?? match[2] ?? match[3]);
124
148
  }
125
- else {
126
- sanitized[key] = value;
149
+ let current = root;
150
+ for (const token of tokens) {
151
+ if (current == null)
152
+ return undefined;
153
+ current = current[token] ?? current[Number(token)];
127
154
  }
155
+ return current;
156
+ }
157
+ catch {
158
+ return undefined;
128
159
  }
129
- return sanitized;
130
160
  }
131
161
  /**
132
162
  * Create new entity
@@ -155,7 +185,7 @@ export class EntityService {
155
185
  listCustomFilter(listParams, action) {
156
186
  const bodyParams = this.getBodyParams(listParams);
157
187
  return this.http.post(`${this.actionsUrl}/${action}`, bodyParams)
158
- .pipe(catchError(this.handleError));
188
+ .pipe(map(response => this.sanitizeEntity(response)), catchError(this.handleError));
159
189
  }
160
190
  /**
161
191
  * Execute custom query
@@ -196,4 +226,4 @@ export class EntityService {
196
226
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EntityService, decorators: [{
197
227
  type: Injectable
198
228
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined }] });
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzLWFpL3NyYy9saWIvc2VydmljZXMvZW50aXR5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUF1Q2pELE1BQU0sT0FBZ0IsYUFBYTtJQU1yQjtJQUNBO0lBSkYsVUFBVSxHQUFXLEVBQUUsQ0FBQztJQUVsQyxZQUNZLElBQWdCLEVBQ2hCLGtCQUF1QztRQUR2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBcUI7UUFFakQseURBQXlEO1FBQ3pELDZEQUE2RDtJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDTyxpQkFBaUI7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVEOztPQUVHO0lBQ08sa0JBQWtCLENBQUMsVUFBc0I7UUFDakQsTUFBTSxFQUFFLElBQUksR0FBRyxDQUFDLEVBQUUsSUFBSSxHQUFHLEVBQUUsRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFLFdBQVcsR0FBRyxFQUFFLEVBQUUsYUFBYSxHQUFHLEVBQUUsRUFBRSxHQUFHLFVBQVUsQ0FBQztRQUM1RixJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBRTlCLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENB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QUN4QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsRUFBTztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsRUFBRSxDQUFDO2FBQzdDLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQ2YsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUN6QixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakIsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0gsVUFBVSxDQUFDLEdBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLGFBQWEsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO2FBQzNGLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQ3BCLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQzdCLENBQUM7SUFDTixDQUFDO3dHQXhObUIsYUFBYTs0R0FBYixhQUFhOzs0RkFBYixhQUFhO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGludGVyZmFjZSBTb3J0TWV0YSB7XG4gIGZpZWxkOiBzdHJpbmc7XG4gIG9yZGVyOiBudW1iZXI7IC8vIDEgZm9yIGFzYywgLTEgZm9yIGRlc2Ncbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0UGFyYW1zIHtcbiAgcGFnZT86IG51bWJlcjtcbiAgc2l6ZT86IG51bWJlcjtcbiAgc29ydD86IFNvcnRNZXRhW107XG4gIGZpbHRlclF1ZXJ5Pzogc3RyaW5nO1xuICBkaXNwbGF5RmllbGRzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQm9keVBhcmFtcyB7XG4gIG9mZnNldD86IG51bWJlcjtcbiAgc2l6ZT86IG51bWJlcjtcbiAgb3JkZXJCeT86IHN0cmluZztcbiAgZmlsdGVyPzogc3RyaW5nO1xuICBkaXNwbGF5ZmllbGRzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eUxpc3RSZXNwb25zZTxUPiB7XG4gIGNvbnRlbnRzOiBUW107XG4gIHRvdGFsRWxlbWVudHM6IG51bWJlcjtcbiAgdG90YWxQYWdlczogbnVtYmVyO1xuICBzaXplPzogbnVtYmVyO1xuICBudW1iZXI/OiBudW1iZXI7XG4gIGZpcnN0PzogYm9vbGVhbjtcbiAgbGFzdD86IGJvb2xlYW47XG59XG5cbi8vIEludGVyZmFjZSBwYXJhIG8gc2VydmnDp28gZGUgdHJhZHXDp8OjbyAoZHVjayB0eXBpbmcpXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zbGF0aW9uU2VydmljZSB7XG4gIHRyYW5zbGF0ZShrZXk6IHN0cmluZywgcGFyYW1zPzogYW55KTogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRW50aXR5U2VydmljZTxUPiB7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBlbnRpdHlVcmw6IHN0cmluZztcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGFjdGlvbnNVcmw6IHN0cmluZztcbiAgcHJvdGVjdGVkIHF1ZXJpZXNVcmw6IHN0cmluZyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCB0cmFuc2xhdGlvblNlcnZpY2U/OiBUcmFuc2xhdGlvblNlcnZpY2VcbiAgKSB7XG4gICAgLy8gSW5pdGlhbGl6ZSBxdWVyaWVzVXJsIGluIG5nT25Jbml0IG9yIGEgc2VwYXJhdGUgbWV0aG9kXG4gICAgLy8gc2luY2UgYWJzdHJhY3QgcHJvcGVydGllcyBjYW4ndCBiZSBhY2Nlc3NlZCBpbiBjb25zdHJ1Y3RvclxuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIHNlcnZpY2UgLSBjYWxsIHRoaXMgYWZ0ZXIgc2V0dGluZyBhY3Rpb25zVXJsXG4gICAqL1xuICBwcm90ZWN0ZWQgaW5pdGlhbGl6ZVNlcnZpY2UoKTogdm9pZCB7XG4gICAgdGhpcy5xdWVyaWVzVXJsID0gdGhpcy5hY3Rpb25zVXJsLnJlcGxhY2UoJ2FjdGlvbnMnLCAncXVlcmllcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgTGlzdFBhcmFtcyB0byBIdHRwUGFyYW1zIGZvciBHRVQgcmVxdWVzdHNcbiAgICovXG4gIHByb3RlY3RlZCBnZXRMaXN0UXVlcnlQYXJhbXMobGlzdFBhcmFtczogTGlzdFBhcmFtcyk6IEh0dHBQYXJhbXMge1xuICAgIGNvbnN0IHsgcGFnZSA9IDAsIHNpemUgPSAxMCwgc29ydCA9IFtdLCBmaWx0ZXJRdWVyeSA9ICcnLCBkaXNwbGF5RmllbGRzID0gW10gfSA9IGxpc3RQYXJhbXM7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc2l6ZScsIFN0cmluZyhzaXplKSk7XG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnb2Zmc2V0JywgU3RyaW5nKHBhZ2UpKTtcbiAgICBcbiAgICBpZiAoc29ydCAmJiBzb3J0Lmxlbmd0aCkge1xuICAgICAgY29uc3Qgb3JkZXJCeSA9IHNvcnRcbiAgICAgICAgLm1hcCgocykgPT4ge1xuICAgICAgICAgIGxldCBvcmRlciA9ICcnO1xuICAgICAgICAgIGlmIChzLm9yZGVyID09PSAxKSBvcmRlciA9ICcgYXNjJztcbiAgICAgICAgICBlbHNlIGlmIChzLm9yZGVyID09PSAtMSkgb3JkZXIgPSAnIGRlc2MnO1xuICAgICAgICAgIHJldHVybiBgJHtzLmZpZWxkfSR7b3JkZXJ9YDtcbiAgICAgICAgfSlcbiAgICAgICAgLmpvaW4oJywgJyk7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdvcmRlcmJ5Jywgb3JkZXJCeSk7XG4gICAgfVxuXG4gICAgaWYgKGZpbHRlclF1ZXJ5KSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdmaWx0ZXInLCBmaWx0ZXJRdWVyeSk7XG4gICAgfVxuXG4gICAgaWYgKGRpc3BsYXlGaWVsZHMgJiYgZGlzcGxheUZpZWxkcy5sZW5ndGgpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ2Rpc3BsYXlmaWVsZHMnLCBkaXNwbGF5RmllbGRzLmpvaW4oJywnKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IExpc3RQYXJhbXMgdG8gYm9keSBwYXJhbWV0ZXJzIGZvciBQT1NUIHJlcXVlc3RzXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0Qm9keVBhcmFtcyhsaXN0UGFyYW1zOiBMaXN0UGFyYW1zKTogQm9keVBhcmFtcyB7XG4gICAgY29uc3QgeyBwYWdlID0gMCwgc2l6ZSA9IDEwLCBzb3J0ID0gW10sIGZpbHRlclF1ZXJ5ID0gJycsIGRpc3BsYXlGaWVsZHMgPSBbXSB9ID0gbGlzdFBhcmFtcztcbiAgICBjb25zdCBib2R5UGFyYW1zOiBCb2R5UGFyYW1zID0ge307XG5cbiAgICBib2R5UGFyYW1zLnNpemUgPSBzaXplO1xuICAgIGJvZHlQYXJhbXMub2Zmc2V0ID0gcGFnZTtcblxuICAgIGlmIChzb3J0ICYmIHNvcnQubGVuZ3RoKSB7XG4gICAgICBib2R5UGFyYW1zLm9yZGVyQnkgPSBzb3J0XG4gICAgICAgIC5tYXAoKHMpID0+IHtcbiAgICAgICAgICBsZXQgb3JkZXIgPSAnJztcbiAgICAgICAgICBpZiAocy5vcmRlciA9PT0gMSkgb3JkZXIgPSAnIGFzYyc7XG4gICAgICAgICAgZWxzZSBpZiAocy5vcmRlciA9PT0gLTEpIG9yZGVyID0gJyBkZXNjJztcbiAgICAgICAgICByZXR1cm4gYCR7cy5maWVsZH0ke29yZGVyfWA7XG4gICAgICAgIH0pXG4gICAgICAgIC5qb2luKCcsICcpO1xuICAgIH1cblxuICAgIGlmIChmaWx0ZXJRdWVyeSkge1xuICAgICAgYm9keVBhcmFtcy5maWx0ZXIgPSBmaWx0ZXJRdWVyeTtcbiAgICB9XG5cbiAgICBpZiAoZGlzcGxheUZpZWxkcyAmJiBkaXNwbGF5RmllbGRzLmxlbmd0aCkge1xuICAgICAgYm9keVBhcmFtcy5kaXNwbGF5ZmllbGRzID0gZGlzcGxheUZpZWxkcy5qb2luKCcsJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJvZHlQYXJhbXM7XG4gIH1cblxuICAvKipcbiAgICogRGVmYXVsdCBlcnJvciBoYW5kbGVyXG4gICAqIE5vdGU6IFRoaXMganVzdCBsb2dzIHRoZSBlcnJvciBhbmQgcmUtdGhyb3dzIHRoZSBvcmlnaW5hbCBIdHRwRXJyb3JSZXNwb25zZVxuICAgKiBzbyB0aGF0IHRoZSBIVFRQIGludGVyY2VwdG9yIGNhbiBoYW5kbGUgaXQgcHJvcGVybHkgKHNob3cgdG9hc3QsIGV0Yy4pXG4gICAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlRXJyb3IgPSAoZXJyb3I6IGFueSk6IE9ic2VydmFibGU8bmV2ZXI+ID0+IHtcbiAgICBjb25zb2xlLmVycm9yKCdFbnRpdHlTZXJ2aWNlIEVycm9yOicsIGVycm9yKTtcbiAgICAvLyBSZS10aHJvdyB0aGUgb3JpZ2luYWwgZXJyb3Igc28gdGhlIGludGVyY2VwdG9yIGNhbiBoYW5kbGUgaXRcbiAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gIH07XG5cbiAgLyoqXG4gICAqIExpc3QgZW50aXRpZXMgd2l0aCBwYWdpbmF0aW9uLCBzb3J0aW5nLCBhbmQgZmlsdGVyaW5nXG4gICAqL1xuICBsaXN0KGxpc3RQYXJhbXM6IExpc3RQYXJhbXMgPSB7fSk6IE9ic2VydmFibGU8RW50aXR5TGlzdFJlc3BvbnNlPFQ+PiB7XG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy5nZXRMaXN0UXVlcnlQYXJhbXMobGlzdFBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RW50aXR5TGlzdFJlc3BvbnNlPFQ+Pih0aGlzLmVudGl0eVVybCwgeyBwYXJhbXMgfSlcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBlbnRpdHkgYnkgSURcbiAgICovXG4gIGdldChpZDogYW55KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VD4oYCR7dGhpcy5lbnRpdHlVcmx9LyR7aWR9YClcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNhbml0aXphIHVtYSBlbnRpZGFkZSBhbnRlcyBkZSBlbnZpYXIgcGFyYSBhIEFQSS5cbiAgICogT2JqZXRvcyBhbmluaGFkb3MgY29tIGBpZGAgc8OjbyByZWR1emlkb3MgYSBgeyBpZCB9YCBwYXJhIGV2aXRhclxuICAgKiBwcm9ibGVtYXMgY29tIHJlZmVyw6puY2lhcyBjaXJjdWxhcmVzICgkcmVmKSBlIGRhZG9zIGRlc25lY2Vzc8Ohcmlvcy5cbiAgICovXG4gIHByb3RlY3RlZCBzYW5pdGl6ZUVudGl0eShlbnRpdHk6IGFueSk6IGFueSB7XG4gICAgaWYgKCFlbnRpdHkgfHwgdHlwZW9mIGVudGl0eSAhPT0gJ29iamVjdCcpIHJldHVybiBlbnRpdHk7XG5cbiAgICBjb25zdCBzYW5pdGl6ZWQ6IGFueSA9IHt9O1xuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGVudGl0eSkpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gZW50aXR5W2tleV07XG4gICAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzYW5pdGl6ZWRba2V5XSA9IHZhbHVlO1xuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICBzYW5pdGl6ZWRba2V5XSA9IHZhbHVlLm1hcCgoaXRlbTogYW55KSA9PlxuICAgICAgICAgIGl0ZW0gJiYgdHlwZW9mIGl0ZW0gPT09ICdvYmplY3QnICYmIGl0ZW0uaWQgPyB7IGlkOiBpdGVtLmlkIH0gOiBpdGVtXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUuaWQgJiYga2V5ICE9PSAnX2Rpc2NyaW1pbmF0b3InKSB7XG4gICAgICAgIHNhbml0aXplZFtrZXldID0geyBpZDogdmFsdWUuaWQgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNhbml0aXplZFtrZXldID0gdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzYW5pdGl6ZWQ7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIG5ldyBlbnRpdHlcbiAgICovXG4gIGluc2VydChlbnRpdHk6IFQpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VD4odGhpcy5lbnRpdHlVcmwsIHRoaXMuc2FuaXRpemVFbnRpdHkoZW50aXR5KSlcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBleGlzdGluZyBlbnRpdHlcbiAgICovXG4gIHVwZGF0ZShpZDogYW55LCBlbnRpdHk6IFQpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxUPihgJHt0aGlzLmVudGl0eVVybH0vJHtpZH1gLCB0aGlzLnNhbml0aXplRW50aXR5KGVudGl0eSkpXG4gICAgICAucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGUgZW50aXR5IGJ5IElEXG4gICAqL1xuICBkZWxldGUoaWQ6IGFueSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPHZvaWQ+KGAke3RoaXMuZW50aXR5VXJsfS8ke2lkfWAsIHsgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB1bmRlZmluZWQpLFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGUgY3VzdG9tIGZpbHRlciBhY3Rpb25cbiAgICovXG4gIGxpc3RDdXN0b21GaWx0ZXIobGlzdFBhcmFtczogTGlzdFBhcmFtcywgYWN0aW9uOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEVudGl0eUxpc3RSZXNwb25zZTxUPj4ge1xuICAgIGNvbnN0IGJvZHlQYXJhbXMgPSB0aGlzLmdldEJvZHlQYXJhbXMobGlzdFBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEVudGl0eUxpc3RSZXNwb25zZTxUPj4oYCR7dGhpcy5hY3Rpb25zVXJsfS8ke2FjdGlvbn1gLCBib2R5UGFyYW1zKVxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZSBjdXN0b20gcXVlcnlcbiAgICovXG4gIGV4ZWN1dGVRdWVyeShxdWVyeU5hbWU6IHN0cmluZywgcGFyYW1zOiBhbnkgPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy5xdWVyaWVzVXJsfS8ke3F1ZXJ5TmFtZX1gLCBwYXJhbXMpXG4gICAgICAucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlIGN1c3RvbSBhY3Rpb25cbiAgICovXG4gIGV4ZWN1dGVBY3Rpb24oYWN0aW9uTmFtZTogc3RyaW5nLCBwYXJhbXM6IGFueSA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLmFjdGlvbnNVcmx9LyR7YWN0aW9uTmFtZX1gLCBwYXJhbXMpXG4gICAgICAucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBlbnRpdHkgZXhpc3RzIGJ5IElEXG4gICAqL1xuICBleGlzdHMoaWQ6IGFueSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuaGVhZChgJHt0aGlzLmVudGl0eVVybH0vJHtpZH1gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB0cnVlKSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgICAgIHJldHVybiBbZmFsc2VdO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVFcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1bGsgZGVsZXRlIGVudGl0aWVzXG4gICAqL1xuICBidWxrRGVsZXRlKGlkczogYW55W10pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8dm9pZD4oYCR7dGhpcy5hY3Rpb25zVXJsfS9idWxrRGVsZXRlYCwgeyBpZHMgfSwgeyBvYnNlcnZlOiAncmVzcG9uc2UnIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHVuZGVmaW5lZCksXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzLWFpL3NyYy9saWIvc2VydmljZXMvZW50aXR5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUF1Q2pELE1BQU0sT0FBZ0IsYUFBYTtJQU1yQjtJQUNBO0lBSkYsVUFBVSxHQUFXLEVBQUUsQ0FBQztJQUVsQyxZQUNZLElBQWdCLEVBQ2hCLGtCQUF1QztRQUR2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBcUI7UUFFakQseURBQXlEO1FBQ3pELDZEQUE2RDtJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDTyxpQkFBaUI7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVEOztPQUVHO0lBQ08sa0JBQWtCLENBQUMsVUFBc0I7UUFDakQsTUFBTSxFQUFFLElBQUksR0FBRyxDQUFDLEVBQUUsSUFBSSxHQUFHLEVBQUUsRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFLFdBQVcsR0FBRyxFQUFFLEVBQUUsYUFBYSxHQUFHLEVBQUUsRUFBRSxHQUFHLFVBQVUsQ0FBQztRQUM1RixJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBRTlCLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENB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QUFDLFVBQVUsSUFBSSxVQUFVLEVBQUUsRUFBRSxNQUFNLENBQUM7YUFDbkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsRUFBTztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsRUFBRSxDQUFDO2FBQzdDLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQ2YsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUN6QixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakIsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0gsVUFBVSxDQUFDLEdBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLGFBQWEsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO2FBQzNGLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQ3BCLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQzdCLENBQUM7SUFDTixDQUFDO3dHQWhRbUIsYUFBYTs0R0FBYixhQUFhOzs0RkFBYixhQUFhO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGludGVyZmFjZSBTb3J0TWV0YSB7XG4gIGZpZWxkOiBzdHJpbmc7XG4gIG9yZGVyOiBudW1iZXI7IC8vIDEgZm9yIGFzYywgLTEgZm9yIGRlc2Ncbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0UGFyYW1zIHtcbiAgcGFnZT86IG51bWJlcjtcbiAgc2l6ZT86IG51bWJlcjtcbiAgc29ydD86IFNvcnRNZXRhW107XG4gIGZpbHRlclF1ZXJ5Pzogc3RyaW5nO1xuICBkaXNwbGF5RmllbGRzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQm9keVBhcmFtcyB7XG4gIG9mZnNldD86IG51bWJlcjtcbiAgc2l6ZT86IG51bWJlcjtcbiAgb3JkZXJCeT86IHN0cmluZztcbiAgZmlsdGVyPzogc3RyaW5nO1xuICBkaXNwbGF5ZmllbGRzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eUxpc3RSZXNwb25zZTxUPiB7XG4gIGNvbnRlbnRzOiBUW107XG4gIHRvdGFsRWxlbWVudHM6IG51bWJlcjtcbiAgdG90YWxQYWdlczogbnVtYmVyO1xuICBzaXplPzogbnVtYmVyO1xuICBudW1iZXI/OiBudW1iZXI7XG4gIGZpcnN0PzogYm9vbGVhbjtcbiAgbGFzdD86IGJvb2xlYW47XG59XG5cbi8vIEludGVyZmFjZSBwYXJhIG8gc2VydmnDp28gZGUgdHJhZHXDp8OjbyAoZHVjayB0eXBpbmcpXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zbGF0aW9uU2VydmljZSB7XG4gIHRyYW5zbGF0ZShrZXk6IHN0cmluZywgcGFyYW1zPzogYW55KTogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRW50aXR5U2VydmljZTxUPiB7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBlbnRpdHlVcmw6IHN0cmluZztcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGFjdGlvbnNVcmw6IHN0cmluZztcbiAgcHJvdGVjdGVkIHF1ZXJpZXNVcmw6IHN0cmluZyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCB0cmFuc2xhdGlvblNlcnZpY2U/OiBUcmFuc2xhdGlvblNlcnZpY2VcbiAgKSB7XG4gICAgLy8gSW5pdGlhbGl6ZSBxdWVyaWVzVXJsIGluIG5nT25Jbml0IG9yIGEgc2VwYXJhdGUgbWV0aG9kXG4gICAgLy8gc2luY2UgYWJzdHJhY3QgcHJvcGVydGllcyBjYW4ndCBiZSBhY2Nlc3NlZCBpbiBjb25zdHJ1Y3RvclxuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIHNlcnZpY2UgLSBjYWxsIHRoaXMgYWZ0ZXIgc2V0dGluZyBhY3Rpb25zVXJsXG4gICAqL1xuICBwcm90ZWN0ZWQgaW5pdGlhbGl6ZVNlcnZpY2UoKTogdm9pZCB7XG4gICAgdGhpcy5xdWVyaWVzVXJsID0gdGhpcy5hY3Rpb25zVXJsLnJlcGxhY2UoJ2FjdGlvbnMnLCAncXVlcmllcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgTGlzdFBhcmFtcyB0byBIdHRwUGFyYW1zIGZvciBHRVQgcmVxdWVzdHNcbiAgICovXG4gIHByb3RlY3RlZCBnZXRMaXN0UXVlcnlQYXJhbXMobGlzdFBhcmFtczogTGlzdFBhcmFtcyk6IEh0dHBQYXJhbXMge1xuICAgIGNvbnN0IHsgcGFnZSA9IDAsIHNpemUgPSAxMCwgc29ydCA9IFtdLCBmaWx0ZXJRdWVyeSA9ICcnLCBkaXNwbGF5RmllbGRzID0gW10gfSA9IGxpc3RQYXJhbXM7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc2l6ZScsIFN0cmluZyhzaXplKSk7XG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnb2Zmc2V0JywgU3RyaW5nKHBhZ2UpKTtcbiAgICBcbiAgICBpZiAoc29ydCAmJiBzb3J0Lmxlbmd0aCkge1xuICAgICAgY29uc3Qgb3JkZXJCeSA9IHNvcnRcbiAgICAgICAgLm1hcCgocykgPT4ge1xuICAgICAgICAgIGxldCBvcmRlciA9ICcnO1xuICAgICAgICAgIGlmIChzLm9yZGVyID09PSAxKSBvcmRlciA9ICcgYXNjJztcbiAgICAgICAgICBlbHNlIGlmIChzLm9yZGVyID09PSAtMSkgb3JkZXIgPSAnIGRlc2MnO1xuICAgICAgICAgIHJldHVybiBgJHtzLmZpZWxkfSR7b3JkZXJ9YDtcbiAgICAgICAgfSlcbiAgICAgICAgLmpvaW4oJywgJyk7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdvcmRlcmJ5Jywgb3JkZXJCeSk7XG4gICAgfVxuXG4gICAgaWYgKGZpbHRlclF1ZXJ5KSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdmaWx0ZXInLCBmaWx0ZXJRdWVyeSk7XG4gICAgfVxuXG4gICAgaWYgKGRpc3BsYXlGaWVsZHMgJiYgZGlzcGxheUZpZWxkcy5sZW5ndGgpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ2Rpc3BsYXlmaWVsZHMnLCBkaXNwbGF5RmllbGRzLmpvaW4oJywnKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IExpc3RQYXJhbXMgdG8gYm9keSBwYXJhbWV0ZXJzIGZvciBQT1NUIHJlcXVlc3RzXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0Qm9keVBhcmFtcyhsaXN0UGFyYW1zOiBMaXN0UGFyYW1zKTogQm9keVBhcmFtcyB7XG4gICAgY29uc3QgeyBwYWdlID0gMCwgc2l6ZSA9IDEwLCBzb3J0ID0gW10sIGZpbHRlclF1ZXJ5ID0gJycsIGRpc3BsYXlGaWVsZHMgPSBbXSB9ID0gbGlzdFBhcmFtcztcbiAgICBjb25zdCBib2R5UGFyYW1zOiBCb2R5UGFyYW1zID0ge307XG5cbiAgICBib2R5UGFyYW1zLnNpemUgPSBzaXplO1xuICAgIGJvZHlQYXJhbXMub2Zmc2V0ID0gcGFnZTtcblxuICAgIGlmIChzb3J0ICYmIHNvcnQubGVuZ3RoKSB7XG4gICAgICBib2R5UGFyYW1zLm9yZGVyQnkgPSBzb3J0XG4gICAgICAgIC5tYXAoKHMpID0+IHtcbiAgICAgICAgICBsZXQgb3JkZXIgPSAnJztcbiAgICAgICAgICBpZiAocy5vcmRlciA9PT0gMSkgb3JkZXIgPSAnIGFzYyc7XG4gICAgICAgICAgZWxzZSBpZiAocy5vcmRlciA9PT0gLTEpIG9yZGVyID0gJyBkZXNjJztcbiAgICAgICAgICByZXR1cm4gYCR7cy5maWVsZH0ke29yZGVyfWA7XG4gICAgICAgIH0pXG4gICAgICAgIC5qb2luKCcsICcpO1xuICAgIH1cblxuICAgIGlmIChmaWx0ZXJRdWVyeSkge1xuICAgICAgYm9keVBhcmFtcy5maWx0ZXIgPSBmaWx0ZXJRdWVyeTtcbiAgICB9XG5cbiAgICBpZiAoZGlzcGxheUZpZWxkcyAmJiBkaXNwbGF5RmllbGRzLmxlbmd0aCkge1xuICAgICAgYm9keVBhcmFtcy5kaXNwbGF5ZmllbGRzID0gZGlzcGxheUZpZWxkcy5qb2luKCcsJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJvZHlQYXJhbXM7XG4gIH1cblxuICAvKipcbiAgICogRGVmYXVsdCBlcnJvciBoYW5kbGVyXG4gICAqIE5vdGU6IFRoaXMganVzdCBsb2dzIHRoZSBlcnJvciBhbmQgcmUtdGhyb3dzIHRoZSBvcmlnaW5hbCBIdHRwRXJyb3JSZXNwb25zZVxuICAgKiBzbyB0aGF0IHRoZSBIVFRQIGludGVyY2VwdG9yIGNhbiBoYW5kbGUgaXQgcHJvcGVybHkgKHNob3cgdG9hc3QsIGV0Yy4pXG4gICAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlRXJyb3IgPSAoZXJyb3I6IGFueSk6IE9ic2VydmFibGU8bmV2ZXI+ID0+IHtcbiAgICBjb25zb2xlLmVycm9yKCdFbnRpdHlTZXJ2aWNlIEVycm9yOicsIGVycm9yKTtcbiAgICAvLyBSZS10aHJvdyB0aGUgb3JpZ2luYWwgZXJyb3Igc28gdGhlIGludGVyY2VwdG9yIGNhbiBoYW5kbGUgaXRcbiAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gIH07XG5cbiAgLyoqXG4gICAqIExpc3QgZW50aXRpZXMgd2l0aCBwYWdpbmF0aW9uLCBzb3J0aW5nLCBhbmQgZmlsdGVyaW5nXG4gICAqL1xuICBsaXN0KGxpc3RQYXJhbXM6IExpc3RQYXJhbXMgPSB7fSk6IE9ic2VydmFibGU8RW50aXR5TGlzdFJlc3BvbnNlPFQ+PiB7XG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy5nZXRMaXN0UXVlcnlQYXJhbXMobGlzdFBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RW50aXR5TGlzdFJlc3BvbnNlPFQ+Pih0aGlzLmVudGl0eVVybCwgeyBwYXJhbXMgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzcG9uc2UgPT4gdGhpcy5zYW5pdGl6ZUVudGl0eShyZXNwb25zZSkpLFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBlbnRpdHkgYnkgSURcbiAgICovXG4gIGdldChpZDogYW55KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VD4oYCR7dGhpcy5lbnRpdHlVcmx9LyR7aWR9YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzcG9uc2UgPT4gdGhpcy5zYW5pdGl6ZUVudGl0eShyZXNwb25zZSkpLFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNhbml0aXphIGEgZW50aWRhZGUvcmVzcG9zdGEgcmVtb3ZlbmRvIHByb3ByaWVkYWRlcyAkcmVmIHF1ZSB2w6ptIGRvXG4gICAqIGJhY2tlbmQgKEphY2tzb24gQEpzb25JZGVudGl0eUluZm8pLCBzdWJzdGl0dWluZG8tYXMgcGVsbyBvYmpldG8gcmVhbFxuICAgKiByZWZlcmVuY2lhZG8gbm8gcGF5bG9hZCBvcmlnaW5hbC5cbiAgICovXG4gIHByb3RlY3RlZCBzYW5pdGl6ZUVudGl0eShlbnRpdHk6IGFueSk6IGFueSB7XG4gICAgY29uc3QgY2xvbmVkID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShlbnRpdHkpKTtcbiAgICB0aGlzLnJlc29sdmVSZWZzKGNsb25lZCwgY2xvbmVkKTtcbiAgICByZXR1cm4gY2xvbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcmNvcnJlIHJlY3Vyc2l2YW1lbnRlIG8gb2JqZXRvIGUgcmVzb2x2ZSBxdWFscXVlciB7ICRyZWY6IFwiLi4uXCIgfVxuICAgKiBidXNjYW5kbyBvIHZhbG9yIHJlYWwgbm8gcm9vdCBkbyBwYXlsb2FkIHVzYW5kbyBvIHBhdGggSlNPTi5cbiAgICovXG4gIHByaXZhdGUgcmVzb2x2ZVJlZnMob2JqOiBhbnksIHJvb3Q6IGFueSk6IHZvaWQge1xuICAgIGlmICghb2JqIHx8IHR5cGVvZiBvYmogIT09ICdvYmplY3QnKSByZXR1cm47XG5cbiAgICBjb25zdCBrZXlzID0gQXJyYXkuaXNBcnJheShvYmopID8gb2JqLm1hcCgoXzogYW55LCBpOiBudW1iZXIpID0+IGkpIDogT2JqZWN0LmtleXMob2JqKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IG9ialtrZXldO1xuICAgICAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgaWYgKHZhbHVlWyckcmVmJ10gJiYgdHlwZW9mIHZhbHVlWyckcmVmJ10gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgY29uc3QgcmVzb2x2ZWQgPSB0aGlzLnJlc29sdmVKc29uUGF0aChyb290LCB2YWx1ZVsnJHJlZiddKTtcbiAgICAgICAgICBpZiAocmVzb2x2ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgb2JqW2tleV0gPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHJlc29sdmVkKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucmVzb2x2ZVJlZnModmFsdWUsIHJvb3QpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlc29sdmUgdW0gcGF0aCBKU09OIG5vIGZvcm1hdG8gJFtcImtleVwiXVtpbmRleF1bXCJrZXlcIl0gb3UgJC5rZXkua2V5W2luZGV4XVxuICAgKi9cbiAgcHJpdmF0ZSByZXNvbHZlSnNvblBhdGgocm9vdDogYW55LCBwYXRoOiBzdHJpbmcpOiBhbnkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB0b2tlbnM6IHN0cmluZ1tdID0gW107XG4gICAgICBjb25zdCByZWdleCA9IC9cXFtcIihbXlwiXSspXCJcXF18XFxbKFxcZCspXFxdfFxcLihcXHcrKS9nO1xuICAgICAgbGV0IG1hdGNoOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsO1xuICAgICAgd2hpbGUgKChtYXRjaCA9IHJlZ2V4LmV4ZWMocGF0aCkpICE9PSBudWxsKSB7XG4gICAgICAgIHRva2Vucy5wdXNoKG1hdGNoWzFdID8/IG1hdGNoWzJdID8/IG1hdGNoWzNdKTtcbiAgICAgIH1cbiAgICAgIGxldCBjdXJyZW50ID0gcm9vdDtcbiAgICAgIGZvciAoY29uc3QgdG9rZW4gb2YgdG9rZW5zKSB7XG4gICAgICAgIGlmIChjdXJyZW50ID09IG51bGwpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGN1cnJlbnQgPSBjdXJyZW50W3Rva2VuXSA/PyBjdXJyZW50W051bWJlcih0b2tlbildO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGN1cnJlbnQ7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG5cbiAgLyoqXG4gICAqIENyZWF0ZSBuZXcgZW50aXR5XG4gICAqL1xuICBpbnNlcnQoZW50aXR5OiBUKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFQ+KHRoaXMuZW50aXR5VXJsLCB0aGlzLnNhbml0aXplRW50aXR5KGVudGl0eSkpXG4gICAgICAucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgZXhpc3RpbmcgZW50aXR5XG4gICAqL1xuICB1cGRhdGUoaWQ6IGFueSwgZW50aXR5OiBUKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8VD4oYCR7dGhpcy5lbnRpdHlVcmx9LyR7aWR9YCwgdGhpcy5zYW5pdGl6ZUVudGl0eShlbnRpdHkpKVxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlIGVudGl0eSBieSBJRFxuICAgKi9cbiAgZGVsZXRlKGlkOiBhbnkpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTx2b2lkPihgJHt0aGlzLmVudGl0eVVybH0vJHtpZH1gLCB7IG9ic2VydmU6ICdyZXNwb25zZScgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4gdW5kZWZpbmVkKSxcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlIGN1c3RvbSBmaWx0ZXIgYWN0aW9uXG4gICAqL1xuICBsaXN0Q3VzdG9tRmlsdGVyKGxpc3RQYXJhbXM6IExpc3RQYXJhbXMsIGFjdGlvbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxFbnRpdHlMaXN0UmVzcG9uc2U8VD4+IHtcbiAgICBjb25zdCBib2R5UGFyYW1zID0gdGhpcy5nZXRCb2R5UGFyYW1zKGxpc3RQYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxFbnRpdHlMaXN0UmVzcG9uc2U8VD4+KGAke3RoaXMuYWN0aW9uc1VybH0vJHthY3Rpb259YCwgYm9keVBhcmFtcylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzcG9uc2UgPT4gdGhpcy5zYW5pdGl6ZUVudGl0eShyZXNwb25zZSkpLFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGUgY3VzdG9tIHF1ZXJ5XG4gICAqL1xuICBleGVjdXRlUXVlcnkocXVlcnlOYW1lOiBzdHJpbmcsIHBhcmFtczogYW55ID0ge30pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMucXVlcmllc1VybH0vJHtxdWVyeU5hbWV9YCwgcGFyYW1zKVxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZSBjdXN0b20gYWN0aW9uXG4gICAqL1xuICBleGVjdXRlQWN0aW9uKGFjdGlvbk5hbWU6IHN0cmluZywgcGFyYW1zOiBhbnkgPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy5hY3Rpb25zVXJsfS8ke2FjdGlvbk5hbWV9YCwgcGFyYW1zKVxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgZW50aXR5IGV4aXN0cyBieSBJRFxuICAgKi9cbiAgZXhpc3RzKGlkOiBhbnkpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmhlYWQoYCR7dGhpcy5lbnRpdHlVcmx9LyR7aWR9YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4gdHJ1ZSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDA0KSB7XG4gICAgICAgICAgICByZXR1cm4gW2ZhbHNlXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWxrIGRlbGV0ZSBlbnRpdGllc1xuICAgKi9cbiAgYnVsa0RlbGV0ZShpZHM6IGFueVtdKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PHZvaWQ+KGAke3RoaXMuYWN0aW9uc1VybH0vYnVsa0RlbGV0ZWAsIHsgaWRzIH0sIHsgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB1bmRlZmluZWQpLFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXG4gICAgICApO1xuICB9XG59XG4iXX0=
@@ -26,6 +26,7 @@ export { LocaleService } from './lib/services/locale.service';
26
26
  export { ExportDialogComponent } from './lib/components/export-dialog/export-dialog.component';
27
27
  export { BulkDeleteDialogComponent } from './lib/components/bulk-delete-dialog/bulk-delete-dialog.component';
28
28
  export { BreadcrumbComponent } from './lib/components/breadcrumb/breadcrumb.component';
29
+ export { LoadingComponent } from './lib/components/loading/loading.component';
29
30
  export { EntityListBaseComponent } from './lib/components/base/entity-list-base.component';
30
31
  // Dynamic Form
31
32
  export { DynamicFormComponent } from './lib/components/dynamic-form/dynamic-form.component';
@@ -75,6 +76,7 @@ export { PostalCodeMaskDirective } from './lib/directives/postal-code-mask.direc
75
76
  export { DocumentMaskDirective } from './lib/directives/document-mask.directive';
76
77
  export { PhoneMaskDirective } from './lib/directives/phone-mask.directive';
77
78
  export { MoneyMaskDirective } from './lib/directives/money-mask.directive';
79
+ export { TableLoadingDirective } from './lib/directives/table-loading/table-loading.directive';
78
80
  // PIPES
79
81
  export { TranslatePipe } from './lib/pipes/translate.pipe';
80
82
  export { CpfPipe } from './lib/pipes/cpf.pipe';
@@ -102,4 +104,4 @@ export { FieldType, mergeUnique, getTypeInformation, isValidFilter, getProp, set
102
104
  // export * from './lib/i18n/translation.config';
103
105
  // export * from './lib/i18n/locale.config';
104
106
  // export * from './lib/i18n/fallback';
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMtYWkvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCwrRUFBK0U7QUFDL0UsU0FBUztBQUNULCtFQUErRTtBQUMvRSxjQUFjLGlDQUFpQyxDQUFDO0FBRWhELCtFQUErRTtBQUMvRSxXQUFXO0FBQ1gsK0VBQStFO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQW9JLE1BQU0sK0JBQStCLENBQUM7QUFDaE0sT0FBTyxFQUFFLFdBQVcsRUFBa0IsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFpSSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JNLE9BQU8sRUFBRSxrQkFBa0IsRUFBd0IsTUFBTSxxQ0FBcUMsQ0FBQztBQUMvRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFrRCxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFOUQsK0VBQStFO0FBQy9FLGFBQWE7QUFDYiwrRUFBK0U7QUFDL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFxQixNQUFNLHdEQUF3RCxDQUFDO0FBQ2xILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRTNGLGVBQWU7QUFDZixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM1RixjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsc0NBQXNDLENBQUM7QUF1QnJELCtFQUErRTtBQUMvRSxTQUFTO0FBQ1QsK0VBQStFO0FBQy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSx3QkFBd0IsRUFBRSxlQUFlLEVBQXVCLE1BQU0saUNBQWlDLENBQUM7QUFDNUssT0FBTyxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBNEIsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRywrRUFBK0U7QUFDL0UsZUFBZTtBQUNmLCtFQUErRTtBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFcEUsK0VBQStFO0FBQy9FLGtGQUFrRjtBQUNsRiwrRUFBK0U7QUFFL0Usb0JBQW9CO0FBQ3BCLHFGQUFxRjtBQUNyRixxRkFBcUY7QUFFckYscUJBQXFCO0FBQ3JCLDBGQUEwRjtBQUMxRiwwRkFBMEY7QUFDMUYsMEZBQTBGO0FBQzFGLHNHQUFzRztBQUV0RyxxQkFBcUI7QUFDckIsNEVBQTRFO0FBQzVFLGdGQUFnRjtBQUNoRiwwRkFBMEY7QUFFMUYsa0JBQWtCO0FBQ2xCLHVFQUF1RTtBQUN2RSx5RUFBeUU7QUFDekUsMkVBQTJFO0FBQzNFLDJFQUEyRTtBQUMzRSwyRUFBMkU7QUFFM0UsV0FBVztBQUNYLGlEQUFpRDtBQUNqRCwrQ0FBK0M7QUFDL0Msc0RBQXNEO0FBQ3RELGdEQUFnRDtBQUNoRCxxREFBcUQ7QUFDckQsaURBQWlEO0FBQ2pELHVEQUF1RDtBQUN2RCwrQ0FBK0M7QUFFL0MsYUFBYTtBQUNiLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTNFLFFBQVE7QUFDUixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTlELFFBQVE7QUFDUixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQ0wsU0FBUyxFQUlULFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLE9BQU8sRUFDUCxPQUFPLEVBQ1Asb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsV0FBVyxFQUNYLFNBQVMsRUFDVCxTQUFTLEVBQ1QsUUFBUSxFQUNSLFFBQVEsRUFDVCxNQUFNLG1CQUFtQixDQUFDO0FBRTNCLGVBQWU7QUFDZixzREFBc0Q7QUFFdEQsc0JBQXNCO0FBQ3RCLGlFQUFpRTtBQUNqRSxtRUFBbUU7QUFDbkUsOERBQThEO0FBRTlELGlCQUFpQjtBQUNqQixrREFBa0Q7QUFDbEQsdURBQXVEO0FBRXZELFFBQVE7QUFDUixxQ0FBcUM7QUFFckMsT0FBTztBQUNQLGlEQUFpRDtBQUNqRCw0Q0FBNEM7QUFDNUMsdUNBQXVDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBAc2VuaW9yc2lzdGVtYXMvY29tcG9uZW50cy1haVxuICogXG4gKiBFc3RlIGFycXVpdm8gc2Vyw6EgcG9wdWxhZG8gY29uZm9ybWUgb3MgY29tcG9uZW50ZXMgZm9yZW0gbWlncmFkb3MuXG4gKiBQb3IgZW5xdWFudG8sIGV4cG9ydGEgYXBlbmFzIG8gbcOzZHVsbyBwcmluY2lwYWwuXG4gKi9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTU9EVUxFXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hbmd1bGFyLWNvbXBvbmVudHMubW9kdWxlJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU0VSVklDRVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmV4cG9ydCB7IEVudGl0eVNlcnZpY2UsIHR5cGUgU29ydE1ldGEsIHR5cGUgTGlzdFBhcmFtcywgdHlwZSBCb2R5UGFyYW1zLCB0eXBlIEVudGl0eUxpc3RSZXNwb25zZSwgdHlwZSBUcmFuc2xhdGlvblNlcnZpY2UgYXMgVHJhbnNsYXRpb25TZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi9saWIvc2VydmljZXMvZW50aXR5LnNlcnZpY2UnO1xuZXhwb3J0IHsgQXV0aFNlcnZpY2UsIHR5cGUgVXNlclRva2VuIH0gZnJvbSAnLi9saWIvc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcbmV4cG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jb29raWUuc2VydmljZSc7XG5leHBvcnQgeyBQZXJtaXNzaW9uU2VydmljZSwgdHlwZSBQZXJtaXNzaW9uUmVxdWVzdCwgdHlwZSBQZXJtaXNzaW9uUmVzcG9uc2UsIHR5cGUgQ2hlY2tBY2Nlc3NSZXF1ZXN0LCB0eXBlIENoZWNrQWNjZXNzUmVzcG9uc2UsIHR5cGUgQXV0aFNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wZXJtaXNzaW9uLnNlcnZpY2UnO1xuZXhwb3J0IHsgU2VuaW9yVG9rZW5TZXJ2aWNlLCB0eXBlIFNlbmlvclRva2VuRGF0YSB9IGZyb20gJy4vbGliL3NlcnZpY2VzL3Nlbmlvci10b2tlbi5zZXJ2aWNlJztcbmV4cG9ydCB7IFRoZW1lU2VydmljZSB9IGZyb20gJy4vbGliL3NlcnZpY2VzL3RoZW1lLnNlcnZpY2UnO1xuZXhwb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlLCB0eXBlIFN1cHBvcnRlZExhbmd1YWdlLCB0eXBlIFRyYW5zbGF0aW9uTG9hZGVyIH0gZnJvbSAnLi9saWIvc2VydmljZXMvdHJhbnNsYXRpb24uc2VydmljZSc7XG5leHBvcnQgeyBNYXNrU2VydmljZSB9IGZyb20gJy4vbGliL3NlcnZpY2VzL21hc2suc2VydmljZSc7XG5leHBvcnQgeyBMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnLi9saWIvc2VydmljZXMvbG9jYWxlLnNlcnZpY2UnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDT01QT05FTlRTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5leHBvcnQgeyBFeHBvcnREaWFsb2dDb21wb25lbnQsIHR5cGUgQ29sdW1uT3B0aW9uIH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9leHBvcnQtZGlhbG9nL2V4cG9ydC1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCB7IEJ1bGtEZWxldGVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2J1bGstZGVsZXRlLWRpYWxvZy9idWxrLWRlbGV0ZS1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCB7IEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuZXhwb3J0IHsgRW50aXR5TGlzdEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Jhc2UvZW50aXR5LWxpc3QtYmFzZS5jb21wb25lbnQnO1xuXG4vLyBEeW5hbWljIEZvcm1cbmV4cG9ydCB7IER5bmFtaWNGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9keW5hbWljLWZvcm0vZHluYW1pYy1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9tb2RlbHMvZHluYW1pYy1mb3JtLm1vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9maWVsZHMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNT0RFTFNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmV4cG9ydCB0eXBlIHsgQmFzZUVudGl0eSB9IGZyb20gJy4vbGliL21vZGVscy9iYXNlLWVudGl0eS5pbnRlcmZhY2UnO1xuZXhwb3J0IHR5cGUgeyBcbiAgVGFibGVDb2x1bW4sIFxuICBGb3JtRmllbGQgYXMgRW50aXR5Rm9ybUZpZWxkLCBcbiAgRmlsdGVyRmllbGQsIFxuICBFeHBvcnRGaWVsZCwgXG4gIEVudGl0eUNvbmZpZyBcbn0gZnJvbSAnLi9saWIvbW9kZWxzL2VudGl0eS1jb25maWcuaW50ZXJmYWNlJztcbmV4cG9ydCB0eXBlIHsgXG4gIENvbHVtbkNvbmZpZywgXG4gIExvb2t1cENvbHVtbiwgXG4gIEZpbHRlckZpZWxkU2l6ZSwgXG4gIEZpbHRlclNlY3Rpb24sIFxuICBGaWx0ZXJDb25maWcsIFxuICBGb3JtRmllbGRDb25maWcgYXMgRW50aXR5Rm9ybUZpZWxkQ29uZmlnLCBcbiAgRW50aXR5TGlzdENvbmZpZyBcbn0gZnJvbSAnLi9saWIvbW9kZWxzL2VudGl0eS1saXN0LmNvbmZpZyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENPTkZJR1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuZXhwb3J0IHsgVFJBTlNMQVRJT05fQ09ORklHLCBTVVBQT1JURURfTEFOR1VBR0VTLCBERUZBVUxUX0xBTkdVQUdFLCBtYXBUb2tlbkxvY2FsZVRvTGFuZ3VhZ2UsIGdldExhbmd1YWdlSW5mbywgdHlwZSBMYW5ndWFnZUNvbmZpZyB9IGZyb20gJy4vbGliL2NvbmZpZy90cmFuc2xhdGlvbi5jb25maWcnO1xuZXhwb3J0IHsgcHJvdmlkZVNlbmlvclByaW1lTkcsIFNlbmlvclByZXNldCwgdHlwZSBTZW5pb3JQcmltZU5HQ29uZmlnIH0gZnJvbSAnLi9saWIvY29uZmlnL3ByaW1lbmcuY29uZmlnJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSU5URVJDRVBUT1JTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5leHBvcnQgeyBhcGlJbnRlcmNlcHRvciB9IGZyb20gJy4vbGliL2ludGVyY2VwdG9ycy9hcGkuaW50ZXJjZXB0b3InO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBOT1RBOiBPcyBleHBvcnRzIGFiYWl4byBzZXLDo28gZGVzY29tZW50YWRvcyBjb25mb3JtZSBvcyBhcnF1aXZvcyBmb3JlbSBtaWdyYWRvc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBDT01QT05FTlRTIC0gQkFTRVxuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9iYXNlL2VudGl0eS1saXN0LWJhc2UvZW50aXR5LWxpc3QtYmFzZS5jb21wb25lbnQnO1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9iYXNlL2VudGl0eS1mb3JtLWJhc2UvZW50aXR5LWZvcm0tYmFzZS5jb21wb25lbnQnO1xuXG4vLyBDT01QT05FTlRTIC0gRk9STVNcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybXMvZW50aXR5LWZvcm0tZmllbGRzL2VudGl0eS1mb3JtLWZpZWxkcy5jb21wb25lbnQnO1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3Jtcy9lbnRpdHktZm9ybS1kaWFsb2cvZW50aXR5LWZvcm0tZGlhbG9nLmNvbXBvbmVudCc7XG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvcm1zL2VudGl0eS1mb3JtLWRyYXdlci9lbnRpdHktZm9ybS1kcmF3ZXIuY29tcG9uZW50Jztcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybXMvc3ViLXJlc291cmNlLWZvcm0tZGlhbG9nL3N1Yi1yZXNvdXJjZS1mb3JtLWRpYWxvZy5jb21wb25lbnQnO1xuXG4vLyBDT01QT05FTlRTIC0gTElTVFNcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGlzdHMvZm9ybS1maWx0ZXIvZm9ybS1maWx0ZXIuY29tcG9uZW50Jztcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGlzdHMvZXhwb3J0LWRpYWxvZy9leHBvcnQtZGlhbG9nLmNvbXBvbmVudCc7XG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xpc3RzL2J1bGstZGVsZXRlLWRpYWxvZy9idWxrLWRlbGV0ZS1kaWFsb2cuY29tcG9uZW50JztcblxuLy8gQ09NUE9ORU5UUyAtIFVJXG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3VpL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy91aS9lZGl0LWlubGluZS9lZGl0LWlubGluZS5jb21wb25lbnQnO1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy91aS9sb29rdXAtZmllbGQvbG9va3VwLWZpZWxkLmNvbXBvbmVudCc7XG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3VpL2thbmJhbi1ib2FyZC9rYW5iYW4tYm9hcmQuY29tcG9uZW50Jztcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdWkvdGhlbWUtdG9nZ2xlL3RoZW1lLXRvZ2dsZS5jb21wb25lbnQnO1xuXG4vLyBTRVJWSUNFU1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZW50aXR5LnNlcnZpY2UnO1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdGhlbWUuc2VydmljZSc7XG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wZXJtaXNzaW9uLnNlcnZpY2UnO1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvY29va2llLnNlcnZpY2UnO1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvc2VuaW9yLXRva2VuLnNlcnZpY2UnO1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbWFzay5zZXJ2aWNlJztcblxuLy8gRElSRUNUSVZFU1xuZXhwb3J0IHsgUG9zdGFsQ29kZU1hc2tEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3Bvc3RhbC1jb2RlLW1hc2suZGlyZWN0aXZlJztcbmV4cG9ydCB7IERvY3VtZW50TWFza0RpcmVjdGl2ZSB9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZG9jdW1lbnQtbWFzay5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgUGhvbmVNYXNrRGlyZWN0aXZlIH0gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9waG9uZS1tYXNrLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBNb25leU1hc2tEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL21vbmV5LW1hc2suZGlyZWN0aXZlJztcblxuLy8gUElQRVNcbmV4cG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuL2xpYi9waXBlcy90cmFuc2xhdGUucGlwZSc7XG5leHBvcnQgeyBDcGZQaXBlIH0gZnJvbSAnLi9saWIvcGlwZXMvY3BmLnBpcGUnO1xuZXhwb3J0IHsgQ25walBpcGUgfSBmcm9tICcuL2xpYi9waXBlcy9jbnBqLnBpcGUnO1xuZXhwb3J0IHsgRG9jdW1lbnRQaXBlIH0gZnJvbSAnLi9saWIvcGlwZXMvZG9jdW1lbnQucGlwZSc7XG5leHBvcnQgeyBQaG9uZVBpcGUgfSBmcm9tICcuL2xpYi9waXBlcy9waG9uZS5waXBlJztcbmV4cG9ydCB7IFBvc3RhbENvZGVQaXBlIH0gZnJvbSAnLi9saWIvcGlwZXMvcG9zdGFsLWNvZGUucGlwZSc7XG5leHBvcnQgeyBNb25leVBpcGUgfSBmcm9tICcuL2xpYi9waXBlcy9tb25leS5waXBlJztcbmV4cG9ydCB7IERhdGVGb3JtYXRQaXBlIH0gZnJvbSAnLi9saWIvcGlwZXMvZGF0ZS1mb3JtYXQucGlwZSc7XG5cbi8vIFVUSUxTXG5leHBvcnQgeyBUcmFuc2xhdGlvbkhlbHBlciB9IGZyb20gJy4vbGliL3V0aWxzL3RyYW5zbGF0aW9uLmhlbHBlcic7XG5leHBvcnQgeyBcbiAgRmllbGRUeXBlLFxuICB0eXBlIEZvcm1GaWVsZCBhcyBVdGlsc0Zvcm1GaWVsZCxcbiAgdHlwZSBPcHRpb24sXG4gIHR5cGUgRmlsdGVyVG9rZW4sXG4gIG1lcmdlVW5pcXVlLFxuICBnZXRUeXBlSW5mb3JtYXRpb24sXG4gIGlzVmFsaWRGaWx0ZXIsXG4gIGdldFByb3AsXG4gIHNldFByb3AsXG4gIGdldExhYmVsVmFsdWVSZXF1ZXN0LFxuICBnZXRTdWdnZXN0aW9uVmFsdWUsXG4gIGdldEVudW1RdWVyeSxcbiAgZXNjYXBlRmlsdGVyVmFsdWUsXG4gIGNyZWF0ZUZpbHRlclN0cmluZyxcbiAgY3JlYXRlRmlsdGVyVG9rZW5zLFxuICByZXNvbHZlUmVmcyxcbiAgZGVlcENsb25lLFxuICBkZWVwRXF1YWwsXG4gIGRlYm91bmNlLFxuICB0aHJvdHRsZVxufSBmcm9tICcuL2xpYi91dGlscy91dGlscyc7XG5cbi8vIElOVEVSQ0VQVE9SU1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJjZXB0b3JzL2FwaS5pbnRlcmNlcHRvcic7XG5cbi8vIE1PREVMUyAtIElOVEVSRkFDRVNcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbnRlcmZhY2VzL2Jhc2UtZW50aXR5LmludGVyZmFjZSc7XG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaW50ZXJmYWNlcy9lbnRpdHktY29uZmlnLmludGVyZmFjZSc7XG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaW50ZXJmYWNlcy9lbnRpdHktbGlzdC5jb25maWcnO1xuXG4vLyBNT0RFTFMgLSBFTlVNU1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VudW1zL3N0YXR1cy5lbnVtJztcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9lbnVtcy90eXBlLXBlcnNvbi5lbnVtJztcblxuLy8gVVRJTFNcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL3V0aWxzJztcblxuLy8gSTE4TlxuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvaTE4bi90cmFuc2xhdGlvbi5jb25maWcnO1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvaTE4bi9sb2NhbGUuY29uZmlnJztcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2kxOG4vZmFsbGJhY2snO1xuIl19
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMtYWkvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCwrRUFBK0U7QUFDL0UsU0FBUztBQUNULCtFQUErRTtBQUMvRSxjQUFjLGlDQUFpQyxDQUFDO0FBRWhELCtFQUErRTtBQUMvRSxXQUFXO0FBQ1gsK0VBQStFO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQW9JLE1BQU0sK0JBQStCLENBQUM7QUFDaE0sT0FBTyxFQUFFLFdBQVcsRUFBa0IsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFpSSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JNLE9BQU8sRUFBRSxrQkFBa0IsRUFBd0IsTUFBTSxxQ0FBcUMsQ0FBQztBQUMvRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFrRCxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFOUQsK0VBQStFO0FBQy9FLGFBQWE7QUFDYiwrRUFBK0U7QUFDL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFxQixNQUFNLHdEQUF3RCxDQUFDO0FBQ2xILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtEQUFrRCxD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dUNBQXVDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBAc2VuaW9yc2lzdGVtYXMvY29tcG9uZW50cy1haVxuICogXG4gKiBFc3RlIGFycXVpdm8gc2Vyw6EgcG9wdWxhZG8gY29uZm9ybWUgb3MgY29tcG9uZW50ZXMgZm9yZW0gbWlncmFkb3MuXG4gKiBQb3IgZW5xdWFudG8sIGV4cG9ydGEgYXBlbmFzIG8gbcOzZHVsbyBwcmluY2lwYWwuXG4gKi9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTU9EVUxFXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hbmd1bGFyLWNvbXBvbmVudHMubW9kdWxlJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU0VSVklDRVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmV4cG9ydCB7IEVudGl0eVNlcnZpY2UsIHR5cGUgU29ydE1ldGEsIHR5cGUgTGlzdFBhcmFtcywgdHlwZSBCb2R5UGFyYW1zLCB0eXBlIEVudGl0eUxpc3RSZXNwb25zZSwgdHlwZSBUcmFuc2xhdGlvblNlcnZpY2UgYXMgVHJhbnNsYXRpb25TZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi9saWIvc2VydmljZXMvZW50aXR5LnNlcnZpY2UnO1xuZXhwb3J0IHsgQXV0aFNlcnZpY2UsIHR5cGUgVXNlclRva2VuIH0gZnJvbSAnLi9saWIvc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcbmV4cG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jb29raWUuc2VydmljZSc7XG5leHBvcnQgeyBQZXJtaXNzaW9uU2VydmljZSwgdHlwZSBQZXJtaXNzaW9uUmVxdWVzdCwgdHlwZSBQZXJtaXNzaW9uUmVzcG9uc2UsIHR5cGUgQ2hlY2tBY2Nlc3NSZXF1ZXN0LCB0eXBlIENoZWNrQWNjZXNzUmVzcG9uc2UsIHR5cGUgQXV0aFNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wZXJtaXNzaW9uLnNlcnZpY2UnO1xuZXhwb3J0IHsgU2VuaW9yVG9rZW5TZXJ2aWNlLCB0eXBlIFNlbmlvclRva2VuRGF0YSB9IGZyb20gJy4vbGliL3NlcnZpY2VzL3Nlbmlvci10b2tlbi5zZXJ2aWNlJztcbmV4cG9ydCB7IFRoZW1lU2VydmljZSB9IGZyb20gJy4vbGliL3NlcnZpY2VzL3RoZW1lLnNlcnZpY2UnO1xuZXhwb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlLCB0eXBlIFN1cHBvcnRlZExhbmd1YWdlLCB0eXBlIFRyYW5zbGF0aW9uTG9hZGVyIH0gZnJvbSAnLi9saWIvc2VydmljZXMvdHJhbnNsYXRpb24uc2VydmljZSc7XG5leHBvcnQgeyBNYXNrU2VydmljZSB9IGZyb20gJy4vbGliL3NlcnZpY2VzL21hc2suc2VydmljZSc7XG5leHBvcnQgeyBMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnLi9saWIvc2VydmljZXMvbG9jYWxlLnNlcnZpY2UnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDT01QT05FTlRTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5leHBvcnQgeyBFeHBvcnREaWFsb2dDb21wb25lbnQsIHR5cGUgQ29sdW1uT3B0aW9uIH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9leHBvcnQtZGlhbG9nL2V4cG9ydC1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCB7IEJ1bGtEZWxldGVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2J1bGstZGVsZXRlLWRpYWxvZy9idWxrLWRlbGV0ZS1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCB7IEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuZXhwb3J0IHsgTG9hZGluZ0NvbXBvbmVudCB9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudCc7XG5leHBvcnQgeyBFbnRpdHlMaXN0QmFzZUNvbXBvbmVudCB9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYmFzZS9lbnRpdHktbGlzdC1iYXNlLmNvbXBvbmVudCc7XG5cbi8vIER5bmFtaWMgRm9ybVxuZXhwb3J0IHsgRHluYW1pY0Zvcm1Db21wb25lbnQgfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL21vZGVscy9keW5hbWljLWZvcm0ubW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2ZpZWxkcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1PREVMU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuZXhwb3J0IHR5cGUgeyBCYXNlRW50aXR5IH0gZnJvbSAnLi9saWIvbW9kZWxzL2Jhc2UtZW50aXR5LmludGVyZmFjZSc7XG5leHBvcnQgdHlwZSB7IFxuICBUYWJsZUNvbHVtbiwgXG4gIEZvcm1GaWVsZCBhcyBFbnRpdHlGb3JtRmllbGQsIFxuICBGaWx0ZXJGaWVsZCwgXG4gIEV4cG9ydEZpZWxkLCBcbiAgRW50aXR5Q29uZmlnIFxufSBmcm9tICcuL2xpYi9tb2RlbHMvZW50aXR5LWNvbmZpZy5pbnRlcmZhY2UnO1xuZXhwb3J0IHR5cGUgeyBcbiAgQ29sdW1uQ29uZmlnLCBcbiAgTG9va3VwQ29sdW1uLCBcbiAgRmlsdGVyRmllbGRTaXplLCBcbiAgRmlsdGVyU2VjdGlvbiwgXG4gIEZpbHRlckNvbmZpZywgXG4gIEZvcm1GaWVsZENvbmZpZyBhcyBFbnRpdHlGb3JtRmllbGRDb25maWcsIFxuICBFbnRpdHlMaXN0Q29uZmlnIFxufSBmcm9tICcuL2xpYi9tb2RlbHMvZW50aXR5LWxpc3QuY29uZmlnJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ09ORklHXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5leHBvcnQgeyBUUkFOU0xBVElPTl9DT05GSUcsIFNVUFBPUlRFRF9MQU5HVUFHRVMsIERFRkFVTFRfTEFOR1VBR0UsIG1hcFRva2VuTG9jYWxlVG9MYW5ndWFnZSwgZ2V0TGFuZ3VhZ2VJbmZvLCB0eXBlIExhbmd1YWdlQ29uZmlnIH0gZnJvbSAnLi9saWIvY29uZmlnL3RyYW5zbGF0aW9uLmNvbmZpZyc7XG5leHBvcnQgeyBwcm92aWRlU2VuaW9yUHJpbWVORywgU2VuaW9yUHJlc2V0LCB0eXBlIFNlbmlvclByaW1lTkdDb25maWcgfSBmcm9tICcuL2xpYi9jb25maWcvcHJpbWVuZy5jb25maWcnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBJTlRFUkNFUFRPUlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmV4cG9ydCB7IGFwaUludGVyY2VwdG9yIH0gZnJvbSAnLi9saWIvaW50ZXJjZXB0b3JzL2FwaS5pbnRlcmNlcHRvcic7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE5PVEE6IE9zIGV4cG9ydHMgYWJhaXhvIHNlcsOjbyBkZXNjb21lbnRhZG9zIGNvbmZvcm1lIG9zIGFycXVpdm9zIGZvcmVtIG1pZ3JhZG9zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIENPTVBPTkVOVFMgLSBCQVNFXG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Jhc2UvZW50aXR5LWxpc3QtYmFzZS9lbnRpdHktbGlzdC1iYXNlLmNvbXBvbmVudCc7XG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Jhc2UvZW50aXR5LWZvcm0tYmFzZS9lbnRpdHktZm9ybS1iYXNlLmNvbXBvbmVudCc7XG5cbi8vIENPTVBPTkVOVFMgLSBGT1JNU1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3Jtcy9lbnRpdHktZm9ybS1maWVsZHMvZW50aXR5LWZvcm0tZmllbGRzLmNvbXBvbmVudCc7XG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvcm1zL2VudGl0eS1mb3JtLWRpYWxvZy9lbnRpdHktZm9ybS1kaWFsb2cuY29tcG9uZW50Jztcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybXMvZW50aXR5LWZvcm0tZHJhd2VyL2VudGl0eS1mb3JtLWRyYXdlci5jb21wb25lbnQnO1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3Jtcy9zdWItcmVzb3VyY2UtZm9ybS1kaWFsb2cvc3ViLXJlc291cmNlLWZvcm0tZGlhbG9nLmNvbXBvbmVudCc7XG5cbi8vIENPTVBPTkVOVFMgLSBMSVNUU1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9saXN0cy9mb3JtLWZpbHRlci9mb3JtLWZpbHRlci5jb21wb25lbnQnO1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9saXN0cy9leHBvcnQtZGlhbG9nL2V4cG9ydC1kaWFsb2cuY29tcG9uZW50Jztcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGlzdHMvYnVsay1kZWxldGUtZGlhbG9nL2J1bGstZGVsZXRlLWRpYWxvZy5jb21wb25lbnQnO1xuXG4vLyBDT01QT05FTlRTIC0gVUlcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdWkvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3VpL2VkaXQtaW5saW5lL2VkaXQtaW5saW5lLmNvbXBvbmVudCc7XG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3VpL2xvb2t1cC1maWVsZC9sb29rdXAtZmllbGQuY29tcG9uZW50Jztcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdWkva2FuYmFuLWJvYXJkL2thbmJhbi1ib2FyZC5jb21wb25lbnQnO1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy91aS90aGVtZS10b2dnbGUvdGhlbWUtdG9nZ2xlLmNvbXBvbmVudCc7XG5cbi8vIFNFUlZJQ0VTXG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9lbnRpdHkuc2VydmljZSc7XG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJhbnNsYXRpb24uc2VydmljZSc7XG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90aGVtZS5zZXJ2aWNlJztcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3Blcm1pc3Npb24uc2VydmljZSc7XG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jb29raWUuc2VydmljZSc7XG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9zZW5pb3ItdG9rZW4uc2VydmljZSc7XG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9tYXNrLnNlcnZpY2UnO1xuXG4vLyBESVJFQ1RJVkVTXG5leHBvcnQgeyBQb3N0YWxDb2RlTWFza0RpcmVjdGl2ZSB9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvcG9zdGFsLWNvZGUtbWFzay5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRG9jdW1lbnRNYXNrRGlyZWN0aXZlIH0gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9kb2N1bWVudC1tYXNrLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBQaG9uZU1hc2tEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3Bob25lLW1hc2suZGlyZWN0aXZlJztcbmV4cG9ydCB7IE1vbmV5TWFza0RpcmVjdGl2ZSB9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvbW9uZXktbWFzay5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgVGFibGVMb2FkaW5nRGlyZWN0aXZlIH0gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy90YWJsZS1sb2FkaW5nL3RhYmxlLWxvYWRpbmcuZGlyZWN0aXZlJztcblxuLy8gUElQRVNcbmV4cG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuL2xpYi9waXBlcy90cmFuc2xhdGUucGlwZSc7XG5leHBvcnQgeyBDcGZQaXBlIH0gZnJvbSAnLi9saWIvcGlwZXMvY3BmLnBpcGUnO1xuZXhwb3J0IHsgQ25walBpcGUgfSBmcm9tICcuL2xpYi9waXBlcy9jbnBqLnBpcGUnO1xuZXhwb3J0IHsgRG9jdW1lbnRQaXBlIH0gZnJvbSAnLi9saWIvcGlwZXMvZG9jdW1lbnQucGlwZSc7XG5leHBvcnQgeyBQaG9uZVBpcGUgfSBmcm9tICcuL2xpYi9waXBlcy9waG9uZS5waXBlJztcbmV4cG9ydCB7IFBvc3RhbENvZGVQaXBlIH0gZnJvbSAnLi9saWIvcGlwZXMvcG9zdGFsLWNvZGUucGlwZSc7XG5leHBvcnQgeyBNb25leVBpcGUgfSBmcm9tICcuL2xpYi9waXBlcy9tb25leS5waXBlJztcbmV4cG9ydCB7IERhdGVGb3JtYXRQaXBlIH0gZnJvbSAnLi9saWIvcGlwZXMvZGF0ZS1mb3JtYXQucGlwZSc7XG5cbi8vIFVUSUxTXG5leHBvcnQgeyBUcmFuc2xhdGlvbkhlbHBlciB9IGZyb20gJy4vbGliL3V0aWxzL3RyYW5zbGF0aW9uLmhlbHBlcic7XG5leHBvcnQgeyBcbiAgRmllbGRUeXBlLFxuICB0eXBlIEZvcm1GaWVsZCBhcyBVdGlsc0Zvcm1GaWVsZCxcbiAgdHlwZSBPcHRpb24sXG4gIHR5cGUgRmlsdGVyVG9rZW4sXG4gIG1lcmdlVW5pcXVlLFxuICBnZXRUeXBlSW5mb3JtYXRpb24sXG4gIGlzVmFsaWRGaWx0ZXIsXG4gIGdldFByb3AsXG4gIHNldFByb3AsXG4gIGdldExhYmVsVmFsdWVSZXF1ZXN0LFxuICBnZXRTdWdnZXN0aW9uVmFsdWUsXG4gIGdldEVudW1RdWVyeSxcbiAgZXNjYXBlRmlsdGVyVmFsdWUsXG4gIGNyZWF0ZUZpbHRlclN0cmluZyxcbiAgY3JlYXRlRmlsdGVyVG9rZW5zLFxuICByZXNvbHZlUmVmcyxcbiAgZGVlcENsb25lLFxuICBkZWVwRXF1YWwsXG4gIGRlYm91bmNlLFxuICB0aHJvdHRsZVxufSBmcm9tICcuL2xpYi91dGlscy91dGlscyc7XG5cbi8vIElOVEVSQ0VQVE9SU1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJjZXB0b3JzL2FwaS5pbnRlcmNlcHRvcic7XG5cbi8vIE1PREVMUyAtIElOVEVSRkFDRVNcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbnRlcmZhY2VzL2Jhc2UtZW50aXR5LmludGVyZmFjZSc7XG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaW50ZXJmYWNlcy9lbnRpdHktY29uZmlnLmludGVyZmFjZSc7XG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaW50ZXJmYWNlcy9lbnRpdHktbGlzdC5jb25maWcnO1xuXG4vLyBNT0RFTFMgLSBFTlVNU1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VudW1zL3N0YXR1cy5lbnVtJztcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9lbnVtcy90eXBlLXBlcnNvbi5lbnVtJztcblxuLy8gVVRJTFNcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL3V0aWxzJztcblxuLy8gSTE4TlxuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvaTE4bi90cmFuc2xhdGlvbi5jb25maWcnO1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvaTE4bi9sb2NhbGUuY29uZmlnJztcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2kxOG4vZmFsbGJhY2snO1xuIl19