__vite_ssr_exportName__("QUALITY_METRIC_INFO", () => { try { return QUALITY_METRIC_INFO } catch {} });
__vite_ssr_exportName__("QUALITY_METRIC_BASES", () => { try { return QUALITY_METRIC_BASES } catch {} });
__vite_ssr_exportName__("describeQualityMetric", () => { try { return describeQualityMetric } catch {} });
__vite_ssr_exportName__("qualityMetricRank", () => { try { return qualityMetricRank } catch {} });
// Quality-signal columns, matched by name regardless of which processor produced them
// (mostly QualityMetricsProcessor; nan_fraction comes from BasicMetricsProcessor).
// `hintUp`/`hintDown`/`goodDirection` are only set where the reading is a well-established, monotonic one.
const QUALITY_METRIC_INFO = {
  laplacian_variance: {
    desc: 'High-frequency content measure. Values depend on both image quality and scene content: ' +
          'blur and heavy compression push values down; sharpness, noise, and fine texture push ' +
          'values up. A smooth, featureless scene will score low regardless ' +
          'of focus quality. Clipped pixels create artificial edges at clip boundaries and inflate ' +
          'the score.',
    hintUp: 'more high-frequency content (sharpness, noise, or fine texture)',
    hintDown: 'less high-frequency content (blur, compression, or smooth content)',
  },
  spectral_slope: {
    desc: 'Log-log slope of the radially averaged power spectrum, fit over the mid-frequency band ' +
          '(5–40% of Nyquist). Typical range: −2 to −4. Closer to 0 indicates noise or uniform ' +
          'content. More negative values indicate blur or stronger low-frequency dominance. ' +
          'Most interpretable when comparing images of similar content type.',
    hintUp: 'flatter spectrum (noise or uniform content)',
    hintDown: 'steeper spectrum (blur or low-frequency dominance)',
    nullReason: 'Requires a minimum spatial extent of 32 × 32 px.',
  },
  dark_clipping_fraction: {
    desc: 'Fraction of pixels at the dtype\'s minimum representable value (0 for unsigned integers; ' +
          'NaN for float, which has no fixed lower bound). Detects underexposure, background, and ' +
          'nodata at the dark end.',
    hintUp: 'more dark-clipped pixels', hintDown: 'fewer dark-clipped pixels', goodDirection: 'down',
  },
  bright_clipping_fraction: {
    desc: 'Fraction of pixels at the dtype\'s maximum representable value (integer types only; NaN for float).',
    hintUp: 'more bright-clipped pixels', hintDown: 'fewer bright-clipped pixels', goodDirection: 'down',
  },
  nan_fraction: {
    desc: 'Fraction of pixels excluded as NaN (missing/invalid data).',
    hintUp: 'more NaN pixels', hintDown: 'fewer NaN pixels', goodDirection: 'down',
  },
};

const QUALITY_METRIC_BASES = new Set(Object.keys(QUALITY_METRIC_INFO));

/** Look up a quality metric's shared metadata by column name, stripping any per-channel suffix. */
function describeQualityMetric(col) {
  for (const [base, info] of Object.entries(QUALITY_METRIC_INFO)) {
    if (col === base || col.startsWith(base + '_')) return info;
  };
  return null;
};

// QUALITY_METRIC_INFO's key order is curated by generalization/importance (sharpness,
// noise, exposure clipping, contrast/texture, then compression artifacts last - most
// niche/situational). Parquet column order is alphabetical (an internal processing
// detail unrelated to this), so widgets sort explicitly by this instead.
const QUALITY_METRIC_ORDER = Object.keys(QUALITY_METRIC_INFO);

/** Sort rank for a metric column by curated importance order; ties (e.g. non-quality
 * columns) sort last and preserve their original relative order (stable sort). */
function qualityMetricRank(col) {
  const idx = QUALITY_METRIC_ORDER.findIndex(base => col === base || col.startsWith(base + '_'));
  return idx === -1 ? Number.MAX_SAFE_INTEGER : idx;
}
//# sourceMappingSource=vite-generated
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInF1YWxpdHlfbWV0cmljcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBRdWFsaXR5LXNpZ25hbCBjb2x1bW5zLCBtYXRjaGVkIGJ5IG5hbWUgcmVnYXJkbGVzcyBvZiB3aGljaCBwcm9jZXNzb3IgcHJvZHVjZWQgdGhlbVxuLy8gKG1vc3RseSBRdWFsaXR5TWV0cmljc1Byb2Nlc3NvcjsgbmFuX2ZyYWN0aW9uIGNvbWVzIGZyb20gQmFzaWNNZXRyaWNzUHJvY2Vzc29yKS5cbi8vIGBoaW50VXBgL2BoaW50RG93bmAvYGdvb2REaXJlY3Rpb25gIGFyZSBvbmx5IHNldCB3aGVyZSB0aGUgcmVhZGluZyBpcyBhIHdlbGwtZXN0YWJsaXNoZWQsIG1vbm90b25pYyBvbmUuXG5leHBvcnQgY29uc3QgUVVBTElUWV9NRVRSSUNfSU5GTyA9IHtcbiAgbGFwbGFjaWFuX3ZhcmlhbmNlOiB7XG4gICAgZGVzYzogJ0hpZ2gtZnJlcXVlbmN5IGNvbnRlbnQgbWVhc3VyZS4gVmFsdWVzIGRlcGVuZCBvbiBib3RoIGltYWdlIHF1YWxpdHkgYW5kIHNjZW5lIGNvbnRlbnQ6ICcgK1xuICAgICAgICAgICdibHVyIGFuZCBoZWF2eSBjb21wcmVzc2lvbiBwdXNoIHZhbHVlcyBkb3duOyBzaGFycG5lc3MsIG5vaXNlLCBhbmQgZmluZSB0ZXh0dXJlIHB1c2ggJyArXG4gICAgICAgICAgJ3ZhbHVlcyB1cC4gQSBzbW9vdGgsIGZlYXR1cmVsZXNzIHNjZW5lIHdpbGwgc2NvcmUgbG93IHJlZ2FyZGxlc3MgJyArXG4gICAgICAgICAgJ29mIGZvY3VzIHF1YWxpdHkuIENsaXBwZWQgcGl4ZWxzIGNyZWF0ZSBhcnRpZmljaWFsIGVkZ2VzIGF0IGNsaXAgYm91bmRhcmllcyBhbmQgaW5mbGF0ZSAnICtcbiAgICAgICAgICAndGhlIHNjb3JlLicsXG4gICAgaGludFVwOiAnbW9yZSBoaWdoLWZyZXF1ZW5jeSBjb250ZW50IChzaGFycG5lc3MsIG5vaXNlLCBvciBmaW5lIHRleHR1cmUpJyxcbiAgICBoaW50RG93bjogJ2xlc3MgaGlnaC1mcmVxdWVuY3kgY29udGVudCAoYmx1ciwgY29tcHJlc3Npb24sIG9yIHNtb290aCBjb250ZW50KScsXG4gIH0sXG4gIHNwZWN0cmFsX3Nsb3BlOiB7XG4gICAgZGVzYzogJ0xvZy1sb2cgc2xvcGUgb2YgdGhlIHJhZGlhbGx5IGF2ZXJhZ2VkIHBvd2VyIHNwZWN0cnVtLCBmaXQgb3ZlciB0aGUgbWlkLWZyZXF1ZW5jeSBiYW5kICcgK1xuICAgICAgICAgICcoNeKAkzQwJSBvZiBOeXF1aXN0KS4gVHlwaWNhbCByYW5nZTog4oiSMiB0byDiiJI0LiBDbG9zZXIgdG8gMCBpbmRpY2F0ZXMgbm9pc2Ugb3IgdW5pZm9ybSAnICtcbiAgICAgICAgICAnY29udGVudC4gTW9yZSBuZWdhdGl2ZSB2YWx1ZXMgaW5kaWNhdGUgYmx1ciBvciBzdHJvbmdlciBsb3ctZnJlcXVlbmN5IGRvbWluYW5jZS4gJyArXG4gICAgICAgICAgJ01vc3QgaW50ZXJwcmV0YWJsZSB3aGVuIGNvbXBhcmluZyBpbWFnZXMgb2Ygc2ltaWxhciBjb250ZW50IHR5cGUuJyxcbiAgICBoaW50VXA6ICdmbGF0dGVyIHNwZWN0cnVtIChub2lzZSBvciB1bmlmb3JtIGNvbnRlbnQpJyxcbiAgICBoaW50RG93bjogJ3N0ZWVwZXIgc3BlY3RydW0gKGJsdXIgb3IgbG93LWZyZXF1ZW5jeSBkb21pbmFuY2UpJyxcbiAgICBudWxsUmVhc29uOiAnUmVxdWlyZXMgYSBtaW5pbXVtIHNwYXRpYWwgZXh0ZW50IG9mIDMyIMOXIDMyIHB4LicsXG4gIH0sXG4gIGRhcmtfY2xpcHBpbmdfZnJhY3Rpb246IHtcbiAgICBkZXNjOiAnRnJhY3Rpb24gb2YgcGl4ZWxzIGF0IHRoZSBkdHlwZVxcJ3MgbWluaW11bSByZXByZXNlbnRhYmxlIHZhbHVlICgwIGZvciB1bnNpZ25lZCBpbnRlZ2VyczsgJyArXG4gICAgICAgICAgJ05hTiBmb3IgZmxvYXQsIHdoaWNoIGhhcyBubyBmaXhlZCBsb3dlciBib3VuZCkuIERldGVjdHMgdW5kZXJleHBvc3VyZSwgYmFja2dyb3VuZCwgYW5kICcgK1xuICAgICAgICAgICdub2RhdGEgYXQgdGhlIGRhcmsgZW5kLicsXG4gICAgaGludFVwOiAnbW9yZSBkYXJrLWNsaXBwZWQgcGl4ZWxzJywgaGludERvd246ICdmZXdlciBkYXJrLWNsaXBwZWQgcGl4ZWxzJywgZ29vZERpcmVjdGlvbjogJ2Rvd24nLFxuICB9LFxuICBicmlnaHRfY2xpcHBpbmdfZnJhY3Rpb246IHtcbiAgICBkZXNjOiAnRnJhY3Rpb24gb2YgcGl4ZWxzIGF0IHRoZSBkdHlwZVxcJ3MgbWF4aW11bSByZXByZXNlbnRhYmxlIHZhbHVlIChpbnRlZ2VyIHR5cGVzIG9ubHk7IE5hTiBmb3IgZmxvYXQpLicsXG4gICAgaGludFVwOiAnbW9yZSBicmlnaHQtY2xpcHBlZCBwaXhlbHMnLCBoaW50RG93bjogJ2Zld2VyIGJyaWdodC1jbGlwcGVkIHBpeGVscycsIGdvb2REaXJlY3Rpb246ICdkb3duJyxcbiAgfSxcbiAgbmFuX2ZyYWN0aW9uOiB7XG4gICAgZGVzYzogJ0ZyYWN0aW9uIG9mIHBpeGVscyBleGNsdWRlZCBhcyBOYU4gKG1pc3NpbmcvaW52YWxpZCBkYXRhKS4nLFxuICAgIGhpbnRVcDogJ21vcmUgTmFOIHBpeGVscycsIGhpbnREb3duOiAnZmV3ZXIgTmFOIHBpeGVscycsIGdvb2REaXJlY3Rpb246ICdkb3duJyxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBRVUFMSVRZX01FVFJJQ19CQVNFUyA9IG5ldyBTZXQoT2JqZWN0LmtleXMoUVVBTElUWV9NRVRSSUNfSU5GTykpO1xuXG4vKiogTG9vayB1cCBhIHF1YWxpdHkgbWV0cmljJ3Mgc2hhcmVkIG1ldGFkYXRhIGJ5IGNvbHVtbiBuYW1lLCBzdHJpcHBpbmcgYW55IHBlci1jaGFubmVsIHN1ZmZpeC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXNjcmliZVF1YWxpdHlNZXRyaWMoY29sKSB7XG4gIGZvciAoY29uc3QgW2Jhc2UsIGluZm9dIG9mIE9iamVjdC5lbnRyaWVzKFFVQUxJVFlfTUVUUklDX0lORk8pKSB7XG4gICAgaWYgKGNvbCA9PT0gYmFzZSB8fCBjb2wuc3RhcnRzV2l0aChiYXNlICsgJ18nKSkgcmV0dXJuIGluZm87XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8vIFFVQUxJVFlfTUVUUklDX0lORk8ncyBrZXkgb3JkZXIgaXMgY3VyYXRlZCBieSBnZW5lcmFsaXphdGlvbi9pbXBvcnRhbmNlIChzaGFycG5lc3MsXG4vLyBub2lzZSwgZXhwb3N1cmUgY2xpcHBpbmcsIGNvbnRyYXN0L3RleHR1cmUsIHRoZW4gY29tcHJlc3Npb24gYXJ0aWZhY3RzIGxhc3QgLSBtb3N0XG4vLyBuaWNoZS9zaXR1YXRpb25hbCkuIFBhcnF1ZXQgY29sdW1uIG9yZGVyIGlzIGFscGhhYmV0aWNhbCAoYW4gaW50ZXJuYWwgcHJvY2Vzc2luZ1xuLy8gZGV0YWlsIHVucmVsYXRlZCB0byB0aGlzKSwgc28gd2lkZ2V0cyBzb3J0IGV4cGxpY2l0bHkgYnkgdGhpcyBpbnN0ZWFkLlxuY29uc3QgUVVBTElUWV9NRVRSSUNfT1JERVIgPSBPYmplY3Qua2V5cyhRVUFMSVRZX01FVFJJQ19JTkZPKTtcblxuLyoqIFNvcnQgcmFuayBmb3IgYSBtZXRyaWMgY29sdW1uIGJ5IGN1cmF0ZWQgaW1wb3J0YW5jZSBvcmRlcjsgdGllcyAoZS5nLiBub24tcXVhbGl0eVxuICogY29sdW1ucykgc29ydCBsYXN0IGFuZCBwcmVzZXJ2ZSB0aGVpciBvcmlnaW5hbCByZWxhdGl2ZSBvcmRlciAoc3RhYmxlIHNvcnQpLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHF1YWxpdHlNZXRyaWNSYW5rKGNvbCkge1xuICBjb25zdCBpZHggPSBRVUFMSVRZX01FVFJJQ19PUkRFUi5maW5kSW5kZXgoYmFzZSA9PiBjb2wgPT09IGJhc2UgfHwgY29sLnN0YXJ0c1dpdGgoYmFzZSArICdfJykpO1xuICByZXR1cm4gaWR4ID09PSAtMSA/IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSIDogaWR4O1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLENBQUE7Ozs7QUFBQSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7QUFDbEYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztBQUNsRixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRztBQUNuRyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNsRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDOUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUNyRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzdFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ2xGLENBQUMsQ0FBQyxDQUFDO0FBQ0gsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNwRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDakcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5RixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM3RSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3pELENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ2xFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNsRSxDQUFDLENBQUMsQ0FBQztBQUNILENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0RyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDcEcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNuQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDcEcsQ0FBQyxDQUFDLENBQUM7QUFDSCxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUMvRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDeEcsQ0FBQyxDQUFDLENBQUM7QUFDSCxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDaEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ3RFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDbEYsQ0FBQyxDQUFDLENBQUM7QUFDSCxDQUFDOztBQUVNLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7O0FBRTdFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQzNGLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO0FBQ2xFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSTtBQUMvRCxDQUFDLENBQUM7QUFDRixDQUFDLENBQUMsTUFBTSxDQUFDLElBQUk7QUFDYjs7QUFFQSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUztBQUNyRixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDakYsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7QUFDekUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPO0FBQ3hFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQzs7QUFFN0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQzlFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFFLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoRyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEdBQUc7QUFDbkQ7In0=

//# vitestCache=W3siZmlsZSI6IjEiLCJpZCI6IjEiLCJpbXBvcnRzIjoiMiIsIm1hcHBpbmdzIjpmYWxzZSwiZGVwcyI6IjMiLCJkeW5hbWljRGVwcyI6IjQiLCJzdGF0aWNNb2NrcyI6bnVsbCwiaGFzQ292ZXJhZ2VEYXRhIjpmYWxzZX0sIi9ob21lL2VsbGEvd29yay9waXhlbC1wYXRyb2wvcGFja2FnZXMvcGl4ZWwtcGF0cm9sLWJhc2Uvc3JjL3BpeGVsX3BhdHJvbF9iYXNlL3ZpZXdlci9xdWFsaXR5X21ldHJpY3MuanMiLHsidXJscyI6IjUiLCJpZHMiOiI2In0sW10sW10sW10se31d