@firestitch/report 18.19.0 → 18.21.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.
@@ -16,7 +16,7 @@ export function gridExportTable(table) {
16
16
  .map((heading) => exportCell(headingText(heading), true, 0, heading.numeric, heading.columnSpan, heading.rowSpan)));
17
17
  const line = (row) => row.cells.map((cell, index) => {
18
18
  const isLabel = index === 0 && table.groupColumn;
19
- return exportCell(isLabel && row.count ? `${cell.text} (${row.count})` : cell.text, row.kind !== GridRowKind.Detail || !!table.columns[index]?.emphasis, isLabel ? row.depth : 0, numeric[index] ?? false);
19
+ return exportCell(isLabel && row.count ? `${cell.text} (${row.count})` : cell.text, row.kind !== GridRowKind.Detail || !!table.columns[index]?.emphasis, isLabel ? row.depth : 0, numeric[index] ?? false, 1, 1, cell.shade);
20
20
  });
21
21
  return {
22
22
  head,
@@ -43,7 +43,7 @@ export function gridExportNotes(table, layout, locale) {
43
43
  function headingText(heading) {
44
44
  return heading.hint ? `${heading.label} (${heading.hint})` : heading.label;
45
45
  }
46
- function exportCell(text, bold, indent, numeric, colSpan = 1, rowSpan = 1) {
47
- return { text, colSpan, rowSpan, bold, indent, numeric };
46
+ function exportCell(text, bold, indent, numeric, colSpan = 1, rowSpan = 1, shade = null) {
47
+ return { text, colSpan, rowSpan, bold, indent, numeric, shade };
48
48
  }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWdyaWQtZXhwb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9yZXBvcnRzL2V4cG9ydC9yZXBvcnQtZ3JpZC1leHBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0VBQWtFO0FBQ2xFLDJFQUEyRTtBQUMzRSwyRUFBMkU7QUFDM0UsMEJBQTBCO0FBQzFCLE9BQU8sRUFBYyxXQUFXLEVBQStCLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSXRHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRzNELHVEQUF1RDtBQUN2RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxFQUFFLENBQUM7QUF5QnRDLDRFQUE0RTtBQUM1RSxtREFBbUQ7QUFDbkQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxLQUFnQjtJQUM5QyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUTtTQUMzRixNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDO1NBQ3hDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztTQUNuQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FB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QUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsSUFBWSxFQUFFLElBQWEsRUFBRSxNQUFjLEVBQUUsT0FBZ0IsRUFBRSxPQUFPLEdBQUcsQ0FBQyxFQUFFLE9BQU8sR0FBRyxDQUFDO0lBQ3pHLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO0FBQzNELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBIHRhYmxlIHRpbGUgYXMgdGhlIFBERiBhbmQgdGhlIGRlY2sgZHJhdyBpdDogdGhlIHByaW50ZWQgdGFibGVcbi8vIHJlYWRHcmlkVGFibGUoKSByZWFkcyAoR3JpZFRhYmxlKSBhcyBoZWFkaW5nIHJvd3MsIGJvZHkgcm93cyBhbmQgYSB0b3RhbFxuLy8gcm93IG9mIHBsYWluIGNlbGxzLCBhbmQgdGhlIGxpbmVzIGl0cyBub3RlcyBhZGQuIFB1cmUsIHNvIGJvdGggcmVuZGVyZXJzXG4vLyBkcmF3IG9uZSB0YWJsZSBvbmUgd2F5LlxuaW1wb3J0IHsgR3JpZExheW91dCwgR3JpZFJvd0tpbmQsIEdyaWRUYWJsZSwgR3JpZFRhYmxlSGVhZGluZywgaGVhZGluZ0xhYmVsIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZ3JpZCc7XG5cbmltcG9ydCB7IFJlcG9ydEZvcm1hdENvbnRleHQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3JlcG9ydC5pbnRlcmZhY2UnO1xuXG5pbXBvcnQgeyBncmlkRmlsdGVyTGluZVRleHQgfSBmcm9tICcuL3JlcG9ydC1maWx0ZXItbGluZXMnO1xuXG5cbi8vIFRoZSBtb3N0IHBpdm90IGNvbHVtbnMgYSBmaWxlIGRyYXdzLCBmcm9tIHRoZSBmaXJzdC5cbmV4cG9ydCBjb25zdCBHUklEX0VYUE9SVF9DT0xVTU5TID0gNjA7XG5cbi8vIE9uZSBjZWxsIG9mIGFuIGV4cG9ydGVkIHRhYmxlLiBBIGhlYWRpbmcgY2VsbCBzcGFucyB3aGF0IHRoZSBzY3JlZW4nc1xuLy8gaGVhZGVyIHNwYW5zOyBhIGdyb3VwLCB0b3RhbCBvciBlbXBoYXNpemVkIChzdWJ0b3RhbCwgdG90YWwpIGNlbGwgaXMgYm9sZDtcbi8vIGEgZ3JvdXAncyBsYWJlbCBzdGVwcyBpbiBieSBpdHMgZGVwdGguXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRFeHBvcnRDZWxsIHtcbiAgdGV4dDogc3RyaW5nO1xuICBjb2xTcGFuOiBudW1iZXI7XG4gIHJvd1NwYW46IG51bWJlcjtcbiAgYm9sZDogYm9vbGVhbjtcbiAgaW5kZW50OiBudW1iZXI7XG4gIG51bWVyaWM6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JpZEV4cG9ydFRhYmxlIHtcbiAgLy8gSGVhZGluZyByb3dzIHRvcCBmaXJzdCwgZWFjaCBob2xkaW5nIG9ubHkgdGhlIGNlbGxzIHRoYXQgc3RhcnQgb24gaXRcbiAgaGVhZDogR3JpZEV4cG9ydENlbGxbXVtdO1xuICBib2R5OiBHcmlkRXhwb3J0Q2VsbFtdW107XG4gIGZvb3Q6IEdyaWRFeHBvcnRDZWxsW10gfCBudWxsO1xuICAvLyBPbmUgcGVyIHRhYmxlIGNvbHVtbjogaXQgaG9sZHMgZm9ybWF0dGVkIG51bWJlcnMsIHJpZ2h0LWFsaWduZWRcbiAgbnVtZXJpYzogYm9vbGVhbltdO1xuICAvLyBMaW5lcyBwYXN0IHRoZSByb3cgY2FwLCB3aGljaCB0aGUgbW9yZVJvd3NOb3RpY2Ugcm93IGNvdW50c1xuICBtb3JlUm93czogbnVtYmVyO1xufVxuXG4vLyBUaGUgdGFibGUncyBoZWFkaW5nLCBib2R5IGFuZCB0b3RhbCByb3cgYXMgY2VsbHMuIEEgZ3JvdXAncyBsYWJlbCBjYXJyaWVzXG4vLyBpdHMgcm93IGNvdW50IGFmdGVyIGl0LCBhcyB0aGUgc2NyZWVuIHdyaXRlcyBpdC5cbmV4cG9ydCBmdW5jdGlvbiBncmlkRXhwb3J0VGFibGUodGFibGU6IEdyaWRUYWJsZSk6IEdyaWRFeHBvcnRUYWJsZSB7XG4gIGNvbnN0IG51bWVyaWMgPSB0YWJsZS5jb2x1bW5zLm1hcCgoY29sdW1uKSA9PiBjb2x1bW4ubnVtZXJpYyk7XG4gIGNvbnN0IGhlYWQgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiBNYXRoLm1heCgxLCB0YWJsZS5oZWFkaW5nUm93cykgfSwgKF8sIHJvdykgPT4gdGFibGUuaGVhZGluZ3NcbiAgICAuZmlsdGVyKChoZWFkaW5nKSA9PiBoZWFkaW5nLnJvdyA9PT0gcm93KVxuICAgIC5zb3J0KChhLCBiKSA9PiBhLmNvbHVtbiAtIGIuY29sdW1uKVxuICAgIC5tYXAoKGhlYWRpbmcpID0+IGV4cG9ydENlbGwoaGVhZGluZ1RleHQoaGVhZGluZyksIHRydWUsIDAsIGhlYWRpbmcubnVtZXJpYywgaGVhZGluZy5jb2x1bW5TcGFuLCBoZWFkaW5nLnJvd1NwYW4pKSk7XG4gIGNvbnN0IGxpbmUgPSAocm93OiBHcmlkVGFibGVbJ3Jvd3MnXVtudW1iZXJdKSA9PiByb3cuY2VsbHMubWFwKChjZWxsLCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IGlzTGFiZWwgPSBpbmRleCA9PT0gMCAmJiB0YWJsZS5ncm91cENvbHVtbjtcblxuICAgIHJldHVybiBleHBvcnRDZWxsKFxuICAgICAgaXNMYWJlbCAmJiByb3cuY291bnQgPyBgJHtjZWxsLnRleHR9ICgke3Jvdy5jb3VudH0pYCA6IGNlbGwudGV4dCxcbiAgICAgIHJvdy5raW5kICE9PSBHcmlkUm93S2luZC5EZXRhaWwgfHwgISF0YWJsZS5jb2x1bW5zW2luZGV4XT8uZW1waGFzaXMsXG4gICAgICBpc0xhYmVsID8gcm93LmRlcHRoIDogMCxcbiAgICAgIG51bWVyaWNbaW5kZXhdID8/IGZhbHNlLFxuICAgICk7XG4gIH0pO1xuXG4gIHJldHVybiB7XG4gICAgaGVhZCxcbiAgICBib2R5OiB0YWJsZS5yb3dzLm1hcChsaW5lKSxcbiAgICBmb290OiB0YWJsZS50b3RhbFJvdyA/IGxpbmUodGFibGUudG90YWxSb3cpIDogbnVsbCxcbiAgICBudW1lcmljLFxuICAgIG1vcmVSb3dzOiB0YWJsZS5tb3JlUm93cyxcbiAgfTtcbn1cblxuLy8gVGhlIGxpbmVzIGEgdGFibGUgYWRkcyB1bmRlciBpdHMgYm94OiB0aGUgc2NyZWVuJ3Mgbm90ZXMsIHRoZSBwaXZvdFxuLy8gY29sdW1ucyBpdCBsZWF2ZXMgb3V0LCBhbmQgZWFjaCBjb2x1bW4gZmlsdGVyIG9mIHRoZSBsYXlvdXQgaXQgd2FzIHJlYWQgaW4sXG4vLyBpdHMgZmllbGQgbmFtZWQgYXMgaXRzIGNvbHVtbiBpcyBoZWFkZWQuXG5leHBvcnQgZnVuY3Rpb24gZ3JpZEV4cG9ydE5vdGVzKHRhYmxlOiBHcmlkVGFibGUsIGxheW91dDogR3JpZExheW91dCwgbG9jYWxlOiBSZXBvcnRGb3JtYXRDb250ZXh0Wydsb2NhbGUnXSk6IHN0cmluZ1tdIHtcbiAgY29uc3QgZmllbGRzID0gbmV3IE1hcCh0YWJsZS5maWVsZHMubWFwKChmaWVsZCkgPT4gW2ZpZWxkLm5hbWUsIGZpZWxkXSkpO1xuICBjb25zdCBmaWx0ZXJzID0gKGxheW91dC5maWx0ZXJzID8/IFtdKVxuICAgIC5tYXAoKGZpbHRlcikgPT4gZ3JpZEZpbHRlckxpbmVUZXh0KGhlYWRpbmdMYWJlbCh0YWJsZS5maWVsZHMsIGxheW91dCwgZmlsdGVyLmZpZWxkKSwgZmlsdGVyLCBmaWVsZHMuZ2V0KGZpbHRlci5maWVsZCksIGxvY2FsZSkpXG4gICAgLmZpbHRlcigodGV4dCk6IHRleHQgaXMgc3RyaW5nID0+ICEhdGV4dCk7XG5cbiAgcmV0dXJuIFtcbiAgICAuLi50YWJsZS5ub3RlcyxcbiAgICAuLi4odGFibGUuc2hvd25Db2x1bW5zIDwgdGFibGUuY29sdW1uQ291bnQgPyBbYFNob3dpbmcgdGhlIGZpcnN0ICR7dGFibGUuc2hvd25Db2x1bW5zfSBvZiAke3RhYmxlLmNvbHVtbkNvdW50fSBjb2x1bW5zYF0gOiBbXSksXG4gICAgLi4uZmlsdGVycyxcbiAgXTtcbn1cblxuZnVuY3Rpb24gaGVhZGluZ1RleHQoaGVhZGluZzogR3JpZFRhYmxlSGVhZGluZyk6IHN0cmluZyB7XG4gIHJldHVybiBoZWFkaW5nLmhpbnQgPyBgJHtoZWFkaW5nLmxhYmVsfSAoJHtoZWFkaW5nLmhpbnR9KWAgOiBoZWFkaW5nLmxhYmVsO1xufVxuXG5mdW5jdGlvbiBleHBvcnRDZWxsKHRleHQ6IHN0cmluZywgYm9sZDogYm9vbGVhbiwgaW5kZW50OiBudW1iZXIsIG51bWVyaWM6IGJvb2xlYW4sIGNvbFNwYW4gPSAxLCByb3dTcGFuID0gMSk6IEdyaWRFeHBvcnRDZWxsIHtcbiAgcmV0dXJuIHsgdGV4dCwgY29sU3Bhbiwgcm93U3BhbiwgYm9sZCwgaW5kZW50LCBudW1lcmljIH07XG59XG4iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWdyaWQtZXhwb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9yZXBvcnRzL2V4cG9ydC9yZXBvcnQtZ3JpZC1leHBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0VBQWtFO0FBQ2xFLDJFQUEyRTtBQUMzRSwyRUFBMkU7QUFDM0UsMEJBQTBCO0FBQzFCLE9BQU8sRUFBNkIsV0FBVyxFQUErQixZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUlySCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUczRCx1REFBdUQ7QUFDdkQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsRUFBRSxDQUFDO0FBMkJ0Qyw0RUFBNEU7QUFDNUUsbURBQW1EO0FBQ25ELE1BQU0sVUFBVSxlQUFlLENBQUMsS0FBZ0I7SUFDOUMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5RCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVE7U0FDM0YsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQztTQUN4QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7U0FDbkMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENB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QUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0FBQzdFLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FDakIsSUFBWSxFQUNaLElBQWEsRUFDYixNQUFjLEVBQ2QsT0FBZ0IsRUFDaEIsT0FBTyxHQUFHLENBQUMsRUFDWCxPQUFPLEdBQUcsQ0FBQyxFQUNYLFFBQThCLElBQUk7SUFFbEMsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO0FBQ2xFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBIHRhYmxlIHRpbGUgYXMgdGhlIFBERiBhbmQgdGhlIGRlY2sgZHJhdyBpdDogdGhlIHByaW50ZWQgdGFibGVcbi8vIHJlYWRHcmlkVGFibGUoKSByZWFkcyAoR3JpZFRhYmxlKSBhcyBoZWFkaW5nIHJvd3MsIGJvZHkgcm93cyBhbmQgYSB0b3RhbFxuLy8gcm93IG9mIHBsYWluIGNlbGxzLCBhbmQgdGhlIGxpbmVzIGl0cyBub3RlcyBhZGQuIFB1cmUsIHNvIGJvdGggcmVuZGVyZXJzXG4vLyBkcmF3IG9uZSB0YWJsZSBvbmUgd2F5LlxuaW1wb3J0IHsgR3JpZENlbGxTaGFkZSwgR3JpZExheW91dCwgR3JpZFJvd0tpbmQsIEdyaWRUYWJsZSwgR3JpZFRhYmxlSGVhZGluZywgaGVhZGluZ0xhYmVsIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZ3JpZCc7XG5cbmltcG9ydCB7IFJlcG9ydEZvcm1hdENvbnRleHQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3JlcG9ydC5pbnRlcmZhY2UnO1xuXG5pbXBvcnQgeyBncmlkRmlsdGVyTGluZVRleHQgfSBmcm9tICcuL3JlcG9ydC1maWx0ZXItbGluZXMnO1xuXG5cbi8vIFRoZSBtb3N0IHBpdm90IGNvbHVtbnMgYSBmaWxlIGRyYXdzLCBmcm9tIHRoZSBmaXJzdC5cbmV4cG9ydCBjb25zdCBHUklEX0VYUE9SVF9DT0xVTU5TID0gNjA7XG5cbi8vIE9uZSBjZWxsIG9mIGFuIGV4cG9ydGVkIHRhYmxlLiBBIGhlYWRpbmcgY2VsbCBzcGFucyB3aGF0IHRoZSBzY3JlZW4nc1xuLy8gaGVhZGVyIHNwYW5zOyBhIGdyb3VwLCB0b3RhbCBvciBlbXBoYXNpemVkIChzdWJ0b3RhbCwgdG90YWwpIGNlbGwgaXMgYm9sZDtcbi8vIGEgZ3JvdXAncyBsYWJlbCBzdGVwcyBpbiBieSBpdHMgZGVwdGg7IGEgY2VsbCBpdHMgY29sdW1uIHNoYWRlcyB0YWtlcyB0aGVcbi8vIHNjcmVlbidzIGZpbGwgYW5kIHRleHQgY29sb3IuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRFeHBvcnRDZWxsIHtcbiAgdGV4dDogc3RyaW5nO1xuICBjb2xTcGFuOiBudW1iZXI7XG4gIHJvd1NwYW46IG51bWJlcjtcbiAgYm9sZDogYm9vbGVhbjtcbiAgaW5kZW50OiBudW1iZXI7XG4gIG51bWVyaWM6IGJvb2xlYW47XG4gIHNoYWRlOiBHcmlkQ2VsbFNoYWRlIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcmlkRXhwb3J0VGFibGUge1xuICAvLyBIZWFkaW5nIHJvd3MgdG9wIGZpcnN0LCBlYWNoIGhvbGRpbmcgb25seSB0aGUgY2VsbHMgdGhhdCBzdGFydCBvbiBpdFxuICBoZWFkOiBHcmlkRXhwb3J0Q2VsbFtdW107XG4gIGJvZHk6IEdyaWRFeHBvcnRDZWxsW11bXTtcbiAgZm9vdDogR3JpZEV4cG9ydENlbGxbXSB8IG51bGw7XG4gIC8vIE9uZSBwZXIgdGFibGUgY29sdW1uOiBpdCBob2xkcyBmb3JtYXR0ZWQgbnVtYmVycywgcmlnaHQtYWxpZ25lZFxuICBudW1lcmljOiBib29sZWFuW107XG4gIC8vIExpbmVzIHBhc3QgdGhlIHJvdyBjYXAsIHdoaWNoIHRoZSBtb3JlUm93c05vdGljZSByb3cgY291bnRzXG4gIG1vcmVSb3dzOiBudW1iZXI7XG59XG5cbi8vIFRoZSB0YWJsZSdzIGhlYWRpbmcsIGJvZHkgYW5kIHRvdGFsIHJvdyBhcyBjZWxscy4gQSBncm91cCdzIGxhYmVsIGNhcnJpZXNcbi8vIGl0cyByb3cgY291bnQgYWZ0ZXIgaXQsIGFzIHRoZSBzY3JlZW4gd3JpdGVzIGl0LlxuZXhwb3J0IGZ1bmN0aW9uIGdyaWRFeHBvcnRUYWJsZSh0YWJsZTogR3JpZFRhYmxlKTogR3JpZEV4cG9ydFRhYmxlIHtcbiAgY29uc3QgbnVtZXJpYyA9IHRhYmxlLmNvbHVtbnMubWFwKChjb2x1bW4pID0+IGNvbHVtbi5udW1lcmljKTtcbiAgY29uc3QgaGVhZCA9IEFycmF5LmZyb20oeyBsZW5ndGg6IE1hdGgubWF4KDEsIHRhYmxlLmhlYWRpbmdSb3dzKSB9LCAoXywgcm93KSA9PiB0YWJsZS5oZWFkaW5nc1xuICAgIC5maWx0ZXIoKGhlYWRpbmcpID0+IGhlYWRpbmcucm93ID09PSByb3cpXG4gICAgLnNvcnQoKGEsIGIpID0+IGEuY29sdW1uIC0gYi5jb2x1bW4pXG4gICAgLm1hcCgoaGVhZGluZykgPT4gZXhwb3J0Q2VsbChoZWFkaW5nVGV4dChoZWFkaW5nKSwgdHJ1ZSwgMCwgaGVhZGluZy5udW1lcmljLCBoZWFkaW5nLmNvbHVtblNwYW4sIGhlYWRpbmcucm93U3BhbikpKTtcbiAgY29uc3QgbGluZSA9IChyb3c6IEdyaWRUYWJsZVsncm93cyddW251bWJlcl0pID0+IHJvdy5jZWxscy5tYXAoKGNlbGwsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgaXNMYWJlbCA9IGluZGV4ID09PSAwICYmIHRhYmxlLmdyb3VwQ29sdW1uO1xuXG4gICAgcmV0dXJuIGV4cG9ydENlbGwoXG4gICAgICBpc0xhYmVsICYmIHJvdy5jb3VudCA/IGAke2NlbGwudGV4dH0gKCR7cm93LmNvdW50fSlgIDogY2VsbC50ZXh0LFxuICAgICAgcm93LmtpbmQgIT09IEdyaWRSb3dLaW5kLkRldGFpbCB8fCAhIXRhYmxlLmNvbHVtbnNbaW5kZXhdPy5lbXBoYXNpcyxcbiAgICAgIGlzTGFiZWwgPyByb3cuZGVwdGggOiAwLFxuICAgICAgbnVtZXJpY1tpbmRleF0gPz8gZmFsc2UsXG4gICAgICAxLFxuICAgICAgMSxcbiAgICAgIGNlbGwuc2hhZGUsXG4gICAgKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHtcbiAgICBoZWFkLFxuICAgIGJvZHk6IHRhYmxlLnJvd3MubWFwKGxpbmUpLFxuICAgIGZvb3Q6IHRhYmxlLnRvdGFsUm93ID8gbGluZSh0YWJsZS50b3RhbFJvdykgOiBudWxsLFxuICAgIG51bWVyaWMsXG4gICAgbW9yZVJvd3M6IHRhYmxlLm1vcmVSb3dzLFxuICB9O1xufVxuXG4vLyBUaGUgbGluZXMgYSB0YWJsZSBhZGRzIHVuZGVyIGl0cyBib3g6IHRoZSBzY3JlZW4ncyBub3RlcywgdGhlIHBpdm90XG4vLyBjb2x1bW5zIGl0IGxlYXZlcyBvdXQsIGFuZCBlYWNoIGNvbHVtbiBmaWx0ZXIgb2YgdGhlIGxheW91dCBpdCB3YXMgcmVhZCBpbixcbi8vIGl0cyBmaWVsZCBuYW1lZCBhcyBpdHMgY29sdW1uIGlzIGhlYWRlZC5cbmV4cG9ydCBmdW5jdGlvbiBncmlkRXhwb3J0Tm90ZXModGFibGU6IEdyaWRUYWJsZSwgbGF5b3V0OiBHcmlkTGF5b3V0LCBsb2NhbGU6IFJlcG9ydEZvcm1hdENvbnRleHRbJ2xvY2FsZSddKTogc3RyaW5nW10ge1xuICBjb25zdCBmaWVsZHMgPSBuZXcgTWFwKHRhYmxlLmZpZWxkcy5tYXAoKGZpZWxkKSA9PiBbZmllbGQubmFtZSwgZmllbGRdKSk7XG4gIGNvbnN0IGZpbHRlcnMgPSAobGF5b3V0LmZpbHRlcnMgPz8gW10pXG4gICAgLm1hcCgoZmlsdGVyKSA9PiBncmlkRmlsdGVyTGluZVRleHQoaGVhZGluZ0xhYmVsKHRhYmxlLmZpZWxkcywgbGF5b3V0LCBmaWx0ZXIuZmllbGQpLCBmaWx0ZXIsIGZpZWxkcy5nZXQoZmlsdGVyLmZpZWxkKSwgbG9jYWxlKSlcbiAgICAuZmlsdGVyKCh0ZXh0KTogdGV4dCBpcyBzdHJpbmcgPT4gISF0ZXh0KTtcblxuICByZXR1cm4gW1xuICAgIC4uLnRhYmxlLm5vdGVzLFxuICAgIC4uLih0YWJsZS5zaG93bkNvbHVtbnMgPCB0YWJsZS5jb2x1bW5Db3VudCA/IFtgU2hvd2luZyB0aGUgZmlyc3QgJHt0YWJsZS5zaG93bkNvbHVtbnN9IG9mICR7dGFibGUuY29sdW1uQ291bnR9IGNvbHVtbnNgXSA6IFtdKSxcbiAgICAuLi5maWx0ZXJzLFxuICBdO1xufVxuXG5mdW5jdGlvbiBoZWFkaW5nVGV4dChoZWFkaW5nOiBHcmlkVGFibGVIZWFkaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGhlYWRpbmcuaGludCA/IGAke2hlYWRpbmcubGFiZWx9ICgke2hlYWRpbmcuaGludH0pYCA6IGhlYWRpbmcubGFiZWw7XG59XG5cbmZ1bmN0aW9uIGV4cG9ydENlbGwoXG4gIHRleHQ6IHN0cmluZyxcbiAgYm9sZDogYm9vbGVhbixcbiAgaW5kZW50OiBudW1iZXIsXG4gIG51bWVyaWM6IGJvb2xlYW4sXG4gIGNvbFNwYW4gPSAxLFxuICByb3dTcGFuID0gMSxcbiAgc2hhZGU6IEdyaWRDZWxsU2hhZGUgfCBudWxsID0gbnVsbCxcbik6IEdyaWRFeHBvcnRDZWxsIHtcbiAgcmV0dXJuIHsgdGV4dCwgY29sU3Bhbiwgcm93U3BhbiwgYm9sZCwgaW5kZW50LCBudW1lcmljLCBzaGFkZSB9O1xufVxuIl19