@qogni/dygraphs
Version:
dygraphs is a fast, flexible open source JavaScript charting library.
124 lines (123 loc) • 17 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var DygraphTickers = _interopRequireWildcard(require("./dygraph-tickers"));
var _dygraphInteractionModel = _interopRequireDefault(require("./dygraph-interaction-model"));
var _dygraphCanvas = _interopRequireDefault(require("./dygraph-canvas"));
var utils = _interopRequireWildcard(require("./dygraph-utils"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
// Default attribute values.
var DEFAULT_ATTRS = {
highlightCircleSize: 3,
highlightSeriesOpts: null,
highlightSeriesBackgroundAlpha: 0.5,
highlightSeriesBackgroundColor: 'rgb(255, 255, 255)',
labelsSeparateLines: false,
labelsShowZeroValues: true,
labelsKMB: false,
labelsKMG2: false,
showLabelsOnHighlight: true,
digitsAfterDecimal: 2,
maxNumberWidth: 6,
sigFigs: null,
strokeWidth: 1.0,
strokeBorderWidth: 0,
strokeBorderColor: "white",
axisTickSize: 3,
axisLabelFontSize: 14,
rightGap: 5,
showRoller: false,
xValueParser: undefined,
delimiter: ',',
sigma: 2.0,
errorBars: false,
fractions: false,
wilsonInterval: true,
// only relevant if fractions is true
customBars: false,
fillGraph: false,
fillAlpha: 0.15,
connectSeparatedPoints: false,
stackedGraph: false,
stackedGraphNaNFill: 'all',
hideOverlayOnMouseOut: true,
resizable: 'no',
legend: 'onmouseover',
legendFollowOffsetX: 50,
legendFollowOffsetY: -50,
stepPlot: false,
xRangePad: 0,
yRangePad: null,
drawAxesAtZero: false,
// Sizes of the various chart labels.
titleHeight: 28,
xLabelHeight: 18,
yLabelWidth: 18,
axisLineColor: "black",
axisLineWidth: 0.3,
gridLineWidth: 0.3,
axisLabelWidth: 50,
gridLineColor: "rgb(128,128,128)",
interactionModel: _dygraphInteractionModel["default"].defaultModel,
animatedZooms: false,
// (for now)
animateBackgroundFade: true,
// Range selector options
showRangeSelector: false,
rangeSelectorHeight: 40,
rangeSelectorPlotStrokeColor: "#808FAB",
rangeSelectorPlotFillGradientColor: "white",
rangeSelectorPlotFillColor: "#A7B1C4",
rangeSelectorBackgroundStrokeColor: "gray",
rangeSelectorBackgroundLineWidth: 1,
rangeSelectorPlotLineWidth: 1.5,
rangeSelectorForegroundStrokeColor: "black",
rangeSelectorForegroundLineWidth: 1,
rangeSelectorAlpha: 0.6,
showInRangeSelector: null,
// The ordering here ensures that central lines always appear above any
// fill bars/error bars.
plotter: [_dygraphCanvas["default"]._fillPlotter, _dygraphCanvas["default"]._errorPlotter, _dygraphCanvas["default"]._linePlotter],
plugins: [],
// per-axis options
axes: {
x: {
pixelsPerLabel: 70,
axisLabelWidth: 60,
axisLabelFormatter: utils.dateAxisLabelFormatter,
valueFormatter: utils.dateValueFormatter,
drawGrid: true,
drawAxis: true,
independentTicks: true,
ticker: DygraphTickers.dateTicker
},
y: {
axisLabelWidth: 50,
pixelsPerLabel: 30,
valueFormatter: utils.numberValueFormatter,
axisLabelFormatter: utils.numberAxisLabelFormatter,
drawGrid: true,
drawAxis: true,
independentTicks: true,
ticker: DygraphTickers.numericTicks
},
y2: {
axisLabelWidth: 50,
pixelsPerLabel: 30,
valueFormatter: utils.numberValueFormatter,
axisLabelFormatter: utils.numberAxisLabelFormatter,
drawAxis: true,
// only applies when there are two axes of data.
drawGrid: false,
independentTicks: false,
ticker: DygraphTickers.numericTicks
}
}
};
var _default = exports["default"] = DEFAULT_ATTRS;
module.exports = exports.default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIkR5Z3JhcGhUaWNrZXJzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX2R5Z3JhcGhJbnRlcmFjdGlvbk1vZGVsIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9keWdyYXBoQ2FudmFzIiwidXRpbHMiLCJlIiwiX19lc01vZHVsZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIldlYWtNYXAiLCJyIiwidCIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJERUZBVUxUX0FUVFJTIiwiaGlnaGxpZ2h0Q2lyY2xlU2l6ZSIsImhpZ2hsaWdodFNlcmllc09wdHMiLCJoaWdobGlnaHRTZXJpZXNCYWNrZ3JvdW5kQWxwaGEiLCJoaWdobGlnaHRTZXJpZXNCYWNrZ3JvdW5kQ29sb3IiLCJsYWJlbHNTZXBhcmF0ZUxpbmVzIiwibGFiZWxzU2hvd1plcm9WYWx1ZXMiLCJsYWJlbHNLTUIiLCJsYWJlbHNLTUcyIiwic2hvd0xhYmVsc09uSGlnaGxpZ2h0IiwiZGlnaXRzQWZ0ZXJEZWNpbWFsIiwibWF4TnVtYmVyV2lkdGgiLCJzaWdGaWdzIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VCb3JkZXJXaWR0aCIsInN0cm9rZUJvcmRlckNvbG9yIiwiYXhpc1RpY2tTaXplIiwiYXhpc0xhYmVsRm9udFNpemUiLCJyaWdodEdhcCIsInNob3dSb2xsZXIiLCJ4VmFsdWVQYXJzZXIiLCJ1bmRlZmluZWQiLCJkZWxpbWl0ZXIiLCJzaWdtYSIsImVycm9yQmFycyIsImZyYWN0aW9ucyIsIndpbHNvbkludGVydmFsIiwiY3VzdG9tQmFycyIsImZpbGxHcmFwaCIsImZpbGxBbHBoYSIsImNvbm5lY3RTZXBhcmF0ZWRQb2ludHMiLCJzdGFja2VkR3JhcGgiLCJzdGFja2VkR3JhcGhOYU5GaWxsIiwiaGlkZU92ZXJsYXlPbk1vdXNlT3V0IiwicmVzaXphYmxlIiwibGVnZW5kIiwibGVnZW5kRm9sbG93T2Zmc2V0WCIsImxlZ2VuZEZvbGxvd09mZnNldFkiLCJzdGVwUGxvdCIsInhSYW5nZVBhZCIsInlSYW5nZVBhZCIsImRyYXdBeGVzQXRaZXJvIiwidGl0bGVIZWlnaHQiLCJ4TGFiZWxIZWlnaHQiLCJ5TGFiZWxXaWR0aCIsImF4aXNMaW5lQ29sb3IiLCJheGlzTGluZVdpZHRoIiwiZ3JpZExpbmVXaWR0aCIsImF4aXNMYWJlbFdpZHRoIiwiZ3JpZExpbmVDb2xvciIsImludGVyYWN0aW9uTW9kZWwiLCJEeWdyYXBoSW50ZXJhY3Rpb24iLCJkZWZhdWx0TW9kZWwiLCJhbmltYXRlZFpvb21zIiwiYW5pbWF0ZUJhY2tncm91bmRGYWRlIiwic2hvd1JhbmdlU2VsZWN0b3IiLCJyYW5nZVNlbGVjdG9ySGVpZ2h0IiwicmFuZ2VTZWxlY3RvclBsb3RTdHJva2VDb2xvciIsInJhbmdlU2VsZWN0b3JQbG90RmlsbEdyYWRpZW50Q29sb3IiLCJyYW5nZVNlbGVjdG9yUGxvdEZpbGxDb2xvciIsInJhbmdlU2VsZWN0b3JCYWNrZ3JvdW5kU3Ryb2tlQ29sb3IiLCJyYW5nZVNlbGVjdG9yQmFja2dyb3VuZExpbmVXaWR0aCIsInJhbmdlU2VsZWN0b3JQbG90TGluZVdpZHRoIiwicmFuZ2VTZWxlY3RvckZvcmVncm91bmRTdHJva2VDb2xvciIsInJhbmdlU2VsZWN0b3JGb3JlZ3JvdW5kTGluZVdpZHRoIiwicmFuZ2VTZWxlY3RvckFscGhhIiwic2hvd0luUmFuZ2VTZWxlY3RvciIsInBsb3R0ZXIiLCJEeWdyYXBoQ2FudmFzUmVuZGVyZXIiLCJfZmlsbFBsb3R0ZXIiLCJfZXJyb3JQbG90dGVyIiwiX2xpbmVQbG90dGVyIiwicGx1Z2lucyIsImF4ZXMiLCJ4IiwicGl4ZWxzUGVyTGFiZWwiLCJheGlzTGFiZWxGb3JtYXR0ZXIiLCJkYXRlQXhpc0xhYmVsRm9ybWF0dGVyIiwidmFsdWVGb3JtYXR0ZXIiLCJkYXRlVmFsdWVGb3JtYXR0ZXIiLCJkcmF3R3JpZCIsImRyYXdBeGlzIiwiaW5kZXBlbmRlbnRUaWNrcyIsInRpY2tlciIsImRhdGVUaWNrZXIiLCJ5IiwibnVtYmVyVmFsdWVGb3JtYXR0ZXIiLCJudW1iZXJBeGlzTGFiZWxGb3JtYXR0ZXIiLCJudW1lcmljVGlja3MiLCJ5MiIsIl9kZWZhdWx0IiwibW9kdWxlIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9keWdyYXBoLWRlZmF1bHQtYXR0cnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnXG5cbmltcG9ydCAqIGFzIER5Z3JhcGhUaWNrZXJzIGZyb20gJy4vZHlncmFwaC10aWNrZXJzJztcbmltcG9ydCBEeWdyYXBoSW50ZXJhY3Rpb24gZnJvbSAnLi9keWdyYXBoLWludGVyYWN0aW9uLW1vZGVsJztcbmltcG9ydCBEeWdyYXBoQ2FudmFzUmVuZGVyZXIgZnJvbSAnLi9keWdyYXBoLWNhbnZhcyc7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuL2R5Z3JhcGgtdXRpbHMnO1xuXG4vLyBEZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZXMuXG52YXIgREVGQVVMVF9BVFRSUyA9IHtcbiAgaGlnaGxpZ2h0Q2lyY2xlU2l6ZTogMyxcbiAgaGlnaGxpZ2h0U2VyaWVzT3B0czogbnVsbCxcbiAgaGlnaGxpZ2h0U2VyaWVzQmFja2dyb3VuZEFscGhhOiAwLjUsXG4gIGhpZ2hsaWdodFNlcmllc0JhY2tncm91bmRDb2xvcjogJ3JnYigyNTUsIDI1NSwgMjU1KScsXG5cbiAgbGFiZWxzU2VwYXJhdGVMaW5lczogZmFsc2UsXG4gIGxhYmVsc1Nob3daZXJvVmFsdWVzOiB0cnVlLFxuICBsYWJlbHNLTUI6IGZhbHNlLFxuICBsYWJlbHNLTUcyOiBmYWxzZSxcbiAgc2hvd0xhYmVsc09uSGlnaGxpZ2h0OiB0cnVlLFxuXG4gIGRpZ2l0c0FmdGVyRGVjaW1hbDogMixcbiAgbWF4TnVtYmVyV2lkdGg6IDYsXG4gIHNpZ0ZpZ3M6IG51bGwsXG5cbiAgc3Ryb2tlV2lkdGg6IDEuMCxcbiAgc3Ryb2tlQm9yZGVyV2lkdGg6IDAsXG4gIHN0cm9rZUJvcmRlckNvbG9yOiBcIndoaXRlXCIsXG5cbiAgYXhpc1RpY2tTaXplOiAzLFxuICBheGlzTGFiZWxGb250U2l6ZTogMTQsXG4gIHJpZ2h0R2FwOiA1LFxuXG4gIHNob3dSb2xsZXI6IGZhbHNlLFxuICB4VmFsdWVQYXJzZXI6IHVuZGVmaW5lZCxcblxuICBkZWxpbWl0ZXI6ICcsJyxcblxuICBzaWdtYTogMi4wLFxuICBlcnJvckJhcnM6IGZhbHNlLFxuICBmcmFjdGlvbnM6IGZhbHNlLFxuICB3aWxzb25JbnRlcnZhbDogdHJ1ZSwgIC8vIG9ubHkgcmVsZXZhbnQgaWYgZnJhY3Rpb25zIGlzIHRydWVcbiAgY3VzdG9tQmFyczogZmFsc2UsXG4gIGZpbGxHcmFwaDogZmFsc2UsXG4gIGZpbGxBbHBoYTogMC4xNSxcbiAgY29ubmVjdFNlcGFyYXRlZFBvaW50czogZmFsc2UsXG5cbiAgc3RhY2tlZEdyYXBoOiBmYWxzZSxcbiAgc3RhY2tlZEdyYXBoTmFORmlsbDogJ2FsbCcsXG4gIGhpZGVPdmVybGF5T25Nb3VzZU91dDogdHJ1ZSxcbiAgcmVzaXphYmxlOiAnbm8nLFxuXG4gIGxlZ2VuZDogJ29ubW91c2VvdmVyJyxcbiAgbGVnZW5kRm9sbG93T2Zmc2V0WDogNTAsXG4gIGxlZ2VuZEZvbGxvd09mZnNldFk6IC01MCxcbiAgc3RlcFBsb3Q6IGZhbHNlLFxuICB4UmFuZ2VQYWQ6IDAsXG4gIHlSYW5nZVBhZDogbnVsbCxcbiAgZHJhd0F4ZXNBdFplcm86IGZhbHNlLFxuXG4gIC8vIFNpemVzIG9mIHRoZSB2YXJpb3VzIGNoYXJ0IGxhYmVscy5cbiAgdGl0bGVIZWlnaHQ6IDI4LFxuICB4TGFiZWxIZWlnaHQ6IDE4LFxuICB5TGFiZWxXaWR0aDogMTgsXG5cbiAgYXhpc0xpbmVDb2xvcjogXCJibGFja1wiLFxuICBheGlzTGluZVdpZHRoOiAwLjMsXG4gIGdyaWRMaW5lV2lkdGg6IDAuMyxcbiAgYXhpc0xhYmVsV2lkdGg6IDUwLFxuICBncmlkTGluZUNvbG9yOiBcInJnYigxMjgsMTI4LDEyOClcIixcblxuICBpbnRlcmFjdGlvbk1vZGVsOiBEeWdyYXBoSW50ZXJhY3Rpb24uZGVmYXVsdE1vZGVsLFxuICBhbmltYXRlZFpvb21zOiBmYWxzZSwgIC8vIChmb3Igbm93KVxuICBhbmltYXRlQmFja2dyb3VuZEZhZGU6IHRydWUsXG5cbiAgLy8gUmFuZ2Ugc2VsZWN0b3Igb3B0aW9uc1xuICBzaG93UmFuZ2VTZWxlY3RvcjogZmFsc2UsXG4gIHJhbmdlU2VsZWN0b3JIZWlnaHQ6IDQwLFxuICByYW5nZVNlbGVjdG9yUGxvdFN0cm9rZUNvbG9yOiBcIiM4MDhGQUJcIixcbiAgcmFuZ2VTZWxlY3RvclBsb3RGaWxsR3JhZGllbnRDb2xvcjogXCJ3aGl0ZVwiLFxuICByYW5nZVNlbGVjdG9yUGxvdEZpbGxDb2xvcjogXCIjQTdCMUM0XCIsXG4gIHJhbmdlU2VsZWN0b3JCYWNrZ3JvdW5kU3Ryb2tlQ29sb3I6IFwiZ3JheVwiLFxuICByYW5nZVNlbGVjdG9yQmFja2dyb3VuZExpbmVXaWR0aDogMSxcbiAgcmFuZ2VTZWxlY3RvclBsb3RMaW5lV2lkdGg6MS41LFxuICByYW5nZVNlbGVjdG9yRm9yZWdyb3VuZFN0cm9rZUNvbG9yOiBcImJsYWNrXCIsXG4gIHJhbmdlU2VsZWN0b3JGb3JlZ3JvdW5kTGluZVdpZHRoOiAxLFxuICByYW5nZVNlbGVjdG9yQWxwaGE6IDAuNixcbiAgc2hvd0luUmFuZ2VTZWxlY3RvcjogbnVsbCxcblxuICAvLyBUaGUgb3JkZXJpbmcgaGVyZSBlbnN1cmVzIHRoYXQgY2VudHJhbCBsaW5lcyBhbHdheXMgYXBwZWFyIGFib3ZlIGFueVxuICAvLyBmaWxsIGJhcnMvZXJyb3IgYmFycy5cbiAgcGxvdHRlcjogW1xuICAgIER5Z3JhcGhDYW52YXNSZW5kZXJlci5fZmlsbFBsb3R0ZXIsXG4gICAgRHlncmFwaENhbnZhc1JlbmRlcmVyLl9lcnJvclBsb3R0ZXIsXG4gICAgRHlncmFwaENhbnZhc1JlbmRlcmVyLl9saW5lUGxvdHRlclxuICBdLFxuXG4gIHBsdWdpbnM6IFsgXSxcblxuICAvLyBwZXItYXhpcyBvcHRpb25zXG4gIGF4ZXM6IHtcbiAgICB4OiB7XG4gICAgICBwaXhlbHNQZXJMYWJlbDogNzAsXG4gICAgICBheGlzTGFiZWxXaWR0aDogNjAsXG4gICAgICBheGlzTGFiZWxGb3JtYXR0ZXI6IHV0aWxzLmRhdGVBeGlzTGFiZWxGb3JtYXR0ZXIsXG4gICAgICB2YWx1ZUZvcm1hdHRlcjogdXRpbHMuZGF0ZVZhbHVlRm9ybWF0dGVyLFxuICAgICAgZHJhd0dyaWQ6IHRydWUsXG4gICAgICBkcmF3QXhpczogdHJ1ZSxcbiAgICAgIGluZGVwZW5kZW50VGlja3M6IHRydWUsXG4gICAgICB0aWNrZXI6IER5Z3JhcGhUaWNrZXJzLmRhdGVUaWNrZXJcbiAgICB9LFxuICAgIHk6IHtcbiAgICAgIGF4aXNMYWJlbFdpZHRoOiA1MCxcbiAgICAgIHBpeGVsc1BlckxhYmVsOiAzMCxcbiAgICAgIHZhbHVlRm9ybWF0dGVyOiB1dGlscy5udW1iZXJWYWx1ZUZvcm1hdHRlcixcbiAgICAgIGF4aXNMYWJlbEZvcm1hdHRlcjogdXRpbHMubnVtYmVyQXhpc0xhYmVsRm9ybWF0dGVyLFxuICAgICAgZHJhd0dyaWQ6IHRydWUsXG4gICAgICBkcmF3QXhpczogdHJ1ZSxcbiAgICAgIGluZGVwZW5kZW50VGlja3M6IHRydWUsXG4gICAgICB0aWNrZXI6IER5Z3JhcGhUaWNrZXJzLm51bWVyaWNUaWNrc1xuICAgIH0sXG4gICAgeTI6IHtcbiAgICAgIGF4aXNMYWJlbFdpZHRoOiA1MCxcbiAgICAgIHBpeGVsc1BlckxhYmVsOiAzMCxcbiAgICAgIHZhbHVlRm9ybWF0dGVyOiB1dGlscy5udW1iZXJWYWx1ZUZvcm1hdHRlcixcbiAgICAgIGF4aXNMYWJlbEZvcm1hdHRlcjogdXRpbHMubnVtYmVyQXhpc0xhYmVsRm9ybWF0dGVyLFxuICAgICAgZHJhd0F4aXM6IHRydWUsICAvLyBvbmx5IGFwcGxpZXMgd2hlbiB0aGVyZSBhcmUgdHdvIGF4ZXMgb2YgZGF0YS5cbiAgICAgIGRyYXdHcmlkOiBmYWxzZSxcbiAgICAgIGluZGVwZW5kZW50VGlja3M6IGZhbHNlLFxuICAgICAgdGlja2VyOiBEeWdyYXBoVGlja2Vycy5udW1lcmljVGlja3NcbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IERFRkFVTFRfQVRUUlM7XG4iXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7O0FBQUFBLE1BQUEsQ0FBQUMsY0FBQSxDQUFBQyxPQUFBO0VBQUFDLEtBQUE7QUFBQTtBQUFBRCxPQUFBO0FBRVosSUFBQUUsY0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsd0JBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLGNBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLEtBQUEsR0FBQUwsdUJBQUEsQ0FBQUMsT0FBQTtBQUF5QyxTQUFBRSx1QkFBQUcsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLGdCQUFBQSxDQUFBO0FBQUEsU0FBQUUseUJBQUFGLENBQUEsNkJBQUFHLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUQsd0JBQUEsWUFBQUEseUJBQUFGLENBQUEsV0FBQUEsQ0FBQSxHQUFBSyxDQUFBLEdBQUFELENBQUEsS0FBQUosQ0FBQTtBQUFBLFNBQUFOLHdCQUFBTSxDQUFBLEVBQUFJLENBQUEsU0FBQUEsQ0FBQSxJQUFBSixDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxTQUFBRCxDQUFBLGVBQUFBLENBQUEsdUJBQUFBLENBQUEseUJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUssQ0FBQSxHQUFBSCx3QkFBQSxDQUFBRSxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxHQUFBLENBQUFOLENBQUEsVUFBQUss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