@senior-agronegocio/angular-components 1.0.19 → 1.0.20
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.
- package/esm2022/components/event-control-board/event-control-board.component.mjs +1 -3
- package/esm2022/fields/lookups/utils/agro-lookup-utils.mjs +1 -5
- package/fesm2022/senior-agronegocio-angular-components.mjs +0 -6
- package/fesm2022/senior-agronegocio-angular-components.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -193,11 +193,7 @@ export const getLabelValueRequest = (contents, displayFields, APPLY_CPFCNPJ_FILT
|
|
|
193
193
|
}
|
|
194
194
|
});
|
|
195
195
|
LOOKUP_DOCUMENT_FIELDS.forEach((fieldName) => {
|
|
196
|
-
console.log(`Processing field: ${fieldName} for item:`, formattedItem); // Debugging line
|
|
197
196
|
const value = getValueByPath(formattedItem, fieldName);
|
|
198
|
-
if (value) {
|
|
199
|
-
console.log(`Checking field: ${fieldName}, value: ${value}`);
|
|
200
|
-
}
|
|
201
197
|
if (value !== null && value !== undefined && value !== '') {
|
|
202
198
|
setValueByPath(formattedItem, fieldName, formatCPFCNPJWithMask(String(value)));
|
|
203
199
|
}
|
|
@@ -360,4 +356,4 @@ export function formatBrlCurrency(currencyPipe, value) {
|
|
|
360
356
|
.replace("#", ",")
|
|
361
357
|
.replace(/^(.{2})/, "$1 ");
|
|
362
358
|
}
|
|
363
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdyby1sb29rdXAtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZmllbGRzL2xvb2t1cHMvdXRpbHMvYWdyby1sb29rdXAtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRzVCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUUxRSxNQUFNLFdBQVcsR0FBRyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUMxQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUM7QUFDaEMsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUM7QUFDdkMsTUFBTSxzQkFBc0IsR0FBRztJQUMzQixRQUFRO0lBQ1IsU0FBUztJQUNULFFBQVE7SUFDUixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsYUFBYTtJQUNiLGNBQWM7SUFDZCxhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixLQUFLO0NBQ1IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQW9CLEVBQUUsVUFBeUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRWpKLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsSUFBWSxFQUFFLEtBQVUsRUFBRSxFQUFFO0lBQzNELFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDWCxLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssTUFB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SyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzNFLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLENBQUM7SUFFdEQsSUFBSSxVQUFVLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbkIsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsT0FBTyxjQUFjLENBQUM7QUFDMUIsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxZQUEwQixFQUFFLEtBQWE7SUFDdkUsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxPQUFPLFlBQVk7U0FDZCxTQUFTLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDO1FBQzNDLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7U0FDbEIsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7U0FDakIsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7U0FDakIsT0FBTyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNuQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEN1cnJlbmN5UGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IGZvcm1hdENQRkNOUEpXaXRoTWFzayB9IGZyb20gJy4vY3BmLWNucGotZm9ybWF0dGVyJztcclxuaW1wb3J0IHsgQWdyb1N0cmluZ1V0aWxzIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Fncm8tc3RyaW5nLXV0aWxzLmNsYXNzJztcclxuXHJcbmNvbnN0IG51bWJlclR5cGVzID0gWydpbnRlZ2VyJywgJ2RvdWJsZSddO1xyXG5jb25zdCBudW1iZXJQYXR0ZXJuID0gL15cXGQrXFxiJC87XHJcbmNvbnN0IFlZWVlfTU1fRERfRk9STUFUID0gJ1lZWVktTU0tREQnO1xyXG5jb25zdCBMT09LVVBfRE9DVU1FTlRfRklFTERTID0gW1xyXG4gICAgJ2NucENwZicsXHJcbiAgICAnY25wakNwZicsXHJcbiAgICAnbnVtQ2djJyxcclxuICAgICdlMDAxcGVzLmNucENwZicsXHJcbiAgICAnZTAwMXBlcy5jbnBqQ3BmJyxcclxuICAgICdlMDAxcGVzLm51bUNnYycsXHJcbiAgICAnZTAwMXBlcy5jcGZDbnBqJyxcclxuICAgICdlMDAxcGVzLmNwZicsXHJcbiAgICAnZTAwMXBlcy5jbnBqJyxcclxuICAgICdlMDAxcGVzLmNnYycsXHJcbiAgICAnZTAwMXBlcy5jcGZDZ2MnLFxyXG4gICAgJ2UwMDFwZXMuY2djQ3BmJyxcclxuICAgICdjcGYnXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgbWVyZ2VVbmlxdWUgPSAoYXJyYXk6IEFycmF5PHN0cmluZz4sIG90aGVyQXJyYXk6IEFycmF5PHN0cmluZz4pID0+IGFycmF5LmNvbmNhdChvdGhlckFycmF5LmZpbHRlcigoaXRlbSkgPT4gIWFycmF5LmluY2x1ZGVzKGl0ZW0pKSk7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0VHlwZUluZm9ybWF0aW9uID0gKHR5cGU6IHN0cmluZywgdmFsdWU6IGFueSkgPT4ge1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgICAgY2FzZSAndGltZSc6XHJcbiAgICAgICAgY2FzZSAnZGF0ZSc6XHJcbiAgICAgICAgY2FzZSAnbG9jYWxEYXRlVGltZSc6XHJcbiAgICAgICAgY2FzZSAnZGF0ZVRpbWUnOlxyXG4gICAgICAgICAgICByZXR1cm4geyBpc1ZhbGlkVmFsdWU6IGZhbHNlLCB0eXBlRXhpc3RzOiB0cnVlIH07XHJcbiAgICAgICAgY2FzZSAnaW50ZWdlcic6XHJcbiAgICAgICAgY2FzZSAnZG91YmxlJzpcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGlzVmFsaWRWYWx1ZTogdmFsdWUubWF0Y2gobnVtYmVyUGF0dGVybiksXHJcbiAgICAgICAgICAgICAgICB0eXBlRXhpc3RzOiBudW1iZXJUeXBlcy5pbmNsdWRlcyh0eXBlKSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgaXNWYWxpZFZhbHVlOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIHR5cGVFeGlzdHM6IGZhbHNlLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgfVxyXG59O1xyXG5cclxuXHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IGdldFN1Z2dlc3Rpb25WYWx1ZSA9IChkaXNwbGF5RmllbGRzOiBzdHJpbmdbXSwgb3duZXJFbnRpdHk6IHN0cmluZywgdmFsdWU6IGFueSwgc2VwYXJhdG9yOiBzdHJpbmcpID0+IHtcclxuICAgIGlmICghZGlzcGxheUZpZWxkcyB8fCBkaXNwbGF5RmllbGRzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICAgIHJldHVybiBkaXNwbGF5RmllbGRzXHJcbiAgICAgICAgLm1hcCgoZmllbGQpID0+IHtcclxuICAgICAgICAgICAgaWYgKExPT0tVUF9ET0NVTUVOVF9GSUVMRFMuaW5jbHVkZXMoZmllbGQpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZm9ybWF0Q1BGQ05QSldpdGhNYXNrKGdldFByb3AodmFsdWUsIGAke293bmVyRW50aXR5fS4ke2ZpZWxkfWApKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gZ2V0UHJvcCh2YWx1ZSwgYCR7b3duZXJFbnRpdHl9LiR7ZmllbGR9YCk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZmlsdGVyKGYgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gQWdyb1N0cmluZ1V0aWxzLmlzVmFsaWQoU3RyaW5nKGYpKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5qb2luKHNlcGFyYXRvcik7XHJcbn07XHJcblxyXG5jb25zdCBidWlsZEVudW1DbGF1c2UgPSAobmFtZTogc3RyaW5nLCBzZWxlY3RlZDogYW55KSA9PiBgJHtuYW1lfSBlcSAnJHtzZWxlY3RlZH0nYDtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRFbnVtUXVlcnkgPSAobmFtZTogc3RyaW5nLCB2YWx1ZTogYW55LCBtdWx0aXBsZSA9IGZhbHNlKSA9PiB7XHJcbiAgICBpZiAobXVsdGlwbGUpIHtcclxuICAgICAgICByZXR1cm4gYCgke3ZhbHVlLm1hcCgoc2VsZWN0ZWQ6IGFueSkgPT4gYnVpbGRFbnVtQ2xhdXNlKG5hbWUsIHNlbGVjdGVkKSkuam9pbignIG9yICcpfSlgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke25hbWV9IGVxICcke3ZhbHVlfSdgO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGNyZWF0ZUZpbHRlclN0cmluZyA9IChhbnk6IGFueSwgdmFsdWU6IGFueSkgPT4ge1xyXG4gICAgY29uc3QgeyBuYW1lLCB0eXBlLCBtdWx0aXBsZSB9ID0gYW55O1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSAnbnVtYmVyJykge1xyXG4gICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAke3ZhbHVlfWA7XHJcbiAgICB9XHJcblxyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgICAgY2FzZSAnZGF0ZSc6XHJcbiAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHttb21lbnQodmFsdWUpLmZvcm1hdChZWVlZX01NX0REX0ZPUk1BVCl9J2A7XHJcbiAgICAgICAgY2FzZSAndGltZSc6XHJcbiAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHttb21lbnQodmFsdWUpLmZvcm1hdCgnSEg6bW06c3MnKX0nYDtcclxuICAgICAgICBjYXNlICdkYXRlVGltZSc6XHJcbiAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHttb21lbnQodmFsdWUpLmZvcm1hdCgpfSdgO1xyXG4gICAgICAgIGNhc2UgJ2xvY2FsRGF0ZVRpbWUnOlxyXG4gICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7bW9tZW50KHZhbHVlKS5mb3JtYXQoJ1lZWVktTU0tRERbVF1ISDptbTpzcy5TU1MnKX0nYDtcclxuICAgICAgICBjYXNlICdlbnVtJzpcclxuICAgICAgICAgICAgcmV0dXJuIGdldEVudW1RdWVyeShuYW1lLCB2YWx1ZSwgbXVsdGlwbGUpO1xyXG4gICAgICAgIGNhc2UgJ3N0cmluZyc6XHJcbiAgICAgICAgICAgIHJldHVybiBgdXBwZXIoJHtuYW1lfSkgbGlrZSB1cHBlcignJSR7dmFsdWUucmVwbGFjZSgvJy9nLCBcIidcIil9JScpYDtcclxuICAgICAgICBjYXNlICdsb29rdXAnOlxyXG4gICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7dmFsdWUuaWR9J2A7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke3ZhbHVlfSdgO1xyXG4gICAgfVxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGNyZWF0ZUZpbHRlclRva2VucyA9IChhbnk6IGFueSwgdmFsdWU6IGFueSwgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSA9PiB7XHJcbiAgICBjb25zdCB7IG5hbWUsIHR5cGUsIGxhYmVsLCBzZWFyY2hGaWVsZHMsIG9wdGlvbnMgfSA9IGFueTtcclxuICAgIGxldCBsYWJlbFZhbHVlID0gdmFsdWU7XHJcblxyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgICAgY2FzZSAnZGF0ZSc6XHJcbiAgICAgICAgICAgIGxhYmVsVmFsdWUgPSBtb21lbnQodmFsdWUpLmZvcm1hdCgnTCcpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICd0aW1lJzpcclxuICAgICAgICAgICAgbGFiZWxWYWx1ZSA9IG1vbWVudCh2YWx1ZSkuZm9ybWF0KCdMVFMnKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnbG9jYWxEYXRlVGltZSc6XHJcbiAgICAgICAgY2FzZSAnZGF0ZVRpbWUnOlxyXG4gICAgICAgICAgICBsYWJlbFZhbHVlID0gbW9tZW50KHZhbHVlKS5mb3JtYXQoJ0wgTFRTJyk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2xvb2t1cCc6XHJcbiAgICAgICAgICAgIGxhYmVsVmFsdWUgPSBzZWFyY2hGaWVsZHMubWFwKChmaWVsZDogYW55KSA9PiBnZXRQcm9wKHZhbHVlLCBmaWVsZC5uYW1lKSkuam9pbignIC0gJyk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2VudW0nOlxyXG4gICAgICAgICAgICBsYWJlbFZhbHVlID0gb3B0aW9ucy5maWx0ZXIoKG9wdGlvbjogYW55KSA9PiBvcHRpb24udmFsdWUgPT09IGxhYmVsVmFsdWUpWzBdLmxhYmVsO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdib29sZWFuJzpcclxuICAgICAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICBsYWJlbFZhbHVlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2Fncm8uYW5ndWxhcl9jb21wb25lbnRzLmxvb2t1cF9saXN0X2dyaWRfYm9vbGVhbl90cnVlJyk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBsYWJlbFZhbHVlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2Fncm8uYW5ndWxhcl9jb21wb25lbnRzLmxvb2t1cF9saXN0X2dyaWRfYm9vbGVhbl9mYWxzZScpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB7IGlkOiBuYW1lLCBsYWJlbDogYCR7bGFiZWx9OiAke2xhYmVsVmFsdWV9YCB9O1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHJlc29sdmVSZWZzID0gKHBheWxvYWQ6IGFueSkgPT4ge1xyXG4gICAgY29uc3QgZ2V0RGF0YUZyb21SZWYgPSAocmVmOiBzdHJpbmcsIHJvb3RPYmo6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gL1xcW1wiKC4qPylcIlxcXS9nO1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdDogc3RyaW5nW10gPSBbXTtcclxuICAgICAgICBsZXQgbWF0Y2g7XHJcblxyXG4gICAgICAgIHdoaWxlICgobWF0Y2ggPSByZWdleC5leGVjKHJlZikpICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKG1hdGNoWzFdKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiByZXN1bHQucmVkdWNlKChhY2MsIHBhcnQpID0+IGFjYz8uW3BhcnRdLCByb290T2JqKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgcmVzb2x2ZSA9IChvYmo6IGFueSwgcm9vdE9iajogYW55LCB2aXNpdGVkID0gbmV3IFNldDxhbnk+KCkpID0+IHtcclxuICAgICAgICBpZiAob2JqID09PSBudWxsIHx8IHR5cGVvZiBvYmogIT09ICdvYmplY3QnIHx8IHZpc2l0ZWQuaGFzKG9iaikpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2aXNpdGVkLmFkZChvYmopO1xyXG5cclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XHJcbiAgICAgICAgICAgIG9iai5mb3JFYWNoKChpdGVtKSA9PiByZXNvbHZlKGl0ZW0sIHJvb3RPYmosIHZpc2l0ZWQpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhvYmopLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGtleSA9PT0gJyRyZWYnICYmIG9ialtrZXldKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVmUGF0aCA9IG9ialtrZXldO1xyXG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24ob2JqLCBnZXREYXRhRnJvbVJlZihyZWZQYXRoLCByb290T2JqKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIG9ialtrZXldO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKG9ialtrZXldLCByb290T2JqLCB2aXNpdGVkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICByZXNvbHZlKHBheWxvYWQsIHBheWxvYWQpO1xyXG5cclxuICAgIHJldHVybiBwYXlsb2FkO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVsYXRpb25UcmFuc2Zvcm1Db25maWcgPSB7XHJcbiAgICBvcmlnaW46IHN0cmluZztcclxuICAgIGtleTogc3RyaW5nO1xyXG4gICAgdHJhbnNmb3JtOiAodmFsdWU6IGFueSkgPT4gYW55O1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGFwcGx5UmVsYXRpb25UcmFuc2Zvcm1zID0gKGVudGl0eTogYW55LCBvcmlnaW5FbnRpdHk6IHN0cmluZyB8IHVuZGVmaW5lZCwgcmVsYXRpb25zOiBSZWxhdGlvblRyYW5zZm9ybUNvbmZpZ1tdKSA9PiB7XHJcbiAgICByZWxhdGlvbnMuZm9yRWFjaCgoeyBvcmlnaW4sIGtleSwgdHJhbnNmb3JtIH0pID0+IHtcclxuICAgICAgICBpZiAob3JpZ2luRW50aXR5ICE9PSBvcmlnaW4gJiYgZW50aXR5W2tleV0pIHtcclxuICAgICAgICAgICAgZW50aXR5W2tleV0gPSB0cmFuc2Zvcm0oZW50aXR5W2tleV0pO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBlbnRpdHk7XHJcbn07XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuY29uc3QgZGF0ZVBhdHRlcm5ZWVlZTU1ERCA9IC9eXFxkezR9LVxcZHsyfS1cXGR7Mn0kLztcclxuXHJcblxyXG5leHBvcnQgY29uc3QgaXNWYWxpZEZpbHRlciA9ICh0eXBlOiBhbnksIHZhbHVlOiBhbnkpID0+IHtcclxuICAgIGNvbnN0IHsgaXNWYWxpZFZhbHVlLCB0eXBlRXhpc3RzIH0gPSBnZXRUeXBlSW5mb3JtYXRpb24odHlwZSwgdmFsdWUpO1xyXG4gICAgcmV0dXJuICEodHlwZUV4aXN0cyAmJiAhaXNWYWxpZFZhbHVlKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRQcm9wID0gKG9iajogYW55LCBwYXRoOiBhbnksIEFQUExZX0NQRkNOUEpfRklMVEVSID0gZmFsc2UpID0+IHtcclxuICAgIGxldCByID0gcGF0aC5zcGxpdChcIi5cIikucmVkdWNlKChyZXN1bHQ6IGFueSwgcHJvcDogYW55KSA9PiAocmVzdWx0W3Byb3BdID09PSB1bmRlZmluZWQgPyBcIlwiIDogcmVzdWx0W3Byb3BdKSwgb2JqKTtcclxuICAgIGNvbnN0IG5vcm1hbGl6ZWRQYXRoID0gdHlwZW9mIHBhdGggPT09ICdzdHJpbmcnID8gcGF0aCA6ICcnO1xyXG4gICAgY29uc3QgZmllbGROYW1lID0gbm9ybWFsaXplZFBhdGguc3BsaXQoJy4nKS5wb3AoKSA/PyBub3JtYWxpemVkUGF0aDtcclxuXHJcbiAgICBpZiAoZGF0ZVBhdHRlcm5ZWVlZTU1ERC50ZXN0KHIpKSB7XHJcbiAgICAgICAgciA9IG1vbWVudChyLCBZWVlZX01NX0REX0ZPUk1BVCkuZm9ybWF0KFwiREQvTU0vWVlZWVwiKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoKEFQUExZX0NQRkNOUEpfRklMVEVSIHx8IExPT0tVUF9ET0NVTUVOVF9GSUVMRFMuaW5jbHVkZXMoZmllbGROYW1lKSkgJiYgQWdyb1N0cmluZ1V0aWxzLmlzVmFsaWQocikpIHtcclxuICAgICAgICByZXR1cm4gZm9ybWF0Q1BGQ05QSldpdGhNYXNrKHIpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldExhYmVsVmFsdWVSZXF1ZXN0ID0gKGNvbnRlbnRzOiBhbnlbXSwgZGlzcGxheUZpZWxkczogYW55W10sIEFQUExZX0NQRkNOUEpfRklMVEVSID0gZmFsc2UpID0+IHtcclxuICAgIGNvbnN0IHIgPSBjb250ZW50cy5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG51bWJlclBhdHRlcm5Ub1Rlc3QgPSAvXlxcZCsoXFwuXFxkezEsMn0pPyQvO1xyXG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZEl0ZW0gPSB7IC4uLml0ZW0gfTtcclxuXHJcbiAgICAgICAgLy8gRm9ybWF0IGN1cnJlbmN5IGZpZWxkcyAodmxyQ290KVxyXG4gICAgICAgIFtcInZsckNvdFwiXS5mb3JFYWNoKChmaWVsZDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChmb3JtYXR0ZWRJdGVtW2ZpZWxkXSAmJiBudW1iZXJQYXR0ZXJuVG9UZXN0LnRlc3QoZm9ybWF0dGVkSXRlbVtmaWVsZF0pKSB7XHJcbiAgICAgICAgICAgICAgICBmb3JtYXR0ZWRJdGVtW2ZpZWxkXSA9IHBhcnNlRmxvYXQoZm9ybWF0dGVkSXRlbVtmaWVsZF0pLnRvTG9jYWxlU3RyaW5nKFwicHQtQlJcIiwge1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMixcclxuICAgICAgICAgICAgICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IDJcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIExPT0tVUF9ET0NVTUVOVF9GSUVMRFMuZm9yRWFjaCgoZmllbGROYW1lKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBQcm9jZXNzaW5nIGZpZWxkOiAke2ZpZWxkTmFtZX0gZm9yIGl0ZW06YCwgZm9ybWF0dGVkSXRlbSk7IC8vIERlYnVnZ2luZyBsaW5lXHJcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gZ2V0VmFsdWVCeVBhdGgoZm9ybWF0dGVkSXRlbSwgZmllbGROYW1lKTtcclxuXHJcbiAgICAgICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYENoZWNraW5nIGZpZWxkOiAke2ZpZWxkTmFtZX0sIHZhbHVlOiAke3ZhbHVlfWApO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gJycpIHtcclxuICAgICAgICAgICAgICAgIHNldFZhbHVlQnlQYXRoKFxyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdHRlZEl0ZW0sXHJcbiAgICAgICAgICAgICAgICAgICAgZmllbGROYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdENQRkNOUEpXaXRoTWFzayhTdHJpbmcodmFsdWUpKVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5mb3JtYXR0ZWRJdGVtLFxyXG4gICAgICAgICAgICBsYWJlbDogZGlzcGxheUZpZWxkcy5tYXAoZmllbGQgPT4gZ2V0UHJvcChmb3JtYXR0ZWRJdGVtLCBmaWVsZCwgQVBQTFlfQ1BGQ05QSl9GSUxURVIpKS5qb2luKFwiIC0gXCIpXHJcbiAgICAgICAgfTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiByO1xyXG59O1xyXG5cclxuZnVuY3Rpb24gZ2V0VmFsdWVCeVBhdGgob2JqOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBwYXRoOiBzdHJpbmcpOiB1bmtub3duIHwgdW5kZWZpbmVkIHtcclxuICAgIGlmICghb2JqIHx8ICFwYXRoKSB7XHJcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBDYW1wbyBzaW1wbGVzIG91IGNoYXZlIGxpdGVyYWwgZXhpc3RlbnRlXHJcbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcGF0aCkpIHtcclxuICAgICAgICByZXR1cm4gb2JqW3BhdGhdO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIENhbXBvIGFncmVnYWRvOiBcImNhbXBvMS5jYW1wbzJcIlxyXG4gICAgcmV0dXJuIHBhdGguc3BsaXQoJy4nKS5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XHJcbiAgICAgICAgaWYgKGFjYyA9PT0gbnVsbCB8fCBhY2MgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGFjY1trZXldO1xyXG4gICAgfSwgb2JqKTtcclxufVxyXG5cclxuZnVuY3Rpb24gc2V0VmFsdWVCeVBhdGgob2JqOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBwYXRoOiBzdHJpbmcsIHZhbHVlOiB1bmtub3duKTogdm9pZCB7XHJcbiAgICBpZiAoIW9iaiB8fCAhcGF0aCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBDYW1wbyBzaW1wbGVzIG91IGNoYXZlIGxpdGVyYWwgZXhpc3RlbnRlXHJcbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcGF0aCkpIHtcclxuICAgICAgICBvYmpbcGF0aF0gPSB2YWx1ZTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2FtcG8gYWdyZWdhZG86IFwiY2FtcG8xLmNhbXBvMlwiXHJcbiAgICBjb25zdCBrZXlzID0gcGF0aC5zcGxpdCgnLicpO1xyXG4gICAgY29uc3QgbGFzdEtleSA9IGtleXMucG9wKCk7XHJcblxyXG4gICAgaWYgKCFsYXN0S2V5KSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHRhcmdldCA9IGtleXMucmVkdWNlKChhY2MsIGtleSkgPT4ge1xyXG4gICAgICAgIGlmIChhY2MgPT09IG51bGwgfHwgYWNjID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBhY2Nba2V5XTtcclxuICAgIH0sIG9iaik7XHJcblxyXG4gICAgaWYgKHRhcmdldCAhPT0gbnVsbCAmJiB0YXJnZXQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRhcmdldFtsYXN0S2V5XSA9IHZhbHVlO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEZpbHRlcnMoZmlsdGVyczogYW55W10sIHZhbHVlOiBhbnksIHN0YXR1c0ZpbHRlcjogYm9vbGVhbiwgY29sdW1uTmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gZmlsdGVyc1xyXG4gICAgICAgIC5maWx0ZXIoKHsgdHlwZSB9KSA9PiBpc1ZhbGlkRmlsdGVyKHR5cGUsIHZhbHVlKSlcclxuICAgICAgICAuZmlsdGVyKCh7IG5hbWUgfSkgPT4gbmFtZSAhPT0gXCJzdGF0dXNcIilcclxuICAgICAgICAubWFwKCh7IG5hbWUsIHR5cGUgfSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gY29udmVydFZhbHVlQnlUeXBlKG5hbWUsIHZhbHVlLCB0eXBlKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5qb2luKFwiIG9yIFwiKVxyXG4gICAgICAgIC5jb25jYXQoYGFuZCAke2NvbHVtbk5hbWV9IGVxICdWQScgYCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRGaWx0ZXJzQWR2YW5jZWQoXHJcbiAgICBmaWx0ZXJzOiBhbnlbXSxcclxuICAgIGZpbHRlckRhdGE6IGFueSxcclxuICAgIHN0YXR1c0ZpbHRlcjogYm9vbGVhbixcclxuICAgIGNvbHVtbk5hbWU6IHN0cmluZyxcclxuICAgIGUwNzBlbXBJZDogc3RyaW5nXHJcbikge1xyXG4gICAgcmV0dXJuIGZpbHRlcnNcclxuICAgICAgICAuZmlsdGVyKCh7IG5hbWUgfSkgPT4gZmlsdGVyRGF0YVtuYW1lXSAhPT0gdW5kZWZpbmVkICYmIGZpbHRlckRhdGFbbmFtZV0gIT09IFwiXCIpXHJcbiAgICAgICAgLm1hcCgoeyBuYW1lLCB0eXBlIH0pID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdmFsdWU6IGFueSA9IGZpbHRlckRhdGFbbmFtZV07XHJcbiAgICAgICAgICAgIHJldHVybiBjb252ZXJ0VmFsdWVCeVR5cGUobmFtZSwgdmFsdWUsIHR5cGUpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNvbmNhdChzdGF0dXNGaWx0ZXIgPyBbYCR7Y29sdW1uTmFtZX0gZXEgJ1ZBJyBhbmQgZTA3MGVtcCBlcSAnJHtlMDcwZW1wSWR9J2BdIDogW10pXHJcbiAgICAgICAgLmpvaW4oXCIgYW5kIFwiKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRWYWx1ZUJ5VHlwZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnksIHR5cGU6IGFueSk6IHN0cmluZyB7XHJcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xyXG4gICAgICAgIHZhbHVlID0gXCJcIjtcclxuICAgIH1cclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gXCJudW1iZXJcIikge1xyXG4gICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAke3ZhbHVlfWA7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdkYXRlJykge1xyXG4gICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHttb21lbnQodmFsdWUpLmZvcm1hdChZWVlZX01NX0REX0ZPUk1BVCl9J2A7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICd0aW1lJykge1xyXG4gICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHttb21lbnQodmFsdWUpLmZvcm1hdChcIkhIOm1tOnNzXCIpfSdgO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnZGF0ZVRpbWUnKSB7XHJcbiAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke21vbWVudCh2YWx1ZSkuZm9ybWF0KCl9J2A7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgcmV0dXJuIGBjb250YWluaW5nKHVwcGVyKCR7bmFtZX0pLCB1cHBlcignJHtTdHJpbmcodmFsdWUpLnJlcGxhY2UoLycvZywgXCJcXFxcJ1wiKX0nKSlgO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7dmFsdWV9J2A7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRGaWx0ZXJzV2l0aG91dFN0YXR1cyhmaWx0ZXJzOiBhbnlbXSwgdmFsdWU6IGFueSkge1xyXG4gICAgcmV0dXJuIGZpbHRlcnNcclxuICAgICAgICAuZmlsdGVyKCh7IHR5cGUgfSkgPT4gaXNWYWxpZEZpbHRlcih0eXBlLCB2YWx1ZSkpXHJcbiAgICAgICAgLmZpbHRlcigoeyBuYW1lIH0pID0+IG5hbWUgIT09IFwic3RhdHVzXCIpXHJcbiAgICAgICAgLm1hcCgoeyBuYW1lLCB0eXBlIH0pID0+IHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSBcIm51bWJlclwiKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJHt2YWx1ZX1gO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdkYXRlJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke21vbWVudCh2YWx1ZSkuZm9ybWF0KFlZWVlfTU1fRERfRk9STUFUKX0nYDtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAndGltZScpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHttb21lbnQodmFsdWUpLmZvcm1hdChcIkhIOm1tOnNzXCIpfSdgO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdkYXRlVGltZScpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHttb21lbnQodmFsdWUpLmZvcm1hdCgpfSdgO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYGNvbnRhaW5pbmcodXBwZXIoJHtuYW1lfSksIHVwcGVyKCcke3ZhbHVlLnJlcGxhY2UoLycvZywgXCJcXFxcJ1wiKX0nKSlgO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke3ZhbHVlfSdgO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuam9pbihcIiBhbmQgXCIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcm91bmRUb1RocmVlKG51bTogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBNYXRoLnJvdW5kKG51bSAqIDEwMDApIC8gMTAwMDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZUFkanVzdGVkUGVyY2VudGFnZXNBbmRXZWlnaHRzKHRvdGFsOiBudW1iZXIsIG1heFBlcmNlbnRhZ2U6IG51bWJlciwgbWF4V2VpZ2h0OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGNhbGN1bGF0ZWRQZXJjZW50YWdlcyA9IGNhbGN1bGF0ZUFkanVzdGVkUGVyY2VudGFnZXModG90YWwsIG1heFBlcmNlbnRhZ2UpO1xyXG4gICAgY29uc3QgY2FsY3VsYXRlZFdlaWdodHMgPSBjYWxjdWxhdGVBZGp1c3RlZFdlaWdodHMoY2FsY3VsYXRlZFBlcmNlbnRhZ2VzLCBtYXhXZWlnaHQpO1xyXG4gICAgcmV0dXJuIHsgY2FsY3VsYXRlZFBlcmNlbnRhZ2VzLCBjYWxjdWxhdGVkV2VpZ2h0cyB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlQWRqdXN0ZWRQZXJjZW50YWdlcyh0b3RhbDogbnVtYmVyLCBtYXhQZXJjZW50YWdlOiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGJhc2VQZXJjZW50YWdlID0gcm91bmRUb1RocmVlKG1heFBlcmNlbnRhZ2UgLyB0b3RhbCk7XHJcbiAgICBjb25zdCBjYWxjdWxhdGVkUGVyY2VudGFnZXMgPSBBcnJheSh0b3RhbCkuZmlsbChiYXNlUGVyY2VudGFnZSk7XHJcbiAgICByZXR1cm4gYWRqdXN0VmFsdWVzSWZOZWNlc3NhcnkoY2FsY3VsYXRlZFBlcmNlbnRhZ2VzLCBtYXhQZXJjZW50YWdlKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZUFkanVzdGVkV2VpZ2h0cyhjYWxjdWxhdGVkUGVyY2VudGFnZXM6IG51bWJlcltdLCBtYXhXZWlnaHQ6IG51bWJlcikge1xyXG4gICAgY29uc3QgdG90YWxQZXJjZW50YWdlID0gY2FsY3VsYXRlZFBlcmNlbnRhZ2VzLnJlZHVjZSgoc3VtLCBwZXJjZW50YWdlKSA9PiBzdW0gKyBwZXJjZW50YWdlLCAwKTtcclxuICAgIGNvbnN0IGNhbGN1bGF0ZWRXZWlnaHRzID0gY2FsY3VsYXRlZFBlcmNlbnRhZ2VzLm1hcChwZXJjZW50YWdlID0+XHJcbiAgICAgICAgcm91bmRUb1RocmVlKChwZXJjZW50YWdlIC8gMTAwKSAqIG1heFdlaWdodClcclxuICAgICk7XHJcblxyXG4gICAgaWYgKHJvdW5kVG9UaHJlZSh0b3RhbFBlcmNlbnRhZ2UpID09PSAxMDApIHtcclxuICAgICAgICByZXR1cm4gYWRqdXN0VmFsdWVzSWZOZWNlc3NhcnkoY2FsY3VsYXRlZFdlaWdodHMsIG1heFdlaWdodCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGNhbGN1bGF0ZWRXZWlnaHRzO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gYWRqdXN0VmFsdWVzSWZOZWNlc3NhcnkodmFsdWVzOiBudW1iZXJbXSwgdG90YWw6IG51bWJlcik6IG51bWJlcltdIHtcclxuICAgIGNvbnN0IGFkanVzdGVkVmFsdWVzID0gdmFsdWVzLnNsaWNlKCk7XHJcbiAgICBjb25zdCBjdXJyZW50VG90YWwgPSBhZGp1c3RlZFZhbHVlcy5yZWR1Y2UoKHN1bSwgdmFsdWUpID0+IHN1bSArIHZhbHVlLCAwKTtcclxuICAgIGNvbnN0IGRpZmZlcmVuY2UgPSByb3VuZFRvVGhyZWUodG90YWwgLSBjdXJyZW50VG90YWwpO1xyXG5cclxuICAgIGlmIChkaWZmZXJlbmNlICE9PSAwKSB7XHJcbiAgICAgICAgYWRqdXN0ZWRWYWx1ZXNbMF0gKz0gZGlmZmVyZW5jZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gYWRqdXN0ZWRWYWx1ZXM7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRCcmxDdXJyZW5jeShjdXJyZW5jeVBpcGU6IEN1cnJlbmN5UGlwZSwgdmFsdWU6IG51bWJlcik6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQge1xyXG4gICAgaWYgKCFjdXJyZW5jeVBpcGUgfHwgIXZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGN1cnJlbmN5UGlwZVxyXG4gICAgICAgIC50cmFuc2Zvcm0odmFsdWUsIFwiQlJMXCIsIFwic3ltYm9sXCIsIGAxLjItMmApXHJcbiAgICAgICAgPy5yZXBsYWNlKFwiLlwiLCBcIiNcIilcclxuICAgICAgICAucmVwbGFjZShcIixcIiwgXCIuXCIpXHJcbiAgICAgICAgLnJlcGxhY2UoXCIjXCIsIFwiLFwiKVxyXG4gICAgICAgIC5yZXBsYWNlKC9eKC57Mn0pLywgXCIkMSBcIik7XHJcbn1cclxuXHJcblxyXG4iXX0=
|
|
359
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdyby1sb29rdXAtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZmllbGRzL2xvb2t1cHMvdXRpbHMvYWdyby1sb29rdXAtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRzVCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUUxRSxNQUFNLFdBQVcsR0FBRyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUMxQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUM7QUFDaEMsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUM7QUFDdkMsTUFBTSxzQkFBc0IsR0FBRztJQUMzQixRQUFRO0lBQ1IsU0FBUztJQUNULFFBQVE7SUFDUixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsYUFBYTtJQUNiLGNBQWM7SUFDZCxhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixLQUFLO0NBQ1IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQW9CLEVBQUUsVUFBeUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRWpKLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsSUFBWSxFQUFFLEtBQVUsRUFBRSxFQUFFO0lBQzNELFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDWCxLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssTUFB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LFVBQVUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsT0FBTyxjQUFjLENBQUM7QUFDMUIsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxZQUEwQixFQUFFLEtBQWE7SUFDdkUsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxPQUFPLFlBQVk7U0FDZCxTQUFTLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDO1FBQzNDLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7U0FDbEIsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7U0FDakIsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7U0FDakIsT0FBTyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNuQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEN1cnJlbmN5UGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IGZvcm1hdENQRkNOUEpXaXRoTWFzayB9IGZyb20gJy4vY3BmLWNucGotZm9ybWF0dGVyJztcclxuaW1wb3J0IHsgQWdyb1N0cmluZ1V0aWxzIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Fncm8tc3RyaW5nLXV0aWxzLmNsYXNzJztcclxuXHJcbmNvbnN0IG51bWJlclR5cGVzID0gWydpbnRlZ2VyJywgJ2RvdWJsZSddO1xyXG5jb25zdCBudW1iZXJQYXR0ZXJuID0gL15cXGQrXFxiJC87XHJcbmNvbnN0IFlZWVlfTU1fRERfRk9STUFUID0gJ1lZWVktTU0tREQnO1xyXG5jb25zdCBMT09LVVBfRE9DVU1FTlRfRklFTERTID0gW1xyXG4gICAgJ2NucENwZicsXHJcbiAgICAnY25wakNwZicsXHJcbiAgICAnbnVtQ2djJyxcclxuICAgICdlMDAxcGVzLmNucENwZicsXHJcbiAgICAnZTAwMXBlcy5jbnBqQ3BmJyxcclxuICAgICdlMDAxcGVzLm51bUNnYycsXHJcbiAgICAnZTAwMXBlcy5jcGZDbnBqJyxcclxuICAgICdlMDAxcGVzLmNwZicsXHJcbiAgICAnZTAwMXBlcy5jbnBqJyxcclxuICAgICdlMDAxcGVzLmNnYycsXHJcbiAgICAnZTAwMXBlcy5jcGZDZ2MnLFxyXG4gICAgJ2UwMDFwZXMuY2djQ3BmJyxcclxuICAgICdjcGYnXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgbWVyZ2VVbmlxdWUgPSAoYXJyYXk6IEFycmF5PHN0cmluZz4sIG90aGVyQXJyYXk6IEFycmF5PHN0cmluZz4pID0+IGFycmF5LmNvbmNhdChvdGhlckFycmF5LmZpbHRlcigoaXRlbSkgPT4gIWFycmF5LmluY2x1ZGVzKGl0ZW0pKSk7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0VHlwZUluZm9ybWF0aW9uID0gKHR5cGU6IHN0cmluZywgdmFsdWU6IGFueSkgPT4ge1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgICAgY2FzZSAndGltZSc6XHJcbiAgICAgICAgY2FzZSAnZGF0ZSc6XHJcbiAgICAgICAgY2FzZSAnbG9jYWxEYXRlVGltZSc6XHJcbiAgICAgICAgY2FzZSAnZGF0ZVRpbWUnOlxyXG4gICAgICAgICAgICByZXR1cm4geyBpc1ZhbGlkVmFsdWU6IGZhbHNlLCB0eXBlRXhpc3RzOiB0cnVlIH07XHJcbiAgICAgICAgY2FzZSAnaW50ZWdlcic6XHJcbiAgICAgICAgY2FzZSAnZG91YmxlJzpcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGlzVmFsaWRWYWx1ZTogdmFsdWUubWF0Y2gobnVtYmVyUGF0dGVybiksXHJcbiAgICAgICAgICAgICAgICB0eXBlRXhpc3RzOiBudW1iZXJUeXBlcy5pbmNsdWRlcyh0eXBlKSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgaXNWYWxpZFZhbHVlOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIHR5cGVFeGlzdHM6IGZhbHNlLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgfVxyXG59O1xyXG5cclxuXHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IGdldFN1Z2dlc3Rpb25WYWx1ZSA9IChkaXNwbGF5RmllbGRzOiBzdHJpbmdbXSwgb3duZXJFbnRpdHk6IHN0cmluZywgdmFsdWU6IGFueSwgc2VwYXJhdG9yOiBzdHJpbmcpID0+IHtcclxuICAgIGlmICghZGlzcGxheUZpZWxkcyB8fCBkaXNwbGF5RmllbGRzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICAgIHJldHVybiBkaXNwbGF5RmllbGRzXHJcbiAgICAgICAgLm1hcCgoZmllbGQpID0+IHtcclxuICAgICAgICAgICAgaWYgKExPT0tVUF9ET0NVTUVOVF9GSUVMRFMuaW5jbHVkZXMoZmllbGQpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZm9ybWF0Q1BGQ05QSldpdGhNYXNrKGdldFByb3AodmFsdWUsIGAke293bmVyRW50aXR5fS4ke2ZpZWxkfWApKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gZ2V0UHJvcCh2YWx1ZSwgYCR7b3duZXJFbnRpdHl9LiR7ZmllbGR9YCk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZmlsdGVyKGYgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gQWdyb1N0cmluZ1V0aWxzLmlzVmFsaWQoU3RyaW5nKGYpKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5qb2luKHNlcGFyYXRvcik7XHJcbn07XHJcblxyXG5jb25zdCBidWlsZEVudW1DbGF1c2UgPSAobmFtZTogc3RyaW5nLCBzZWxlY3RlZDogYW55KSA9PiBgJHtuYW1lfSBlcSAnJHtzZWxlY3RlZH0nYDtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRFbnVtUXVlcnkgPSAobmFtZTogc3RyaW5nLCB2YWx1ZTogYW55LCBtdWx0aXBsZSA9IGZhbHNlKSA9PiB7XHJcbiAgICBpZiAobXVsdGlwbGUpIHtcclxuICAgICAgICByZXR1cm4gYCgke3ZhbHVlLm1hcCgoc2VsZWN0ZWQ6IGFueSkgPT4gYnVpbGRFbnVtQ2xhdXNlKG5hbWUsIHNlbGVjdGVkKSkuam9pbignIG9yICcpfSlgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke25hbWV9IGVxICcke3ZhbHVlfSdgO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGNyZWF0ZUZpbHRlclN0cmluZyA9IChhbnk6IGFueSwgdmFsdWU6IGFueSkgPT4ge1xyXG4gICAgY29uc3QgeyBuYW1lLCB0eXBlLCBtdWx0aXBsZSB9ID0gYW55O1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSAnbnVtYmVyJykge1xyXG4gICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAke3ZhbHVlfWA7XHJcbiAgICB9XHJcblxyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgICAgY2FzZSAnZGF0ZSc6XHJcbiAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHttb21lbnQodmFsdWUpLmZvcm1hdChZWVlZX01NX0REX0ZPUk1BVCl9J2A7XHJcbiAgICAgICAgY2FzZSAndGltZSc6XHJcbiAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHttb21lbnQodmFsdWUpLmZvcm1hdCgnSEg6bW06c3MnKX0nYDtcclxuICAgICAgICBjYXNlICdkYXRlVGltZSc6XHJcbiAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHttb21lbnQodmFsdWUpLmZvcm1hdCgpfSdgO1xyXG4gICAgICAgIGNhc2UgJ2xvY2FsRGF0ZVRpbWUnOlxyXG4gICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7bW9tZW50KHZhbHVlKS5mb3JtYXQoJ1lZWVktTU0tRERbVF1ISDptbTpzcy5TU1MnKX0nYDtcclxuICAgICAgICBjYXNlICdlbnVtJzpcclxuICAgICAgICAgICAgcmV0dXJuIGdldEVudW1RdWVyeShuYW1lLCB2YWx1ZSwgbXVsdGlwbGUpO1xyXG4gICAgICAgIGNhc2UgJ3N0cmluZyc6XHJcbiAgICAgICAgICAgIHJldHVybiBgdXBwZXIoJHtuYW1lfSkgbGlrZSB1cHBlcignJSR7dmFsdWUucmVwbGFjZSgvJy9nLCBcIidcIil9JScpYDtcclxuICAgICAgICBjYXNlICdsb29rdXAnOlxyXG4gICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7dmFsdWUuaWR9J2A7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke3ZhbHVlfSdgO1xyXG4gICAgfVxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGNyZWF0ZUZpbHRlclRva2VucyA9IChhbnk6IGFueSwgdmFsdWU6IGFueSwgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSA9PiB7XHJcbiAgICBjb25zdCB7IG5hbWUsIHR5cGUsIGxhYmVsLCBzZWFyY2hGaWVsZHMsIG9wdGlvbnMgfSA9IGFueTtcclxuICAgIGxldCBsYWJlbFZhbHVlID0gdmFsdWU7XHJcblxyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgICAgY2FzZSAnZGF0ZSc6XHJcbiAgICAgICAgICAgIGxhYmVsVmFsdWUgPSBtb21lbnQodmFsdWUpLmZvcm1hdCgnTCcpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICd0aW1lJzpcclxuICAgICAgICAgICAgbGFiZWxWYWx1ZSA9IG1vbWVudCh2YWx1ZSkuZm9ybWF0KCdMVFMnKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnbG9jYWxEYXRlVGltZSc6XHJcbiAgICAgICAgY2FzZSAnZGF0ZVRpbWUnOlxyXG4gICAgICAgICAgICBsYWJlbFZhbHVlID0gbW9tZW50KHZhbHVlKS5mb3JtYXQoJ0wgTFRTJyk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2xvb2t1cCc6XHJcbiAgICAgICAgICAgIGxhYmVsVmFsdWUgPSBzZWFyY2hGaWVsZHMubWFwKChmaWVsZDogYW55KSA9PiBnZXRQcm9wKHZhbHVlLCBmaWVsZC5uYW1lKSkuam9pbignIC0gJyk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2VudW0nOlxyXG4gICAgICAgICAgICBsYWJlbFZhbHVlID0gb3B0aW9ucy5maWx0ZXIoKG9wdGlvbjogYW55KSA9PiBvcHRpb24udmFsdWUgPT09IGxhYmVsVmFsdWUpWzBdLmxhYmVsO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdib29sZWFuJzpcclxuICAgICAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICBsYWJlbFZhbHVlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2Fncm8uYW5ndWxhcl9jb21wb25lbnRzLmxvb2t1cF9saXN0X2dyaWRfYm9vbGVhbl90cnVlJyk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBsYWJlbFZhbHVlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2Fncm8uYW5ndWxhcl9jb21wb25lbnRzLmxvb2t1cF9saXN0X2dyaWRfYm9vbGVhbl9mYWxzZScpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB7IGlkOiBuYW1lLCBsYWJlbDogYCR7bGFiZWx9OiAke2xhYmVsVmFsdWV9YCB9O1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHJlc29sdmVSZWZzID0gKHBheWxvYWQ6IGFueSkgPT4ge1xyXG4gICAgY29uc3QgZ2V0RGF0YUZyb21SZWYgPSAocmVmOiBzdHJpbmcsIHJvb3RPYmo6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gL1xcW1wiKC4qPylcIlxcXS9nO1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdDogc3RyaW5nW10gPSBbXTtcclxuICAgICAgICBsZXQgbWF0Y2g7XHJcblxyXG4gICAgICAgIHdoaWxlICgobWF0Y2ggPSByZWdleC5leGVjKHJlZikpICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKG1hdGNoWzFdKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiByZXN1bHQucmVkdWNlKChhY2MsIHBhcnQpID0+IGFjYz8uW3BhcnRdLCByb290T2JqKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgcmVzb2x2ZSA9IChvYmo6IGFueSwgcm9vdE9iajogYW55LCB2aXNpdGVkID0gbmV3IFNldDxhbnk+KCkpID0+IHtcclxuICAgICAgICBpZiAob2JqID09PSBudWxsIHx8IHR5cGVvZiBvYmogIT09ICdvYmplY3QnIHx8IHZpc2l0ZWQuaGFzKG9iaikpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2aXNpdGVkLmFkZChvYmopO1xyXG5cclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XHJcbiAgICAgICAgICAgIG9iai5mb3JFYWNoKChpdGVtKSA9PiByZXNvbHZlKGl0ZW0sIHJvb3RPYmosIHZpc2l0ZWQpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhvYmopLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGtleSA9PT0gJyRyZWYnICYmIG9ialtrZXldKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVmUGF0aCA9IG9ialtrZXldO1xyXG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24ob2JqLCBnZXREYXRhRnJvbVJlZihyZWZQYXRoLCByb290T2JqKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIG9ialtrZXldO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKG9ialtrZXldLCByb290T2JqLCB2aXNpdGVkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICByZXNvbHZlKHBheWxvYWQsIHBheWxvYWQpO1xyXG5cclxuICAgIHJldHVybiBwYXlsb2FkO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVsYXRpb25UcmFuc2Zvcm1Db25maWcgPSB7XHJcbiAgICBvcmlnaW46IHN0cmluZztcclxuICAgIGtleTogc3RyaW5nO1xyXG4gICAgdHJhbnNmb3JtOiAodmFsdWU6IGFueSkgPT4gYW55O1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGFwcGx5UmVsYXRpb25UcmFuc2Zvcm1zID0gKGVudGl0eTogYW55LCBvcmlnaW5FbnRpdHk6IHN0cmluZyB8IHVuZGVmaW5lZCwgcmVsYXRpb25zOiBSZWxhdGlvblRyYW5zZm9ybUNvbmZpZ1tdKSA9PiB7XHJcbiAgICByZWxhdGlvbnMuZm9yRWFjaCgoeyBvcmlnaW4sIGtleSwgdHJhbnNmb3JtIH0pID0+IHtcclxuICAgICAgICBpZiAob3JpZ2luRW50aXR5ICE9PSBvcmlnaW4gJiYgZW50aXR5W2tleV0pIHtcclxuICAgICAgICAgICAgZW50aXR5W2tleV0gPSB0cmFuc2Zvcm0oZW50aXR5W2tleV0pO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBlbnRpdHk7XHJcbn07XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuY29uc3QgZGF0ZVBhdHRlcm5ZWVlZTU1ERCA9IC9eXFxkezR9LVxcZHsyfS1cXGR7Mn0kLztcclxuXHJcblxyXG5leHBvcnQgY29uc3QgaXNWYWxpZEZpbHRlciA9ICh0eXBlOiBhbnksIHZhbHVlOiBhbnkpID0+IHtcclxuICAgIGNvbnN0IHsgaXNWYWxpZFZhbHVlLCB0eXBlRXhpc3RzIH0gPSBnZXRUeXBlSW5mb3JtYXRpb24odHlwZSwgdmFsdWUpO1xyXG4gICAgcmV0dXJuICEodHlwZUV4aXN0cyAmJiAhaXNWYWxpZFZhbHVlKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRQcm9wID0gKG9iajogYW55LCBwYXRoOiBhbnksIEFQUExZX0NQRkNOUEpfRklMVEVSID0gZmFsc2UpID0+IHtcclxuICAgIGxldCByID0gcGF0aC5zcGxpdChcIi5cIikucmVkdWNlKChyZXN1bHQ6IGFueSwgcHJvcDogYW55KSA9PiAocmVzdWx0W3Byb3BdID09PSB1bmRlZmluZWQgPyBcIlwiIDogcmVzdWx0W3Byb3BdKSwgb2JqKTtcclxuICAgIGNvbnN0IG5vcm1hbGl6ZWRQYXRoID0gdHlwZW9mIHBhdGggPT09ICdzdHJpbmcnID8gcGF0aCA6ICcnO1xyXG4gICAgY29uc3QgZmllbGROYW1lID0gbm9ybWFsaXplZFBhdGguc3BsaXQoJy4nKS5wb3AoKSA/PyBub3JtYWxpemVkUGF0aDtcclxuXHJcbiAgICBpZiAoZGF0ZVBhdHRlcm5ZWVlZTU1ERC50ZXN0KHIpKSB7XHJcbiAgICAgICAgciA9IG1vbWVudChyLCBZWVlZX01NX0REX0ZPUk1BVCkuZm9ybWF0KFwiREQvTU0vWVlZWVwiKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoKEFQUExZX0NQRkNOUEpfRklMVEVSIHx8IExPT0tVUF9ET0NVTUVOVF9GSUVMRFMuaW5jbHVkZXMoZmllbGROYW1lKSkgJiYgQWdyb1N0cmluZ1V0aWxzLmlzVmFsaWQocikpIHtcclxuICAgICAgICByZXR1cm4gZm9ybWF0Q1BGQ05QSldpdGhNYXNrKHIpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldExhYmVsVmFsdWVSZXF1ZXN0ID0gKGNvbnRlbnRzOiBhbnlbXSwgZGlzcGxheUZpZWxkczogYW55W10sIEFQUExZX0NQRkNOUEpfRklMVEVSID0gZmFsc2UpID0+IHtcclxuICAgIGNvbnN0IHIgPSBjb250ZW50cy5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG51bWJlclBhdHRlcm5Ub1Rlc3QgPSAvXlxcZCsoXFwuXFxkezEsMn0pPyQvO1xyXG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZEl0ZW0gPSB7IC4uLml0ZW0gfTtcclxuXHJcbiAgICAgICAgLy8gRm9ybWF0IGN1cnJlbmN5IGZpZWxkcyAodmxyQ290KVxyXG4gICAgICAgIFtcInZsckNvdFwiXS5mb3JFYWNoKChmaWVsZDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChmb3JtYXR0ZWRJdGVtW2ZpZWxkXSAmJiBudW1iZXJQYXR0ZXJuVG9UZXN0LnRlc3QoZm9ybWF0dGVkSXRlbVtmaWVsZF0pKSB7XHJcbiAgICAgICAgICAgICAgICBmb3JtYXR0ZWRJdGVtW2ZpZWxkXSA9IHBhcnNlRmxvYXQoZm9ybWF0dGVkSXRlbVtmaWVsZF0pLnRvTG9jYWxlU3RyaW5nKFwicHQtQlJcIiwge1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMixcclxuICAgICAgICAgICAgICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IDJcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIExPT0tVUF9ET0NVTUVOVF9GSUVMRFMuZm9yRWFjaCgoZmllbGROYW1lKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gZ2V0VmFsdWVCeVBhdGgoZm9ybWF0dGVkSXRlbSwgZmllbGROYW1lKTtcclxuXHJcbiAgICAgICAgICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSAnJykge1xyXG4gICAgICAgICAgICAgICAgc2V0VmFsdWVCeVBhdGgoXHJcbiAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGVkSXRlbSxcclxuICAgICAgICAgICAgICAgICAgICBmaWVsZE5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgZm9ybWF0Q1BGQ05QSldpdGhNYXNrKFN0cmluZyh2YWx1ZSkpXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLmZvcm1hdHRlZEl0ZW0sXHJcbiAgICAgICAgICAgIGxhYmVsOiBkaXNwbGF5RmllbGRzLm1hcChmaWVsZCA9PiBnZXRQcm9wKGZvcm1hdHRlZEl0ZW0sIGZpZWxkLCBBUFBMWV9DUEZDTlBKX0ZJTFRFUikpLmpvaW4oXCIgLSBcIilcclxuICAgICAgICB9O1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHI7XHJcbn07XHJcblxyXG5mdW5jdGlvbiBnZXRWYWx1ZUJ5UGF0aChvYmo6IFJlY29yZDxzdHJpbmcsIGFueT4sIHBhdGg6IHN0cmluZyk6IHVua25vd24gfCB1bmRlZmluZWQge1xyXG4gICAgaWYgKCFvYmogfHwgIXBhdGgpIHtcclxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIENhbXBvIHNpbXBsZXMgb3UgY2hhdmUgbGl0ZXJhbCBleGlzdGVudGVcclxuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwYXRoKSkge1xyXG4gICAgICAgIHJldHVybiBvYmpbcGF0aF07XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2FtcG8gYWdyZWdhZG86IFwiY2FtcG8xLmNhbXBvMlwiXHJcbiAgICByZXR1cm4gcGF0aC5zcGxpdCgnLicpLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcclxuICAgICAgICBpZiAoYWNjID09PSBudWxsIHx8IGFjYyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gYWNjW2tleV07XHJcbiAgICB9LCBvYmopO1xyXG59XHJcblxyXG5mdW5jdGlvbiBzZXRWYWx1ZUJ5UGF0aChvYmo6IFJlY29yZDxzdHJpbmcsIGFueT4sIHBhdGg6IHN0cmluZywgdmFsdWU6IHVua25vd24pOiB2b2lkIHtcclxuICAgIGlmICghb2JqIHx8ICFwYXRoKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIENhbXBvIHNpbXBsZXMgb3UgY2hhdmUgbGl0ZXJhbCBleGlzdGVudGVcclxuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwYXRoKSkge1xyXG4gICAgICAgIG9ialtwYXRoXSA9IHZhbHVlO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBDYW1wbyBhZ3JlZ2FkbzogXCJjYW1wbzEuY2FtcG8yXCJcclxuICAgIGNvbnN0IGtleXMgPSBwYXRoLnNwbGl0KCcuJyk7XHJcbiAgICBjb25zdCBsYXN0S2V5ID0ga2V5cy5wb3AoKTtcclxuXHJcbiAgICBpZiAoIWxhc3RLZXkpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdGFyZ2V0ID0ga2V5cy5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XHJcbiAgICAgICAgaWYgKGFjYyA9PT0gbnVsbCB8fCBhY2MgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGFjY1trZXldO1xyXG4gICAgfSwgb2JqKTtcclxuXHJcbiAgICBpZiAodGFyZ2V0ICE9PSBudWxsICYmIHRhcmdldCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGFyZ2V0W2xhc3RLZXldID0gdmFsdWU7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RmlsdGVycyhmaWx0ZXJzOiBhbnlbXSwgdmFsdWU6IGFueSwgc3RhdHVzRmlsdGVyOiBib29sZWFuLCBjb2x1bW5OYW1lOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBmaWx0ZXJzXHJcbiAgICAgICAgLmZpbHRlcigoeyB0eXBlIH0pID0+IGlzVmFsaWRGaWx0ZXIodHlwZSwgdmFsdWUpKVxyXG4gICAgICAgIC5maWx0ZXIoKHsgbmFtZSB9KSA9PiBuYW1lICE9PSBcInN0YXR1c1wiKVxyXG4gICAgICAgIC5tYXAoKHsgbmFtZSwgdHlwZSB9KSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBjb252ZXJ0VmFsdWVCeVR5cGUobmFtZSwgdmFsdWUsIHR5cGUpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmpvaW4oXCIgb3IgXCIpXHJcbiAgICAgICAgLmNvbmNhdChgYW5kICR7Y29sdW1uTmFtZX0gZXEgJ1ZBJyBgKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEZpbHRlcnNBZHZhbmNlZChcclxuICAgIGZpbHRlcnM6IGFueVtdLFxyXG4gICAgZmlsdGVyRGF0YTogYW55LFxyXG4gICAgc3RhdHVzRmlsdGVyOiBib29sZWFuLFxyXG4gICAgY29sdW1uTmFtZTogc3RyaW5nLFxyXG4gICAgZTA3MGVtcElkOiBzdHJpbmdcclxuKSB7XHJcbiAgICByZXR1cm4gZmlsdGVyc1xyXG4gICAgICAgIC5maWx0ZXIoKHsgbmFtZSB9KSA9PiBmaWx0ZXJEYXRhW25hbWVdICE9PSB1bmRlZmluZWQgJiYgZmlsdGVyRGF0YVtuYW1lXSAhPT0gXCJcIilcclxuICAgICAgICAubWFwKCh7IG5hbWUsIHR5cGUgfSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZTogYW55ID0gZmlsdGVyRGF0YVtuYW1lXTtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRWYWx1ZUJ5VHlwZShuYW1lLCB2YWx1ZSwgdHlwZSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY29uY2F0KHN0YXR1c0ZpbHRlciA/IFtgJHtjb2x1bW5OYW1lfSBlcSAnVkEnIGFuZCBlMDcwZW1wIGVxICcke2UwNzBlbXBJZH0nYF0gOiBbXSlcclxuICAgICAgICAuam9pbihcIiBhbmQgXCIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFZhbHVlQnlUeXBlKG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSwgdHlwZTogYW55KTogc3RyaW5nIHtcclxuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XHJcbiAgICAgICAgdmFsdWUgPSBcIlwiO1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSBcIm51bWJlclwiKSB7XHJcbiAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICR7dmFsdWV9YDtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2RhdGUnKSB7XHJcbiAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke21vbWVudCh2YWx1ZSkuZm9ybWF0KFlZWVlfTU1fRERfRk9STUFUKX0nYDtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3RpbWUnKSB7XHJcbiAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke21vbWVudCh2YWx1ZSkuZm9ybWF0KFwiSEg6bW06c3NcIil9J2A7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdkYXRlVGltZScpIHtcclxuICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7bW9tZW50KHZhbHVlKS5mb3JtYXQoKX0nYDtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICByZXR1cm4gYGNvbnRhaW5pbmcodXBwZXIoJHtuYW1lfSksIHVwcGVyKCcke1N0cmluZyh2YWx1ZSkucmVwbGFjZSgvJy9nLCBcIlxcXFwnXCIpfScpKWA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHt2YWx1ZX0nYDtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEZpbHRlcnNXaXRob3V0U3RhdHVzKGZpbHRlcnM6IGFueVtdLCB2YWx1ZTogYW55KSB7XHJcbiAgICByZXR1cm4gZmlsdGVyc1xyXG4gICAgICAgIC5maWx0ZXIoKHsgdHlwZSB9KSA9PiBpc1ZhbGlkRmlsdGVyKHR5cGUsIHZhbHVlKSlcclxuICAgICAgICAuZmlsdGVyKCh7IG5hbWUgfSkgPT4gbmFtZSAhPT0gXCJzdGF0dXNcIilcclxuICAgICAgICAubWFwKCh7IG5hbWUsIHR5cGUgfSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09IFwibnVtYmVyXCIpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAke3ZhbHVlfWA7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2RhdGUnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7bW9tZW50KHZhbHVlKS5mb3JtYXQoWVlZWV9NTV9ERF9GT1JNQVQpfSdgO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICd0aW1lJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke21vbWVudCh2YWx1ZSkuZm9ybWF0KFwiSEg6bW06c3NcIil9J2A7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2RhdGVUaW1lJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke21vbWVudCh2YWx1ZSkuZm9ybWF0KCl9J2A7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBgY29udGFpbmluZyh1cHBlcigke25hbWV9KSwgdXBwZXIoJyR7dmFsdWUucmVwbGFjZSgvJy9nLCBcIlxcXFwnXCIpfScpKWA7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7dmFsdWV9J2A7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5qb2luKFwiIGFuZCBcIik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByb3VuZFRvVGhyZWUobnVtOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIE1hdGgucm91bmQobnVtICogMTAwMCkgLyAxMDAwO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlQWRqdXN0ZWRQZXJjZW50YWdlc0FuZFdlaWdodHModG90YWw6IG51bWJlciwgbWF4UGVyY2VudGFnZTogbnVtYmVyLCBtYXhXZWlnaHQ6IG51bWJlcikge1xyXG4gICAgY29uc3QgY2FsY3VsYXRlZFBlcmNlbnRhZ2VzID0gY2FsY3VsYXRlQWRqdXN0ZWRQZXJjZW50YWdlcyh0b3RhbCwgbWF4UGVyY2VudGFnZSk7XHJcbiAgICBjb25zdCBjYWxjdWxhdGVkV2VpZ2h0cyA9IGNhbGN1bGF0ZUFkanVzdGVkV2VpZ2h0cyhjYWxjdWxhdGVkUGVyY2VudGFnZXMsIG1heFdlaWdodCk7XHJcbiAgICByZXR1cm4geyBjYWxjdWxhdGVkUGVyY2VudGFnZXMsIGNhbGN1bGF0ZWRXZWlnaHRzIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVBZGp1c3RlZFBlcmNlbnRhZ2VzKHRvdGFsOiBudW1iZXIsIG1heFBlcmNlbnRhZ2U6IG51bWJlcikge1xyXG4gICAgY29uc3QgYmFzZVBlcmNlbnRhZ2UgPSByb3VuZFRvVGhyZWUobWF4UGVyY2VudGFnZSAvIHRvdGFsKTtcclxuICAgIGNvbnN0IGNhbGN1bGF0ZWRQZXJjZW50YWdlcyA9IEFycmF5KHRvdGFsKS5maWxsKGJhc2VQZXJjZW50YWdlKTtcclxuICAgIHJldHVybiBhZGp1c3RWYWx1ZXNJZk5lY2Vzc2FyeShjYWxjdWxhdGVkUGVyY2VudGFnZXMsIG1heFBlcmNlbnRhZ2UpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlQWRqdXN0ZWRXZWlnaHRzKGNhbGN1bGF0ZWRQZXJjZW50YWdlczogbnVtYmVyW10sIG1heFdlaWdodDogbnVtYmVyKSB7XHJcbiAgICBjb25zdCB0b3RhbFBlcmNlbnRhZ2UgPSBjYWxjdWxhdGVkUGVyY2VudGFnZXMucmVkdWNlKChzdW0sIHBlcmNlbnRhZ2UpID0+IHN1bSArIHBlcmNlbnRhZ2UsIDApO1xyXG4gICAgY29uc3QgY2FsY3VsYXRlZFdlaWdodHMgPSBjYWxjdWxhdGVkUGVyY2VudGFnZXMubWFwKHBlcmNlbnRhZ2UgPT5cclxuICAgICAgICByb3VuZFRvVGhyZWUoKHBlcmNlbnRhZ2UgLyAxMDApICogbWF4V2VpZ2h0KVxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAocm91bmRUb1RocmVlKHRvdGFsUGVyY2VudGFnZSkgPT09IDEwMCkge1xyXG4gICAgICAgIHJldHVybiBhZGp1c3RWYWx1ZXNJZk5lY2Vzc2FyeShjYWxjdWxhdGVkV2VpZ2h0cywgbWF4V2VpZ2h0KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY2FsY3VsYXRlZFdlaWdodHM7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBhZGp1c3RWYWx1ZXNJZk5lY2Vzc2FyeSh2YWx1ZXM6IG51bWJlcltdLCB0b3RhbDogbnVtYmVyKTogbnVtYmVyW10ge1xyXG4gICAgY29uc3QgYWRqdXN0ZWRWYWx1ZXMgPSB2YWx1ZXMuc2xpY2UoKTtcclxuICAgIGNvbnN0IGN1cnJlbnRUb3RhbCA9IGFkanVzdGVkVmFsdWVzLnJlZHVjZSgoc3VtLCB2YWx1ZSkgPT4gc3VtICsgdmFsdWUsIDApO1xyXG4gICAgY29uc3QgZGlmZmVyZW5jZSA9IHJvdW5kVG9UaHJlZSh0b3RhbCAtIGN1cnJlbnRUb3RhbCk7XHJcblxyXG4gICAgaWYgKGRpZmZlcmVuY2UgIT09IDApIHtcclxuICAgICAgICBhZGp1c3RlZFZhbHVlc1swXSArPSBkaWZmZXJlbmNlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBhZGp1c3RlZFZhbHVlcztcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEJybEN1cnJlbmN5KGN1cnJlbmN5UGlwZTogQ3VycmVuY3lQaXBlLCB2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAoIWN1cnJlbmN5UGlwZSB8fCAhdmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY3VycmVuY3lQaXBlXHJcbiAgICAgICAgLnRyYW5zZm9ybSh2YWx1ZSwgXCJCUkxcIiwgXCJzeW1ib2xcIiwgYDEuMi0yYClcclxuICAgICAgICA/LnJlcGxhY2UoXCIuXCIsIFwiI1wiKVxyXG4gICAgICAgIC5yZXBsYWNlKFwiLFwiLCBcIi5cIilcclxuICAgICAgICAucmVwbGFjZShcIiNcIiwgXCIsXCIpXHJcbiAgICAgICAgLnJlcGxhY2UoL14oLnsyfSkvLCBcIiQxIFwiKTtcclxufVxyXG5cclxuXHJcbiJdfQ==
|
|
@@ -6041,7 +6041,6 @@ class EventControlBoardComponent {
|
|
|
6041
6041
|
return lastActive;
|
|
6042
6042
|
}
|
|
6043
6043
|
createStep(detail, item, detailIndex) {
|
|
6044
|
-
console.log('Detail:', detail);
|
|
6045
6044
|
return {
|
|
6046
6045
|
item: detail,
|
|
6047
6046
|
controlCode: item.controlCode,
|
|
@@ -6064,7 +6063,6 @@ class EventControlBoardComponent {
|
|
|
6064
6063
|
}
|
|
6065
6064
|
getEventLabel(detail) {
|
|
6066
6065
|
const eventLabel = this.eventItem.find((e) => e.value === detail.eventOperation)?.label;
|
|
6067
|
-
console.log('Getting label for event operation:', eventLabel);
|
|
6068
6066
|
if (eventLabel) {
|
|
6069
6067
|
return this.translate.instant(eventLabel);
|
|
6070
6068
|
}
|
|
@@ -10037,11 +10035,7 @@ const getLabelValueRequest = (contents, displayFields, APPLY_CPFCNPJ_FILTER = fa
|
|
|
10037
10035
|
}
|
|
10038
10036
|
});
|
|
10039
10037
|
LOOKUP_DOCUMENT_FIELDS.forEach((fieldName) => {
|
|
10040
|
-
console.log(`Processing field: ${fieldName} for item:`, formattedItem); // Debugging line
|
|
10041
10038
|
const value = getValueByPath(formattedItem, fieldName);
|
|
10042
|
-
if (value) {
|
|
10043
|
-
console.log(`Checking field: ${fieldName}, value: ${value}`);
|
|
10044
|
-
}
|
|
10045
10039
|
if (value !== null && value !== undefined && value !== '') {
|
|
10046
10040
|
setValueByPath(formattedItem, fieldName, formatCPFCNPJWithMask(String(value)));
|
|
10047
10041
|
}
|